@zeniai/client-epic-state 5.2.70 → 5.2.72

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 (159) hide show
  1. package/lib/entity/actualMatching/actualMatchingReducer.d.ts +3 -1
  2. package/lib/entity/actualMatching/actualMatchingReducer.js +11 -2
  3. package/lib/entity/aiCfo/aiCfoState.d.ts +2 -2
  4. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  5. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
  6. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  7. package/lib/entity/invoicing/{product/productPayload.d.ts → invoicingCatalog/invoicingCatalogPayload.d.ts} +44 -6
  8. package/lib/entity/invoicing/{product/productPayload.js → invoicingCatalog/invoicingCatalogPayload.js} +50 -6
  9. package/lib/entity/invoicing/invoicingCatalog/invoicingCatalogReducer.d.ts +12 -0
  10. package/lib/entity/invoicing/{plan/planReducer.js → invoicingCatalog/invoicingCatalogReducer.js} +20 -21
  11. package/lib/entity/invoicing/{plan/planSelector.d.ts → invoicingCatalog/invoicingCatalogSelector.d.ts} +5 -6
  12. package/lib/entity/invoicing/{plan/planSelector.js → invoicingCatalog/invoicingCatalogSelector.js} +12 -12
  13. package/lib/entity/invoicing/{product/productState.d.ts → invoicingCatalog/invoicingCatalogState.d.ts} +42 -6
  14. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +2 -0
  15. package/lib/entity/jeSchedules/jeSchedulesPayload.js +2 -0
  16. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  17. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +4 -4
  18. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  19. package/lib/entity/snackbar/snackbarTypes.js +3 -0
  20. package/lib/epic.d.ts +4 -2
  21. package/lib/epic.js +5 -1
  22. package/lib/esm/entity/actualMatching/actualMatchingReducer.js +9 -1
  23. package/lib/esm/entity/invoicing/{product/productPayload.js → invoicingCatalog/invoicingCatalogPayload.js} +46 -3
  24. package/lib/esm/entity/invoicing/{plan/planReducer.js → invoicingCatalog/invoicingCatalogReducer.js} +19 -20
  25. package/lib/esm/entity/invoicing/{plan/planSelector.js → invoicingCatalog/invoicingCatalogSelector.js} +8 -8
  26. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +2 -0
  27. package/lib/esm/entity/snackbar/snackbarTypes.js +3 -0
  28. package/lib/esm/epic.js +5 -1
  29. package/lib/esm/index.js +9 -12
  30. package/lib/esm/reducer.js +4 -7
  31. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.js +4 -2
  32. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.js +50 -0
  33. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/matchAndReverseAccrualsEpic.js +26 -13
  34. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/searchMatchTransactionsEpic.js +2 -23
  35. package/lib/esm/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +89 -38
  36. package/lib/esm/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +68 -62
  37. package/lib/esm/view/expenseAutomationView/types/actualMatchingViewState.js +15 -0
  38. package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +9 -1
  39. package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +1 -1
  40. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +5 -3
  41. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
  42. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
  43. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
  44. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +3 -7
  45. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
  46. package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +5 -1
  47. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +5 -1
  48. package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +8 -1
  49. package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
  50. package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
  51. package/lib/esm/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +55 -22
  52. package/lib/esm/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState.js +1 -20
  53. package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +18 -9
  54. package/lib/esm/view/invoicing/settingsView/submitInvoicingBrandingFormEpic.js +11 -2
  55. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +31 -11
  56. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +2 -1
  57. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +4 -30
  58. package/lib/esm/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.js +37 -0
  59. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +21 -1
  60. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +2 -1
  61. package/lib/index.d.ts +15 -19
  62. package/lib/index.js +65 -63
  63. package/lib/reducer.d.ts +1 -2
  64. package/lib/reducer.js +4 -7
  65. package/lib/rootStateTypes.d.ts +3 -5
  66. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.d.ts +2 -2
  67. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.js +3 -1
  68. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.d.ts +10 -0
  69. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.js +54 -0
  70. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/matchAndReverseAccrualsEpic.js +24 -11
  71. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/searchMatchTransactionsEpic.js +1 -22
  72. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  73. package/lib/view/expenseAutomationView/payload/actualMatchingPayload.d.ts +12 -1
  74. package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.d.ts +19 -8
  75. package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +90 -39
  76. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
  77. package/lib/view/expenseAutomationView/selectorTypes/actualMatchingViewSelectorTypes.d.ts +24 -10
  78. package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.d.ts +7 -4
  79. package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +71 -62
  80. package/lib/view/expenseAutomationView/types/actualMatchingViewState.d.ts +19 -4
  81. package/lib/view/expenseAutomationView/types/actualMatchingViewState.js +18 -1
  82. package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +3 -2
  83. package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +8 -0
  84. package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +2 -2
  85. package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +2 -2
  86. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.d.ts +8 -9
  87. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +2 -2
  88. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +5 -3
  89. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.d.ts +2 -2
  90. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
  91. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormHelper.d.ts +3 -4
  92. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.d.ts +2 -2
  93. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
  94. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.d.ts +2 -3
  95. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
  96. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts +2 -3
  97. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +3 -7
  98. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
  99. package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.d.ts +3 -1
  100. package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +6 -2
  101. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +2 -2
  102. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.d.ts +3 -1
  103. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +5 -1
  104. package/lib/view/invoicing/invoiceList/invoiceListReducer.d.ts +3 -1
  105. package/lib/view/invoicing/invoiceList/invoiceListReducer.js +9 -2
  106. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogListPageEpic.d.ts +2 -2
  107. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.d.ts +2 -2
  108. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
  109. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.d.ts +2 -2
  110. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
  111. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewPayload.d.ts +3 -3
  112. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.d.ts +33 -15
  113. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +57 -23
  114. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState.d.ts +0 -15
  115. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState.js +0 -22
  116. package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer.d.ts +1 -1
  117. package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.d.ts +1 -1
  118. package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.d.ts +1 -1
  119. package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.d.ts +1 -1
  120. package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +12 -3
  121. package/lib/view/invoicing/settingsView/settingsViewSelector.js +17 -8
  122. package/lib/view/invoicing/settingsView/submitInvoicingBrandingFormEpic.js +11 -2
  123. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +31 -11
  124. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +3 -2
  125. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +2 -1
  126. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +4 -0
  127. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  128. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +5 -5
  129. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  130. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +2 -2
  131. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -1
  132. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +4 -30
  133. package/lib/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.d.ts +8 -0
  134. package/lib/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.js +41 -0
  135. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +1 -1
  136. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +22 -2
  137. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +1 -0
  138. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +2 -1
  139. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +1 -0
  140. package/lib/view/spendManagement/commonSetup/types/businessVerification.d.ts +2 -1
  141. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewReducer.d.ts +2 -2
  142. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +5 -5
  143. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +2 -2
  144. package/package.json +1 -1
  145. package/lib/entity/invoicing/plan/planPayload.d.ts +0 -40
  146. package/lib/entity/invoicing/plan/planPayload.js +0 -51
  147. package/lib/entity/invoicing/plan/planReducer.d.ts +0 -14
  148. package/lib/entity/invoicing/plan/planState.d.ts +0 -43
  149. package/lib/entity/invoicing/product/productReducer.d.ts +0 -9
  150. package/lib/entity/invoicing/product/productReducer.js +0 -50
  151. package/lib/entity/invoicing/product/productSelector.d.ts +0 -4
  152. package/lib/entity/invoicing/product/productSelector.js +0 -17
  153. package/lib/entity/invoicing/product/productState.js +0 -2
  154. package/lib/esm/entity/invoicing/plan/planPayload.js +0 -47
  155. package/lib/esm/entity/invoicing/product/productReducer.js +0 -43
  156. package/lib/esm/entity/invoicing/product/productSelector.js +0 -10
  157. package/lib/esm/entity/invoicing/product/productState.js +0 -1
  158. /package/lib/entity/invoicing/{plan/planState.js → invoicingCatalog/invoicingCatalogState.js} +0 -0
  159. /package/lib/esm/entity/invoicing/{plan/planState.js → invoicingCatalog/invoicingCatalogState.js} +0 -0
