@zeniai/client-epic-state 5.0.71-betaML41 → 5.0.71-betaVR2

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 (52) hide show
  1. package/lib/epic.d.ts +3 -2
  2. package/lib/epic.js +3 -2
  3. package/lib/esm/epic.js +3 -2
  4. package/lib/esm/index.js +8 -8
  5. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchMultipleBatchDetailsEpic.js +21 -5
  6. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/refreshBatchDetailsForBatchIdEpic.js +52 -0
  7. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/syncTabsAfterAutomatchEpic.js +53 -0
  8. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +13 -9
  9. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +1 -21
  10. package/lib/esm/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +78 -3
  11. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +14 -117
  12. package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +2 -0
  13. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -58
  14. package/lib/esm/view/recommendation/recommendationHelper.js +0 -29
  15. package/lib/esm/view/recommendation/recommendationReducer.js +1 -26
  16. package/lib/esm/view/transactionDetail/transactionDetailReducer.js +6 -121
  17. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +0 -22
  18. package/lib/index.d.ts +8 -9
  19. package/lib/index.js +25 -25
  20. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchMultipleBatchDetailsEpic.js +21 -5
  21. package/lib/view/expenseAutomationView/epics/missingReceipts/refreshBatchDetailsForBatchIdEpic.d.ts +18 -0
  22. package/lib/view/expenseAutomationView/epics/missingReceipts/refreshBatchDetailsForBatchIdEpic.js +56 -0
  23. package/lib/view/expenseAutomationView/epics/missingReceipts/syncTabsAfterAutomatchEpic.d.ts +28 -0
  24. package/lib/view/expenseAutomationView/epics/missingReceipts/syncTabsAfterAutomatchEpic.js +57 -0
  25. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.d.ts +11 -5
  26. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +12 -8
  27. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +0 -1
  28. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -23
  29. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +13 -1
  30. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +80 -4
  31. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -14
  32. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +14 -117
  33. package/lib/view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes.d.ts +12 -0
  34. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +0 -2
  35. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +2 -0
  36. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +0 -3
  37. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -60
  38. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +19 -0
  39. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +0 -1
  40. package/lib/view/recommendation/recommendationHelper.d.ts +0 -9
  41. package/lib/view/recommendation/recommendationHelper.js +1 -31
  42. package/lib/view/recommendation/recommendationReducer.d.ts +1 -20
  43. package/lib/view/recommendation/recommendationReducer.js +2 -27
  44. package/lib/view/transactionDetail/transactionDetailReducer.d.ts +1 -11
  45. package/lib/view/transactionDetail/transactionDetailReducer.js +7 -122
  46. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +0 -2
  47. package/lib/view/transactionDetail/transactionDetailSelector.js +1 -24
  48. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -1
  49. package/package.json +2 -2
  50. package/lib/esm/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +0 -87
  51. package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.d.ts +0 -9
  52. package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +0 -91
package/lib/index.js CHANGED
@@ -38,28 +38,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.injectFeatureModules = exports.injectFeatureEpics = exports.zeniAPIClientConfig = exports.updateZeniAPIClientConfig = exports.toZeniUrlWithoutBaseURL = exports.toZeniUrl = exports.updateZeniDateLocaleID = exports.setLocalTimezone = exports.subtractPeriod = exports.addPeriod = exports.getLocalTimezone = exports.getActualPeriodOfFY = exports.getActualPeriodOfFYQtr = exports.getStartOfAndEndOfTimeframeForFY = exports.getFYQuarterAndYear = exports.getFYMonths = exports.formatZeniDate = exports.getBusinessDayOfDate = exports.dateNow = exports.dateLocal = exports.zeniDate = exports.zeniDateInLocal = exports.Dayjs = exports.disconnectPusher = exports.initializePusher = exports.saveJeAccountSettingsLocalData = exports.saveJeAccountSettings = exports.getCreditAgentMacroEntity = exports.getCreditAgentRows = exports.updateCreditAgentRows = exports.updateCreditAgentRow = exports.updateCreditAgentMacro = exports.clearAllCreditAgent = exports.getCreditReportDownloadPayload = exports.getCardProfilesData = exports.getCreditAgentMacro = exports.getCreditAgentEntity = exports.getCreditAgentView = exports.toMacro = exports.toCardTenantProfileRow = exports.clearCreditAgentView = exports.updateCreditAgentUIState = exports.updateCardProfile = exports.fetchCardProfiles = exports.resetSaveMacroState = exports.saveCreditAgentMacro = exports.fetchCreditAgentMacro = exports.scheduleTenantCreditScoreCron = exports.fetchCreditAgentAccessSuccess = exports.fetchCreditAgentAccess = void 0;
40
40
  exports.toExpenseAutomationMissingReceiptsSortKey = exports.getExpenseAutomationView = exports.toExpenseAutomationJEScheduleSortKey = exports.toExpenseAutomationJEScheduleMainTab = exports.toMissingReceiptsTab = exports.toMatchSource = exports.toCompletedSubTab = exports.toBulkUploadSortKey = exports.toBulkUploadResultsTab = exports.toBulkUploadPhase = exports.toBatchStatusValue = exports.toBatchFileStatus = exports.DEFAULT_COMPLETED_SUB_TAB = exports.isUnmatchedTabFileStatus = exports.BATCH_FILE_STATUSES = exports.ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY = exports.getMonthEndCloseChecksViewByTenantId = exports.fetchMonthClosePerformanceTrend = exports.fetchMonthEndCloseChecks = exports.stringToUnionStrict = exports.stringToUnion = exports.stripCompareAdditionalBalanceTypes = exports.isCalculatedBalanceType = exports.toCOABlanaceType = exports.toCOABalanceTypeStrict = exports.newBalancesFilterClassesView = exports.newBalancesFilterForDateRange = exports.newBalancesFilter = exports.toCOABalancesOrderStrict = exports.toCOABalanceTimeframe = exports.isFluxAnalysisOpExReport = exports.isOpExByVendorReport = exports.isAgingReport = exports.isPAndLProjectViewReport = exports.isPAndLClassesViewReport = exports.isPAndLReport = exports.isDashboardClassesViewReport = exports.isDashboardReport = exports.isCashFlowOrBalanceSheetReport = exports.toReportFormatStrict = exports.toReportID = exports.toAmount = exports.getMinDate = exports.dateFromYearMonthDate = exports.getMonthIndex = exports.getLastMonthOfFYYear = exports.getLastMonthOfFYQuarter = exports.isIncompleteMonthPresentInTimeframeTick = exports.getTimeframeTickTag = exports.initializeWithNewStore = void 0;
