@zeniai/client-epic-state 5.0.55-betaAR1 → 5.0.55-betaAR3
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.
- package/lib/entity/account/accountSelector.d.ts +20 -1
- package/lib/entity/account/accountSelector.js +35 -1
- package/lib/entity/account/accountState.d.ts +5 -0
- package/lib/entity/account/accountState.js +11 -4
- package/lib/entity/approvalRule/approvalRulePayload.d.ts +5 -27
- package/lib/entity/approvalRule/approvalRulePayload.js +10 -131
- package/lib/entity/approvalRule/approvalRuleSelector.d.ts +1 -25
- package/lib/entity/approvalRule/approvalRuleSelector.js +0 -40
- package/lib/entity/approvalRule/approvalRuleState.d.ts +7 -48
- package/lib/entity/class/classSelector.d.ts +5 -0
- package/lib/entity/class/classSelector.js +8 -0
- package/lib/esm/entity/account/accountSelector.js +33 -1
- package/lib/esm/entity/account/accountState.js +7 -1
- package/lib/esm/entity/approvalRule/approvalRulePayload.js +10 -131
- package/lib/esm/entity/approvalRule/approvalRuleSelector.js +0 -35
- package/lib/esm/entity/class/classSelector.js +7 -0
- package/lib/esm/index.js +5 -5
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +11 -1
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +57 -8
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +7 -5
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +16 -46
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +2 -7
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +7 -5
- package/lib/esm/view/spendManagement/spendManagementFilterHelpers.js +185 -15
- package/lib/index.d.ts +6 -7
- package/lib/index.js +35 -37
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
- package/lib/view/companyView/types/cockpitTypes.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +5 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +12 -2
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +4 -1
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +59 -8
- package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -0
- package/lib/view/people/peopleTypes.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +6 -4
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +16 -46
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +3 -15
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +2 -7
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +6 -4
- package/lib/view/spendManagement/spendManagementFilterHelpers.d.ts +45 -4
- package/lib/view/spendManagement/spendManagementFilterHelpers.js +186 -16
- package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
- package/package.json +1 -1
|
@@ -7,28 +7,81 @@ import { ALL_BILL_TABS, getBillListKey, } from './billPay/billList/billListState
|
|
|
7
7
|
import { getActualPaymentDate } from './helpers';
|
|
8
8
|
import { getApproversOrRejectors as getApproversOrRejectorsForReimbursement, } from './reimbursement/remiListView/remiListSelector';
|
|
9
9
|
import { ALL_REMI_TABS, getRemiListKey, } from './reimbursement/remiListView/remiListState';
|
|
10
|
+
export const TRANSACTION_FILTER_CATEGORIES = [
|
|
11
|
+
{ value: 'payment_account_name', type: 'dropdown' },
|
|
12
|
+
{ value: 'payment_account_type', type: 'dropdown' },
|
|
13
|
+
{ value: 'payee', type: 'searchAutocomplete' },
|
|
14
|
+
{ value: 'category', type: 'dropdown' },
|
|
15
|
+
{ value: 'class', type: 'dropdown' },
|
|
16
|
+
{ value: 'amount', type: 'numberRange' },
|
|
17
|
+
];
|
|
10
18
|
//filters items against filter values representing a range. ex: date (from-to), amount(1k<-->5k)
|
|
19
|
+
// For amount: supports new transaction_categorization operators (inBetween, lessThan, greaterThan) and
|
|
20
|
+
// backward compatibility for old format values: ["1000<->5000"] with matchingOperator "equal".
|
|
21
|
+
// Other entities (bill_pay, reimbursement, etc.) use only equal/not-equal and are unchanged.
|
|
11
22
|
const filterItemOnRangeCategoryType = (valueForItem, currentFilter) => {
|
|
12
23
|
let doesItemFallInValueRange = false;
|
|
13
24
|
const filterField = currentFilter.field;
|
|
14
25
|
if (filterField === 'amount') {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
26
|
+
const currentValue = Number(valueForItem);
|
|
27
|
+
const op = currentFilter.matchingOperator;
|
|
28
|
+
const values = currentFilter.values;
|
|
29
|
+
if (op === 'inBetween') {
|
|
30
|
+
// New format: values = [min, max] (expense automation transaction_categorization only)
|
|
31
|
+
if (values.length >= 2) {
|
|
32
|
+
const min = Number(values[0]);
|
|
33
|
+
const max = Number(values[1]);
|
|
34
|
+
doesItemFallInValueRange = currentValue >= min && currentValue <= max;
|
|
21
35
|
}
|
|
22
36
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
else if (op === 'lessThan') {
|
|
38
|
+
if (values.length >= 1) {
|
|
39
|
+
const threshold = Number(values[0]);
|
|
40
|
+
doesItemFallInValueRange = currentValue < threshold;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if (op === 'greaterThan') {
|
|
44
|
+
if (values.length >= 1) {
|
|
45
|
+
const threshold = Number(values[0]);
|
|
46
|
+
doesItemFallInValueRange = currentValue > threshold;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (op === 'equal' &&
|
|
50
|
+
values.length === 1 &&
|
|
51
|
+
String(values[0]).includes('<->')) {
|
|
52
|
+
// Backward compatibility: old format ["1000<->5000"] with matchingOperator "equal"
|
|
53
|
+
const parts = String(values[0]).split('<->');
|
|
54
|
+
const lowerValue = Number(parts[0] ?? '');
|
|
55
|
+
const higherValue = Number(parts[1] ?? '');
|
|
56
|
+
doesItemFallInValueRange =
|
|
57
|
+
currentValue >= lowerValue && currentValue <= higherValue;
|
|
58
|
+
}
|
|
59
|
+
else if (op === 'equal' && values.length === 1) {
|
|
60
|
+
// New format: exact match on single value (expense automation)
|
|
61
|
+
const val = Number(values[0]);
|
|
62
|
+
doesItemFallInValueRange = currentValue === val;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// Existing logic for equal/not-equal (bill_pay, reimbursement, etc. or multiple range values)
|
|
66
|
+
for (const filterValue of values) {
|
|
67
|
+
const lowerValue = Number.parseInt(filterValue?.toString()?.split('<->')[0] ?? '', 10);
|
|
68
|
+
const higherValue = Number.parseInt(filterValue?.toString()?.split('<->')[1] ?? '', 10);
|
|
69
|
+
if (currentValue >= lowerValue && currentValue <= higherValue) {
|
|
70
|
+
doesItemFallInValueRange = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
31
73
|
}
|
|
74
|
+
return op === 'not-equal'
|
|
75
|
+
? !doesItemFallInValueRange
|
|
76
|
+
: doesItemFallInValueRange;
|
|
77
|
+
}
|
|
78
|
+
// Date range and other range fields (unchanged for other entities)
|
|
79
|
+
const currentValue = valueForItem;
|
|
80
|
+
const lowerValue = currentFilter.values[0];
|
|
81
|
+
const higherValue = currentFilter.values[1];
|
|
82
|
+
if (currentValue.isSameOrAfter(lowerValue) &&
|
|
83
|
+
currentValue.isSameOrBefore(higherValue)) {
|
|
84
|
+
doesItemFallInValueRange = true;
|
|
32
85
|
}
|
|
33
86
|
return currentFilter.matchingOperator === 'equal'
|
|
34
87
|
? doesItemFallInValueRange
|
|
@@ -113,7 +166,11 @@ export const applyAdvancedFiltersOnList = (entity, allItems, filters, filteredIt
|
|
|
113
166
|
? getCategoryValueForReimbursement(key, item)
|
|
114
167
|
: entity === 'task_management'
|
|
115
168
|
? getCategoryValueForTaskList(key, item)
|
|
116
|
-
:
|
|
169
|
+
: entity === 'transaction_categorization'
|
|
170
|
+
? getCategoryValueForTransaction(key, item)
|
|
171
|
+
: entity === 'charge_card_payment_history'
|
|
172
|
+
? getCategoryValueForPaymentHistory(key, item)
|
|
173
|
+
: undefined;
|
|
117
174
|
if (categoryValue == null) {
|
|
118
175
|
if (currentFilter.matchingOperator === 'not-equal') {
|
|
119
176
|
return true;
|
|
@@ -234,6 +291,119 @@ const getCategoryValueForReimbursement = (key, reimbursement) => {
|
|
|
234
291
|
return undefined;
|
|
235
292
|
}
|
|
236
293
|
};
|
|
294
|
+
const getCategoryValueForTransaction = (key, transaction) => {
|
|
295
|
+
switch (key) {
|
|
296
|
+
case 'amount': {
|
|
297
|
+
// Get from transactionLocalData line items (preferred) - sum all line item amounts
|
|
298
|
+
const localDataForAmount = transaction.transactionLocalData?.transactionReviewLocalData;
|
|
299
|
+
if (localDataForAmount?.lineItemById) {
|
|
300
|
+
const lineItems = Object.values(localDataForAmount.lineItemById);
|
|
301
|
+
if (lineItems.length > 0) {
|
|
302
|
+
// Sum all line item amounts
|
|
303
|
+
const totalAmount = lineItems.reduce((sum, lineItem) => sum + (lineItem.amount?.amount ?? 0), 0);
|
|
304
|
+
return totalAmount;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Fallback to transaction-level amount or sum from transaction lines
|
|
308
|
+
if (transaction.transaction.lines &&
|
|
309
|
+
transaction.transaction.lines.length > 0) {
|
|
310
|
+
const totalAmount = transaction.transaction.lines.reduce((sum, line) => sum + (line.amount?.amount ?? 0), 0);
|
|
311
|
+
return totalAmount;
|
|
312
|
+
}
|
|
313
|
+
// Final fallback to transaction amount
|
|
314
|
+
return transaction.amount.amount;
|
|
315
|
+
}
|
|
316
|
+
case 'payee': {
|
|
317
|
+
// Priority: vendorName > customerName > from transactionLocalData
|
|
318
|
+
if (transaction.vendorName) {
|
|
319
|
+
return transaction.vendorName;
|
|
320
|
+
}
|
|
321
|
+
if (transaction.customerName) {
|
|
322
|
+
return transaction.customerName;
|
|
323
|
+
}
|
|
324
|
+
// Check transactionLocalData for vendor/customer
|
|
325
|
+
const localData = transaction.transactionLocalData?.transactionReviewLocalData;
|
|
326
|
+
if (localData?.vendor?.name) {
|
|
327
|
+
return localData.vendor.name;
|
|
328
|
+
}
|
|
329
|
+
if (localData?.customer?.name) {
|
|
330
|
+
return localData.customer.name;
|
|
331
|
+
}
|
|
332
|
+
return undefined;
|
|
333
|
+
}
|
|
334
|
+
case 'payment_account_name': {
|
|
335
|
+
// Match the value the row renders: TransactionCategorizationListRow reads
|
|
336
|
+
// `currentTransaction?.account?.accountName` for the Payment Account Name
|
|
337
|
+
// column. Returning the same field here keeps filter-match parity with the
|
|
338
|
+
// visible cell, so any row a user can see is also a row the filter can match.
|
|
339
|
+
return transaction.transaction.account?.accountName;
|
|
340
|
+
}
|
|
341
|
+
case 'payment_account_type': {
|
|
342
|
+
// Compare against the raw `paymentType` enum (e.g. "credit_card", "check",
|
|
343
|
+
// "cash"). The same enum is what TransactionCategorizationListRow uses for
|
|
344
|
+
// its icon switch on line ~1675, and it's what the dropdown options emit
|
|
345
|
+
// as `value`. Display labels come from each account's `paymentTypeName`
|
|
346
|
+
// field (populated by mapAccountBasePayloadToAccountBase from the backend
|
|
347
|
+
// payload) — no client-side label map required.
|
|
348
|
+
return transaction.transaction.paymentType;
|
|
349
|
+
}
|
|
350
|
+
case 'category': {
|
|
351
|
+
// Get from transactionLocalData (preferred) or from transaction lines
|
|
352
|
+
const localDataForCategory = transaction.transactionLocalData?.transactionReviewLocalData;
|
|
353
|
+
if (localDataForCategory) {
|
|
354
|
+
// Get category from first line item or most common
|
|
355
|
+
const firstLineItem = Object.values(localDataForCategory.lineItemById)[0];
|
|
356
|
+
if (firstLineItem?.account?.accountId) {
|
|
357
|
+
return firstLineItem.account.accountId;
|
|
358
|
+
}
|
|
359
|
+
if (firstLineItem?.account?.qboId) {
|
|
360
|
+
return firstLineItem.account.qboId;
|
|
361
|
+
}
|
|
362
|
+
if (firstLineItem?.account?.accountName) {
|
|
363
|
+
return firstLineItem.account.accountName;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
// Fallback to transaction lines
|
|
367
|
+
const firstLineForCategory = transaction.transaction.lines?.[0];
|
|
368
|
+
if (firstLineForCategory?.type ===
|
|
369
|
+
'transaction_with_account_and_class_line' ||
|
|
370
|
+
firstLineForCategory?.type ===
|
|
371
|
+
'transaction_with_product_or_service_line' ||
|
|
372
|
+
firstLineForCategory?.type === 'journal_entry_transaction_line') {
|
|
373
|
+
const account = firstLineForCategory.account;
|
|
374
|
+
return account?.accountId ?? account?.qboId ?? account?.accountName;
|
|
375
|
+
}
|
|
376
|
+
return undefined;
|
|
377
|
+
}
|
|
378
|
+
case 'class': {
|
|
379
|
+
// Similar to category but for class
|
|
380
|
+
const localDataForClass = transaction.transactionLocalData?.transactionReviewLocalData;
|
|
381
|
+
if (localDataForClass) {
|
|
382
|
+
const firstLineItemForClass = Object.values(localDataForClass.lineItemById)[0];
|
|
383
|
+
if (firstLineItemForClass?.class?.classId) {
|
|
384
|
+
return firstLineItemForClass.class.classId;
|
|
385
|
+
}
|
|
386
|
+
if (firstLineItemForClass?.class?.qboId) {
|
|
387
|
+
return firstLineItemForClass.class.qboId;
|
|
388
|
+
}
|
|
389
|
+
if (firstLineItemForClass?.class?.className) {
|
|
390
|
+
return firstLineItemForClass.class.className;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
const firstLineForClass = transaction.transaction.lines?.[0];
|
|
394
|
+
if (firstLineForClass?.type === 'transaction_with_account_and_class_line' ||
|
|
395
|
+
firstLineForClass?.type ===
|
|
396
|
+
'transaction_with_product_or_service_line' ||
|
|
397
|
+
firstLineForClass?.type === 'journal_entry_transaction_line') {
|
|
398
|
+
const classData = firstLineForClass.class;
|
|
399
|
+
return classData?.classId ?? classData?.qboId ?? classData?.className;
|
|
400
|
+
}
|
|
401
|
+
return undefined;
|
|
402
|
+
}
|
|
403
|
+
default:
|
|
404
|
+
return undefined;
|
|
405
|
+
}
|
|
406
|
+
};
|
|
237
407
|
const getCategoryValueForPaymentHistory = (key, repayment) => {
|
|
238
408
|
switch (key) {
|
|
239
409
|
case 'repaymentDate':
|
package/lib/index.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ import { AgingDateSelectionType, AgingDetailReportInvoice, AgingDetailReportUISt
|
|
|
38
38
|
import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport } from './commonStateTypes/viewAndReport/reportIDHelper';
|
|
39
39
|
import { PageToken, Report, ReportFormat, ReportID, ReportIDPlusForecastID, SelectorReport, SelectorView, View, toReportFormatStrict, toReportID } from './commonStateTypes/viewAndReport/viewAndReport';
|
|
40
40
|
import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay, getPreviousNthWorkingDay, getYearsList, holidaysFormatted, isHoliday, isHolidayToday } from './commonStateTypes/workingDayHelper';
|
|
41
|
-
import { AccountReport, AccountWithBalanceReport } from './entity/account/accountSelector';
|
|
41
|
+
import { AccountFilterOption, AccountReport, AccountWithBalanceReport, getAllAccounts, getTransactionFilterAccountOptions } from './entity/account/accountSelector';
|
|
42
42
|
import { Account, AccountBase, AccountType, RecommendedAccountBase, ReconciliationAccountSourceType, StatementCloseDay, toAccountType, toReconciliationAccountSource } from './entity/account/accountState';
|
|
43
43
|
import { NestedAccountReport } from './entity/account/subAccountSelector';
|
|
44
44
|
import { AccountGroupReport } from './entity/accountGroup/accountGroupSelector';
|
|
@@ -51,8 +51,7 @@ import { AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPerio
|
|
|
51
51
|
import { BalanceDataStatusCodeType, BankStatusCodeType, RecommendedActionCodeType, ReconciliationStatusCodeType, StatementDataStatusCodeType, StatementStatusCodeType, TransactionsToReview } from './entity/accountRecon/accountReconState';
|
|
52
52
|
import { getAddressByAddressId } from './entity/address/addressSelector';
|
|
53
53
|
import { Address } from './entity/address/addressState';
|
|
54
|
-
import { Actor, ActorType,
|
|
55
|
-
import { getAmountCriteria, getApprovalRulesByEntityType, getDepartmentCriteria, getFallbackApprovalRule, getVendorCriteria } from './entity/approvalRule/approvalRuleSelector';
|
|
54
|
+
import { Actor, ActorType, ApprovalActionType, ApprovalRule, ApprovalRuleState, Approvers, AttributeType, RoleType, Step, StepOperatorType, toAttributeOrRoleTypeStrict, toAttributeTypeStrict, toRoleTypeStrict } from './entity/approvalRule/approvalRuleState';
|
|
56
55
|
import { BankAccount } from './entity/bankAccount/bankAccount';
|
|
57
56
|
import { BillPayInfo, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillPaymentStatus, BillPaymentStatusCodeType, BillStage, BillStageCodeType, BillStatus, BillStatusCodeType, BillTransaction, DeletionSourceType, InternationalTransferFeeBearerPaymentMethod, toOutsideZeniPaymentModeType } from './entity/billPay/billTransaction/billTransactionState';
|
|
58
57
|
import { Contact } from './entity/billPay/contact/contact';
|
|
@@ -504,7 +503,7 @@ import { RemiBusinessVerificationDetails, RemiSetupView, getRemiBusinessVerifica
|
|
|
504
503
|
import { MileageDenomination, MileageDetailsLocalData, RemiSetupViewLocalData, RemiSetupViewState } from './view/spendManagement/reimbursement/remiSetupView/remiSetupViewState';
|
|
505
504
|
import { approveOrRejectRemisBulkAction, autoReviewPendingApprovalRemis, cancelOrDeleteRemisBulkAction, clearAllRemisFromBulkActionList, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, removeRemiFromBulkActionList, reviewDraftRemisBulkAction, submitDraftRemisBulkAction, updateRemisBulkActionList } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer';
|
|
506
505
|
import { RemisBulkReviewView, getRemisBulkOperationProgress, getRemisBulkReviewView } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewSelector';
|
|
507
|
-
import { BillPayFilterCategoryDropdownOption, CategoryCombinationOperator, FilterCategoryType, MatchingOperatorDropdownOption, ReimbursementFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, SpendManagementFilterEntityType, SpendManagementFiltersType, TaskFilterCategoryDropdownOption, hideCreatedByFilter } from './view/spendManagement/spendManagementFilterHelpers';
|
|
506
|
+
import { BillPayFilterCategoryDropdownOption, CategoryCombinationOperator, FilterCategoryType, MatchingOperatorDropdownOption, ReimbursementFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, SpendManagementFilterEntityType, SpendManagementFiltersType, TRANSACTION_FILTER_CATEGORIES, TaskFilterCategoryDropdownOption, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, hideCreatedByFilter } from './view/spendManagement/spendManagementFilterHelpers';
|
|
508
507
|
import { acceptTreasuryTerms, clearTreasurySetupView, fetchPortfolioAllocation, fetchTreasuryFunds, fetchTreasurySetupView, updateFundAllocationLocalData, updatePortfolioAllocation, updateTreasuryVideoViewed } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
|
|
509
508
|
import { TreasuryBusinessVerificationDetails, TreasurySetupView, getTreasuryBusinessVerificationDetails, getTreasurySetupViewDetails } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewSelector';
|
|
510
509
|
import { FundAllocationOption, FundComposition, FundData, getTreasuryFundsMaximumYield } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewState';
|
|
@@ -667,7 +666,7 @@ export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict,
|
|
|
667
666
|
export { getNumberOfPeriods };
|
|
668
667
|
export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
|
|
669
668
|
export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, sendSessionHeartbeat, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, deleteConnection, saveAPIKeyConnection, saveConnectorCredentials, saveOAuthConnection, toExternalIntegrationType, toExternalSupportedTool, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
|
|
670
|
-
export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, };
|
|
669
|
+
export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, AccountFilterOption, getAllAccounts, getTransactionFilterAccountOptions, };
|
|
671
670
|
export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
|
|
672
671
|
export { getClassById } from './entity/class/classSelector';
|
|
673
672
|
export { ClassReport } from './entity/class/classSelectorTypes';
|
|
@@ -794,7 +793,7 @@ export { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillTransac
|
|
|
794
793
|
export { MilageReimbursementLine, OutofPocketReimbursementLine, ReimbursementLine, ReimbursementTypeCode, Reimbursement, RemiTabType, toRemiSubTabType, toRemiSubTabTypeStrict, toRemiTabType, toRemiTabTypeStrict, toReimbursementTypeCode, RemiSubTabType, ReimbursementViewSortKey, RemiListUIState, RemiListReport, RemiListDownloadReport, ReimbursementView, ReimbursementFilters, ReimbursementFilterCategory, RemiListViewFilterCategoryField, getRemiList, getRemiDownloadList, fetchRemiList, fetchRemiListPerTab, updateRemiListTab, updateRemiListSubTab, updateRemiDetailSaveRemiCode, updateRemiListUIState, updateRemiListSearchResult, updateBillListFilterResult, updateRemiListFilterResult, REIMBURSEMENT_FILTER_CATEGORIES, REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED, updateRemiListDownloadUIState, updateBillListDownloadUIState, updateBillsBulkActionList, removeBillFromBulkActionList, clearAllBillsFromBulkActionList, getBillsBulkReviewView, BillsBulkReviewView, validateBillsBulkAction, approveOrRejectBillsBulkAction, cancelOrDeleteBillsBulkAction, submitDraftBillsBulkAction, autoReviewPendingApprovalBills, incrementBulkActionProcessedCount, getBillsBulkOperationProgress, BulkOperationProgress, clearBillPayBulkActionView, isBillConditionallyValid, getRemisBulkReviewView, RemisBulkReviewView, getRemisBulkOperationProgress, updateRemisBulkActionList, removeRemiFromBulkActionList, clearAllRemisFromBulkActionList, reviewDraftRemisBulkAction, approveOrRejectRemisBulkAction, cancelOrDeleteRemisBulkAction, submitDraftRemisBulkAction, autoReviewPendingApprovalRemis, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, RemiBulkSelectExceptionInfoType, OutsideZeniPaymentLocalData, updateOutsideZeniPaymentLocalData, discardOutsideZeniPaymentLocalData, checkIfCreatorIsApprover, };
|
|
795
794
|
export { AccountListSelectorView, ClassListSelectorView, getClassList, fetchClassList, ProjectListSelectorView, getProjectList, fetchProjectList, };
|
|
796
795
|
export { BillTab, BillsSubTabType, SaveBillStageCode, BillPayReviewSelectorView, DuplicateBillsSelectorView, EditBillDetailSelectorView, LineItemRecommendationsLocalData, EditBillInitialDetails, BillableStatus, PaymentDetailsSection, BillListReport, BillListDownloadReport, WhatForSection, fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, BillDetailViewSelector, ActorActivityWithUser, BillActivity, StepWithStatus, getBillDetailView, checkApproveRejectBtnShowForBill, BillDetailView, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, EditBillDetail, EditBillDetailViewState, getEditBillDetail, getReviewPageBillDetail, BillDetailLocalData, PaymentDetailsSectionView, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, BillPaymentStatus, BillPaymentStatusCodeType, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillStatus, BillStatusCodeType, BillApprovalType, updateBillListUIState, BillListUIState, BillPayViewSortKey, BillPayFilters, BillPayFilterCategory, BillListViewFilterCategoryField, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, PaymentToOption, toPaymentToOption, convertAmountToHomeCurrency, RecurringBillInstance, RecurringBillConfigLocalData, EditRecurringBillType, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
|
|
797
|
-
export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, };
|
|
796
|
+
export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, TRANSACTION_FILTER_CATEGORIES, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, };
|
|
798
797
|
export { BillPaySetupViewState, ZeniAccountSetupViewState, BillPaySetupViewLocalData, ZeniAccountSetupViewLocalData, PlaidAccountState, fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, sendOtp, resendOtp, verifyOtp, CompanyDetails, CompanyOfficersDetails, BillPaySetupView, ZeniAccountSetupView, BillPayBusinessVerificationDetails, ZeniAccountBusinessVerificationDetails, TreasuryBusinessVerificationDetails, SetupViewState, SetupViewLocalData, SetupView, BusinessVerificationDetails, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, PlaidConnectionDetails, PlaidLinkTokenType, PlaidAccountKeyType, Token, FundingAccount, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, TwoFactorAuthenticationView, };
|
|
799
798
|
export { BankConnectionsSetupView, IntegrationsView, getApprovalRuleViewDetails, getBankConnectionsSetupViewDetails, getIntegrationsView, };
|
|
800
799
|
export { fetchUserFinancialAccount };
|
|
@@ -803,7 +802,7 @@ export { RemiSetupViewState, RemiSetupViewLocalData, MileageDetailsLocalData, Mi
|
|
|
803
802
|
export { PaymentAccount, Logo, VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS, };
|
|
804
803
|
export { SubscriptionPaymentAccount };
|
|
805
804
|
export { PreviousBillsSelectorView, InvoiceProcessingPayload, InvoiceProcessingResponse, isSuccessResponse, isInvalidSessionError, isAccessDeniedError, };
|
|
806
|
-
export { Step, Actor as ApprovalRuleActor, ActorType, ApprovalActionType, StepOperatorType, ApprovalRuleState, ApprovalRule,
|
|
805
|
+
export { Step, Actor as ApprovalRuleActor, ActorType, ApprovalActionType, StepOperatorType, ApprovalRuleState, ApprovalRule, AttributeType, Approvers, RoleType, EntityApprovalStatusState, EntityApprovalStatus, SpendManagementEntityType, SpendManagementEntityTypeWithOtherConnection, toAttributeTypeStrict, toAttributeOrRoleTypeStrict, toRoleTypeStrict, };
|
|
807
806
|
export { ApprovalRuleUpdateData, ApprovalRuleCreateData, BillPayApprovalRuleWithUser, ApprovalUpdateActionType, ApproverViewUpdateData, BillPaySetupApproverViewState, BillPaySetupApproverView, BillPaySetupApproverUpdateDataView, getBillPaySetupApproverView, getBillPaySetupApproverUpdateDataView, fetchBillPaySetupApproverView, fetchBillPayApproversDetails, fetchBillPayApproversList, deleteBillPayApprovalRule, saveBillPaySetupApproverViewUpdateData, saveBillPaySetupApproverViewUpdates, setBillsSetupApproverViewListeningToPusherEvent, initializeBillPaySetupApproverViewUpdateData, clearBillPaySetupApproverViewUpdateData, clearBillPaySetupApproverView, };
|
|
808
807
|
export { RemiApprovalRuleWithUser, RemiSetupApproverViewState, RemiSetupApproverView, RemiSetupApproverUpdateDataView, getRemiSetupApproverView, getRemiSetupApproverUpdateDataView, fetchRemiSetupApproverView, fetchRemiApproversList, fetchRemiApproversDetails, deleteRemiApprovalRule, saveRemiSetupApproverViewUpdateData, saveRemiSetupApproverViewUpdates, initializeRemiSetupApproverViewUpdateData, setRemiSetupApproverViewListeningToPusherEvent, clearRemiSetupApproverViewUpdateData, clearRemiSetupApproverView, };
|
|
809
808
|
export { RemiDetailViewSelector, getRemiDetailView, RemiActivity, RemiDetails, checkApproveRejectBtnShowForRemi, };
|