package/lib/reducer.d.ts CHANGED
@@ -240,8 +240,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
240
240
  invoicingCustomerState: import("./entity/invoicing/invoicingCustomer/invoicingCustomerState").InvoicingCustomerState;
241
241
  invoicingDunningCaseState: import("./entity/invoicing/dunningCase/dunningCaseState").InvoicingDunningCaseState;
242
242
  invoicingInvoiceState: import("./entity/invoicing/invoice/invoiceState").InvoiceState;
243
- invoicingPlanState: import("./entity/invoicing/plan/planState").InvoicingPlanState;
244
- invoicingProductState: import("./entity/invoicing/product/productState").InvoicingProductState;
243
+ invoicingCatalogState: import("./entity/invoicing/invoicingCatalog/invoicingCatalogState").InvoicingCatalogState;
245
244
  invoicingSubscriptionState: import("./entity/invoicing/invoicingSubscription/invoicingSubscriptionState").InvoicingSubscriptionState;
246
245
  invoicingTransactionState: import("./entity/invoicing/invoicingTransaction/invoicingTransactionState").InvoicingTransactionState;
247
246
  jeSchedulesState: import("./entity/jeSchedules/jeSchedulesState").JESchedulesState;
package/lib/reducer.js CHANGED
@@ -41,6 +41,7 @@ const redux_1 = require("redux");
41
41
  const accountReducer_1 = __importStar(require("./entity/account/accountReducer"));
42
42
  const accountGroupReducer_1 = __importStar(require("./entity/accountGroup/accountGroupReducer"));
43
43
  const accountReconReducer_1 = __importStar(require("./entity/accountRecon/accountReconReducer"));
44
+ const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
44
45
  const addressReducer_1 = __importStar(require("./entity/address/addressReducer"));
45
46
  const aiAccountantCustomerReducer_1 = __importStar(require("./entity/aiAccountantCustomer/aiAccountantCustomerReducer"));
46
47
  const aiCfoReducer_1 = __importStar(require("./entity/aiCfo/aiCfoReducer"));
