@zeniai/client-epic-state 5.1.58 → 5.1.60-beta0ND

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/lib/entity/accountRecon/accountReconPayload.d.ts +1 -1
  2. package/lib/entity/accountRecon/accountReconReducer.js +15 -1
  3. package/lib/epic.d.ts +2 -1
  4. package/lib/epic.js +2 -1
  5. package/lib/esm/entity/accountRecon/accountReconReducer.js +15 -1
  6. package/lib/esm/epic.js +2 -1
  7. package/lib/esm/index.js +3 -4
  8. package/lib/esm/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +0 -1
  9. package/lib/esm/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +1 -2
  10. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  11. package/lib/esm/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +2 -3
  12. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +2 -2
  13. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +1 -1
  14. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +4 -4
  15. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +2 -4
  16. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -2
  17. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -2
  18. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  19. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -2
  20. package/lib/esm/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -4
  21. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +14 -25
  22. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -32
  23. package/lib/esm/view/expenseAutomationView/selectors/statementParseViewSelector.js +0 -224
  24. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +2 -1
  25. package/lib/esm/view/recommendation/fetchEntityRecommendationsByTransactionIdEpic.js +2 -2
  26. package/lib/esm/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +2 -2
  27. package/lib/esm/view/recommendation/recommendationReducer.js +18 -3
  28. package/lib/esm/view/recommendation/submitRecommendationFeedbackEpic.js +51 -0
  29. package/lib/esm/view/transactionDetail/epics/saveTransactionDetailEpic.js +2 -2
  30. package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +2 -2
  31. package/lib/esm/view/transactionDetail/transactionDetailReducer.js +1 -2
  32. package/lib/index.d.ts +4 -5
  33. package/lib/index.js +39 -42
  34. package/lib/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +0 -1
  35. package/lib/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.d.ts +1 -2
  36. package/lib/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +1 -2
  37. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  38. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +2 -3
  39. package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +2 -2
  40. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +1 -1
  41. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +4 -4
  42. package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +2 -4
  43. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -2
  44. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -2
  45. package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  46. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -2
  47. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -5
  48. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -4
  49. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +5 -5
  50. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +14 -25
  51. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +10 -23
  52. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -32
  53. package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.d.ts +1 -15
  54. package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.js +1 -233
  55. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +7 -44
  56. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +1 -0
  57. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +2 -1
  58. package/lib/view/recommendation/fetchEntityRecommendationsByTransactionIdEpic.js +2 -2
  59. package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +2 -2
  60. package/lib/view/recommendation/recommendationPayload.d.ts +33 -0
  61. package/lib/view/recommendation/recommendationReducer.d.ts +3 -4
  62. package/lib/view/recommendation/recommendationReducer.js +19 -4
  63. package/lib/view/recommendation/submitRecommendationFeedbackEpic.d.ts +7 -0
  64. package/lib/view/recommendation/submitRecommendationFeedbackEpic.js +55 -0
  65. package/lib/view/transactionDetail/epics/saveTransactionDetailEpic.js +2 -2
  66. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +2 -2
  67. package/lib/view/transactionDetail/transactionDetailReducer.d.ts +1 -3
  68. package/lib/view/transactionDetail/transactionDetailReducer.js +1 -2
  69. package/package.json +1 -1
@@ -128,7 +128,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
128
128
  reducers: {
129
129
  fetchTransactionCategorizationView: {
130
130
  prepare(selectedTab, period, cacheOverride = false, keepExistingListItems = false, searchString, // when this is defined the output should go to search result IDs
131
- pageToken, refreshViewInBackground = false, resetListItems = false, isUncategorizedExpenseCategoryEnabled) {
131
+ pageToken, refreshViewInBackground = false, resetListItems = false) {
132
132
  return {
133
133
  payload: {
134
134
  selectedTab,
@@ -139,7 +139,6 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
139
139
  cacheOverride,
140
140
  refreshViewInBackground,
141
141
  resetListItems,
142
- isUncategorizedExpenseCategoryEnabled,
143
142
  },
144
143
  };
145
144
  },
@@ -207,7 +206,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
207
206
  }
208
207
  },
209
208
  prepare(selectedTab, period, cacheOverride = false, keepExistingListItems = false, searchString, // when this is defined the output should go to search result IDs
210
- pageToken, refreshViewInBackground = false, resetListItems, isUncategorizedExpenseCategoryEnabled) {
209
+ pageToken, refreshViewInBackground = false, resetListItems) {
211
210
  return {
212
211
  payload: {
213
212
  selectedTab,
@@ -218,13 +217,12 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
218
217
  cacheOverride,
219
218
  refreshViewInBackground,
220
219
  resetListItems,
221
- isUncategorizedExpenseCategoryEnabled,
222
220
  },
223
221
  };
224
222
  },
225
223
  },
