@zeniai/client-epic-state 4.20.3-betaRR01 → 4.20.3-betaRR2

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.
Files changed (66) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  3. package/lib/entity/account/accountPayload.d.ts +2 -0
  4. package/lib/entity/account/accountReducer.d.ts +5 -2
  5. package/lib/entity/account/accountReducer.js +7 -2
  6. package/lib/entity/account/accountState.d.ts +1 -1
  7. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  8. package/lib/entity/class/classReducer.d.ts +4 -4
  9. package/lib/entity/class/classState.d.ts +1 -1
  10. package/lib/entity/forecast/forecastState.d.ts +1 -1
  11. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  12. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  13. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  14. package/lib/entity/transaction/payloadTypes/transactionPayload.js +1 -0
  15. package/lib/epic.d.ts +10 -7
  16. package/lib/epic.js +10 -7
  17. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  18. package/lib/esm/entity/account/accountReducer.js +6 -1
  19. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +1 -0
  20. package/lib/esm/epic.js +10 -7
  21. package/lib/esm/index.js +4 -4
  22. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +19 -1
  23. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +2 -1
  24. package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +17 -0
  25. package/lib/esm/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +44 -0
  26. package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  27. package/lib/esm/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +44 -0
  28. package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +163 -3
  29. package/lib/esm/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +1 -2
  30. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +112 -0
  31. package/lib/index.d.ts +6 -6
  32. package/lib/index.js +35 -31
  33. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  34. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  35. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  36. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  37. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  38. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  39. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  40. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  41. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +20 -2
  42. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -1
  43. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +2 -1
  44. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +9 -1
  45. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.d.ts +7 -0
  46. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +21 -0
  47. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  48. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.d.ts +8 -0
  49. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +48 -0
  50. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  51. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.d.ts +9 -0
  52. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +48 -0
  53. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +33 -0
  54. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +18 -4
  55. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +164 -4
  56. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +6 -2
  57. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +2 -2
  58. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +112 -0
  59. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +13 -0
  60. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  61. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  62. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  63. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  64. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  65. package/lib/view/topEx/topExSelector.d.ts +1 -1
  66. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateStatementUploadChosen = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
4
+ exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.includeAccountInReconciliationFailure = exports.includeAccountInReconciliationSuccess = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliationFailure = exports.excludeAccountFromReconciliationSuccess = exports.excludeAccountFromReconciliation = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
7
  const accountState_1 = require("../../../entity/account/accountState");
@@ -41,7 +41,15 @@ exports.initialReconciliationTabsState = {
41
41
  },
42
42
  };
