@zeniai/client-epic-state 5.0.91 → 5.0.92-betaNB1

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 (62) hide show
  1. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
  2. package/lib/entity/accountRecon/accountReconPayload.d.ts +20 -1
  3. package/lib/entity/accountRecon/accountReconPayload.js +23 -1
  4. package/lib/entity/accountRecon/accountReconSelector.d.ts +6 -1
  5. package/lib/entity/accountRecon/accountReconSelector.js +5 -0
  6. package/lib/entity/accountRecon/accountReconState.d.ts +19 -0
  7. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.d.ts +7 -0
  8. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +9 -0
  9. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +7 -0
  10. package/lib/entity/task/taskPayload.d.ts +3 -1
  11. package/lib/entity/task/taskPayload.js +2 -0
  12. package/lib/entity/task/taskState.d.ts +2 -0
  13. package/lib/epic.d.ts +7 -3
  14. package/lib/epic.js +7 -3
  15. package/lib/esm/entity/accountRecon/accountReconPayload.js +23 -1
  16. package/lib/esm/entity/accountRecon/accountReconSelector.js +5 -0
  17. package/lib/esm/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +9 -0
  18. package/lib/esm/entity/task/taskPayload.js +2 -0
  19. package/lib/esm/epic.js +7 -3
  20. package/lib/esm/index.js +5 -5
  21. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  22. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  23. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  24. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  25. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  26. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  27. package/lib/esm/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +34 -0
  28. package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +42 -0
  29. package/lib/esm/view/expenseAutomationView/payload/reconciliationPayload.js +73 -0
  30. package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +89 -3
  31. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +20 -0
  32. package/lib/esm/view/expenseAutomationView/types/reconciliationViewState.js +20 -0
  33. package/lib/index.d.ts +11 -10
  34. package/lib/index.js +43 -33
  35. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  36. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +10 -4
  37. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  38. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  39. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  40. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  41. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  42. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  43. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  44. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  45. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  46. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  47. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  48. package/lib/view/companyView/types/cockpitTypes.d.ts +2 -1
  49. package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.d.ts +6 -0
  50. package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +38 -0
  51. package/lib/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.d.ts +19 -0
  52. package/lib/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +46 -0
  53. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +83 -1
  54. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +75 -0
  55. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +35 -3
  56. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +90 -4
  57. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +5 -1
  58. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +20 -0
  59. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +128 -0
  60. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +21 -0
  61. package/lib/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListState.d.ts +1 -1
  62. package/package.json +1 -1
@@ -5,7 +5,7 @@ import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
5
5
  import { ReconciliationDataPayload } from '../../../entity/accountRecon/accountReconPayload';
6
6
  import { ZeniAPIStatus } from '../../../responsePayload';
7
7
  import { ExcludedAccountFromReconciliationPayload, ReconciliationPayload, UploadStatementDocumentAIPayload } from '../payload/reconciliationPayload';
8
- import { AccountReconciliationLocalData, ActionFetchStates, ExcludeAccountFromReconciliationPayload, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReviewTabLocalData, ReconciliationTabsState, ReconciliationViewState, ReconciliationViewTabType, SaveReconcileDetailActionPayload, SaveReconciliationDetailFailurePayload, TransactionSummary } from '../types/reconciliationViewState';
8
+ import { AccountReconciliationLocalData, ActionFetchStates, ExcludeAccountFromReconciliationPayload, ParsedStatementData, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReviewTabLocalData, ReconciliationTabsState, ReconciliationViewState, ReconciliationViewTabType, SaveReconcileDetailActionPayload, SaveReconciliationDetailFailurePayload, StatementUpdateLocalData, TransactionSummary } from '../types/reconciliationViewState';
9
9
  export declare const initialReconciliationTabsState: ReconciliationTabsState;
10
10
  export declare const initialActionFetchState: ActionFetchStates;
11
11
  export declare const initialState: ReconciliationViewState;
@@ -52,7 +52,9 @@ export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreat
52
52
  variancePercentage?: number;
