@zeniai/client-epic-state 5.1.92-beta0NB → 5.1.92-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 (61) hide show
  1. package/lib/entity/accountRecon/accountReconReducer.js +0 -4
  2. package/lib/entity/accountRecon/accountReconState.d.ts +1 -4
  3. package/lib/entity/accountRecon/accountReconState.js +0 -1
  4. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  5. package/lib/entity/snackbar/snackbarTypes.js +0 -1
  6. package/lib/epic.d.ts +2 -4
  7. package/lib/epic.js +2 -4
  8. package/lib/esm/entity/accountRecon/accountReconReducer.js +0 -4
  9. package/lib/esm/entity/accountRecon/accountReconState.js +0 -1
  10. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -1
  11. package/lib/esm/epic.js +2 -4
  12. package/lib/esm/index.js +5 -5
  13. package/lib/esm/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +18 -15
  14. package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +10 -10
  15. package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +4 -12
  16. package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +2 -8
  17. package/lib/esm/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.js +5 -20
  18. package/lib/esm/view/expenseAutomationView/payload/reconciliationPayload.js +0 -135
  19. package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +16 -119
  20. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +7 -28
  21. package/lib/esm/view/expenseAutomationView/selectors/statementParseViewSelector.js +10 -43
  22. package/lib/esm/view/expenseAutomationView/types/reconciliationViewState.js +1 -15
  23. package/lib/esm/view/recommendation/recommendationReducer.js +17 -1
  24. package/lib/esm/view/recommendation/submitRecommendationFeedbackEpic.js +52 -0
  25. package/lib/index.d.ts +6 -6
  26. package/lib/index.js +47 -50
  27. package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.d.ts +1 -21
  28. package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +18 -15
  29. package/lib/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +10 -10
  30. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.d.ts +1 -1
  31. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +4 -12
  32. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +1 -7
  33. package/lib/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.d.ts +0 -1
  34. package/lib/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.js +4 -20
  35. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  36. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +4 -109
  37. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +0 -143
  38. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +4 -32
  39. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +18 -121
  40. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +1 -5
  41. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +1 -3
  42. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +7 -29
  43. package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.d.ts +2 -3
  44. package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.js +10 -44
  45. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -74
  46. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +1 -19
  47. package/lib/view/recommendation/recommendationPayload.d.ts +34 -0
  48. package/lib/view/recommendation/recommendationReducer.d.ts +2 -1
  49. package/lib/view/recommendation/recommendationReducer.js +18 -2
  50. package/lib/view/recommendation/submitRecommendationFeedbackEpic.d.ts +7 -0
  51. package/lib/view/recommendation/submitRecommendationFeedbackEpic.js +56 -0
  52. package/package.json +1 -1
  53. package/lib/esm/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +0 -43
  54. package/lib/esm/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.js +0 -31
  55. package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +0 -68
  56. package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.d.ts +0 -34
  57. package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +0 -47
  58. package/lib/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.d.ts +0 -26
  59. package/lib/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.js +0 -35
  60. package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.d.ts +0 -27
  61. package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +0 -72
package/lib/esm/epic.js CHANGED
@@ -159,18 +159,15 @@ import { updateCardProfileEpic, } from './view/creditAgentView/epics/updateCardP
159
159
  import { fetchDashboardEpic, } from './view/dashboard/dashboardEpic';
160
160
  import { fetchDashboardLayoutEpic, } from './view/dashboardLayout/fetchDashboardLayoutEpic';
161
161
  import { updateDashboardLayoutEpic, } from './view/dashboardLayout/updateDashboardLayoutEpic';
