@zeniai/client-epic-state 5.2.5 → 5.2.7-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 (40) hide show
  1. package/lib/epic.d.ts +2 -1
  2. package/lib/epic.js +4 -4
  3. package/lib/esm/epic.js +4 -4
  4. package/lib/esm/index.js +4 -3
  5. package/lib/esm/view/accountList/accountListReducer.js +1 -0
  6. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +8 -0
  7. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingAccountingPickersEpic.js +29 -0
  8. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +0 -23
  9. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +3 -40
  10. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +124 -6
  11. package/lib/esm/view/recommendation/recommendationReducer.js +16 -1
  12. package/lib/esm/view/recommendation/submitRecommendationFeedbackEpic.js +52 -0
  13. package/lib/index.d.ts +7 -4
  14. package/lib/index.js +29 -26
  15. package/lib/view/accountList/accountListReducer.js +1 -0
  16. package/lib/view/accountList/accountListState.d.ts +1 -1
  17. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +9 -0
  18. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +8 -0
  19. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingAccountingPickersEpic.d.ts +5 -0
  20. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingAccountingPickersEpic.js +33 -0
  21. package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.d.ts +4 -2
  22. package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.d.ts +0 -26
  23. package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +0 -24
  24. package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.d.ts +2 -10
  25. package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +4 -41
  26. package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.d.ts +43 -6
  27. package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +128 -7
  28. package/lib/view/invoicing/invoicingQboView/invoicingQboViewState.d.ts +1 -5
  29. package/lib/view/recommendation/recommendationPayload.d.ts +34 -0
  30. package/lib/view/recommendation/recommendationReducer.d.ts +2 -1
  31. package/lib/view/recommendation/recommendationReducer.js +17 -2
  32. package/lib/view/recommendation/submitRecommendationFeedbackEpic.d.ts +7 -0
  33. package/lib/view/recommendation/submitRecommendationFeedbackEpic.js +56 -0
  34. package/package.json +1 -1
  35. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +0 -25
  36. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +0 -15
  37. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.d.ts +0 -6
  38. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +0 -29
  39. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.d.ts +0 -6
  40. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +0 -19
package/lib/epic.d.ts CHANGED
@@ -337,6 +337,7 @@ import { ActionType as FetchEntityRecommendationsByTransactionIdActionType } fro
337
337
  import { ActionType as FetchEntityRecommendationsForLineUpdateActionType } from './view/recommendation/fetchEntityRecommendationsForLineUpdateEpic';
338
338
  import { ActionType as FetchRecommendationByEntityIdActionType } from './view/recommendation/fetchRecommendationByEntityIdEpic';
339
339
  import { ActionType as FetchRecommendationByEntityNameActionType } from './view/recommendation/fetchRecommendationByEntityNameEpic';
340
+ import { ActionType as SubmitRecommendationFeedbackActionType } from './view/recommendation/submitRecommendationFeedbackEpic';
340
341
  import { ActionType as FetchReferralsActionType } from './view/referralView/epics/fetchReferralsEpic';
341
342
  import { ActionType as FetchRewardsPlanActionType } from './view/referralView/epics/fetchRewardsPlanEpic';
342
343
  import { ActionType as ResendReferralInviteActionType } from './view/referralView/epics/resendReferralInviteEpic';
@@ -666,5 +667,5 @@ import { ActionType as FetchDepositAccStatementListActionType } from './view/zen
666
667
  import { ActionType as FetchZeniAccStatePageActionType } from './view/zeniAccStatementList/fetchZeniAccStatementPageEpic';
667
668
  import { ActionType as ApproveOAuthConsentActionType } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
668
669
  /** Root action type is union of all the epic action type */