53
53
  }, "expenseAutomationReconciliationView/updateBalancesLocalData">, initialiseLocalDataForSelectedAccountId: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationReconciliationView/initialiseLocalDataForSelectedAccountId">, clearExpenseAutomationReconciliationView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationReconciliationView/clearExpenseAutomationReconciliationView">, updateSelectedDrawerAccountId: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
54
54
  selectedDrawerAccountId?: ID;
55
- }, "expenseAutomationReconciliationView/updateSelectedDrawerAccountId">, updateReviewTabSortState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
55
+ }, "expenseAutomationReconciliationView/updateSelectedDrawerAccountId">, updateStatementProcessingFailed: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
56
+ statementProcessingFailed: boolean;
57
+ }, "expenseAutomationReconciliationView/updateStatementProcessingFailed">, updateReviewTabSortState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
56
58
  sortKey: ReconReviewSortKey;
57
59
  sortOrder: SortOrder;
58
60
  }, "expenseAutomationReconciliationView/updateReviewTabSortState">, initializeReconciliationReviewTabLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[localData: Record<string, ReconciliationReviewTabLocalData>], {
@@ -108,7 +110,37 @@ export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreat
108
110
  accountId: ID;
109
111
  error: ZeniAPIStatus;
110
112
  selectedPeriod: MonthYearPeriod;
111
- }, "expenseAutomationReconciliationView/uploadAccountStatementFailure">, updateStatementUploadChosen: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
113
+ }, "expenseAutomationReconciliationView/uploadAccountStatementFailure">, parseStatement: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
114
+ accountId: ID;
115
+ selectedPeriod: MonthYearPeriod;
116
+ statementUploadId: ID;
117
+ }, "expenseAutomationReconciliationView/parseStatement">, parseStatementSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
118
+ accountId: ID;
119
+ selectedPeriod: MonthYearPeriod;
120
+ }, "expenseAutomationReconciliationView/parseStatementSuccess">, parseStatementFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
121
+ accountId: ID;
122
+ error: ZeniAPIStatus;
123
+ selectedPeriod: MonthYearPeriod;
124
+ }, "expenseAutomationReconciliationView/parseStatementFailure">, updateParsedStatementData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
125
+ accountId: ID;
126
+ parsedStatementData: ParsedStatementData;
127
+ selectedPeriod: MonthYearPeriod;
128
+ }, "expenseAutomationReconciliationView/updateParsedStatementData">, updateStatementUpdateLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
129
+ accountId: ID;
130
+ selectedPeriod: MonthYearPeriod;
131
+ statementUpdateLocalData: StatementUpdateLocalData;
132
+ }, "expenseAutomationReconciliationView/updateStatementUpdateLocalData">, submitStatementUpdate: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
133
+ accountId: ID;
134
+ selectedPeriod: MonthYearPeriod;
135
+ statementUploadId: string;
136
+ }, "expenseAutomationReconciliationView/submitStatementUpdate">, submitStatementUpdateSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
137
+ accountId: ID;
138
+ selectedPeriod: MonthYearPeriod;
139
+ }, "expenseAutomationReconciliationView/submitStatementUpdateSuccess">, submitStatementUpdateFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
140
+ accountId: ID;
141
+ error: ZeniAPIStatus;
142
+ selectedPeriod: MonthYearPeriod;
143
+ }, "expenseAutomationReconciliationView/submitStatementUpdateFailure">, updateStatementUploadChosen: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
112
144
  statementUploadChosen: boolean;
113
145
  }, "expenseAutomationReconciliationView/updateStatementUploadChosen">, updateNodeCollapseState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
114
146
  collapsed: boolean;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.includeAccountInReconciliationFailure = exports.includeAccountInReconciliationSuccess = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliationFailure = exports.excludeAccountFromReconciliationSuccess = exports.excludeAccountFromReconciliation = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
4
+ exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.submitStatementUpdateFailure = exports.submitStatementUpdateSuccess = exports.submitStatementUpdate = exports.updateStatementUpdateLocalData = exports.updateParsedStatementData = exports.parseStatementFailure = exports.parseStatementSuccess = exports.parseStatement = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.includeAccountInReconciliationFailure = exports.includeAccountInReconciliationSuccess = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliationFailure = exports.excludeAccountFromReconciliationSuccess = exports.excludeAccountFromReconciliation = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateStatementProcessingFailed = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
7
  const accountState_1 = require("../../../entity/account/accountState");