226
224
  initializeTransactionCategorizationViewLocalData: {
227
- prepare(selectedTab, transactionIds, selectedPeriod, keepExistingListItems = false, pageToken, totalCount, lineItemsByTransactionIds, refreshViewInBackground = false, isUncategorizedExpenseCategoryEnabled) {
225
+ prepare(selectedTab, transactionIds, selectedPeriod, keepExistingListItems = false, pageToken, totalCount, lineItemsByTransactionIds, refreshViewInBackground = false) {
228
226
  return {
229
227
  payload: {
230
228
  selectedTab,
@@ -235,7 +233,6 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
235
233
  totalCount,
236
234
  lineItemsByTransactionIds,
237
235
  refreshViewInBackground,
238
- isUncategorizedExpenseCategoryEnabled,
239
236
  },
240
237
  };
241
238
  },
@@ -339,13 +336,12 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
339
336
  });
340
337
  },
341
338
  saveTransactionCategorization: {
342
- prepare(selectedTab, transactionIds, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled) {
339
+ prepare(selectedTab, transactionIds, cotTrackingByTransactionId) {
343
340
  return {
344
341
  payload: {
345
342
  selectedTab,
346
343
  transactionIds,
347
344
  cotTrackingByTransactionId,
348
- isUncategorizedExpenseCategoryEnabled,
349
345
  },
350
346
  };
351
347
  },
@@ -419,21 +415,20 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
419
415
  fetchState: 'In-Progress',
420
416
  };
421
417
  },
422
- prepare(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled) {
418
+ prepare(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId) {
423
419
  return {
424
420
  payload: {
425
421
  selectedTab,
426
422
  transactionIds,
427
423
  transactionSaveUpdates,
428
424
  cotTrackingByTransactionId,
429
- isUncategorizedExpenseCategoryEnabled,
430
425
  },
431
426
  };
432
427
  },
433
428
  },
