@zeniai/client-epic-state 5.0.81 → 5.0.82-beta0ND

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 (125) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  3. package/lib/entity/account/accountSelector.d.ts +9 -0
  4. package/lib/entity/account/accountSelector.js +14 -1
  5. package/lib/entity/account/accountState.d.ts +1 -1
  6. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  7. package/lib/entity/class/classReducer.d.ts +4 -4
  8. package/lib/entity/class/classState.d.ts +1 -1
  9. package/lib/entity/company/companyPayload.d.ts +2 -0
  10. package/lib/entity/company/companyPayload.js +2 -0
  11. package/lib/entity/company/companyStateTypes.d.ts +2 -0
  12. package/lib/entity/forecast/forecastState.d.ts +1 -1
  13. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  14. package/lib/entity/paymentAccount/paymentAccountSelector.js +4 -0
  15. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  16. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  17. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  18. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  19. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  20. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  21. package/lib/entity/snackbar/snackbarTypes.js +1 -0
  22. package/lib/entity/tenant/clearAllEpic.d.ts +2 -1
  23. package/lib/entity/tenant/clearAllEpic.js +2 -0
  24. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  25. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  26. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +54 -0
  27. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  28. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  29. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  30. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  31. package/lib/entity/tenant/tenantReducer.d.ts +38 -25
  32. package/lib/entity/tenant/tenantReducer.js +65 -5
  33. package/lib/entity/tenant/tenantState.d.ts +1 -0
  34. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +4 -0
  35. package/lib/entity/transaction/payloadTypes/transactionPayload.js +18 -10
  36. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  37. package/lib/epic.d.ts +6 -1
  38. package/lib/epic.js +7 -1
  39. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  40. package/lib/esm/entity/account/accountSelector.js +11 -0
  41. package/lib/esm/entity/company/companyPayload.js +2 -0
  42. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +3 -0
  43. package/lib/esm/entity/snackbar/snackbarTypes.js +1 -0
  44. package/lib/esm/entity/tenant/clearAllEpic.js +2 -0
  45. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +50 -0
  46. package/lib/esm/entity/tenant/tenantReducer.js +63 -3
  47. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +18 -10
  48. package/lib/esm/epic.js +7 -1
  49. package/lib/esm/index.js +12 -8
  50. package/lib/esm/reducer.js +3 -0
  51. package/lib/esm/view/createTransferEntry/createTransferEntryReducer.js +82 -0
  52. package/lib/esm/view/createTransferEntry/createTransferEntrySelector.js +64 -0
  53. package/lib/esm/view/createTransferEntry/createTransferEntryState.js +17 -0
  54. package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +130 -0
  55. package/lib/esm/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +36 -0
  56. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +13 -1
  57. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +9 -1
  58. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  59. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +93 -50
  60. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +49 -0
  61. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +58 -0
  62. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +12 -0
  63. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +205 -0
  64. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +71 -52
  65. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +2 -0
  66. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +28 -0
  67. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +6 -1
  68. package/lib/index.d.ts +13 -8
  69. package/lib/index.js +56 -33
  70. package/lib/reducer.d.ts +3 -0
  71. package/lib/reducer.js +3 -0
  72. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  73. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  74. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  75. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  76. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  77. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  78. package/lib/view/createTransferEntry/createTransferEntryReducer.d.ts +32 -0
  79. package/lib/view/createTransferEntry/createTransferEntryReducer.js +86 -0
  80. package/lib/view/createTransferEntry/createTransferEntrySelector.d.ts +39 -0
  81. package/lib/view/createTransferEntry/createTransferEntrySelector.js +69 -0
  82. package/lib/view/createTransferEntry/createTransferEntryState.d.ts +30 -0
  83. package/lib/view/createTransferEntry/createTransferEntryState.js +20 -0
  84. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.d.ts +11 -0
  85. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +134 -0
  86. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.d.ts +14 -0
  87. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +40 -0
  88. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  89. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  90. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +3 -1
  91. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +14 -2
  92. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +4 -1
  93. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +1 -0
  94. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +11 -2
  95. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  96. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  97. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  98. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  99. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  100. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +28 -3
  101. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +94 -51
  102. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +11 -0
  103. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  104. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  105. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +8 -0
  106. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +53 -0
  107. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +8 -0
  108. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +62 -0
  109. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +27 -0
  110. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +15 -0
  111. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +24 -0
  112. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +213 -0
  113. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +24 -2
  114. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +72 -53
  115. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +4 -0
  116. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +2 -0
  117. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +12 -0
  118. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +125 -0
  119. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +32 -0
  120. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  121. package/lib/view/topEx/topExSelector.d.ts +1 -1
  122. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  123. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +6 -1
  124. package/lib/view/transactionDetail/transactionDetailSelector.js +6 -1
  125. package/package.json +34 -62
package/lib/esm/epic.js CHANGED
@@ -15,6 +15,7 @@ import { fetchExcludedResourcesEpic, } from './entity/tenant/epic/fetchExcludedR
15
15
  import { fetchExternalConnectionsEpic, } from './entity/tenant/epic/fetchExternalConnectionsEpic';
16
16
  import { fetchSubscriptionSummaryForTenantEpic, } from './entity/tenant/epic/fetchSubscriptionSummaryForTenantEpic';