8
8
  const accountReconState_1 = require("../../../entity/accountRecon/accountReconState");
9
+ const reconciliationViewState_1 = require("../types/reconciliationViewState");
9
10
  // Initial state
10
11
  exports.initialReconciliationTabsState = {
11
12
  balances: {
@@ -71,6 +72,7 @@ exports.initialState = {
71
72
  refreshStatus: { fetchState: 'Not-Started', error: undefined },
72
73
  actionFetchState: exports.initialActionFetchState,
73
74
  selectedAccountId: undefined,
75
+ statementProcessingFailed: false,
74
76
  statementUploadChosen: false,
75
77
  reconListUIState: {
76
78
  nodeCollapseState: {},
@@ -79,6 +81,7 @@ exports.initialState = {
79
81
  },
80
82
  },
81
83
  excludedAccountIDs: [],
84
+ summary: undefined,
82
85
  };
83
86
  // Create slice with reducers
84
87
  const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
@@ -147,7 +150,7 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
147
150
  fetchReconciliationSuccess: {
148
151
  reducer(draft, action) {
149
152
  if (action.payload.accountId == null) {
150
- updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground, action.payload.reconciliation.excluded_accounts ?? []);
153
+ updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground, action.payload.reconciliation.excluded_accounts ?? [], action.payload.reconciliation.summary);
151
154
  }
152
155
  else if (action.payload.reconciliation.reconciliation.length > 0 &&
153
156
  action.payload.reconciliation.accounts.length > 0) {
@@ -291,6 +294,10 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
291
294
  updateSelectedDrawerAccountId: (draft, action) => {
292
295
  draft.selectedDrawerAccountId = action.payload.selectedDrawerAccountId;
293
296
  },
297
+ updateStatementProcessingFailed: (draft, action) => {
298
+ draft.statementProcessingFailed =
299
+ action.payload.statementProcessingFailed;
300
+ },
294
301
  initialiseLocalDataForSelectedAccountId: () => { },
295
302
  updateSelectedTab: (draft, action) => {
296
303
  const { selectedTab } = action.payload;
@@ -423,6 +430,76 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
423
430
  error: action.payload.error,
424
431
  };
425
432
  },
433
+ parseStatement: (draft, action) => {
434
+ const { accountId, selectedPeriod } = action.payload;
435
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementParseStatus = {
436
+ fetchState: 'In-Progress',
437
+ error: undefined,
438
+ };
439
+ },
440
+ parseStatementSuccess: (draft, action) => {
441
+ const { accountId, selectedPeriod } = action.payload;
442
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementParseStatus = {
443
+ fetchState: 'Completed',
444
+ error: undefined,
445
+ };
446
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementParseInProgress = false;
447
+ },
448
+ parseStatementFailure: (draft, action) => {
449
+ const { accountId, selectedPeriod } = action.payload;
450
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementParseStatus = {
451
+ fetchState: 'Error',
452
+ error: action.payload.error,
453
+ };
454
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementParseInProgress = false;
455
+ },
456
+ updateParsedStatementData: (draft, action) => {
457
+ const { accountId, selectedPeriod, parsedStatementData } = action.payload;
458
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].parsedStatementData =
459
+ parsedStatementData;
460
+ },
461
+ updateStatementUpdateLocalData: (draft, action) => {
462
+ const { accountId, selectedPeriod, statementUpdateLocalData } = action.payload;
463
+ const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId];
464
+ if (accountRecon.localData == null) {
465
+ accountRecon.localData = {
466
+ statementUpdateLocalData,
467
+ };
468
+ }
469
+ else {
470
+ accountRecon.localData.statementUpdateLocalData =
471
+ statementUpdateLocalData;
472
+ }
473
+ },
474
+ submitStatementUpdate: (draft, action) => {
475
+ const { accountId, selectedPeriod } = action.payload;
476
+ draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].statementUpdateStatus = {
477
+ fetchState: 'In-Progress',
478
+ error: undefined,
479
+ };
480
+ },
481
+ submitStatementUpdateSuccess: (draft, action) => {
482
+ const { accountId, selectedPeriod } = action.payload;
483
+ const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId];
484
+ accountRecon.statementUpdateStatus = {
485
+ fetchState: 'Completed',
486
+ error: undefined,
487
+ };
488
+ if (accountRecon.localData != null) {
489
+ accountRecon.localData.statementUpdateLocalData = undefined;
490
+ }
491
+ },
492
+ submitStatementUpdateFailure: (draft, action) => {
493
+ const { accountId, selectedPeriod } = action.payload;
494
+ const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId];
495
+ accountRecon.statementUpdateStatus = {
496
+ fetchState: 'Error',
497
+ error: action.payload.error,
498
+ };
499
+ if (accountRecon.localData != null) {
500
+ accountRecon.localData.statementUpdateLocalData = undefined;
501
+ }
502
+ },
426
503
  updateAccountReconciliationLocalData: (draft, action) => {
427
504
  const { accountId, selectedPeriod, localData } = action.payload;
428
505
  const oldLocalData = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId].localData;