41
- exports.reviewFluxAnalysisView = exports.updateFluxAnalysisSelectedSectionIdsForReview = exports.updateFluxOperatingExpensesIdsForReview = exports.clearExpenseAutomationFluxAnalysisView = exports.fetchFluxAnalysisView = exports.fetchCompletedTransactionsFailure = exports.fetchCompletedTransactionsSuccess = exports.fetchCompletedTransactions = exports.acknowledgeBulkUploadConfirmMatchComplete = exports.clearManualSearchResults = exports.searchTransactionsForManualMatchFailure = exports.searchTransactionsForManualMatchSuccess = exports.searchTransactionsForManualMatch = exports.clearBulkUpload = exports.setBulkUploadUploadedFileCount = exports.setBulkUploadSortConfig = exports.setBulkUploadCompletedSubTab = exports.setBulkUploadResultsTab = exports.confirmBulkUploadMatchFailure = exports.confirmBulkUploadMatchSuccess = exports.confirmBulkUploadMatch = exports.fetchBulkUploadBatchesFailure = exports.fetchBulkUploadBatchesSuccess = exports.fetchBulkUploadBatches = exports.fetchMoreBatchDetailsFailure = exports.fetchMoreBatchDetailsComplete = exports.fetchMoreBatchDetails = exports.storeBatchDetails = exports.fetchBulkUploadBatchDetailsFailure = exports.fetchBulkUploadBatchDetailsSuccess = exports.fetchBulkUploadBatchDetails = exports.clearMissingReceiptsTabNavigation = exports.requestMissingReceiptsTabNavigation = exports.pusherBatchStatusUpdate = exports.updateBulkUploadProgress = exports.restoreBulkUploadMatchingState = exports.restoreBulkUploadAutomatchingOnMount = exports.bulkUploadReceiptsFailure = exports.bulkUploadReceiptsSuccess = exports.bulkUploadAutomatchingTimedOut = exports.bulkUploadReceipts = exports.fetchExpenseAutomationMissingReceipts = exports.updateTransactionCategorizationCompletedSubTab = exports.updateCurrentSelectedTransactionCategorizationTab = exports.refreshExpenseAutomationCurrentTab = exports.fetchAllExpenseAutomationTabs = exports.markExpenseAutomationMissingReceiptAsDone = exports.uploadExpenseAutomationMissingReceiptSuccess = exports.toExpenseAutomationViewType = exports.toExpenseAutomationTransactionsTabKey = void 0;
42
- exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorizationView = exports.fetchTransactionCategorization = exports.setStatementParseInProgress = exports.isReviewTransactionCreditCardCreditType = exports.isReviewTransactionExpenseType = exports.isReviewTransactionDepositType = exports.isReviewTransactionCreditCardPaymentType = exports.isReviewTransactionBillPaymentType = exports.isReviewTransactionBankTransferType = exports.updateStatementUploadChosen = exports.updateNodeCollapseState = exports.uploadAccountStatement = exports.deleteAccountStatement = exports.toReconciliationAccountSource = exports.updateExpenseAutomationAccountReconciliationLocalData = exports.saveExpenseAutomationReconciliationReview = exports.updateExpenseAutomationSelectedDrawerAccountId = exports.updateExpenseAutomationReconReviewTabLocalData = exports.isAccountReconReport = exports.toReconciliationTabsType = exports.getAccountReconByAccountIdAndSelectedPeriod = exports.setConnectionInProgressForAccountReconciliation = exports.updateExpenseAutomationReconListScrollPosition = exports.uploadAccountStatementIntoDocumentAI = exports.fetchReconciliationView = exports.getExpenseAutomationReconciliationView = exports.updateExpenseAutomationAccountReconciliationSelectedAccountId = exports.updateExpenseAutomationAccountReconciliationSelectedTab = exports.updateExpenseAutomationReconcileTabLocalData = exports.updateExpenseAutomationReconcileTabListSortState = exports.updateExpenseAutomationReconReviewTabListSortState = exports.updateExpenseAutomationReconcileTabListScrollState = exports.saveExpenseAutomationReconciliationDetail = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliation = exports.isAnyItemWithUncategorizedExpenseAccount = exports.getLineItemsByTransactionIdsFromLocalData = exports.checkIfAllLineItemsAreCategoryClassFilled = exports.MAX_SELECTION_LIMIT = exports.updateFluxAnalysisViewPageMetaData = exports.updateFluxAnalysisViewUIState = exports.getExpenseAutomationTransactionView = exports.updateCurrentSelectedPeriod = exports.updateCurrentSelectedView = exports.getExpenseAutomationFluxAnalysisView = exports.uploadTransactionCategorizationReceiptSuccess = exports.updateTransactionCategorizationUploadReceiptState = exports.updateExpenseAutomationMissingReceiptsUIState = exports.updateExpenseAutomationMissingReceiptUploadState = void 0;
43
- exports.doMagicLinkSignIn = exports.clearAll = exports.updateCurrentTenant = exports.fetchAllTenants = exports.fetchActiveTenant = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantId = exports.getTenantBaseViewForTenantView = exports.toTenantCoreDetailsView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantsByCheckInDateSelector = exports.getIsAccountingProjectsEnabled = exports.getIsAccountingClassesEnabled = exports.getCurrentTenant = exports.getTenantBaseById = exports.toQuarterStrict = exports.toQuarter = exports.toMonthStrict = exports.toMonth = exports.toScheduleDaysOfMonth = exports.SCHEDULE_DAYS_OF_MONTH = exports.getNumberOfPeriods = exports.toVendorSpendTrendFilterTabsTypeStrict = exports.convertToPeriod = exports.toMonthYearPeriodId = exports.toAbsoluteDay = exports.toTimePeriod = exports.mapTimePeriodtoTimeframeTick = exports.toTimeframeTick = exports.TOP_EX_TIME_PERIODS = exports.toTransactionsSortKey = exports.clearExpenseAutomationTransactionsView = exports.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.initializeTransactionCategorizationViewLocalData = exports.setEntityRecommendationForLineIdsForCategorization = exports.markCategoryClassRecommendationsFailureForCategorization = exports.updateSelectedCheckboxTransactionIds = void 0;
44
- exports.hasOnlyChargeCardAccess = exports.hasOnlyReimbursementAccess = exports.hasRemiFallbackAdminLevelAccess = exports.hasBillPayFallbackAdminLevelAccess = exports.hasSuperAdminLevelAccess = exports.hasZeniRoleOrCompanyOfficerAccess = exports.hasOnlyBillPayAccess = exports.getUserRoleMap = exports.hasInvestorBankerLevelAccess = exports.isNonZeniRole = exports.hasBookKeepingUserLevelAccess = exports.hasBookKeepingAdminLevelAccess = exports.hasEmployeeLevelAccess = exports.hasReimbursementUserAccess = exports.hasFullOrAdminLevelAccess = exports.hasAdminLevelAccess = exports.isFinOpsUserRoleType = exports.toUserRoleTypeStrict = exports.toUserRoleType = exports.getAllZeniUsersFromState = exports.getUsersByUserIds = exports.getUserByUserId = exports.getUserName = exports.getForecast = exports.getClassById = exports.getAccountGroupKey = exports.toAccountGroupType = exports.toAccountType = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.fetchSubscriptionSummaryForTenant = exports.toExternalSupportedTool = exports.toExternalIntegrationType = exports.saveOAuthConnection = exports.saveConnectorCredentials = exports.saveAPIKeyConnection = exports.deleteConnection = exports.saveExternalConnectionForTenant = exports.fetchExternalConnectionsForTenant = exports.fetchExcludedResourcesForTenant = exports.resetSignInState = exports.sendSessionHeartbeat = exports.doSignOut = exports.updateSignInState = exports.doSignIn = exports.sendEmailMagicLinkToUser = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFA = void 0;
45
- exports.updateOpExByVendorSort = exports.updateOpExByVendorSearchString = exports.updateOpExByVendorAdditionalBalancesSelection = exports.getOpExByVendorUIState = exports.getOpExByVendorReport = exports.updateOpExByVendorUIState = exports.updateOpExByVendorTimeFrame = exports.fetchOpExByVendorReportForTimeframe = exports.fetchOpExByVendor = exports.fetchOpExWithForecast = exports.getOperatingExpensesForHighlightedRange = exports.getOperatingExpensesForSelectedRange = exports.getOperatingExpensesUIState = exports.getOperatingExpensesReport = exports.getOperatingExpensesReportFetchState = exports.updateOpExUIState = exports.updateOpExDownloadState = exports.updateOpExCOABalancesRange = exports.fetchOpEx = exports.fetchReimbursementCard = exports.fetchBillPayCard = exports.fetchCashBalance = exports.getCashBalance = exports.updateStatementCloseDay = exports.fetchCardBalance = exports.getCardBalance = exports.hasAICFOAccess = exports.hasTreasuryAccessible = exports.hasChargeCardAccessible = exports.hasZeniAccountsAccessible = exports.hasReimbursementAccessible = exports.hasBillPayAccessible = exports.hasAnyFinOpRole = exports.hasAnyCompanyRole = exports.hasZeniAccountsAdminLevelAccess = exports.hasSpendManagementAdminLevelAccess = exports.hasSpendManagementAccess = exports.hasChargeCardAdminLevelAccess = exports.hasBillPayAdminLevelAccess = exports.hasReimbursementAdminLevelAccess = exports.hasReimbursementAccess = exports.hasBillPayAccess = exports.hasTreasuryAdminLevelAccess = exports.hasTreasuryAccess = exports.hasZeniAccountsAccess = exports.hasChargeCardAccess = exports.getUserRoleByUserIds = exports.getUserRoleByUserId = exports.isZeniSignedInUser = exports.hasOnlyZeniAccountsAccess = void 0;
46
- exports.updateRevenueCOABalancesRange = exports.getRevenueForHighlightedRange = exports.getRevenueForSelectedRange = exports.getRevenueUIState = exports.getRevenueReportFetchState = exports.getRevenueReport = exports.fetchRevenueWithForecast = exports.fetchRevenue = exports.toAverageMonthsCount = exports.getNetBurnOrIncomeStoryCardReport = exports.updateNetBurnOrIncomeStoryCardSettings = exports.fetchNetBurnOrIncomeStoryCard = exports.isNetBurnOrIncomeReportViewSectionID = exports.isNetBurnOrIncomeReportViewCalculatedSectionID = exports.getNetBurnOrIncomeReportFetchState = exports.getNetBurnOrIncomeUIState = exports.getNetBurnOrIncomeForHighlightedRange = exports.getNetBurnOrIncomeForSelectedRange = exports.getNetBurnOrIncomeReport = exports.updateNetBurnOrIncomeDownloadState = exports.updateNetBurnOrIncomeCOABalancesRange = exports.fetchNetBurnOrIncomeWithForecast = exports.updateNetBurnOrIncomeUIState = exports.fetchNetBurnOrIncome = exports.isNetBurnOrIncomeClassesViewCalculatedSectionID = exports.isNetBurnOrIncomeClassesViewSectionID = exports.getNetBurnOrIncomeClassesViewForSelectedRange = exports.getNetBurnOrIncomeClassesViewForHighlightedRange = exports.getNetBurnOrIncomeClassesView = exports.updateNetBurnOrIncomeClassesViewUIState = exports.updateNetBurnOrIncomeClassesToFilterOut = exports.updateNetBurnOrIncomeAccountViewMode = exports.fetchNetBurnOrIncomeClassesView = exports.isOpExClassesViewCalculatedSectionID = exports.isOpExClassesViewSectionID = exports.getOpExClassesViewForSelectedRange = exports.getOpExClassesViewForHighlightedRange = exports.getOpExClassesView = exports.updateOpExClassesViewUIState = exports.updateOpExClassesToFilterOut = exports.updateOpExAccountViewMode = exports.fetchOpExClassesView = exports.isOpexByVendorIDNotSpecifiedVendor = exports.getOpexVendorTimeframeKey = exports.toOpexByVendorSortKeyType = exports.updateOpExByVendorPageLimit = exports.clearOpExByVendorSearch = exports.updateOpExByVendorDownloadState = exports.updateOpExByVendorSortOrSearchInProgress = exports.updateOpExByVendorPageFetchInProgress = void 0;
47
- exports.updateProfitAndLossClassesViewUIState = exports.resetProfitAndLossClassesNodeCollapseState = exports.updateProfitAndLossClassesToFilterOut = exports.fetchProfitAndLossClassesView = exports.fetchProfitAndLossForTimeframe = exports.getPandLReportFetchState = exports.getProfitAndLossReport = exports.updateProfitAndLossUIState = exports.resetProfitAndLossNodeCollapseState = exports.fetchProfitAndLoss = exports.getPandLWithForecast = exports.updateDashboardLayout = exports.updateTreasuryVideoClosed = exports.getDashboard = exports.fetchDashboard = exports.getAllTopExpenses = exports.getTop6Expenses = exports.getTopExpenses = exports.updateTopExDownloadState = exports.updateTopExTimeFrame = exports.fetchTopEx = exports.updateCashInCashOutUIState = exports.updateCashInCashOutDownloadState = exports.updateCashInCashOutCOABalancesRange = exports.getCashInCashOutForHighlightedRange = exports.getCashInCashOutForSelectedRange = exports.getCashInCashOutUIState = exports.getCashInCashOut = exports.fetchCashInCashOut = exports.getCashPositionForHighlightedRange = exports.getCashPositionForSelectedRange = exports.getCashPositionUIState = exports.getCashPosition = exports.updateCashPositionUIState = exports.updateCashPositionDownloadState = exports.updateCashPositionCOABalancesRange = exports.fetchCashPosition = exports.isRevenueClassesViewCalculatedSectionID = exports.isRevenueClassesViewSectionID = exports.getRevenueClassesViewForSelectedRange = exports.getRevenueClassesViewForHighlightedRange = exports.getRevenueClassesView = exports.updateRevenueClassesViewUIState = exports.updateRevenueClassesToFilterOut = exports.updateRevenueAccountViewMode = exports.fetchRevenueClassesView = exports.isRevenueSectionID = exports.isRevenueCalculatedSectionID = exports.updateRevenueUIState = exports.updateRevenueDownloadState = void 0;
48
- exports.fetchNotificationSettingsView = exports.updateNotificationSettingsLocalData = exports.saveNotificationSettings = exports.fetchNotificationSettings = exports.saveCompanyBillingAddress = exports.fetchCompanyBillingAddress = exports.fetchBillingAccountsView = exports.fetchBankConnectionsView = exports.fetchMyProfile = exports.fetchMyProfileView = exports.clearSettingsView = exports.NOTIFICATION_MODES = exports.REMINDER_NOTIFICATION_TYPES = exports.initializeEditPerson = exports.getPeopleLocalData = exports.getPeople = exports.peopleClearDataInLocalStore = exports.peopleSaveDataInLocalStore = exports.resetUpdateErrorMessage = exports.peopleSaveUpdates = exports.updatePeopleUIState = exports.inviteZeniPeople = exports.invitePeople = exports.changeZeniPersonRoles = exports.resendInvite = exports.deletePerson = exports.fetchPeople = exports.fetchPeoplePage = exports.fetchAllPeopleRequiredViews = exports.getUserList = exports.fetchUserListByType = exports.getAccountingProviderAttachment = exports.getProfitAndLossProjectView = exports.updateProfitAndLossProjectViewUIState = exports.updateProjectsToFilterOut = exports.updateProjectViewAccountViewMode = exports.resetProfitAndLossProjectNodeCollapseState = exports.fetchProfitAndLossProjectView = exports.fetchProfitAndLossForTimeframeProjectView = exports.clearProfitAndLossProjectView = exports.isHorizontalAccountReportData = exports.HORIZONTAL_CLASS_TOTAL_BALANCE_ID = exports.isPandLReportViewSectionID = exports.isPandLReportViewCalculatedSectionID = exports.getProfitAndLossClassesHorizontalView = exports.getEmptyHorizontalSectionBalancesSlice = exports.aggregateHorizontalDescendantBalances = exports.getProfitAndLossClassesView = exports.updateClassViewLayout = exports.updateProfitAndLossAccountViewMode = void 0;
49
- exports.updateSelectedReportId = exports.updateCOABalancesRange = exports.fetchFinanceStatement = exports.getReportsResyncView = exports.getFinanceStatement = exports.fetchCashFlowForTimeframe = exports.isCashFlowReportViewCalculatedSectionType1ID = exports.isCashFlowReportViewSectionID = exports.isCashFlowReportViewCalculatedSectionID = exports.typeOfCashFlowRootSection = exports.updateCashFlowUIState = exports.resetCashFlowNodeCollapseState = exports.getCashFlowReportFetchState = exports.getCashFlow = exports.fetchCashFlow = exports.fetchBalanceSheetForTimeframe = exports.isBalanceSheetReportViewCalculatedSectionID = exports.isBalanceSheetReportViewSectionID = exports.typeOfBalanceSheetRootSection = exports.updateBalanceSheetUIState = exports.resetBalanceSheetNodeCollapseState = exports.getBalanceSheetForFullDataAvailableRange = exports.getBalanceSheetFetchState = exports.getBalanceSheet = exports.fetchBalanceSheet = exports.initializeMyProfileLocalData = exports.updateMyProfileLocalData = exports.updateMyProfile = exports.isRemindersSectionVisibleOnSettingsPage = exports.isPerformanceTabVisible = exports.isNotificationsTabVisible = exports.isMyBankConnectionsTabVisible = exports.isSettingsVisible = exports.isIntegrationsTabVisible = exports.isCompanyDetailsTabVisible = exports.isBusinessVerificationTabVisible = exports.isBillingTabVisible = exports.isBankConnectionsTabVisible = exports.isApprovalRulesTabVisible = exports.isAccountingTabVisible = exports.getMyBankConnectionsDetails = exports.getMyProfileView = exports.getBillingAccountsViewDetails = exports.getNotificationSettings = exports.getNotificationSettingsView = exports.isMonthEndNotificationsSectionVisibleOnSettingsPage = exports.updateSettingsViewUIState = exports.refreshQBOData = exports.resetNotificationSettingsUpdateStatus = exports.resetNotificationSettingsLocalData = void 0;
50
- exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.updateTransactionListByEntityFailure = exports.clearTransactionDetailSaveStatus = exports.saveTransactionDetailLocalData = exports.updateTransactionListByEntity = exports.fetchEntityTransactionList = exports.getTransactionListUIStateByAccountKey = exports.getTransactionListByAccount = exports.parallelFetchTransactionListByCategoryType = exports.updateTransactionListUIStateByCategoryType = exports.updateTransactionListByProject = exports.updateTransactionListByProjectUIState = exports.parallelFetchProjectTransactionList = exports.updateTransactionListByClass = exports.updateTransactionListByClassUIState = exports.parallelFetchClassTransactionList = exports.updateTransactionListByAccountUIState = exports.updateTransactionListByAccountFailure = exports.updateTransactionListByAccount = exports.fetchAccountTransactionList = exports.parallelFetchEntityTransactionList = exports.parallelFetchAccountTransactionList = exports.updateLatestTransactionId = exports.clearTransactionList = exports.getSupportedTransactionById = exports.isTransferTransaction = exports.isVendorTransactionWithCustomer = exports.isVendorTransaction = exports.updateVendors = exports.defaultVendorCurrency = exports.toTransactionCategory = exports.toTransactionTypeStrict = exports.toTransactionType = exports.toPlatformLineDetailType = exports.toTransactionID = exports.isCustomerTransaction = exports.defaultCustomerCurrency = exports.toAttachment = exports.mapFileEntityToAttachment = exports.toContentType = exports.toContentTypeStrict = exports.clearReportsResync = exports.reportsResyncFailure = exports.reportsResyncSuccess = exports.initiateReportsResync = exports.updateFinanceStatementFormat = exports.updateFinanceStatementDisplayOrder = exports.updateFinanceStatementAdditionalBalancesSelection = exports.updateDownloadState = void 0;
51
- exports.getTrendWithTransactions = exports.trendWithTransactionsUpdateSelectedTimeperiod = exports.clearTrendWithTransactions = exports.fetchTransactionsForEntity = exports.fetchTrendForEntity = exports.updateReportUIOptionCOABalancesRange = exports.updateReportUIOptionThisPeriod = exports.toggleReportUIOptionForecastMode = exports.updateReportUIOptionIsCompareModeOn = exports.updateReportUIOptionCompareMode = exports.updateReportUIOptionIsForecastVsActualOn = exports.updateReportUIOptionSelectedForecast = exports.updateReportUIOptionTimeframe = exports.getForecastList = exports.fetchForecastList = exports.updateSelectedInsightIndex = exports.fetchInsightsCard = exports.getInsights = exports.getUpdatablePeriodsForTransactionRecommendations = exports.getTransactionDetailForTransaction = exports.getTransactionDetail = exports.getTransactionListByEntityForSinglePeriod = exports.getTransactionListUIStateByProjectKey = exports.getTransactionListByProject = exports.getTransactionListUIStateByClassKey = exports.getTransactionListByClass = exports.getTransactionListByEntity = exports.getThirdPartyIdFromTransactionId = exports.deleteTransactionAttachment = exports.uploadMissingAttachmentSuccess = exports.updateTransactionDetail = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetVendor = exports.resetSelectedCustomer = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.markCategoryClassRecommendationsFailureForTransactionDetail = exports.initializeTransactionDetailLocalData = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.saveTransactionDetail = void 0;
52
- exports.retryBankAccountConnection = exports.toReviewColumnKeyType = exports.getReviewCompanyListCount = exports.getReviewCompanySelectorView = exports.updateReviewCompanyListUIState = exports.fetchReviewCompanyView = exports.updateCompanyDownloadState = exports.fetchZeniUsers = exports.fetchSubscriptionView = exports.fetchPortfolioView = exports.fetchManagementView = exports.fetchOnboardingView = exports.fetchParentSubsidiaryManagementView = exports.updateCompanyManagementUIState = exports.updateCompanyPortfolioUIState = exports.fetchCompanyPortfolioView = exports.fetchCompanyManagementView = exports.fetchAllCockpitViews = exports.companyManagementSaveUpdates = exports.getParentSubsidiaryManagementView = exports.getAddonListZeniSku = exports.getPlanListZeniSku = exports.getCompanyManagementView = exports.getControllersName = exports.getFirstControllerId = exports.getFirstControllerEmail = exports.getCompanyInfoForAllCockpitCompaniesInState = exports.getControllersForCompany = exports.getCompanyByCompanyId = exports.isCompanyEligibleForTreasury = exports.ALL_ACCOUNTING_CONNECTION_CREATION_MODES = exports.getAddressByAddressId = exports.getEntityByEntityIDs = exports.clearAllEntities = exports.updateEntities = exports.getEntityAutoCompleteResults = exports.fetchEntityAutoCompleteResults = exports.clearAllEntityAutoCompleteResults = exports.clearEntityAutoCompleteResults = exports.fetchEntityAutoCompleteEpic = exports.toEntityType = exports.VendorExpenseTrend = exports.CustomerIncomeTrend = exports.getCurrentFiscalQuarterDateRange = exports.getTrendForEntity = exports.clearTrendData = exports.fetchExpenseTrend = exports.fetchIncomeTrend = exports.getEntityDetailUIStateByEntity = exports.getLatestTimeFrameWithTransactionsForEntity = void 0;
53
- exports.COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY = exports.COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES = exports.toCompanyPassportLocalData = exports.clearCompanyView = exports.updateAccountingClassesEnabled = exports.saveCompanyPassportDetails = exports.updateCompanyPassportLocalStoreData = exports.companyPassportClearDataInLocalStore = exports.deleteCompanyOfficerInLocalStore = exports.saveIndustryAndIncDateInCompanyPassportLocalStore = exports.companyPassportSaveDataInLocalStore = exports.isCompanyPassportDataToBeSaved = exports.getCompanyPassportLocalStoreData = exports.getCompanyPassportView = exports.fetchCompanyPassportView = exports.isAllowedValueWithID = exports.isAllowedValueWithCode = exports.toCockpitTabsFileTypeStrict = exports.toCockpitTabsIDStrict = exports.ALL_COCKPIT_TABS_IDS = exports.ALL_COCKPIT_TABS_FILE_TYPES = exports.toTaskManagerSortKeyType = exports.toHealthSortKeyType = exports.toPortfolioSortKeyType = exports.toOnboardingSortKeyType = exports.toManagementSortKeyType = exports.removeNewAddressDataInLocalStore = exports.createAddress = exports.clearAddressView = exports.fetchAddress = exports.getFormattedAddress = exports.getAllNewAddresses = exports.getNewAddress = exports.getAddress = exports.newAddressInLocalStore = exports.getCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportTemplates = exports.fetchCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricDates = exports.getCompanyMonthEndReportSelectorView = exports.resetSendCompanyMonthEndReportFetchStatus = exports.resetCompanyMonthEndReportFetchStatus = exports.saveCompanyMonthEndReport = exports.sendCompanyMonthEndReport = exports.fetchCompanyMonthEndReportView = exports.fetchImproveUsingZeniGPT = exports.getAllCockpitTabsFilterView = exports.isInfiniteRunway = exports.getCompanyPortfolioView = exports.getAuditWarningsCount = void 0;
54
- exports.deleteFileFailure = exports.deleteFile = exports.deleteFileListSuccess = exports.deleteFileListFailure = exports.deleteFileList = exports.updateFilesMetadata = exports.updateFileNameSuccess = exports.updateFileNameFailure = exports.updateFileName = exports.fetchFile = exports.fetchFileListSuccess = exports.fetchFileListFailure = exports.fetchFileList = exports.toSupportedTransactionLineAttachmentFileType = exports.toSupportedAttachmentFileType = exports.toSupportedAttachmentFileFormatType = exports.toSupportedFileTypeStrict = exports.removeAttachmentFiles = exports.updateAttachmentFiles = exports.updateFiles = exports.SUPPORTED_TRANSACTION_LINE_ATTACHMENT_FILE_TYPES = exports.SUPPORTED_ATTACHMENT_FILE_TYPES = exports.getSubscriptionEstimationData = exports.getSubscriptionLocalStoreDataView = exports.getSubscriptionsDetailView = exports.clearSubscriptionLocalData = exports.clearSubscriptionUpdateViewDataByTenantId = exports.saveSubscriptionLocalData = exports.initializeSubscriptionLocalData = exports.clearSubscriptionView = exports.fetchSubscriptionUpdateEstimate = exports.fetchSubscriptionCreateEstimate = exports.saveSubscriptionNotesUpdates = exports.saveSubscriptionUpdates = exports.fetchSubscriptionDetails = exports.fetchSubscriptionCoupons = exports.fetchSubscriptionAddOns = exports.fetchSubscriptionPlans = exports.fetchSubscriptionList = exports.updateCompanySubscriptionUIState = exports.getCompanySubscriptionView = exports.toSubscriptionSortKeyType = exports.getBankAccount = exports.getNestedAccountListHierarchy = exports.getUncategorizedAccounts = exports.getCompanyOnboardingSubIndustryCodesForIndustry = exports.COMPANY_US_NEXUS_TYPE_CODES = exports.COMPANY_TRANSACTION_VOLUME_CODES = exports.COMPANY_SOURCE_OF_FUNDS_CODES = exports.COMPANY_PURPOSE_OF_ACCOUNT_CODES = void 0;
55
- exports.fetchBankCountryNameByIban = exports.fetchBankNameBySwift = exports.fetchBankNameByRouting = exports.fetchVendorDetailPageView = exports.fetchVendorDetails = exports.updateStatusForCreateBankAccountFlow = exports.clearBankAccountView = exports.updateInternationalBankAccountViewLocalStoreData = exports.updateBankAccountViewLocalStoreData = exports.initializeVendorAddress = exports.updateSelectedVendorForCreateFlow = exports.removeBankAccountsInVendorView = exports.saveVendor = exports.fetchVendor = exports.updateFiling1099SearchUIState = exports.updateFiling1099SortUIState = exports.updateFiling1099ScrollYOffset = exports.fetchVendorsFiling1099List = exports.fetchVendorsFiling1099All = exports.updateScrollYOffset = exports.fetchVendorsList = exports.vendorsTabResetVendorDetailLocalData = exports.vendorsTabUpdateVendorDetailLocalData = exports.vendorsTabSaveVendorSuccessOrFailure = exports.vendorsTabSaveVendor = exports.getVendorsTabDetailPageView = exports.toVendorDetailTabsType = exports.getVendorAllTransactionsDefaultTimePeriod = exports.resetVendorsTabVendorAllTransactionsTabData = exports.resetSelectedTabType = exports.updateVendorsTabVendorAllTransactionsTabData = exports.updateVendorSpendTrendFilterTabValue = exports.updateSelectedTabType = exports.fetchVendorsTabVendorDetailPageView = exports.getVendorDetailPageView = exports.getVendorView = exports.getAnalyticsDataOnVendorSave = exports.fetchTasksCard = exports.downloadFile = exports.getAttachmentFileIdByFileName = exports.mapAttachmentFileToAttachmentFilePayload = exports.mapAttachmentFilePayloadToFile = exports.mapFilePayloadToFile = exports.uploadFile = exports.getFileDeleteStatusById = exports.getFileUpdateNameStatusById = exports.getDeleteFileListWithStatus = exports.getFileListWithStatus = exports.clearFileViewList = exports.deleteFileSuccess = void 0;
56
- exports.isBillConditionallyValid = exports.clearBillPayBulkActionView = exports.getBillsBulkOperationProgress = exports.incrementBulkActionProcessedCount = exports.autoReviewPendingApprovalBills = exports.submitDraftBillsBulkAction = exports.cancelOrDeleteBillsBulkAction = exports.approveOrRejectBillsBulkAction = exports.validateBillsBulkAction = exports.getBillsBulkReviewView = exports.clearAllBillsFromBulkActionList = exports.removeBillFromBulkActionList = exports.updateBillsBulkActionList = exports.updateBillListDownloadUIState = exports.updateRemiListDownloadUIState = exports.REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED = exports.REIMBURSEMENT_FILTER_CATEGORIES = exports.updateRemiListFilterResult = exports.updateBillListFilterResult = exports.updateRemiListSearchResult = exports.updateRemiListUIState = exports.updateRemiDetailSaveRemiCode = exports.updateRemiListSubTab = exports.updateRemiListTab = exports.fetchRemiListPerTab = exports.fetchRemiList = exports.getRemiDownloadList = exports.getRemiList = exports.toReimbursementTypeCode = exports.toRemiTabTypeStrict = exports.toRemiTabType = exports.toRemiSubTabTypeStrict = exports.toRemiSubTabType = exports.checkShowMarkAsPaidButton = exports.toOutsideZeniPaymentModeType = exports.updateW9FormOCRDataToLocalData = exports.updateVendor1099DetailsLocalData = exports.initializeVendorFiling1099UploadDetailsLocalState = exports.vendorFiling1099UploadDetailsResetLocalData = exports.vendorFiling1099UploadDetailsResetFormStatus = exports.vendorFiling1099UploadDetailsSave = exports.getVendorUploadDetailsByVendorId = exports.updateW9FormUploadFile = exports.updateW9FormUploadFetchState = exports.deleteUserBankAccount = exports.createUserBankAccount = exports.resetCreateBankAccountDetails = exports.createInternationalBankAccount = exports.createBankAccount = exports.deleteBankAccount = void 0;
57
- exports.updateBillListUIState = exports.saveVendorSuccessOrFailure = exports.updateShowAutofill = exports.fetchBillAndInitializeLocalStore = exports.getReviewPageBillDetail = exports.getEditBillDetail = exports.clearBillPayReview = exports.fetchDuplicateBill = exports.fetchAndUpdateVendorRecommendations = exports.fetchEditBillDetailPage = exports.fetchBillDetail = exports.getBillTransactionDetailKey = exports.checkApproveRejectBtnShowForBill = exports.getBillDetailView = exports.getBillDownloadList = exports.getBillList = exports.retryOrRefundBill = exports.cancelAndDeleteBill = exports.deleteBill = exports.updateApprovalStatusOnSuccess = exports.approveOrRejectBill = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.updateBillDetailSaveBillCode = exports.updateSelectedBillId = exports.updateSubTab = exports.updateTab = exports.fetchBillListPerTab = exports.fetchBillList = exports.fetchProjectList = exports.getProjectList = exports.fetchClassList = exports.getClassList = exports.checkIfCreatorIsApprover = exports.discardOutsideZeniPaymentLocalData = exports.updateOutsideZeniPaymentLocalData = exports.incrementRemiBulkActionProcessedCount = exports.clearRemiBulkActionView = exports.autoReviewPendingApprovalRemis = exports.submitDraftRemisBulkAction = exports.cancelOrDeleteRemisBulkAction = exports.approveOrRejectRemisBulkAction = exports.reviewDraftRemisBulkAction = exports.clearAllRemisFromBulkActionList = exports.removeRemiFromBulkActionList = exports.updateRemisBulkActionList = exports.getRemisBulkOperationProgress = exports.getRemisBulkReviewView = void 0;
58
- exports.getBillPaySetupViewDetails = exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveTreasuryAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.updatePrimaryFundingAccount = exports.updateMappedCashAccount = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = exports.fetchZeniAccountSetupView = exports.fetchBillPaySetupView = exports.hideCreatedByFilter = exports.updateShouldReplaceBillData = exports.replaceBillFileInLocalStore = exports.removeBillFileFromLocalStore = exports.updateWithdrawFromAccountId = exports.markBillForRetry = exports.fetchVendorAndUpdateBillLocalData = exports.convertAmountToHomeCurrency = exports.toPaymentToOption = exports.updateVendorContact = exports.verifyUser = exports.fetchUserDetails = exports.updateBillListSearchResult = exports.updateBillUploadFetchState = exports.updateContactsInVendorTabDetailLocalData = exports.updateVendorTabDetailUIState = exports.updateContactsInVendorDetailLocalData = exports.resetVendorSaveStatus = exports.resetVendorDetailLocalData = exports.updateVendorDetailLocalData = exports.BILL_PAY_FILTER_CATEGORIES = void 0;
59
- exports.saveRemiSetupApproverViewUpdates = exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.setBillsSetupApproverViewListeningToPusherEvent = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isAccessDeniedError = exports.isInvalidSessionError = exports.isSuccessResponse = exports.VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = exports.getTwoFactorAuthenticationViewForChargeCardHolder = exports.getTwoFactorAuthenticationViewForCardUserOnboarding = exports.getTwoFactorAuthenticationView = exports.getCommonSetupViewDetails = exports.getTreasuryBusinessVerificationDetails = exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getPlaidAccountDetails = void 0;
60
- exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.isAllFetchCompleted = exports.isAnyFetchInProgress = exports.reduceAnyCompletedFetchState = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchStateParallelTimeframes = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.updateHomeCurrencyConversion = exports.updateReimbursementType = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = exports.clearDuplicateReimbursementDetail = exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.setRemiSetupApproverViewListeningToPusherEvent = exports.initializeRemiSetupApproverViewUpdateData = void 0;
61
- exports.canSendMonthEndEmailReport = exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.isAccountUncategorized = exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.updateQBOConnectionPoolExternalConnection = exports.fetchQBOConnectionPool = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = void 0;
62
- exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getAllDepositAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.fetchAccountList = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsByTransactionId = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = void 0;
41
+ exports.clearExpenseAutomationFluxAnalysisView = exports.fetchFluxAnalysisView = exports.fetchCompletedTransactionsFailure = exports.fetchCompletedTransactionsSuccess = exports.fetchCompletedTransactions = exports.acknowledgeBulkUploadConfirmMatchComplete = exports.clearManualSearchResults = exports.searchTransactionsForManualMatchFailure = exports.searchTransactionsForManualMatchSuccess = exports.searchTransactionsForManualMatch = exports.clearBulkUpload = exports.setBulkUploadUploadedFileCount = exports.setBulkUploadSortConfig = exports.setBulkUploadCompletedSubTab = exports.setBulkUploadResultsTab = exports.confirmBulkUploadMatchFailure = exports.confirmBulkUploadMatchSuccess = exports.confirmBulkUploadMatch = exports.refreshBatchDetailsForBatchId = exports.markBatchDetailRefreshAttempted = exports.clearBulkUploadBatchDetailsForScopeChange = exports.fetchBulkUploadBatchesFailure = exports.fetchBulkUploadBatchesSuccess = exports.fetchBulkUploadBatches = exports.fetchMoreBatchDetailsFailure = exports.fetchMoreBatchDetailsComplete = exports.fetchMoreBatchDetails = exports.storeBatchDetails = exports.fetchBulkUploadBatchDetailsFailure = exports.fetchBulkUploadBatchDetailsSuccess = exports.fetchBulkUploadBatchDetails = exports.clearMissingReceiptsTabNavigation = exports.requestMissingReceiptsTabNavigation = exports.pusherBatchStatusUpdate = exports.updateBulkUploadProgress = exports.restoreBulkUploadMatchingState = exports.restoreBulkUploadAutomatchingOnMount = exports.bulkUploadReceiptsFailure = exports.bulkUploadReceiptsSuccess = exports.bulkUploadAutomatchingTimedOut = exports.bulkUploadReceipts = exports.fetchExpenseAutomationMissingReceipts = exports.updateTransactionCategorizationCompletedSubTab = exports.updateCurrentSelectedTransactionCategorizationTab = exports.refreshExpenseAutomationCurrentTab = exports.fetchAllExpenseAutomationTabs = exports.markExpenseAutomationMissingReceiptAsDone = exports.uploadExpenseAutomationMissingReceiptSuccess = exports.toExpenseAutomationViewType = exports.toExpenseAutomationTransactionsTabKey = void 0;
42
+ exports.setStatementParseInProgress = exports.isReviewTransactionCreditCardCreditType = exports.isReviewTransactionExpenseType = exports.isReviewTransactionDepositType = exports.isReviewTransactionCreditCardPaymentType = exports.isReviewTransactionBillPaymentType = exports.isReviewTransactionBankTransferType = exports.updateStatementUploadChosen = exports.updateNodeCollapseState = exports.uploadAccountStatement = exports.deleteAccountStatement = exports.toReconciliationAccountSource = exports.updateExpenseAutomationAccountReconciliationLocalData = exports.saveExpenseAutomationReconciliationReview = exports.updateExpenseAutomationSelectedDrawerAccountId = exports.updateExpenseAutomationReconReviewTabLocalData = exports.isAccountReconReport = exports.toReconciliationTabsType = exports.getAccountReconByAccountIdAndSelectedPeriod = exports.setConnectionInProgressForAccountReconciliation = exports.updateExpenseAutomationReconListScrollPosition = exports.uploadAccountStatementIntoDocumentAI = exports.fetchReconciliationView = exports.getExpenseAutomationReconciliationView = exports.updateExpenseAutomationAccountReconciliationSelectedAccountId = exports.updateExpenseAutomationAccountReconciliationSelectedTab = exports.updateExpenseAutomationReconcileTabLocalData = exports.updateExpenseAutomationReconcileTabListSortState = exports.updateExpenseAutomationReconReviewTabListSortState = exports.updateExpenseAutomationReconcileTabListScrollState = exports.saveExpenseAutomationReconciliationDetail = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliation = exports.isAnyItemWithUncategorizedExpenseAccount = exports.getLineItemsByTransactionIdsFromLocalData = exports.checkIfAllLineItemsAreCategoryClassFilled = exports.MAX_SELECTION_LIMIT = exports.updateFluxAnalysisViewPageMetaData = exports.updateFluxAnalysisViewUIState = exports.getExpenseAutomationTransactionView = exports.updateCurrentSelectedPeriod = exports.updateCurrentSelectedView = exports.getExpenseAutomationFluxAnalysisView = exports.uploadTransactionCategorizationReceiptSuccess = exports.updateTransactionCategorizationUploadReceiptState = exports.updateExpenseAutomationMissingReceiptsUIState = exports.updateExpenseAutomationMissingReceiptUploadState = exports.reviewFluxAnalysisView = exports.updateFluxAnalysisSelectedSectionIdsForReview = exports.updateFluxOperatingExpensesIdsForReview = void 0;
43
+ exports.updateCurrentTenant = exports.fetchAllTenants = exports.fetchActiveTenant = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantId = exports.getTenantBaseViewForTenantView = exports.toTenantCoreDetailsView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantsByCheckInDateSelector = exports.getIsAccountingProjectsEnabled = exports.getIsAccountingClassesEnabled = exports.getCurrentTenant = exports.getTenantBaseById = exports.toQuarterStrict = exports.toQuarter = exports.toMonthStrict = exports.toMonth = exports.toScheduleDaysOfMonth = exports.SCHEDULE_DAYS_OF_MONTH = exports.getNumberOfPeriods = exports.toVendorSpendTrendFilterTabsTypeStrict = exports.convertToPeriod = exports.toMonthYearPeriodId = exports.toAbsoluteDay = exports.toTimePeriod = exports.mapTimePeriodtoTimeframeTick = exports.toTimeframeTick = exports.TOP_EX_TIME_PERIODS = exports.toTransactionsSortKey = exports.clearExpenseAutomationTransactionsView = exports.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.initializeTransactionCategorizationViewLocalData = exports.setEntityRecommendationForLineIdsForCategorization = exports.updateSelectedCheckboxTransactionIds = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorizationView = exports.fetchTransactionCategorization = void 0;
44
+ exports.hasRemiFallbackAdminLevelAccess = exports.hasBillPayFallbackAdminLevelAccess = exports.hasSuperAdminLevelAccess = exports.hasZeniRoleOrCompanyOfficerAccess = exports.hasOnlyBillPayAccess = exports.getUserRoleMap = exports.hasInvestorBankerLevelAccess = exports.isNonZeniRole = exports.hasBookKeepingUserLevelAccess = exports.hasBookKeepingAdminLevelAccess = exports.hasEmployeeLevelAccess = exports.hasReimbursementUserAccess = exports.hasFullOrAdminLevelAccess = exports.hasAdminLevelAccess = exports.isFinOpsUserRoleType = exports.toUserRoleTypeStrict = exports.toUserRoleType = exports.getAllZeniUsersFromState = exports.getUsersByUserIds = exports.getUserByUserId = exports.getUserName = exports.getForecast = exports.getClassById = exports.getAccountGroupKey = exports.toAccountGroupType = exports.toAccountType = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.fetchSubscriptionSummaryForTenant = exports.toExternalSupportedTool = exports.toExternalIntegrationType = exports.saveOAuthConnection = exports.saveConnectorCredentials = exports.saveAPIKeyConnection = exports.deleteConnection = exports.saveExternalConnectionForTenant = exports.fetchExternalConnectionsForTenant = exports.fetchExcludedResourcesForTenant = exports.resetSignInState = exports.sendSessionHeartbeat = exports.doSignOut = exports.updateSignInState = exports.doSignIn = exports.sendEmailMagicLinkToUser = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFA = exports.doMagicLinkSignIn = exports.clearAll = void 0;
45
+ exports.updateOpExByVendorAdditionalBalancesSelection = exports.getOpExByVendorUIState = exports.getOpExByVendorReport = exports.updateOpExByVendorUIState = exports.updateOpExByVendorTimeFrame = exports.fetchOpExByVendorReportForTimeframe = exports.fetchOpExByVendor = exports.fetchOpExWithForecast = exports.getOperatingExpensesForHighlightedRange = exports.getOperatingExpensesForSelectedRange = exports.getOperatingExpensesUIState = exports.getOperatingExpensesReport = exports.getOperatingExpensesReportFetchState = exports.updateOpExUIState = exports.updateOpExDownloadState = exports.updateOpExCOABalancesRange = exports.fetchOpEx = exports.fetchReimbursementCard = exports.fetchBillPayCard = exports.fetchCashBalance = exports.getCashBalance = exports.updateStatementCloseDay = exports.fetchCardBalance = exports.getCardBalance = exports.hasAICFOAccess = exports.hasTreasuryAccessible = exports.hasChargeCardAccessible = exports.hasZeniAccountsAccessible = exports.hasReimbursementAccessible = exports.hasBillPayAccessible = exports.hasAnyFinOpRole = exports.hasAnyCompanyRole = exports.hasZeniAccountsAdminLevelAccess = exports.hasSpendManagementAdminLevelAccess = exports.hasSpendManagementAccess = exports.hasChargeCardAdminLevelAccess = exports.hasBillPayAdminLevelAccess = exports.hasReimbursementAdminLevelAccess = exports.hasReimbursementAccess = exports.hasBillPayAccess = exports.hasTreasuryAdminLevelAccess = exports.hasTreasuryAccess = exports.hasZeniAccountsAccess = exports.hasChargeCardAccess = exports.getUserRoleByUserIds = exports.getUserRoleByUserId = exports.isZeniSignedInUser = exports.hasOnlyZeniAccountsAccess = exports.hasOnlyChargeCardAccess = exports.hasOnlyReimbursementAccess = void 0;
46
+ exports.getRevenueForSelectedRange = exports.getRevenueUIState = exports.getRevenueReportFetchState = exports.getRevenueReport = exports.fetchRevenueWithForecast = exports.fetchRevenue = exports.toAverageMonthsCount = exports.getNetBurnOrIncomeStoryCardReport = exports.updateNetBurnOrIncomeStoryCardSettings = exports.fetchNetBurnOrIncomeStoryCard = exports.isNetBurnOrIncomeReportViewSectionID = exports.isNetBurnOrIncomeReportViewCalculatedSectionID = exports.getNetBurnOrIncomeReportFetchState = exports.getNetBurnOrIncomeUIState = exports.getNetBurnOrIncomeForHighlightedRange = exports.getNetBurnOrIncomeForSelectedRange = exports.getNetBurnOrIncomeReport = exports.updateNetBurnOrIncomeDownloadState = exports.updateNetBurnOrIncomeCOABalancesRange = exports.fetchNetBurnOrIncomeWithForecast = exports.updateNetBurnOrIncomeUIState = exports.fetchNetBurnOrIncome = exports.isNetBurnOrIncomeClassesViewCalculatedSectionID = exports.isNetBurnOrIncomeClassesViewSectionID = exports.getNetBurnOrIncomeClassesViewForSelectedRange = exports.getNetBurnOrIncomeClassesViewForHighlightedRange = exports.getNetBurnOrIncomeClassesView = exports.updateNetBurnOrIncomeClassesViewUIState = exports.updateNetBurnOrIncomeClassesToFilterOut = exports.updateNetBurnOrIncomeAccountViewMode = exports.fetchNetBurnOrIncomeClassesView = exports.isOpExClassesViewCalculatedSectionID = exports.isOpExClassesViewSectionID = exports.getOpExClassesViewForSelectedRange = exports.getOpExClassesViewForHighlightedRange = exports.getOpExClassesView = exports.updateOpExClassesViewUIState = exports.updateOpExClassesToFilterOut = exports.updateOpExAccountViewMode = exports.fetchOpExClassesView = exports.isOpexByVendorIDNotSpecifiedVendor = exports.getOpexVendorTimeframeKey = exports.toOpexByVendorSortKeyType = exports.updateOpExByVendorPageLimit = exports.clearOpExByVendorSearch = exports.updateOpExByVendorDownloadState = exports.updateOpExByVendorSortOrSearchInProgress = exports.updateOpExByVendorPageFetchInProgress = exports.updateOpExByVendorSort = exports.updateOpExByVendorSearchString = void 0;
47
+ exports.updateProfitAndLossClassesToFilterOut = exports.fetchProfitAndLossClassesView = exports.fetchProfitAndLossForTimeframe = exports.getPandLReportFetchState = exports.getProfitAndLossReport = exports.updateProfitAndLossUIState = exports.resetProfitAndLossNodeCollapseState = exports.fetchProfitAndLoss = exports.getPandLWithForecast = exports.updateDashboardLayout = exports.updateTreasuryVideoClosed = exports.getDashboard = exports.fetchDashboard = exports.getAllTopExpenses = exports.getTop6Expenses = exports.getTopExpenses = exports.updateTopExDownloadState = exports.updateTopExTimeFrame = exports.fetchTopEx = exports.updateCashInCashOutUIState = exports.updateCashInCashOutDownloadState = exports.updateCashInCashOutCOABalancesRange = exports.getCashInCashOutForHighlightedRange = exports.getCashInCashOutForSelectedRange = exports.getCashInCashOutUIState = exports.getCashInCashOut = exports.fetchCashInCashOut = exports.getCashPositionForHighlightedRange = exports.getCashPositionForSelectedRange = exports.getCashPositionUIState = exports.getCashPosition = exports.updateCashPositionUIState = exports.updateCashPositionDownloadState = exports.updateCashPositionCOABalancesRange = exports.fetchCashPosition = exports.isRevenueClassesViewCalculatedSectionID = exports.isRevenueClassesViewSectionID = exports.getRevenueClassesViewForSelectedRange = exports.getRevenueClassesViewForHighlightedRange = exports.getRevenueClassesView = exports.updateRevenueClassesViewUIState = exports.updateRevenueClassesToFilterOut = exports.updateRevenueAccountViewMode = exports.fetchRevenueClassesView = exports.isRevenueSectionID = exports.isRevenueCalculatedSectionID = exports.updateRevenueUIState = exports.updateRevenueDownloadState = exports.updateRevenueCOABalancesRange = exports.getRevenueForHighlightedRange = void 0;
48
+ exports.saveNotificationSettings = exports.fetchNotificationSettings = exports.saveCompanyBillingAddress = exports.fetchCompanyBillingAddress = exports.fetchBillingAccountsView = exports.fetchBankConnectionsView = exports.fetchMyProfile = exports.fetchMyProfileView = exports.clearSettingsView = exports.NOTIFICATION_MODES = exports.REMINDER_NOTIFICATION_TYPES = exports.initializeEditPerson = exports.getPeopleLocalData = exports.getPeople = exports.peopleClearDataInLocalStore = exports.peopleSaveDataInLocalStore = exports.resetUpdateErrorMessage = exports.peopleSaveUpdates = exports.updatePeopleUIState = exports.inviteZeniPeople = exports.invitePeople = exports.changeZeniPersonRoles = exports.resendInvite = exports.deletePerson = exports.fetchPeople = exports.fetchPeoplePage = exports.fetchAllPeopleRequiredViews = exports.getUserList = exports.fetchUserListByType = exports.getAccountingProviderAttachment = exports.getProfitAndLossProjectView = exports.updateProfitAndLossProjectViewUIState = exports.updateProjectsToFilterOut = exports.updateProjectViewAccountViewMode = exports.resetProfitAndLossProjectNodeCollapseState = exports.fetchProfitAndLossProjectView = exports.fetchProfitAndLossForTimeframeProjectView = exports.clearProfitAndLossProjectView = exports.isHorizontalAccountReportData = exports.HORIZONTAL_CLASS_TOTAL_BALANCE_ID = exports.isPandLReportViewSectionID = exports.isPandLReportViewCalculatedSectionID = exports.getProfitAndLossClassesHorizontalView = exports.getEmptyHorizontalSectionBalancesSlice = exports.aggregateHorizontalDescendantBalances = exports.getProfitAndLossClassesView = exports.updateClassViewLayout = exports.updateProfitAndLossAccountViewMode = exports.updateProfitAndLossClassesViewUIState = exports.resetProfitAndLossClassesNodeCollapseState = void 0;
49
+ exports.fetchFinanceStatement = exports.getReportsResyncView = exports.getFinanceStatement = exports.fetchCashFlowForTimeframe = exports.isCashFlowReportViewCalculatedSectionType1ID = exports.isCashFlowReportViewSectionID = exports.isCashFlowReportViewCalculatedSectionID = exports.typeOfCashFlowRootSection = exports.updateCashFlowUIState = exports.resetCashFlowNodeCollapseState = exports.getCashFlowReportFetchState = exports.getCashFlow = exports.fetchCashFlow = exports.fetchBalanceSheetForTimeframe = exports.isBalanceSheetReportViewCalculatedSectionID = exports.isBalanceSheetReportViewSectionID = exports.typeOfBalanceSheetRootSection = exports.updateBalanceSheetUIState = exports.resetBalanceSheetNodeCollapseState = exports.getBalanceSheetForFullDataAvailableRange = exports.getBalanceSheetFetchState = exports.getBalanceSheet = exports.fetchBalanceSheet = exports.initializeMyProfileLocalData = exports.updateMyProfileLocalData = exports.updateMyProfile = exports.isRemindersSectionVisibleOnSettingsPage = exports.isPerformanceTabVisible = exports.isNotificationsTabVisible = exports.isMyBankConnectionsTabVisible = exports.isSettingsVisible = exports.isIntegrationsTabVisible = exports.isCompanyDetailsTabVisible = exports.isBusinessVerificationTabVisible = exports.isBillingTabVisible = exports.isBankConnectionsTabVisible = exports.isApprovalRulesTabVisible = exports.isAccountingTabVisible = exports.getMyBankConnectionsDetails = exports.getMyProfileView = exports.getBillingAccountsViewDetails = exports.getNotificationSettings = exports.getNotificationSettingsView = exports.isMonthEndNotificationsSectionVisibleOnSettingsPage = exports.updateSettingsViewUIState = exports.refreshQBOData = exports.resetNotificationSettingsUpdateStatus = exports.resetNotificationSettingsLocalData = exports.fetchNotificationSettingsView = exports.updateNotificationSettingsLocalData = void 0;
50
+ exports.updateTransactionListByEntityFailure = exports.clearTransactionDetailSaveStatus = exports.saveTransactionDetailLocalData = exports.updateTransactionListByEntity = exports.fetchEntityTransactionList = exports.getTransactionListUIStateByAccountKey = exports.getTransactionListByAccount = exports.parallelFetchTransactionListByCategoryType = exports.updateTransactionListUIStateByCategoryType = exports.updateTransactionListByProject = exports.updateTransactionListByProjectUIState = exports.parallelFetchProjectTransactionList = exports.updateTransactionListByClass = exports.updateTransactionListByClassUIState = exports.parallelFetchClassTransactionList = exports.updateTransactionListByAccountUIState = exports.updateTransactionListByAccountFailure = exports.updateTransactionListByAccount = exports.fetchAccountTransactionList = exports.parallelFetchEntityTransactionList = exports.parallelFetchAccountTransactionList = exports.updateLatestTransactionId = exports.clearTransactionList = exports.getSupportedTransactionById = exports.isTransferTransaction = exports.isVendorTransactionWithCustomer = exports.isVendorTransaction = exports.updateVendors = exports.defaultVendorCurrency = exports.toTransactionCategory = exports.toTransactionTypeStrict = exports.toTransactionType = exports.toPlatformLineDetailType = exports.toTransactionID = exports.isCustomerTransaction = exports.defaultCustomerCurrency = exports.toAttachment = exports.mapFileEntityToAttachment = exports.toContentType = exports.toContentTypeStrict = exports.clearReportsResync = exports.reportsResyncFailure = exports.reportsResyncSuccess = exports.initiateReportsResync = exports.updateFinanceStatementFormat = exports.updateFinanceStatementDisplayOrder = exports.updateFinanceStatementAdditionalBalancesSelection = exports.updateDownloadState = exports.updateSelectedReportId = exports.updateCOABalancesRange = void 0;
51
+ exports.trendWithTransactionsUpdateSelectedTimeperiod = exports.clearTrendWithTransactions = exports.fetchTransactionsForEntity = exports.fetchTrendForEntity = exports.updateReportUIOptionCOABalancesRange = exports.updateReportUIOptionThisPeriod = exports.toggleReportUIOptionForecastMode = exports.updateReportUIOptionIsCompareModeOn = exports.updateReportUIOptionCompareMode = exports.updateReportUIOptionIsForecastVsActualOn = exports.updateReportUIOptionSelectedForecast = exports.updateReportUIOptionTimeframe = exports.getForecastList = exports.fetchForecastList = exports.updateSelectedInsightIndex = exports.fetchInsightsCard = exports.getInsights = exports.getUpdatablePeriodsForTransactionRecommendations = exports.getTransactionDetailForTransaction = exports.getTransactionDetail = exports.getTransactionListByEntityForSinglePeriod = exports.getTransactionListUIStateByProjectKey = exports.getTransactionListByProject = exports.getTransactionListUIStateByClassKey = exports.getTransactionListByClass = exports.getTransactionListByEntity = exports.getThirdPartyIdFromTransactionId = exports.deleteTransactionAttachment = exports.uploadMissingAttachmentSuccess = exports.updateTransactionDetail = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetVendor = exports.resetSelectedCustomer = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.initializeTransactionDetailLocalData = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.saveTransactionDetail = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = void 0;
52
+ exports.toReviewColumnKeyType = exports.getReviewCompanyListCount = exports.getReviewCompanySelectorView = exports.updateReviewCompanyListUIState = exports.fetchReviewCompanyView = exports.updateCompanyDownloadState = exports.fetchZeniUsers = exports.fetchSubscriptionView = exports.fetchPortfolioView = exports.fetchManagementView = exports.fetchOnboardingView = exports.fetchParentSubsidiaryManagementView = exports.updateCompanyManagementUIState = exports.updateCompanyPortfolioUIState = exports.fetchCompanyPortfolioView = exports.fetchCompanyManagementView = exports.fetchAllCockpitViews = exports.companyManagementSaveUpdates = exports.getParentSubsidiaryManagementView = exports.getAddonListZeniSku = exports.getPlanListZeniSku = exports.getCompanyManagementView = exports.getControllersName = exports.getFirstControllerId = exports.getFirstControllerEmail = exports.getCompanyInfoForAllCockpitCompaniesInState = exports.getControllersForCompany = exports.getCompanyByCompanyId = exports.isCompanyEligibleForTreasury = exports.ALL_ACCOUNTING_CONNECTION_CREATION_MODES = exports.getAddressByAddressId = exports.getEntityByEntityIDs = exports.clearAllEntities = exports.updateEntities = exports.getEntityAutoCompleteResults = exports.fetchEntityAutoCompleteResults = exports.clearAllEntityAutoCompleteResults = exports.clearEntityAutoCompleteResults = exports.fetchEntityAutoCompleteEpic = exports.toEntityType = exports.VendorExpenseTrend = exports.CustomerIncomeTrend = exports.getCurrentFiscalQuarterDateRange = exports.getTrendForEntity = exports.clearTrendData = exports.fetchExpenseTrend = exports.fetchIncomeTrend = exports.getEntityDetailUIStateByEntity = exports.getLatestTimeFrameWithTransactionsForEntity = exports.getTrendWithTransactions = void 0;
53
+ exports.COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES = exports.toCompanyPassportLocalData = exports.clearCompanyView = exports.updateAccountingClassesEnabled = exports.saveCompanyPassportDetails = exports.updateCompanyPassportLocalStoreData = exports.companyPassportClearDataInLocalStore = exports.deleteCompanyOfficerInLocalStore = exports.saveIndustryAndIncDateInCompanyPassportLocalStore = exports.companyPassportSaveDataInLocalStore = exports.isCompanyPassportDataToBeSaved = exports.getCompanyPassportLocalStoreData = exports.getCompanyPassportView = exports.fetchCompanyPassportView = exports.isAllowedValueWithID = exports.isAllowedValueWithCode = exports.toCockpitTabsFileTypeStrict = exports.toCockpitTabsIDStrict = exports.ALL_COCKPIT_TABS_IDS = exports.ALL_COCKPIT_TABS_FILE_TYPES = exports.toTaskManagerSortKeyType = exports.toHealthSortKeyType = exports.toPortfolioSortKeyType = exports.toOnboardingSortKeyType = exports.toManagementSortKeyType = exports.removeNewAddressDataInLocalStore = exports.createAddress = exports.clearAddressView = exports.fetchAddress = exports.getFormattedAddress = exports.getAllNewAddresses = exports.getNewAddress = exports.getAddress = exports.newAddressInLocalStore = exports.getCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportTemplates = exports.fetchCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricDates = exports.getCompanyMonthEndReportSelectorView = exports.resetSendCompanyMonthEndReportFetchStatus = exports.resetCompanyMonthEndReportFetchStatus = exports.saveCompanyMonthEndReport = exports.sendCompanyMonthEndReport = exports.fetchCompanyMonthEndReportView = exports.fetchImproveUsingZeniGPT = exports.getAllCockpitTabsFilterView = exports.isInfiniteRunway = exports.getCompanyPortfolioView = exports.getAuditWarningsCount = exports.retryBankAccountConnection = void 0;
54
+ exports.deleteFile = exports.deleteFileListSuccess = exports.deleteFileListFailure = exports.deleteFileList = exports.updateFilesMetadata = exports.updateFileNameSuccess = exports.updateFileNameFailure = exports.updateFileName = exports.fetchFile = exports.fetchFileListSuccess = exports.fetchFileListFailure = exports.fetchFileList = exports.toSupportedTransactionLineAttachmentFileType = exports.toSupportedAttachmentFileType = exports.toSupportedAttachmentFileFormatType = exports.toSupportedFileTypeStrict = exports.removeAttachmentFiles = exports.updateAttachmentFiles = exports.updateFiles = exports.SUPPORTED_TRANSACTION_LINE_ATTACHMENT_FILE_TYPES = exports.SUPPORTED_ATTACHMENT_FILE_TYPES = exports.getSubscriptionEstimationData = exports.getSubscriptionLocalStoreDataView = exports.getSubscriptionsDetailView = exports.clearSubscriptionLocalData = exports.clearSubscriptionUpdateViewDataByTenantId = exports.saveSubscriptionLocalData = exports.initializeSubscriptionLocalData = exports.clearSubscriptionView = exports.fetchSubscriptionUpdateEstimate = exports.fetchSubscriptionCreateEstimate = exports.saveSubscriptionNotesUpdates = exports.saveSubscriptionUpdates = exports.fetchSubscriptionDetails = exports.fetchSubscriptionCoupons = exports.fetchSubscriptionAddOns = exports.fetchSubscriptionPlans = exports.fetchSubscriptionList = exports.updateCompanySubscriptionUIState = exports.getCompanySubscriptionView = exports.toSubscriptionSortKeyType = exports.getBankAccount = exports.getNestedAccountListHierarchy = exports.getUncategorizedAccounts = exports.getCompanyOnboardingSubIndustryCodesForIndustry = exports.COMPANY_US_NEXUS_TYPE_CODES = exports.COMPANY_TRANSACTION_VOLUME_CODES = exports.COMPANY_SOURCE_OF_FUNDS_CODES = exports.COMPANY_PURPOSE_OF_ACCOUNT_CODES = exports.COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY = void 0;
55
+ exports.fetchBankNameBySwift = exports.fetchBankNameByRouting = exports.fetchVendorDetailPageView = exports.fetchVendorDetails = exports.updateStatusForCreateBankAccountFlow = exports.clearBankAccountView = exports.updateInternationalBankAccountViewLocalStoreData = exports.updateBankAccountViewLocalStoreData = exports.initializeVendorAddress = exports.updateSelectedVendorForCreateFlow = exports.removeBankAccountsInVendorView = exports.saveVendor = exports.fetchVendor = exports.updateFiling1099SearchUIState = exports.updateFiling1099SortUIState = exports.updateFiling1099ScrollYOffset = exports.fetchVendorsFiling1099List = exports.fetchVendorsFiling1099All = exports.updateScrollYOffset = exports.fetchVendorsList = exports.vendorsTabResetVendorDetailLocalData = exports.vendorsTabUpdateVendorDetailLocalData = exports.vendorsTabSaveVendorSuccessOrFailure = exports.vendorsTabSaveVendor = exports.getVendorsTabDetailPageView = exports.toVendorDetailTabsType = exports.getVendorAllTransactionsDefaultTimePeriod = exports.resetVendorsTabVendorAllTransactionsTabData = exports.resetSelectedTabType = exports.updateVendorsTabVendorAllTransactionsTabData = exports.updateVendorSpendTrendFilterTabValue = exports.updateSelectedTabType = exports.fetchVendorsTabVendorDetailPageView = exports.getVendorDetailPageView = exports.getVendorView = exports.getAnalyticsDataOnVendorSave = exports.fetchTasksCard = exports.downloadFile = exports.getAttachmentFileIdByFileName = exports.mapAttachmentFileToAttachmentFilePayload = exports.mapAttachmentFilePayloadToFile = exports.mapFilePayloadToFile = exports.uploadFile = exports.getFileDeleteStatusById = exports.getFileUpdateNameStatusById = exports.getDeleteFileListWithStatus = exports.getFileListWithStatus = exports.clearFileViewList = exports.deleteFileSuccess = exports.deleteFileFailure = void 0;
56
+ exports.clearBillPayBulkActionView = exports.getBillsBulkOperationProgress = exports.incrementBulkActionProcessedCount = exports.autoReviewPendingApprovalBills = exports.submitDraftBillsBulkAction = exports.cancelOrDeleteBillsBulkAction = exports.approveOrRejectBillsBulkAction = exports.validateBillsBulkAction = exports.getBillsBulkReviewView = exports.clearAllBillsFromBulkActionList = exports.removeBillFromBulkActionList = exports.updateBillsBulkActionList = exports.updateBillListDownloadUIState = exports.updateRemiListDownloadUIState = exports.REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED = exports.REIMBURSEMENT_FILTER_CATEGORIES = exports.updateRemiListFilterResult = exports.updateBillListFilterResult = exports.updateRemiListSearchResult = exports.updateRemiListUIState = exports.updateRemiDetailSaveRemiCode = exports.updateRemiListSubTab = exports.updateRemiListTab = exports.fetchRemiListPerTab = exports.fetchRemiList = exports.getRemiDownloadList = exports.getRemiList = exports.toReimbursementTypeCode = exports.toRemiTabTypeStrict = exports.toRemiTabType = exports.toRemiSubTabTypeStrict = exports.toRemiSubTabType = exports.checkShowMarkAsPaidButton = exports.toOutsideZeniPaymentModeType = exports.updateW9FormOCRDataToLocalData = exports.updateVendor1099DetailsLocalData = exports.initializeVendorFiling1099UploadDetailsLocalState = exports.vendorFiling1099UploadDetailsResetLocalData = exports.vendorFiling1099UploadDetailsResetFormStatus = exports.vendorFiling1099UploadDetailsSave = exports.getVendorUploadDetailsByVendorId = exports.updateW9FormUploadFile = exports.updateW9FormUploadFetchState = exports.deleteUserBankAccount = exports.createUserBankAccount = exports.resetCreateBankAccountDetails = exports.createInternationalBankAccount = exports.createBankAccount = exports.deleteBankAccount = exports.fetchBankCountryNameByIban = void 0;
57
+ exports.saveVendorSuccessOrFailure = exports.updateShowAutofill = exports.fetchBillAndInitializeLocalStore = exports.getReviewPageBillDetail = exports.getEditBillDetail = exports.clearBillPayReview = exports.fetchDuplicateBill = exports.fetchAndUpdateVendorRecommendations = exports.fetchEditBillDetailPage = exports.fetchBillDetail = exports.getBillTransactionDetailKey = exports.checkApproveRejectBtnShowForBill = exports.getBillDetailView = exports.getBillDownloadList = exports.getBillList = exports.retryOrRefundBill = exports.cancelAndDeleteBill = exports.deleteBill = exports.updateApprovalStatusOnSuccess = exports.approveOrRejectBill = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.updateBillDetailSaveBillCode = exports.updateSelectedBillId = exports.updateSubTab = exports.updateTab = exports.fetchBillListPerTab = exports.fetchBillList = exports.fetchProjectList = exports.getProjectList = exports.fetchClassList = exports.getClassList = exports.checkIfCreatorIsApprover = exports.discardOutsideZeniPaymentLocalData = exports.updateOutsideZeniPaymentLocalData = exports.incrementRemiBulkActionProcessedCount = exports.clearRemiBulkActionView = exports.autoReviewPendingApprovalRemis = exports.submitDraftRemisBulkAction = exports.cancelOrDeleteRemisBulkAction = exports.approveOrRejectRemisBulkAction = exports.reviewDraftRemisBulkAction = exports.clearAllRemisFromBulkActionList = exports.removeRemiFromBulkActionList = exports.updateRemisBulkActionList = exports.getRemisBulkOperationProgress = exports.getRemisBulkReviewView = exports.isBillConditionallyValid = void 0;
58
+ exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveTreasuryAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.updatePrimaryFundingAccount = exports.updateMappedCashAccount = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = exports.fetchZeniAccountSetupView = exports.fetchBillPaySetupView = exports.hideCreatedByFilter = exports.updateShouldReplaceBillData = exports.replaceBillFileInLocalStore = exports.removeBillFileFromLocalStore = exports.updateWithdrawFromAccountId = exports.markBillForRetry = exports.fetchVendorAndUpdateBillLocalData = exports.convertAmountToHomeCurrency = exports.toPaymentToOption = exports.updateVendorContact = exports.verifyUser = exports.fetchUserDetails = exports.updateBillListSearchResult = exports.updateBillUploadFetchState = exports.updateContactsInVendorTabDetailLocalData = exports.updateVendorTabDetailUIState = exports.updateContactsInVendorDetailLocalData = exports.resetVendorSaveStatus = exports.resetVendorDetailLocalData = exports.updateVendorDetailLocalData = exports.BILL_PAY_FILTER_CATEGORIES = exports.updateBillListUIState = void 0;
59
+ exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.setBillsSetupApproverViewListeningToPusherEvent = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isAccessDeniedError = exports.isInvalidSessionError = exports.isSuccessResponse = exports.VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = exports.getTwoFactorAuthenticationViewForChargeCardHolder = exports.getTwoFactorAuthenticationViewForCardUserOnboarding = exports.getTwoFactorAuthenticationView = exports.getCommonSetupViewDetails = exports.getTreasuryBusinessVerificationDetails = exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getPlaidAccountDetails = exports.getBillPaySetupViewDetails = void 0;
60
+ exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.isAllFetchCompleted = exports.isAnyFetchInProgress = exports.reduceAnyCompletedFetchState = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchStateParallelTimeframes = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.updateHomeCurrencyConversion = exports.updateReimbursementType = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = exports.clearDuplicateReimbursementDetail = exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.setRemiSetupApproverViewListeningToPusherEvent = exports.initializeRemiSetupApproverViewUpdateData = exports.saveRemiSetupApproverViewUpdates = void 0;
61
+ exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.isAccountUncategorized = exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.updateQBOConnectionPoolExternalConnection = exports.fetchQBOConnectionPool = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = void 0;
62
+ exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getAllDepositAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.fetchAccountList = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsByTransactionId = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = void 0;
63
63
  exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = exports.updateMagicLinkBankAccountLocalStoreData = exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getProductSettingsString = exports.getOnboardingCustomerView = exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewDashboardLoaded = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = void 0;