43
43
  exports.initialActionFetchState = {
44
+ excludeAccountFetch: {
45
+ fetchState: 'Not-Started',
46
+ error: undefined,
47
+ },
44
48
  excludeFetchById: {},
49
+ includeAccountFetch: {
50
+ fetchState: 'Not-Started',
51
+ error: undefined,
52
+ },
45
53
  reconcileFetch: {
46
54
  fetchState: 'Not-Started',
47
55
  error: undefined,
@@ -55,6 +63,7 @@ exports.initialActionFetchState = {
55
63
  exports.initialState = {
56
64
  accountReconciliationRecordsBySelectedPeriod: {},
57
65
  accountConnectionStatusByAccountID: {},
66
+ excludedAccountExclusionInfo: {},
58
67
  fetchState: 'Not-Started',
59
68
  error: undefined,
60
69
  selectedTab: 'review',
@@ -64,10 +73,12 @@ exports.initialState = {
64
73
  selectedAccountId: undefined,
65
74
  statementUploadChosen: false,
66
75
  reconListUIState: {
76
+ nodeCollapseState: {},
67
77
  scrollPosition: {
68
78
  scrollTop: 0,
69
79
  },
70
80
  },
81
+ excludedAccountIDs: [],
71
82
  };
72
83
  // Create slice with reducers
73
84
  const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
@@ -136,7 +147,7 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
136
147
  fetchReconciliationSuccess: {
137
148
  reducer(draft, action) {
138
149
  if (action.payload.accountId == null) {
139
- updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground);
150
+ updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground, action.payload.reconciliation.excluded_accounts ?? []);
140
151
  }
141
152
  else if (action.payload.reconciliation.reconciliation.length > 0 &&
142
153
  action.payload.reconciliation.accounts.length > 0) {
@@ -348,6 +359,10 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
348
359
  updateReconListScrollPosition: (draft, action) => {
349
360
  draft.reconListUIState.scrollPosition = action.payload.scrollPosition;
350
361
  },
362
+ updateNodeCollapseState: (draft, action) => {
363
+ draft.reconListUIState.nodeCollapseState[action.payload.nodeId] =
364
+ action.payload.collapsed;
365
+ },
351
366
  setConnectionInProgressForAccount: (draft, action) => {
352
367
  if (draft.accountConnectionStatusByAccountID[action.payload.accountId] ==
353
368
  null) {
@@ -425,6 +440,85 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
425
440
  ...localData,
426
441
  };
427
442
  },
443
+ excludeAccountFromReconciliation: {
444
+ reducer(draft) {
445
+ draft.actionFetchState.excludeAccountFetch = {
446
+ fetchState: 'In-Progress',
447
+ error: undefined,
448
+ };
449
+ },
450
+ prepare(payload) {
451
+ return { payload };
452
+ },
453
+ },
454
+ excludeAccountFromReconciliationSuccess: (draft, action) => {
455
+ draft.actionFetchState.excludeAccountFetch = {
456
+ fetchState: 'Completed',
457
+ error: undefined,
458
+ };
459
+ const { account, selectedPeriod } = action.payload;
460
+ if (account != null) {
461
+ if (!draft.excludedAccountIDs.includes(account.account_id)) {
462
+ draft.excludedAccountIDs.push(account.account_id);
463
+ }
464
+ updateExcludedAccountExclusionInfo(draft, account);
465
+ const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
466
+ if (draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId]
467
+ ?.accountIDs != null) {
468
+ draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].accountIDs = draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].accountIDs.filter((id) => id !== account.account_id);
469
+ }
470
+ }
471
+ },
472
+ excludeAccountFromReconciliationFailure: (draft, action) => {
473
+ draft.actionFetchState.excludeAccountFetch = {
474
+ fetchState: 'Error',
475
+ error: action.payload.error,
476
+ };
477
+ },
478
+ includeAccountInReconciliation: {
479
+ reducer(draft) {
480
+ draft.actionFetchState.includeAccountFetch = {
481
+ fetchState: 'In-Progress',
482
+ error: undefined,
483
+ };
484
+ },
485
+ prepare(payload) {
486
+ return { payload };
487
+ },
488
+ },
489
+ includeAccountInReconciliationSuccess: (draft, action) => {
490
+ draft.actionFetchState.includeAccountFetch = {
491
+ fetchState: 'Completed',
492
+ error: undefined,
493
+ };
494
+ const { reconciliation, selectedPeriod } = action.payload;
495
+ if (reconciliation == null) {
496
+ return;
497
+ }
498
+ const accountId = reconciliation.account_id;
499
+ draft.excludedAccountIDs = draft.excludedAccountIDs.filter((id) => id !== accountId);
500
+ delete draft.excludedAccountExclusionInfo[accountId];
501
+ const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
502
+ const accountReconciliationRecords = draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId];
503
+ if (accountReconciliationRecords != null) {
504
+ if (!accountReconciliationRecords.accountIDs.includes(accountId)) {
505
+ accountReconciliationRecords.accountIDs.push(accountId);
506
+ }
507
+ // put this in a function
508
+ updateReconciliationByAccountIDOnIncludeAccount(draft, accountId, reconciliation, monthYearPeriodId);
509
+ }
510
+ draft.accountConnectionStatusByAccountID[accountId] = {
511
+ status: (0, accountReconState_1.toBankStatusCodeType)(reconciliation.bank_status.code),
512
+ connectionInProgress: false,
513
+ paymentAccountId: undefined,
514
+ };
515
+ },
516
+ includeAccountInReconciliationFailure: (draft, action) => {
517
+ draft.actionFetchState.includeAccountFetch = {
518
+ fetchState: 'Error',
519
+ error: action.payload.error,
520
+ };
521
+ },
428
522
  updateStatementUploadChosen: (draft, action) => {
429
523
  draft.statementUploadChosen = action.payload.statementUploadChosen;
430
524
  },
@@ -434,10 +528,38 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
434
528
  },