@@ -528,10 +605,10 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
528
605
  },
529
606
  });
530
607
  // Export actions
531
- _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
608
+ _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateStatementProcessingFailed = _a.updateStatementProcessingFailed, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.parseStatement = _a.parseStatement, exports.parseStatementSuccess = _a.parseStatementSuccess, exports.parseStatementFailure = _a.parseStatementFailure, exports.updateParsedStatementData = _a.updateParsedStatementData, exports.updateStatementUpdateLocalData = _a.updateStatementUpdateLocalData, exports.submitStatementUpdate = _a.submitStatementUpdate, exports.submitStatementUpdateSuccess = _a.submitStatementUpdateSuccess, exports.submitStatementUpdateFailure = _a.submitStatementUpdateFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
532
609
  // Export reducer
533
610
  exports.default = expenseAutomationReconciliationView.reducer;
534
- function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts) {
611
+ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts, summary) {
535
612
  draft.excludedAccountIDs = excludedAccounts.map((ea) => ea.account_id);
536
613
  draft.excludedAccountExclusionInfo = {};
537
614
  excludedAccounts.forEach((ea) => {
@@ -560,6 +637,7 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
560
637
  : undefined,
561
638
  };
562
639
  });
640
+ const oldReconciliationByAccountID = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]?.reconciliationByAccountID ?? {};
563
641
  draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = {
564
642
  accountIDs: [],
565
643
  reconciliationByAccountID: {},
@@ -583,6 +661,7 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
583
661
  paymentAccountId: account?.payment_account_id ?? undefined,
584
662
  };
585
663
  }
664
+ const oldRecord = oldReconciliationByAccountID[reconciliation.account_id];
586
665
  accountReconciliationRecords.reconciliationByAccountID[reconciliation.account_id] = {
587
666
  accountId: reconciliation.account_id,
588
667
  reconciliationId: reconciliation.reconciliation_id ?? undefined,
@@ -592,14 +671,17 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
592
671
  statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
593
672
  statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
594
673
  statementParseInProgress: reconciliation.bank_status.code === 'parsing',
674
+ statementParseStatus: { fetchState: 'Not-Started', error: undefined },
595
675
  localData: {
596
676
  accountSource: account?.reconciliation_source != null
597
677
  ? (0, accountState_1.toReconciliationAccountSource)(account.reconciliation_source)
598
678
  : undefined,
679
+ ...oldRecord?.localData,
599
680
  },
600
681
  accountDetectionReason: account?.detection_info != null && account.detection_reason != null
601
682
  ? account.detection_reason
602
683
  : undefined,
684
+ parsedStatementData: oldRecord?.parsedStatementData,
603
685
  };
604
686
  accountReconciliationRecords.accountIDs.push(reconciliation.account_id);
605
687
  });
@@ -613,6 +695,9 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
613
695
  draft.fetchState = 'Completed';