64
64
  exports.fetchChargeCardRepaymentDetail = exports.clearChargeCardRepaymentDetail = exports.getMyRequestOnHoldChargeCardListWithShippingAddress = exports.getMyPendingActivationChargeCardListView = exports.getChargeCardListView = exports.fetchCreditAccountRepayment = exports.fetchCreditAccount = exports.fetchChargeCardConfig = exports.fetchChargeCardListPage = exports.fetchChargeCardList = exports.fetchDebitCardSummary = exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.attachmentFilePathToAttachment = exports.addDeclinedChargeCardTransactionFromPusher = exports.addChargeCardTransactionFromPusher = exports.updateCreditAccountBalanceFromPusher = exports.updateChargeCardTransactionReceiptFromPusher = exports.updateChargeCardTransactionFromPusher = exports.updateChargeCardTransactionStatusFromPusher = exports.updateChargeCardSpendingFromPusher = exports.updateChargeCardStatusFromPusher = exports.updateChargeCardTransactionAttachments = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.fetchCompanyHealthMetricConfig = exports.getCompanyHealthMetricConfig = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = void 0;
65
65
  exports.fetchIssueCardPage = exports.issueChargeCards = exports.toCardType = exports.toShippingAddressType = exports.toCardAddressType = exports.getDepositAccountLimitForChargeCardByDepositAccountId = exports.expressInterestInChargeCard = exports.acceptChargeCardTerms = exports.enableChargeCardAutoPay = exports.fetchChargeCardSetupView = exports.getChargeCardStatements = exports.fetchChargeCardStatementList = exports.getChargeCardSetupViewDetails = exports.getIssueChargeCardView = exports.getDepositAccountListWithDebitCardIssued = exports.toCreditLimitFrequencyCodeType = exports.getZeniDateFromPeriod = exports.getCashbackDetail = exports.toChargeCardSortKeyType = exports.fetchCashbackDetail = exports.fetchChargeCardTransactionList = exports.getChargeCardCVVActivateView = exports.getChargeCardBulkActionView = exports.getChargeCardRowActionView = exports.getChargeCardRecurringExpensesView = exports.getChargeCardRecurringExpensesByCardIds = exports.getDebitCardSetPinView = exports.getChargeCardTransactionAttachmentView = exports.getDepositAccountLimitFetchStateByDepositAccountId = exports.getChargeCardControlDetailView = exports.getChargeCardDetailView = exports.fetchDepositAccountLimit = exports.fetchChargeCardTransactionStatistics = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.getCreditAccountDetails = exports.PAYMENT_HISTORY_FILTER_CATEGORIES = exports.getPaymentStatusDisplayText = exports.getPaymentHistorySourceAccountName = exports.getChargeCardPaymentHistoryView = exports.getChargeCardPaymentHistoryDownloadReport = exports.updatePaymentHistoryUIState = exports.updatePaymentHistorySearchText = exports.updatePaymentHistoryFilters = exports.updatePaymentHistoryDownloadUIState = exports.fetchChargeCardPaymentHistory = exports.fetchChargeCardPaymentPage = exports.getChargeCardRepaymentDetail = exports.updateChargeCardRepaymentLocalStore = exports.initiateChargeCardRepayment = void 0;