669
- export type RootActionType = AcceptBillPayTermsActionType | AcceptBillPayUpdatedTermsActionType | AcceptChargeCardTermsActionType | AcceptEmployeeRemiTermsActionType | AcceptMasterTOSEpicActionType | AcceptRemiTermsActionType | AcceptTreasuryTermsActionType | AcceptZeniAccountTermsActionType | AcknowledgeOnboardingAiActivationViewedActionType | AcknowledgeOnboardingAiFinanceTeamActionType | AddCardPaymentSourceActionType | ApplyExtractedPolicyToDraftActionType | ApproveOAuthConsentActionType | ApproveOrRejectBillActionType | ApproveOrRejectBillsBulkActionActionType | ApproveOrRejectRemiActionType | ApproveOrRejectRemisBulkActionActionType | ApproveVendorGlobalReviewActionType | ArchiveCardPolicyActionType | ArchiveTaskActionType | BackgroundRefetchReviewTabActionType | BalanceSheetActionType | BalanceSheetClassesViewActionType | BalanceSheetForTimeframeActionType | BalanceSheetForTimeframeClassesViewActionType | BalanceSheetForTimeframeProjectViewActionType | BalanceSheetProjectViewActionType | BulkUpdateTasksListActionType | BulkUploadMatchResultToastActionType | BulkUploadReceiptsActionType | CancelAiAccountantOnboardingActionType | CancelAndDeleteBillActionType | CancelAndDeleteRemiActionType | CancelOrDeleteBillsBulkActionActionType | CancelOrDeleteRemisBulkActionActionType | CancelScheduleAccruedJournalEntryActionType | CardBalanceActionType | CashBalanceActionType | CashFlowActionType | CashFlowForTimeframeActionType | CashInCashOutActionType | CashPositionActionType | ChangeZeniPersonRolesActionType | CheckDepositActionType | CloseChargeCardActionType | CloseChargeCardsActionType | CombinedStatementActionType | CompanyManagementSavePendingUpdatesActionType | CompanyManagementSaveUpdatesActionType | ConfirmBulkUploadMatchActionType | ConfirmCardSetupIntentActionType | ConfirmStatementMappingActionType | CreateAddressActionType | CreateAutoTransferRuleActionType | CreateBankAccountActionType | CreateCardPolicyTemplateActionType | CreateCardSetupIntentActionType | CreateCheckingAccountActionType | CreateCompanyAddressActionType | CreateCompanyOfficersActionType | CreateCompanyUserAddressActionType | CreateGlobalMerchantActionType | CreateInternationalBankAccountActionType | CreateInvoiceActionType | CreateNewSchedulesAccruedActionType | CreateNewSchedulesActionType | CreateNewTaskGroupActionType | CreatePaymentInstrumentActionType | CreateSessionActionType | CreateSessionAndSubmitActionType | CreateSubTaskActionType | CreateTagActionType | CreateTaskFromTaskGroupTemplateActionType | CreateTransferEntryActionType | CreateUserBankAccountActionType | CurrencyConversionActionType | DeleteAccountStatementActionType | DeleteAutoTransferRuleActionType | DeleteBankAccountActionType | DeleteBillActionType | DeleteBillPayApprovalRuleActionType | DeleteCannedResponseActionType | DeleteChatSessionActionType | DeleteFileActionType | DeleteFileListActionType | DeleteInternationalBankAccountActionType | DeletePaymentInstrumentActionType | DeletePersonActionType | DeleteRemiActionType | DeleteRemiApprovalRuleActionType | DeleteScheduleAccruedDetailActionType | DeleteScheduleDetailActionType | DeleteTagActionType | DeleteTaskActionType | DeleteTaskGroupActionType | DeleteTransactionAttachmentActionType | DeleteUserBankAccountActionType | DepositAccountTransactionListActionType | DisableAccountingProjectsActionType | DismissCapitalizationOnboardingActionType | DoMagicLinkSignInActionType | DownloadAccountingProviderAttachmentActionType | DragNDropTasksActionType | EditInvoicingCatalogItemDetailViewActionType | EditInvoicingCouponDetailViewActionType | EditInvoicingCustomerDetailViewActionType | EditInvoicingSubscriptionDetailViewActionType | EnableAccountingProjectsActionType | EnableChargeCardAutoPayActionType | EnableSetupActionType | EstablishOnboardingPlaidConnectionActionType | EstablishPlaidConnectionActionType | ExcludeAccountFromReconciliationActionType | ExpressInterestChargeCardActionType | ExpressPayActionType | ExtractPolicyDocumentActionType | FetchAccountHistoryActionType | FetchAccountListActionType | FetchAccountListForAccountTypesActionType | FetchAccountSettingsListForAccountTypesActionType | FetchAccruedScheduleListActionType | FetchActiveTenantActionType | FetchAddressActionType | FetchAggregatedReportActionType | FetchAiAccountantCustomersActionType | FetchAiAccountantJobsActionType | FetchAiAgentsActivationStatusActionType | FetchAllCockpitViewsActionType | FetchAllExpenseAutomationTabsActionType | FetchAllPeopleRequiredActionType | FetchAllTagsActionType | FetchAllTaskGroupsActionType | FetchAllTenantsActionType | FetchApAgingActionType | FetchApAgingDetailActionType | FetchArAgingActionType | FetchArAgingDetailActionType | FetchAuditReportGroupViewActionType | FetchAuditRuleGroupViewActionType | FetchAutoTransferReviewDetailActionType | FetchAutoTransferRuleHistoryActionType | FetchAutoTransferRulesActionType | FetchBankAccountsListActionType | FetchBankConnectionsViewActionType | FetchBankCountryNameByIbanActionType | FetchBankNameByRoutingActionType | FetchBankNameBySwiftActionType | FetchBillAndInitializeLocalStoreActionType | FetchBillDetailActionType | FetchBillingAccountsListActionType | FetchBillListActionType | FetchBillListPerTabActionType | FetchBillPayApproversDetailsActionType | FetchBillPayApproversListActionType | FetchBillPayCardActionType | FetchBillPayConfigActionType | FetchBillPaySetupApproverViewActionType | FetchBillPaySetupViewActionType | FetchBulkUploadBatchDetailsActionType | FetchBulkUploadBatchesActionType | FetchCannedResponsesActionType | FetchCardPolicyDetailActionType | FetchCardPolicyListActionType | FetchCardPolicyMccCategoriesActionType | FetchCardPolicyVendorOptionsActionType | FetchCardProfilesActionType | FetchCashbackDetailActionType | FetchChargeCardConfigActionType | FetchChargeCardDetailActionType | FetchChargeCardDetailPageActionType | FetchChargeCardListActionType | FetchChargeCardListPageActionType | FetchChargeCardPaymentHistoryActionType | FetchChargeCardPaymentPageActionType | FetchChargeCardRepaymentDetailActionType | FetchChargeCardSetupViewActionType | FetchChargeCardsRecurringExpensesActionType | FetchChargeCardStatementListActionType | FetchChargeCardTransactionAttachmentsActionType | FetchChargeCardTransactionListActionType | FetchChargeCardTransactionStatisticsActionType | FetchChatHistoryActionType | FetchChatSessionsForUserActionType | FetchClassListActionType | FetchCockpitContextActionType | FetchCollaborationAuthTokenActionType | FetchCompanyBillingAddressActionType | FetchCompanyConfigActionType | FetchCompanyHealthMetricConfigViewEpicActionType | FetchCompanyHealthMetricViewEpicActionType | FetchCompanyManagementActionType | FetchCompanyMetaDataActionType | FetchCompanyMonthEndReportHistoricDataActionType | FetchCompanyMonthEndReportHistoricDatesActionType | FetchCompanyMonthEndReportTemplatesActionType | FetchCompanyMonthEndReportViewActionType | FetchCompanyOnboardingViewActionType | FetchCompanyPassportViewActionType | FetchCompanyPortfolioActionType | FetchCompanyTaskManagerViewActionType | FetchCompletedTransactionsActionType | FetchCreateInvoiceFormPageActionType | FetchCreditAccountActionType | FetchCreditAccountRepaymentActionType | FetchCreditAgentMacroActionType | FetchCurrencyConversionValueActionType | FetchDashboardActionType | FetchDashboardLayoutActionType | FetchDebitCardSummaryActionType | FetchDepositAccountActionType | FetchDepositAccountDetailActionType | FetchDepositAccountLimitActionType | FetchDepositAccountListActionType | FetchDepositAccountListForCardsActionType | FetchDepositAccStatementListActionType | FetchDownloadSchedulesActionType | FetchDuplicateBillActionType | FetchDuplicateReimbursementEpicActionType | FetchEditBillDetailPageActionType | FetchEditRemiDetailPageActionType | FetchEligibleActionsForBillActionType | FetchEntityAutoCompleteActionType | FetchEntityHistoryActionType | FetchEntityRecommendationsByTransactionIdActionType | FetchEntityRecommendationsForLineUpdateActionType | FetchExcludedResourcesActionType | FetchExpenseAutomationFluxAnalysisActionType | FetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataActionType | FetchExpenseAutomationJEScheduleActionType | FetchExpenseAutomationJESchedulePageActionType | FetchExpenseAutomationMarkTransactionAsNotMiscategorizedActionType | FetchExpenseAutomationMissingReceiptsActionType | FetchExpenseAutomationReconciliationsViewActionType | FetchExpenseAutomationSaveTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationViewActionType | FetchExpenseAutomationUpdateTransactionCategorizationEpicActionType | FetchExpenseTrendActionType | FetchExternalConnectionsActionType | FetchFileActionType | FetchFileListActionType | FetchForecastListActionType | FetchGlobalMerchantAutoCompleteActionType | FetchGlobalMerchantRecommendationActionType | FetchIncomeTrendActionType | FetchInternationalWireDynamicFormActionType | FetchIntlVerificationFormActionType | FetchInvoiceCountsActionType | FetchInvoiceDetailActionType | FetchInvoiceKPIsActionType | FetchInvoiceListActionType | FetchInvoiceListPageActionType | FetchIssueCardPageActionType | FetchMagicLinkBankNameByRoutingActionType | FetchMagicLinkBankNameBySwiftActionType | FetchMagicLinkBillActionType | FetchMagicLinkTenantActionType | FetchManagementActionType | FetchMerchantListActionType | FetchMonthClosePerformanceTrendActionType | FetchMonthEndCloseChecksActionType | FetchMoreBatchDetailsActionType | FetchMultipleBatchDetailsActionType | FetchMyProfileActionType | FetchMyProfileViewActionType | FetchNetBurnOrIncomeStoryCardActionType | FetchNetBurnOrIncomeWithForecastActionType | FetchNotificationSettingsActionType | FetchNotificationSettingsViewActionType | FetchNotificationUnreadCountActionType | FetchNotificationViewActionType | FetchOnboardingActionType | FetchOnboardingCompletedCompaniesActionType | FetchOnboardingCustomerSetupViewActionType | FetchOnboardingCustomerViewActionType | FetchOpExWithForecastActionType | FetchOwnerListActionType | FetchParentSubsidiaryManagementActionType | FetchPaymentAccountBalanceActionType | FetchPaymentAccountListActionType | FetchPaymentSourcesActionType | FetchPortfolioActionType | FetchPortfolioAllocationActionType | FetchPreviousBillsActionType | FetchProjectListActionType | FetchQBOConnectionPoolActionType | FetchRecommendationByEntityIdActionType | FetchRecommendationByEntityNameActionType | FetchRecommendationsAndUpdateMerchantRecommendationsActionType | FetchRecommendationsAndUpdateVendorRecommendationsActionType | FetchRecommendedBillExpenseActionType | FetchReferralsActionType | FetchRegisteredInterestsActionType | FetchReimbursementCardActionType | FetchReimbursementConfigActionType | FetchRemiAndInitializeLocalStoreActionType | FetchRemiApproversDetailsActionType | FetchRemiApproversListActionType | FetchRemiDetailActionType | FetchRemiListActionType | FetchRemiListPerTabActionType | FetchRemiSetupApproverViewActionType | FetchRemiSetupViewActionType | FetchRevenueWithForecastActionType | FetchReviewCompanyActionType | FetchReviewTransferDetailActionType | FetchRewardsPlanActionType | FetchScheduleAccruedDetailsActionType | FetchScheduleAccruedDetailsPageActionType | FetchScheduleDetailsActionType | FetchScheduleDetailsPageActionType | FetchScheduleListActionType | FetchSchedulesListActionType | FetchSkillsActionType | FetchSubscriptionActionType | FetchSubscriptionAddOnsActionType | FetchSubscriptionCouponsActionType | FetchSubscriptionCreateEstimateActionType | FetchSubscriptionDetailsActionType | FetchSubscriptionListActionType | FetchSubscriptionPlansActionType | FetchSubscriptionSummaryForTenantActionType | FetchSubscriptionUpdateEstimateActionType | FetchSubTasksActionType | FetchSuggestedQuestionsActionType | FetchTaskDetailActionType | FetchTaskDetailPageActionType | FetchTaskGroupTemplatesActionType | FetchTaskHistoryActionType | FetchTaskListActionType | FetchTaskListPageActionType | FetchTaskManagerMetricsActionType | FetchTasksCardActionType | FetchTransactionActivityLogActionType | FetchTransactionDetailActionType | FetchTransactionListByAccountActionType | FetchTransactionListByClassActionType | FetchTransactionListByEntityActionType | FetchTransactionListByProjectActionType | FetchTransactionsForEntityActionType | FetchTransactionsListByCategoryTypeActionType | FetchTransferAccountsActionType | FetchTreasuryDetailActionType | FetchTreasuryFundsActionType | FetchTreasuryHistoryActionType | FetchTreasurySetupViewActionType | FetchTreasuryStatementListActionType | FetchTreasuryTaxLetterListActionType | FetchTreasuryTransactionListActionType | FetchTrendForEntityActionType | FetchUserDetailActionType | FetchUserFinancialAccountActionType | FetchUserListByTypeActionType | FetchUserRoleConfigActionType | FetchVendor1099TypeListActionType | FetchVendorActionType | FetchVendorAndUpdateBillLocalDataActionType | FetchVendorByNameAndParseInvoiceActionType | FetchVendorDetailsActionType | FetchVendorFirstReviewAttachmentsActionType | FetchVendorFirstReviewViewActionType | FetchVendorGlobalReviewViewActionType | FetchVendorsActionType | FetchVendorsFiling1099ActionType | FetchVendorsFiling1099AllActionType | FetchVendorsFiling1099DownloadActionType | FetchVendorTabViewActionType | FetchVendorTypeListActionType | FetchZeniAccountListPageActionType | FetchZeniAccountsConfigActionType | FetchZeniAccountSetupViewActionType | FetchZeniAccStatePageActionType | FetchZeniUsersActionType | GetOnboardingEmailGroupActionType | GetOnboardingPlaidLinkTokenActionType | GetPaymentAccountsActionType | GetPlaidLinkTokenActionType | IgnoreExpenseAutomationJEScheduleActionType | ImproveUsingZeniGPTActionType | IncludeAccountInReconciliationActionType | InitialiseExpenseAutomationLocalDataForSelectedAccountIdActionType | InitializeAccountMappingViewActionType | InitializeAccountSettingsViewEpicActionType | InitializeBillPaySetupApproverViewUpdateDataActionType | InitializeBillToLocalStoreActionType | InitializeCardUserOnboardingLocalDataActionType | InitializeCompanyHealthMetricViewLocalDataEpicActionType | InitializeEditPersonActionType | InitializeExpenseAutomationJeScheduleLocalDataActionType | InitializeInternationalWireLocalDataActionType | InitializeIntlVerificationFormEpicActionType | InitializeMyProfileLocalDataActionType | InitializeOnboardingCustomerViewUpdateDataActionType | InitializeRemiSetupApproverViewUpdateDataActionType | InitializeRemiToLocalStoreActionType | InitializeScheduleAccruedDetailLocalDataActionType | InitializeScheduleDetailLocalDataActionType | InitializeSubscriptionLocalDataActionType | InitializeTaskToLocalStoreActionType | InitializeTransactionDetailLocalDataActionType | InitializeVendorAddressActionType | InitiateChargeCardRepaymentActionType | InitiateReportsClassViewRefetchingActionType | InitiateReportsProjectViewRefetchingActionType | InsightsCardActionType | InvitePeopleActionType | InviteZeniPeopleActionType | InvoicingAuditViewActionType | InvoicingCatalogActionActionType | InvoicingCatalogItemDetailViewActionType | InvoicingCatalogListViewActionType | InvoicingCatalogSubFamilyActionType | InvoicingConfigViewActionType | InvoicingCouponDetailViewActionType | InvoicingCouponViewActionType | InvoicingCreditNoteDetailViewActionType | InvoicingCreditNoteListViewActionType | InvoicingCustomerDetailPageActionType | InvoicingCustomerDetailViewActionType | InvoicingCustomerListViewActionType | InvoicingCustomerPaymentMethodActionType | InvoicingDataImportViewActionType | InvoicingDiscountActionActionType | InvoicingDunningActionActionType | InvoicingDunningCaseDetailViewActionType | InvoicingDunningCaseListViewActionType | InvoicingInvoiceActionActionType | InvoicingOverviewActionType | InvoicingPaymentActionActionType | InvoicingPromotionalCreditActionActionType | InvoicingQboViewActionType | InvoicingSettingsViewActionType | InvoicingSubscriptionActionActionType | InvoicingSubscriptionDetailViewActionType | InvoicingSubscriptionFormPageActionType | InvoicingSubscriptionListViewActionType | InvoicingTransactionDetailViewActionType | InvoicingTransactionListViewActionType | IssueChargeCardActionType | LockChargeCardActionType | LockChargeCardsActionType | MarkAsCompleteScheduleDetailActionType | MarkTransactionAsNotMiscategorizedActionType | NetBurnOrIncomeActionType | NetBurnOrIncomeClassesViewActionType | NetBurnOrIncomeForTimeframeActionType | NetBurnOrIncomeForTimeframeClassesViewActionType | NetBurnOrIncomeForTimeframeProjectViewActionType | NetBurnOrIncomeProjectViewActionType | NotifyMeForFeatureActionType | OpExActionType | OpExByVendorReportActionType | OpExByVendorReportForTimeframeActionType | OpExByVendorReportSummaryActionType | OpExClassesViewActionType | OpExForTimeframeClassesViewActionType | OpExForTimeframeProjectViewActionType | OpExForTimeframeViewActionType | OpExProjectViewActionType | ParallelFetchAccountTransactionListActionType | ParallelFetchClassTransactionListActionType | ParallelFetchEntityTransactionListActionType | ParallelFetchProjectTransactionListActionType | ParallelFetchTransactionListByCategoryTypeActionType | ParseCombinedStatementActionType | ParseInvoiceToBillActionType | ParseReceiptsToRemiActionType | ParseStatementActionType | ParseUploadedKybDocumentActionType | ParseUploadedKycDocumentActionType | PeopleActionType | PeoplePageActionType | PeopleSaveUpdatesActionType | PolicyDocumentExtractionToRecommendationBridgeActionType | PolicyRecommendationFromUploadActionType | ProfitAndLossActionType | ProfitAndLossClassesViewActionType | ProfitAndLossForTimeframeActionType | ProfitAndLossForTimeframeClassesViewActionType | ProfitAndLossForTimeframeProjectViewActionType | ProfitAndLossProjectViewActionType | PushToastNotificationActionType | RecommendationForAccountSettingsActionType | RecommendationForAccountTypeActionType | RecordPaymentActionType | RefetchCompletedTransactionsOnBulkUploadSortActionType | RefreshBatchDetailsForBatchIdActionType | RefreshExpenseAutomationCurrentTabActionType | RefreshIntegrationsDataActionType | RefreshOpExByVendorReportActionType | RejectVendorGlobalReviewActionType | ReorderBillPayApprovalRulesActionType | ReorderRemiApprovalRulesActionType | ReparseStatementActionType | ReportsResyncActionType | ResendCardInviteActionType | ResendInviteActionType | ResendOtpActionType | ResendReferralInviteActionType | ResendVerifyDeviceOTPActionType | ResetTransactionVendorLocalDataActionType | ResetVendorDetailLocalDataActionType | RestoreAutomatchingActionType | ResumeEnableAccountingProjectsActionType | RetryBankAccountConnectionActionType | RetryBankAccountConnectionForOnboardingActionType | RetryExpenseAutomationJEScheduleActionType | RetryOrRefundBillActionType | RevenueActionType | RevenueClassesViewActionType | RevenueForTimeframeClassesViewActionType | RevenueForTimeframeProjectViewActionType | RevenueForTimeframeViewActionType | RevenueProjectViewActionType | ReviewDraftRemisBulkActionActionTye | ReviewExpenseAutomationFluxAnalysisActionType | RevokeCardInviteActionType | RevokeChargeCardsInviteActionType | SaveAccountMappingViewActionType | SaveAccountSettingsViewEpicActionType | SaveAddressActionType | SaveBillDetailActionType | SaveBillPaySetupApproverViewUpdatesActionType | SaveCannedResponseActionType | saveCardOnboardingUserDetailsActionType | SaveCompanyBillingAddressActionType | SaveCompanyHealthMetricByIdEpicActionType | SaveCompanyMonthEndReportActionType | SaveCompanyPassportDetailsActionType | SaveCreditAgentMacroActionType | SaveExpenseAutomationReconciliationDetailActionType | SaveExternalConnectionActionType | SaveMagicLinkBankAccountActionType | SaveNotificationPreferencesActionType | SaveNotificationSettingsEpicActionType | SaveOnboardingCustomerCompletedStatusActionType | SaveOnboardingCustomerNotesActionType | SaveOnboardingCustomerViewUpdatesActionType | SaveRealTimeApprovalActionType | SaveReasonForAuditRuleActionType | SaveReconciliationReviewActionType | SaveRemiDetailActionType | SaveRemiSetupApproverViewUpdatesActionType | SaveScheduleAccruedDetailsActionType | SaveScheduleDetailsActionType | SaveSubscriptionNotesUpdatesActionType | SaveSubscriptionUpdatesActionType | SaveTaskDetailActionType | SaveTranactionVendorActionType | SaveTransactionDetailActionType | SaveVendorActionType | SaveVendorDetailsViewActionType | SaveVendorFirstReviewViewActionType | ScheduleTenantCreditScoreCronActionType | SearchTransactionsForManualMatchActionType | SeedAiCardCreationFormDraftActionType | SeedAiCardPolicyFormDraftActionType | SendCompanyMonthEndReportActionType | SendEmailMagicLinkToUserActionType | SendOnboardingCustomerViewInviteActionType | SendOtpActionType | SendReferralInviteActionType | SessionHeartbeatActionType | SignInActionType | SignOutActionType | SnoozeTaskActionType | StatementCloseDayActionType | StopSubmitActionType | StopSubmitQuestionActionType | SubmitDraftBillsBulkActionActionType | SubmitDraftRemisBulkActionActionType | SubmitExpressPayActionType | SubmitFeedbackActionType | SubmitIntlVerificationActionType | SubmitQuestionActionType | SyncInvoicingSubscriptionCouponsActionType | SyncTabsAfterAutomatchActionType | ToggleReportUIOptionForecastModeActionType | TopExActionType | TransferMoneyActionType | TreasuryTransferMoneyActionType | TriggerAiAccountantJobActionType | TriggerReviewTabRefetchActionType | UnlinkPaymentAccountActionType | UnlockChargeCardActionType | UnlockChargeCardsActionType | UnsnoozeTaskActionType | UpdateAccountingClassesEnabledActionType | UpdateAccruedJESchedulesActionType | UpdateAddressActionType | UpdateAmountsInScheduleAccruedDetailActionType | UpdateAmountsInScheduleDetailActionType | UpdateAutoTransferRuleActionType | UpdateBusinessVerificationDetailsActionType | UpdateCapitalizationAccountThresholdActionType | UpdateCardPolicyActionType | UpdateCardProfileActionType | UpdateChargeCardDetailActionType | UpdateChargeCardLimitActionType | UpdateChargeCardNameActionType | UpdateChargeCardsLimitActionType | UpdateCombinedStatementInfoActionType | UpdateCompanyDetailsActionType | UpdateCompanyOfficerActionType | UpdateCompanyPassportLocalStoreDataActionType | UpdateCompanyProductServicesActionType | UpdateCompanyQboRealmIdActionType | UpdateCompanyTaskManagerViewFiltersActionType | UpdateDashboardLayoutActionType | UpdateDebitCardPinAttemptActionType | UpdateDepositAccountActionType | UpdateDynamicFormActionType | UpdateExpenseAutomationReconciliationBalanceLocalDataActionType | UpdateFileNameActionType | UpdateFilesMetadataActionType | UpdateJESchedulesActionType | UpdateMappedCashAccountActionType | UpdateMileageDetailsActionType | UpdateMyProfileActionType | UpdateNetBurnOrIncomeStoryCardSettingsActionType | UpdateNotificationViewAllNotificationsStatusActionType | UpdateNotificationViewNotificationStatusActionType | UpdateOnboardingCustomerViewActionType | UpdateOnboardingCustomerViewCompleteStatusActionType | UpdateOnboardingCustomerViewDashboardLoadedActionType | UpdateOnboardingCustomerViewLocalStoreDataActionType | UpdateOnboardingPaymentAccountLoginStatusActionType | UpdateOnboardingPaymentAccountStatusActionType | UpdatePaymentAccountActionType | UpdatePaymentAccountLoginStatusActionType | UpdatePaymentAccountStatusActionType | UpdatePhysicalChargeCardAttemptActionType | UpdatePortfolioAllocationActionType | UpdatePrimaryContactActionType | UpdatePrimaryFundingAccountActionType | UpdateQBOConnectionPoolExternalConnectionActionType | UpdateReferViewedActionType | UpdateRemiSetupViewLocalStoreDataActionType | UpdateReportUIOptionCOABalancesRangeActionType | UpdateReportUIOptionIsCompareModeActionType | UpdateReportUIOptionIsCompareModeOnActionType | UpdateReportUIOptionThisPeriodActionType | UpdateReportUIOptionTimeFrameActionType | UpdateSectionAccountsViewActionType | UpdateSectionClassesViewV2ActionType | UpdateSectionProjectViewActionType | UpdateSelectedVendorForCreateFlowActionType | UpdateSetupViewLocalStoreDataActionType | UpdateStatementInfoActionType | UpdateTaskFromListViewActionType | UpdateTaskGroupNameActionType | UpdateTransactionDetailActionType | UpdateTransactionOnUploadSuccessActionType | UpdateVendorContactActionType | UploadAccountStatementActionType | UploadMissingReceiptSuccessEpicActionType | UploadTransactionReceiptSuccessEpicActionType | ValidateBillsBulkActionActionType | VendorFiling1099UploadDetailsSaveActionType | VendorsTabFetchVendorActionType | VendorsTabFetchVendorDetailPageViewActionType | VendorsTabFetchVendorDetailsActionType | VendorsTabResetVendorDetailLocalDataActionType | VendorsTabSaveVendorActionType | VerifyDeviceWithTwoFAActionType | VerifyOtpActionType | VerifyUserActionType | WatchBulkUploadBatchStatusActionType | WiseRedirectActionType;
670
+ export type RootActionType = AcceptBillPayTermsActionType | AcceptBillPayUpdatedTermsActionType | AcceptChargeCardTermsActionType | AcceptEmployeeRemiTermsActionType | AcceptMasterTOSEpicActionType | AcceptRemiTermsActionType | AcceptTreasuryTermsActionType | AcceptZeniAccountTermsActionType | AcknowledgeOnboardingAiActivationViewedActionType | AcknowledgeOnboardingAiFinanceTeamActionType | AddCardPaymentSourceActionType | ApplyExtractedPolicyToDraftActionType | ApproveOAuthConsentActionType | ApproveOrRejectBillActionType | ApproveOrRejectBillsBulkActionActionType | ApproveOrRejectRemiActionType | ApproveOrRejectRemisBulkActionActionType | ApproveVendorGlobalReviewActionType | ArchiveCardPolicyActionType | ArchiveTaskActionType | BackgroundRefetchReviewTabActionType | BalanceSheetActionType | BalanceSheetClassesViewActionType | BalanceSheetForTimeframeActionType | BalanceSheetForTimeframeClassesViewActionType | BalanceSheetForTimeframeProjectViewActionType | BalanceSheetProjectViewActionType | BulkUpdateTasksListActionType | BulkUploadMatchResultToastActionType | BulkUploadReceiptsActionType | CancelAiAccountantOnboardingActionType | CancelAndDeleteBillActionType | CancelAndDeleteRemiActionType | CancelOrDeleteBillsBulkActionActionType | CancelOrDeleteRemisBulkActionActionType | CancelScheduleAccruedJournalEntryActionType | CardBalanceActionType | CashBalanceActionType | CashFlowActionType | CashFlowForTimeframeActionType | CashInCashOutActionType | CashPositionActionType | ChangeZeniPersonRolesActionType | CheckDepositActionType | CloseChargeCardActionType | CloseChargeCardsActionType | CombinedStatementActionType | CompanyManagementSavePendingUpdatesActionType | CompanyManagementSaveUpdatesActionType | ConfirmBulkUploadMatchActionType | ConfirmCardSetupIntentActionType | ConfirmStatementMappingActionType | CreateAddressActionType | CreateAutoTransferRuleActionType | CreateBankAccountActionType | CreateCardPolicyTemplateActionType | CreateCardSetupIntentActionType | CreateCheckingAccountActionType | CreateCompanyAddressActionType | CreateCompanyOfficersActionType | CreateCompanyUserAddressActionType | CreateGlobalMerchantActionType | CreateInternationalBankAccountActionType | CreateInvoiceActionType | CreateNewSchedulesAccruedActionType | CreateNewSchedulesActionType | CreateNewTaskGroupActionType | CreatePaymentInstrumentActionType | CreateSessionActionType | CreateSessionAndSubmitActionType | CreateSubTaskActionType | CreateTagActionType | CreateTaskFromTaskGroupTemplateActionType | CreateTransferEntryActionType | CreateUserBankAccountActionType | CurrencyConversionActionType | DeleteAccountStatementActionType | DeleteAutoTransferRuleActionType | DeleteBankAccountActionType | DeleteBillActionType | DeleteBillPayApprovalRuleActionType | DeleteCannedResponseActionType | DeleteChatSessionActionType | DeleteFileActionType | DeleteFileListActionType | DeleteInternationalBankAccountActionType | DeletePaymentInstrumentActionType | DeletePersonActionType | DeleteRemiActionType | DeleteRemiApprovalRuleActionType | DeleteScheduleAccruedDetailActionType | DeleteScheduleDetailActionType | DeleteTagActionType | DeleteTaskActionType | DeleteTaskGroupActionType | DeleteTransactionAttachmentActionType | DeleteUserBankAccountActionType | DepositAccountTransactionListActionType | DisableAccountingProjectsActionType | DismissCapitalizationOnboardingActionType | DoMagicLinkSignInActionType | DownloadAccountingProviderAttachmentActionType | DragNDropTasksActionType | EditInvoicingCatalogItemDetailViewActionType | EditInvoicingCouponDetailViewActionType | EditInvoicingCustomerDetailViewActionType | EditInvoicingSubscriptionDetailViewActionType | EnableAccountingProjectsActionType | EnableChargeCardAutoPayActionType | EnableSetupActionType | EstablishOnboardingPlaidConnectionActionType | EstablishPlaidConnectionActionType | ExcludeAccountFromReconciliationActionType | ExpressInterestChargeCardActionType | ExpressPayActionType | ExtractPolicyDocumentActionType | FetchAccountHistoryActionType | FetchAccountListActionType | FetchAccountListForAccountTypesActionType | FetchAccountSettingsListForAccountTypesActionType | FetchAccruedScheduleListActionType | FetchActiveTenantActionType | FetchAddressActionType | FetchAggregatedReportActionType | FetchAiAccountantCustomersActionType | FetchAiAccountantJobsActionType | FetchAiAgentsActivationStatusActionType | FetchAllCockpitViewsActionType | FetchAllExpenseAutomationTabsActionType | FetchAllPeopleRequiredActionType | FetchAllTagsActionType | FetchAllTaskGroupsActionType | FetchAllTenantsActionType | FetchApAgingActionType | FetchApAgingDetailActionType | FetchArAgingActionType | FetchArAgingDetailActionType | FetchAuditReportGroupViewActionType | FetchAuditRuleGroupViewActionType | FetchAutoTransferReviewDetailActionType | FetchAutoTransferRuleHistoryActionType | FetchAutoTransferRulesActionType | FetchBankAccountsListActionType | FetchBankConnectionsViewActionType | FetchBankCountryNameByIbanActionType | FetchBankNameByRoutingActionType | FetchBankNameBySwiftActionType | FetchBillAndInitializeLocalStoreActionType | FetchBillDetailActionType | FetchBillingAccountsListActionType | FetchBillListActionType | FetchBillListPerTabActionType | FetchBillPayApproversDetailsActionType | FetchBillPayApproversListActionType | FetchBillPayCardActionType | FetchBillPayConfigActionType | FetchBillPaySetupApproverViewActionType | FetchBillPaySetupViewActionType | FetchBulkUploadBatchDetailsActionType | FetchBulkUploadBatchesActionType | FetchCannedResponsesActionType | FetchCardPolicyDetailActionType | FetchCardPolicyListActionType | FetchCardPolicyMccCategoriesActionType | FetchCardPolicyVendorOptionsActionType | FetchCardProfilesActionType | FetchCashbackDetailActionType | FetchChargeCardConfigActionType | FetchChargeCardDetailActionType | FetchChargeCardDetailPageActionType | FetchChargeCardListActionType | FetchChargeCardListPageActionType | FetchChargeCardPaymentHistoryActionType | FetchChargeCardPaymentPageActionType | FetchChargeCardRepaymentDetailActionType | FetchChargeCardSetupViewActionType | FetchChargeCardsRecurringExpensesActionType | FetchChargeCardStatementListActionType | FetchChargeCardTransactionAttachmentsActionType | FetchChargeCardTransactionListActionType | FetchChargeCardTransactionStatisticsActionType | FetchChatHistoryActionType | FetchChatSessionsForUserActionType | FetchClassListActionType | FetchCockpitContextActionType | FetchCollaborationAuthTokenActionType | FetchCompanyBillingAddressActionType | FetchCompanyConfigActionType | FetchCompanyHealthMetricConfigViewEpicActionType | FetchCompanyHealthMetricViewEpicActionType | FetchCompanyManagementActionType | FetchCompanyMetaDataActionType | FetchCompanyMonthEndReportHistoricDataActionType | FetchCompanyMonthEndReportHistoricDatesActionType | FetchCompanyMonthEndReportTemplatesActionType | FetchCompanyMonthEndReportViewActionType | FetchCompanyOnboardingViewActionType | FetchCompanyPassportViewActionType | FetchCompanyPortfolioActionType | FetchCompanyTaskManagerViewActionType | FetchCompletedTransactionsActionType | FetchCreateInvoiceFormPageActionType | FetchCreditAccountActionType | FetchCreditAccountRepaymentActionType | FetchCreditAgentMacroActionType | FetchCurrencyConversionValueActionType | FetchDashboardActionType | FetchDashboardLayoutActionType | FetchDebitCardSummaryActionType | FetchDepositAccountActionType | FetchDepositAccountDetailActionType | FetchDepositAccountLimitActionType | FetchDepositAccountListActionType | FetchDepositAccountListForCardsActionType | FetchDepositAccStatementListActionType | FetchDownloadSchedulesActionType | FetchDuplicateBillActionType | FetchDuplicateReimbursementEpicActionType | FetchEditBillDetailPageActionType | FetchEditRemiDetailPageActionType | FetchEligibleActionsForBillActionType | FetchEntityAutoCompleteActionType | FetchEntityHistoryActionType | FetchEntityRecommendationsByTransactionIdActionType | FetchEntityRecommendationsForLineUpdateActionType | FetchExcludedResourcesActionType | FetchExpenseAutomationFluxAnalysisActionType | FetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataActionType | FetchExpenseAutomationJEScheduleActionType | FetchExpenseAutomationJESchedulePageActionType | FetchExpenseAutomationMarkTransactionAsNotMiscategorizedActionType | FetchExpenseAutomationMissingReceiptsActionType | FetchExpenseAutomationReconciliationsViewActionType | FetchExpenseAutomationSaveTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationViewActionType | FetchExpenseAutomationUpdateTransactionCategorizationEpicActionType | FetchExpenseTrendActionType | FetchExternalConnectionsActionType | FetchFileActionType | FetchFileListActionType | FetchForecastListActionType | FetchGlobalMerchantAutoCompleteActionType | FetchGlobalMerchantRecommendationActionType | FetchIncomeTrendActionType | FetchInternationalWireDynamicFormActionType | FetchIntlVerificationFormActionType | FetchInvoiceCountsActionType | FetchInvoiceDetailActionType | FetchInvoiceKPIsActionType | FetchInvoiceListActionType | FetchInvoiceListPageActionType | FetchIssueCardPageActionType | FetchMagicLinkBankNameByRoutingActionType | FetchMagicLinkBankNameBySwiftActionType | FetchMagicLinkBillActionType | FetchMagicLinkTenantActionType | FetchManagementActionType | FetchMerchantListActionType | FetchMonthClosePerformanceTrendActionType | FetchMonthEndCloseChecksActionType | FetchMoreBatchDetailsActionType | FetchMultipleBatchDetailsActionType | FetchMyProfileActionType | FetchMyProfileViewActionType | FetchNetBurnOrIncomeStoryCardActionType | FetchNetBurnOrIncomeWithForecastActionType | FetchNotificationSettingsActionType | FetchNotificationSettingsViewActionType | FetchNotificationUnreadCountActionType | FetchNotificationViewActionType | FetchOnboardingActionType | FetchOnboardingCompletedCompaniesActionType | FetchOnboardingCustomerSetupViewActionType | FetchOnboardingCustomerViewActionType | FetchOpExWithForecastActionType | FetchOwnerListActionType | FetchParentSubsidiaryManagementActionType | FetchPaymentAccountBalanceActionType | FetchPaymentAccountListActionType | FetchPaymentSourcesActionType | FetchPortfolioActionType | FetchPortfolioAllocationActionType | FetchPreviousBillsActionType | FetchProjectListActionType | FetchQBOConnectionPoolActionType | FetchRecommendationByEntityIdActionType | FetchRecommendationByEntityNameActionType | FetchRecommendationsAndUpdateMerchantRecommendationsActionType | FetchRecommendationsAndUpdateVendorRecommendationsActionType | FetchRecommendedBillExpenseActionType | FetchReferralsActionType | FetchRegisteredInterestsActionType | FetchReimbursementCardActionType | FetchReimbursementConfigActionType | FetchRemiAndInitializeLocalStoreActionType | FetchRemiApproversDetailsActionType | FetchRemiApproversListActionType | FetchRemiDetailActionType | FetchRemiListActionType | FetchRemiListPerTabActionType | FetchRemiSetupApproverViewActionType | FetchRemiSetupViewActionType | FetchRevenueWithForecastActionType | FetchReviewCompanyActionType | FetchReviewTransferDetailActionType | FetchRewardsPlanActionType | FetchScheduleAccruedDetailsActionType | FetchScheduleAccruedDetailsPageActionType | FetchScheduleDetailsActionType | FetchScheduleDetailsPageActionType | FetchScheduleListActionType | FetchSchedulesListActionType | FetchSkillsActionType | FetchSubscriptionActionType | FetchSubscriptionAddOnsActionType | FetchSubscriptionCouponsActionType | FetchSubscriptionCreateEstimateActionType | FetchSubscriptionDetailsActionType | FetchSubscriptionListActionType | FetchSubscriptionPlansActionType | FetchSubscriptionSummaryForTenantActionType | FetchSubscriptionUpdateEstimateActionType | FetchSubTasksActionType | FetchSuggestedQuestionsActionType | FetchTaskDetailActionType | FetchTaskDetailPageActionType | FetchTaskGroupTemplatesActionType | FetchTaskHistoryActionType | FetchTaskListActionType | FetchTaskListPageActionType | FetchTaskManagerMetricsActionType | FetchTasksCardActionType | FetchTransactionActivityLogActionType | FetchTransactionDetailActionType | FetchTransactionListByAccountActionType | FetchTransactionListByClassActionType | FetchTransactionListByEntityActionType | FetchTransactionListByProjectActionType | FetchTransactionsForEntityActionType | FetchTransactionsListByCategoryTypeActionType | FetchTransferAccountsActionType | FetchTreasuryDetailActionType | FetchTreasuryFundsActionType | FetchTreasuryHistoryActionType | FetchTreasurySetupViewActionType | FetchTreasuryStatementListActionType | FetchTreasuryTaxLetterListActionType | FetchTreasuryTransactionListActionType | FetchTrendForEntityActionType | FetchUserDetailActionType | FetchUserFinancialAccountActionType | FetchUserListByTypeActionType | FetchUserRoleConfigActionType | FetchVendor1099TypeListActionType | FetchVendorActionType | FetchVendorAndUpdateBillLocalDataActionType | FetchVendorByNameAndParseInvoiceActionType | FetchVendorDetailsActionType | FetchVendorFirstReviewAttachmentsActionType | FetchVendorFirstReviewViewActionType | FetchVendorGlobalReviewViewActionType | FetchVendorsActionType | FetchVendorsFiling1099ActionType | FetchVendorsFiling1099AllActionType | FetchVendorsFiling1099DownloadActionType | FetchVendorTabViewActionType | FetchVendorTypeListActionType | FetchZeniAccountListPageActionType | FetchZeniAccountsConfigActionType | FetchZeniAccountSetupViewActionType | FetchZeniAccStatePageActionType | FetchZeniUsersActionType | GetOnboardingEmailGroupActionType | GetOnboardingPlaidLinkTokenActionType | GetPaymentAccountsActionType | GetPlaidLinkTokenActionType | IgnoreExpenseAutomationJEScheduleActionType | ImproveUsingZeniGPTActionType | IncludeAccountInReconciliationActionType | InitialiseExpenseAutomationLocalDataForSelectedAccountIdActionType | InitializeAccountMappingViewActionType | InitializeAccountSettingsViewEpicActionType | InitializeBillPaySetupApproverViewUpdateDataActionType | InitializeBillToLocalStoreActionType | InitializeCardUserOnboardingLocalDataActionType | InitializeCompanyHealthMetricViewLocalDataEpicActionType | InitializeEditPersonActionType | InitializeExpenseAutomationJeScheduleLocalDataActionType | InitializeInternationalWireLocalDataActionType | InitializeIntlVerificationFormEpicActionType | InitializeMyProfileLocalDataActionType | InitializeOnboardingCustomerViewUpdateDataActionType | InitializeRemiSetupApproverViewUpdateDataActionType | InitializeRemiToLocalStoreActionType | InitializeScheduleAccruedDetailLocalDataActionType | InitializeScheduleDetailLocalDataActionType | InitializeSubscriptionLocalDataActionType | InitializeTaskToLocalStoreActionType | InitializeTransactionDetailLocalDataActionType | InitializeVendorAddressActionType | InitiateChargeCardRepaymentActionType | InitiateReportsClassViewRefetchingActionType | InitiateReportsProjectViewRefetchingActionType | InsightsCardActionType | InvitePeopleActionType | InviteZeniPeopleActionType | InvoicingAuditViewActionType | InvoicingCatalogActionActionType | InvoicingCatalogItemDetailViewActionType | InvoicingCatalogListViewActionType | InvoicingCatalogSubFamilyActionType | InvoicingConfigViewActionType | InvoicingCouponDetailViewActionType | InvoicingCouponViewActionType | InvoicingCreditNoteDetailViewActionType | InvoicingCreditNoteListViewActionType | InvoicingCustomerDetailPageActionType | InvoicingCustomerDetailViewActionType | InvoicingCustomerListViewActionType | InvoicingCustomerPaymentMethodActionType | InvoicingDataImportViewActionType | InvoicingDiscountActionActionType | InvoicingDunningActionActionType | InvoicingDunningCaseDetailViewActionType | InvoicingDunningCaseListViewActionType | InvoicingInvoiceActionActionType | InvoicingOverviewActionType | InvoicingPaymentActionActionType | InvoicingPromotionalCreditActionActionType | InvoicingQboViewActionType | InvoicingSettingsViewActionType | InvoicingSubscriptionActionActionType | InvoicingSubscriptionDetailViewActionType | InvoicingSubscriptionFormPageActionType | InvoicingSubscriptionListViewActionType | InvoicingTransactionDetailViewActionType | InvoicingTransactionListViewActionType | IssueChargeCardActionType | LockChargeCardActionType | LockChargeCardsActionType | MarkAsCompleteScheduleDetailActionType | MarkTransactionAsNotMiscategorizedActionType | NetBurnOrIncomeActionType | NetBurnOrIncomeClassesViewActionType | NetBurnOrIncomeForTimeframeActionType | NetBurnOrIncomeForTimeframeClassesViewActionType | NetBurnOrIncomeForTimeframeProjectViewActionType | NetBurnOrIncomeProjectViewActionType | NotifyMeForFeatureActionType | OpExActionType | OpExByVendorReportActionType | OpExByVendorReportForTimeframeActionType | OpExByVendorReportSummaryActionType | OpExClassesViewActionType | OpExForTimeframeClassesViewActionType | OpExForTimeframeProjectViewActionType | OpExForTimeframeViewActionType | OpExProjectViewActionType | ParallelFetchAccountTransactionListActionType | ParallelFetchClassTransactionListActionType | ParallelFetchEntityTransactionListActionType | ParallelFetchProjectTransactionListActionType | ParallelFetchTransactionListByCategoryTypeActionType | ParseCombinedStatementActionType | ParseInvoiceToBillActionType | ParseReceiptsToRemiActionType | ParseStatementActionType | ParseUploadedKybDocumentActionType | ParseUploadedKycDocumentActionType | PeopleActionType | PeoplePageActionType | PeopleSaveUpdatesActionType | PolicyDocumentExtractionToRecommendationBridgeActionType | PolicyRecommendationFromUploadActionType | ProfitAndLossActionType | ProfitAndLossClassesViewActionType | ProfitAndLossForTimeframeActionType | ProfitAndLossForTimeframeClassesViewActionType | ProfitAndLossForTimeframeProjectViewActionType | ProfitAndLossProjectViewActionType | PushToastNotificationActionType | RecommendationForAccountSettingsActionType | RecommendationForAccountTypeActionType | RecordPaymentActionType | RefetchCompletedTransactionsOnBulkUploadSortActionType | RefreshBatchDetailsForBatchIdActionType | RefreshExpenseAutomationCurrentTabActionType | RefreshIntegrationsDataActionType | RefreshOpExByVendorReportActionType | RejectVendorGlobalReviewActionType | ReorderBillPayApprovalRulesActionType | ReorderRemiApprovalRulesActionType | ReparseStatementActionType | ReportsResyncActionType | ResendCardInviteActionType | ResendInviteActionType | ResendOtpActionType | ResendReferralInviteActionType | ResendVerifyDeviceOTPActionType | ResetTransactionVendorLocalDataActionType | ResetVendorDetailLocalDataActionType | RestoreAutomatchingActionType | ResumeEnableAccountingProjectsActionType | RetryBankAccountConnectionActionType | RetryBankAccountConnectionForOnboardingActionType | RetryExpenseAutomationJEScheduleActionType | RetryOrRefundBillActionType | RevenueActionType | RevenueClassesViewActionType | RevenueForTimeframeClassesViewActionType | RevenueForTimeframeProjectViewActionType | RevenueForTimeframeViewActionType | RevenueProjectViewActionType | ReviewDraftRemisBulkActionActionTye | ReviewExpenseAutomationFluxAnalysisActionType | RevokeCardInviteActionType | RevokeChargeCardsInviteActionType | SaveAccountMappingViewActionType | SaveAccountSettingsViewEpicActionType | SaveAddressActionType | SaveBillDetailActionType | SaveBillPaySetupApproverViewUpdatesActionType | SaveCannedResponseActionType | saveCardOnboardingUserDetailsActionType | SaveCompanyBillingAddressActionType | SaveCompanyHealthMetricByIdEpicActionType | SaveCompanyMonthEndReportActionType | SaveCompanyPassportDetailsActionType | SaveCreditAgentMacroActionType | SaveExpenseAutomationReconciliationDetailActionType | SaveExternalConnectionActionType | SaveMagicLinkBankAccountActionType | SaveNotificationPreferencesActionType | SaveNotificationSettingsEpicActionType | SaveOnboardingCustomerCompletedStatusActionType | SaveOnboardingCustomerNotesActionType | SaveOnboardingCustomerViewUpdatesActionType | SaveRealTimeApprovalActionType | SaveReasonForAuditRuleActionType | SaveReconciliationReviewActionType | SaveRemiDetailActionType | SaveRemiSetupApproverViewUpdatesActionType | SaveScheduleAccruedDetailsActionType | SaveScheduleDetailsActionType | SaveSubscriptionNotesUpdatesActionType | SaveSubscriptionUpdatesActionType | SaveTaskDetailActionType | SaveTranactionVendorActionType | SaveTransactionDetailActionType | SaveVendorActionType | SaveVendorDetailsViewActionType | SaveVendorFirstReviewViewActionType | ScheduleTenantCreditScoreCronActionType | SearchTransactionsForManualMatchActionType | SeedAiCardCreationFormDraftActionType | SeedAiCardPolicyFormDraftActionType | SendCompanyMonthEndReportActionType | SendEmailMagicLinkToUserActionType | SendOnboardingCustomerViewInviteActionType | SendOtpActionType | SendReferralInviteActionType | SessionHeartbeatActionType | SignInActionType | SignOutActionType | SnoozeTaskActionType | StatementCloseDayActionType | StopSubmitActionType | StopSubmitQuestionActionType | SubmitDraftBillsBulkActionActionType | SubmitDraftRemisBulkActionActionType | SubmitExpressPayActionType | SubmitFeedbackActionType | SubmitIntlVerificationActionType | SubmitQuestionActionType | SubmitRecommendationFeedbackActionType | SyncInvoicingSubscriptionCouponsActionType | SyncTabsAfterAutomatchActionType | ToggleReportUIOptionForecastModeActionType | TopExActionType | TransferMoneyActionType | TreasuryTransferMoneyActionType | TriggerAiAccountantJobActionType | TriggerReviewTabRefetchActionType | UnlinkPaymentAccountActionType | UnlockChargeCardActionType | UnlockChargeCardsActionType | UnsnoozeTaskActionType | UpdateAccountingClassesEnabledActionType | UpdateAccruedJESchedulesActionType | UpdateAddressActionType | UpdateAmountsInScheduleAccruedDetailActionType | UpdateAmountsInScheduleDetailActionType | UpdateAutoTransferRuleActionType | UpdateBusinessVerificationDetailsActionType | UpdateCapitalizationAccountThresholdActionType | UpdateCardPolicyActionType | UpdateCardProfileActionType | UpdateChargeCardDetailActionType | UpdateChargeCardLimitActionType | UpdateChargeCardNameActionType | UpdateChargeCardsLimitActionType | UpdateCombinedStatementInfoActionType | UpdateCompanyDetailsActionType | UpdateCompanyOfficerActionType | UpdateCompanyPassportLocalStoreDataActionType | UpdateCompanyProductServicesActionType | UpdateCompanyQboRealmIdActionType | UpdateCompanyTaskManagerViewFiltersActionType | UpdateDashboardLayoutActionType | UpdateDebitCardPinAttemptActionType | UpdateDepositAccountActionType | UpdateDynamicFormActionType | UpdateExpenseAutomationReconciliationBalanceLocalDataActionType | UpdateFileNameActionType | UpdateFilesMetadataActionType | UpdateJESchedulesActionType | UpdateMappedCashAccountActionType | UpdateMileageDetailsActionType | UpdateMyProfileActionType | UpdateNetBurnOrIncomeStoryCardSettingsActionType | UpdateNotificationViewAllNotificationsStatusActionType | UpdateNotificationViewNotificationStatusActionType | UpdateOnboardingCustomerViewActionType | UpdateOnboardingCustomerViewCompleteStatusActionType | UpdateOnboardingCustomerViewDashboardLoadedActionType | UpdateOnboardingCustomerViewLocalStoreDataActionType | UpdateOnboardingPaymentAccountLoginStatusActionType | UpdateOnboardingPaymentAccountStatusActionType | UpdatePaymentAccountActionType | UpdatePaymentAccountLoginStatusActionType | UpdatePaymentAccountStatusActionType | UpdatePhysicalChargeCardAttemptActionType | UpdatePortfolioAllocationActionType | UpdatePrimaryContactActionType | UpdatePrimaryFundingAccountActionType | UpdateQBOConnectionPoolExternalConnectionActionType | UpdateReferViewedActionType | UpdateRemiSetupViewLocalStoreDataActionType | UpdateReportUIOptionCOABalancesRangeActionType | UpdateReportUIOptionIsCompareModeActionType | UpdateReportUIOptionIsCompareModeOnActionType | UpdateReportUIOptionThisPeriodActionType | UpdateReportUIOptionTimeFrameActionType | UpdateSectionAccountsViewActionType | UpdateSectionClassesViewV2ActionType | UpdateSectionProjectViewActionType | UpdateSelectedVendorForCreateFlowActionType | UpdateSetupViewLocalStoreDataActionType | UpdateStatementInfoActionType | UpdateTaskFromListViewActionType | UpdateTaskGroupNameActionType | UpdateTransactionDetailActionType | UpdateTransactionOnUploadSuccessActionType | UpdateVendorContactActionType | UploadAccountStatementActionType | UploadMissingReceiptSuccessEpicActionType | UploadTransactionReceiptSuccessEpicActionType | ValidateBillsBulkActionActionType | VendorFiling1099UploadDetailsSaveActionType | VendorsTabFetchVendorActionType | VendorsTabFetchVendorDetailPageViewActionType | VendorsTabFetchVendorDetailsActionType | VendorsTabResetVendorDetailLocalDataActionType | VendorsTabSaveVendorActionType | VerifyDeviceWithTwoFAActionType | VerifyOtpActionType | VerifyUserActionType | WatchBulkUploadBatchStatusActionType | WiseRedirectActionType;
670
671
  export declare const featureRootEpic: Epic<RootActionType>;
