@zeniai/client-epic-state 4.19.96-betaJK12 → 4.19.96-betaJK13

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.
@@ -12,6 +12,8 @@ export interface AccountBasePayload {
12
12
  account_sub_type?: string | null;
13
13
  account_type?: string | null;
14
14
  coa_id?: string | null;
15
+ currency_code?: string | null;
16
+ currency_symbol?: string | null;
15
17
  is_bill_editable_coa_account_type?: boolean | null;
16
18
  is_deleted?: boolean | null;
17
19
  last_4_digits?: string | null;
@@ -117,6 +117,7 @@ const toTransactionPayload = (transaction) => {
117
117
  transactionPayload = {
118
118
  ...transactionPayload,
119
119
  ...(0, accountPayload_1.toAccountPayload)(transaction.account),
120
+ currency_code: transaction.amount.currencyCode,
120
121
  };
121
122
  }
122
123
  if (transaction.paymentType != null && transaction.type === 'bill_payment') {
@@ -112,6 +112,7 @@ export const toTransactionPayload = (transaction) => {
112
112
  transactionPayload = {
113
113
  ...transactionPayload,
114
114
  ...toAccountPayload(transaction.account),
115
+ currency_code: transaction.amount.currencyCode,
115
116
  };
116
117
  }
117
118
  if (transaction.paymentType != null && transaction.type === 'bill_payment') {
@@ -55,6 +55,7 @@ export const initialActionFetchState = {
55
55
  export const initialState = {
56
56
  accountReconciliationRecordsBySelectedPeriod: {},
57
57
  accountConnectionStatusByAccountID: {},
58
+ excludedAccountExclusionInfo: {},
58
59
  fetchState: 'Not-Started',
59
60
  error: undefined,
60
61
  selectedTab: 'review',
@@ -466,6 +467,33 @@ export const { fetchReconciliation, fetchReconciliationFailure, fetchReconciliat
466
467
  export default expenseAutomationReconciliationView.reducer;
467
468
  function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts) {
468
469
  draft.excludedAccountIDs = excludedAccounts.map((ea) => ea.account_id);
470
+ draft.excludedAccountExclusionInfo = {};
471
+ excludedAccounts.forEach((ea) => {
472
+ const { exclusion_info } = ea;
473
+ draft.excludedAccountExclusionInfo[ea.account_id] = {
474
+ bankBalance: exclusion_info.bank_balance != null
475
+ ? {
476
+ amount: exclusion_info.bank_balance,
477
+ currencyCode: ea.currency_code ?? 'USD',
478
+ currencySymbol: ea.currency_symbol ?? '$',
479
+ }
480
+ : undefined,
481
+ clearedBalance: exclusion_info.cleared_balance != null
482
+ ? {
483
+ amount: exclusion_info.cleared_balance,
484
+ currencyCode: ea.currency_code ?? 'USD',
485
+ currencySymbol: ea.currency_symbol ?? '$',
486
+ }
487
+ : undefined,
488
+ variance: exclusion_info.variance != null
489
+ ? {
490
+ amount: exclusion_info.variance,
491
+ currencyCode: ea.currency_code ?? 'USD',
492
+ currencySymbol: ea.currency_symbol ?? '$',
493
+ }
494
+ : undefined,
495
+ };
496
+ });
469
497
  draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)] = {
470
498
  accountIDs: [],
471
499
  reconciliationByAccountID: {},
@@ -293,7 +293,11 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
293
293
  accountId: excludedAccountID,
294
294
  reportId: 'excluded_account_reconciliation',
295
295
  });
296
- excludedAccountReconciliationByAccountID[excludedAccountID] = account;
296
+ const exclusionInfo = reconciliationViewState.excludedAccountExclusionInfo[excludedAccountID];
297
+ excludedAccountReconciliationByAccountID[excludedAccountID] = {
298
+ ...account,
299
+ ...exclusionInfo,
300
+ };
297
301
  });
298
302
  const accountListNestedAccountHierarchy = getNestedAccountListHierarchy(accountListState, 'accountList');
299
303
  const classListNestedAccountHierarchy = getNestedClassListHierarchy(classListState);
package/lib/index.d.ts CHANGED
@@ -275,7 +275,7 @@ import { JEAccountSettingsView } from './view/expenseAutomationView/selectorType
275
275
  import { ExpenseAutomationJESchedulesViewSelector } from './view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes';
276
276
  import { BulkUploadSelectorData, ExpenseAutomationMissingReceiptsViewSelector } from './view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes';
277
277
  import { CompletedTransactionsSelectorData, ResolvedBatchDetails, ResolvedBatchFile, ResolvedCandidate } from './view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes';
278
- import { AccountReconSectionID, AccountReconciliationByAccount, AccountReconciliationBySection, ExpenseAutomationReconciliationViewSelector } from './view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes';
278
+ import { AccountReconSectionID, AccountReconciliationByAccount, AccountReconciliationBySection, ExcludedAccountReconciliation, ExpenseAutomationReconciliationViewSelector } from './view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes';
279
279
  import { ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView } from './view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes';
280
280
  import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
281
281
  import { JEScheduledTransactionWithFailedEntries } from './view/expenseAutomationView/selectors/jeSchedulesViewSelector';
@@ -285,7 +285,7 @@ import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSortKey,
285
285
  import { AccountSettingsLocalData, JEScheduleSortKey as ExpenseAutomationJEScheduleSortKey, JESchedulesViewUIState as ExpenseAutomationJESchedulesViewUIState, JEScheduleLocalData, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey } from './view/expenseAutomationView/types/jeSchedulesViewState';
286
286
  import { BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, MatchCandidate, MatchSource, MissingReceiptsTab, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab } from './view/expenseAutomationView/types/missingReceiptsViewState';
287
287
  import { MissingReceiptsSortKey as ExpenseAutomationMissingReceiptsSortKey, MissingReceiptsViewState as ExpenseAutomationMissingReceiptsViewState, MissingReceiptsViewUIState as ExpenseAutomationMissingReceiptsViewUIState, toMissingReceiptsSortKey as toExpenseAutomationMissingReceiptsSortKey } from './view/expenseAutomationView/types/missingReceiptsViewState';
288
- import { AccountReconciliationLocalData, ReconciliationViewTabType as ExpenseAutomationReconciliationViewTab, ReconReconcileSortKey, ReconReviewSortKey, ExcludeAccountFromReconciliationPayload, ReconciliationReconcileTabLocalData, ReconciliationReviewTabLocalData, SaveReconcileDetailActionPayload as SaveExpenseAutomationReconciliationActionType, toReconciliationTabsType } from './view/expenseAutomationView/types/reconciliationViewState';
288
+ import { AccountReconciliationLocalData, ExcludeAccountFromReconciliationPayload, ReconciliationViewTabType as ExpenseAutomationReconciliationViewTab, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReconcileTabLocalData, ReconciliationReviewTabLocalData, SaveReconcileDetailActionPayload as SaveExpenseAutomationReconciliationActionType, toReconciliationTabsType } from './view/expenseAutomationView/types/reconciliationViewState';
289
289
  import { TransactionsTab as ExpenseAutomationTransactionsTab, TransactionsViewState as ExpenseAutomationTransactionsViewState, TransactionsViewUIState as ExpenseAutomationTransactionsViewUIState, SupportedTransactionCategorization, TransactionCategorizationLineItemData, TransactionReviewLocalData, TransactionsSortKey, TransactionsTab, toTransactionsTabKey as toExpenseAutomationTransactionsTabKey, toTransactionsSortKey } from './view/expenseAutomationView/types/transactionsViewState';
290
290
  import downloadFile from './view/fileView/fileDownloadHelpers';
291
291
  import uploadFile, { AuthParams, AuthParamsPayload, FileMetadataPayload } from './view/fileView/fileUploadHelpers';
@@ -624,7 +624,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
624
624
  export { ClassesViewSelectorReportV2 };
625
625
  export { BalancesTimeseries, TrendTimeseries, BalanceKind };
626
626
  export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
627
- export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, BulkUploadSelectorData, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, isUnmatchedTabFileStatus, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, CompletedTransactionsSelectorData, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, getExpenseAutomationFluxAnalysisView, FluxAnalysisSortKey, FluxAnalysisActionType, FluxBalancesByMonth, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, ReconReconcileSortKey, ReconciliationReconcileTabLocalData, FluxAnalysisReviewStatus, updateFluxAnalysisViewUIState, FluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, SaveExpenseAutomationReconciliationActionType, ExcludeAccountFromReconciliationPayload, excludeAccountFromReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector, getExpenseAutomationReconciliationView, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, UploadStatementDocumentAIPayload, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
627
+ export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, BulkUploadSelectorData, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, isUnmatchedTabFileStatus, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, CompletedTransactionsSelectorData, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, getExpenseAutomationFluxAnalysisView, FluxAnalysisSortKey, FluxAnalysisActionType, FluxBalancesByMonth, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, ReconReconcileSortKey, ReconciliationReconcileTabLocalData, FluxAnalysisReviewStatus, updateFluxAnalysisViewUIState, FluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, SaveExpenseAutomationReconciliationActionType, ExcludeAccountFromReconciliationPayload, excludeAccountFromReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector, ExcludedAccountReconciliation, getExpenseAutomationReconciliationView, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, UploadStatementDocumentAIPayload, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
628
628
  export { JEScheduleLocalData };
629
629
  export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, JEScheduledTransactionWithFailedEntries, };