435
529
  });
436
530
  // Export actions
437
- _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen;
531
+ _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
438
532
  // Export reducer
439
533
  exports.default = expenseAutomationReconciliationView.reducer;
440
- function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground) {
534
+ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts) {
535
+ draft.excludedAccountIDs = excludedAccounts.map((ea) => ea.account_id);
536
+ draft.excludedAccountExclusionInfo = {};
537
+ excludedAccounts.forEach((ea) => {
538
+ const { exclusion_info } = ea;
539
+ draft.excludedAccountExclusionInfo[ea.account_id] = {
540
+ bankBalance: exclusion_info.bank_balance != null
541
+ ? {
542
+ amount: exclusion_info.bank_balance,
543
+ currencyCode: ea.currency_code ?? 'USD',
544
+ currencySymbol: ea.currency_symbol ?? '$',
545
+ }
546
+ : undefined,
547
+ clearedBalance: exclusion_info.cleared_balance != null
548
+ ? {
549
+ amount: exclusion_info.cleared_balance,
550
+ currencyCode: ea.currency_code ?? 'USD',
551
+ currencySymbol: ea.currency_symbol ?? '$',
552
+ }
553
+ : undefined,
554
+ variance: exclusion_info.variance != null
555
+ ? {
556
+ amount: exclusion_info.variance,
557
+ currencyCode: ea.currency_code ?? 'USD',
558
+ currencySymbol: ea.currency_symbol ?? '$',
559
+ }
560
+ : undefined,
561
+ };
562
+ });
441
563
  draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = {
442
564
  accountIDs: [],
443
565
  reconciliationByAccountID: {},
@@ -520,3 +642,41 @@ function updateReconciliationByAccountID(draft, accounts, selectedPeriod, accoun
520
642
  };
521
643
  }
522
644
  }
645
+ const updateExcludedAccountExclusionInfo = (draft, account) => {
646
+ draft.excludedAccountExclusionInfo[account.account_id] = {
647
+ bankBalance: account.bank_balance != null
648
+ ? {
649
+ amount: account.bank_balance,
650
+ currencyCode: account.currency_code ?? 'USD',
651
+ currencySymbol: account.currency_symbol ?? '$',
652
+ }
653
+ : undefined,
654
+ clearedBalance: account.cleared_balance != null
655
+ ? {
656
+ amount: account.cleared_balance,
657
+ currencyCode: account.currency_code ?? 'USD',
658
+ currencySymbol: account.currency_symbol ?? '$',
659
+ }
660
+ : undefined,
661
+ variance: account.variance != null
662
+ ? {
663
+ amount: account.variance,
664
+ currencyCode: account.currency_code ?? 'USD',
665
+ currencySymbol: account.currency_symbol ?? '$',
666
+ }
667
+ : undefined,
668
+ };
669
+ };
670
+ const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, reconciliation, monthYearPeriodId) => {
671
+ draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].reconciliationByAccountID[accountId] = {
672
+ accountId,
673
+ reconciliationId: reconciliation.reconciliation_id ?? undefined,
674
+ transactionFetchState: { fetchState: 'Not-Started', error: undefined },
675
+ refreshStatus: { fetchState: 'Not-Started', error: undefined },
676
+ statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
677
+ statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
678
+ statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
679
+ statementParseInProgress: reconciliation.bank_status.code === 'parsing',
680
+ localData: {},
681
+ };
682
+ };
@@ -11,7 +11,7 @@ import { Vendor } from '../../../entity/vendor/vendorState';
11
11
  import { PlaidConnectionDetails } from '../../spendManagement/plaidAccount/plaidAccountViewState';