434
429
  setAllItemsToCategoryClassInLocalDataForCategorization: {
435
430
  reducer(draft, action) {
436
- const { vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, transactions, transactionId, lineId, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
431
+ const { vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, transactions, transactionId, lineId, selectedTab, isAccountingClassesEnabled, } = action.payload;
437
432
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
438
433
  .transactionReviewLocalDataById, transactionId, undefined);
439
434
  const existingAccount = transactionLocalData?.transactionReviewLocalData.lineItemById[lineId]
@@ -459,7 +454,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
459
454
  const selectedCheckBoxTransactionIds = draft.transactionCategorizationView[selectedTab]
460
455
  .selectedCheckBoxTransactionIds;
461
456
  if (selectedTransaction != null &&
462
- (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, uncategorizedAccounts, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled)) {
457
+ (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, isAccountingClassesEnabled)) {
463
458
  draft.transactionCategorizationView[selectedTab].selectedCheckBoxTransactionIds = [
464
459
  ...selectedCheckBoxTransactionIds,
465
460
  transactionId,
@@ -482,7 +477,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
482
477
  : existingProjectId !== selectedProjectBase?.projectId
483
478
  ? 'project'
484
479
  : 'class';
485
- const { localData, similarTransactionUpdated } = (0, transactionCategorizationLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, updatedItem, uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
480
+ const { localData, similarTransactionUpdated } = (0, transactionCategorizationLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, updatedItem, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, isAccountingClassesEnabled);
486
481
  draft.transactionCategorizationView[selectedTab].transactionReviewLocalDataById[transaction.id] = {
487
482
  transactionId: transaction.id,
488
483
  transactionReviewLocalData: localData,
@@ -501,7 +496,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
501
496
  ...dirtyIds,
502
497
  ]);
503
498
  },
504
- prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled, selectedProjectBase) {
499
+ prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isAccountingClassesEnabled, selectedProjectBase) {
505
500
  return {
506
501
  payload: {
507
502
  selectedTab,
@@ -517,13 +512,12 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
517
512
  recommendations,
518
513
  uncategorizedAccounts,
519
514
  isAccountingClassesEnabled,
520
- isUncategorizedExpenseCategoryEnabled,
521
515
  },
522
516
  };
523
517
  },
524
518
  },
525
519
  setEntityRecommendationForLineIdsForCategorization: {
526
- prepare(selectedTab, transactionId, transaction, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedAccounts, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled) {
520
+ prepare(selectedTab, transactionId, transaction, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedAccounts, isAccountingClassesEnabled) {
527
521
  return {
528
522
  payload: {
529
523
  selectedTab,
@@ -535,16 +529,15 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
535
529
  recommendationWithCOTByLineId,
536
530
  uncategorizedAccounts,
537
531
  isAccountingClassesEnabled,
538
- isUncategorizedExpenseCategoryEnabled,
539
532
  },
540
533
  };
541
534
  },
542
535
  reducer(draft, action) {
543
- const { entity, transaction, transactionId, selectedTab, lineIds, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
536
+ const { entity, transaction, transactionId, selectedTab, lineIds, isAccountingClassesEnabled, } = action.payload;
544
537
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
545
538
  .transactionReviewLocalDataById, transactionId.id, undefined);
546
539
  if (transactionLocalData != null) {
547
- const newLocalData = (0, transactionCategorizationLocalDataHelper_1.setEntityRecommendationForLineIdInLocalData)(draft.transactionCategorizationView[selectedTab], transaction, transactionLocalData.transactionReviewLocalData, entity, lineIds, uncategorizedAccounts, action.payload.recommendationWithCOTByLineId, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
540
+ const newLocalData = (0, transactionCategorizationLocalDataHelper_1.setEntityRecommendationForLineIdInLocalData)(draft.transactionCategorizationView[selectedTab], transaction, transactionLocalData.transactionReviewLocalData, entity, lineIds, action.payload.recommendationWithCOTByLineId, isAccountingClassesEnabled);
548
541
  // Release the per-line fetch flag for every line this fetch
549
542
  // covered. Done in-place on the freshly returned local data
550
543
  // (the helper produces a new mutable object), before we write
@@ -717,7 +710,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
717
710
  action.payload.status;
718
711
  },
719
712
  updateSelectedCustomerForTransaction(draft, action) {
720
- const { transactionId, lineId, updatedCustomer, selectedTransaction, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
713
+ const { transactionId, lineId, updatedCustomer, selectedTransaction, selectedTab, isAccountingClassesEnabled, } = action.payload;
721
714
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
722
715
  .transactionReviewLocalDataById, transactionId, undefined);
723
716
  if (transactionLocalData != null) {
@@ -770,7 +763,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
770
763
  .selectedCheckBoxTransactionIds;
771
764
  if (newTransactionLocalData.customer != null &&
772
765
  newTransactionLocalData.customer.id != null &&
773
- (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, uncategorizedAccounts, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled)) {
766
+ (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, isAccountingClassesEnabled)) {
774
767
  draft.transactionCategorizationView[selectedTab].selectedCheckBoxTransactionIds = [
775
768
  ...selectedCheckBoxTransactionIds,
776
769
  transactionId,
@@ -787,7 +780,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
787
780
  }
788
781
  },
789
782
  updateSelectedVendorForTransaction(draft, action) {
790
- const { transactionId, lineId, updatedVendor, selectedTransaction, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
783
+ const { transactionId, lineId, updatedVendor, selectedTransaction, selectedTab, isAccountingClassesEnabled, } = action.payload;
791
784
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
792
785
  .transactionReviewLocalDataById, transactionId, undefined);
793
786
  if (transactionLocalData != null) {
@@ -844,7 +837,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
844
837
  .selectedCheckBoxTransactionIds;
845
838
  if (newTransactionLocalData.vendor != null &&
846
839
  newTransactionLocalData.vendor.id != null &&
847
- (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, uncategorizedAccounts, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled)) {
840
+ (0, transactionCategorizationLocalDataHelper_1.shouldAutoSelectAndAdd)(selectedTransaction, newTransactionLocalData, selectedCheckBoxTransactionIds, isAccountingClassesEnabled)) {
848
841
  draft.transactionCategorizationView[selectedTab].selectedCheckBoxTransactionIds = [
849
842
  ...selectedCheckBoxTransactionIds,
850
843
  transactionId,
@@ -892,12 +885,11 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
892
885
  error: undefined,
893
886
  };
894
887
  },
895
- prepare(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled) {
888
+ prepare(selectedTab, transactionsInReview) {
896
889
  return {
897
890
  payload: {
898
891
  selectedTab,
899
892
  transactionsInReview,
900
- isUncategorizedExpenseCategoryEnabled,
901
893
  },
902
894
  };
903
895
  },
@@ -1007,19 +999,17 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
1007
999
  },
1008
1000
  },
1009
1001
  syncTransactionCategorizationFromDetailSave: {
1010
- prepare(transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled) {
1002
+ prepare(transactionId, updatedTransaction, pendingReviewLineIds) {
1011
1003
  return {
1012
1004
  payload: {
1013
1005
  transactionId,
1014
1006
  updatedTransaction,
1015
1007
  pendingReviewLineIds,
1016
- uncategorizedIncomeExpense,
1017
- isUncategorizedExpenseCategoryEnabled,
1018
1008
  },
1019
1009
  };
1020
1010
  },
1021
1011
  reducer(draft, action) {
1022
- const { transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled, } = action.payload;
1012
+ const { transactionId, updatedTransaction, pendingReviewLineIds, } = action.payload;
1023
1013
  const txnId = transactionId.id;
1024
1014
  const reviewTabView = draft.transactionCategorizationView.review;
1025
1015
  const autoTabView = draft.transactionCategorizationView.autoCategorized;
@@ -1041,7 +1031,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
1041
1031
  }
1042
1032
  // Partially reviewed: rebuild review tab local data with pending review lines
1043
1033
  if (existsInReview) {
1044
- const newLocalData = (0, transactionCategorizationLocalDataHelper_1.toTransactionDetailLocalData)(updatedTransaction, 'review', pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled);
1034
+ const newLocalData = (0, transactionCategorizationLocalDataHelper_1.toTransactionDetailLocalData)(updatedTransaction, 'review', pendingReviewLineIds);
1045
1035
  reviewTabView.transactionReviewLocalDataById[txnId] = {
1046
1036
  transactionId: txnId,
1047
1037
  transactionReviewLocalData: {
@@ -1060,11 +1050,10 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
1060
1050
  },
1061
1051
  },
1062
1052
  backgroundRefetchReviewTab: {
1063
- prepare(period, isUncategorizedExpenseCategoryEnabled) {
1053
+ prepare(period) {
1064
1054
  return {
1065
1055
  payload: {
1066
1056
  period,
1067
- isUncategorizedExpenseCategoryEnabled,
1068
1057
  },
1069
1058
  };
1070
1059
  },
@@ -1,5 +1,4 @@
1
- import { AccountType } from '../../../entity/account/accountState';
2
- import { ApplyStatementParseFormChangeInput, ApplyStatementParseFormChangeResult, GetStatementParseFormViewInput, ParsedStatementData, StatementMeta, StatementParseFormView, StatementParseManualBalanceField, StatementTransaction, StatementUpdateLocalData, ToStatementUpdateLocalDataFromFormViewInput } from '../types/reconciliationViewState';
1
+ import { ParsedStatementData, StatementMeta, StatementTransaction, StatementUpdateLocalData } from '../types/reconciliationViewState';
3
2
  export interface StatementPeriod {
4
3
  statementEndDate: string;
5
4
  statementStartDate: string;
@@ -10,17 +9,4 @@ export declare const filterStatementTransactionsByPeriod: (transactions: Stateme
10
9
  export declare const getParsedStatementDataForView: (parsedStatementData: ParsedStatementData | undefined, statementUpdateLocalData: StatementUpdateLocalData | undefined) => ParsedStatementData | undefined;
11
10
  export declare const getStatementTransactionPeriodById: (allParsedTransactions: StatementTransaction[], parsedMeta: StatementMeta, localMeta: StatementMeta | undefined) => Record<string, boolean>;
12
11
  export declare const getDateFilteredDeletedTransactionIds: (allParsedTransactions: StatementTransaction[], statementPeriod: StatementPeriod) => string[];
13
- export declare const isStatementParseTransactionFieldChange: (changedField: string | undefined) => boolean;
14
- export declare const isStatementParseManualBalanceField: (field: string | undefined) => field is StatementParseManualBalanceField;
15
- export declare const shouldRecalculateStatementParseBalances: (changedField: string | undefined) => boolean;
16
- export declare const resolveStatementParseBalanceFields: (formView: StatementParseFormView, changedField: string | undefined, accountType?: AccountType) => {
17
- closingBalance: number;
18
- openingBalance: number;
19
- totalDeposits: number;
20
- totalPayments: number;
21
- };
22
- export declare const areStatementParseBalancesConsistent: (formView: StatementParseFormView, accountType?: AccountType) => boolean;
23
12
  export declare const mergeStatementParseDeletedTransactionIds: (originalTransactions: StatementTransaction[], statementPeriod: StatementPeriod, currentTransactionIds: Set<string>) => string[];
24
- export declare const getStatementParseFormView: ({ accountType, parsedStatementMeta, originalTransactions, statementUpdateLocalData, }: GetStatementParseFormViewInput) => StatementParseFormView;
25
- export declare const toStatementUpdateLocalDataFromFormView: ({ accountType, formView, parsedStatementMeta, originalTransactions, changedField, }: ToStatementUpdateLocalDataFromFormViewInput) => StatementUpdateLocalData;
26
- export declare const applyStatementParseFormChange: ({ accountType, formView, changedField, parsedStatementMeta, originalTransactions, }: ApplyStatementParseFormChangeInput) => ApplyStatementParseFormChangeResult;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyStatementParseFormChange = exports.toStatementUpdateLocalDataFromFormView = exports.getStatementParseFormView = exports.mergeStatementParseDeletedTransactionIds = exports.areStatementParseBalancesConsistent = exports.resolveStatementParseBalanceFields = exports.shouldRecalculateStatementParseBalances = exports.isStatementParseManualBalanceField = exports.isStatementParseTransactionFieldChange = exports.getDateFilteredDeletedTransactionIds = exports.getStatementTransactionPeriodById = exports.getParsedStatementDataForView = exports.filterStatementTransactionsByPeriod = exports.isStatementTransactionInPeriod = exports.getEffectiveStatementPeriod = void 0;
3
+ exports.mergeStatementParseDeletedTransactionIds = exports.getDateFilteredDeletedTransactionIds = exports.getStatementTransactionPeriodById = exports.getParsedStatementDataForView = exports.filterStatementTransactionsByPeriod = exports.isStatementTransactionInPeriod = exports.getEffectiveStatementPeriod = void 0;
4
4
  const zeniDayJS_1 = require("../../../zeniDayJS");
5
5
  const getEffectiveStatementPeriod = (parsedMeta, localMeta) => ({
6
6
  statementStartDate: localMeta?.statementStartDate != null && localMeta.statementStartDate !== ''
@@ -73,122 +73,6 @@ const getDateFilteredDeletedTransactionIds = (allParsedTransactions, statementPe
73
73
  .map((transaction) => transaction.statementTransactionId);
74
74
  };
75
75
  exports.getDateFilteredDeletedTransactionIds = getDateFilteredDeletedTransactionIds;
76
- const roundCurrency = (value) => Math.round(value * 100) / 100;
77
- const toApiDateString = (value) => {
78
- if (value == null || value === '') {
79
- return '';
80
- }
81
- return (0, zeniDayJS_1.date)(value).format('YYYY-MM-DD');
82
- };
83
- const computeStatementTransactionTotals = (transactions) => {
84
- const totalDeposits = roundCurrency(transactions
85
- .filter((txn) => txn.transactionDirection === 'credit')
86
- .reduce((sum, txn) => sum + Math.abs(txn.amount ?? 0), 0));
87
- const totalPayments = roundCurrency(transactions
88
- .filter((txn) => txn.transactionDirection === 'debit')
89
- .reduce((sum, txn) => sum + Math.abs(txn.amount ?? 0), 0));
90
- return { totalDeposits, totalPayments };
91
- };
92
- const computeStatementClosingBalance = (openingBalance, totalDeposits, totalPayments, accountType) => roundCurrency(accountType === 'credit_card'
93
- ? openingBalance + totalPayments - totalDeposits
94
- : openingBalance + totalDeposits - totalPayments);
95
- const filterFormTransactionsInPeriod = (transactions, statementStartDate, statementEndDate) => {
96
- if (statementStartDate === '' || statementEndDate === '') {
97
- return transactions;
98
- }
99
- const periodStart = (0, zeniDayJS_1.date)(statementStartDate).startOf('day');
100
- const periodEnd = (0, zeniDayJS_1.date)(statementEndDate).startOf('day');
101
- return transactions.filter((txn) => {
102
- if (txn.transactionDate === '') {
103
- return true;
104
- }
105
- const txnDate = (0, zeniDayJS_1.date)(txn.transactionDate).startOf('day');
106
- return (txnDate.isSameOrAfter(periodStart, 'day') &&
107
- txnDate.isSameOrBefore(periodEnd, 'day'));
108
- });
109
- };
110
- const isStatementParseTransactionFieldChange = (changedField) => changedField === 'transactions' ||
111
- changedField?.startsWith('transactions.') === true;
112
- exports.isStatementParseTransactionFieldChange = isStatementParseTransactionFieldChange;
113
- const isStatementParseBalanceAffectingTransactionFieldChange = (changedField) => {
114
- if (changedField === 'transactions') {
115
- return true;
116
- }
117
- if (changedField?.startsWith('transactions.') !== true) {
118
- return false;
119
- }
120
- return !changedField.endsWith('.transactionMemo');
121
- };
122
- const isStatementParseManualBalanceField = (field) => field === 'totalDeposits' ||
123
- field === 'totalPayments' ||
124
- field === 'closingBalance';
125
- exports.isStatementParseManualBalanceField = isStatementParseManualBalanceField;
126
- const shouldRecalculateStatementParseBalances = (changedField) => isStatementParseBalanceAffectingTransactionFieldChange(changedField) ||
127
- changedField === 'statementStartDate' ||
128
- changedField === 'statementEndDate';
129
- exports.shouldRecalculateStatementParseBalances = shouldRecalculateStatementParseBalances;
130
- const resolveStatementParseBalanceFields = (formView, changedField, accountType) => {
131
- const inPeriodTransactions = filterFormTransactionsInPeriod(formView.transactions, formView.statementStartDate, formView.statementEndDate);
132
- const { totalDeposits, totalPayments } = computeStatementTransactionTotals(inPeriodTransactions);
133
- if (!(0, exports.shouldRecalculateStatementParseBalances)(changedField)) {
134
- return {
135
- openingBalance: formView.openingBalance,
136
- closingBalance: formView.closingBalance,
137
- totalDeposits: formView.totalDeposits,
138
- totalPayments: formView.totalPayments,
139
- };
140
- }
141
- return {
142
- openingBalance: formView.openingBalance,
143
- totalDeposits,
144
- totalPayments,
145
- closingBalance: computeStatementClosingBalance(formView.openingBalance, totalDeposits, totalPayments, accountType),
146
- };
147
- };
148
- exports.resolveStatementParseBalanceFields = resolveStatementParseBalanceFields;
149
- const areStatementParseBalancesConsistent = (formView, accountType) => {
150
- // Validate the four balance fields against each other (what the user sees),
151
- // not against recomputed transaction totals. Manual deposits/payments edits
152
- // are allowed as long as closing matches the account-type formula.
153
- return (roundCurrency(formView.closingBalance) ===
154
- computeStatementClosingBalance(formView.openingBalance, formView.totalDeposits, formView.totalPayments, accountType));
155
- };
156
- exports.areStatementParseBalancesConsistent = areStatementParseBalancesConsistent;
157
- const mapParsedTransactionToFormRow = (transaction, index) => ({
158
- id: transaction.statementTransactionId || `parsed-${index}`,
159
- transactionDate: toApiDateString(transaction.transactionDate),
160
- transactionMemo: transaction.transactionMemo,
161
- amount: transaction.amount,
162
- transactionDirection: transaction.transactionDirection,
163
- statementTransactionId: transaction.statementTransactionId,
164
- });
165
- const mapLocalTransactionToFormRow = (transaction, id) => ({
166
- id,
167
- transactionDate: toApiDateString(transaction.transactionDate),
168
- transactionMemo: transaction.transactionMemo,
169
- amount: transaction.amount,
170
- transactionDirection: transaction.transactionDirection,
171
- statementTransactionId: transaction.statementTransactionId,
172
- });
173
- const buildStatementParseFormTransactions = (originalTransactions, localData) => {
174
- const deletedIdSet = new Set(localData.statementTransactions?.deletedIds ?? []);
175
- const updatedById = new Map((localData.statementTransactions?.updated ?? [])
176
- .filter((transaction) => transaction.statementTransactionId != null)
177
- .map((transaction) => [
178
- transaction.statementTransactionId,
179
- transaction,
180
- ]));
181
- const persistedTransactions = originalTransactions
182
- .filter((transaction) => !deletedIdSet.has(transaction.statementTransactionId))
183
- .map((transaction, index) => {
184
- const updated = updatedById.get(transaction.statementTransactionId);
185
- return updated != null
186
- ? mapLocalTransactionToFormRow(updated, transaction.statementTransactionId)
187
- : mapParsedTransactionToFormRow(transaction, index);
188
- });
189
- const addedTransactions = (localData.statementTransactions?.added ?? []).map((transaction, index) => mapLocalTransactionToFormRow(transaction, `added-${index}`));
190
- return [...persistedTransactions, ...addedTransactions];
191
- };
192
76
  const mergeStatementParseDeletedTransactionIds = (originalTransactions, statementPeriod, currentTransactionIds) => {
193
77
  const dateFilteredDeletedIds = (0, exports.getDateFilteredDeletedTransactionIds)(originalTransactions, statementPeriod);
194
78
  const dateFilteredDeletedIdSet = new Set(dateFilteredDeletedIds);
@@ -200,119 +84,3 @@ const mergeStatementParseDeletedTransactionIds = (originalTransactions, statemen
200
84
  return [...new Set([...userDeletedIds, ...dateFilteredDeletedIds])];
201
85
  };
202
86
  exports.mergeStatementParseDeletedTransactionIds = mergeStatementParseDeletedTransactionIds;
203
- const resolveStatementMetaDates = (parsedStatementMeta, localMeta) => ({
204
- statementStartDate: localMeta?.statementStartDate != null && localMeta.statementStartDate !== ''
205
- ? localMeta.statementStartDate
206
- : (parsedStatementMeta?.statementStartDate ?? ''),
207
- statementEndDate: localMeta?.statementEndDate != null && localMeta.statementEndDate !== ''
208
- ? localMeta.statementEndDate
209
- : (parsedStatementMeta?.statementEndDate ?? ''),
210
- });
211
- const getStatementParseFormView = ({ accountType, parsedStatementMeta, originalTransactions, statementUpdateLocalData, }) => {
212
- const transactions = statementUpdateLocalData != null
213
- ? buildStatementParseFormTransactions(originalTransactions, statementUpdateLocalData)
214
- : originalTransactions.map(mapParsedTransactionToFormRow);
215
- const localMeta = statementUpdateLocalData?.statementMeta;
216
- const { statementStartDate, statementEndDate } = resolveStatementMetaDates(parsedStatementMeta, localMeta);
217
- const { totalDeposits, totalPayments } = computeStatementTransactionTotals(filterFormTransactionsInPeriod(transactions, statementStartDate, statementEndDate));
218
- const openingBalance = localMeta?.openingBalance ?? parsedStatementMeta?.openingBalance ?? 0;
219
- const computedClosingBalance = computeStatementClosingBalance(openingBalance, totalDeposits, totalPayments, accountType);
220
- return {
221
- statementStartDate,
222
- statementEndDate,
223
- openingBalance,
224
- closingBalance: localMeta?.closingBalance ?? computedClosingBalance,
225
- totalDeposits: localMeta?.totalDeposits ?? totalDeposits,
226
- totalPayments: localMeta?.totalPayments ?? totalPayments,
227
- transactions: filterFormTransactionsInPeriod(transactions, statementStartDate, statementEndDate),
228
- };
229
- };
230
- exports.getStatementParseFormView = getStatementParseFormView;
231
- const toStatementUpdateLocalDataFromFormView = ({ accountType, formView, parsedStatementMeta, originalTransactions, changedField, }) => {
232
- const balanceFields = (0, exports.resolveStatementParseBalanceFields)(formView, changedField, accountType);
233
- const currentTransactionIds = new Set(formView.transactions
234
- .map((transaction) => transaction.statementTransactionId)
235
- .filter((id) => id != null && id !== ''));
236
- const added = [];
237
- const updated = [];
238
- formView.transactions.forEach((transaction) => {
239
- const transactionDate = toApiDateString(transaction.transactionDate);
240
- if (transaction.statementTransactionId == null) {
241
- if (transaction.transactionDirection != null) {
242
- added.push({
243
- amount: transaction.amount,
244
- transactionDate,
245
- transactionDirection: transaction.transactionDirection,
246
- transactionMemo: transaction.transactionMemo,
247
- });
248
- }
249
- return;
250
- }
251
- const original = originalTransactions.find((candidate) => candidate.statementTransactionId === transaction.statementTransactionId);
252
- if (original != null &&
253
- (original.amount !== transaction.amount ||
254
- toApiDateString(original.transactionDate) !== transactionDate ||
255
- original.transactionMemo !== transaction.transactionMemo)) {
256
- updated.push({
257
- amount: transaction.amount,
258
- transactionDate,
259
- transactionDirection: transaction.transactionDirection,
260
- transactionMemo: transaction.transactionMemo,
261
- statementTransactionId: transaction.statementTransactionId,
262
- });
263
- }
264
- });
265
- const statementPeriod = {
266
- statementStartDate: toApiDateString(formView.statementStartDate),
267
- statementEndDate: toApiDateString(formView.statementEndDate),
268
- };
269
- const deletedIds = (0, exports.mergeStatementParseDeletedTransactionIds)(originalTransactions, statementPeriod, currentTransactionIds);
270
- const deletedIdSet = new Set(deletedIds);
271
- const inPeriodAdded = filterFormTransactionsInPeriod(added, statementPeriod.statementStartDate, statementPeriod.statementEndDate);
272
- const inPeriodUpdated = updated.filter((transaction) => transaction.statementTransactionId != null &&
273
- !deletedIdSet.has(transaction.statementTransactionId));
274
- return {
275
- statementMeta: {
276
- closingBalance: balanceFields.closingBalance,
277
- openingBalance: balanceFields.openingBalance,
278
- statementDataStatus: parsedStatementMeta?.statementDataStatus ?? {
279
- code: '',
280
- label: '',
281
- },
282
- statementEndDate: statementPeriod.statementEndDate,
283
- statementStartDate: statementPeriod.statementStartDate,
284
- statementStatus: parsedStatementMeta?.statementStatus ?? {
285
- code: '',
286
- label: '',
287
- },
288
- statementUploadId: parsedStatementMeta?.statementUploadId ?? '',
289
- totalDeposits: balanceFields.totalDeposits,
290
- totalPayments: balanceFields.totalPayments,
291
- },
292
- statementTransactions: {
293
- added: inPeriodAdded,
294
- deletedIds,
295
- updated: inPeriodUpdated,
296
- },
297
- };
298
- };
299
- exports.toStatementUpdateLocalDataFromFormView = toStatementUpdateLocalDataFromFormView;
300
- const applyStatementParseFormChange = ({ accountType, formView, changedField, parsedStatementMeta, originalTransactions, }) => {
301
- const balanceFields = (0, exports.resolveStatementParseBalanceFields)(formView, changedField, accountType);
302
- const shouldRecalculate = (0, exports.shouldRecalculateStatementParseBalances)(changedField);
303
- const mergedFormView = shouldRecalculate
304
- ? { ...formView, ...balanceFields }
305
- : formView;
306
- return {
307
- didRecalculateBalances: shouldRecalculate,
308
- formView: mergedFormView,
309
- localData: (0, exports.toStatementUpdateLocalDataFromFormView)({
310
- accountType,
311
- formView: mergedFormView,
312
- parsedStatementMeta,
313
- originalTransactions,
314
- changedField,
315
- }),
316
- };
317
- };
318
- exports.applyStatementParseFormChange = applyStatementParseFormChange;
@@ -2,7 +2,7 @@ import { Amount } from '../../../commonStateTypes/amount';
2
2
  import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
3
3
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
4
4
  import { MonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
- import { AccountType, ReconciliationAccountSourceType } from '../../../entity/account/accountState';
5
+ import { ReconciliationAccountSourceType } from '../../../entity/account/accountState';
6
6
  import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconState';
7
7
  import { CustomerBase } from '../../../entity/customer/customerState';
8
8
  import { VendorBase } from '../../../entity/vendor/vendorState';
@@ -251,6 +251,12 @@ export interface StatementTransactionForUpdate {
251
251
  transactionDate: string;
252
252
  transactionDirection: 'debit' | 'credit';
253
253
  transactionMemo: string;
254
+ /**
255
+ * Client-only stable id for unsaved added rows. Preserved across local-data
256
+ * rebuilds so form rows survive add/delete without index remapping. Not sent
257
+ * to the API.
258
+ */
259
+ id?: string;
254
260
  statementTransactionId?: string;
255
261
  }
256
262
  export interface StatementTransactionsUpdate {
@@ -258,49 +264,6 @@ export interface StatementTransactionsUpdate {
258
264
  deletedIds: string[];
259
265
  updated: StatementTransactionForUpdate[];
260
266
  }
261
- export type StatementParseManualBalanceField = 'totalDeposits' | 'totalPayments' | 'closingBalance';
262
- export interface StatementParseFormTransaction {
263
- amount: number;
264
- id: string;
265
- transactionDate: string;
266
- transactionDirection: 'debit' | 'credit';
267
- transactionMemo: string;
268
- statementTransactionId?: string;
269
- }
270
- export interface StatementParseFormView {
271
- closingBalance: number;
272
- openingBalance: number;
273
- statementEndDate: string;
274
- statementStartDate: string;
275
- totalDeposits: number;
276
- totalPayments: number;
277
- transactions: StatementParseFormTransaction[];
278
- }
279
- export interface GetStatementParseFormViewInput {
280
- originalTransactions: StatementTransaction[];
281
- parsedStatementMeta: StatementMeta | undefined;
282
- statementUpdateLocalData: StatementUpdateLocalData | undefined;
283
- accountType?: AccountType;
284
- }
285
- export interface ToStatementUpdateLocalDataFromFormViewInput {
286
- formView: StatementParseFormView;
287
- originalTransactions: StatementTransaction[];
288
- parsedStatementMeta: StatementMeta | undefined;
289
- accountType?: AccountType;
290
- changedField?: string;
291
- }
292
- export interface ApplyStatementParseFormChangeInput {
293
- formView: StatementParseFormView;
294
- originalTransactions: StatementTransaction[];
295
- parsedStatementMeta: StatementMeta | undefined;
296
- accountType?: AccountType;
297
- changedField?: string;
298
- }
299
- export interface ApplyStatementParseFormChangeResult {
300
- didRecalculateBalances: boolean;
301
- formView: StatementParseFormView;
302
- localData: StatementUpdateLocalData;
303
- }
304
267
  export interface StatementUpdateLocalData {
305
268
  statementMeta: StatementMeta;
306
269
  statementTransactions: StatementTransactionsUpdate;
@@ -41,6 +41,7 @@ export interface OnboardingCustomerView {
41
41
  saveStatus: FetchStateAndError;
42
42
  uiState: OnboardingCustomerViewUIState;
43
43
  updateStatus: FetchStateAndError;
44
+ aiFinanceTeamAcknowledgementStatus?: FetchStateAndError;
44
45
  companyDetailsLocalData?: CompanyDetails;
45
46
  companyView?: CompanyView;
46
47
  externalConnections?: TenantExternalConnections;
@@ -17,7 +17,7 @@ const setupViewSelector_1 = require("../../spendManagement/commonSetup/setupView
17
17
  const onboardingCustomerViewState_1 = require("./onboardingCustomerViewState");
18
18
  function getOnboardingCustomerView(state, companyId) {
19
19
  const { fileState, paymentAccountState, onboardingCustomerViewState, userState, userRoleState, subscriptionPaymentAccountState, companyConfigState, cardPaymentViewState, countryListState, addressViewState, } = state;
20
- const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, subscriptionPaymentAccountIds, paymentAccountDetails, plaidConnectionDetails, parsingDocumentFileIds, updateStatus, saveStatus, currentStep, currentSubStep, uiState, fetchState, error, } = onboardingCustomerViewState;
20
+ const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, subscriptionPaymentAccountIds, paymentAccountDetails, plaidConnectionDetails, parsingDocumentFileIds, updateStatus, saveStatus, aiFinanceTeamAcknowledgementStatus, currentStep, currentSubStep, uiState, fetchState, error, } = onboardingCustomerViewState;
21
21
  const { paymentAccountIds } = paymentAccountDetails;
22
22
  let subscriptionPaymentAccount;
23
23
  let paymentAccount;
@@ -154,6 +154,7 @@ function getOnboardingCustomerView(state, companyId) {
154
154
  fetchStatus,
155
155
  saveStatus,
156
156
  updateStatus,
157
+ aiFinanceTeamAcknowledgementStatus,
157
158
  qboConnected: onboardingInfo?.qboLinked.completed ?? false,
158
159
  isInterimEmailSent: onboardingInfo?.isInterimEmailSent ?? false,
159
160
  };
@@ -13,7 +13,7 @@ const transactionDetailState_1 = require("../transactionDetail/transactionDetail
13
13
  const recommendationHelper_1 = require("./recommendationHelper");
14
14
  const recommendationReducer_1 = require("./recommendationReducer");
15
15
  const fetchEntityRecommendationsByTransactionIdEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(recommendationReducer_1.fetchEntityRecommendationsByTransactionId.match), (0, operators_1.switchMap)((action) => {
16
- const { entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow, isFetchCOT, isUncategorizedExpenseCategoryEnabled, } = action.payload;
16
+ const { entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow, isFetchCOT, } = action.payload;
17
17
  const { expenseAutomationTransactionsViewState: { selectedTransactionCategorizationTab, }, } = state$.value;
18
18
  const query = {
19
19
  amount,
@@ -55,7 +55,7 @@ const fetchEntityRecommendationsByTransactionIdEpic = (actions$, state$, zeniAPI
55
55
  if (recommendationWithCOTByLineId != null) {
56
56
  const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(state$.value.accountState, state$.value.accountListState, 'accountList');
57
57
  if (isTransactionCategorizationFlow === true) {
58
- actions.push((0, transactionsViewReducer_1.setEntityRecommendationForLineIdsForCategorization)(selectedTransactionCategorizationTab, transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled, (0, tenantSelector_1.getIsAccountingClassesEnabled)(state$.value)));
58
+ actions.push((0, transactionsViewReducer_1.setEntityRecommendationForLineIdsForCategorization)(selectedTransactionCategorizationTab, transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense, (0, tenantSelector_1.getIsAccountingClassesEnabled)(state$.value)));
59
59
  }
60
60
  else {
61
61
  actions.push((0, transactionDetailReducer_1.setEntityRecommendationForLineIdsForTransactionDetail)(transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense));