@zeniai/client-epic-state 5.1.80 → 5.1.81

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 (203) hide show
  1. package/lib/commonStateTypes/viewAndReport/reportIDHelper.d.ts +1 -0
  2. package/lib/commonStateTypes/viewAndReport/reportIDHelper.js +13 -1
  3. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +3 -0
  5. package/lib/entity/account/accountState.d.ts +1 -1
  6. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  7. package/lib/entity/class/classReducer.d.ts +4 -4
  8. package/lib/entity/class/classState.d.ts +1 -1
  9. package/lib/entity/forecast/forecastState.d.ts +1 -1
  10. package/lib/entity/invoicing/invoicingCommonPayload.d.ts +42 -0
  11. package/lib/entity/invoicing/invoicingCommonPayload.js +66 -1
  12. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  13. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  14. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  15. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  16. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  17. package/lib/entity/tenant/clearAllEpic.d.ts +5 -1
  18. package/lib/entity/tenant/clearAllEpic.js +8 -0
  19. package/lib/epic.d.ts +9 -1
  20. package/lib/epic.js +14 -1
  21. package/lib/esm/commonStateTypes/viewAndReport/reportIDHelper.js +11 -0
  22. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +3 -0
  23. package/lib/esm/entity/invoicing/invoicingCommonPayload.js +61 -0
  24. package/lib/esm/entity/tenant/clearAllEpic.js +8 -0
  25. package/lib/esm/epic.js +14 -1
  26. package/lib/esm/index.js +18 -3
  27. package/lib/esm/reducer.js +12 -0
  28. package/lib/esm/view/dashboard/dashboardSelector.js +14 -10
  29. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +4 -18
  30. package/lib/esm/view/invoicing/createCreditNote/createCreditNoteFormConfig.js +6 -1
  31. package/lib/esm/view/invoicing/createCreditNote/createCreditNotePayload.js +1 -8
  32. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +4 -5
  33. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.js +10 -11
  34. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.js +8 -10
  35. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewPayload.js +2 -2
  36. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer.js +1 -1
  37. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +1 -1
  38. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState.js +43 -1
  39. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewPayload.js +2 -5
  40. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig.js +1 -2
  41. package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +7 -1
  42. package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +3 -0
  43. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +25 -0
  44. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +15 -0
  45. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.js +15 -0
  46. package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.js +15 -0
  47. package/lib/esm/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.js +1 -0
  48. package/lib/esm/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +26 -0
  49. package/lib/esm/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +18 -0
  50. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +47 -0
  51. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +128 -0
  52. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +20 -0
  53. package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewState.js +1 -0
  54. package/lib/esm/view/invoicing/issueCreditNote/issueCreditNotePayload.js +4 -11
  55. package/lib/esm/view/invoicing/recordPayment/recordPaymentFormConfig.js +0 -1
  56. package/lib/esm/view/invoicing/recordPayment/recordPaymentPayload.js +5 -14
  57. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeForTimeframeProjectViewEpic.js +45 -0
  58. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewEpic.js +30 -0
  59. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewPayload.js +1 -0
  60. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewReducer.js +111 -0
  61. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelector.js +65 -0
  62. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelectorTypes.js +1 -0
  63. package/lib/esm/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewState.js +1 -0
  64. package/lib/esm/view/opExProjectView/opExForTimeframeProjectViewEpic.js +43 -0
  65. package/lib/esm/view/opExProjectView/opExProjectViewEpic.js +30 -0
  66. package/lib/esm/view/opExProjectView/opExProjectViewPayload.js +1 -0
  67. package/lib/esm/view/opExProjectView/opExProjectViewReducer.js +111 -0
  68. package/lib/esm/view/opExProjectView/opExProjectViewSelector.js +52 -0
  69. package/lib/esm/view/opExProjectView/opExProjectViewSelectorTypes.js +1 -0
  70. package/lib/esm/view/opExProjectView/opExProjectViewState.js +1 -0
  71. package/lib/esm/view/reportsResync/reportsClassViewRefetchingEpic.js +0 -4
  72. package/lib/esm/view/reportsResync/reportsProjectViewRefetchingEpic.js +30 -0
  73. package/lib/esm/view/reportsResync/reportsResyncEpic.js +11 -3
  74. package/lib/esm/view/reportsResync/reportsResyncReducer.js +9 -1
  75. package/lib/esm/view/revenueProjectView/revenueForTimeframeProjectViewEpic.js +35 -0
  76. package/lib/esm/view/revenueProjectView/revenueProjectViewEpic.js +30 -0
  77. package/lib/esm/view/revenueProjectView/revenueProjectViewPayload.js +1 -0
  78. package/lib/esm/view/revenueProjectView/revenueProjectViewReducer.js +111 -0
  79. package/lib/esm/view/revenueProjectView/revenueProjectViewSelector.js +58 -0
  80. package/lib/esm/view/revenueProjectView/revenueProjectViewSelectorTypes.js +1 -0
  81. package/lib/esm/view/revenueProjectView/revenueProjectViewState.js +1 -0
  82. package/lib/index.d.ts +26 -3
  83. package/lib/index.js +106 -50
  84. package/lib/reducer.d.ts +12 -0
  85. package/lib/reducer.js +12 -0
  86. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  87. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  88. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  89. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  90. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  91. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  92. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  93. package/lib/view/dashboard/dashboardSelector.d.ts +2 -3
  94. package/lib/view/dashboard/dashboardSelector.js +13 -9
  95. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +3 -17
  96. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  97. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  98. package/lib/view/invoicing/createCreditNote/createCreditNoteFormConfig.js +6 -1
  99. package/lib/view/invoicing/createCreditNote/createCreditNotePayload.js +1 -8
  100. package/lib/view/invoicing/createCreditNote/createCreditNoteState.d.ts +3 -1
  101. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.d.ts +2 -1
  102. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +4 -5
  103. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.js +10 -11
  104. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState.d.ts +10 -5
  105. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.js +8 -10
  106. package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewPayload.js +2 -2
  107. package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer.js +3 -3
  108. package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +2 -2
  109. package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState.d.ts +9 -2
  110. package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState.js +45 -0
  111. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewPayload.js +2 -5
  112. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewState.d.ts +3 -1
  113. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig.js +1 -2
  114. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewPayload.d.ts +4 -1
  115. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.d.ts +1 -1
  116. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +6 -0
  117. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.d.ts +4 -1
  118. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +3 -0
  119. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewState.d.ts +4 -1
  120. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.d.ts +6 -0
  121. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +29 -0
  122. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.d.ts +6 -0
  123. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +19 -0
  124. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.d.ts +6 -0
  125. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.js +19 -0
  126. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.d.ts +6 -0
  127. package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.js +19 -0
  128. package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.d.ts +2 -0
  129. package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.js +2 -0
  130. package/lib/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.d.ts +6 -0
  131. package/lib/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +30 -0
  132. package/lib/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.d.ts +6 -0
  133. package/lib/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +22 -0
  134. package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.d.ts +79 -0
  135. package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +52 -0
  136. package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.d.ts +25 -0
  137. package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +132 -0
  138. package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.d.ts +21 -0
  139. package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +24 -0
  140. package/lib/view/invoicing/invoicingQboView/invoicingQboViewState.d.ts +14 -0
  141. package/lib/view/invoicing/invoicingQboView/invoicingQboViewState.js +2 -0
  142. package/lib/view/invoicing/issueCreditNote/issueCreditNotePayload.js +4 -11
  143. package/lib/view/invoicing/issueCreditNote/issueCreditNoteState.d.ts +3 -2
  144. package/lib/view/invoicing/recordPayment/recordPaymentFormConfig.js +0 -1
  145. package/lib/view/invoicing/recordPayment/recordPaymentPayload.js +5 -14
  146. package/lib/view/invoicing/recordPayment/recordPaymentState.d.ts +4 -2
  147. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeForTimeframeProjectViewEpic.d.ts +9 -0
  148. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeForTimeframeProjectViewEpic.js +49 -0
  149. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewEpic.d.ts +6 -0
  150. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewEpic.js +34 -0
  151. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewPayload.d.ts +11 -0
  152. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewPayload.js +2 -0
  153. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewReducer.d.ts +33 -0
  154. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewReducer.js +115 -0
  155. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelector.d.ts +13 -0
  156. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelector.js +69 -0
  157. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelectorTypes.d.ts +21 -0
  158. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelectorTypes.js +2 -0
  159. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewState.d.ts +20 -0
  160. package/lib/view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewState.js +2 -0
  161. package/lib/view/opExProjectView/opExForTimeframeProjectViewEpic.d.ts +9 -0
  162. package/lib/view/opExProjectView/opExForTimeframeProjectViewEpic.js +47 -0
  163. package/lib/view/opExProjectView/opExProjectViewEpic.d.ts +6 -0
  164. package/lib/view/opExProjectView/opExProjectViewEpic.js +34 -0
  165. package/lib/view/opExProjectView/opExProjectViewPayload.d.ts +6 -0
  166. package/lib/view/opExProjectView/opExProjectViewPayload.js +2 -0
  167. package/lib/view/opExProjectView/opExProjectViewReducer.d.ts +33 -0
  168. package/lib/view/opExProjectView/opExProjectViewReducer.js +115 -0
  169. package/lib/view/opExProjectView/opExProjectViewSelector.d.ts +12 -0
  170. package/lib/view/opExProjectView/opExProjectViewSelector.js +56 -0
  171. package/lib/view/opExProjectView/opExProjectViewSelectorTypes.d.ts +19 -0
  172. package/lib/view/opExProjectView/opExProjectViewSelectorTypes.js +2 -0
  173. package/lib/view/opExProjectView/opExProjectViewState.d.ts +20 -0
  174. package/lib/view/opExProjectView/opExProjectViewState.js +2 -0
  175. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  176. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.d.ts +1 -2
  177. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.js +0 -4
  178. package/lib/view/reportsResync/reportsProjectViewRefetchingEpic.d.ts +10 -0
  179. package/lib/view/reportsResync/reportsProjectViewRefetchingEpic.js +34 -0
  180. package/lib/view/reportsResync/reportsResyncEpic.d.ts +2 -2
  181. package/lib/view/reportsResync/reportsResyncEpic.js +10 -2
  182. package/lib/view/reportsResync/reportsResyncReducer.d.ts +5 -3
  183. package/lib/view/reportsResync/reportsResyncReducer.js +10 -2
  184. package/lib/view/revenueProjectView/revenueForTimeframeProjectViewEpic.d.ts +9 -0
  185. package/lib/view/revenueProjectView/revenueForTimeframeProjectViewEpic.js +39 -0
  186. package/lib/view/revenueProjectView/revenueProjectViewEpic.d.ts +6 -0
  187. package/lib/view/revenueProjectView/revenueProjectViewEpic.js +34 -0
  188. package/lib/view/revenueProjectView/revenueProjectViewPayload.d.ts +9 -0
  189. package/lib/view/revenueProjectView/revenueProjectViewPayload.js +2 -0
  190. package/lib/view/revenueProjectView/revenueProjectViewReducer.d.ts +33 -0
  191. package/lib/view/revenueProjectView/revenueProjectViewReducer.js +115 -0
  192. package/lib/view/revenueProjectView/revenueProjectViewSelector.d.ts +12 -0
  193. package/lib/view/revenueProjectView/revenueProjectViewSelector.js +62 -0
  194. package/lib/view/revenueProjectView/revenueProjectViewSelectorTypes.d.ts +19 -0
  195. package/lib/view/revenueProjectView/revenueProjectViewSelectorTypes.js +2 -0
  196. package/lib/view/revenueProjectView/revenueProjectViewState.d.ts +20 -0
  197. package/lib/view/revenueProjectView/revenueProjectViewState.js +2 -0
  198. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  199. package/lib/view/topEx/topExSelector.d.ts +1 -1
  200. package/package.json +1 -1
  201. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/invoicingCouponFormConfig.js +0 -44
  202. package/lib/view/invoicing/editInvoicingCouponDetailView/invoicingCouponFormConfig.d.ts +0 -5
  203. package/lib/view/invoicing/editInvoicingCouponDetailView/invoicingCouponFormConfig.js +0 -48