12
12
  import { AccountReconciliationLocalData, ActionFetchStates, ReconListUIState, ReconciliationTabsState, ReconciliationViewTabType } from '../types/reconciliationViewState';
13
13
  export declare const ALL_ACCOUNT_RECON_SECTION_IDS: readonly ["assets", "liabilities"];
14
- declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
14
+ export declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
15
15
  export type AccountReconSectionID = ReturnType<typeof toAccountReconSectionID>;
16
16
  export interface ExpenseAutomationReconciliationViewSelector {
17
17
  accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
@@ -24,7 +24,12 @@ export interface ExpenseAutomationReconciliationViewSelector {
24
24
  classListNestedAccountHierarchy: NestedClassHierarchyForReport[];
25
25
  completionStatus: CompletionStatusType;
26
26
  creditCards: AccountBase[];
27
+ excludeAccountFetchState: FetchStateAndError;
28
+ excludedAccountIDs: ID[];
29
+ excludedAccountReconciliationByAccountID: Record<ID, AccountReconciliationByAccount>;
30
+ excludedAccountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
27
31
  fetchStatus: FetchStateAndError;
32
+ includeAccountFetchState: FetchStateAndError;
28
33
  monthYearPeriod: MonthYearPeriod;
29
34
  plaidConnectionDetails: PlaidConnectionDetails;
30
35
  reconciliationTabsState: ReconciliationTabsState;
@@ -59,4 +64,3 @@ export interface AccountReconciliationByAccount {
59
64
  transactionFetchState: FetchStateAndError;
60
65
  paymentAccountId?: ID;
61
66
  }
62
- export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_ACCOUNT_RECON_SECTION_IDS = void 0;
3
+ exports.toAccountReconSectionID = exports.ALL_ACCOUNT_RECON_SECTION_IDS = void 0;
4
4
  const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
5
5
  exports.ALL_ACCOUNT_RECON_SECTION_IDS = ['assets', 'liabilities'];
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
6
  const toAccountReconSectionID = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_ACCOUNT_RECON_SECTION_IDS);
7
+ exports.toAccountReconSectionID = toAccountReconSectionID;
@@ -15,6 +15,7 @@ const accountSelector_1 = require("../../../entity/account/accountSelector");
15
15
  const accountReconSelector_1 = require("../../../entity/accountRecon/accountReconSelector");
16
16
  const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
17
17
  const vendorSelector_1 = require("../../../entity/vendor/vendorSelector");
18
+ const zeniDayJS_1 = require("../../../zeniDayJS");
18
19
  const accountListSelector_1 = require("../../accountList/accountListSelector");
19
20
  const classListSelector_1 = require("../../classList/classListSelector");
20
21
  const reconciliationViewReducer_1 = require("../reducers/reconciliationViewReducer");
@@ -96,6 +97,30 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
96
97
  totalVariancePercentage: undefined,
97
98
  },
98
99
  },
100
+ excludedAccountReconciliationByAccountID: {},
101
+ excludedAccountReconciliationBySectionID: {
102
+ assets: {
103
+ sectionId: 'assets',
104
+ accountIDs: [],
105
+ totalBankBalance: undefined,
106
+ totalClearedBalance: undefined,
107
+ totalReconciledBalance: undefined,
108
+ totalVariance: undefined,
109
+ totalVariancePercentage: undefined,
110
+ },
111
+ liabilities: {
112
+ sectionId: 'liabilities',
113
+ accountIDs: [],
114
+ totalBankBalance: undefined,
115
+ totalClearedBalance: undefined,
116
+ totalReconciledBalance: undefined,
117
+ totalVariance: undefined,
118
+ totalVariancePercentage: undefined,
119
+ },
120
+ },
121
+ excludeAccountFetchState: reconciliationViewState.actionFetchState.excludeAccountFetch,
122
+ includeAccountFetchState: reconciliationViewState.actionFetchState.includeAccountFetch,
123
+ excludedAccountIDs: reconciliationViewState.excludedAccountIDs,
99
124
  };