@@ -776,6 +776,7 @@ Object.defineProperty(exports, "bulkUploadReceipts", { enumerable: true, get: fu
776
776
  Object.defineProperty(exports, "bulkUploadReceiptsFailure", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.bulkUploadReceiptsFailure; } });
777
777
  Object.defineProperty(exports, "bulkUploadReceiptsSuccess", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.bulkUploadReceiptsSuccess; } });
778
778
  Object.defineProperty(exports, "clearBulkUpload", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.clearBulkUpload; } });
779
+ Object.defineProperty(exports, "clearBulkUploadBatchDetailsForScopeChange", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.clearBulkUploadBatchDetailsForScopeChange; } });
779
780
  Object.defineProperty(exports, "clearManualSearchResults", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.clearManualSearchResults; } });
780
781
  Object.defineProperty(exports, "clearMissingReceiptsTabNavigation", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.clearMissingReceiptsTabNavigation; } });
781
782
  Object.defineProperty(exports, "confirmBulkUploadMatch", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.confirmBulkUploadMatch; } });
@@ -794,8 +795,10 @@ Object.defineProperty(exports, "fetchExpenseAutomationMissingReceipts", { enumer
794
795
  Object.defineProperty(exports, "fetchMoreBatchDetails", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.fetchMoreBatchDetails; } });
