@harbortouch/skytab-analytics-report-utils 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
- export type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'discountCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'status';
2
- export interface ColumnMetadata {
1
+ type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'discountCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'status';
2
+ interface ColumnMetadata {
3
3
  titleKey: string;
4
4
  shortTitleKey: string;
5
5
  infoTextKey: string;
6
6
  }
7
- export declare const COLUMN_REGISTRY: {
7
+ declare const COLUMN_REGISTRY: {
8
8
  readonly fifteenMinInterval: {
9
9
  readonly titleKey: "common.report-col.fifteen-min-interval";
10
10
  readonly shortTitleKey: "common.report-col.fifteen-min-interval.short";
@@ -651,7 +651,7 @@ export declare const COLUMN_REGISTRY: {
651
651
  readonly infoTextKey: "common.report-col.net.info";
652
652
  };
653
653
  };
654
- export declare function getColumnMetadata(key: ReportColumnKey): {
654
+ declare function getColumnMetadata(key: ReportColumnKey): {
655
655
  readonly titleKey: "common.report-col.fifteen-min-interval";
656
656
  readonly shortTitleKey: "common.report-col.fifteen-min-interval.short";
657
657
  readonly infoTextKey: "common.report-col.fifteen-min-interval.info";
@@ -1168,4 +1168,171 @@ export declare function getColumnMetadata(key: ReportColumnKey): {
1168
1168
  readonly shortTitleKey: "common.report-col.net.short";
1169
1169
  readonly infoTextKey: "common.report-col.net.info";
1170
1170
  };
1171
- export declare function getColumnExportHeaderLabel(colTitle: string, groupTitle: string | null): string;
1171
+ declare function getColumnExportHeaderLabel(colTitle: string, groupTitle: string | null): string;
1172
+
1173
+ type FieldType = 'string' | 'money' | 'percent' | 'number' | 'fixedNumber' | 'date' | 'time' | 'boolean';
1174
+ type ColumnAlignment = 'left' | 'right';
1175
+ type FooterCalculationType = 'sum' | 'percentChange' | 'average' | 'none';
1176
+ interface FooterCalculation<TField = string> {
1177
+ type: FooterCalculationType;
1178
+ numeratorField?: TField;
1179
+ denominatorField?: TField;
1180
+ }
1181
+ interface ColumnPresentationConfig<TField = string> {
1182
+ columnKey?: ReportColumnKey;
1183
+ type: FieldType;
1184
+ size?: number;
1185
+ enableSorting?: boolean;
1186
+ filteringAvailable?: boolean;
1187
+ footerCalculation?: FooterCalculation<TField>;
1188
+ }
1189
+ interface ColumnGroupConfig {
1190
+ id: string;
1191
+ headerTranslationKey: string;
1192
+ baseFields: string[];
1193
+ lastWeekFields?: string[];
1194
+ lastYearFields?: string[];
1195
+ }
1196
+ interface ReportConfig<TField extends string = string> {
1197
+ fields: Record<TField, ColumnPresentationConfig<TField>>;
1198
+ availableColumns: TField[];
1199
+ defaultVisibleColumns: TField[];
1200
+ columnGroups?: ColumnGroupConfig[];
1201
+ }
1202
+
1203
+ declare const Report: {
1204
+ readonly TICKET_LIVE: "ticket-live";
1205
+ readonly TICKET_ANALYTICS: "ticket-analytics";
1206
+ readonly SALES_SUMMARY: "sales-summary";
1207
+ readonly PRODUCT_MIX: "product-mix";
1208
+ readonly MODIFIER_MIX: "modifier-mix";
1209
+ readonly ITEM_TAX: "item-tax";
1210
+ readonly EMPLOYEE_TIMECARD: "employee-timecard";
1211
+ readonly EMPLOYEE_TIP: "employee-tip";
1212
+ readonly SALES_BY_ITEM: "sales-by-item";
1213
+ readonly DAILY_SALES: "daily-sales";
1214
+ readonly DAILY_SALES_LIVE: "daily-sales-live";
1215
+ };
1216
+ type ReportType = (typeof Report)[keyof typeof Report];
1217
+ declare const getReportConfig: (reportType: ReportType) => ReportConfig<string> | null;
1218
+
1219
+ declare function getColumnAlignment(type?: FieldType): ColumnAlignment;
1220
+ declare function isNumericType(type?: FieldType): boolean;
1221
+
1222
+ interface CalculateReportTotalsOptions {
1223
+ labelField: string;
1224
+ label: string;
1225
+ }
1226
+ declare function calculateReportTotals<T>(data: T[], fieldConfig: Record<string, ColumnPresentationConfig>, opts: CalculateReportTotalsOptions): T;
1227
+
1228
+ type SalesSummaryField = 'groupById' | 'groupByName' | 'salesAmountNet' | 'salesVarLW' | 'salesVarLY' | 'salesVarLWPct' | 'salesVarLYPct' | 'salesAmountNetLastWeek' | 'salesAmountNetLastYear' | 'salesAmountGross' | 'salesAmountGrossLastWeek' | 'salesAmountGrossLastYear' | 'ticketsCount' | 'ticketsCountLastWeek' | 'ticketsCountLastYear' | 'guestsCount' | 'guestsVarLW' | 'guestsVarLY' | 'guestsVarLWPct' | 'guestsVarLYPct' | 'guestsCountLastWeek' | 'guestsCountLastYear' | 'salesPerGuestTY' | 'salesPerGuestLW' | 'salesPerGuestLY';
1229
+ declare const SALES_SUMMARY_AVAILABLE_COLUMNS: SalesSummaryField[];
1230
+ declare const SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS: SalesSummaryField[];
1231
+ declare const salesSummaryConfig: ReportConfig<SalesSummaryField>;
1232
+
1233
+ type TicketSummaryField = 'ticketId' | 'locationId' | 'orderName' | 'revenueCenterName' | 'daypartName' | 'inclusiveTaxesAmount' | 'locationName' | 'orderNumber' | 'businessDate' | 'ticketOpenedAt' | 'ticketClosedAt' | 'ticketTime' | 'ticketSubtotal' | 'discountsAmount' | 'surchargesAmount' | 'taxesAmount' | 'ticketGrandTotal' | 'gratuitiesAmount' | 'tipAmount' | 'paymentsAmount' | 'paymentTypeName' | 'guestsCount' | 'employeeName' | 'orderTypeName';
1234
+ declare const TICKET_SUMMARY_AVAILABLE_COLUMNS: TicketSummaryField[];
1235
+ declare const TICKET_SUMMARY_DEFAULT_VISIBLE_COLUMNS: TicketSummaryField[];
1236
+ declare const ticketSummaryConfig: ReportConfig<TicketSummaryField>;
1237
+
1238
+ type TicketLiveField = 'locationName' | 'orderNumber' | 'dateOpen' | 'timeOpen' | 'dateClose' | 'timeClose' | 'durationMinutes' | 'subtotal' | 'discountTotal' | 'surchargeTotal' | 'taxTotal' | 'grandTotal' | 'gratuityTotal' | 'totalTips' | 'paymentsReceived' | 'paymentTypeName' | 'guestCount' | 'customerName' | 'employeeName' | 'orderType';
1239
+ declare const TICKET_LIVE_AVAILABLE_COLUMNS: TicketLiveField[];
1240
+ declare const TICKET_LIVE_DEFAULT_VISIBLE_COLUMNS: TicketLiveField[];
1241
+ declare const ticketLiveConfig: ReportConfig<TicketLiveField>;
1242
+
1243
+ type ProductMixField = 'groupById' | 'groupByName' | 'salesAmountGross' | 'discountsAmount' | 'inclusiveTaxesAmount' | 'salesAmountNet' | 'itemsQuantity' | 'avgPrice' | 'salesMixPct';
1244
+ declare const PRODUCT_MIX_AVAILABLE_COLUMNS: ProductMixField[];
1245
+ declare const PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS: ProductMixField[];
1246
+ declare const PRODUCT_MIX_CHART_FIELDS: ProductMixField[];
1247
+ declare const productMixConfig: ReportConfig<ProductMixField>;
1248
+
1249
+ type ModifierMixField = 'groupById' | 'groupByName' | 'groupById2' | 'groupByName2' | 'modifiersSales' | 'modifiersQuantity' | 'itemsQuantity' | 'avgGross' | 'attachRate' | 'modifiersSalesComp' | 'modifiersQuantityComp' | 'itemsQuantityComp' | 'attachRateComp' | 'modifiersSalesVar' | 'modifiersSalesVarPct' | 'modifiersQuantityVar' | 'modifiersQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct';
1250
+ declare const MODIFIER_MIX_AVAILABLE_COLUMNS: ModifierMixField[];
1251
+ declare const MODIFIER_MIX_DEFAULT_VISIBLE_COLUMNS: ModifierMixField[];
1252
+ declare const modifierMixConfig: ReportConfig<ModifierMixField>;
1253
+
1254
+ type ItemTaxField = 'locationId' | 'taxIsFlat' | 'merchantId' | 'locationName' | 'locationCity' | 'locationState' | 'itemName' | 'itemPrice' | 'departmentName' | 'revenueClassName' | 'orderTypeName' | 'taxName' | 'taxValue' | 'taxRate' | 'recordsCount' | 'taxableSales' | 'totalCollected' | 'itemTax' | 'taxCollected';
1255
+ declare const ITEM_TAX_AVAILABLE_COLUMNS: ItemTaxField[];
1256
+ declare const ITEM_TAX_DEFAULT_VISIBLE_COLUMNS: ItemTaxField[];
1257
+ declare const itemTaxConfig: ReportConfig<ItemTaxField>;
1258
+
1259
+ type DailySalesField = 'groupById' | 'groupByName' | 'itemsQuantity' | 'salesAmountGross' | 'discountsAmount' | 'inclusiveTaxesAmount' | 'salesAmountNet' | 'salesMixPct' | 'avgPrice' | 'ticketsCount' | 'guestsCount' | 'ticketAverage' | 'guestAverage' | 'ticketAvg' | 'guestAvg';
1260
+ declare const DAILY_SALES_AVAILABLE_COLUMNS: DailySalesField[];
1261
+ declare const DAILY_SALES_BY_GROUP_AVAILABLE_COLUMNS: DailySalesField[];
1262
+ declare const DAILY_SALES_DEFAULT_VISIBLE_COLUMNS: DailySalesField[];
1263
+ declare const dailySalesConfig: ReportConfig<DailySalesField>;
1264
+ declare const DAILY_SALES_TRENDS_AVAILABLE_COLUMNS: DailySalesField[];
1265
+ declare const dailySalesTrendsConfig: ReportConfig<DailySalesField>;
1266
+
1267
+ type DailySalesPaymentsField = 'paymentTypeName' | 'paymentsCount' | 'paymentsAmount' | 'tipsAmount' | 'totalSales';
1268
+ declare const DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS: DailySalesPaymentsField[];
1269
+ declare const DAILY_SALES_PAYMENTS_DEFAULT_VISIBLE_COLUMNS: DailySalesPaymentsField[];
1270
+ declare const dailySalesPaymentsConfig: ReportConfig<DailySalesPaymentsField>;
1271
+
1272
+ type DailySalesDiscountsField = 'discountName' | 'discountsCount' | 'discountsAmount';
1273
+ declare const DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS: DailySalesDiscountsField[];
1274
+ declare const DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS: DailySalesDiscountsField[];
1275
+ declare const dailySalesDiscountsConfig: ReportConfig<DailySalesDiscountsField>;
1276
+
1277
+ type DailySalesRefundsVoidsField = 'description' | 'count' | 'amount' | 'pctSales';
1278
+ declare const DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS: DailySalesRefundsVoidsField[];
1279
+ declare const DAILY_SALES_REFUNDS_VOIDS_DEFAULT_VISIBLE_COLUMNS: DailySalesRefundsVoidsField[];
1280
+ declare const dailySalesRefundsVoidsConfig: ReportConfig<DailySalesRefundsVoidsField>;
1281
+
1282
+ type DailySalesTaxesField = 'taxName' | 'taxableSales' | 'taxesAmount' | 'exemptSales';
1283
+ declare const DAILY_SALES_TAXES_AVAILABLE_COLUMNS: DailySalesTaxesField[];
1284
+ declare const DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS: DailySalesTaxesField[];
1285
+ declare const dailySalesTaxesConfig: ReportConfig<DailySalesTaxesField>;
1286
+
1287
+ type EmployeeTimecardField = 'locationId' | 'locationName' | 'businessDate' | 'employeeName' | 'isActive' | 'lookup' | 'payrollCode' | 'jobName' | 'isBreak' | 'startTime' | 'endTime' | 'shiftHours';
1288
+ declare const EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS: EmployeeTimecardField[];
1289
+ declare const EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS: EmployeeTimecardField[];
1290
+ declare const employeeTimecardConfig: ReportConfig<EmployeeTimecardField>;
1291
+
1292
+ type SalesByItemDetailField = 'businessDate' | 'ticketClosedAt' | 'hourId' | 'daypartName' | 'locationId' | 'locationName' | 'departmentName' | 'itemName' | 'revenueCenterName' | 'revenueClassName' | 'salesAmountGross' | 'itemsQuantity' | 'transactionId' | 'guestsCount' | 'employeeName' | 'orderTypeName' | 'salesType' | 'itemPrice';
1293
+ declare const SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS: SalesByItemDetailField[];
1294
+ declare const SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS: SalesByItemDetailField[];
1295
+ declare const salesByItemDetailConfig: ReportConfig<SalesByItemDetailField>;
1296
+
1297
+ type TimeFormat = '00:00' | '00:00:00' | '00:00-24H';
1298
+ interface LocaleOption {
1299
+ currency: string;
1300
+ locale: string;
1301
+ }
1302
+ interface FormatDateOptions {
1303
+ locale?: string;
1304
+ timeZone?: string;
1305
+ format?: TimeFormat;
1306
+ }
1307
+ interface FormatTimeOptions {
1308
+ locale?: string;
1309
+ timeZone?: string;
1310
+ format: TimeFormat;
1311
+ }
1312
+ interface FormatMoneyOptions {
1313
+ locale?: string;
1314
+ currency?: string;
1315
+ decimals?: number;
1316
+ }
1317
+ interface FormatNumberOptions {
1318
+ locale?: string;
1319
+ decimals?: number;
1320
+ }
1321
+ declare const formatDate: (date: Date, options?: FormatDateOptions) => string;
1322
+ declare const formatTime: (date: Date | string | number, options: FormatTimeOptions) => string;
1323
+ declare const formatMoney: (amount: number, options?: FormatMoneyOptions) => string;
1324
+ declare const formatPercent: (value: number, decimals?: number) => string;
1325
+ declare const formatInteger: (value: number) => string;
1326
+ declare const formatFixedNumber: (value: number, decimals?: number) => string;
1327
+ declare const formatString: (value: unknown) => string;
1328
+ declare const getNumberToFormat: (value: unknown) => number;
1329
+ declare const getDateToFormat: (value?: unknown) => Date | null;
1330
+ declare const formatMoneyWithoutSymbol: (amount: number, options?: FormatNumberOptions) => string;
1331
+ declare const getReportFormattingLocaleOptions: (locations: {
1332
+ currency: string;
1333
+ countryCode: string;
1334
+ language: string;
1335
+ }[]) => LocaleOption[];
1336
+ declare const formatFieldValue: (value: unknown, type: FieldType, localeOptions: LocaleOption) => string;
1337
+
1338
+ export { COLUMN_REGISTRY, type CalculateReportTotalsOptions, type ColumnAlignment, type ColumnGroupConfig, type ColumnMetadata, type ColumnPresentationConfig, DAILY_SALES_AVAILABLE_COLUMNS, DAILY_SALES_BY_GROUP_AVAILABLE_COLUMNS, DAILY_SALES_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS, DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS, DAILY_SALES_PAYMENTS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS, DAILY_SALES_REFUNDS_VOIDS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_TAXES_AVAILABLE_COLUMNS, DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_TRENDS_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS, type FieldType, type FooterCalculation, type FooterCalculationType, type FormatDateOptions, type FormatMoneyOptions, type FormatNumberOptions, type FormatTimeOptions, ITEM_TAX_AVAILABLE_COLUMNS, ITEM_TAX_DEFAULT_VISIBLE_COLUMNS, type LocaleOption, MODIFIER_MIX_AVAILABLE_COLUMNS, MODIFIER_MIX_DEFAULT_VISIBLE_COLUMNS, PRODUCT_MIX_AVAILABLE_COLUMNS, PRODUCT_MIX_CHART_FIELDS, PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS, Report, type ReportColumnKey, type ReportConfig, type ReportType, SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS, SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS, SALES_SUMMARY_AVAILABLE_COLUMNS, SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS, TICKET_LIVE_AVAILABLE_COLUMNS, TICKET_LIVE_DEFAULT_VISIBLE_COLUMNS, TICKET_SUMMARY_AVAILABLE_COLUMNS, TICKET_SUMMARY_DEFAULT_VISIBLE_COLUMNS, type TimeFormat, calculateReportTotals, dailySalesConfig, dailySalesDiscountsConfig, dailySalesPaymentsConfig, dailySalesRefundsVoidsConfig, dailySalesTaxesConfig, dailySalesTrendsConfig, employeeTimecardConfig, formatDate, formatFieldValue, formatFixedNumber, formatInteger, formatMoney, formatMoneyWithoutSymbol, formatPercent, formatString, formatTime, getColumnAlignment, getColumnExportHeaderLabel, getColumnMetadata, getDateToFormat, getNumberToFormat, getReportConfig, getReportFormattingLocaleOptions, isNumericType, itemTaxConfig, modifierMixConfig, productMixConfig, salesByItemDetailConfig, salesSummaryConfig, ticketLiveConfig, ticketSummaryConfig };