@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.
- package/lib/entity/account/accountPayload.d.ts +2 -0
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +1 -0
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +1 -0
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +28 -0
- package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +5 -1
- package/lib/index.d.ts +3 -3
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +10 -1
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +28 -0
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +6 -1
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +5 -1
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +6 -0
- package/package.json +1 -1
|
@@ -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
|
-
|
|
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,
|
|
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:
|
|
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,
|
|
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
|
-
|
|
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-
|
|
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",
|