795
796
  Object.defineProperty(exports, "fetchMoreBatchDetailsComplete", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.fetchMoreBatchDetailsComplete; } });
796
797
  Object.defineProperty(exports, "fetchMoreBatchDetailsFailure", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.fetchMoreBatchDetailsFailure; } });
798
+ Object.defineProperty(exports, "markBatchDetailRefreshAttempted", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.markBatchDetailRefreshAttempted; } });
797
799
  Object.defineProperty(exports, "markExpenseAutomationMissingReceiptAsDone", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.markMissingReceiptAsDone; } });
798
800
  Object.defineProperty(exports, "pusherBatchStatusUpdate", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.pusherBatchStatusUpdate; } });
801
+ Object.defineProperty(exports, "refreshBatchDetailsForBatchId", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.refreshBatchDetailsForBatchId; } });
799
802
  Object.defineProperty(exports, "requestMissingReceiptsTabNavigation", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.requestMissingReceiptsTabNavigation; } });
800
803
  Object.defineProperty(exports, "restoreBulkUploadAutomatchingOnMount", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.restoreBulkUploadAutomatchingOnMount; } });
801
804
  Object.defineProperty(exports, "restoreBulkUploadMatchingState", { enumerable: true, get: function () { return missingReceiptsViewReducer_1.restoreBulkUploadMatchingState; } });