630
630
  export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, TransactionsSortKey, toTransactionsSortKey, TransactionsTab, TransactionCategorizationLineItemData, TransactionReviewLocalData, SupportedTransactionCategorization, ExpenseAutomationTransactionsViewState, ExpenseAutomationTransactionsViewUIState, ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView, };
@@ -13,9 +13,17 @@ import { BalancesLocalData, SaveReconcileDetailActionPayload } from '../types/re
13
13
  export interface AccountAndPaymentAccountPayload extends AccountPayload {
14
14
  payment_account_id: string | null;
15
15
  }
16
+ interface ExclusionInfoPayload {
17
+ bank_balance: number | null;
18
+ cleared_balance: number | null;
19
+ variance: number | null;
20
+ }
21
+ export interface ExcludedAccountPayload extends AccountAndPaymentAccountPayload {
22
+ exclusion_info: ExclusionInfoPayload;
23
+ }
16
24
  export interface ReconciliationPayload {
17
25
  accounts: AccountAndPaymentAccountPayload[];
18
- excluded_accounts: AccountAndPaymentAccountPayload[];
26
+ excluded_accounts: ExcludedAccountPayload[];
19
27
  files: FilePayload[];
20
28
  reconciliation: ReconciliationDataPayload[];
21
29
  users: UserPayload[];
@@ -63,3 +71,4 @@ export interface UploadStatementResponsePayload {
63
71
  };
64
72
  }