17
17
  import { resendVerifyDeviceOTPEpic, } from './entity/tenant/epic/resendVerifyDeviceOTPEpic';
18
+ import { initEmailConnectOAuthEpic } from './entity/tenant/epic/initEmailConnectOAuthEpic';
18
19
  import { saveAPIKeyConnectionEpic } from './entity/tenant/epic/saveAPIKeyConnectionEpic';
19
20
  import { saveConnectorCredentialsEpic } from './entity/tenant/epic/saveConnectorCredentialsEpic';
20
21
  import { saveExternalConnectionEpic, } from './entity/tenant/epic/saveExternalConnectionEpic';
@@ -134,6 +135,8 @@ import { fetchPortfolioViewEpic, } from './view/companyView/epic/fetchPortfolioV
134
135
  import { fetchSubscriptionViewEpic, } from './view/companyView/epic/fetchSubscriptionViewEpic';
135
136
  import { fetchZeniUsersEpic, } from './view/companyView/epic/fetchZeniUsersEpic';
136
137
  import { fetchParentSubsidiaryManagementViewEpic, } from './view/companyView/parentSubsidiaryView/fetchParentSubsidiaryManagementViewEpic';
138
+ import { createTransferEntryEpic, } from './view/createTransferEntry/epics/createTransferEntryEpic';
139
+ import { fetchTransferAccountsEpic, } from './view/createTransferEntry/epics/fetchTransferAccountsEpic';
137
140
  import { fetchCardProfilesEpic, } from './view/creditAgentView/epics/fetchCardProfilesEpic';
138
141
  import { fetchCreditAgentMacroEpic, } from './view/creditAgentView/epics/fetchCreditAgentMacroEpic';
139
142
  import { saveCreditAgentMacroEpic, } from './view/creditAgentView/epics/saveCreditAgentMacroEpic';
@@ -230,6 +233,7 @@ import { updateQBOConnectionPoolExternalConnectionEpic, } from './view/onboardin
230
233
  import { fetchOnboardingCustomerSetupViewEpic, } from './view/onboardingView/customerView/epic/customerDetails/fetchOnboardingCustomerSetupViewEpic';
231
234
  import { fetchOnboardingCustomerViewEpic, } from './view/onboardingView/customerView/epic/customerDetails/fetchOnboardingCustomerViewEpic';
232
235
  import { updateOnboardingCustomerViewCompleteStatusEpic, } from './view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewCompleteStatusEpic';
236
+ import { acknowledgeOnboardingAiFinanceTeamEpic, } from './view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic';
233
237
  import { updateOnboardingCustomerViewDashboardLoadedEpic, } from './view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewDashboardLoadedEpic';
234
238
  import { updateOnboardingCustomerViewEpic, } from './view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic';
235
239
  import { updateOnboardingCustomerViewLocalStoreDataEpic, } from './view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic';
@@ -422,6 +426,8 @@ import { fetchEntityHistoryEpic, } from './view/spendManagement/commonHistoryVie
422
426
  import { enableSetupEpic, } from './view/spendManagement/commonSetup/epic/setup/enableSetupEpic';
423
427
  import { updateBusinessVerificationDetailsEpic, } from './view/spendManagement/commonSetup/epic/setup/updateBusinessVerificationDetailsEpic';
424
428
  import { updateSetupViewLocalStoreDataEpic, } from './view/spendManagement/commonSetup/epic/setup/updateSetupViewLocalStoreDataEpic';
429
+ import { parseUploadedKycDocumentEpic, } from './view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic';
430
+ import { parseUploadedKybDocumentEpic, } from './view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic';
425
431
  import { fetchMerchantListEpic, } from './view/spendManagement/merchantList/fetchMerchantListEpic';
426
432
  import { getPaymentAccountsEpic, } from './view/spendManagement/plaidAccount/epic/paymentAccounts/getPaymentAccountsEpic';
427
433
  import { updateMappedCashAccountEpic, } from './view/spendManagement/plaidAccount/epic/paymentAccounts/updateMappedCashAccountEpic';
@@ -580,7 +586,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
580
586
  import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
581
587
  import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
582
588
  // Note: Please maintain strict alphabetical order
583
- const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, syncTabsAfterAutomatchEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByProjectEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
589
+ const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, syncTabsAfterAutomatchEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByProjectEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, initEmailConnectOAuthEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, acknowledgeOnboardingAiFinanceTeamEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, parseUploadedKycDocumentEpic, parseUploadedKybDocumentEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
584
590
  const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
585
591
  console.error(error);
586
592
  return source;
package/lib/esm/index.js CHANGED
@@ -156,6 +156,7 @@ import { getAllCockpitTabsFilterView, } from './view/companyView/selector/getAll
156
156
  import { ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsFileTypeStrict, toCockpitTabsIDStrict, } from './view/companyView/types/cockpitTabsID';
157
157
  import { toHealthSortKeyType, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toTaskManagerSortKeyType, } from './view/companyView/types/cockpitTypes';
158
158
  import { toCompanyPassportLocalData, } from './view/companyView/types/companyPassport/companyPassportLocalData';
159
+ import { clearTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, fetchAccountsForTransferFlow, resetCreateTransferEntryStatus, } from './view/createTransferEntry/createTransferEntryReducer';
159
160
  import { fetchDashboard, updateTreasuryVideoClosed, } from './view/dashboard/dashboardReducer';