package/lib/esm/epic.js CHANGED
@@ -277,6 +277,12 @@ import { fetchInvoicingOverviewKPIsEpic } from './view/invoicing/invoicingOvervi
277
277
  import { fetchInvoicingOverviewMRREpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic';
278
278
  import { fetchInvoicingOverviewPlanRevenueEpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic';
279
279
  import { fetchInvoicingOverviewRevenueEpic } from './view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic';
280
+ import { fetchInvoicingQboAccountsEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic';
281
+ import { fetchInvoicingQboClassesEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic';
282
+ import { fetchInvoicingQboConnectionEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic';
283
+ import { fetchInvoicingQboSyncHealthEpic } from './view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic';
284
+ import { retryInvoicingQboSyncTaskEpic } from './view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic';
285
+ import { startInvoicingQboBackfillEpic } from './view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic';
280
286
  import { fetchInvoicingSubscriptionDetailEpic, } from './view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics';
281
287
  import { fetchInvoicingSubscriptionCountsEpic } from './view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionCountsEpic';
282
288
  import { fetchInvoicingSubscriptionListEpic } from './view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListEpic';
@@ -298,6 +304,8 @@ import { fetchNetBurnOrIncomeEpic, } from './view/netBurnOrIncome/netBurnOrIncom
298
304
  import { fetchNetBurnOrIncomeForTimeframeEpic, } from './view/netBurnOrIncome/netBurnOrIncomeForTimeframeEpic';
299
305
  import { fetchNetBurnOrIncomeClassesViewEpic, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewEpic';
300
306
  import { fetchNetBurnOrIncomeForTimeframeClassesViewEpic, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeForTimeframeClassesViewEpic';
307
+ import { fetchNetBurnOrIncomeForTimeframeProjectViewEpic, } from './view/netBurnOrIncomeProjectView/netBurnOrIncomeForTimeframeProjectViewEpic';
308
+ import { fetchNetBurnOrIncomeProjectViewEpic, } from './view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewEpic';
301
309
  import { fetchNetBurnOrIncomeStoryCardEpic, } from './view/netBurnOrIncomeStoryCard/epic/fetchNetBurnOrIncomeStoryCardEpic';
302
310
  import { updateNetBurnOrIncomeStoryCardSettingsEpic, } from './view/netBurnOrIncomeStoryCard/epic/updateNetBurnOrIncomeStoryCardSettingsEpic';
303
311
  import { saveNotificationPreferencesEpic, } from './view/notificationPreferencesView/epics/saveNotificationPreferencesEpic';
@@ -338,6 +346,8 @@ import { fetchOpExByVendorReportSummaryEpic, } from './view/opExByVendor/fetchOp
338
346
  import { refreshOpExByVendorReportEpic, } from './view/opExByVendor/refreshOpExByVendorReportEpic';
339
347
  import { fetchOpExClassesViewEpic, } from './view/opExClassesView/opExClassesViewEpic';
340
348
  import { fetchOpExForTimeframeClassesViewEpic, } from './view/opExClassesView/opExForTimeframeClassesViewEpic';
349
+ import { fetchOpExForTimeframeProjectViewEpic, } from './view/opExProjectView/opExForTimeframeProjectViewEpic';
350
+ import { fetchOpExProjectViewEpic, } from './view/opExProjectView/opExProjectViewEpic';
341
351
  import { fetchOwnerListEpic, } from './view/ownerList/fetchOwnerListEpic';
342
352
  import { changeZeniPersonRolesEpic } from './view/people/changeZeniPersonRolesEpic';
343
353
  import { deletePersonEpic, } from './view/people/deletePersonEpic';
@@ -373,12 +383,15 @@ import { updateReportUIOptionIsCompareModeOnEpic, } from './view/reportUIOptions
373
383
  import { updateReportUIOptionThisPeriodEpic, } from './view/reportUIOptions/updateReportUIOptionThisPeriodEpic';
374
384
  import { updateReportUIOptionTimeFrameEpic, } from './view/reportUIOptions/updateReportUIOptionTimeFrameEpic';
375
385
  import { initiateReportsClassViewRefetchingEpic, } from './view/reportsResync/reportsClassViewRefetchingEpic';
386
+ import { initiateReportsProjectViewRefetchingEpic, } from './view/reportsResync/reportsProjectViewRefetchingEpic';
376
387
  import { reportsResyncEpic, } from './view/reportsResync/reportsResyncEpic';
377
388
  import { fetchRevenueWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, } from './view/revenue/fetchRevenueWithForecastEpic';
378
389
  import { fetchRevenueEpic, } from './view/revenue/revenueEpic';
379
390
  import { fetchRevenueForTimeframeEpic, } from './view/revenue/revenueForTimeframeEpic';
380
391
  import { fetchRevenueClassesViewEpic, } from './view/revenueClassesView/revenueClassesViewEpic';
381
392
  import { fetchRevenueForTimeframeClassesViewEpic, } from './view/revenueClassesView/revenueForTimeframeClassesViewEpic';
393
+ import { fetchRevenueForTimeframeProjectViewEpic, } from './view/revenueProjectView/revenueForTimeframeProjectViewEpic';
394
+ import { fetchRevenueProjectViewEpic, } from './view/revenueProjectView/revenueProjectViewEpic';
382
395
  import { fetchReviewCompanyViewEpic, } from './view/reviewCompanyView/fetchReviewCompanyViewEpic';
383
396
  import { retryBankAccountConnectionEpic, } from './view/reviewCompanyView/retryBankAccountConnectionEpic';
384
397
  import { cancelScheduleAccruedJournalEntryEpic, } from './view/scheduleView/scheduleAccruedDetailView/epics/cancelScheduleAccruedJournalEntryEpic';
@@ -690,7 +703,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
690
703
  import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
691
704
  import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
692
705
  // Note: Please maintain strict alphabetical order
693
- const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
706
+ const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingQboAccountsEpic, fetchInvoicingQboClassesEpic, fetchInvoicingQboConnectionEpic, fetchInvoicingQboSyncHealthEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeForTimeframeProjectViewEpic, fetchNetBurnOrIncomeProjectViewEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExForTimeframeProjectViewEpic, fetchOpExProjectViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueForTimeframeProjectViewEpic, fetchRevenueProjectViewEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, initiateReportsProjectViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryInvoicingQboSyncTaskEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, startInvoicingQboBackfillEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
694
707
  const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
695
708
  console.error(error);
696
709
  return source;
package/lib/esm/index.js CHANGED
@@ -5,6 +5,7 @@ import { toCOABalanceTimeframe, } from './commonStateTypes/coaBalance/coaBalance
5
5
  import { isCalculatedBalanceType, stripCompareAdditionalBalanceTypes, toCOABalanceType, toCOABalanceTypeStrict, } from './commonStateTypes/coaBalance/coaBalanceType';
6
6
  import { newBalancesFilter, newBalancesFilterForDateRange, toCOABalancesOrderStrict, } from './commonStateTypes/coaBalance/coaBalancesFilter';
7
7
  import { newBalancesFilterClassesView, } from './commonStateTypes/coaBalance/coaBalancesFilterClassesView';
8
+ import { newBalancesFilterProjectView, } from './commonStateTypes/coaBalance/coaBalancesFilterProjectView';
8
9
  import { defaultCustomerCurrency } from './commonStateTypes/currencyHelper';
9
10
  import { getNumberOfPeriods } from './commonStateTypes/dataAvailable';
10
11
  import { ALL_FILE_TYPES, toFileTypeStrict, } from './commonStateTypes/fileType';
@@ -21,7 +22,7 @@ import { toReimbursementTypeCode } from './commonStateTypes/reimbursementTypeCod
21
22
  import { stringToUnion, stringToUnionStrict, } from './commonStateTypes/stringToUnion';
22
23
  import { SCHEDULE_DAYS_OF_MONTH, convertToPeriod, toAbsoluteDay, toMonth, toMonthStrict, toMonthYearPeriodId, toQuarter, toQuarterStrict, toScheduleDaysOfMonth, } from './commonStateTypes/timePeriod';
23
24
  import { mapTimePeriodtoTimeframeTick, toTimePeriod, toTimeframeTick, } from './commonStateTypes/timeframeTick';
24
- import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport, } from './commonStateTypes/viewAndReport/reportIDHelper';
25
+ import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardProjectViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport, } from './commonStateTypes/viewAndReport/reportIDHelper';
25
26
  import { toReportFormatStrict, toReportID, } from './commonStateTypes/viewAndReport/viewAndReport';
26
27
  import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay, getNextTransferDate, getPreviousNthWorkingDay, getYearsList, holidaysFormatted, isHoliday, isHolidayToday, } from './commonStateTypes/workingDayHelper';
27
28
  import { getAllAccounts, getTransactionFilterAccountOptions, } from './entity/account/accountSelector';
@@ -209,6 +210,8 @@ import { isNetBurnOrIncomeReportViewCalculatedSectionID, isNetBurnOrIncomeReport
209
210
  import { fetchNetBurnOrIncomeClassesView, updateAccountViewMode as updateNetBurnOrIncomeAccountViewMode, updateClassesToFilterOut as updateNetBurnOrIncomeClassesToFilterOut, updateNetBurnOrIncomeClassesViewUIState, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer';
210
211
  import { getNetBurnOrIncomeClassesView, getNetBurnOrIncomeClassesViewForHighlightedRange, getNetBurnOrIncomeClassesViewForSelectedRange, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewSelector';
211
212
  import { isNetBurnOrIncomeClassesViewCalculatedSectionID, isNetBurnOrIncomeClassesViewSectionID, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewSelectorTypes';
213
+ import { clearNetBurnOrIncomeProjectView, fetchNetBurnOrIncomeForTimeframeProjectView, fetchNetBurnOrIncomeProjectView, resetProjectNodeCollapseState as resetNetBurnOrIncomeProjectNodeCollapseState, updateProjectViewAccountViewMode as updateNetBurnOrIncomeProjectViewAccountViewMode, updateNetBurnOrIncomeProjectViewUIState, updateProjectsToFilterOut as updateNetBurnOrIncomeProjectsToFilterOut, } from './view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewReducer';
214
+ import { getNetBurnOrIncomeProjectView, getNetBurnOrIncomeProjectViewForHighlightedRange, getNetBurnOrIncomeProjectViewForSelectedRange, } from './view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewSelector';
212
215
  import { toAverageMonthsCount } from './view/netBurnOrIncomeStoryCard/epic/updateNetBurnOrIncomeStoryCardSettingsEpic';
213
216
  import { fetchNetBurnOrIncomeStoryCard, updateNetBurnOrIncomeStoryCardSettings, } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardReducer';
214
217
  import { getNetBurnOrIncomeStoryCardReport } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardSelector';
@@ -231,6 +234,8 @@ import { toOpexByVendorSortKeyType, } from './view/opExByVendor/opExByVendorStat
231
234
  import { fetchOpExClassesView, updateAccountViewMode as updateOpExAccountViewMode, updateClassesToFilterOut as updateOpExClassesToFilterOut, updateOpExClassesViewUIState, } from './view/opExClassesView/opExClassesViewReducer';
232
235
  import { getOpExClassesView, getOpExClassesViewForHighlightedRange, getOpExClassesViewForSelectedRange, } from './view/opExClassesView/opExClassesViewSelector';
233
236
  import { isOpExClassesViewCalculatedSectionID, isOpExClassesViewSectionID, } from './view/opExClassesView/opExClassesViewSelectorTypes';
237
+ import { clearOpExProjectView, fetchOpExForTimeframeProjectView, fetchOpExProjectView, resetProjectNodeCollapseState as resetOpExProjectNodeCollapseState, updateProjectViewAccountViewMode as updateOpExProjectViewAccountViewMode, updateOpExProjectViewUIState, updateProjectsToFilterOut as updateOpExProjectsToFilterOut, } from './view/opExProjectView/opExProjectViewReducer';
238
+ import { getOpExProjectView, getOpExProjectViewForHighlightedRange, getOpExProjectViewForSelectedRange, } from './view/opExProjectView/opExProjectViewSelector';
234
239
  import { fetchOwnerList } from './view/ownerList/ownerListReducer';
235
240
  import { changeZeniPersonRoles, deletePerson, fetchAllPeopleRequiredViews, fetchPeople, fetchPeoplePage, initializeEditPerson, invitePeople, inviteZeniPeople, peopleClearDataInLocalStore, peopleSaveDataInLocalStore, peopleSaveUpdates, resendInvite, resetUpdateErrorMessage, updatePeopleUIState, } from './view/people/peopleReducer';
236
241
  import { getPeople, getPeopleLocalData } from './view/people/peopleSelector';
@@ -260,6 +265,8 @@ import { isRevenueCalculatedSectionID, isRevenueSectionID, } from './view/revenu
260
265
  import { fetchRevenueClassesView, updateAccountViewMode as updateRevenueAccountViewMode, updateClassesToFilterOut as updateRevenueClassesToFilterOut, updateRevenueClassesViewUIState, } from './view/revenueClassesView/revenueClassesViewReducer';
261
266
  import { getRevenueClassesView, getRevenueClassesViewForHighlightedRange, getRevenueClassesViewForSelectedRange, } from './view/revenueClassesView/revenueClassesViewSelector';
262
267
  import { isRevenueClassesViewCalculatedSectionID, isRevenueClassesViewSectionID, } from './view/revenueClassesView/revenueClassesViewSelectorTypes';
268
+ import { clearRevenueProjectView, fetchRevenueForTimeframeProjectView, fetchRevenueProjectView, resetProjectNodeCollapseState as resetRevenueProjectNodeCollapseState, updateProjectViewAccountViewMode as updateRevenueProjectViewAccountViewMode, updateRevenueProjectViewUIState, updateProjectsToFilterOut as updateRevenueProjectsToFilterOut, } from './view/revenueProjectView/revenueProjectViewReducer';
269
+ import { getRevenueProjectView, getRevenueProjectViewForHighlightedRange, getRevenueProjectViewForSelectedRange, } from './view/revenueProjectView/revenueProjectViewSelector';
263
270
  import { fetchReviewCompanyView, retryBankAccountConnection, updateReviewCompanyListUIState, } from './view/reviewCompanyView/reviewCompanyViewReducer';
264
271
  import { getAuditWarningsCount, getReviewCompanyListCount, getReviewCompanySelectorView, } from './view/reviewCompanyView/reviewCompanyViewSelector';
265
272
  import { toReviewColumnKeyType, } from './view/reviewCompanyView/reviewCompanyViewState';
@@ -454,10 +461,11 @@ export { saveJeAccountSettings, saveJeAccountSettingsLocalData };
454
461
  export default initialize;
455
462
  export { initializePusher, disconnectPusher, Dayjs, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, toZeniUrl, toZeniUrlWithoutBaseURL, updateZeniAPIClientConfig, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, getTimeframeTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, };
456
463
  export { toAmount };
457
- export { toReportID, toReportFormatStrict, isCashFlowOrBalanceSheetReport, isDashboardReport, isDashboardClassesViewReport, isPAndLReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isAgingReport, isOpExByVendorReport, isFluxAnalysisOpExReport, };
464
+ export { toReportID, toReportFormatStrict, isCashFlowOrBalanceSheetReport, isDashboardReport, isDashboardClassesViewReport, isDashboardProjectViewReport, isPAndLReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isAgingReport, isOpExByVendorReport, isFluxAnalysisOpExReport, };
458
465
  export { toCOABalanceTimeframe, };
459
466
  export { toCOABalancesOrderStrict, newBalancesFilter, newBalancesFilterForDateRange, };
460
467
  export { newBalancesFilterClassesView };
468
+ export { newBalancesFilterProjectView };
461
469
  export { toCOABalanceTypeStrict, toCOABalanceType as toCOABlanaceType, isCalculatedBalanceType, stripCompareAdditionalBalanceTypes, };
462
470
  export { stringToUnion, stringToUnionStrict };
463
471
  export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, getMonthEndCloseChecksViewByTenantId, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, };
@@ -484,11 +492,14 @@ export { fetchBillPayCard, fetchReimbursementCard };
484
492
  export { fetchOpEx, updateOpExCOABalancesRange, updateOpExDownloadState, updateOpExUIState, getOperatingExpensesReportFetchState, getOperatingExpensesReport, getOperatingExpensesUIState, getOperatingExpensesForSelectedRange, getOperatingExpensesForHighlightedRange, fetchOpExWithForecast, };
485
493
  export { fetchOpExByVendor, fetchOpExByVendorReportForTimeframe, refreshOpExByVendorReport, updateOpExByVendorTimeFrame, updateOpExByVendorUIState, getOpExByVendorReport, getOpExByVendorUIState, updateOpExByVendorAdditionalBalancesSelection, updateOpExByVendorSearchString, updateOpExByVendorSort, updateOpExByVendorPageFetchInProgress, updateOpExByVendorSortOrSearchInProgress, updateOpExByVendorDownloadState, clearOpExByVendorSearch, updateOpExByVendorPageLimit, toOpexByVendorSortKeyType, getOpexVendorTimeframeKey, isOpexByVendorIDNotSpecifiedVendor, };
486
494
  export { fetchOpExClassesView, updateOpExAccountViewMode, updateOpExClassesToFilterOut, updateOpExClassesViewUIState, getOpExClassesView, getOpExClassesViewForHighlightedRange, getOpExClassesViewForSelectedRange, isOpExClassesViewSectionID, isOpExClassesViewCalculatedSectionID, };
495
+ export { clearOpExProjectView, fetchOpExForTimeframeProjectView, fetchOpExProjectView, resetOpExProjectNodeCollapseState, updateOpExProjectViewAccountViewMode, updateOpExProjectsToFilterOut, updateOpExProjectViewUIState, getOpExProjectView, getOpExProjectViewForSelectedRange, getOpExProjectViewForHighlightedRange, };
487
496
  export { fetchNetBurnOrIncomeClassesView, updateNetBurnOrIncomeAccountViewMode, updateNetBurnOrIncomeClassesToFilterOut, updateNetBurnOrIncomeClassesViewUIState, getNetBurnOrIncomeClassesView, getNetBurnOrIncomeClassesViewForHighlightedRange, getNetBurnOrIncomeClassesViewForSelectedRange, isNetBurnOrIncomeClassesViewSectionID, isNetBurnOrIncomeClassesViewCalculatedSectionID, };
497
+ export { clearNetBurnOrIncomeProjectView, fetchNetBurnOrIncomeForTimeframeProjectView, fetchNetBurnOrIncomeProjectView, resetNetBurnOrIncomeProjectNodeCollapseState, updateNetBurnOrIncomeProjectViewAccountViewMode, updateNetBurnOrIncomeProjectsToFilterOut, updateNetBurnOrIncomeProjectViewUIState, getNetBurnOrIncomeProjectView, getNetBurnOrIncomeProjectViewForSelectedRange, getNetBurnOrIncomeProjectViewForHighlightedRange, };
488
498
  export { fetchNetBurnOrIncome, updateNetBurnOrIncomeUIState, fetchNetBurnOrIncomeWithForecast, updateNetBurnOrIncomeCOABalancesRange, updateNetBurnOrIncomeDownloadState, getNetBurnOrIncomeReport, getNetBurnOrIncomeForSelectedRange, getNetBurnOrIncomeForHighlightedRange, getNetBurnOrIncomeUIState, getNetBurnOrIncomeReportFetchState, isNetBurnOrIncomeReportViewCalculatedSectionID, isNetBurnOrIncomeReportViewSectionID, };
489
499
  export { fetchNetBurnOrIncomeStoryCard, updateNetBurnOrIncomeStoryCardSettings, getNetBurnOrIncomeStoryCardReport, toAverageMonthsCount, };
490
500
  export { fetchRevenue, fetchRevenueWithForecast, getRevenueReport, getRevenueReportFetchState, getRevenueUIState, getRevenueForSelectedRange, getRevenueForHighlightedRange, updateRevenueCOABalancesRange, updateRevenueDownloadState, updateRevenueUIState, isRevenueCalculatedSectionID, isRevenueSectionID, };
491
501
  export { fetchRevenueClassesView, updateRevenueAccountViewMode, updateRevenueClassesToFilterOut, updateRevenueClassesViewUIState, getRevenueClassesView, getRevenueClassesViewForHighlightedRange, getRevenueClassesViewForSelectedRange, isRevenueClassesViewSectionID, isRevenueClassesViewCalculatedSectionID, };
502
+ export { clearRevenueProjectView, fetchRevenueForTimeframeProjectView, fetchRevenueProjectView, resetRevenueProjectNodeCollapseState, updateRevenueProjectViewAccountViewMode, updateRevenueProjectsToFilterOut, updateRevenueProjectViewUIState, getRevenueProjectView, getRevenueProjectViewForSelectedRange, getRevenueProjectViewForHighlightedRange, };
492
503
  export { fetchCashPosition, updateCashPositionCOABalancesRange, updateCashPositionDownloadState, updateCashPositionUIState, getCashPosition, getCashPositionUIState, getCashPositionForSelectedRange, getCashPositionForHighlightedRange, };
493
504
  export { fetchCashInCashOut, getCashInCashOut, getCashInCashOutUIState, getCashInCashOutForSelectedRange, getCashInCashOutForHighlightedRange, updateCashInCashOutCOABalancesRange, updateCashInCashOutDownloadState, updateCashInCashOutUIState, };
494
505
  export { fetchTopEx, updateTopExTimeFrame, updateTopExDownloadState, getTopExpenses, getTop6Expenses, getAllTopExpenses, };
@@ -747,7 +758,7 @@ export { catalogDetailEditValuesToSavePayload, createSubFamilyFormToPayload, pla
747
758
  export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
748
759
  export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
749
760
  export { resetEditInvoicingCouponDetailView, saveInvoicingCoupon, submitInvoicingCouponForm, updateInvoicingCouponFormDraft, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer';
750
- export { entityToInvoicingCouponFormLocalData, initialInvoicingCouponFormLocalData, } from './view/invoicing/editInvoicingCouponDetailView/invoicingCouponFormConfig';
761
+ export { entityToInvoicingCouponFormLocalData, initialInvoicingCouponFormLocalData, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState';
751
762
  export { getEditInvoicingCouponDetailViewState, getInvoicingCouponFormView, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector';
752
763
  export { clearInvoicingInvoiceAction, runInvoicingInvoiceAction, updateInvoicingInvoice, } from './view/invoicing/invoiceAction/invoiceActionReducer';
753
764
  export { getInvoicingInvoiceActionState } from './view/invoicing/invoiceAction/invoiceActionSelector';
@@ -829,6 +840,10 @@ export { clearInvoicingSettings, connectInvoicingStripe, disconnectInvoicingStri
829
840
  export { getInvoicingBrandingFormView, getInvoicingSettings, getInvoicingSettingsFetchState, getInvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
830
841
  export { INVOICING_BUSINESS_ADDRESS_TYPE, entityToInvoicingBrandingFormLocalData, initialInvoicingBrandingFormLocalData, } from './view/invoicing/settingsView/invoicingBrandingFormConfig';
831
842
  export { isStripeConnectedFromSettings } from './view/invoicing/settingsView/invoicingSettingsHelpers';
843
+ // ── Invoicing: QBO integration ────────────────────────────────────────────────
844
+ export { clearInvoicingQboView, fetchInvoicingQboAccounts, fetchInvoicingQboClasses, fetchInvoicingQboConnection, fetchInvoicingQboSyncHealth, retryInvoicingQboSyncTask, startInvoicingQboBackfill, } from './view/invoicing/invoicingQboView/invoicingQboViewReducer';
845
+ export { getInvoicingQboView } from './view/invoicing/invoicingQboView/invoicingQboViewSelector';
846
+ export { INVOICING_QBO_CUSTOMER_MATCHING_MODES, getInvoicingQboAccountMappingId, toInvoicingQboCustomerMatchingMode, withInvoicingQboAccountMappingId, } from './entity/invoicing/invoicingCommonPayload';
832
847
  // ── Invoicing: config ─────────────────────────────────────────────────────────
833
848
  export { acceptInvoicingTerms, clearInvoicingConfig, enableInvoicing, fetchInvoicingConfig, resetInvoicingConfigActionStates, updateInvoicingConfig, } from './view/invoicing/invoicingConfigView/invoicingConfigViewReducer';
834
849
  export { getInvoicingConfigView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
@@ -155,6 +155,7 @@ import invoicingCustomerListView, { initialState as initialInvoicingCustomerList
155
155
  import invoicingDunningCaseDetailView, { initialState as initialInvoicingDunningCaseDetailViewState, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer';
156
156
  import invoicingDunningCaseListView, { initialState as initialInvoicingDunningCaseListViewState, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer';
157
157
  import invoicingOverview, { initialState as initialInvoicingOverviewState, } from './view/invoicing/invoicingOverview/invoicingOverviewReducer';
158
+ import invoicingQboView, { initialState as initialInvoicingQboViewState, } from './view/invoicing/invoicingQboView/invoicingQboViewReducer';
158
159
  import invoicingSubscriptionDetailView, { initialState as initialInvoicingSubscriptionDetailViewState, } from './view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer';
159
160
  import invoicingSubscriptionListView, { initialState as initialInvoicingSubscriptionListViewState, } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer';
160
161
  import invoicingTransactionDetailView, { initialState as initialInvoicingTransactionDetailViewState, } from './view/invoicing/invoicingTransactionDetailView/invoicingTransactionDetailViewReducer';
@@ -168,6 +169,7 @@ import invoicingSubscriptionAction, { initialState as initialInvoicingSubscripti
168
169
  import monthEndCloseChecksView, { initialState as initialMonthEndCloseChecksViewState, } from './view/monthEndCloseChecksView/monthEndCloseChecksViewReducer';
169
170
  import netBurnOrIncome, { initialState as initialNetBurnOrIncomeWithForecastState, } from './view/netBurnOrIncome/netBurnOrIncomeReducer';
170
171
  import netBurnOrIncomeClassesView, { initialState as initialNetBurnOrIncomeClassesViewState, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer';
172
+ import netBurnOrIncomeProjectView, { initialState as initialNetBurnOrIncomeProjectViewState, } from './view/netBurnOrIncomeProjectView/netBurnOrIncomeProjectViewReducer';
171
173
  import netBurnOrIncomeStoryCard, { initialState as initialNetBurnOrIncomeStoryCardState, } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardReducer';
172
174
  import notificationPreferencesView, { initialState as initialNotificationPreferencesViewState, } from './view/notificationPreferencesView/notificationPreferencesViewReducer';
173
175
  import notificationView, { initialState as initialNotificationViewState, } from './view/notificationView/notificationViewReducer';
@@ -176,6 +178,7 @@ import onboardingCustomerView, { initialState as initialOnboardingCustomerViewSt
176
178
  import opEx, { initialState as initialOpExState } from './view/opEx/opExReducer';
177
179
  import opExByVendor, { initialState as initialOpExByVendorState, } from './view/opExByVendor/opExByVendorReducer';
178
180
  import opExClassesView, { initialState as initialOpExClassesViewState, } from './view/opExClassesView/opExClassesViewReducer';
181
+ import opExProjectView, { initialState as initialOpExProjectViewState, } from './view/opExProjectView/opExProjectViewReducer';
179
182
  import ownerList, { initialState as initialOwnerListState, } from './view/ownerList/ownerListReducer';
180
183
  import people, { initialState as initialPeopleState, } from './view/people/peopleReducer';
181
184
  import profitAndLoss, { initialState as initialProfitAndLossState, } from './view/profitAndLoss/profitAndLossReducer';
@@ -189,6 +192,7 @@ import reportUIOptionsReducer, { initialState as initialReportUIOptionsState, }
189
192
  import reportsResync, { initialReportsResyncState, } from './view/reportsResync/reportsResyncReducer';
190
193
  import revenue, { initialState as initialRevenueWithForecastState, } from './view/revenue/revenueReducer';
191
194
  import revenueClassesView, { initialState as initialRevenueClassesViewState, } from './view/revenueClassesView/revenueClassesViewReducer';
195
+ import revenueProjectView, { initialState as initialRevenueProjectViewState, } from './view/revenueProjectView/revenueProjectViewReducer';
192
196
  import reviewCompanyView, { initialState as initialReviewCompanyViewState, } from './view/reviewCompanyView/reviewCompanyViewReducer';
193
197
  import scheduleAccruedDetailView, { initialState as initialScheduleAccruedDetailViewState, } from './view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailReducer';
194
198
  import scheduleDetailView, { initialState as initialScheduleDetailViewState, } from './view/scheduleView/scheduleDetailView/scheduleDetailReducer';
@@ -465,6 +469,7 @@ const initialViewsState = {
465
469
  invoicingInvoiceListState: initialInvoicingInvoiceListState,
466
470
  invoicingPaymentActionState: initialInvoicingPaymentActionState,
467
471
  invoicingConfigViewState: initialInvoicingConfigViewState,
472
+ invoicingQboViewState: initialInvoicingQboViewState,
468
473
  invoicingSettingsViewState: initialInvoicingSettingsViewState,
469
474
  invoicingCatalogActionState: initialInvoicingCatalogActionState,
470
475
  invoicingDiscountActionState: initialInvoicingDiscountActionState,
@@ -481,6 +486,7 @@ const initialViewsState = {
481
486
  merchantListState: initialMerchantListState,
482
487
  monthEndCloseChecksViewState: initialMonthEndCloseChecksViewState,
483
488
  netBurnOrIncomeClassesViewState: initialNetBurnOrIncomeClassesViewState,
489
+ netBurnOrIncomeProjectViewState: initialNetBurnOrIncomeProjectViewState,
484
490
  netBurnOrIncomeState: initialNetBurnOrIncomeWithForecastState,
485
491
  netBurnOrIncomeStoryCardState: initialNetBurnOrIncomeStoryCardState,
486
492
  notificationPreferencesViewState: initialNotificationPreferencesViewState,
@@ -490,6 +496,7 @@ const initialViewsState = {
490
496
  onboardingCustomerViewState: initialOnboardingCustomerViewState,
491
497
  opExByVendorState: initialOpExByVendorState,
492
498
  opExClassesViewState: initialOpExClassesViewState,
499
+ opExProjectViewState: initialOpExProjectViewState,
493
500
  opExState: initialOpExState,
494
501
  ownerListState: initialOwnerListState,
495
502
  paymentAccountListState: initialPaymentAccountListState,
@@ -512,6 +519,7 @@ const initialViewsState = {
512
519
  reportsResyncState: initialReportsResyncState,
513
520
  reportUIOptionsState: initialReportUIOptionsState,
514
521
  revenueClassesViewState: initialRevenueClassesViewState,
522
+ revenueProjectViewState: initialRevenueProjectViewState,
515
523
  revenueState: initialRevenueWithForecastState,
516
524
  reviewCompanyViewState: initialReviewCompanyViewState,
517
525
  scheduleAccruedDetailState: initialScheduleAccruedDetailViewState,
@@ -754,6 +762,7 @@ const viewReducers = {
754
762
  invoicingInvoiceListState: invoicingInvoiceList,
755
763
  invoicingPaymentActionState: invoicingPaymentAction,
756
764
  invoicingConfigViewState: invoicingConfigView,
765
+ invoicingQboViewState: invoicingQboView,
757
766
  invoicingSettingsViewState: invoicingSettingsView,
758
767
  invoicingCatalogActionState: invoicingCatalogAction,
759
768
  invoicingDiscountActionState: invoicingDiscountAction,
@@ -770,6 +779,7 @@ const viewReducers = {
770
779
  merchantListState: merchantList,
771
780
  monthEndCloseChecksViewState: monthEndCloseChecksView,
772
781
  netBurnOrIncomeClassesViewState: netBurnOrIncomeClassesView,
782
+ netBurnOrIncomeProjectViewState: netBurnOrIncomeProjectView,
773
783
  netBurnOrIncomeState: netBurnOrIncome,
774
784
  netBurnOrIncomeStoryCardState: netBurnOrIncomeStoryCard,
775
785
  notificationPreferencesViewState: notificationPreferencesView,
@@ -779,6 +789,7 @@ const viewReducers = {
779
789
  onboardingCustomerViewState: onboardingCustomerView,
780
790
  opExByVendorState: opExByVendor,
781
791
  opExClassesViewState: opExClassesView,
792
+ opExProjectViewState: opExProjectView,
782
793
  opExState: opEx,
783
794
  ownerListState: ownerList,
784
795
  paymentAccountListState: paymentAccountList,
@@ -802,6 +813,7 @@ const viewReducers = {
802
813
  reportsResyncState: reportsResync,
803
814
  reportUIOptionsState: reportUIOptionsReducer,
804
815
  revenueClassesViewState: revenueClassesView,
816
+ revenueProjectViewState: revenueProjectView,
805
817
  revenueState: revenue,
806
818
  reviewCompanyViewState: reviewCompanyView,
807
819
  scheduleAccruedDetailState: scheduleAccruedDetailView,
@@ -2,7 +2,7 @@ import { createSelector } from '@reduxjs/toolkit';
2
2
  import { newBalancesFilter } from '../../commonStateTypes/coaBalance/coaBalancesFilter';
3
3
  import { reduceFetchState } from '../../commonStateTypes/reduceFetchState';
4
4
  import { getCurrentTenant, getTenantsByCheckInDateSelector, } from '../../entity/tenant/tenantSelector';
5
- import { hasAdminLevelAccess, hasInvestorBankerLevelAccess, isZeniSignedInUser, } from '../../entity/userRole/userRoleType';
5
+ import { hasAdminLevelAccess, hasInvestorBankerLevelAccess, } from '../../entity/userRole/userRoleType';
6
6
  import { getApAgingReport } from '../apAgingView/apAgingReport/apAgingSelector';
7
7
  import { getArAgingReport } from '../arAgingView/arAgingReport/arAgingSelector';
8
8
  import { getBillPayCardReport } from '../billPayCard/billPayCardSelector';
@@ -42,7 +42,7 @@ const tenantSelector = createSelector(getTenantsByCheckInDateSelector, getCurren
42
42
  export const getDashboard = createSelector(tenantSelector, getCardBalance, getCashBalance, getOperatingExpensesForLast5Periods, getRevenueForLast4Periods, getTop6Expenses, getNetBurnOrIncomeForLast4Periods, getNetBurnOrIncomeStoryCard, getCashPositionLast5Periods, getCashInCashOutLast4Periods, getInsights, getCompanyPassportView, getTasksCardReport, getBillPayCardReport, getReimbursementCardReport, apAgingSelector, arAgingSelector, getZeniAccountsPromoCard, getRewardsPlanCard, getDashboardCardsOrdered, (state) => {
43
43
  const currentTenant = getCurrentTenant(state);
44
44
  return getMonthEndCloseChecksViewByTenantId(state, currentTenant.tenantId);
45
- }, (state) => state.tenantState, (_state, additionalExcludedReports) => additionalExcludedReports, (_state, _additionalExcludedReports, signedInUser) => signedInUser, (_state, _excluded, _signedInUser, isExpenseAutomationFeatureEnabledV2) => isExpenseAutomationFeatureEnabledV2, (_state, _excluded, _signedInUser, _enabledV2, isExpenseAutomationFeatureEnabled) => isExpenseAutomationFeatureEnabled, (state) => state.dashboardState.isTreasuryVideoClosed, (tenants, cardBalance, cashBalance, opEx, revenue, topEx, netBurnOrIncome, netBurnOrIncomeStoryCard, cashPosition, cashInCashOut, insightsView, companyPassportView, tasksCard, billPayCard, reimbursementCard, apAgingReport, arAgingReport, zeniAccountsPromoCard, rewardsPlanCard, cards, monthEndCloseChecksView, tenantState, additionalExcludedReports, signedInUser, isExpenseAutomationFeatureEnabledV2, isExpenseAutomationFeatureEnabled, isTreasuryVideoClosed) => {
45
+ }, (state) => state.tenantState, (_state, additionalExcludedReports) => additionalExcludedReports, (state) => state.dashboardState.isTreasuryVideoClosed, (tenants, cardBalance, cashBalance, opEx, revenue, topEx, netBurnOrIncome, netBurnOrIncomeStoryCard, cashPosition, cashInCashOut, insightsView, companyPassportView, tasksCard, billPayCard, reimbursementCard, apAgingReport, arAgingReport, zeniAccountsPromoCard, rewardsPlanCard, cards, monthEndCloseChecksView, tenantState, additionalExcludedReports, isTreasuryVideoClosed) => {
46
46
  const isReimbursementFeatureEnabled = tenants.currentTenant.company?.featuresActivationInfo
47
47
  .isReimbursementFeatureEnabled;
48
48
  const isBillPayFeatureEnabled = tenants.currentTenant.company?.featuresActivationInfo
@@ -72,20 +72,24 @@ export const getDashboard = createSelector(tenantSelector, getCardBalance, getCa
72
72
  if (connectionName === 'netsuite') {
73
73
  cardsToRemove.add('cash_in_cash_out');
74
74
  }
75
- const { isUncategorizedExpenseAccountIdentified, isUncategorizedIncomeAccountIdentified, numOfBillsPendingApproval, numOfReimbursementsPendingApproval, } = tasksCard.tasks;
75
+ const { isUncategorizedExpenseAccountIdentified, isUncategorizedIncomeAccountIdentified, isUncategorizedExpensesTransactionsExist, isUncategorizedIncomeTransactionsExist, numOfBillsPendingApproval, numOfReimbursementsPendingApproval, } = tasksCard.tasks;
76
76
  const showUncategorizedAccountMapping = isUncategorizedExpenseAccountIdentified === false ||
77
77
  isUncategorizedIncomeAccountIdentified === false;
78
- // Filter out task card if tenant is Expense Automation and there are no tasks other than Expense
79
- const isZeniUser = isZeniSignedInUser(signedInUser);
80
- const isExpenseAutomationEnabledForUser = isExpenseAutomationFeatureEnabledV2 ||
81
- (isExpenseAutomationFeatureEnabled && isZeniUser);
82
- const isEmptyTaskCardForExpenseAutomation = showUncategorizedAccountMapping !== true &&
78
+ // Drop the card only when it would render no rows at all. This mirrors every
79
+ // row TasksCard can show; keep the two lists in step. Expense Automation
80
+ // tenants are no longer a special case — they see the uncategorized expense
81
+ // and income rows like everyone else, so those rows count towards emptiness.
82
+ // Only judge emptiness once the payload has arrived, so a pending fetch
83
+ // never hides the card.
84
+ const isTaskCardEmpty = tasksCard.fetchState === 'Completed' &&
85
+ showUncategorizedAccountMapping === false &&
83
86
  numOfBillsPendingApproval === 0 &&
84
87
  numOfReimbursementsPendingApproval === 0 &&
85
- isExpenseAutomationEnabledForUser;
88
+ isUncategorizedExpensesTransactionsExist === false &&
89
+ isUncategorizedIncomeTransactionsExist === false;
86
90
  if (tasksCard.showCard === false ||
87
91
  hasTasksCardAccess === false ||
88
- isEmptyTaskCardForExpenseAutomation) {
92
+ isTaskCardEmpty) {
89
93
  cardsToRemove.add('task_card');
90
94
  }
91
95
  const isBankerOrInvestor = tenants.currentTenant?.userRole != null &&
@@ -1,8 +1,7 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
2
  import omit from 'lodash/omit';
3
- import { reduceAllFetchState, reduceAnyFetchState, } from '../../../commonStateTypes/reduceFetchState';
4
3
  import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
- import { getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, } from '../../../entity/tenant/tenantSelector';
4
+ import { getCurrentTenant, getIsAccountingProjectsEnabled, } from '../../../entity/tenant/tenantSelector';
6
5
  import { getTransactionWithCOT } from '../../../entity/transaction/transactionHelper';
7
6
  import { getSupportedTransactionsByIds } from '../../../entity/transaction/transactionSelector';
8
7
  import { getAccountList, getNestedAccountListHierarchy, getUncategorizedAccounts, } from '../../accountList/accountListSelector';
@@ -86,7 +85,7 @@ export const toTransactionView = (transaction, transactionLocalData) => {
86
85
  // `view/createTransferEntry/createTransferEntrySelector`.
87
86
  export { getLastTransferEntryReplacement } from '../../createTransferEntry/createTransferEntrySelector';
88
87
  export function getExpenseAutomationTransactionView(state) {
89
- const { accountState, classState, classListState, accountListState, createTransferEntryState, expenseAutomationTransactionsViewState, expenseAutomationViewState, projectState, projectListState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
88
+ const { accountState, classState, classListState, accountListState, createTransferEntryState, expenseAutomationTransactionsViewState, expenseAutomationViewState, projectState, projectListState, transactionState, monthEndCloseChecksState, } = state;
90
89
  const { selectedTransactionCategorizationCompletedSubTab, selectedTransactionCategorizationTab, } = expenseAutomationTransactionsViewState;
91
90
  const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, uploadReceiptStatusById, selectedTransactionId, selectedTransactionLineId, filters, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
92
91
  const uncategorizedIncomeExpense = getUncategorizedAccounts(accountState, accountListState, 'accountList');
@@ -159,21 +158,8 @@ export function getExpenseAutomationTransactionView(state) {
159
158
  }
160
159
  return [];
161
160
  });
162
- const monthEndFetchState = monthYearPeriodId != null
163
- ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? { fetchState: 'Not-Started', error: undefined })
164
- : { fetchState: 'Not-Started', error: undefined };
165
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
166
- const allFetchStateList = [
167
- accountList,
168
- expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab],
169
- ];
170
- if (isAccountingClassesEnabled) {
171
- allFetchStateList.push(classList);
172
- }
173
- const fetchStatus = reduceAnyFetchState([
174
- reduceAllFetchState(allFetchStateList),
175
- monthEndFetchState,
176
- ]);
161
+ const { fetchState, error } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
162
+ const fetchStatus = { fetchState, error };
177
163
  const totalCountByReview = expenseAutomationTransactionsViewState.transactionCategorizationView.review
178
164
  .uiState.totalCount;
179
165
  const totalCountByAutoCat = expenseAutomationTransactionsViewState.transactionCategorizationView
@@ -1,6 +1,11 @@
1
1
  export const initialCreateCreditNoteFormLocalData = () => ({
2
2
  customerId: '',
3
- lineItems: [{ description: '', quantity: '1', unitAmount: '' }],
3
+ lineItems: [
4
+ {
5
+ description: '',
6
+ quantity: '1',
7
+ },
8
+ ],
4
9
  reasonCode: '',
5
10
  referenceInvoiceId: '',
6
11
  });
@@ -1,15 +1,8 @@
1
- const dollarsFromAmountString = (value) => {
2
- const parsed = Number.parseFloat(value);
3
- if (Number.isNaN(parsed)) {
4
- return 0;
5
- }
6
- return parsed;
7
- };
8
1
  export const localDataToCreateCreditNotePayload = (localData) => {
9
2
  const lineItems = localData.lineItems
10
3
  .map((lineItem) => {
11
4
  const quantity = Math.round(Number.parseFloat(lineItem.quantity));
12
- const unitAmount = dollarsFromAmountString(lineItem.unitAmount);
5
+ const unitAmount = lineItem.unitAmount?.amount ?? 0;
13
6
  return {
14
7
  description: lineItem.description.trim(),
15
8
  quantity,
@@ -31,7 +31,7 @@ const tierToPayload = (tier) => ({
31
31
  package_size: hasValue(tier.packageSize)
32
32
  ? Number(tier.packageSize)
33
33
  : undefined,
34
- price: toAmountValue(tier.price),
34
+ price: tier.price?.amount ?? 0,
35
35
  pricing_type: tier.pricingType,
36
36
  starting_unit: Number(tier.startingUnit) || 1,
37
37
  });
@@ -45,7 +45,7 @@ const subFamilyToProductUpdate = (subFamily, itemType) => {
45
45
  is_taxable: subFamily.isTaxable,
46
46
  period: hasValue(subFamily.period) ? Number(subFamily.period) : null,
47
47
  period_unit: hasValue(subFamily.period) ? subFamily.periodUnit : null,
48
- price: tiered ? 0 : toAmountValue(subFamily.priceDollars),
48
+ price: tiered ? 0 : (subFamily.priceDollars?.amount ?? 0),
49
49
  pricing_model: subFamily.pricingModel,
50
50
  show_description_in_quotes: subFamily.showDescriptionInQuotes,
51
51
  tiers: tiered ? subFamily.tiers.map(tierToPayload) : [],
@@ -112,7 +112,6 @@ export const catalogDetailEditValuesToSavePayload = (values, itemType = 'plan',
112
112
  productUpdates,
113
113
  };
114
114
  };
115
- const toAmountValue = (value) => Number(value) || 0;
116
115
  /** Build POST /catalog/products body for Create sub-family. */
117
116
  export const createSubFamilyFormToPayload = (itemId, itemType, values) => {
118
117
  const name = values.name.trim();
@@ -123,7 +122,7 @@ export const createSubFamilyFormToPayload = (itemId, itemType, values) => {
123
122
  is_taxable: true,
124
123
  item_id: itemId,
125
124
  name,
126
- price: toAmountValue(values.priceDollars),
125
+ price: values.priceDollars?.amount ?? 0,
127
126
  price_code: priceCode,
128
127
  pricing_model: values.pricingModel || 'flat_fee',
129
128
  show_description_in_invoices: true,
@@ -162,7 +161,7 @@ export const productToCreateSubFamilyFormValues = (product) => ({
162
161
  period: product?.period != null ? String(product.period) : '1',
163
162
  periodUnit: product?.periodUnit ?? 'month',
164
163
  priceCode: '',
165
- priceDollars: product?.price != null ? String(product.price.amount) : '',
164
+ priceDollars: product?.price,
166
165
  pricingModel: product?.pricingModel ?? 'flat_fee',
167
166
  prorationType: product?.prorationType ?? 'site_default',
168
167
  trialEndAction: product?.trialEndAction ?? 'site_default',
@@ -7,17 +7,16 @@ const toProductCode = (value) => value
7
7
  .toLowerCase()
8
8
  .replace(/[^a-z0-9]+/g, '-')
9
9
  .replace(/^-|-$/g, '');
10
- const toAmountValue = (value) => Number(value) || 0;
11
- const buildAccountingDetail = (localData) => {
10
+ const buildAccountingDetail = (subFamily) => {
12
11
  const detail = {};
13
- if (localData.sku.trim() !== '') {
14
- detail.sku = localData.sku.trim();
12
+ if (subFamily.sku.trim() !== '') {
13
+ detail.sku = subFamily.sku.trim();
15
14
  }
16
- if (localData.accountingCode.trim() !== '') {
17
- detail.accounting_code = localData.accountingCode.trim();
15
+ if (subFamily.accountingCode.trim() !== '') {
16
+ detail.accounting_code = subFamily.accountingCode.trim();
18
17
  }
19
- if (localData.accountingCategory.trim() !== '') {
20
- detail.accounting_category_1 = localData.accountingCategory.trim();
18
+ if (subFamily.accountingCategory.trim() !== '') {
19
+ detail.accounting_category_1 = subFamily.accountingCategory.trim();
21
20
  }
22
21
  return Object.keys(detail).length > 0 ? detail : undefined;
23
22
  };
@@ -31,7 +30,7 @@ const buildSubFamilyPayload = (localData, subFamily, clearEmptyValues) => {
31
30
  free_quantity: Number(subFamily.freeQuantity) || 0,
32
31
  is_taxable: subFamily.isTaxable,
33
32
  name,
34
- price: tiered ? 0 : toAmountValue(subFamily.priceDollars),
33
+ price: tiered ? 0 : (subFamily.priceDollars?.amount ?? 0),
35
34
  price_code: priceCode,
36
35
  pricing_model: subFamily.pricingModel,
37
36
  show_description_in_invoices: subFamily.showDescriptionInInvoices,
@@ -70,12 +69,12 @@ const buildSubFamilyPayload = (localData, subFamily, clearEmptyValues) => {
70
69
  payload.tiers = subFamily.tiers.map((tier) => ({
71
70
  ending_unit: tier.endingUnit.trim() !== '' ? Number(tier.endingUnit) : undefined,
72
71
  package_size: tier.packageSize.trim() !== '' ? Number(tier.packageSize) : undefined,
73
- price: toAmountValue(tier.price),
72
+ price: tier.price?.amount ?? 0,
74
73
  pricing_type: tier.pricingType,
75
74
  starting_unit: Number(tier.startingUnit) || 1,
76
75
  }));
77
76
  }
78
- const accountingDetail = buildAccountingDetail(localData);
77
+ const accountingDetail = buildAccountingDetail(subFamily);
79
78
  if (accountingDetail != null) {
80
79
  payload.accounting_detail = accountingDetail;
81
80
  }