@@ -79,9 +80,7 @@ const invoiceReducer_1 = __importStar(require("./entity/invoicing/invoice/invoic
79
80
  const invoicingCustomerReducer_1 = __importStar(require("./entity/invoicing/invoicingCustomer/invoicingCustomerReducer"));
80
81
  const invoicingSubscriptionReducer_1 = __importStar(require("./entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer"));
81
82
  const invoicingTransactionReducer_1 = __importStar(require("./entity/invoicing/invoicingTransaction/invoicingTransactionReducer"));
82
- const planReducer_1 = __importStar(require("./entity/invoicing/plan/planReducer"));
83
- const productReducer_1 = __importStar(require("./entity/invoicing/product/productReducer"));
84
- const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
83
+ const invoicingCatalogReducer_1 = __importStar(require("./entity/invoicing/invoicingCatalog/invoicingCatalogReducer"));
85
84
  const jeSchedulesReducer_1 = __importStar(require("./entity/jeSchedules/jeSchedulesReducer"));
86
85
  const merchantReducer_1 = __importStar(require("./entity/merchant/merchantReducer"));
87
86
  const monthEndCloseChecksReducer_1 = __importStar(require("./entity/monthEndCloseChecks/monthEndCloseChecksReducer"));
@@ -355,8 +354,7 @@ const initialEntitiesState = {
355
354
  invoicingCustomerState: invoicingCustomerReducer_1.initialState,
356
355
  invoicingDunningCaseState: dunningCaseReducer_1.initialState,
357
356
  invoicingInvoiceState: invoiceReducer_1.initialState,
358
- invoicingPlanState: planReducer_1.initialState,
359
- invoicingProductState: productReducer_1.initialState,
357
+ invoicingCatalogState: invoicingCatalogReducer_1.initialState,
360
358
  invoicingSubscriptionState: invoicingSubscriptionReducer_1.initialState,
361
359
  invoicingTransactionState: invoicingTransactionReducer_1.initialState,
362
360
  jeSchedulesState: jeSchedulesReducer_1.initialState,
@@ -642,8 +640,7 @@ const entityReducers = {
642
640
  invoicingCustomerState: invoicingCustomerReducer_1.default,
643
641
  invoicingDunningCaseState: dunningCaseReducer_1.default,
644
642
  invoicingInvoiceState: invoiceReducer_1.default,
645
- invoicingPlanState: planReducer_1.default,
646
- invoicingProductState: productReducer_1.default,
643
+ invoicingCatalogState: invoicingCatalogReducer_1.default,
647
644
  invoicingSubscriptionState: invoicingSubscriptionReducer_1.default,
648
645
  invoicingTransactionState: invoicingTransactionReducer_1.default,
649
646
  jeSchedulesState: jeSchedulesReducer_1.default,
@@ -1,6 +1,7 @@
1
1
  import { AccountState } from './entity/account/accountState';
2
2
  import { AccountGroupState } from './entity/accountGroup/accountGroupState';
3
3
  import { AccountReconState } from './entity/accountRecon/accountReconState';
4
+ import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
4
5
  import { AddressState } from './entity/address/addressState';
5
6
  import { AiAccountantCustomerState } from './entity/aiAccountantCustomer/aiAccountantCustomerState';
6
7
  import { AiCfoState } from './entity/aiCfo/aiCfoState';
@@ -39,9 +40,7 @@ import { InvoiceState as InvoicingInvoiceState } from './entity/invoicing/invoic
39
40
  import { InvoicingCustomerState } from './entity/invoicing/invoicingCustomer/invoicingCustomerState';
40
41
  import { InvoicingSubscriptionState } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionState';
41
42
  import { InvoicingTransactionState } from './entity/invoicing/invoicingTransaction/invoicingTransactionState';
42
- import { InvoicingPlanState } from './entity/invoicing/plan/planState';
43
- import { InvoicingProductState } from './entity/invoicing/product/productState';
44
- import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
43
+ import { InvoicingCatalogState } from './entity/invoicing/invoicingCatalog/invoicingCatalogState';
45
44
  import { JESchedulesState } from './entity/jeSchedules/jeSchedulesState';
46
45
  import { MerchantState } from './entity/merchant/merchant';
47
46
  import { MonthEndCloseChecksState } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
@@ -306,13 +305,12 @@ export type EntitiesState = {
306
305
  forecastState: ForecastState;
307
306
  globalMerchantState: GlobalMerchantState;
308
307
  insightState: InsightState;
308
+ invoicingCatalogState: InvoicingCatalogState;
309
309
  invoicingCouponState: InvoicingCouponState;
310
310
  invoicingCreditNoteState: InvoicingCreditNoteState;
311
311
  invoicingCustomerState: InvoicingCustomerState;
312
312
  invoicingDunningCaseState: InvoicingDunningCaseState;
313
313
  invoicingInvoiceState: InvoicingInvoiceState;
314
- invoicingPlanState: InvoicingPlanState;
315
- invoicingProductState: InvoicingProductState;
316
314
  invoicingSubscriptionState: InvoicingSubscriptionState;
317
315
  invoicingTransactionState: InvoicingTransactionState;
318
316
  jeSchedulesState: JESchedulesState;
@@ -1,12 +1,12 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ActualMatchingMatchPayload } from '../../../../../entity/actualMatching/actualMatchingPayload';
4
- import { updateActualMatchingMatches } from '../../../../../entity/actualMatching/actualMatchingReducer';
4
+ import { removeActualMatchingMatch, updateActualMatchingMatches } from '../../../../../entity/actualMatching/actualMatchingReducer';
5
5
  import { ZeniAPIResponse } from '../../../../../responsePayload';
6
6
  import { clearAll } from '../../../../../rootActions';
7
7
  import { RootState } from '../../../../../rootStateTypes';
8
8
  import { ZeniAPI } from '../../../../../zeniAPI';
9
9
  import { fetchActualMatchingMatch, fetchActualMatchingMatchFailure, fetchActualMatchingMatchSuccess } from '../../../reducers/actualMatchingViewReducer';
10
10
  export type ActualMatchingMatchResponse = ZeniAPIResponse<ActualMatchingMatchPayload>;
11
- export type ActionType = ReturnType<typeof clearAll> | ReturnType<typeof fetchActualMatchingMatch> | ReturnType<typeof fetchActualMatchingMatchFailure> | ReturnType<typeof fetchActualMatchingMatchSuccess> | ReturnType<typeof updateActualMatchingMatches>;
11
+ export type ActionType = ReturnType<typeof clearAll> | ReturnType<typeof fetchActualMatchingMatch> | ReturnType<typeof fetchActualMatchingMatchFailure> | ReturnType<typeof fetchActualMatchingMatchSuccess> | ReturnType<typeof removeActualMatchingMatch> | ReturnType<typeof updateActualMatchingMatches>;
12
12
  export declare const fetchActualMatchingMatchEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -35,6 +35,8 @@ const fetchActualMatchingMatchEpic = (actions$, state$, zeniAPI) => actions$.pip
35
35
  refreshViewInBackground,
36
36
  status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', `Fetch actual matching match REST API call errored out ${JSON.stringify(error)}`),
37
37
  }),
38
- ])), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(rootActions_1.clearAll.match))));
38
+ ])), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)((action) => rootActions_1.clearAll.match(action) ||
39
+ (actualMatchingReducer_1.removeActualMatchingMatch.match(action) &&
40
+ action.payload.matchId === matchId)))));
39
41
  }));