@@ -840,7 +843,6 @@ Object.defineProperty(exports, "fetchTransactionCategorization", { enumerable: t
840
843
  Object.defineProperty(exports, "fetchTransactionCategorizationFailure", { enumerable: true, get: function () { return transactionsViewReducer_1.fetchTransactionCategorizationFailure; } });
841
844
  Object.defineProperty(exports, "fetchTransactionCategorizationView", { enumerable: true, get: function () { return transactionsViewReducer_1.fetchTransactionCategorizationView; } });
842
845
  Object.defineProperty(exports, "initializeTransactionCategorizationViewLocalData", { enumerable: true, get: function () { return transactionsViewReducer_1.initializeTransactionCategorizationViewLocalData; } });
843
- Object.defineProperty(exports, "markCategoryClassRecommendationsFailureForCategorization", { enumerable: true, get: function () { return transactionsViewReducer_1.markCategoryClassRecommendationsFailureForCategorization; } });
844
846
  Object.defineProperty(exports, "markTransactionAsNotMiscategorized", { enumerable: true, get: function () { return transactionsViewReducer_1.markTransactionAsNotMiscategorized; } });
845
847
  Object.defineProperty(exports, "saveTransactionCategorization", { enumerable: true, get: function () { return transactionsViewReducer_1.saveTransactionCategorization; } });
846
848
  Object.defineProperty(exports, "saveTransactionCategorizationLocalData", { enumerable: true, get: function () { return transactionsViewReducer_1.saveTransactionCategorizationLocalData; } });
@@ -1161,7 +1163,6 @@ const projectListSelector_1 = require("./view/projectList/projectListSelector");
1161
1163
  Object.defineProperty(exports, "getProjectList", { enumerable: true, get: function () { return projectListSelector_1.getProjectList; } });
1162
1164
  const recommendationReducer_1 = require("./view/recommendation/recommendationReducer");
1163
1165
  Object.defineProperty(exports, "fetchEntityRecommendationsByTransactionId", { enumerable: true, get: function () { return recommendationReducer_1.fetchEntityRecommendationsByTransactionId; } });
1164
- Object.defineProperty(exports, "fetchEntityRecommendationsForLineUpdate", { enumerable: true, get: function () { return recommendationReducer_1.fetchEntityRecommendationsForLineUpdate; } });
1165
1166
  Object.defineProperty(exports, "fetchRecommendationByEntityId", { enumerable: true, get: function () { return recommendationReducer_1.fetchRecommendationByEntityId; } });
1166
1167
  Object.defineProperty(exports, "fetchRecommendationByEntityName", { enumerable: true, get: function () { return recommendationReducer_1.fetchRecommendationByEntityName; } });
1167
1168
  const referralReducer_1 = require("./view/referralView/referralReducer");
@@ -1926,7 +1927,6 @@ Object.defineProperty(exports, "downloadAccountingProviderAttachmentFailure", {
1926
1927
  Object.defineProperty(exports, "downloadAccountingProviderAttachmentSuccess", { enumerable: true, get: function () { return transactionDetailReducer_1.downloadAccountingProviderAttachmentSuccess; } });
1927
1928
  Object.defineProperty(exports, "fetchTransactionDetail", { enumerable: true, get: function () { return transactionDetailReducer_1.fetchTransactionDetail; } });
1928
1929
  Object.defineProperty(exports, "initializeTransactionDetailLocalData", { enumerable: true, get: function () { return transactionDetailReducer_1.initializeTransactionDetailLocalData; } });
1929
- Object.defineProperty(exports, "markCategoryClassRecommendationsFailureForTransactionDetail", { enumerable: true, get: function () { return transactionDetailReducer_1.markCategoryClassRecommendationsFailureForTransactionDetail; } });
1930
1930
  Object.defineProperty(exports, "removeEntityRecommendationForLineIdForTransactionDetail", { enumerable: true, get: function () { return transactionDetailReducer_1.removeEntityRecommendationForLineIdForTransactionDetail; } });
1931
1931
  Object.defineProperty(exports, "resetAllLineItemsToVendor", { enumerable: true, get: function () { return transactionDetailReducer_1.resetAllLineItemsToVendor; } });
1932
1932
  Object.defineProperty(exports, "resetLineItemsCategoryClassInLocalData", { enumerable: true, get: function () { return transactionDetailReducer_1.resetLineItemsCategoryClassInLocalData; } });
@@ -35,10 +35,19 @@ function fetchBatchDetailsByIds(batchIds, zeniAPI) {
35
35
  }
36
36
  const fetchMultipleBatchDetailsEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.fetchBulkUploadBatchesSuccess.match), (0, operators_1.mergeMap)((action) => {
37
37
  const batchList = action.payload.batchList;
38
- const { batchDetailsById } = state$.value.expenseAutomationMissingReceiptsViewState.bulkUpload;
38
+ const bulkUpload = state$.value.expenseAutomationMissingReceiptsViewState.bulkUpload;
39
+ const { batchDetailsById, batchDetailsRevalidating } = bulkUpload;
39
40
  /** Only completed list rows may trigger batch-details API; preserve platform order. */
40
- const completedBatchesMissingDetails = (0, missingReceiptsPayload_1.filterBatchListItemsForBatchDetailsFetch)(batchList).filter((batch) => batchDetailsById[batch.batchId] == null);
41
- const completedBatchIds = completedBatchesMissingDetails.map((batch) => batch.batchId);
41
+ const completedRows = (0, missingReceiptsPayload_1.filterBatchListItemsForBatchDetailsFetch)(batchList);
42
+ /**
43
+ * Stale-while-revalidate: when a manual refresh has set `batchDetailsRevalidating`, refresh
44
+ * every completed list row (replacing entries via `storeBatchDetails` as they arrive). On a
45
+ * normal first fetch we still only request rows whose details are missing.
46
+ */
47
+ const candidateRows = batchDetailsRevalidating === true
48
+ ? completedRows
49
+ : completedRows.filter((batch) => batchDetailsById[batch.batchId] == null);
50
+ const completedBatchIds = candidateRows.map((batch) => batch.batchId);
42
51
  const batchIdsToFetch = completedBatchIds.slice(0, INITIAL_BATCH_PAGE_SIZE);
43
52
  if (batchIdsToFetch.length === 0) {
44
53
  /**
@@ -46,7 +55,6 @@ const fetchMultipleBatchDetailsEpic = (actions$, state$, zeniAPI) => actions$.pi
46
55
  * `currentBatchId` may not appear in the filtered list but still needs `GET /batches/:id`.
47
56
  * Fall back to the single-batch-details epic so `phase` and details can resolve.
48
57
  */
49
- const bulkUpload = state$.value.expenseAutomationMissingReceiptsViewState.bulkUpload;
50
58
  const currentId = bulkUpload.currentBatchId;
51
59
  if (currentId != null &&
52
60
  bulkUpload.phase === 'matching' &&
@@ -54,7 +62,15 @@ const fetchMultipleBatchDetailsEpic = (actions$, state$, zeniAPI) => actions$.pi
54
62
  (0, missingReceiptsPayload_1.shouldFetchBatchDetailsForBatchId)(bulkUpload.batchStatusById, bulkUpload.batchListByPeriod, currentId)) {
55
63
  return (0, rxjs_1.of)((0, missingReceiptsViewReducer_1.fetchBulkUploadBatchDetails)());
56
64
  }
57
- return rxjs_1.EMPTY;
65
+ /**
66
+ * Close the pagination loop so the Unmatched-tab loading heuristic can settle.
67
+ * `fetchMoreBatchDetailsComplete` also clears `batchDetailsRevalidating` and flips
68
+ * `initialBatchDetailsLoaded` to true. Without this, `batchDetailsPaginationState` stays
69
+ * at `Not-Started` forever after a list refresh that finds zero completed rows (or all
70
+ * already cached) — the direct-open-Unmatched-without-upload path used to render an
71
+ * infinite skeleton.
72
+ */
73
+ return (0, rxjs_1.of)((0, missingReceiptsViewReducer_1.fetchMoreBatchDetailsComplete)());
58
74
  }
59
75
  return (0, rxjs_1.concat)((0, rxjs_1.of)((0, missingReceiptsViewReducer_1.setInitialBatchDetailsLoading)()), fetchBatchDetailsByIds(batchIdsToFetch, zeniAPI), (0, rxjs_1.of)((0, missingReceiptsViewReducer_1.fetchMoreBatchDetailsComplete)()));
60
76
  }));
@@ -0,0 +1,18 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateTransactions } from '../../../../entity/transaction/transactionReducer';
4
+ import { RootState } from '../../../../reducer';
5
+ import { ZeniAPI } from '../../../../zeniAPI';
6
+ import { batchDetailFetchFailed, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, storeBatchDetails } from '../../reducers/missingReceiptsViewReducer';
7
+ export type ActionType = ReturnType<typeof refreshBatchDetailsForBatchId> | ReturnType<typeof markBatchDetailRefreshAttempted> | ReturnType<typeof updateTransactions> | ReturnType<typeof storeBatchDetails> | ReturnType<typeof batchDetailFetchFailed>;
8
+ /**
9
+ * Single-batch stale-while-revalidate refresh. Triggered by `pusherBatchStatusCompletionEpic`
10
+ * (and any other path that wants to update one batch without wiping the cache). The response is
11
+ * stored via `storeBatchDetails`, which replaces the entry by `batchId` so the row updates in
12
+ * place — no skeleton, no list reflow.
13
+ *
14
+ * Throttle: `lastBatchDetailRefreshAtById[batchId]` is checked against `TARGETED_REFRESH_DEDUPE_MS`
15
+ * before issuing the call. The marker is emitted first so concurrent dispatches (e.g. Pusher
16
+ * resend during an in-flight request) see the dedupe timestamp and collapse to a single call.
17
+ */
18
+ export declare const refreshBatchDetailsForBatchIdEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.refreshBatchDetailsForBatchIdEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
7
+ const responsePayload_1 = require("../../../../responsePayload");
8
+ const missingReceiptsPayload_1 = require("../../payload/missingReceiptsPayload");
9
+ const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
10
+ /**
11
+ * Pusher resends the same `completed` event in some cases (reconnect, server retry). Skip a
12
+ * targeted refresh if we issued one for the same batch within this window — the cached details
13
+ * are already fresh, so another `GET /1.0/batches/:id` is wasteful and visually flickers nothing.
14
+ */
15
+ const TARGETED_REFRESH_DEDUPE_MS = 5000;
16
+ /**
17
+ * Single-batch stale-while-revalidate refresh. Triggered by `pusherBatchStatusCompletionEpic`
18
+ * (and any other path that wants to update one batch without wiping the cache). The response is
19
+ * stored via `storeBatchDetails`, which replaces the entry by `batchId` so the row updates in
20
+ * place — no skeleton, no list reflow.
21
+ *
22
+ * Throttle: `lastBatchDetailRefreshAtById[batchId]` is checked against `TARGETED_REFRESH_DEDUPE_MS`
23
+ * before issuing the call. The marker is emitted first so concurrent dispatches (e.g. Pusher
24
+ * resend during an in-flight request) see the dedupe timestamp and collapse to a single call.
25
+ */
26
+ const refreshBatchDetailsForBatchIdEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.refreshBatchDetailsForBatchId.match), (0, operators_1.mergeMap)((action) => {
27
+ const { batchId } = action.payload;
28
+ const now = Date.now();
29
+ const lastAttempt = state$.value.expenseAutomationMissingReceiptsViewState.bulkUpload
30
+ .lastBatchDetailRefreshAtById[batchId];
31
+ if (lastAttempt != null &&
32
+ now - lastAttempt < TARGETED_REFRESH_DEDUPE_MS) {
33
+ return rxjs_1.EMPTY;
34
+ }
35
+ const apiCall = zeniAPI
36
+ .getJSON(`${zeniAPI.apiEndPoints.communicationAgentMicroServiceBaseUrl}/1.0/batches/${batchId}`)
37
+ .pipe((0, operators_1.mergeMap)((response) => {
38
+ if (!(0, responsePayload_1.isSuccessResponse)(response) ||
39
+ response.data == null ||
40
+ !(0, missingReceiptsPayload_1.isBatchDetailsApiStatusCompleted)(response.data.status)) {
41
+ return rxjs_1.EMPTY;
42
+ }
43
+ const actions = [];
44
+ const transactionPayloads = (0, missingReceiptsPayload_1.extractTransactionPayloadsFromBatchFiles)(response.data.files);
45
+ if (transactionPayloads.length > 0) {
46
+ actions.push((0, transactionReducer_1.updateTransactions)(transactionPayloads, (value) => value.transaction_id));
47
+ }
48
+ actions.push((0, missingReceiptsViewReducer_1.storeBatchDetails)((0, missingReceiptsPayload_1.toBatchDetails)(response.data, zeniAPI.apiEndPoints.fileMicroServiceBaseUrl)));
49
+ return (0, rxjs_1.from)(actions);
50
+ }), (0, operators_1.catchError)((error) => {
51
+ console.error(`Failed to refresh batch details for ${batchId}:`, (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Refresh batch details errored out: ' + JSON.stringify(error)));
52
+ return (0, rxjs_1.of)((0, missingReceiptsViewReducer_1.batchDetailFetchFailed)({ batchId }));
53
+ }));
54
+ return (0, rxjs_1.concat)((0, rxjs_1.of)((0, missingReceiptsViewReducer_1.markBatchDetailRefreshAttempted)({ batchId, timestamp: now })), apiCall);
55
+ }));
56
+ exports.refreshBatchDetailsForBatchIdEpic = refreshBatchDetailsForBatchIdEpic;
@@ -0,0 +1,28 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../reducer';
4
+ import { bulkUploadReceiptsSuccess, clearBulkUpload, fetchBulkUploadBatchDetailsSuccess, fetchCompletedTransactions, fetchMissingReceipts, restoreBulkUploadMatchingState, storeBatchDetails } from '../../reducers/missingReceiptsViewReducer';
5
+ export type ActionType = ReturnType<typeof bulkUploadReceiptsSuccess> | ReturnType<typeof restoreBulkUploadMatchingState> | ReturnType<typeof fetchBulkUploadBatchDetailsSuccess> | ReturnType<typeof storeBatchDetails> | ReturnType<typeof clearBulkUpload> | ReturnType<typeof fetchMissingReceipts> | ReturnType<typeof fetchCompletedTransactions>;
6
+ /**
7
+ * After automatch completes for the active bulk-upload batch, refresh the two
8
+ * caches that are not invalidated by the existing batch-details refresh path:
9
+ * - Missing Receipts list (`transactionIdsBySelectedPeriod`)
10
+ * - Completed transactions cache (`bulkUpload.completedTransactionsByPeriod`)
11
+ *
12
+ * The Unmatched tab is already kept fresh via `pusherBatchStatusCompletionEpic`
13
+ * dispatching `fetchBulkUploadBatches({invalidateBatchDetailsCache: true})`,
14
+ * which feeds `fetchMultipleBatchDetailsEpic` and re-stores batch details.
15
+ *
16
+ * Lifecycle mirrors `bulkUploadMatchResultToastEpic`: trigger on
17
+ * `bulkUploadReceiptsSuccess` (fresh upload) or `restoreBulkUploadMatchingState`
18
+ * (restored session), then wait for the first batch-details action for that
19
+ * batchId — landing as either `fetchBulkUploadBatchDetailsSuccess` or
20
+ * `storeBatchDetails`. `clearBulkUpload` cancels the in-flight wait.
21
+ *
22
+ * Refetches use `cacheOverride: true` to bypass per-tab cache guards, and
23
+ * `fetchMissingReceipts` uses `refreshViewInBackground: true` to keep the
24
+ * existing rows visible while fresh data is in flight (the authoritative
25
+ * server filter `is_attachment_missing_only=true` removes matched rows once
26
+ * the response lands).
27
+ */
28
+ export declare const syncTabsAfterAutomatchEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncTabsAfterAutomatchEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
7
+ const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
8
+ const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
9
+ /**
10
+ * After automatch completes for the active bulk-upload batch, refresh the two
11
+ * caches that are not invalidated by the existing batch-details refresh path:
12
+ * - Missing Receipts list (`transactionIdsBySelectedPeriod`)
13
+ * - Completed transactions cache (`bulkUpload.completedTransactionsByPeriod`)
14
+ *
15
+ * The Unmatched tab is already kept fresh via `pusherBatchStatusCompletionEpic`
16
+ * dispatching `fetchBulkUploadBatches({invalidateBatchDetailsCache: true})`,
17
+ * which feeds `fetchMultipleBatchDetailsEpic` and re-stores batch details.
18
+ *
19
+ * Lifecycle mirrors `bulkUploadMatchResultToastEpic`: trigger on
20
+ * `bulkUploadReceiptsSuccess` (fresh upload) or `restoreBulkUploadMatchingState`
21
+ * (restored session), then wait for the first batch-details action for that
22
+ * batchId — landing as either `fetchBulkUploadBatchDetailsSuccess` or
23
+ * `storeBatchDetails`. `clearBulkUpload` cancels the in-flight wait.
24
+ *
25
+ * Refetches use `cacheOverride: true` to bypass per-tab cache guards, and
26
+ * `fetchMissingReceipts` uses `refreshViewInBackground: true` to keep the
27
+ * existing rows visible while fresh data is in flight (the authoritative
28
+ * server filter `is_attachment_missing_only=true` removes matched rows once
29
+ * the response lands).
30
+ */
31
+ const syncTabsAfterAutomatchEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)((action) => missingReceiptsViewReducer_1.bulkUploadReceiptsSuccess.match(action) ||
32
+ missingReceiptsViewReducer_1.restoreBulkUploadMatchingState.match(action)), (0, operators_1.switchMap)((uploadAction) => {
33
+ const { batchId } = uploadAction.payload;
34
+ return (0, rxjs_1.merge)(actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.fetchBulkUploadBatchDetailsSuccess.match)), actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.storeBatchDetails.match))).pipe((0, operators_1.filter)((a) => a.payload.batchId === batchId), (0, operators_1.take)(1), (0, operators_1.switchMap)((action) => {
35
+ const { summary } = action.payload;
36
+ if (summary.matched <= 0) {
37
+ return rxjs_1.EMPTY;
38
+ }
39
+ const state = state$.value;
40
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
41
+ const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
42
+ if (selectedPeriod == null) {
43
+ return (0, rxjs_1.from)([(0, missingReceiptsViewReducer_1.fetchCompletedTransactions)(undefined, true)]);
44
+ }
45
+ const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod);
46
+ const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
47
+ const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
48
+ if (timePeriodStart == null || timePeriodEnd == null) {
49
+ return (0, rxjs_1.from)([(0, missingReceiptsViewReducer_1.fetchCompletedTransactions)(undefined, true)]);
50
+ }
51
+ return (0, rxjs_1.from)([
52
+ (0, missingReceiptsViewReducer_1.fetchMissingReceipts)({ start: timePeriodStart, end: timePeriodEnd }, { amount: 75.0, currencyCode: 'USD', currencySymbol: '$' }, true, true),
53
+ (0, missingReceiptsViewReducer_1.fetchCompletedTransactions)(undefined, true),
54
+ ]);
55
+ }), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.clearBulkUpload.match))));
56
+ }));
57
+ exports.syncTabsAfterAutomatchEpic = syncTabsAfterAutomatchEpic;
@@ -4,13 +4,19 @@ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
4
  import { updateTransactions } from '../../../../entity/transaction/transactionReducer';