65
73
  export type UploadStatementResponse = ZeniAPIResponse<UploadStatementResponsePayload>;
74
+ export {};
@@ -59,6 +59,7 @@ exports.initialActionFetchState = {
59
59
  exports.initialState = {
60
60
  accountReconciliationRecordsBySelectedPeriod: {},
61
61
  accountConnectionStatusByAccountID: {},
62
+ excludedAccountExclusionInfo: {},
62
63
  fetchState: 'Not-Started',
63
64
  error: undefined,
64
65
  selectedTab: 'review',
@@ -470,6 +471,33 @@ _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation =
470
471
  exports.default = expenseAutomationReconciliationView.reducer;
471
472
  function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts) {
472
473
  draft.excludedAccountIDs = excludedAccounts.map((ea) => ea.account_id);
474
+ draft.excludedAccountExclusionInfo = {};
475
+ excludedAccounts.forEach((ea) => {
476
+ const { exclusion_info } = ea;
477
+ draft.excludedAccountExclusionInfo[ea.account_id] = {
478
+ bankBalance: exclusion_info.bank_balance != null
479
+ ? {
480
+ amount: exclusion_info.bank_balance,
481
+ currencyCode: ea.currency_code ?? 'USD',
482
+ currencySymbol: ea.currency_symbol ?? '$',
483
+ }
484
+ : undefined,
485
+ clearedBalance: exclusion_info.cleared_balance != null
486
+ ? {
487
+ amount: exclusion_info.cleared_balance,
488
+ currencyCode: ea.currency_code ?? 'USD',
489
+ currencySymbol: ea.currency_symbol ?? '$',
490
+ }
491
+ : undefined,
492
+ variance: exclusion_info.variance != null
493
+ ? {
494
+ amount: exclusion_info.variance,
495
+ currencyCode: ea.currency_code ?? 'USD',
496
+ currencySymbol: ea.currency_symbol ?? '$',
497
+ }
498
+ : undefined,
499
+ };
500
+ });
473
501
  draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = {
474
502
  accountIDs: [],
475
503
  reconciliationByAccountID: {},
@@ -14,6 +14,11 @@ import { AccountReconciliationLocalData, ActionFetchStates, ReconListUIState, Re
14
14
  export declare const ALL_ACCOUNT_RECON_SECTION_IDS: readonly ["assets", "liabilities"];
15
15
  declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
16
16
  export type AccountReconSectionID = ReturnType<typeof toAccountReconSectionID>;
17
+ export interface ExcludedAccountReconciliation extends AccountWithBalanceReport {
18
+ bankBalance?: Amount;
19
+ clearedBalance?: Amount;
20
+ variance?: Amount;
21
+ }
17
22
  export interface ExpenseAutomationReconciliationViewSelector {
18
23
  accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
19
24
  accountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
@@ -25,7 +30,7 @@ export interface ExpenseAutomationReconciliationViewSelector {
25
30
  classListNestedAccountHierarchy: NestedClassHierarchyForReport[];
26
31
  completionStatus: CompletionStatusType;
27
32
  creditCards: AccountBase[];
28
- excludedAccountReconciliationByAccountID: Record<ID, AccountWithBalanceReport>;
33
+ excludedAccountReconciliationByAccountID: Record<ID, ExcludedAccountReconciliation>;
29
34
  excludedAccountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
30
35
  fetchStatus: FetchStateAndError;
31
36
  monthYearPeriod: MonthYearPeriod;
@@ -299,7 +299,11 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
299
299
  accountId: excludedAccountID,
300
300
  reportId: 'excluded_account_reconciliation',
301
301
  });
302
- excludedAccountReconciliationByAccountID[excludedAccountID] = account;
302
+ const exclusionInfo = reconciliationViewState.excludedAccountExclusionInfo[excludedAccountID];
303
+ excludedAccountReconciliationByAccountID[excludedAccountID] = {
304
+ ...account,
305
+ ...exclusionInfo,
306
+ };
303
307
  });
304
308
  const accountListNestedAccountHierarchy = (0, accountListSelector_1.getNestedAccountListHierarchy)(accountListState, 'accountList');
305
309
  const classListNestedAccountHierarchy = (0, classListSelector_1.getNestedClassListHierarchy)(classListState);
@@ -77,6 +77,11 @@ export interface ReconciliationReviewTabLocalData {
77
77
  export interface ExcludeAccountFromReconciliationPayload {
78
78
  accountId: ID;
79
79
  }
80
+ export interface ExclusionInfo {
81
+ bankBalance: Amount | undefined;
82
+ clearedBalance: Amount | undefined;
83
+ variance: Amount | undefined;
84
+ }
80
85
  export interface ActionFetchStates {
81
86
  excludeAccountFetch: FetchStateAndError;
82
87
  excludeFetchById: Record<ID, FetchStateAndError>;
@@ -94,6 +99,7 @@ export interface ReconciliationViewState extends FetchStateAndError {
94
99
  accountConnectionStatusByAccountID: Record<ID, BankConnectionStatus>;
95
100
  accountReconciliationRecordsBySelectedPeriod: Record<MonthYearPeriodId, AccountReconciliationRecords>;
96
101
  actionFetchState: ActionFetchStates;
102
+ excludedAccountExclusionInfo: Record<ID, ExclusionInfo>;
97
103
  excludedAccountIDs: ID[];
98
104
  reconListUIState: ReconListUIState;
99
105
  reconTabsState: ReconciliationTabsState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.19.96-betaJK12",
3
+ "version": "4.19.96-betaJK13",
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",