100
125
  }
101
126
  const allAccountIDs = accountReconForMonthYearPeriod.accountIDs;
@@ -255,6 +280,88 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
255
280
  totalVariancePercentage: liabilityTotals.variancePercentage,
256
281
  },
257
282
  };
283
+ const bankAccountIdSet = new Set(uniqueBankAccounts.map((a) => a.accountId));
284
+ const creditCardIdSet = new Set(uniqueCreditCards.map((a) => a.accountId));
285
+ const excludedAssetAccountIDs = [];
286
+ const excludedLiabilityAccountIDs = [];
287
+ reconciliationViewState.excludedAccountIDs.forEach((accountID) => {
288
+ const isAsset = bankAccountIdSet.has(accountID);
289
+ const isLiability = creditCardIdSet.has(accountID);
290
+ if (!isAsset && !isLiability) {
291
+ return;
292
+ }
293
+ if (isAsset) {
294
+ excludedAssetAccountIDs.push(accountID);
295
+ }
296
+ else {
297
+ excludedLiabilityAccountIDs.push(accountID);
298
+ }
299
+ });
300
+ const excludedAccountReconciliationBySectionID = {
301
+ assets: {
302
+ sectionId: 'assets',
303
+ accountIDs: excludedAssetAccountIDs,
304
+ },
305
+ liabilities: {
306
+ sectionId: 'liabilities',
307
+ accountIDs: excludedLiabilityAccountIDs,
308
+ },
309
+ };
310
+ const excludedAccountReconciliationByAccountID = {};
311
+ const accountsInState = Object.values(accountState.accountsByKey);
312
+ const accountsInStateMap = new Map(accountsInState.map((a) => [a.accountId, a]));
313
+ reconciliationViewState.excludedAccountIDs.forEach((excludedAccountID) => {
314
+ const account = accountsInStateMap.get(excludedAccountID);
315
+ const exclusionInfo = reconciliationViewState.excludedAccountExclusionInfo[excludedAccountID];
316
+ if (account != null) {
317
+ excludedAccountReconciliationByAccountID[excludedAccountID] = {
318
+ refreshStatus: { fetchState: 'Not-Started' },
319
+ statementUpdateStatus: { fetchState: 'Not-Started' },
320
+ statementUploadStatus: { fetchState: 'Not-Started' },
321
+ statementDeleteStatus: { fetchState: 'Not-Started' },
322
+ localData: {},
323
+ connectionInProgress: false,
324
+ statementParseInProgress: false,
325
+ accountConnectionStatus: 'not_connected',
326
+ transactionFetchState: { fetchState: 'Not-Started' },
327
+ accountReconEntity: {
328
+ account: {
329
+ accountId: account.accountId,
330
+ accountName: account.accountName,
331
+ accountType: account.accountType,
332
+ accountSubType: account.accountSubType,
333
+ accountDescription: account.accountDescription,
334
+ qboId: account.qboId,
335
+ coaId: account.coaId,
336
+ labels: account.labels,
337
+ },
338
+ currency: {
339
+ currencyCode: exclusionInfo?.bankBalance?.currencyCode ??
340
+ exclusionInfo?.clearedBalance?.currencyCode ??
341
+ 'USD',
342
+ currencySymbol: exclusionInfo?.bankBalance?.currencySymbol ??
343
+ exclusionInfo?.clearedBalance?.currencySymbol ??
344
+ '$',
345
+ },
346
+ startDate: (0, zeniDayJS_1.date)(new Date().toDateString()),
347
+ endDate: (0, zeniDayJS_1.date)(new Date().toDateString()),
348
+ statementStatus: { code: 'not_found', label: 'Not Found' },
349
+ transactionsToReconcile: [],
350
+ transactionsToReview: [],
351
+ balance: exclusionInfo?.bankBalance,
352
+ clearedBalance: exclusionInfo?.clearedBalance,
353
+ variance: exclusionInfo?.variance,
354
+ variancePercentage: exclusionInfo?.variance != null &&
355
+ exclusionInfo?.bankBalance != null &&
356
+ exclusionInfo?.bankBalance.amount !== 0
357
+ ? Math.abs((exclusionInfo.variance.amount /
358
+ exclusionInfo.bankBalance.amount) *
359
+ 100)
360
+ : undefined,
361
+ },
362
+ };
363
+ }
364
+ });
258
365
  const accountListNestedAccountHierarchy = (0, accountListSelector_1.getNestedAccountListHierarchy)(accountListState, 'accountList');