160
161
  import { getDashboard, } from './view/dashboard/dashboardSelector';
161
162
  import { updateDashboardLayout } from './view/dashboardLayout/dashboardLayoutReducer';
@@ -169,10 +170,10 @@ import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFl
169
170
  import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJESchedulesUIState as updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
170
171
  import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearBulkUploadBatchDetailsForScopeChange, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markBatchDetailRefreshAttempted, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, refreshBatchDetailsForBatchId, requestMissingReceiptsTabNavigation, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess, } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
171
172
  import { deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateNodeCollapseState, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
172
- import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markCategoryClassRecommendationsFailureForCategorization, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, updateTransactionFilters, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
173
+ import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markCategoryClassRecommendationsFailureForCategorization, markTransactionAsNotMiscategorized, removeTransactionFromAllTabs, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, updateTransactionFilters, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
173
174
  import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
174
175
  import { getExpenseAutomationReconciliationView, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
175
- import { getExpenseAutomationTransactionView } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
176
+ import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement, } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
176
177
  import { DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab, } from './view/expenseAutomationView/types/completedSubTab';
177
178
  import { toJEScheduleMainTab as toExpenseAutomationJEScheduleMainTab, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey, } from './view/expenseAutomationView/types/jeSchedulesViewState';
178
179
  import { BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toMatchSource, toMissingReceiptsTab, } from './view/expenseAutomationView/types/missingReceiptsViewState';
@@ -210,7 +211,7 @@ import { toNotificationSubTabTypeStrict, toNotificationTabTypeStrict, } from './
210
211
  import { clearOnboardingCustomerViewUpdateData, fetchCompanyOnboardingView, fetchOnboardingCompletedCompanies, fetchQBOConnectionPool, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, resetNewOnboardedCustomerId, retryBankAccountConnectionForOnboarding, saveOnboardingCustomerCompletedStatus, saveOnboardingCustomerDataInLocalStore, saveOnboardingCustomerNotes, saveOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdates, sendOnboardingCustomerViewInvite, updateCustomerCreationStatus, updateOnboardingCustomerDataInLocalStore, updateOnboardingCustomerListUIState, updateQBOConnectionPoolExternalConnection, updateStatusAfterOnboardingCompleted, } from './view/onboardingView/cockpitView/onboardingCockpitViewReducer';
211
212
  import { getNewOnboardingCustomerView, getOnboardingCockpitView, } from './view/onboardingView/cockpitView/onboardingCockpitViewSelector';
212
213
  import { toProductType, toProductTypeStrict, } from './view/onboardingView/cockpitView/types/onboardingCockpitViewTypes';
213
- import { clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, establishOnboardingPlaidConnection, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerView, getOnboardingPlaidLinkToken, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, updateCurrentStep, updateOnboardingCustomerView, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewLocalStoreData, updateOnboardingCustomerViewUIState, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, } from './view/onboardingView/customerView/onboardingCustomerViewReducer';
214
+ import { applyKycDocumentAutofillForOnboarding, applyKybDocumentAutofillForOnboarding, clearKycKybAutofillForOnboarding, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, establishOnboardingPlaidConnection, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerView, getOnboardingPlaidLinkToken, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, updateCurrentStep, updateOnboardingCustomerView, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewLocalStoreData, updateOnboardingCustomerViewUIState, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, } from './view/onboardingView/customerView/onboardingCustomerViewReducer';
214
215
  import { getOnboardingCustomerView, getProductSettingsString, } from './view/onboardingView/customerView/onboardingCustomerViewSelector';
215
216
  import { fetchOpEx, fetchOpExWithForecast, updateOpExCOABalancesRange, updateOpExDownloadState, updateOpExUIState, } from './view/opEx/opExReducer';
216
217
  import { getOperatingExpensesForHighlightedRange, getOperatingExpensesForSelectedRange, getOperatingExpensesReport, getOperatingExpensesReportFetchState, getOperatingExpensesUIState, } from './view/opEx/opExSelector';
@@ -315,12 +316,14 @@ import { fetchChargeCardStatementList } from './view/spendManagement/chargeCards
315
316
  import { getChargeCardStatements, } from './view/spendManagement/chargeCards/chargeCardStatementList/chargeCardStatementListSelector';
316
317
  import { fetchDepositAccountListForCards, fetchIssueCardPage, issueChargeCards, resetIssueChargeCardForm, updateChargeCardsLocalStore, updateCustomAddressId, } from './view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer';
317
318
  import { getIssueChargeCardView, } from './view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector';
318
- import { clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, } from './view/spendManagement/commonSetup/setupViewReducer';
319
+ import { clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, applyKycDocumentAutofillForSetup, applyKybDocumentAutofillForSetup, clearKycKybAutofillForSetup, } from './view/spendManagement/commonSetup/setupViewReducer';
320
+ import { parseUploadedKycDocument, parseUploadedKybDocument, } from './view/spendManagement/commonSetup/kycKybAutofillActions';
319
321
  import { getBusinessVerificationDetails, getCommonSetupViewDetails, } from './view/spendManagement/commonSetup/setupViewSelector';
320
322
  import { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, getCompanyOnboardingSubIndustryCodesForIndustry, } from './view/spendManagement/commonSetup/types/businessVerification';
321
323
  import { checkIfLowBalance, getActualPaymentDate, getBillListUniqueType, getBulkOperationSuffix, getRemiListUniqueType, getSelectedCompanyOfficer, getSpendManagementEffectiveListPeriod, isAwaitingMarkAsPaid, isBulkProcessing, isPaymentMethodOutsideZeni, isVerifiedPaymentAccountProviderStatusCode, isVerifiedStatusCode, showBillPayPromoPage, showReimbursementPromoPage, toAccountsPromoConfig, toSameDayAchDisablementConfig, } from './view/spendManagement/helpers';
322
324
  import { establishPlaidConnection, getPaymentAccounts, getPlaidLinkToken, updateMappedCashAccount, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, updatePrimaryFundingAccount, } from './view/spendManagement/plaidAccount/plaidAccountViewReducer';
323
325
  import { getPlaidAccountDetails } from './view/spendManagement/plaidAccount/plaidAccountViewSelector';
326
+ import { getPlaidPaymentAccounts } from './entity/paymentAccount/paymentAccountSelector';
324
327
  import { saveRealTimeApproval, updateIsEditModeRealTimeApprovals, } from './view/spendManagement/realTimeApprovalView/realTimeApprovalReducer';
325
328
  import { clearAddRemiAutoFields, clearEditRemiViewDetail, clearTentativeMerchantName, discardRemiUpdatesInLocalStore, fetchCurrencyConversionValue, fetchEditRemiDetailPage, fetchRecommendationsAndUpdateMerchantRecommendations, fetchRemiAndInitializeLocalStore, initializeRemiToLocalStore, parseReceiptsToRemi, removeFileFromRemiUpdatesInLocalStore, saveRemiDetail, saveRemiSuccessOrFailure, saveRemiUpdatesToLocalStore, updateAddRemiAutoFields, updateHomeCurrencyConversion, updateReimbursementType, updateTentativeMerchantNames, updateUploadFetchState, } from './view/spendManagement/reimbursement/editRemiView/editRemiViewReducer';
326
329
  import { getEditRemiDetail, } from './view/spendManagement/reimbursement/editRemiView/editRemiViewSelector';
@@ -449,8 +452,8 @@ export {
449
452
  // Bulk Upload Types
450
453
  BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, DEFAULT_COMPLETED_SUB_TAB, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, toExpenseAutomationJEScheduleMainTab, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, fetchExpenseAutomationMissingReceipts,
451
454
  // Bulk Upload Actions
452
- bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, clearBulkUploadBatchDetailsForScopeChange, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, excludeAccountFromReconciliation, includeAccountInReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, updateNodeCollapseState, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
453
- export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateTransactionFilters, updateSelectedCheckboxTransactionIds, markCategoryClassRecommendationsFailureForCategorization, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
455
+ bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, clearBulkUploadBatchDetailsForScopeChange, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, getLastTransferEntryReplacement, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, excludeAccountFromReconciliation, includeAccountInReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, updateNodeCollapseState, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
456
+ export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateTransactionFilters, updateSelectedCheckboxTransactionIds, markCategoryClassRecommendationsFailureForCategorization, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus, clearTransferEntryRouteReplacement, fetchAccountsForTransferFlow, removeTransactionFromAllTabs, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
454
457
  export { TOP_EX_TIME_PERIODS };
455
458
  export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsoluteDay, toMonthYearPeriodId, convertToPeriod, };
456
459
  export { toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
@@ -562,7 +565,7 @@ export { hideCreatedByFilter, };
562
565
  // not Spend Management. Kept in a separate re-export block to make the
563
566
  // separation visible at the barrel level.
564
567
  export { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, };
565
- export { 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, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, };
568
+ export { 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, applyKycDocumentAutofillForSetup, applyKybDocumentAutofillForSetup, clearKycKybAutofillForSetup, parseUploadedKycDocument, parseUploadedKybDocument, sendOtp, resendOtp, verifyOtp, getBillPaySetupViewDetails, getPlaidAccountDetails, getPlaidPaymentAccounts, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, };
566
569
  export { getApprovalRuleViewDetails, getBankConnectionsSetupViewDetails, getIntegrationsView, };
567
570
  export { fetchUserFinancialAccount };
568
571
  export { getUserFinancialAccount };
@@ -596,7 +599,7 @@ export { saveTransactionVendor, saveTransactionVendorSuccessOrFailure, updateTra
596
599
  export { fetchCompanyConfig };
597
600
  export { getCompanyConfig };
598
601
  export { isZeniClearingAccountReport, ZENI_CLEARING_ACCOUNT, isZeniClearingAccount, };
599
- export { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, getOnboardingPlaidLinkToken, establishOnboardingPlaidConnection, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, updateOnboardingCustomerView, updateOnboardingCustomerViewLocalStoreData, updateCurrentStep, updateOnboardingCustomerViewUIState, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, getOnboardingCustomerView, getProductSettingsString, };
602
+ export { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, getOnboardingPlaidLinkToken, establishOnboardingPlaidConnection, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, updateOnboardingCustomerView, updateOnboardingCustomerViewLocalStoreData, updateCurrentStep, updateOnboardingCustomerViewUIState, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, applyKycDocumentAutofillForOnboarding, applyKybDocumentAutofillForOnboarding, clearKycKybAutofillForOnboarding, getOnboardingCustomerView, getProductSettingsString, };
600
603
  export { saveAccountMapping, saveAccountMappingLocalData, clearAccountMappingLocalData, getAccountMappingView, initializeAccountMappingView, };
601
604
  export { getMagicLinkView, getMagicLinkBankAccountView, getMagicLinkCurrentAddressState, };
602
605
  export { fetchMagicLinkTenant, fetchBillAttachment, saveBankAccount, updateMagicLinkBankAccountLocalStoreData, updateMagicLinkInternationalBankAccountLocalStoreData, fetchMagicLinkBankNameByRouting, fetchMagicLinkBankNameBySwift, saveMagicLinkAddressInLocalStore, };
@@ -663,3 +666,4 @@ export { getTransactionActivityLogView, } from './view/transactionActivityLogVie
663
666
  // ── Session Management ──────────────────────────────────────────────
664
667
  export { SessionManager } from './entity/tenant/SessionManager';
665
668
  export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
669
+ export { toKycProvidedDocumentType } from './view/spendManagement/commonSetup/types/kycKybAutofill';
@@ -98,6 +98,7 @@ import companyHealthMetricView, { initialState as initialCompanyHealthMetricView
98
98
  import companyMonthEndReportView, { initialState as initialCompanyMonthEndReportViewState, } from './view/companyMonthEndReportView/companyMonthEndReportViewReducer';
99
99
  import companyTaskManagerView, { initialState as initialCompanyTaskManagerViewState, } from './view/companyTaskManagerView/companyTaskManagerViewReducer';
100
100
  import companyView, { initialState as initialCompanyViewState, } from './view/companyView/companyViewReducer';
101
+ import createTransferEntry, { initialState as initialCreateTransferEntryState, } from './view/createTransferEntry/createTransferEntryReducer';
101
102
  import creditAgentView, { initialState as initialCreditAgentViewState, } from './view/creditAgentView/creditAgentViewReducer';
102
103
  import dashboard, { initialState as initialDashboardState, } from './view/dashboard/dashboardReducer';
103
104
  import dashboardLayout, { initialState as initialDashboardLayoutState, } from './view/dashboardLayout/dashboardLayoutReducer';
@@ -360,6 +361,7 @@ const initialViewsState = {
360
361
  expenseAutomationReconciliationViewState: initialExpenseAutomationReconciliationViewState,
361
362
  expenseAutomationTransactionsViewState: initialExpenseAutomationTransactionsViewState,
362
363
  expenseAutomationViewState: initialExpenseAutomationViewState,
364
+ createTransferEntryState: initialCreateTransferEntryState,
363
365
  expressPayState: initialExpressPayState,
364
366
  featureNotificationViewState: initialFeatureNotificationViewState,
365
367
  fileViewState: initialFileViewState,
@@ -595,6 +597,7 @@ const viewReducers = {
595
597
  expenseAutomationReconciliationViewState: expenseAutomationReconciliationView,
596
598
  expenseAutomationTransactionsViewState: expenseAutomationTransactionsView,
597
599
  expenseAutomationViewState: expenseAutomationView,
600
+ createTransferEntryState: createTransferEntry,
598
601
  expressPayState: expressPay,
599
602
  featureNotificationViewState: featureNotificationView,
600
603
  fileViewState: fileView,
@@ -0,0 +1,82 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ import { initialCreateTransferEntryState, } from './createTransferEntryState';
3
+ export const initialState = initialCreateTransferEntryState;
4
+ const createTransferEntrySlice = createSlice({
5
+ name: 'createTransferEntry',
6
+ initialState,
7
+ reducers: {
8
+ fetchAccountsForTransferFlow(draft, action) {
9
+ const slice = draft.transferAccountsByType[action.payload.kind];
10
+ // Idempotent: a duplicate dispatch must not briefly downgrade
11
+ // 'Completed' back to 'In-Progress' (would clear loaded data from a
12
+ // consumer's perspective) nor restart the in-flight epic stream.
13
+ // The hook (`useFetchTransferAccountsForFlow`) is the sole caller and
14
+ // already dedupes via `store.getState()`; this guard is defense in
15
+ // depth for any future caller.
16
+ if (slice.fetchState === 'In-Progress' ||
17
+ slice.fetchState === 'Completed') {
18
+ return;
19
+ }
20
+ slice.fetchState = 'In-Progress';
21
+ },
22
+ updateAccountsForTransferFlow(draft, action) {
23
+ const slice = draft.transferAccountsByType[action.payload.kind];
24
+ slice.fetchState = 'Completed';
25
+ slice.accountIds = action.payload.accountIds;
26
+ },
27
+ updateAccountsForTransferFlowFailure(draft, action) {
28
+ draft.transferAccountsByType[action.payload.kind].fetchState = 'Error';
29
+ },
30
+ createTransferEntry: {
31
+ prepare(payload) {
32
+ return { payload };
33
+ },
34
+ /**
35
+ * Defense-in-depth: clear any stale `lastTransferEntryReplacement` on a
36
+ * fresh dispatch so a second `createTransferEntry` never inherits the
37
+ * previous run's replacement signal (e.g. if the prior `timer(0)` cleanup
38
+ * never fired). Mirrors the host hook's `consumedReplacementRef` guard
39
+ * (see `useTransferEntryRouteReplacement` in zeni-web-app-ui).
40
+ */
41
+ reducer(draft) {
42
+ draft.createTransferEntryStatus = 'In-Progress';
43
+ draft.lastTransferEntryReplacement = undefined;
44
+ },
45
+ },
46
+ createTransferEntrySuccess(draft) {
47
+ draft.createTransferEntryStatus = 'Completed';
48
+ },
49
+ createTransferEntryFailure(draft) {
50
+ draft.createTransferEntryStatus = 'Error';
51
+ },
52
+ resetCreateTransferEntryStatus(draft) {
53
+ draft.createTransferEntryStatus = 'Not-Started';
54
+ },
55
+ createTransferEntryReplacedTransaction: {
56
+ prepare(previousTransactionId, newTransactionId) {
57
+ return { payload: { newTransactionId, previousTransactionId } };
58
+ },
59
+ reducer(draft, action) {
60
+ draft.lastTransferEntryReplacement = action.payload;
61
+ },
62
+ },
63
+ /**
64
+ * One-shot acknowledgement: the host has consumed the route-replacement
65
+ * signal and navigated to the new transaction url, so we can drop the
66
+ * record. Re-dispatching is idempotent.
67
+ */
68
+ clearTransferEntryRouteReplacement(draft) {
69
+ draft.lastTransferEntryReplacement = undefined;
70
+ },
71
+ /**
72
+ * Full slice reset. Dispatched from `clearAllEpic` on tenant switch so
73
+ * stale per-tenant state (account-id pools, status, replacement signal)
74
+ * doesn't bleed across tenants.
75
+ */
76
+ clearCreateTransferEntry(draft) {
77
+ Object.assign(draft, initialState);
78
+ },
79
+ },
80
+ });
81
+ export const { fetchAccountsForTransferFlow, updateAccountsForTransferFlow, updateAccountsForTransferFlowFailure, createTransferEntry, createTransferEntrySuccess, createTransferEntryFailure, resetCreateTransferEntryStatus, createTransferEntryReplacedTransaction, clearTransferEntryRouteReplacement, clearCreateTransferEntry, } = createTransferEntrySlice.actions;
82
+ export default createTransferEntrySlice.reducer;
@@ -0,0 +1,64 @@
1
+ import { createSelector } from '@reduxjs/toolkit';
2
+ import { getAccountBase, getAccountBaseForCreditCardTransferAccounts, getAccountBaseForTransferAccounts, } from '../../entity/account/accountSelector';
3
+ import { getAccountList } from '../accountList/accountListSelector';
4
+ export function getCreateTransferEntryStatus(state) {
5
+ return state.createTransferEntryState.createTransferEntryStatus;
6
+ }
7
+ export function getLastTransferEntryReplacement(state) {
8
+ return state.createTransferEntryState.lastTransferEntryReplacement;
9
+ }
10
+ /**
11
+ * Shared resolver for the credit/debit dropdowns in the transfer drawer.
12
+ *
13
+ * Resolution policy (intentional):
14
+ * 1. Prefer the dedicated API fetch results (`transferEntryEligible` for the
15
+ * debit pool, `creditCardOnlyEligible` for the credit-card-payment credit
16
+ * pool).
17
+ * 2. If the dedicated fetch returns an empty list while the COA is loaded,
18
+ * fall back to the COA: the full account list for `transferEntryEligible`,
19
+ * and COA accounts filtered to `credit_card` for `creditCardOnlyEligible`.
20
+ * This keeps the dropdown populated for older tenants where the dedicated
21
+ * endpoints haven't been backfilled yet.
22
+ *
23
+ * Intent — what this selector deliberately does NOT do:
24
+ * - Does NOT distinguish "fetch in-flight" / "fetch errored" / "fetch returned
25
+ * empty" — all three collapse to the COA fallback. The product preference
26
+ * is "always show something selectable" over "show a spinner that may never
27
+ * resolve". Loading/error UI belongs in the view layer; if you need a
28
+ * spinner, observe the `fetchState` on `transferAccountsByType[kind]`
29
+ * separately rather than changing the resolution policy here.
30
+ * - Does NOT enforce "API result is authoritative even if empty" — a tenant
31
+ * whose dedicated endpoint is correctly returning `[]` (e.g. no eligible
32
+ * transfer destinations) will still see the COA. That trade-off is
33
+ * accepted because the alternative blocks the user from picking anything;
34
+ * the backend distinguishes "no result" from "endpoint not implemented" by
35
+ * surfacing an error response, which the view layer handles separately.
36
+ *
37
+ * Memoized with reselect so consuming view-models don't recompute on every
38
+ * unrelated state change.
39
+ */
40
+ export const getResolvedTransferAccounts = createSelector([
41
+ (state) => state.accountState,
42
+ (state) => state.accountListState,
43
+ (state) => state.createTransferEntryState.transferAccountsByType
44
+ .transferEntryEligible.accountIds,
45
+ (state) => state.createTransferEntryState.transferAccountsByType
46
+ .creditCardOnlyEligible.accountIds,
47
+ ], (accountState, accountListState, transferEligibleIds, creditCardOnlyIds) => {
48
+ const accountList = getAccountList(accountState, accountListState, 'accountList');
49
+ const transferEligibleFromApi = transferEligibleIds
50
+ .map((id) => getAccountBaseForTransferAccounts(accountState, id))
51
+ .filter((account) => account != null);
52
+ const coaFallbackAllAccounts = accountList.accounts
53
+ .map((a) => getAccountBase(accountState, a.accountId, 'account_list'))
54
+ .filter((account) => account != null);
55
+ const transferAccountsList = transferEligibleFromApi.length > 0
56
+ ? transferEligibleFromApi
57
+ : coaFallbackAllAccounts;
58
+ const creditCardFromApi = creditCardOnlyIds
59
+ .map((id) => getAccountBaseForCreditCardTransferAccounts(accountState, id))
60
+ .filter((account) => account != null);
61
+ const coaFallbackCreditCards = coaFallbackAllAccounts.filter((a) => a.accountType === 'credit_card');
62
+ const creditCardTransferAccountsList = creditCardFromApi.length > 0 ? creditCardFromApi : coaFallbackCreditCards;
63
+ return { creditCardTransferAccountsList, transferAccountsList };
64
+ });
@@ -0,0 +1,17 @@
1
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
2
+ export const TRANSFER_ACCOUNTS_FETCH_TYPE = [
3
+ 'transferEntryEligible',
4
+ 'creditCardOnlyEligible',
5
+ ];
6
+ const initialTransferAccountsState = {
7
+ accountIds: [],
8
+ fetchState: 'Not-Started',
9
+ };
10
+ export const initialCreateTransferEntryState = {
11
+ createTransferEntryStatus: 'Not-Started',
12
+ lastTransferEntryReplacement: undefined,
13
+ transferAccountsByType: {
14
+ transferEntryEligible: initialTransferAccountsState,
15
+ creditCardOnlyEligible: initialTransferAccountsState,
16
+ },
17
+ };
@@ -0,0 +1,130 @@
1
+ import { concat, from, timer } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
4
+ import { toTransactionID } from '../../../entity/transaction/payloadTypes/transactionIDPayload';
5
+ import { removeTransaction, updateTransaction, } from '../../../entity/transaction/transactionReducer';
6
+ import { isSuccessResponse } from '../../../responsePayload';
7
+ import { removeTransactionFromAllTabs } from '../../expenseAutomationView/reducers/transactionsViewReducer';
8
+ import { initializeTransactionDetailLocalData, removeTransactionDetail, } from '../../transactionDetail/transactionDetailReducer';
9
+ import { getTransactionDetailKey } from '../../transactionDetail/transactionDetailState';
10
+ import { clearTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus, } from '../createTransferEntryReducer';
11
+ // ─── Pure helpers ────────────────────────────────────────────────────────────
12
+ function transactionIdsAreEqual(a, b) {
13
+ return a.id === b.id && a.type === b.type;
14
+ }
15
+ const successSnackbar = () => openSnackbar({
16
+ messageSection: 'create_transfer_entry',
17
+ messageText: 'success',
18
+ type: 'success',
19
+ });
20
+ const failureSnackbar = () => openSnackbar({
21
+ messageSection: 'create_transfer_entry',
22
+ messageText: 'failed',
23
+ type: 'error',
24
+ });
25
+ function buildFailureActions() {
26
+ return [createTransferEntryFailure(), failureSnackbar()];
27
+ }
28
+ /**
29
+ * Defensive guard: a BE response that returns 200 with `transaction != null`
30
+ * but where the body lacks a usable id/type is unsafe to seed into the store —
31
+ * downstream code would store under a garbage key and the host hook would try
32
+ * to navigate to a broken url. Treat that case as failure so the source row
33
+ * stays visible and the user can retry.
34
+ */
35
+ function isWellFormedTransactionPayload(t) {
36
+ return (t != null &&
37
+ typeof t.transaction_id === 'string' &&
38
+ t.transaction_id !== '' &&
39
+ typeof t.transaction_type === 'string' &&
40
+ t.transaction_type !== '');
41
+ }
42
+ function buildSuccessSideEffects(sourceTransactionId) {
43
+ return [
44
+ createTransferEntrySuccess(),
45
+ removeTransactionFromAllTabs(sourceTransactionId),
46
+ successSnackbar(),
47
+ ];
48
+ }
49
+ function buildPreviousTransactionCleanupActions(previousTransactionId) {
50
+ return [
51
+ removeTransaction(getTransactionDetailKey(previousTransactionId)),
52
+ removeTransactionDetail(previousTransactionId),
53
+ clearTransferEntryRouteReplacement(),
54
+ ];
55
+ }
56
+ /**
57
+ * Emits `resetCreateTransferEntryStatus()` (and, on the replacement path, the
58
+ * follow-up cleanup actions) one scheduler tick after the success actions.
59
+ *
60
+ * Why the `timer(0)` (and not synchronous emission):
61
+ * On the replacement path the host (web-app-ui) watches
62
+ * `lastTransferEntryReplacement`, navigates to the new transaction url, and
63
+ * then sees `clearTransferEntryRouteReplacement` clear the signal. If we
64
+ * dispatched the cleanup actions in the same tick as
65
+ * `createTransferEntryReplacedTransaction`, redux subscribers would observe
66
+ * `lastTransferEntryReplacement` flicker on then off in a single render, and
67
+ * the old transaction's state (which the still-mounted detail view may be
68
+ * reading) would be torn down before the host has had a chance to start
69
+ * navigating. Deferring by one microtask gives the host exactly one render
70
+ * pass to react before we tear down the previous transaction.
71
+ */
72
+ function delayedResetAndPreviousCleanup(previousTransactionId) {
73
+ return timer(0).pipe(mergeMap(() => {
74
+ const actions = [resetCreateTransferEntryStatus()];
75
+ if (previousTransactionId != null) {
76
+ actions.push(...buildPreviousTransactionCleanupActions(previousTransactionId));
77
+ }
78
+ return from(actions);
79
+ }));
80
+ }
81
+ // ─── Success-path branches ───────────────────────────────────────────────────
82
+ function handleSuccessWithoutTransactionBody(transactionId) {
83
+ return concat(from(buildSuccessSideEffects(transactionId)), delayedResetAndPreviousCleanup(undefined));
84
+ }
85
+ function handleSuccessWithTransactionBody(transactionPayload, vendorPayload, previousTransactionId, sourceTransactionId) {
86
+ const newTransactionId = toTransactionID(transactionPayload);
87
+ const replaced = !transactionIdsAreEqual(previousTransactionId, newTransactionId);
88
+ const immediate = [
89
+ updateTransaction(getTransactionDetailKey(newTransactionId), transactionPayload),
90
+ initializeTransactionDetailLocalData({
91
+ transactionId: newTransactionId,
92
+ vendorId: vendorPayload?.[0]?.vendor_id,
93
+ }),
94
+ ...buildSuccessSideEffects(sourceTransactionId),
95
+ ];
96
+ if (replaced) {
97
+ immediate.push(createTransferEntryReplacedTransaction(previousTransactionId, newTransactionId));
98
+ }
99
+ return concat(from(immediate), delayedResetAndPreviousCleanup(replaced ? previousTransactionId : undefined));
100
+ }
101
+ // ─── Top-level epic ──────────────────────────────────────────────────────────
102
+ export const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(createTransferEntry.match), mergeMap((action) => {
103
+ const { transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType, } = action.payload;
104
+ const previousTransactionId = {
105
+ id: transactionId,
106
+ type: sourceTransactionType,
107
+ };
108
+ const payload = {
109
+ transaction_type: transactionType,
110
+ transaction_id: transactionId,
111
+ to_account_integration_id: creditAccountIntegrationId,
112
+ from_account_integration_id: debitAccountIntegrationId,
113
+ memo: memo ?? '',
114
+ };
115
+ return zeniAPI
116
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`, payload)
117
+ .pipe(mergeMap((response) => {
118
+ if (isSuccessResponse(response) && response.data != null) {
119
+ const transaction = response.data?.transaction;
120
+ if (transaction != null) {
121
+ if (!isWellFormedTransactionPayload(transaction)) {
122
+ return from(buildFailureActions());
123
+ }
124
+ return handleSuccessWithTransactionBody(transaction, response.data?.vendors, previousTransactionId, transactionId);
125
+ }
126
+ return handleSuccessWithoutTransactionBody(transactionId);
127
+ }
128
+ return from(buildFailureActions());
129
+ }), catchError(() => from(buildFailureActions())));
130
+ }));
@@ -0,0 +1,36 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, groupBy, mergeMap, switchMap } from 'rxjs/operators';
3
+ import { updateAccounts } from '../../../entity/account/accountReducer';
4
+ import { isSuccessResponse } from '../../../responsePayload';
5
+ import { fetchAccountsForTransferFlow, updateAccountsForTransferFlow, updateAccountsForTransferFlowFailure, } from '../createTransferEntryReducer';
6
+ const REPORT_ID_BY_TYPE = {
7
+ transferEntryEligible: 'transfer_accounts',
8
+ creditCardOnlyEligible: 'credit_card_transfer_accounts',
9
+ };
10
+ const QUERY_BY_TYPE = {
11
+ transferEntryEligible: { is_only_include_transfer_accounts: true },
12
+ creditCardOnlyEligible: { is_include_only_credit_card_accounts: true },
13
+ };
14
+ /**
15
+ * Pools fetched concurrently: `groupBy(kind)` keeps `transferEntryEligible`
16
+ * and `creditCardOnlyEligible` in their own streams so a back-to-back dispatch
17
+ * of both does not cancel the first. Within a single type, a fresh dispatch
18
+ * supersedes any in-flight request (per-group `switchMap`).
19
+ */
20
+ export const fetchTransferAccountsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchAccountsForTransferFlow.match), groupBy((action) => action.payload.kind), mergeMap((group$) => group$.pipe(switchMap((action) => {
21
+ const { kind } = action.payload;
22
+ const queryValue = QUERY_BY_TYPE[kind];
23
+ const reportId = REPORT_ID_BY_TYPE[kind];
24
+ const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/accounts?query=${encodeURIComponent(JSON.stringify(queryValue))}`;
25
+ return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
26
+ if (isSuccessResponse(response) && response.data != null) {
27
+ const accountIds = response.data.accounts.map((account) => account.account_id);
28
+ const actions = [
29
+ updateAccounts(response.data.accounts, reportId),
30
+ updateAccountsForTransferFlow({ accountIds, kind }),
31
+ ];
32
+ return of(...actions);
33
+ }
34
+ return of(updateAccountsForTransferFlowFailure({ kind }));
35
+ }), catchError(() => of(updateAccountsForTransferFlowFailure({ kind }))));
36
+ }))));