package/lib/epic.js CHANGED
@@ -297,8 +297,7 @@ const fetchInvoicingOverviewKPIsEpic_1 = require("./view/invoicing/invoicingOver
297
297
  const fetchInvoicingOverviewMRREpic_1 = require("./view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic");
298
298
  const fetchInvoicingOverviewPlanRevenueEpic_1 = require("./view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic");
299
299
  const fetchInvoicingOverviewRevenueEpic_1 = require("./view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic");
300
- const fetchInvoicingQboAccountsEpic_1 = require("./view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic");
301
- const fetchInvoicingQboClassesEpic_1 = require("./view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic");
300
+ const fetchInvoicingAccountingPickersEpic_1 = require("./view/invoicing/invoicingQboView/epics/fetchInvoicingAccountingPickersEpic");
302
301
  const fetchInvoicingQboConnectionEpic_1 = require("./view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic");
303
302
  const fetchInvoicingQboSyncHealthEpic_1 = require("./view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic");
304
303
  const retryInvoicingQboSyncTaskEpic_1 = require("./view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic");
@@ -390,6 +389,7 @@ const fetchEntityRecommendationsByTransactionIdEpic_1 = require("./view/recommen
390
389
  const fetchEntityRecommendationsForLineUpdateEpic_1 = require("./view/recommendation/fetchEntityRecommendationsForLineUpdateEpic");
391
390
  const fetchRecommendationByEntityIdEpic_1 = require("./view/recommendation/fetchRecommendationByEntityIdEpic");
392
391
  const fetchRecommendationByEntityNameEpic_1 = require("./view/recommendation/fetchRecommendationByEntityNameEpic");
392
+ const submitRecommendationFeedbackEpic_1 = require("./view/recommendation/submitRecommendationFeedbackEpic");
393
393
  const fetchReferralsEpic_1 = require("./view/referralView/epics/fetchReferralsEpic");
394
394
  const fetchRewardsPlanEpic_1 = require("./view/referralView/epics/fetchRewardsPlanEpic");
395
395
  const resendReferralInviteEpic_1 = require("./view/referralView/epics/resendReferralInviteEpic");
@@ -983,6 +983,7 @@ const ALL_EPICS = [
983
983
  fetchInvoiceKPIsEpic_1.fetchInvoiceKPIsEpic,
984
984
  fetchInvoiceListEpic_1.fetchInvoiceListEpic,
985
985
  fetchInvoiceListPageEpic_1.fetchInvoiceListPageEpic,
986
+ fetchInvoicingAccountingPickersEpic_1.fetchInvoicingAccountingPickersEpic,
986
987
  auditViewEpics_1.fetchInvoicingAuditLogEpic,
987
988
  fetchInvoicingCatalogCountsEpic_1.fetchInvoicingCatalogCountsEpic,
988
989
  invoicingCatalogItemDetailViewEpics_1.fetchInvoicingCatalogItemDetailEpic,
@@ -1021,8 +1022,6 @@ const ALL_EPICS = [
1021
1022
  fetchInvoicingOverviewPlanRevenueEpic_1.fetchInvoicingOverviewPlanRevenueEpic,
1022
1023
  fetchInvoicingOverviewRevenueEpic_1.fetchInvoicingOverviewRevenueEpic,
1023
1024
  customerPaymentMethodEpic_1.fetchInvoicingPlaidLinkTokenEpic,
1024
- fetchInvoicingQboAccountsEpic_1.fetchInvoicingQboAccountsEpic,
1025
- fetchInvoicingQboClassesEpic_1.fetchInvoicingQboClassesEpic,
1026
1025
  fetchInvoicingQboConnectionEpic_1.fetchInvoicingQboConnectionEpic,
1027
1026
  fetchInvoicingQboSyncHealthEpic_1.fetchInvoicingQboSyncHealthEpic,
1028
1027
  settingsViewEpics_1.fetchInvoicingSettingsEpic,
@@ -1363,6 +1362,7 @@ const ALL_EPICS = [
1363
1362
  submitIntlVerificationEpic_1.submitIntlVerificationEpic,
1364
1363
  invoicingBrandingFormEpics_1.submitInvoicingBrandingFormEpic,
1365
1364
  submitQuestionEpic_1.submitQuestionEpic,
1365
+ submitRecommendationFeedbackEpic_1.submitRecommendationFeedbackEpic,
1366
1366
  syncInvoicingSubscriptionCouponsEpic_1.syncInvoicingSubscriptionCouponsEpic,
1367
1367
  syncTabsAfterAutomatchEpic_1.syncTabsAfterAutomatchEpic,
1368
1368
  toggleReportUIOptionForecastModeEpic_1.toggleReportUIOptionForecastModeEpic,
package/lib/esm/epic.js CHANGED
@@ -294,8 +294,7 @@ import { fetchInvoicingOverviewKPIsEpic } from './view/invoicing/invoicingOvervi
294
294
  import { fetchInvoicingOverviewMRREpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic';
295
295
  import { fetchInvoicingOverviewPlanRevenueEpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic';
296
296
  import { fetchInvoicingOverviewRevenueEpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic';
297
- import { fetchInvoicingQboAccountsEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic';
298
- import { fetchInvoicingQboClassesEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic';
297
+ import { fetchInvoicingAccountingPickersEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingAccountingPickersEpic';
299
298
  import { fetchInvoicingQboConnectionEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic';
300
299
  import { fetchInvoicingQboSyncHealthEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic';
301
300
  import { retryInvoicingQboSyncTaskEpic } from './view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic';
@@ -387,6 +386,7 @@ import { fetchEntityRecommendationsByTransactionIdEpic, } from './view/recommend
387
386
  import { fetchEntityRecommendationsForLineUpdateEpic, } from './view/recommendation/fetchEntityRecommendationsForLineUpdateEpic';
388
387
  import { fetchRecommendationByEntityIdEpic, } from './view/recommendation/fetchRecommendationByEntityIdEpic';
389
388
  import { fetchRecommendationByEntityNameEpic, } from './view/recommendation/fetchRecommendationByEntityNameEpic';
389
+ import { submitRecommendationFeedbackEpic, } from './view/recommendation/submitRecommendationFeedbackEpic';
390
390
  import { fetchReferralsEpic, } from './view/referralView/epics/fetchReferralsEpic';
391
391
  import { fetchRewardsPlanEpic, } from './view/referralView/epics/fetchRewardsPlanEpic';
392
392
  import { resendReferralInviteEpic, } from './view/referralView/epics/resendReferralInviteEpic';
@@ -980,6 +980,7 @@ const ALL_EPICS = [
980
980
  fetchInvoiceKPIsEpic,
981
981
  fetchInvoiceListEpic,
982
982
  fetchInvoiceListPageEpic,
983
+ fetchInvoicingAccountingPickersEpic,
983
984
  fetchInvoicingAuditLogEpic,
984
985
  fetchInvoicingCatalogCountsEpic,
985
986
  fetchInvoicingCatalogItemDetailEpic,
@@ -1018,8 +1019,6 @@ const ALL_EPICS = [
1018
1019
  fetchInvoicingOverviewPlanRevenueEpic,
1019
1020
  fetchInvoicingOverviewRevenueEpic,
1020
1021
  fetchInvoicingPlaidLinkTokenEpic,
1021
- fetchInvoicingQboAccountsEpic,
1022
- fetchInvoicingQboClassesEpic,
1023
1022
  fetchInvoicingQboConnectionEpic,
1024
1023
  fetchInvoicingQboSyncHealthEpic,
1025
1024
  fetchInvoicingSettingsEpic,
@@ -1360,6 +1359,7 @@ const ALL_EPICS = [
1360
1359
  submitIntlVerificationEpic,
1361
1360
  submitInvoicingBrandingFormEpic,
1362
1361
  submitQuestionEpic,
1362
+ submitRecommendationFeedbackEpic,
1363
1363
  syncInvoicingSubscriptionCouponsEpic,
1364
1364
  syncTabsAfterAutomatchEpic,
1365
1365
  toggleReportUIOptionForecastModeEpic,
package/lib/esm/index.js CHANGED
@@ -263,7 +263,7 @@ import { fetchProfitAndLossForTimeframeProjectView, fetchProfitAndLossProjectVie
263
263
  import { getProfitAndLossProjectView } from './view/profitAndLossProjectView/profitAndLossProjectViewSelector';
264
264
  import { fetchProjectList } from './view/projectList/projectListReducer';
265
265
  import { getProjectList, } from './view/projectList/projectListSelector';
266
- import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, } from './view/recommendation/recommendationReducer';
266
+ import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, submitRecommendationFeedback, } from './view/recommendation/recommendationReducer';
267
267
  import { DEFAULT_REFERRER_AMOUNT, clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState, } from './view/referralView/referralReducer';
268
268
  import { getInviteFormView, getReferralListView, getRewardsPlanCard, } from './view/referralView/referralSelector';
269
269
  import { AmountStatusTypes, StatusTypes, toReferralListViewSortKeyType, } from './view/referralView/referralState';
@@ -628,7 +628,7 @@ export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showB
628
628
  export { canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
629
629
  export { getInternationalSubConfigCodeKey, BILL_NEW_PAYMENT_METHODS, NEW_INTERNATIONAL_METHOD_SUBTEXT, SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT, LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT, };
630
630
  export { getVendorList, updateSortUiState, updatePageToken, updateYTDSelectionUIState, isColumnYTDSpend, isVendorsTabVisible, toVendorReportIDType, getVendorFiling1099List, fetchVendorsFiling1099Download, };
631
- export { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, };
631
+ export { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, submitRecommendationFeedback, };
632
632
  export { fetchOwnerList };
633
633
  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, };
634
634
  export { fetchDepositAccountTransactionList, getDepositAccountTransactionList, };
@@ -853,7 +853,8 @@ export { getInvoicingBrandingFormView, getInvoicingSettings, getInvoicingSetting
853
853
  export { INVOICING_BUSINESS_ADDRESS_TYPE, entityToInvoicingBrandingFormLocalData, initialInvoicingBrandingFormLocalData, } from './view/invoicing/settingsView/invoicingBrandingFormConfig';
854
854
  export { isStripeConnectedFromSettings } from './view/invoicing/settingsView/invoicingSettingsHelpers';
855
855
  // ── Invoicing: QBO integration ────────────────────────────────────────────────
856
- export { fetchInvoicingQboAccounts, fetchInvoicingQboClasses, fetchInvoicingQboConnection, fetchInvoicingQboSyncHealth, retryInvoicingQboSyncTask, startInvoicingQboBackfill, } from './view/invoicing/invoicingQboView/invoicingQboViewReducer';
856
+ export { fetchInvoicingAccountingPickers, fetchInvoicingQboConnection, fetchInvoicingQboSyncHealth, retryInvoicingQboSyncTask, startInvoicingQboBackfill, } from './view/invoicing/invoicingQboView/invoicingQboViewReducer';
857
+ export { INVOICING_INCOME_ACCOUNT_TYPES, invoicingAccountsForQboAccountTypes, } from './view/invoicing/invoicingQboView/invoicingQboViewSelector';
857
858
  export { getInvoicingQboView } from './view/invoicing/invoicingQboView/invoicingQboViewSelector';
858
859
  export { INVOICING_QBO_CUSTOMER_MATCHING_MODES, getInvoicingQboAccountMappingId, toInvoicingNamedOptionsByKey, toInvoicingQboCustomerMatchingMode, withInvoicingQboAccountMappingId, } from './entity/invoicing/invoicingCommonPayload';
859
860
  // ── Invoicing: config ─────────────────────────────────────────────────────────
@@ -28,6 +28,7 @@ export const initialState = {
28
28
  reimbursementAccountList: initialAccountList,
29
29
  schedulesAccountList: initialAccountList,
30
30
  billPayAccountList: initialAccountList,
31
+ invoicingAccountList: initialAccountList,
31
32
  },
32
33
  };
33
34
  const accountList = createSlice({
@@ -1,6 +1,7 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
2
  import { getInvoicingPlanById, getInvoicingPlansByIds, } from '../../../entity/invoicing/plan/planSelector';
3
3
  import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
4
+ import { INVOICING_INCOME_ACCOUNT_TYPES, getInvoicingQboView, invoicingAccountHierarchyForTypes, isInvoicingQboConnected, } from '../invoicingQboView/invoicingQboViewSelector';
4
5
  import { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, entityToInvoicingCatalogItemFormLocalData, } from './invoicingCatalogItemFormConfig';
5
6
  export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
6
7
  fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
@@ -48,9 +49,16 @@ export const getInvoicingCatalogItemFormView = (state, id) => {
48
49
  const applicableItemOptions = id != null
49
50
  ? allApplicableItemOptions.filter((option) => option.id !== id)
50
51
  : allApplicableItemOptions;
52
+ const isQboConnected = isInvoicingQboConnected(state);
51
53
  const { billingPeriodUnitOptions, catalogItemTypeOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, } = getInvoicingConfigView(state);
52
54
  return {
53
55
  fieldHelp: invoicingFieldHelpForGroup(state, 'catalog'),
56
+ qboClassHierarchy: isQboConnected
57
+ ? getInvoicingQboView(state).nestedClassHierarchy
58
+ : [],
59
+ qboIncomeAccountHierarchy: isQboConnected
60
+ ? invoicingAccountHierarchyForTypes(state, INVOICING_INCOME_ACCOUNT_TYPES)
61
+ : [],
54
62
  applicabilityValues: INVOICING_CATALOG_APPLICABILITY_VALUES,
55
63
  applicableItemOptions,
56
64
  localData,
@@ -0,0 +1,29 @@
1
+ import { EMPTY, from } from 'rxjs';
2
+ import { filter, mergeMap, withLatestFrom } from 'rxjs/operators';
3
+ import { fetchAccountList } from '../../../accountList/accountListReducer';
4
+ import { fetchClassList } from '../../../classList/classListReducer';
5
+ import { fetchInvoicingAccountingPickers } from '../invoicingQboViewReducer';
6
+ import { INVOICING_ACCOUNT_LIST_KEY } from '../invoicingQboViewSelector';
7
+ // Tops up the shared account and class lists, skipping either when the store
8
+ // already holds it or has it in flight.
9
+ export const fetchInvoicingAccountingPickersEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoicingAccountingPickers.match), withLatestFrom(state$), mergeMap(([, state]) => {
10
+ const actions = [];
11
+ const accountList = state.accountListState.byReportId[INVOICING_ACCOUNT_LIST_KEY];
12
+ if (accountList.hasValidState() === false &&
13
+ accountList.fetchState !== 'In-Progress') {
14
+ // AP/AR accounts cannot back an invoicing mapping, so they are excluded
15
+ // here — which is why this uses invoicing's own bucket rather than the
16
+ // general `accountList` other screens fill without those exclusions.
17
+ actions.push(fetchAccountList(INVOICING_ACCOUNT_LIST_KEY, true, true, true));
18
+ }
19
+ const classList = state.classListState;
20
+ if (classList.hasValidState() === false &&
21
+ classList.fetchState !== 'In-Progress') {
22
+ // Without deleted classes, matching almost every other caller of this
23
+ // single global slice. Asking for deleted rows here would have handed
24
+ // them to the vendor and transaction screens too — and the picker
25
+ // filters deleted classes out anyway, so there is nothing to gain.
26
+ actions.push(fetchClassList());
27
+ }
28
+ return actions.length > 0 ? from(actions) : EMPTY;
29
+ }));
@@ -6,29 +6,6 @@ export function mapInvoicingQboConnection(payload) {
6
6
  realmId: payload.realm_id ?? undefined,
7
7
  };
8
8
  }
9
- export function mapInvoicingQboAccountOptions(rows) {
10
- return rows.flatMap((row) => {
11
- // Only qbo_id is a valid QBO AccountRef/ClassRef value — platform-internal
12
- // ids (account_id / id) are display metadata and must never be submitted.
13
- const accountId = row.qbo_id ?? row.id ?? row.account_id ?? '';
14
- if (accountId === '') {
15
- return [];
16
- }
17
- const accountName = row.name ??
18
- row.account_name ??
19
- row.accounting_class_name ??
20
- row.qbo_accounting_class_name ??
21
- row.fully_qualified_name ??
22
- accountId;
23
- return [
24
- {
25
- id: accountId,
26
- name: accountName,
27
- accountType: row.account_type ?? undefined,
28
- },
29
- ];
30
- });
31
- }
32
9
  export function mapInvoicingQboSyncHealth(payload) {
33
10
  return {
34
11
  connection: payload.connection != null
@@ -1,11 +1,7 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
2
  import { clearAll } from '../../../rootActions';
3
3
  export const initialState = {
4
- accountsByAccountTypes: {},
5
- accountsFetchStateByAccountTypes: {},
6
4
  backfillFetchState: { fetchState: 'Not-Started', error: undefined },
7
- classes: [],
8
- classesFetchState: { fetchState: 'Not-Started', error: undefined },
9
5
  connection: undefined,
10
6
  connectionFetchState: { fetchState: 'Not-Started', error: undefined },
11
7
  retryFetchStateByTaskId: {},
@@ -29,41 +25,8 @@ const invoicingQboView = createSlice({
29
25
  updateInvoicingQboConnectionFailure(draft, action) {
30
26
  draft.connectionFetchState = { fetchState: 'Error', error: action.payload };
31
27
  },
32
- fetchInvoicingQboAccounts: {
33
- reducer(draft, action) {
34
- draft.accountsFetchStateByAccountTypes[action.payload.accountTypes] = {
35
- fetchState: 'In-Progress',
36
- error: undefined,
37
- };
38
- },
39
- prepare(accountTypes) {
40
- return { payload: { accountTypes } };
41
- },
42
- },
43
- updateInvoicingQboAccounts(draft, action) {
44
- draft.accountsByAccountTypes[action.payload.accountTypes] =
45
- action.payload.accounts;
46
- draft.accountsFetchStateByAccountTypes[action.payload.accountTypes] = {
47
- fetchState: 'Completed',
48
- error: undefined,
49
- };
50
- },
51
- updateInvoicingQboAccountsFailure(draft, action) {
52
- draft.accountsFetchStateByAccountTypes[action.payload.accountTypes] = {
53
- fetchState: 'Error',
54
- error: action.payload.status,
55
- };
56
- },
57
- fetchInvoicingQboClasses(draft) {
58
- draft.classesFetchState = { fetchState: 'In-Progress', error: undefined };
59
- },
60
- updateInvoicingQboClasses(draft, action) {
61
- draft.classes = action.payload;
62
- draft.classesFetchState = { fetchState: 'Completed', error: undefined };
63
- },
64
- updateInvoicingQboClassesFailure(draft, action) {
65
- draft.classesFetchState = { fetchState: 'Error', error: action.payload };
66
- },
28
+ // No state of its own: the epic decides which shared lists to load.
29
+ fetchInvoicingAccountingPickers() { },
67
30
  fetchInvoicingQboSyncHealth(draft) {
68
31
  draft.syncHealthFetchState = {
69
32
  fetchState: 'In-Progress',
@@ -127,5 +90,5 @@ const invoicingQboView = createSlice({
127
90
  });
128
91
  },
129
92
  });
130
- export const { fetchInvoicingQboConnection, updateInvoicingQboConnection, updateInvoicingQboConnectionFailure, fetchInvoicingQboAccounts, updateInvoicingQboAccounts, updateInvoicingQboAccountsFailure, fetchInvoicingQboClasses, updateInvoicingQboClasses, updateInvoicingQboClassesFailure, fetchInvoicingQboSyncHealth, updateInvoicingQboSyncHealth, updateInvoicingQboSyncHealthFailure, retryInvoicingQboSyncTask, retryInvoicingQboSyncTaskSuccess, retryInvoicingQboSyncTaskFailure, startInvoicingQboBackfill, startInvoicingQboBackfillSuccess, startInvoicingQboBackfillFailure, } = invoicingQboView.actions;
93
+ export const { fetchInvoicingQboConnection, updateInvoicingQboConnection, updateInvoicingQboConnectionFailure, fetchInvoicingAccountingPickers, fetchInvoicingQboSyncHealth, updateInvoicingQboSyncHealth, updateInvoicingQboSyncHealthFailure, retryInvoicingQboSyncTask, retryInvoicingQboSyncTaskSuccess, retryInvoicingQboSyncTaskFailure, startInvoicingQboBackfill, startInvoicingQboBackfillSuccess, startInvoicingQboBackfillFailure, } = invoicingQboView.actions;
131
94
  export default invoicingQboView.reducer;
@@ -1,16 +1,134 @@
1
+ import { getAccountList, getNestedAccountListHierarchy, } from '../../accountList/accountListSelector';
2
+ import { getClassList, getNestedClassListHierarchy, } from '../../classList/classListSelector';
3
+ // Its own bucket: invoicing needs the AP/AR exclusions that the vendor and
4
+ // transaction screens sharing `accountList` do not pass.
5
+ export const INVOICING_ACCOUNT_LIST_KEY = 'invoicingAccountList';
6
+ /** Whether QBO is connected, without building the option lists to find out. */
7
+ export const isInvoicingQboConnected = (state) => state.invoicingQboViewState.connection?.connected === true;
8
+ /**
9
+ * Account types that can back invoicing revenue. Named here so screens ask for
10
+ * "income accounts" rather than repeating the accounting service's vocabulary.
11
+ */
12
+ export const INVOICING_INCOME_ACCOUNT_TYPES = [
13
+ 'income',
14
+ 'other_income',
15
+ ];
16
+ /**
17
+ * Accounts and classes as the invoicing pickers need them. Both come from the
18
+ * shared accounting-service lists, so whatever another screen already loaded
19
+ * is reused. `qboId` is the submitted value because that is what the invoicing
20
+ * API stores; an account without one cannot be posted, so it is dropped rather
21
+ * than offered.
22
+ */
23
+ const invoicingAccountingOptions = (state, accountTypes) => {
24
+ const { accounts } = getAccountList(state.accountState, state.accountListState, INVOICING_ACCOUNT_LIST_KEY);
25
+ return accounts.flatMap((account) => {
26
+ if (account.qboId == null || account.isDeleted === true) {
27
+ return [];
28
+ }
29
+ if (accountTypes != null &&
30
+ (account.accountType == null ||
31
+ !accountTypes.includes(account.accountType))) {
32
+ return [];
33
+ }
34
+ return [
35
+ {
36
+ id: String(account.qboId),
37
+ name: account.accountName,
38
+ accountType: account.accountType,
39
+ },
40
+ ];
41
+ });
42
+ };
43
+ /**
44
+ * Normalises an account-type name for comparison. The config's mapping kinds
45
+ * name QuickBooks types the way QuickBooks displays them ("Other Current
46
+ * Asset", "Expense"), while the accounting service uses snake_case and
47
+ * sometimes pluralises ("other_current_assets", "expenses"). Comparing the
48
+ * normalised, de-pluralised forms keeps a picker from silently emptying because
49
+ * of a trailing "s".
50
+ */
51
+ const normalizeAccountTypeName = (value) => {
52
+ const normalized = value
53
+ .trim()
54
+ .toLowerCase()
55
+ .replace(/[^a-z0-9]+/g, '_');
56
+ // Singularise so "Other Current Liability" meets `other_current_liabilities`
57
+ // and "Expense" meets `expenses`. `-ies` needs its own case: stripping the
58
+ // trailing "s" alone would leave "liabilitie", matching nothing.
59
+ return normalized.replace(/ies$/, 'y').replace(/([^s])s$/, '$1');
60
+ };
61
+ /**
62
+ * The accounts valid for one QBO mapping kind, whose `accountTypes` is a
63
+ * comma-separated list of QuickBooks type names. An unrecognised list yields no
64
+ * accounts rather than every account: offering a bank account where income is
65
+ * required would post a mapping QuickBooks rejects.
66
+ */
67
+ export const invoicingAccountsForQboAccountTypes = (accounts, accountTypes) => {
68
+ const wanted = new Set(accountTypes
69
+ .split(',')
70
+ .map(normalizeAccountTypeName)
71
+ .filter((accountType) => accountType !== ''));
72
+ if (wanted.size === 0) {
73
+ return accounts;
74
+ }
75
+ return accounts.filter((account) => account.accountType != null &&
76
+ wanted.has(normalizeAccountTypeName(account.accountType)));
77
+ };
78
+ /** Classes as the invoicing pickers need them, from the shared class list. */
79
+ const invoicingAccountingClassOptions = (state) => {
80
+ const { classes } = getClassList(state.classState, state.classListState);
81
+ return classes.flatMap((accountingClass) => accountingClass.qboId == null || accountingClass.isDeleted === true
82
+ ? []
83
+ : [
84
+ {
85
+ id: String(accountingClass.qboId),
86
+ name: accountingClass.className,
87
+ },
88
+ ]);
89
+ };
90
+ /**
91
+ * The account tree narrowed to the given account types. The tree itself carries
92
+ * no account type, so the flat account list supplies that and the matching
93
+ * `qboId`s are kept — which is why callers that only need "income accounts, as a
94
+ * tree" do not have to hold a second flat list to filter with.
95
+ */
96
+ export const invoicingAccountHierarchyForTypes = (state, accountTypes) => {
97
+ const allowedQboIds = new Set(invoicingAccountingOptions(state, accountTypes).map((account) => account.id));
98
+ const keepMatching = (nodes) => nodes.flatMap((node) => {
99
+ const children = keepMatching(node.children);
100
+ const isMatch = node.qboId != null && allowedQboIds.has(String(node.qboId));
101
+ // A parent that is not itself a match is still kept when it holds one, so
102
+ // the tree's shape survives the filter.
103
+ if (!isMatch && children.length === 0) {
104
+ return [];
105
+ }
106
+ return [{ ...node, children }];
107
+ });
108
+ return keepMatching(getNestedAccountListHierarchy(state.accountListState, INVOICING_ACCOUNT_LIST_KEY));
109
+ };
1
110
  /**
2
111
  * Single bundled view for the QBO integration settings screen — the
3
- * connection, per-account-types account options, classes, sync health, and the
4
- * fetch/action states for each of them.
112
+ * connection, the account and class options, sync health, and the fetch/action
113
+ * states for each of them.
5
114
  */
6
115
  export const getInvoicingQboView = (state) => {
7
116
  const qboState = state.invoicingQboViewState;
117
+ const accountList = state.accountListState.byReportId[INVOICING_ACCOUNT_LIST_KEY];
8
118
  return {
9
- accountsByAccountTypes: qboState.accountsByAccountTypes,
10
- accountsFetchStateByAccountTypes: qboState.accountsFetchStateByAccountTypes,
119
+ accounts: invoicingAccountingOptions(state),
120
+ accountsFetchState: {
121
+ fetchState: accountList.fetchState,
122
+ error: accountList.error,
123
+ },
124
+ nestedAccountHierarchy: getNestedAccountListHierarchy(state.accountListState, INVOICING_ACCOUNT_LIST_KEY),
125
+ nestedClassHierarchy: getNestedClassListHierarchy(state.classListState),
11
126
  backfillState: qboState.backfillFetchState,
12
- classes: qboState.classes,
13
- classesFetchState: qboState.classesFetchState,
127
+ classes: invoicingAccountingClassOptions(state),
128
+ classesFetchState: {
129
+ fetchState: state.classListState.fetchState,
130
+ error: state.classListState.error,
131
+ },
14
132
  connection: qboState.connection,
15
133
  connectionFetchState: qboState.connectionFetchState,
16
134
  retryFetchStateByTaskId: qboState.retryFetchStateByTaskId,
@@ -131,6 +131,21 @@ const recommendation = createSlice({
131
131
  };
132
132
  },
133
133
  },
134
+ clearRecommendation(draft) {
135
+ Object.assign(draft, initialState);
136
+ },
137
+ // Fire-and-forget human feedback on a recommendation (accept, ranked
138
+ // override or outside override). Handled by submitRecommendationFeedbackEpic
139
+ // which POSTs to the accounting recommendation-feedback endpoint. No state
140
+ // mutation: the categorization UX must not depend on the feedback round-trip.
141
+ submitRecommendationFeedback: {
142
+ reducer() {
143
+ // Fire-and-forget: no state mutation; the epic performs the POST.
144
+ },
145
+ prepare(args) {
146
+ return { payload: args };
147
+ },
148
+ },
134
149
  },
135
150
  extraReducers: (builder) => {
136
151
  builder.addCase(clearAll, (draft) => {
@@ -138,7 +153,7 @@ const recommendation = createSlice({
138
153
  });
139
154
  },
140
155
  });
141
- export const { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityName, fetchRecommendationByEntityId, updateRecommendationForEntity, updateRecommendationForEntityFailure, indicateReadyToInitializeRecommendation, } = recommendation.actions;
156
+ export const { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityName, fetchRecommendationByEntityId, updateRecommendationForEntity, updateRecommendationForEntityFailure, indicateReadyToInitializeRecommendation, clearRecommendation, submitRecommendationFeedback, } = recommendation.actions;
142
157
  export default recommendation.reducer;
143
158
  const doUpdateRecommendationForEntity = (draft, entityId, entityType, payload) => {
144
159
  const key = getEntityRecommendationKey(entityType, entityId);
@@ -0,0 +1,52 @@
1
+ import { EMPTY } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { isSuccessStatus } from '../../responsePayload';
4
+ import { submitRecommendationFeedback } from './recommendationReducer';
5
+ const toRequestBody = (payload) => ({
6
+ line_id: payload.lineId ?? null,
7
+ dimension: payload.dimension,
8
+ recommendation_set_id: payload.recommendationSetId ?? null,
9
+ top_pick_source: payload.topPickSource ?? null,
10
+ shown_recommendations: (payload.shownRecommendations ?? []).map((recommendation) => ({
11
+ source: recommendation.source,
12
+ rank: recommendation.rank,
13
+ value: {
14
+ name: recommendation.value.name,
15
+ id: recommendation.value.id ?? null,
16
+ integration_id: recommendation.value.integrationId ?? null,
17
+ },
18
+ confidence: recommendation.confidence ?? null,
19
+ reasoning: recommendation.reasoning ?? null,
20
+ cot: recommendation.cot ?? [],
21
+ })),
22
+ selected: {
23
+ name: payload.selected.name,
24
+ id: payload.selected.id ?? null,
25
+ integration_id: payload.selected.integrationId ?? null,
26
+ is_new_entity: payload.selected.isNewEntity ?? false,
27
+ },
28
+ matched_source: payload.matchedSource ?? null,
29
+ matched_rank: payload.matchedRank ?? null,
30
+ outcome: payload.outcome,
31
+ reason_text: payload.reasonText ?? null,
32
+ skipped: payload.skipped ?? false,
33
+ retracts_feedback_id: payload.retractsFeedbackId ?? null,
34
+ features: payload.features ?? null,
35
+ });
36
+ // Fire-and-forget: the epic never re-emits an action. Feedback delivery is a
37
+ // side-effect that must not disrupt the categorization UX, so both the
38
+ // success and error paths complete silently (errors are logged for debugging).
39
+ export const submitRecommendationFeedbackEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(submitRecommendationFeedback.match), mergeMap((action) => {
40
+ const { transactionId } = action.payload;
41
+ return zeniAPI
42
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/${transactionId}/recommendation-feedback`, toRequestBody(action.payload))
43
+ .pipe(mergeMap((response) => {
44
+ if (!isSuccessStatus(response)) {
45
+ console.error('submitRecommendationFeedbackEpic: recommendation feedback was not recorded', response.status);
46
+ }
47
+ return EMPTY;
48
+ }), catchError((error) => {
49
+ console.error('submitRecommendationFeedbackEpic: failed to submit recommendation feedback', error);
50
+ return EMPTY;
51
+ }));
52
+ }));