40
42
  exports.fetchActualMatchingMatchEpic = fetchActualMatchingMatchEpic;
@@ -0,0 +1,10 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { removeActualMatchingMatch } from '../../../../../entity/actualMatching/actualMatchingReducer';
4
+ import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
5
+ import { clearAll } from '../../../../../rootActions';
6
+ import { RootState } from '../../../../../rootStateTypes';
7
+ import { ZeniAPI } from '../../../../../zeniAPI';
8
+ import { fetchActualMatching, ignoreActualMatchingSuggestion, ignoreActualMatchingSuggestionFailure, ignoreActualMatchingSuggestionSuccess } from '../../../reducers/actualMatchingViewReducer';
9
+ export type ActionType = ReturnType<typeof clearAll> | ReturnType<typeof fetchActualMatching> | ReturnType<typeof ignoreActualMatchingSuggestion> | ReturnType<typeof ignoreActualMatchingSuggestionFailure> | ReturnType<typeof ignoreActualMatchingSuggestionSuccess> | ReturnType<typeof openSnackbar> | ReturnType<typeof removeActualMatchingMatch>;
10
+ export declare const ignoreActualMatchingSuggestionEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ignoreActualMatchingSuggestionEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const actualMatchingReducer_1 = require("../../../../../entity/actualMatching/actualMatchingReducer");
7
+ const actualMatchingSelector_1 = require("../../../../../entity/actualMatching/actualMatchingSelector");
8
+ const snackbarReducer_1 = require("../../../../../entity/snackbar/snackbarReducer");
9
+ const responsePayload_1 = require("../../../../../responsePayload");
10
+ const rootActions_1 = require("../../../../../rootActions");
11
+ const actualMatchingViewReducer_1 = require("../../../reducers/actualMatchingViewReducer");
12
+ const refreshActualMatchingList_1 = require("./refreshActualMatchingList");
13
+ function matchVendorName(state, matchId) {
14
+ return ((0, actualMatchingSelector_1.getActualMatchingMatchById)(state.actualMatchingState, matchId)?.vendorName ??
15
+ '');
16
+ }
17
+ function ignoreSuggestionSnackbar(vendorName, succeeded) {
18
+ return (0, snackbarReducer_1.openSnackbar)({
19
+ messageSection: 'actual_matching_ignore_suggestion',
20
+ messageText: succeeded ? 'success' : 'failed',
21
+ type: succeeded ? 'success' : 'error',
22
+ variables: [{ variableName: '_vendor_name_', variableValue: vendorName }],
23
+ });
24
+ }
25
+ const ignoreActualMatchingSuggestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.ignoreActualMatchingSuggestion.match), (0, operators_1.groupBy)((action) => action.payload.matchId), (0, operators_1.mergeMap)((perMatch$) => perMatch$.pipe((0, operators_1.exhaustMap)((action) => {
26
+ const { matchId, reason, note } = action.payload;
27
+ const body = {
28
+ reason,
29
+ ...(note != null && note !== '' ? { note } : {}),
30
+ };
31
+ const vendorName = matchVendorName(state$.value, matchId);
32
+ return zeniAPI
33
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/accruals/actual-matching/${encodeURIComponent(matchId)}/ignore`, body)
34
+ .pipe((0, operators_1.mergeMap)((response) => {
35
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
36
+ const successActions = [
37
+ (0, actualMatchingReducer_1.removeActualMatchingMatch)(matchId),
38
+ (0, actualMatchingViewReducer_1.ignoreActualMatchingSuggestionSuccess)({ matchId }),
39
+ ...(0, refreshActualMatchingList_1.refreshActualMatchingList)(state$.value),
40
+ ignoreSuggestionSnackbar(vendorName, true),
41
+ ];
42
+ return (0, rxjs_1.from)(successActions);
43
+ }
44
+ return (0, rxjs_1.of)((0, actualMatchingViewReducer_1.ignoreActualMatchingSuggestionFailure)({
45
+ matchId,
46
+ status: response.status,
47
+ }), ignoreSuggestionSnackbar(vendorName, false));
48
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, actualMatchingViewReducer_1.ignoreActualMatchingSuggestionFailure)({
49
+ matchId,
50
+ status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Ignore actual matching suggestion REST API call errored out' +
51
+ JSON.stringify(error)),
52
+ }), ignoreSuggestionSnackbar(vendorName, false))), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(rootActions_1.clearAll.match))));
53
+ }))));
54
+ exports.ignoreActualMatchingSuggestionEpic = ignoreActualMatchingSuggestionEpic;
@@ -12,7 +12,7 @@ const actualMatchingViewReducer_1 = require("../../../reducers/actualMatchingVie
12
12
  const actualMatchingViewState_1 = require("../../../types/actualMatchingViewState");
13
13
  const refreshActualMatchingList_1 = require("./refreshActualMatchingList");
14
14
  function isMatchFailedStatus(status) {
15
- return (status === 'conflict' || status === 'claim_lost' || status === 'error');
15
+ return status === 'conflict' || status === 'claim_lost' || status === 'error';
16
16
  }
17
17
  function matchAndReverseSnackbar(results, vendorName) {
18
18
  const reversedCount = results.filter((result) => result.status === 'reversed').length;
@@ -59,12 +59,15 @@ function matchAndReverseHttpFailSnackbar(vendorName) {
59
59
  });
60
60
  }
61
61
  function matchVendorName(state, matchId) {
62
- return (0, actualMatchingSelector_1.getActualMatchingMatchById)(state.actualMatchingState, matchId)?.vendorName ?? '';
62
+ return ((0, actualMatchingSelector_1.getActualMatchingMatchById)(state.actualMatchingState, matchId)
63
+ ?.vendorName ?? '');
63
64
  }
64
65
  const matchAndReverseAccrualsEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.matchAndReverseAccruals.match),
65
- // Posts reversing JEs; drop duplicate clicks while a request is in flight.
66
- (0, operators_1.exhaustMap)((action) => {
67
- const { transactionId, transactionIntegrationId, transactionType, lineIds, accrualIds, transactionSyncToken, } = action.payload;
66
+ // Per-match exhaust: a second click on the same match drops while HTTP is in
67
+ // flight. A different match must still run — a global exhaustMap left the
68
+ // other match's reducer In-Progress with no request.
69
+ (0, operators_1.groupBy)((action) => `${action.payload.transactionType.toLowerCase()}:${action.payload.transactionIntegrationId}`), (0, operators_1.mergeMap)((perMatch$) => perMatch$.pipe((0, operators_1.exhaustMap)((action) => {
70
+ const { transactionId, transactionIntegrationId, transactionType, lineIds, accrualIds, transactionSyncToken, forMatchModal, } = action.payload;
68
71
  const body = {
69
72
  transaction_id: transactionId,
70
73
  transaction_integration_id: transactionIntegrationId,
@@ -83,30 +86,40 @@ const matchAndReverseAccrualsEpic = (actions$, state$, zeniAPI) => actions$.pipe
83
86
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
84
87
  const results = response.data.results.map(actualMatchingPayload_1.toMatchAndReverseResult);
85
88
  const successActions = [
86
- (0, actualMatchingViewReducer_1.matchAndReverseAccrualsSuccess)({ matchId, results }),
89
+ (0, actualMatchingViewReducer_1.matchAndReverseAccrualsSuccess)({
90
+ matchId,
91
+ results,
92
+ ...(forMatchModal === true ? { forMatchModal: true } : {}),
93
+ }),
87
94
  ];
88
95
  const occupancyChanged = results.some((result) => (0, actualMatchingViewState_1.isMatchAndReverseCompleteStatus)(result.status));
89
96
  const allComplete = results.length > 0 &&
90
97
  results.every((result) => (0, actualMatchingViewState_1.isMatchAndReverseCompleteStatus)(result.status));
91
98
  if (occupancyChanged) {
92
99
  // List + detail: list can omit leftovers; detail GET always
93
- // writes intended occupancy so Continue match prefills the
94
- // remaining leftover set instead of a stale cached row.
100
+ // writes intended occupancy so leftover retry can join C
101
+ // onto the occupied bill instead of a stale cached row.
95
102
  successActions.push(...(0, refreshActualMatchingList_1.refreshActualMatchingList)(state$.value), (0, actualMatchingViewReducer_1.fetchActualMatchingMatch)(matchId, true));
96
103
  }
97
104
  const snackbar = matchAndReverseSnackbar(results, vendorName);
98
105
  if (snackbar != null) {
99
106
  successActions.push(snackbar);
100
107
  }
101
- if (allComplete) {
108
+ if (allComplete && forMatchModal === true) {
102
109
  successActions.push((0, actualMatchingViewReducer_1.clearMatchNewModal)());
103
110
  }
104
111
  return (0, rxjs_1.from)(successActions);
105
112
  }
106
- return (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({ status: response.status }), matchAndReverseHttpFailSnackbar(vendorName));
113
+ return (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({
114
+ status: response.status,
115
+ matchId,
116
+ ...(forMatchModal === true ? { forMatchModal: true } : {}),
117
+ }), matchAndReverseHttpFailSnackbar(vendorName));
107
118
  }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({
119
+ matchId,
120
+ ...(forMatchModal === true ? { forMatchModal: true } : {}),
108
121
  status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Match and reverse accruals REST API call errored out' +
109
122
  JSON.stringify(error)),
110
123
  }), matchAndReverseHttpFailSnackbar(vendorName))), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(rootActions_1.clearAll.match))));
111
- }));
124
+ }))));
112
125
  exports.matchAndReverseAccrualsEpic = matchAndReverseAccrualsEpic;
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.searchMatchTransactionsEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
- const actualMatchingSelector_1 = require("../../../../../entity/actualMatching/actualMatchingSelector");
7
6
  const responsePayload_1 = require("../../../../../responsePayload");
8
7
  const rootActions_1 = require("../../../../../rootActions");
9
8
  const actualMatchingPayload_1 = require("../../../payload/actualMatchingPayload");
@@ -11,27 +10,7 @@ const actualMatchingViewReducer_1 = require("../../../reducers/actualMatchingVie
11
10
  const actualMatchingViewSelector_1 = require("../../../selectors/actualMatchingViewSelector");
12
11
  const actualMatchingViewState_1 = require("../../../types/actualMatchingViewState");
13
12
  const searchMatchTransactionsEpic = (actions$, state$, zeniAPI) => {
14
- const openModal$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.openMatchNewModal.match), (0, operators_1.mergeMap)((action) => {
15
- const matchId = action.payload.matchId;
16
- if (matchId == null || matchId === '') {
17
- return (0, rxjs_1.from)([
18
- (0, actualMatchingViewReducer_1.searchMatchTransactions)(''),
19
- (0, actualMatchingViewReducer_1.searchMatchAccruals)(''),
20
- ]);
21
- }
22
- const match = (0, actualMatchingSelector_1.getActualMatchingMatchById)(state$.value.actualMatchingState, matchId);
23
- const parsed = (0, actualMatchingViewSelector_1.parseActualMatchingMatchId)(matchId);
24
- const transactionType = match?.transactionType != null && match.transactionType !== ''
25
- ? match.transactionType
26
- : parsed?.transactionType;
27
- const transactionIntegrationId = match?.transactionIntegrationId != null &&
28
- match.transactionIntegrationId !== ''
29
- ? match.transactionIntegrationId
30
- : parsed?.transactionIntegrationId;
31
- return (0, rxjs_1.from)([
32
- (0, actualMatchingViewReducer_1.searchMatchTransactions)('', undefined, transactionType, transactionIntegrationId),
33
- ]);
34
- }));
13
+ const openModal$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.openMatchNewModal.match), (0, operators_1.mergeMap)(() => (0, rxjs_1.from)([(0, actualMatchingViewReducer_1.searchMatchTransactions)(''), (0, actualMatchingViewReducer_1.searchMatchAccruals)('')])));
35
14
  const searchActions$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.searchMatchTransactions.match));
36
15
  const pagination$ = searchActions$.pipe((0, operators_1.filter)((action) => action.payload.pageToken != null));
37
16
  const newSearchDebounced$ = searchActions$.pipe((0, operators_1.filter)((action) => action.payload.pageToken == null), (0, operators_1.debounceTime)(actualMatchingViewState_1.MATCH_SEARCH_DEBOUNCE_MS));
@@ -39,7 +39,7 @@ export declare const getLineItemsByTransactionsIdsFromResponse: (transactions: S
39
39
  export declare const getLineItemsByTransactionIdsFromLocalData: (transactionLocalData: TransactionReviewLocalDataSelectorView[], selectedTab: TransactionsTab) => Record<ID, string[]>;
40
40
  export declare const mergeTabSpecificLineItems: (currentTabSpecificLineItems: TabSpecificLineItems, selectedTab: TransactionsTab, newLineItems: TabSpecificLineItems) => TabSpecificLineItems;
41
41
  export declare const getSnackbarMessageForTransactionReview: (updatedCount: number, failedCount: number, categorizedCount: number) => {
42
- messageSection: "common" | "recommendation_feedback" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "actual_matching_match_and_reverse" | "actual_matching_undo_reversal" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_approval_reorder" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_approval_reorder" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "card_policy_created" | "card_policy_updated" | "card_policy_deleted" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "revert_schedule" | "ignore_accrual" | "revert_accrual" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "snooze_task" | "unsnooze_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "receipts_bulk_match" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "auto_transfer_rule_create" | "auto_transfer_rule_update" | "auto_transfer_rule_delete" | "auto_transfer_rule_pause" | "auto_transfer_rule_resume" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "create_transfer_entry" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed" | "accounting_classes_enabled_update" | "accounting_projects_enabled_update" | "accounting_projects_qbo_not_enabled" | "capitalization_threshold_update" | "account_excluded_from_reconciliation" | "account_included_in_reconciliation" | "confirm_statement_mapping" | "statement_parsing_in_progress" | "statement_parsing_complete" | "ai_accountant_trigger_job" | "oauth_consent_approve" | "oauth_consent_invalid_request" | "credit_agent_update_profile" | "credit_agent_save_macro" | "credit_agent_schedule_cron" | "create_sub_task" | "qbo_connection_already_linked" | "qbo_connection_failed" | "accounting_projects_qbo_reconnect_failed" | "product_services_update" | "qbo_realm_id_update" | "invoicing_dunning_case_resolved" | "invoicing_dunning_retry" | "invoicing_dunning_cancel" | "invoicing_dunning_settings_save" | "invoicing_qbo_backfill" | "invoicing_qbo_sync_health_retry" | "invoicing_qbo_settings_save" | "invoicing_branding_save" | "invoicing_discount_archive" | "invoicing_discount_unarchive" | "invoicing_discount_delete" | "invoicing_invoice_reminder_sent" | "invoicing_invoice_regenerated" | "invoicing_invoice_voided" | "invoicing_catalog_item_saved" | "invoicing_customer_saved" | "invoicing_subscription_saved" | "invoicing_coupon_saved" | "invoicing_invoice_saved" | "invoicing_credit_note_saved" | "invoicing_payment_recorded" | "invoicing_subscription_activated" | "invoicing_subscription_cancellation_removed" | "invoicing_subscription_cancelled" | "invoicing_subscription_non_renewing" | "invoicing_subscription_paused" | "invoicing_subscription_reactivated" | "invoicing_subscription_resumed" | "invoicing_subscription_term_end_changed";
42
+ messageSection: "common" | "recommendation_feedback" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "actual_matching_match_and_reverse" | "actual_matching_undo_reversal" | "actual_matching_ignore_suggestion" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_approval_reorder" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_approval_reorder" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "card_policy_created" | "card_policy_updated" | "card_policy_deleted" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "revert_schedule" | "ignore_accrual" | "revert_accrual" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "snooze_task" | "unsnooze_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "receipts_bulk_match" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "auto_transfer_rule_create" | "auto_transfer_rule_update" | "auto_transfer_rule_delete" | "auto_transfer_rule_pause" | "auto_transfer_rule_resume" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "create_transfer_entry" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed" | "accounting_classes_enabled_update" | "accounting_projects_enabled_update" | "accounting_projects_qbo_not_enabled" | "capitalization_threshold_update" | "account_excluded_from_reconciliation" | "account_included_in_reconciliation" | "confirm_statement_mapping" | "statement_parsing_in_progress" | "statement_parsing_complete" | "ai_accountant_trigger_job" | "oauth_consent_approve" | "oauth_consent_invalid_request" | "credit_agent_update_profile" | "credit_agent_save_macro" | "credit_agent_schedule_cron" | "create_sub_task" | "qbo_connection_already_linked" | "qbo_connection_failed" | "accounting_projects_qbo_reconnect_failed" | "product_services_update" | "qbo_realm_id_update" | "kyc_kyb_reset" | "invoicing_dunning_case_resolved" | "invoicing_dunning_retry" | "invoicing_dunning_cancel" | "invoicing_dunning_settings_save" | "invoicing_qbo_backfill" | "invoicing_qbo_sync_health_retry" | "invoicing_qbo_settings_save" | "invoicing_branding_save" | "invoicing_discount_archive" | "invoicing_discount_unarchive" | "invoicing_discount_delete" | "invoicing_invoice_reminder_sent" | "invoicing_invoice_regenerated" | "invoicing_invoice_voided" | "invoicing_catalog_item_saved" | "invoicing_customer_saved" | "invoicing_subscription_saved" | "invoicing_coupon_saved" | "invoicing_invoice_saved" | "invoicing_credit_note_saved" | "invoicing_payment_recorded" | "invoicing_subscription_activated" | "invoicing_subscription_cancellation_removed" | "invoicing_subscription_cancelled" | "invoicing_subscription_non_renewing" | "invoicing_subscription_paused" | "invoicing_subscription_reactivated" | "invoicing_subscription_resumed" | "invoicing_subscription_term_end_changed" | "invoicing_data_import_download";
43
43
  messageText: "notification" | "failed" | "success";
44
44
  type: "error" | "success" | "info";
45
45
  variables: {
@@ -3,7 +3,7 @@ import { TimePeriod } from '../../../commonStateTypes/timePeriod';
3
3
  import { ActualMatchingListResponsePayload, DisplayCurrencyFallback } from '../../../entity/actualMatching/actualMatchingPayload';
4
4
  import { JEOneTimeAccrualPayload } from '../../../entity/jeSchedules/jeSchedulesPayload';
5
5
  import { ZeniAPIResponse } from '../../../responsePayload';
6
- import { ActualMatchingTransactionSearchResult, MatchAndReverseResult, UndoReversalResult } from '../types/actualMatchingViewState';
6
+ import { ActualMatchingIgnoreReasonType, ActualMatchingTransactionSearchResult, MatchAndReverseResult, UndoReversalResult } from '../types/actualMatchingViewState';
7
7
  export declare function toServiceMonthFromPeriod(period: TimePeriod): string;
8
8
  export type ActualMatchingListResponse = ZeniAPIResponse<ActualMatchingListResponsePayload>;
9
9
  export interface ActualMatchingAccrualSearchResponsePayload {
@@ -72,6 +72,17 @@ export declare function toMatchAndReverseResult(payload: MatchAndReverseResultPa
72
72
  export interface UndoReversalRequestPayload {
73
73
  accrual_ids: ID[];
74
74
  }
75
+ export interface IgnoreActualMatchingSuggestionRequestPayload {
76
+ reason: ActualMatchingIgnoreReasonType;
77
+ note?: string;
78
+ }
79
+ export interface IgnoreActualMatchingSuggestionResponsePayload {
80
+ already_dismissed_accrual_ids?: string[];
81
+ dismissed_accrual_ids?: string[];
82
+ match_id?: string;
83
+ no_longer_eligible_accrual_ids?: string[];
84
+ }
85
+ export type IgnoreActualMatchingSuggestionResponse = ZeniAPIResponse<IgnoreActualMatchingSuggestionResponsePayload>;
75
86
  export interface UndoReversalResultPayload {
76
87
  accrual_id: ID;
77
88
  status: string;
@@ -7,7 +7,7 @@ export declare const initialTransactionSearchState: ActualMatchingTransactionSea
7
7
  export declare const initialAccrualSearchState: ActualMatchingAccrualSearchState;
8
8
  export declare const initialMatchModalState: ActualMatchingMatchModalState;
9
9
  export declare const initialState: ActualMatchingViewState;
10
- export declare const ackCloseMatchAfterUndo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterUndo">, clearActualMatchingView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearActualMatchingView">, clearMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearMatchNewModal">, closeMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/closeMatchNewModal">, fetchActualMatching: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, refreshViewInBackground?: any], {
10
+ export declare const ackCloseMatchAfterIgnore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterIgnore">, ackCloseMatchAfterUndo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterUndo">, clearActualMatchingView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearActualMatchingView">, clearMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearMatchNewModal">, closeMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/closeMatchNewModal">, fetchActualMatching: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, refreshViewInBackground?: any], {
11
11
  period: TimePeriod;
12
12
  refreshViewInBackground: any;
13
13
  }, "expenseAutomationActualMatchingView/fetchActualMatching", never, never>, fetchActualMatchingFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -31,21 +31,32 @@ export declare const ackCloseMatchAfterUndo: import("@reduxjs/toolkit").ActionCr
31
31
  matchIds: ActualMatchingMatchId[];
32
32
  refreshViewInBackground: boolean;
33
33
  selectedPeriod: MonthYearPeriod;
34
- }, "expenseAutomationActualMatchingView/fetchActualMatchingSuccess">, matchAndReverseAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string, transactionIntegrationId: string, transactionType: string, lineIds: string[], transactionSyncToken: string, accrualIds: string[]], {
34
+ }, "expenseAutomationActualMatchingView/fetchActualMatchingSuccess">, ignoreActualMatchingSuggestion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[matchId: string, reason: "other_ignore" | "already_handled" | "amount_off" | "wrong_period" | "wrong_bill", note?: string | undefined], {
35
+ matchId: string;
36
+ reason: "other_ignore" | "already_handled" | "amount_off" | "wrong_period" | "wrong_bill";
37
+ note: string | undefined;
38
+ }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestion", never, never>, ignoreActualMatchingSuggestionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
39
+ matchId: ActualMatchingMatchId;
40
+ status: ZeniAPIStatus;
41
+ }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestionFailure">, ignoreActualMatchingSuggestionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
42
+ matchId: ActualMatchingMatchId;
43
+ }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestionSuccess">, matchAndReverseAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string, transactionIntegrationId: string, transactionType: string, lineIds: string[], transactionSyncToken: string, accrualIds: string[], forMatchModal?: boolean | undefined], {
44
+ accrualIds: string[];
45
+ lineIds: string[];
35
46
  transactionId: string;
36
47
  transactionIntegrationId: string;
37
- transactionType: string;
38
- lineIds: string[];
39
48
  transactionSyncToken: string;
40
- accrualIds: string[];
49
+ transactionType: string;
50
+ forMatchModal: boolean | undefined;
41
51
  }, "expenseAutomationActualMatchingView/matchAndReverseAccruals", never, never>, matchAndReverseAccrualsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
42
52
  status: ZeniAPIStatus;
53
+ forMatchModal?: boolean;
54
+ matchId?: ActualMatchingMatchId;
43
55
  }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsFailure">, matchAndReverseAccrualsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
44
56
  results: MatchAndReverseResult[];
57
+ forMatchModal?: boolean;
45
58
  matchId?: ActualMatchingMatchId;
46
- }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsSuccess">, openMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[matchId?: string | undefined], {
47
- matchId: string | undefined;
48
- }, "expenseAutomationActualMatchingView/openMatchNewModal", never, never>, searchMatchAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[query: string, pageToken?: string | null | undefined], {
59
+ }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsSuccess">, openMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/openMatchNewModal">, searchMatchAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[query: string, pageToken?: string | null | undefined], {
49
60
  query: string;
50
61
  pageToken: string | undefined;
51
62
  }, "expenseAutomationActualMatchingView/searchMatchAccruals", never, never>, searchMatchAccrualsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{