614
696
  draft.error = undefined;
615
697
  }
698
+ if (summary !== undefined) {
699
+ draft.summary = (0, reconciliationViewState_1.toReconciliationViewSummary)(summary);
700
+ }
616
701
  }
617
702
  function updateReconciliationByAccountID(draft, accounts, selectedPeriod, accountId, reconciliationData, refreshViewInBackground) {
618
703
  const oldRecord = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)].reconciliationByAccountID[accountId];
@@ -680,6 +765,7 @@ const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, recon
680
765
  statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
681
766
  statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
682
767
  statementParseInProgress: reconciliation.bank_status.code === 'parsing',
768
+ statementParseStatus: { fetchState: 'Not-Started', error: undefined },
683
769
  localData: {},
684
770
  accountDetectionReason: undefined,
685
771
  };
@@ -9,7 +9,7 @@ import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconSta
9
9
  import { ClassBase } from '../../../entity/class/classState';
10
10
  import { Vendor } from '../../../entity/vendor/vendorState';
11
11
  import { PlaidConnectionDetails } from '../../spendManagement/plaidAccount/plaidAccountViewState';
12
- import { AccountReconciliationLocalData, ActionFetchStates, ReconListUIState, ReconciliationTabsState, ReconciliationViewTabType } from '../types/reconciliationViewState';
12
+ import { AccountReconciliationLocalData, ActionFetchStates, ParsedStatementData, ReconListUIState, ReconciliationTabsState, ReconciliationViewSummary, ReconciliationViewTabType } from '../types/reconciliationViewState';
13
13
  export declare const ALL_ACCOUNT_RECON_SECTION_IDS: readonly ["assets", "liabilities"];
14
14
  export declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
15
15
  export type AccountReconSectionID = ReturnType<typeof toAccountReconSectionID>;
@@ -37,10 +37,12 @@ export interface ExpenseAutomationReconciliationViewSelector {
37
37
  refreshStatus: FetchStateAndError;
38
38
  reviewTabSelectedVendorByTransactionId: Record<ID, Vendor>;
39
39
  selectedTab: ReconciliationViewTabType;
40
+ statementProcessingFailed: boolean;
40
41
  statementUploadChosen: boolean;
41
42
  selectedAccountId?: ID;
42
43
  selectedDrawerAccountId?: ID;
43
44
  selectedReconAccount?: AccountReconciliationByAccount;
45
+ summary?: ReconciliationViewSummary;
44
46
  }
45
47
  export interface AccountReconciliationBySection {
46
48
  accountIDs: ID[];
@@ -59,9 +61,11 @@ export interface AccountReconciliationByAccount {
59
61
  refreshStatus: FetchStateAndError;
60
62
  statementDeleteStatus: FetchStateAndError;
61
63
  statementParseInProgress: boolean;
64
+ statementParseStatus: FetchStateAndError;
62
65
  statementUpdateStatus: FetchStateAndError;
63
66
  statementUploadStatus: FetchStateAndError;
64
67
  transactionFetchState: FetchStateAndError;
65
68
  accountDetectionReason?: string;
69
+ parsedStatementData?: ParsedStatementData;
66
70
  paymentAccountId?: ID;
67
71
  }
@@ -49,6 +49,17 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
49
49
  error: undefined,
50
50
  })
51
51
  : { fetchState: 'Not-Started', error: undefined };