162
- import { confirmStatementMappingEpic, } from './view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic';
163
162
  import { deleteAccountStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic';
164
163
  import { excludeAccountFromReconciliationEpic, } from './view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic';
165
164
  import { fetchReconciliationViewEpic as fetchExpenseAutomationReconciliationsViewEpic, } from './view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic';
166
165
  import { includeAccountInReconciliationEpic, } from './view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic';
167
166
  import { initialiseDataForSelectedAccountIdEpic as initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, } from './view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic';
168
- import { parseCombinedStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic';
169
167
  import { parseStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/parseStatementEpic';
170
168
  import { reparseStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/reparseStatementEpic';
171
169
  import { saveReconciliationDetailsEpic as saveExpenseAutomationReconciliationDetailsEpic, } from './view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic';
172
170
  import { saveReconciliationReviewEpic as saveExpenseAutomationReconciliationReviewEpic, } from './view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic';
173
- import { updateCombinedStatementInfoEpic, } from './view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic';
174
171
  import { updateReconcileTabLocalDataEpic as updateExpenseAutomationReconciliationBalanceLocalDataEpic, } from './view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic';
175
172
  import { updateStatementInfoEpic, } from './view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic';
176
173
  import { uploadAccountStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic';
@@ -376,6 +373,7 @@ import { fetchEntityRecommendationsByTransactionIdEpic, } from './view/recommend
376
373
  import { fetchEntityRecommendationsForLineUpdateEpic, } from './view/recommendation/fetchEntityRecommendationsForLineUpdateEpic';
377
374
  import { fetchRecommendationByEntityIdEpic, } from './view/recommendation/fetchRecommendationByEntityIdEpic';
378
375
  import { fetchRecommendationByEntityNameEpic, } from './view/recommendation/fetchRecommendationByEntityNameEpic';
376
+ import { submitRecommendationFeedbackEpic, } from './view/recommendation/submitRecommendationFeedbackEpic';
379
377
  import { fetchReferralsEpic, } from './view/referralView/epics/fetchReferralsEpic';
380
378
  import { fetchRewardsPlanEpic, } from './view/referralView/epics/fetchRewardsPlanEpic';
381
379
  import { resendReferralInviteEpic, } from './view/referralView/epics/resendReferralInviteEpic';
@@ -709,7 +707,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
709
707
  import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
710
708
  import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
711
709
  // Note: Please maintain strict alphabetical order
712
- const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, confirmStatementMappingEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, 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, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, 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, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingDunningEmailPreviewEpic, fetchInvoicingDunningEmailPreviewPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingQboAccountsEpic, fetchInvoicingQboClassesEpic, fetchInvoicingQboConnectionEpic, fetchInvoicingQboSyncHealthEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeForTimeframeProjectViewEpic, fetchNetBurnOrIncomeProjectViewEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExForTimeframeProjectViewEpic, fetchOpExProjectViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueForTimeframeProjectViewEpic, fetchRevenueProjectViewEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, 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, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, initiateReportsProjectViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseCombinedStatementEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryInvoicingQboSyncTaskEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, startInvoicingQboBackfillEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCombinedStatementInfoEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyProductServicesEpic, updateCompanyQboRealmIdEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
710
+ const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, 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, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, 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, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingDunningEmailPreviewEpic, fetchInvoicingDunningEmailPreviewPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingQboAccountsEpic, fetchInvoicingQboClassesEpic, fetchInvoicingQboConnectionEpic, fetchInvoicingQboSyncHealthEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeForTimeframeProjectViewEpic, fetchNetBurnOrIncomeProjectViewEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExForTimeframeProjectViewEpic, fetchOpExProjectViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueForTimeframeProjectViewEpic, fetchRevenueProjectViewEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, 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, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, initiateReportsProjectViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryInvoicingQboSyncTaskEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, startInvoicingQboBackfillEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, submitRecommendationFeedbackEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyProductServicesEpic, updateCompanyQboRealmIdEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
713
711
  const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
714
712
  console.error(error);
715
713
  return source;
package/lib/esm/index.js CHANGED
@@ -177,10 +177,10 @@ import { MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLine
177
177
  import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview, } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
178
178
  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';
179
179
  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';
180
- import { clearStatementDateConflict, confirmStatementMapping, deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, parseCombinedStatement, parseStatement, parseStatementFailure, parseStatementSuccess, reparseStatement, reparseStatementFailure, reparseStatementSuccess, resetReparseStatementStatus, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, setStatementProcessingDismissedToBackground, submitCombinedStatementUpdate, submitStatementUpdate, 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, updateParsedStatementData, updateStatementProcessingBackgroundCompletedSteps, updateStatementProcessingFailed, updateStatementUpdateLocalData, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
180
+ import { clearStatementDateConflict, deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, parseStatement, parseStatementFailure, parseStatementSuccess, reparseStatement, reparseStatementFailure, reparseStatementSuccess, resetReparseStatementStatus, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, setStatementProcessingDismissedToBackground, submitStatementUpdate, 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, updateParsedStatementData, updateStatementProcessingBackgroundCompletedSteps, updateStatementProcessingFailed, updateStatementUpdateLocalData, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
181
181
  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';
182
182
  import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
183
- import { getExpenseAutomationReconciliationView, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
183
+ import { getExpenseAutomationReconciliationView, getReparseStatementStatusByAccountId, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
184
184
  import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement, } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
185
185
  import { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, } from './view/expenseAutomationView/transactionFilterHelpers';
186
186
  import { DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab, } from './view/expenseAutomationView/types/completedSubTab';
@@ -253,7 +253,7 @@ import { clearProfitAndLossProjectView, fetchProfitAndLossForTimeframeProjectVie
253
253
  import { getProfitAndLossProjectView } from './view/profitAndLossProjectView/profitAndLossProjectViewSelector';
254
254
  import { fetchProjectList } from './view/projectList/projectListReducer';
255
255
  import { getProjectList, } from './view/projectList/projectListSelector';
256
- import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, } from './view/recommendation/recommendationReducer';
256
+ import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, submitRecommendationFeedback, } from './view/recommendation/recommendationReducer';
257
257
  import { DEFAULT_REFERRER_AMOUNT, clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState, } from './view/referralView/referralReducer';
258
258
  import { getInviteFormView, getReferralListView, getRewardsPlanCard, } from './view/referralView/referralSelector';
259
259
  import { AmountStatusTypes, StatusTypes, toReferralListViewSortKeyType, } from './view/referralView/referralState';
@@ -475,7 +475,7 @@ export {
475
475
  // Bulk Upload Types
476
476
  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,
477
477
  // Bulk Upload Actions
478
- 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, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, updateStatementProcessingFailed, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, parseCombinedStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, updateStatementUploadChosen, submitCombinedStatementUpdate, submitStatementUpdate, clearStatementDateConflict, confirmStatementMapping, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, };
478
+ 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, getReparseStatementStatusByAccountId, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, updateStatementProcessingFailed, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, updateStatementUploadChosen, submitStatementUpdate, clearStatementDateConflict, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, };
479
479
  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, };
480
480
  export { TOP_EX_TIME_PERIODS };
481
481
  export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsoluteDay, toMonthYearPeriodId, convertToPeriod, };
@@ -617,7 +617,7 @@ export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showB
617
617
  export { canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
618
618
  export { getInternationalSubConfigCodeKey, BILL_NEW_PAYMENT_METHODS, NEW_INTERNATIONAL_METHOD_SUBTEXT, SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT, LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT, };
619
619
  export { getVendorList, updateSortUiState, updatePageToken, updateYTDSelectionUIState, isColumnYTDSpend, isVendorsTabVisible, toVendorReportIDType, getVendorFiling1099List, fetchVendorsFiling1099Download, };
620
- export { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, };
620
+ export { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, submitRecommendationFeedback, };
621
621
  export { fetchOwnerList };
622
622
  export { getZeniAccountsConfigDetail, getZeniAccountList, fetchZeniAccountList, fetchAccountList, createCheckingAccount, fetchPaymentAccountList, unlinkPaymentAccount, getDepositAccountDetail, getAllDepositAccounts, getDepositAccountDetailForPDF, fetchDepositAccount, fetchZeniAccountsConfig, updateTransferMoneyLocalData, updateTransferToLocalData, updateDepositToLocalData, transferMoney, getTransferDetail, clearTransferDetail, clearReviewTransferDetail, fetchReviewTransferDetail, fetchDepositAccountDetail, depositCheck, updateCheckDepositLocalData, clearCheckDeposit, getCheckDepositDetail, updateDepositAccount, fetchDepositAccountHistorySuccess, fetchDepositAccountHistoryFailure, fetchZeniAccStatementPage, getZeniAccStatements, };
623
623
  export { fetchDepositAccountTransactionList, getDepositAccountTransactionList, };
@@ -5,23 +5,26 @@ import { transformParseStatementPayloadToState, } from '../../payload/reconcilia
5
5
  import { parseStatement, parseStatementFailure, parseStatementSuccess, updateParsedStatementData, } from '../../reducers/reconciliationViewReducer';
6
6
  export const parseStatementEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(parseStatement.match), switchMap((action) => {
7
7
  const { accountId, selectedPeriod, statementUploadId } = action.payload;
8
- const parseUrl = `${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/2.0/statement-uploads/${statementUploadId}`;
9
- return zeniAPI.getJSON(parseUrl).pipe(mergeMap((response) => {
8
+ const parseStatementApi$ = zeniAPI.getJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/2.0/statement-uploads/${statementUploadId}`);
9
+ return parseStatementApi$.pipe(mergeMap((response) => {
10
10
  if (isSuccessResponse(response) === true && response.data != null) {
11
- return from([
12
- updateParsedStatementData({
13
- accountId,
14
- selectedPeriod,
15
- parsedStatementData: transformParseStatementPayloadToState(response.data),
16
- }),
17
- parseStatementSuccess({ accountId, selectedPeriod }),
18
- ]);
11
+ const actions = [];
12
+ const transformedData = transformParseStatementPayloadToState(response.data);
13
+ actions.push(updateParsedStatementData({
14
+ accountId,
15
+ selectedPeriod,
16
+ parsedStatementData: transformedData,
17
+ }));
18
+ actions.push(parseStatementSuccess({ accountId, selectedPeriod }));
19
+ return from(actions);
20
+ }
21
+ else {
22
+ return of(parseStatementFailure({
23
+ accountId,
24
+ selectedPeriod,
25
+ error: response.status,
26
+ }));
19
27
  }
20
- return of(parseStatementFailure({
21
- accountId,
22
- selectedPeriod,
23
- error: response.status,
24
- }));
25
28
  }), catchError((error) => of(parseStatementFailure({
26
29
  accountId,
27
30
  selectedPeriod,
@@ -7,11 +7,12 @@ import { isStatementDateConflictResponse, transformStatementDateConflictToState,
7
7
  import { submitStatementUpdate, submitStatementUpdateFailure, submitStatementUpdateSuccess, updateParsedStatementData, } from '../../reducers/reconciliationViewReducer';
8
8
  export const updateStatementInfoEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(submitStatementUpdate.match), switchMap((action) => {
9
9
  const { accountId, selectedPeriod, statementUploadId } = action.payload;
10
- const accountRecon = state$.value.expenseAutomationReconciliationViewState
11
- .accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
10
+ const state = state$.value;
11
+ const reconciliationView = state.expenseAutomationReconciliationViewState;
12
+ const accountRecon = reconciliationView.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
13
+ const localData = accountRecon?.localData?.statementUpdateLocalData;
12
14
  const parsedStatementData = accountRecon?.parsedStatementData;
13
- const localData = accountRecon?.localData?.statementUpdateLocalDataByUploadId?.[statementUploadId];
14
- if (parsedStatementData == null || localData == null) {
15
+ if (localData == null || parsedStatementData == null) {
15
16
  return of(submitStatementUpdateFailure({
16
17
  accountId,
17
18
  selectedPeriod,
@@ -19,7 +20,7 @@ export const updateStatementInfoEpic = (actions$, state$, zeniAPI) => actions$.p
19
20
  }));
20
21
  }
21
22
  const hasInvalidUpdates = localData.statementTransactions.updated.some((txn) => txn.statementTransactionId == null);
22
- if (hasInvalidUpdates === true) {
23
+ if (hasInvalidUpdates) {
23
24
  return of(submitStatementUpdateFailure({
24
25
  accountId,
25
26
  selectedPeriod,
@@ -27,15 +28,14 @@ export const updateStatementInfoEpic = (actions$, state$, zeniAPI) => actions$.p
27
28
  }));
28
29
  }
29
30
  const body = mapStatementUpdateLocalDataToRequestBody(localData, parsedStatementData);
30
- const updateUrl = `${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/2.0/statement-uploads/${statementUploadId}`;
31
- return zeniAPI
32
- .putAndGetJSON(updateUrl, body)
33
- .pipe(mergeMap((response) => {
31
+ const updateStatementApi$ = zeniAPI.putAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/2.0/statement-uploads/${statementUploadId}`, body);
32
+ return updateStatementApi$.pipe(mergeMap((response) => {
34
33
  if (isSuccessResponse(response) === true && response.data != null) {
34
+ const parsedStatementData = transformUpdateStatementInfoPayloadToState(response.data);
35
35
  return of(updateParsedStatementData({
36
36
  accountId,
37
37
  selectedPeriod,
38
- parsedStatementData: transformUpdateStatementInfoPayloadToState(response.data),
38
+ parsedStatementData,
39
39
  }), submitStatementUpdateSuccess({
40
40
  accountId,
41
41
  selectedPeriod,
@@ -1,22 +1,14 @@
1
1
  import fetch from 'cross-fetch';
2
2
  import { zeniAPI } from '../../../../init';
3
- function toStatementDocumentType(accountType, isCombinedStatement) {
4
- if (isCombinedStatement === true) {
5
- return accountType === 'credit_card'
6
- ? 'reconciliation_combined_card_statement_upload'
7
- : 'reconciliation_combined_bank_statement_upload';
8
- }
9
- return accountType === 'credit_card'
10
- ? 'reconciliation_card_statement_upload'
11
- : 'reconciliation_bank_statement_upload';
12
- }
13
- export default async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams, isCombinedStatement = false) {
3
+ export default async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams) {
14
4
  let statementUpload;
15
5
  const urlEndPoint = `${zeniAPI.apiEndPoints.documentAIMicroServiceBaseUrl}/1.0/processors/statement`;
16
6
  const data = new FormData();
17
7
  data.append('attachment_file_0', fileBlob);
18
8
  const attachment_json = JSON.stringify({
19
- document_type: toStatementDocumentType(accountType, isCombinedStatement),
9
+ document_type: accountType === 'credit_card'
10
+ ? 'reconciliation_card_statement_upload'
11
+ : 'reconciliation_bank_statement_upload',
20
12
  purpose_id: 'reconciliation',
21
13
  });
22
14
  data.append('attachment_json_0', attachment_json);
@@ -1,6 +1,6 @@
1
1
  import { from, of } from 'rxjs';
2
2
  import { catchError, filter, mergeMap } from 'rxjs/operators';
3
- import { convertToPeriod, toMonthYearPeriodId, } from '../../../../commonStateTypes/timePeriod';
3
+ import { convertToPeriod } from '../../../../commonStateTypes/timePeriod';
4
4
  import { getAccountBase } from '../../../../entity/account/accountSelector';
5
5
  import { updateAccountReconUploadStatement } from '../../../../entity/accountRecon/accountReconReducer';
6
6
  import { toAccountReconKey } from '../../../../entity/accountRecon/accountReconState';
@@ -8,7 +8,7 @@ import { updateFiles } from '../../../../entity/file/fileReducer';
8
8
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
9
9
  import { uploadAccountStatement, uploadAccountStatementFailure, uploadAccountStatementSuccess, } from '../../reducers/reconciliationViewReducer';
10
10
  export const uploadAccountStatementEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(uploadAccountStatement.match), mergeMap((action) => {
11
- const { accountId, selectedPeriod, payload, statementAccountScope } = action.payload;
11
+ const { accountId, selectedPeriod, payload } = action.payload;
12
12
  const { start, end } = convertToPeriod(selectedPeriod, true);
13
13
  const accountBase = getAccountBase(state$.value.accountState, accountId, 'account_reconciliation');
14
14
  if (accountBase == null) {
@@ -19,11 +19,6 @@ export const uploadAccountStatementEpic = (actions$, state$, zeniAPI) => actions
19
19
  }));
20
20
  }
21
21
  const statementType = accountBase.accountType == 'credit_card' ? 'card' : 'bank';
22
- const localStatementAccountScope = state$.value.expenseAutomationReconciliationViewState
23
- .accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId]?.localData
24
- ?.statementAccountScope;
25
- const resolvedStatementAccountScope = statementAccountScope ?? localStatementAccountScope ?? 'single_account';
26
- const isCombinedStatement = resolvedStatementAccountScope === 'multi_account';
27
22
  const requestPayload = {
28
23
  account_id: accountId,
29
24
  statement_start_date: start.toString(),
@@ -31,7 +26,6 @@ export const uploadAccountStatementEpic = (actions$, state$, zeniAPI) => actions
31
26
  processor_run_id: payload.processor_run_id,
32
27
  file_id: payload.files[0].file_id,
33
28
  statement_type: statementType,
34
- is_combined_statement: isCombinedStatement,
35
29
  };
36
30
  const uploadAccountStatementApi$ = zeniAPI.postAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/statements`, requestPayload);
37
31
  return uploadAccountStatementApi$.pipe(mergeMap((response) => {
@@ -1,7 +1,7 @@
1
- import { toBulkStatementUpdateRequestBody, toStatementUpdateRequestBody, } from '../payload/reconciliationPayload';
2
- import { getEffectiveStatementPeriod, getStatementUploadsFromParsedData, mergeStatementParseDeletedTransactionIds, } from '../selectors/statementParseViewSelector';
3
- const prepareStatementUpdateLocalData = (localData, statementUpload) => {
4
- const { statementMeta, statementTransactions } = statementUpload;
1
+ import { toStatementUpdateRequestBody } from '../payload/reconciliationPayload';
2
+ import { getEffectiveStatementPeriod, mergeStatementParseDeletedTransactionIds, } from '../selectors/statementParseViewSelector';
3
+ const prepareStatementUpdateLocalData = (localData, parsedStatementData) => {
4
+ const { statementMeta, statementTransactions } = parsedStatementData.statementUpload;
5
5
  const statementPeriod = getEffectiveStatementPeriod(statementMeta, localData.statementMeta);
6
6
  const localDeletedIds = localData.statementTransactions?.deletedIds ?? [];
7
7
  const currentTransactionIds = new Set(statementTransactions
@@ -27,19 +27,4 @@ const prepareStatementUpdateLocalData = (localData, statementUpload) => {
27
27
  },
28
28
  };
29
29
  };
30
- export const mapStatementUpdateLocalDataToRequestBody = (localData, parsedStatementData) => toStatementUpdateRequestBody(prepareStatementUpdateLocalData(localData, parsedStatementData.statementUpload));
31
- export const mapCombinedStatementUpdateLocalDataToRequestBody = (localDataByUploadId, parsedStatementData) => {
32
- const statementUploads = getStatementUploadsFromParsedData(parsedStatementData);
33
- const updates = statementUploads.map((statementUpload) => {
34
- const statementUploadId = statementUpload.statementMeta.statementUploadId;
35
- const localData = localDataByUploadId[statementUploadId];
36
- if (localData == null) {
37
- throw new Error(`Missing statement update local data for upload ${statementUploadId}`);
38
- }
39
- return {
40
- statementUploadId,
41
- localData: prepareStatementUpdateLocalData(localData, statementUpload),
42
- };
43
- });
44
- return toBulkStatementUpdateRequestBody(updates);
45
- };
30
+ export const mapStatementUpdateLocalDataToRequestBody = (localData, parsedStatementData) => toStatementUpdateRequestBody(prepareStatementUpdateLocalData(localData, parsedStatementData));
@@ -1,7 +1,6 @@
1
1
  import { convertToPeriod, } from '../../../commonStateTypes/timePeriod';
2
2
  import { toTransactionsToReviewPayload, } from '../../../entity/accountRecon/accountReconPayload';
3
3
  import { toMatchedTransactionPayload, } from '../../../entity/transaction/payloadTypes/reconciliationTransactionPayloads';
4
- import { toStatementBalanceSourceStrict, } from '../types/reconciliationViewState';
5
4
  export function createSaveReconciliationPayloadBasedOnActionAndMethod(state, selectedPeriod, localData, accountReconciliationEntity, action, method) {
6
5
  const { balance, initialClearedBalance } = accountReconciliationEntity;
7
6
  const { expenseAutomationReconciliationViewState: { selectedAccountId, reconTabsState: { reconcile: { localData: { selectedTransactionIds }, }, }, }, } = state;
@@ -68,60 +67,10 @@ function createReviewTransactionPayload(accountReconciliationEntity) {
68
67
  });
69
68
  return reviewTransactionsPayload;
70
69
  }
71
- export function isParseStatementCombinedResponsePayload(payload) {
72
- return ('statement_uploads' in payload &&
73
- Array.isArray(payload.statement_uploads) &&
74
- payload.statement_uploads.length > 0 &&
75
- // Batch group GET nests each upload under statement_upload — exclude that shape.
76
- 'statement_upload' in (payload.statement_uploads[0] ?? {}) === false);
77
- }
78
- export function isUpdateStatementInfoCombinedResponsePayload(payload) {
79
- return ('statement_uploads' in payload &&
80
- Array.isArray(payload.statement_uploads) &&
81
- payload.statement_uploads.length > 0);
82
- }
83
70
  export function isStatementDateConflictResponse(response) {
84
71
  return response.status.code === 409 && response.error_code != null;
85
72
  }
86
- function transformConfirmedCombinedStatementUploadsToState(statementUploads) {
87
- return (statementUploads ?? []).map((statementUpload) => ({
88
- accountId: statementUpload.account_id,
89
- isCombinedStatementAnchor: statementUpload.is_combined_statement_anchor,
90
- ledgerIdentifiers: statementUpload.ledger_identifiers ?? [],
91
- statementUploadId: statementUpload.statement_upload_id,
92
- }));
93
- }
94
- function transformCombinedStatementDetailsToState(details) {
95
- if (details == null) {
96
- return undefined;
97
- }
98
- return {
99
- combinedStatementGroupId: details.combined_statement_group_id,
100
- isMappingConfirmed: details.is_mapping_confirmed,
101
- accounts: (details.accounts ?? []).map((account) => ({
102
- ledgerIdentifier: account.ledger_identifier,
103
- accountName: account.account_name,
104
- accountType: account.account_type,
105
- maskedAccountNumber: account.masked_account_number,
106
- openingBalance: account.opening_balance,
107
- closingBalance: account.closing_balance,
108
- transactionCount: account.transaction_count,
109
- isUploadContext: account.is_upload_context,
110
- existingStatementStatus: account.existing_statement_status ?? null,
111
- suggestion: account.suggestion != null
112
- ? {
113
- accountId: account.suggestion.account_id,
114
- accountName: account.suggestion.account_name,
115
- matchedBy: account.suggestion.matched_by,
116
- matchConfidence: account.suggestion.match_confidence,
117
- }
118
- : null,
119
- })),
120
- statementUploads: transformConfirmedCombinedStatementUploadsToState(details.statement_uploads),
121
- };
122
- }
123
73
  function transformStatementUploadPayloadToState(statementUploadPayload) {
124
- const balanceSource = toStatementBalanceSourceStrict(statementUploadPayload.statement_meta.balance_source);
125
74
  return {
126
75
  account: {
127
76
  accountId: statementUploadPayload.account.account_id,
@@ -147,13 +96,6 @@ function transformStatementUploadPayloadToState(statementUploadPayload) {
147
96
  statementUploadId: statementUploadPayload.statement_meta.statement_upload_id,
148
97
  totalDeposits: statementUploadPayload.statement_meta.total_deposits,
149
98
  totalPayments: statementUploadPayload.statement_meta.total_payments,
150
- isCombinedStatement: statementUploadPayload.statement_meta.is_combined_statement ??
151
- undefined,
152
- isCombinedStatementAnchor: statementUploadPayload.statement_meta.is_combined_statement_anchor ??
153
- undefined,
154
- combinedStatementGroupId: statementUploadPayload.statement_meta.combined_statement_group_id ??
155
- undefined,
156
- ...(balanceSource != null ? { balanceSource } : {}),
157
99
  },
158
100
  statementTransactions: (statementUploadPayload.statement_transactions ?? []).map((txn) => ({
159
101
  amount: txn.amount,
@@ -175,7 +117,6 @@ function transformStatementUploadPayloadToState(statementUploadPayload) {
175
117
  transactionMemo: txn.transaction_memo,
176
118
  })),
177
119
  aiSummary: transformAiSummaryPayloadToState(statementUploadPayload.ai_summary),
178
- combinedStatementDetails: transformCombinedStatementDetailsToState(statementUploadPayload.combined_statement_details),
179
120
  };
180
121
  }
181
122
  function transformPreviousReconciliationInfoToState(payload) {
@@ -236,71 +177,11 @@ export function transformStatementDateConflictToState(response) {
236
177
  };
237
178
  }
238
179
  export function transformParseStatementPayloadToState(payload) {
239
- if (isParseStatementCombinedResponsePayload(payload) === true) {
240
- const statementUploads = payload.statement_uploads.map(transformStatementUploadPayloadToState);
241
- const anchorUpload = statementUploads.find((upload) => upload.statementMeta.isCombinedStatementAnchor === true) ?? statementUploads[0];
242
- return {
243
- statementUpload: anchorUpload,
244
- statementUploads,
245
- };
246
- }
247
180
  return {
248
181
  statementUpload: transformStatementUploadPayloadToState(payload.statement_upload),
249
182
  };
250
183
  }
251
- export function transformCombinedStatementGroupPayloadToState(payload) {
252
- const groupId = payload.combined_statement_group_id;
253
- const statementUploads = (payload.statement_uploads ?? []).map((entry) => {
254
- const upload = transformStatementUploadPayloadToState(entry.statement_upload);
255
- if ((upload.statementMeta.combinedStatementGroupId == null ||
256
- upload.statementMeta.combinedStatementGroupId === '') &&
257
- groupId !== '') {
258
- return {
259
- ...upload,
260
- statementMeta: {
261
- ...upload.statementMeta,
262
- combinedStatementGroupId: groupId,
263
- },
264
- };
265
- }
266
- return upload;
267
- });
268
- if (statementUploads.length === 0) {
269
- throw new Error('Combined statement response has no statement uploads');
270
- }
271
- const anchorUpload = statementUploads.find((upload) => upload.statementMeta.isCombinedStatementAnchor === true) ?? statementUploads[0];
272
- return {
273
- statementUpload: anchorUpload,
274
- statementUploads,
275
- };
276
- }
277
- export function isConfirmStatementMappingConflictResponse(response) {
278
- return response.status.code === 409;
279
- }
280
- export function transformConfirmStatementMappingPayloadToState(payload) {
281
- return transformConfirmedCombinedStatementUploadsToState(payload.statement_uploads);
282
- }
283
- export function transformConfirmStatementMappingConflictToState(response) {
284
- if (isConfirmStatementMappingConflictResponse(response) === false) {
285
- return null;
286
- }
287
- return {
288
- collidingAccountId: response.colliding_account_id != null
289
- ? response.colliding_account_id
290
- : undefined,
291
- collidingLedgerIdentifiers: response.colliding_ledger_identifiers ?? [],
292
- previousReconciliationInfo: transformPreviousReconciliationInfoToState(response.previous_reconciliation_info),
293
- };
294
- }
295
184
  export function transformUpdateStatementInfoPayloadToState(payload) {
296
- if (isUpdateStatementInfoCombinedResponsePayload(payload) === true) {
297
- const statementUploads = payload.statement_uploads.map(transformStatementUploadPayloadToState);
298
- const anchorUpload = statementUploads.find((upload) => upload.statementMeta.isCombinedStatementAnchor === true) ?? statementUploads[0];
299
- return {
300
- statementUpload: anchorUpload,
301
- statementUploads,
302
- };
303
- }
304
185
  return {
305
186
  statementUpload: transformStatementUploadPayloadToState(payload.statement_upload),
306
187
  };
@@ -340,19 +221,3 @@ export function transformStatementUpdateStateToPayload(localData) {
340
221
  export function toStatementUpdateRequestBody(localData) {
341
222
  return transformStatementUpdateStateToPayload(localData);
342
223
  }
343
- export function transformBulkStatementUpdateStateToPayload(updates) {
344
- return {
345
- statement_uploads: updates.map(({ localData, statementUploadId }) => {
346
- const body = transformStatementUpdateStateToPayload(localData);
347
- return {
348
- statement_upload_id: statementUploadId,
349
- statement_meta: body.statement_meta,
350
- statement_transactions: body.statement_transactions,
351
- };
352
- }),
353
- };
354
- }
355
- /** Bulk PUT body for combined multi-account Confirm & Save. */
356
- export function toBulkStatementUpdateRequestBody(updates) {
357
- return transformBulkStatementUpdateStateToPayload(updates);
358
- }