259
366
  const classListNestedAccountHierarchy = (0, classListSelector_1.getNestedClassListHierarchy)(classListState);
260
367
  const accountsList = (0, accountListSelector_1.getAccountList)(accountState, accountListState, 'accountList');
@@ -315,6 +422,11 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
315
422
  allClassList: allClasses,
316
423
  reviewTabSelectedVendorByTransactionId,
317
424
  reconListUIState: reconciliationViewState.reconListUIState,
425
+ excludedAccountReconciliationBySectionID,
426
+ excludedAccountReconciliationByAccountID,
427
+ excludeAccountFetchState: reconciliationViewState.actionFetchState.excludeAccountFetch,
428
+ includeAccountFetchState: reconciliationViewState.actionFetchState.includeAccountFetch,
429
+ excludedAccountIDs: reconciliationViewState.excludedAccountIDs,
318
430
  };
319
431
  });
320
432
  const isAccountReconReport = (reportId) => {
@@ -74,13 +74,24 @@ export interface ReconciliationReviewTabLocalData {
74
74
  matchedTransactionId?: ID;
75
75
  vendor?: VendorBase;
76
76
  }
77
+ export interface ExcludeAccountFromReconciliationPayload {
78
+ accountId: ID;
79
+ }
80
+ export interface ExclusionInfo {
81
+ bankBalance: Amount | undefined;
82
+ clearedBalance: Amount | undefined;
83
+ variance: Amount | undefined;
84
+ }
77
85
  export interface ActionFetchStates {
86
+ excludeAccountFetch: FetchStateAndError;
78
87
  excludeFetchById: Record<ID, FetchStateAndError>;
88
+ includeAccountFetch: FetchStateAndError;
79
89
  reconcileFetch: FetchStateAndError;
80
90
  saveForLaterFetch: FetchStateAndError;
81
91
  saveReconciliationReviewFetch: Record<ID, FetchStateAndError>;
82
92
  }
83
93
  export interface ReconListUIState {
94
+ nodeCollapseState: Record<ID, boolean>;
84
95
  scrollPosition: {
85
96
  scrollTop: number;
86
97
  scrollLeft?: number;
@@ -90,6 +101,8 @@ export interface ReconciliationViewState extends FetchStateAndError {
90
101
  accountConnectionStatusByAccountID: Record<ID, BankConnectionStatus>;
91
102
  accountReconciliationRecordsBySelectedPeriod: Record<MonthYearPeriodId, AccountReconciliationRecords>;
92
103
  actionFetchState: ActionFetchStates;
104
+ excludedAccountExclusionInfo: Record<ID, ExclusionInfo>;
105
+ excludedAccountIDs: ID[];
93
106
  reconListUIState: ReconListUIState;
94
107
  reconTabsState: ReconciliationTabsState;
95
108
  refreshStatus: FetchStateAndError;
@@ -17,7 +17,7 @@ export declare const fetchFinanceStatement: import("@reduxjs/toolkit").ActionCre
17
17
  firstMonthOfFY: Month;
18
18
  maxNumOfPeriodsToHighlight: number;
19
19
  thisPeriod: TimeframeTick;
20
- }, "financeStatement/updateFinanceStatementThisPeriod">, updateCOABalancesRange: import("@reduxjs/toolkit").ActionCreatorWithPayload<COABalancesRange, "financeStatement/updateCOABalancesRange">, updateSelectedReportId: import("@reduxjs/toolkit").ActionCreatorWithPayload<"cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card", "financeStatement/updateSelectedReportId">, updateFinanceStatementAdditionalBalancesSelection: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
20
+ }, "financeStatement/updateFinanceStatementThisPeriod">, updateCOABalancesRange: import("@reduxjs/toolkit").ActionCreatorWithPayload<COABalancesRange, "financeStatement/updateCOABalancesRange">, updateSelectedReportId: import("@reduxjs/toolkit").ActionCreatorWithPayload<"cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation", "financeStatement/updateSelectedReportId">, updateFinanceStatementAdditionalBalancesSelection: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
21
21
  additionalBalances: COABalanceType[];
22
22
  coaBalances: COABalance[];
23
23
  firstMonthOfFY: Month;
@@ -3,9 +3,9 @@ import { ZeniAPIStatus } from '../../responsePayload';
3
3
  import { VendorReviewViewAllRecommendationsPayload } from '../vendorReviewView/common/payload/commonTypes';
4
4
  import { GlobalMerchantViewState, GlobalRecommendationFetchSource, NewGlobalMerchantCurrentSelection } from './globalMerchantViewState';
5
5
  export declare const initialState: GlobalMerchantViewState;
6
- export declare const createGlobalMerchant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[merchantId?: string | undefined, context?: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | undefined], {
6
+ export declare const createGlobalMerchant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[merchantId?: string | undefined, context?: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | undefined], {
7
7
  merchantId: string | undefined;
8
- context: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | undefined;
8
+ context: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | undefined;
9
9
  }, "globalMerchantView/createGlobalMerchant", never, never>, createGlobalMerchantSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
10
10
  merchantId: ID;
11
11
  }, "globalMerchantView/createGlobalMerchantSuccess">, createGlobalMerchantFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1,6 +1,6 @@
1
1
  import { RootState } from '../../reducer';
2
2
  export declare const getReimbursementCardReport: (state: RootState) => {
3
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card";
3
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
4
4
  reportTitle: string;
5
5
  version: string | number | undefined;
6
6
  fetchState: import("../..").FetchState;
@@ -2,8 +2,8 @@ import { ReportID } from '../../commonStateTypes/viewAndReport/viewAndReport';
2
2
  import { ZeniAPIStatus } from '../../responsePayload';
3
3
  import { ReportsResyncState } from './reportsResyncState';
4
4
  export declare const initialReportsResyncState: ReportsResyncState;
5
- export declare const initiateReportsResync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card"], {
6
- reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card";
5
+ export declare const initiateReportsResync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation"], {
6
+ reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
7
7
  }, "initiateReportsResync/initiateReportsResync", never, never>, initiateReportsClassViewRefetching: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
8
8
  reportIdToResync: ReportID;
9
9
  }, "initiateReportsResync/initiateReportsClassViewRefetching">, reportsResyncSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1,6 +1,6 @@
1
1
  import { RootState } from '../../reducer';
2
2
  export declare const getTasksCardReport: (state: RootState) => {
3
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card";
3
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
4
4
  reportTitle: string;
5
5
  version: string | number | undefined;
6
6
  status: import("../..").Status | undefined;
@@ -4,7 +4,7 @@ import { RootState } from '../../reducer';
4
4
  import { TopExReport, TopExTimePeriodWithMetaData } from './topExSelectorTypes';
5
5
  import { TopExState } from './topExState';
6
6
  export declare const getTopExpenses: (accountState: AccountState, topExState: TopExState, numberOfExpenses?: number) => {
7
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card";
7
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
8
8
  reportTitle: string;
9
9
  version: string | number | undefined;
10
10
  status: import("../..").Status | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.20.3-betaRR01",
3
+ "version": "4.20.3-betaRR2",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",