52
+ const monthEndChecksForPeriod = selectedPeriod != null
53
+ ? monthEndCloseChecksState.monthEndCloseChecksByTenantId[currentTenant.tenantId]?.[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]
54
+ : undefined;
55
+ const reconCheckTimeSaved = monthEndChecksForPeriod?.monthEndCloseCheckList.find((check) => check.title === 'Reconciliation')?.progressJson?.timeSavedPercentage;
56
+ const summaryWithTimeSaved = reconciliationViewState.summary != null
57
+ ? {
58
+ ...reconciliationViewState.summary,
59
+ timeSavedPercentage: reconCheckTimeSaved ??
60
+ reconciliationViewState.summary.timeSavedPercentage,
61
+ }
62
+ : undefined;
52
63
  if (accountReconForMonthYearPeriod == null) {
53
64
  return {
54
65
  bankAccounts: [],
@@ -72,6 +83,7 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
72
83
  selectedTab: reconciliationViewState.selectedTab,
73
84
  monthYearPeriod: selectedPeriod,
74
85
  selectedAccountId: reconciliationViewState.selectedAccountId,
86
+ statementProcessingFailed: reconciliationViewState.statementProcessingFailed,
75
87
  statementUploadChosen: reconciliationViewState.statementUploadChosen,
76
88
  accountReconciliationsByAccountID: {},
77
89
  reconciliationTabsState: reconciliationViewReducer_1.initialReconciliationTabsState,
@@ -121,6 +133,7 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
121
133
  excludeAccountFetchState: reconciliationViewState.actionFetchState.excludeAccountFetch,
122
134
  includeAccountFetchState: reconciliationViewState.actionFetchState.includeAccountFetch,
123
135
  excludedAccountIDs: reconciliationViewState.excludedAccountIDs,
136
+ summary: summaryWithTimeSaved,
124
137
  };
125
138
  }
126
139
  const allAccountIDs = accountReconForMonthYearPeriod.accountIDs;
@@ -245,6 +258,8 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
245
258
  .refreshStatus,
246
259
  statementDeleteStatus: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
247
260
  .statementDeleteStatus,
261
+ statementParseStatus: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
262
+ .statementParseStatus,
248
263
  statementUpdateStatus: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
249
264
  .statementUpdateStatus,
250
265
  statementUploadStatus: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
@@ -253,6 +268,8 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
253
268
  .localData,
254
269
  statementParseInProgress: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
255
270
  .statementParseInProgress,
271
+ parsedStatementData: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
272
+ .parsedStatementData,
256
273
  transactionFetchState: (0, reduceFetchState_1.reduceAnyFetchState)([
257
274
  accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
258
275
  .transactionFetchState,
@@ -321,6 +338,7 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
321
338
  statementUpdateStatus: { fetchState: 'Not-Started' },
322
339
  statementUploadStatus: { fetchState: 'Not-Started' },
323
340
  statementDeleteStatus: { fetchState: 'Not-Started' },
341
+ statementParseStatus: { fetchState: 'Not-Started' },
324
342
  localData: {},
325
343
  connectionInProgress: false,
326
344
  statementParseInProgress: false,
@@ -409,6 +427,7 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
409
427
  refreshStatus: reconciliationViewState.refreshStatus,
410
428
  selectedTab: reconciliationViewState.selectedTab,
411
429
  selectedDrawerAccountId: reconciliationViewState.selectedDrawerAccountId,
430
+ statementProcessingFailed: reconciliationViewState.statementProcessingFailed,
412
431
  statementUploadChosen: reconciliationViewState.statementUploadChosen,
413
432
  monthYearPeriod: selectedPeriod,
414
433
  accountReconciliationBySectionID,
@@ -429,6 +448,7 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
429
448
  excludeAccountFetchState: reconciliationViewState.actionFetchState.excludeAccountFetch,
430
449
  includeAccountFetchState: reconciliationViewState.actionFetchState.includeAccountFetch,
431
450
  excludedAccountIDs: reconciliationViewState.excludedAccountIDs,
451
+ summary: summaryWithTimeSaved,
432
452
  };
433
453
  });