5
5
  import { RootState } from '../../../../reducer';
6
6
  import { ZeniAPI } from '../../../../zeniAPI';
7
- import { bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, clearBulkUpload, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, pusherBatchStatusUpdate, restoreBulkUploadMatchingState } from '../../reducers/missingReceiptsViewReducer';
8
- export type ActionType = ReturnType<typeof bulkUploadReceiptsSuccess> | ReturnType<typeof restoreBulkUploadMatchingState> | ReturnType<typeof pusherBatchStatusUpdate> | ReturnType<typeof fetchBulkUploadBatchDetails> | ReturnType<typeof fetchBulkUploadBatchDetailsSuccess> | ReturnType<typeof fetchBulkUploadBatches> | ReturnType<typeof updateTransactions> | ReturnType<typeof clearBulkUpload> | ReturnType<typeof openSnackbar> | ReturnType<typeof bulkUploadAutomatchingTimedOut>;
7
+ import { bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, clearBulkUpload, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, pusherBatchStatusUpdate, refreshBatchDetailsForBatchId, restoreBulkUploadMatchingState } from '../../reducers/missingReceiptsViewReducer';
8
+ export type ActionType = ReturnType<typeof bulkUploadReceiptsSuccess> | ReturnType<typeof restoreBulkUploadMatchingState> | ReturnType<typeof pusherBatchStatusUpdate> | ReturnType<typeof fetchBulkUploadBatchDetails> | ReturnType<typeof fetchBulkUploadBatchDetailsSuccess> | ReturnType<typeof fetchBulkUploadBatches> | ReturnType<typeof refreshBatchDetailsForBatchId> | ReturnType<typeof updateTransactions> | ReturnType<typeof clearBulkUpload> | ReturnType<typeof openSnackbar> | ReturnType<typeof bulkUploadAutomatchingTimedOut>;
9
9
  /**
10
- * On Pusher batch completion: refresh batch list (then fetchMultipleBatchDetailsEpic runs).
11
- * Debounced to reduce duplicate refreshes. The post-match tab decision
12
- * (Unmatched vs Completed) is made client-side in `ExpenseAutomationPage` once fresh
10
+ * On Pusher batch completion: refresh the batch list (so summary counts update) and dispatch a
11
+ * targeted single-batch details refresh for the batch that just completed. Stale-while-revalidate:
12
+ * we no longer pass `invalidateBatchDetailsCache: true` existing `batchDetailsById` entries stay
13
+ * on screen and the just-completed row replaces in place via `storeBatchDetails`. The post-match
14
+ * tab decision (Unmatched vs Completed) is made client-side in `ExpenseAutomationPage` once fresh
13
15
  * batch details land -- do not dispatch `requestMissingReceiptsTabNavigation` here.
16
+ *
17
+ * Pusher resend storms (same batch completing twice within the dedupe window) are throttled in
18
+ * `refreshBatchDetailsForBatchIdEpic` via `lastBatchDetailRefreshAtById`, so this epic stays
19
+ * stateless and just forwards the event.
14
20
  */