434
454
  const isAccountReconReport = (reportId) => {
@@ -7,6 +7,88 @@ import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconSta
7
7
  import { CustomerBase } from '../../../entity/customer/customerState';
8
8
  import { VendorBase } from '../../../entity/vendor/vendorState';
9
9
  import { ZeniAPIStatus } from '../../../responsePayload';
10
+ import { ReconciliationSummaryPayload } from '../payload/reconciliationPayload';
11
+ export interface BoundingBox {
12
+ bottom: number;
13
+ left: number;
14
+ right: number;
15
+ top: number;
16
+ }
17
+ export interface Citation {
18
+ boundingBoxes: BoundingBox[];
19
+ page: number;
20
+ referenceText: string;
21
+ }
22
+ export interface StatementTransaction {
23
+ amount: number;
24
+ citations: Citation[];
25
+ isUserAdded: boolean;
26
+ isUserEdited: boolean;
27
+ statementTransactionId: string;
28
+ transactionDate: string;
29
+ transactionDirection: 'debit' | 'credit';
30
+ transactionMemo: string;
31
+ }
32
+ export interface StatementMeta {
33
+ closingBalance: number;
34
+ openingBalance: number;
35
+ statementDataStatus: {
36
+ code: string;
37
+ label: string;
38
+ };
39
+ statementEndDate: string;
40
+ statementStartDate: string;
41
+ statementStatus: {
42
+ code: string;
43
+ label: string;
44
+ };
45
+ statementUploadId: string;
46
+ totalDeposits: number;
47
+ totalPayments: number;
48
+ }
49
+ export interface AccountInfo {
50
+ accountId: string;
51
+ accountName: string;
52
+ accountType: string;
53
+ currencyCode: string;
54
+ last4Digits: string | null;
55
+ }
56
+ export interface FileInfo {
57
+ fileId: string;
58
+ fileName: string;
59
+ signedUrl: string;
60
+ }
61
+ export interface StatementUpload {
62
+ account: AccountInfo;
63
+ file: FileInfo;
64
+ statementMeta: StatementMeta;
65
+ statementTransactions: StatementTransaction[];
66
+ }
67
+ export interface ParsedStatementData {
68
+ statementUpload: StatementUpload;
69
+ }
70
+ export interface ReconciliationSummaryAccounts {
71
+ done: number;
72
+ failed: number;
73
+ inProgress: number;
74
+ total: number;
75
+ }
76
+ export interface ReconciliationSummaryAutoMatched {
77
+ matchedTxns: number;
78
+ totalTxns: number;
79
+ }
80
+ export interface ReconciliationSummaryNeedsReview {
81
+ accountCount: number;
82
+ txnCount: number;
83
+ }
84
+ export interface ReconciliationViewSummary {
85
+ accounts: ReconciliationSummaryAccounts;
86
+ accountsToConnectCount: number;
87
+ autoMatched: ReconciliationSummaryAutoMatched;
88
+ needsReview: ReconciliationSummaryNeedsReview;
89
+ timeSavedPercentage: number;
90
+ }
91
+ export declare function toReconciliationViewSummary(payload: ReconciliationSummaryPayload): ReconciliationViewSummary;
10
92
  export declare const RECONCILE_ACTIONS: readonly ["reconcile", "save_reconcile_for_later", "exclude"];
11
93
  export declare const toReconcileActions: (v: string) => "reconcile" | "save_reconcile_for_later" | "exclude";
12
94
  export type ReconcileActionType = ReturnType<typeof toReconcileActions>;
@@ -107,9 +189,11 @@ export interface ReconciliationViewState extends FetchStateAndError {
107
189
  reconTabsState: ReconciliationTabsState;
108
190
  refreshStatus: FetchStateAndError;
109
191
  selectedTab: ReconciliationViewTabType;
192
+ statementProcessingFailed: boolean;
110
193
  statementUploadChosen: boolean;
111
194
  selectedAccountId?: ID;
112
195
  selectedDrawerAccountId?: ID;
196
+ summary?: ReconciliationViewSummary;
113
197
  }
114
198
  export interface BankConnectionStatus {
115
199
  connectionInProgress: boolean;
@@ -120,8 +204,50 @@ export interface AccountReconciliationRecords {
120
204
  accountIDs: ID[];
121
205
  reconciliationByAccountID: Record<ID, AccountReconciliationDataWithTransactionFetchState>;
122
206
  }
207
+ export interface StatementTransactionForUpdate {
208
+ amount: number;
209
+ transactionDate: string;
210
+ transactionDirection: 'debit' | 'credit';
211
+ transactionMemo: string;
212
+ statementTransactionId?: string;
213
+ }
214
+ export interface StatementTransactionsUpdate {
215
+ added: StatementTransactionForUpdate[];
216
+ deletedIds: string[];
217
+ updated: StatementTransactionForUpdate[];
218
+ }
219
+ export interface StatementUpdateLocalData {
220
+ statementMeta: StatementMeta;
221
+ statementTransactions: StatementTransactionsUpdate;
222
+ }
223
+ export interface StatementUpdateLocalDataPayload {
224
+ statement_meta: {
225
+ opening_balance: number;
226
+ statement_end_date: string;
227
+ statement_start_date: string;
228
+ total_deposits: number;
229
+ total_payments: number;
230
+ };
231
+ statement_transactions: {
232
+ added: Array<{
233
+ amount: number;
234
+ transaction_date: string;
235
+ transaction_direction: 'debit' | 'credit';
236
+ transaction_memo: string;
237
+ }>;
238
+ deleted_ids: string[];
239
+ updated: Array<{
240
+ amount: number;
241
+ statement_transaction_id: string;
242
+ transaction_date: string;
243
+ transaction_direction: 'debit' | 'credit';
244
+ transaction_memo: string;
245
+ }>;
246
+ };
247
+ }
123
248
  export interface AccountReconciliationLocalData {
124
249
  accountSource?: ReconciliationAccountSourceType;
250
+ statementUpdateLocalData?: StatementUpdateLocalData;
125
251
  }
126
252
  export interface AccountReconciliationDataWithTransactionFetchState {
127
253
  accountId: ID;
@@ -129,10 +255,12 @@ export interface AccountReconciliationDataWithTransactionFetchState {
129
255
  refreshStatus: FetchStateAndError;
130
256
  statementDeleteStatus: FetchStateAndError;
131
257
  statementParseInProgress: boolean;
258
+ statementParseStatus: FetchStateAndError;
132
259
  statementUpdateStatus: FetchStateAndError;
133
260
  statementUploadStatus: FetchStateAndError;
134
261
  transactionFetchState: FetchStateAndError;
135
262
  accountDetectionReason?: string;
263
+ parsedStatementData?: ParsedStatementData;
136
264
  reconciliationId?: ID;
137
265
  }
138
266
  export {};
@@ -1,7 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toReconciliationTabsType = exports.toReconcileActions = exports.RECONCILE_ACTIONS = void 0;
4
+ exports.toReconciliationViewSummary = toReconciliationViewSummary;
4
5
  const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
6
+ function toReconciliationViewSummary(payload) {
7
+ return {
8
+ accounts: {
9
+ done: payload.accounts.done,
10
+ failed: payload.accounts.failed,
11
+ inProgress: payload.accounts.in_progress,
12
+ total: payload.accounts.total,
13
+ },
14
+ accountsToConnectCount: payload.accounts_to_connect_count,
15
+ autoMatched: {
16
+ matchedTxns: payload.auto_matched.matched_txns,
17
+ totalTxns: payload.auto_matched.total_txns,
18
+ },
19
+ needsReview: {
20
+ accountCount: payload.needs_review.account_count,
21
+ txnCount: payload.needs_review.txn_count,
22
+ },
23
+ timeSavedPercentage: payload.time_saved_percentage,
24
+ };
25
+ }
5
26
  exports.RECONCILE_ACTIONS = [
6
27
  'reconcile',
7
28
  'save_reconcile_for_later',
@@ -20,7 +20,7 @@ export interface VendorFiling1099ListQuery {
20
20
  sortKey: VendorFiling1099ListViewSortKey;
21
21
  sortOrder: SortOrder;
22
22
  }
23
- declare const toVendorFiling1099ListViewSortKey: (v: string) => "status" | "w9" | "legal_name" | "total" | "tax_classification" | "filing1099type";
23
+ declare const toVendorFiling1099ListViewSortKey: (v: string) => "status" | "w9" | "total" | "legal_name" | "tax_classification" | "filing1099type";
24
24
  export type VendorFiling1099ListViewSortKey = ReturnType<typeof toVendorFiling1099ListViewSortKey>;
25
25
  export type Type1099Download = 'nec' | 'misc' | 'int';
26
26
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.0.91",
3
+ "version": "5.0.92-betaNB1",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",