15
21
  export declare const pusherBatchStatusCompletionEpic: (actions$: ActionsObservable<ActionType>) => Observable<ActionType>;
16
22
  /**
@@ -15,16 +15,20 @@ const FALLBACK_FIRST_DELAY_MS = 30000;
15
15
  const RESTORE_FIRST_DELAY_MS = 5000;
16
16
  const FALLBACK_POLL_INTERVAL_MS = 10000;
17
17
  /**
18
- * On Pusher batch completion: refresh batch list (then fetchMultipleBatchDetailsEpic runs).
19
- * Debounced to reduce duplicate refreshes. The post-match tab decision
20
- * (Unmatched vs Completed) is made client-side in `ExpenseAutomationPage` once fresh
18
+ * On Pusher batch completion: refresh the batch list (so summary counts update) and dispatch a
19
+ * targeted single-batch details refresh for the batch that just completed. Stale-while-revalidate:
20
+ * we no longer pass `invalidateBatchDetailsCache: true` existing `batchDetailsById` entries stay
21
+ * on screen and the just-completed row replaces in place via `storeBatchDetails`. The post-match
22
+ * tab decision (Unmatched vs Completed) is made client-side in `ExpenseAutomationPage` once fresh
21
23
  * batch details land -- do not dispatch `requestMissingReceiptsTabNavigation` here.
24
+ *
25
+ * Pusher resend storms (same batch completing twice within the dedupe window) are throttled in
26
+ * `refreshBatchDetailsForBatchIdEpic` via `lastBatchDetailRefreshAtById`, so this epic stays
27
+ * stateless and just forwards the event.
22
28
  */
23
- const pusherBatchStatusCompletionEpic = (actions$) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.pusherBatchStatusUpdate.match), (0, operators_1.filter)((action) => action.payload.status === 'completed'), (0, operators_1.debounceTime)(300), (0, operators_1.mergeMap)(() => (0, rxjs_1.from)([
24
- (0, missingReceiptsViewReducer_1.fetchBulkUploadBatches)({
25
- cacheOverride: true,
26
- invalidateBatchDetailsCache: true,
27
- }),
29
+ const pusherBatchStatusCompletionEpic = (actions$) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.pusherBatchStatusUpdate.match), (0, operators_1.filter)((action) => action.payload.status === 'completed'), (0, operators_1.debounceTime)(300), (0, operators_1.mergeMap)((action) => (0, rxjs_1.from)([
30
+ (0, missingReceiptsViewReducer_1.fetchBulkUploadBatches)({ cacheOverride: true }),
31
+ (0, missingReceiptsViewReducer_1.refreshBatchDetailsForBatchId)({ batchId: action.payload.batchId }),
28
32
  ])));
29
33
  exports.pusherBatchStatusCompletionEpic = pusherBatchStatusCompletionEpic;
30
34
  /**
@@ -27,7 +27,6 @@ export declare const removeTransactionFromTabView: (tabView: TransactionsTabView
27
27
  */
28
28
  export declare const filterAutoTabLineItems: (tabView: TransactionsTabViewState, transactionId: ID, updatedTransaction: SupportedTransactionWithCOT) => void;
29
29
  export declare const MAX_SELECTION_LIMIT = 5;
30
- export declare const shouldAutoSelectAndAdd: (transaction: SupportedTransactionWithCOT, localData: TransactionReviewLocalData, selectedCheckBoxTransactionIds: ID[], uncategorizedAccounts: UncategorizedAccounts, isUncategorizedExpenseCategoryEnabled?: boolean, isAccountingClassesEnabled?: boolean) => boolean;
31
30
  export declare const toTransactionDetailLocalData: (transaction: SupportedTransactionWithCOT, selectedTab: TransactionsTab, lineItemsByTransactionIds: string[], uncategorizedIncomeExpense: UncategorizedAccounts, isUncategorizedExpenseCategoryEnabled?: boolean) => TransactionReviewLocalData;
32
31
  export declare const toSetAllLineItemsToCategoryClass: (draft: TransactionsTabViewState, transaction: SupportedTransactionWithCOT, transactionId: ID, transactionLineId: ID, transactionDetailLocalData: TransactionReviewLocalData, updatedItem: "category" | "class" | "project", uncategorizedAccounts: UncategorizedAccounts, selectedTab: TransactionsTab, vendorId?: ID, customerId?: ID, selectedAccount?: AccountBase, selectedClassBase?: ClassBase, selectedProjectBase?: ProjectBase, isUncategorizedExpenseCategoryEnabled?: boolean, isAccountingClassesEnabled?: boolean) => {
33
32
  localData: TransactionReviewLocalData;