@zeniai/client-epic-state 4.20.3-betaJK1 → 4.20.3-betaJK3
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/esm/index.js +1 -1
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +41 -34
- package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +45 -2
- package/lib/index.d.ts +3 -3
- package/lib/index.js +1 -1
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +41 -34
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +2 -7
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +45 -2
- package/package.json +1 -1
package/lib/esm/index.js
CHANGED
|
@@ -164,7 +164,7 @@ import { MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLine
|
|
|
164
164
|
import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview, } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
|
|
165
165
|
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJESchedulesUIState as updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
|
|
166
166
|
import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess, } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
|
|
167
|
-
import { deleteAccountStatement, excludeAccountFromReconciliation,
|
|
167
|
+
import { deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
168
168
|
import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
|
|
169
169
|
import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
|
|
170
170
|
import { getExpenseAutomationReconciliationView, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
@@ -452,29 +452,7 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
452
452
|
if (!draft.excludedAccountIDs.includes(account.account_id)) {
|
|
453
453
|
draft.excludedAccountIDs.push(account.account_id);
|
|
454
454
|
}
|
|
455
|
-
draft
|
|
456
|
-
bankBalance: account.bank_balance != null
|
|
457
|
-
? {
|
|
458
|
-
amount: account.bank_balance,
|
|
459
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
460
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
461
|
-
}
|
|
462
|
-
: undefined,
|
|
463
|
-
clearedBalance: account.cleared_balance != null
|
|
464
|
-
? {
|
|
465
|
-
amount: account.cleared_balance,
|
|
466
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
467
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
468
|
-
}
|
|
469
|
-
: undefined,
|
|
470
|
-
variance: account.variance != null
|
|
471
|
-
? {
|
|
472
|
-
amount: account.variance,
|
|
473
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
474
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
475
|
-
}
|
|
476
|
-
: undefined,
|
|
477
|
-
};
|
|
455
|
+
updateExcludedAccountExclusionInfo(draft, account);
|
|
478
456
|
const monthYearPeriodId = toMonthYearPeriodId(selectedPeriod);
|
|
479
457
|
if (draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId]
|
|
480
458
|
?.accountIDs != null) {
|
|
@@ -517,17 +495,8 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
517
495
|
if (!accountReconciliationRecords.accountIDs.includes(accountId)) {
|
|
518
496
|
accountReconciliationRecords.accountIDs.push(accountId);
|
|
519
497
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
reconciliationId: reconciliation.reconciliation_id ?? undefined,
|
|
523
|
-
transactionFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
524
|
-
refreshStatus: { fetchState: 'Not-Started', error: undefined },
|
|
525
|
-
statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
|
|
526
|
-
statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
|
|
527
|
-
statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
|
|
528
|
-
statementParseInProgress: reconciliation.bank_status.code === 'parsing',
|
|
529
|
-
localData: {},
|
|
530
|
-
};
|
|
498
|
+
// put this in a function
|
|
499
|
+
updateReconciliationByAccountIDOnIncludeAccount(draft, accountId, reconciliation, monthYearPeriodId);
|
|
531
500
|
}
|
|
532
501
|
draft.accountConnectionStatusByAccountID[accountId] = {
|
|
533
502
|
status: toBankStatusCodeType(reconciliation.bank_status.code),
|
|
@@ -664,3 +633,41 @@ function updateReconciliationByAccountID(draft, accounts, selectedPeriod, accoun
|
|
|
664
633
|
};
|
|
665
634
|
}
|
|
666
635
|
}
|
|
636
|
+
const updateExcludedAccountExclusionInfo = (draft, account) => {
|
|
637
|
+
draft.excludedAccountExclusionInfo[account.account_id] = {
|
|
638
|
+
bankBalance: account.bank_balance != null
|
|
639
|
+
? {
|
|
640
|
+
amount: account.bank_balance,
|
|
641
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
642
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
643
|
+
}
|
|
644
|
+
: undefined,
|
|
645
|
+
clearedBalance: account.cleared_balance != null
|
|
646
|
+
? {
|
|
647
|
+
amount: account.cleared_balance,
|
|
648
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
649
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
650
|
+
}
|
|
651
|
+
: undefined,
|
|
652
|
+
variance: account.variance != null
|
|
653
|
+
? {
|
|
654
|
+
amount: account.variance,
|
|
655
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
656
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
657
|
+
}
|
|
658
|
+
: undefined,
|
|
659
|
+
};
|
|
660
|
+
};
|
|
661
|
+
const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, reconciliation, monthYearPeriodId) => {
|
|
662
|
+
draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].reconciliationByAccountID[accountId] = {
|
|
663
|
+
accountId,
|
|
664
|
+
reconciliationId: reconciliation.reconciliation_id ?? undefined,
|
|
665
|
+
transactionFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
666
|
+
refreshStatus: { fetchState: 'Not-Started', error: undefined },
|
|
667
|
+
statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
|
|
668
|
+
statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
|
|
669
|
+
statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
|
|
670
|
+
statementParseInProgress: reconciliation.bank_status.code === 'parsing',
|
|
671
|
+
localData: {},
|
|
672
|
+
};
|
|
673
|
+
};
|
|
@@ -9,6 +9,7 @@ import { getAccountsByType } from '../../../entity/account/accountSelector';
|
|
|
9
9
|
import { getAccountReconByAccountIdAndSelectedPeriod } from '../../../entity/accountRecon/accountReconSelector';
|
|
10
10
|
import { getCurrentTenant } from '../../../entity/tenant/tenantSelector';
|
|
11
11
|
import { getVendorByVendorId } from '../../../entity/vendor/vendorSelector';
|
|
12
|
+
import { date } from '../../../zeniDayJS';
|
|
12
13
|
import { getAccountList, getNestedAccountListHierarchy, } from '../../accountList/accountListSelector';
|
|
13
14
|
import { getClassList, getNestedClassListHierarchy, } from '../../classList/classListSelector';
|
|
14
15
|
import { initialActionFetchState, initialReconciliationTabsState, initialState, } from '../reducers/reconciliationViewReducer';
|
|
@@ -308,8 +309,50 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
308
309
|
const exclusionInfo = reconciliationViewState.excludedAccountExclusionInfo[excludedAccountID];
|
|
309
310
|
if (account != null) {
|
|
310
311
|
excludedAccountReconciliationByAccountID[excludedAccountID] = {
|
|
311
|
-
|
|
312
|
-
|
|
312
|
+
refreshStatus: { fetchState: 'Not-Started' },
|
|
313
|
+
statementUpdateStatus: { fetchState: 'Not-Started' },
|
|
314
|
+
statementUploadStatus: { fetchState: 'Not-Started' },
|
|
315
|
+
statementDeleteStatus: { fetchState: 'Not-Started' },
|
|
316
|
+
localData: {},
|
|
317
|
+
connectionInProgress: false,
|
|
318
|
+
statementParseInProgress: false,
|
|
319
|
+
accountConnectionStatus: 'not_connected',
|
|
320
|
+
transactionFetchState: { fetchState: 'Not-Started' },
|
|
321
|
+
accountReconEntity: {
|
|
322
|
+
account: {
|
|
323
|
+
accountId: account.accountId,
|
|
324
|
+
accountName: account.accountName,
|
|
325
|
+
accountType: account.accountType,
|
|
326
|
+
accountSubType: account.accountSubType,
|
|
327
|
+
accountDescription: account.accountDescription,
|
|
328
|
+
qboId: account.qboId,
|
|
329
|
+
coaId: account.coaId,
|
|
330
|
+
labels: account.labels,
|
|
331
|
+
},
|
|
332
|
+
currency: {
|
|
333
|
+
currencyCode: exclusionInfo?.bankBalance?.currencyCode ??
|
|
334
|
+
exclusionInfo?.clearedBalance?.currencyCode ??
|
|
335
|
+
'USD',
|
|
336
|
+
currencySymbol: exclusionInfo?.bankBalance?.currencySymbol ??
|
|
337
|
+
exclusionInfo?.clearedBalance?.currencySymbol ??
|
|
338
|
+
'$',
|
|
339
|
+
},
|
|
340
|
+
startDate: date(new Date().toDateString()),
|
|
341
|
+
endDate: date(new Date().toDateString()),
|
|
342
|
+
statementStatus: { code: 'not_found', label: 'Not Found' },
|
|
343
|
+
transactionsToReconcile: [],
|
|
344
|
+
transactionsToReview: [],
|
|
345
|
+
balance: exclusionInfo?.bankBalance,
|
|
346
|
+
clearedBalance: exclusionInfo?.clearedBalance,
|
|
347
|
+
variance: exclusionInfo?.variance,
|
|
348
|
+
variancePercentage: exclusionInfo?.variance != null &&
|
|
349
|
+
exclusionInfo?.bankBalance != null &&
|
|
350
|
+
exclusionInfo?.bankBalance.amount !== 0
|
|
351
|
+
? Math.abs((exclusionInfo.variance.amount /
|
|
352
|
+
exclusionInfo.bankBalance.amount) *
|
|
353
|
+
100)
|
|
354
|
+
: undefined,
|
|
355
|
+
},
|
|
313
356
|
};
|
|
314
357
|
}
|
|
315
358
|
});
|
package/lib/index.d.ts
CHANGED
|
@@ -268,7 +268,7 @@ import { UploadStatementDocumentAIPayload, UploadStatementDocumentAIResponse } f
|
|
|
268
268
|
import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
|
|
269
269
|
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJESchedulesUIState as updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
|
|
270
270
|
import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
|
|
271
|
-
import { deleteAccountStatement, excludeAccountFromReconciliation,
|
|
271
|
+
import { deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateStatementUploadChosen, uploadAccountStatement } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
272
272
|
import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess } from './view/expenseAutomationView/reducers/transactionsViewReducer';
|
|
273
273
|
import { ExpenseAutomationStepDetails, ExpenseAutomationViewSelector } from './view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes';
|
|
274
274
|
import { ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView } from './view/expenseAutomationView/selectorTypes/fluxAnalysisViewSelectorTypes';
|
|
@@ -276,7 +276,7 @@ import { JEAccountSettingsView } from './view/expenseAutomationView/selectorType
|
|
|
276
276
|
import { ExpenseAutomationJESchedulesViewSelector } from './view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes';
|
|
277
277
|
import { BulkUploadSelectorData, ExpenseAutomationMissingReceiptsViewSelector } from './view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes';
|
|
278
278
|
import { CompletedTransactionsSelectorData, ResolvedBatchDetails, ResolvedBatchFile, ResolvedCandidate } from './view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes';
|
|
279
|
-
import { AccountReconSectionID, AccountReconciliationByAccount, AccountReconciliationBySection,
|
|
279
|
+
import { AccountReconSectionID, AccountReconciliationByAccount, AccountReconciliationBySection, ExpenseAutomationReconciliationViewSelector } from './view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes';
|
|
280
280
|
import { ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView } from './view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes';
|
|
281
281
|
import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
|
|
282
282
|
import { JEScheduledTransactionWithFailedEntries } from './view/expenseAutomationView/selectors/jeSchedulesViewSelector';
|
|
@@ -628,7 +628,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
|
|
|
628
628
|
export { ClassesViewSelectorReportV2 };
|
|
629
629
|
export { BalancesTimeseries, TrendTimeseries, BalanceKind };
|
|
630
630
|
export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
|
|
631
|
-
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, includeAccountInReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector,
|
|
631
|
+
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, includeAccountInReconciliation, 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, };
|
|
632
632
|
export { JEScheduleLocalData };
|
|
633
633
|
export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, JEScheduledTransactionWithFailedEntries, };
|
|
634
634
|
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, };
|
package/lib/index.js
CHANGED
|
@@ -784,8 +784,8 @@ Object.defineProperty(exports, "uploadExpenseAutomationMissingReceiptSuccess", {
|
|
|
784
784
|
const reconciliationViewReducer_1 = require("./view/expenseAutomationView/reducers/reconciliationViewReducer");
|
|
785
785
|
Object.defineProperty(exports, "deleteAccountStatement", { enumerable: true, get: function () { return reconciliationViewReducer_1.deleteAccountStatement; } });
|
|
786
786
|
Object.defineProperty(exports, "excludeAccountFromReconciliation", { enumerable: true, get: function () { return reconciliationViewReducer_1.excludeAccountFromReconciliation; } });
|
|
787
|
-
Object.defineProperty(exports, "includeAccountInReconciliation", { enumerable: true, get: function () { return reconciliationViewReducer_1.includeAccountInReconciliation; } });
|
|
788
787
|
Object.defineProperty(exports, "fetchReconciliationView", { enumerable: true, get: function () { return reconciliationViewReducer_1.fetchReconciliation; } });
|
|
788
|
+
Object.defineProperty(exports, "includeAccountInReconciliation", { enumerable: true, get: function () { return reconciliationViewReducer_1.includeAccountInReconciliation; } });
|
|
789
789
|
Object.defineProperty(exports, "saveExpenseAutomationReconciliationDetail", { enumerable: true, get: function () { return reconciliationViewReducer_1.saveReconciliationDetail; } });
|
|
790
790
|
Object.defineProperty(exports, "saveExpenseAutomationReconciliationReview", { enumerable: true, get: function () { return reconciliationViewReducer_1.saveReconciliationReview; } });
|
|
791
791
|
Object.defineProperty(exports, "setConnectionInProgressForAccountReconciliation", { enumerable: true, get: function () { return reconciliationViewReducer_1.setConnectionInProgressForAccount; } });
|
|
@@ -456,29 +456,7 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
|
|
|
456
456
|
if (!draft.excludedAccountIDs.includes(account.account_id)) {
|
|
457
457
|
draft.excludedAccountIDs.push(account.account_id);
|
|
458
458
|
}
|
|
459
|
-
draft
|
|
460
|
-
bankBalance: account.bank_balance != null
|
|
461
|
-
? {
|
|
462
|
-
amount: account.bank_balance,
|
|
463
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
464
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
465
|
-
}
|
|
466
|
-
: undefined,
|
|
467
|
-
clearedBalance: account.cleared_balance != null
|
|
468
|
-
? {
|
|
469
|
-
amount: account.cleared_balance,
|
|
470
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
471
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
472
|
-
}
|
|
473
|
-
: undefined,
|
|
474
|
-
variance: account.variance != null
|
|
475
|
-
? {
|
|
476
|
-
amount: account.variance,
|
|
477
|
-
currencyCode: account.currency_code ?? 'USD',
|
|
478
|
-
currencySymbol: account.currency_symbol ?? '$',
|
|
479
|
-
}
|
|
480
|
-
: undefined,
|
|
481
|
-
};
|
|
459
|
+
updateExcludedAccountExclusionInfo(draft, account);
|
|
482
460
|
const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
|
|
483
461
|
if (draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId]
|
|
484
462
|
?.accountIDs != null) {
|
|
@@ -521,17 +499,8 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
|
|
|
521
499
|
if (!accountReconciliationRecords.accountIDs.includes(accountId)) {
|
|
522
500
|
accountReconciliationRecords.accountIDs.push(accountId);
|
|
523
501
|
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
reconciliationId: reconciliation.reconciliation_id ?? undefined,
|
|
527
|
-
transactionFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
528
|
-
refreshStatus: { fetchState: 'Not-Started', error: undefined },
|
|
529
|
-
statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
|
|
530
|
-
statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
|
|
531
|
-
statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
|
|
532
|
-
statementParseInProgress: reconciliation.bank_status.code === 'parsing',
|
|
533
|
-
localData: {},
|
|
534
|
-
};
|
|
502
|
+
// put this in a function
|
|
503
|
+
updateReconciliationByAccountIDOnIncludeAccount(draft, accountId, reconciliation, monthYearPeriodId);
|
|
535
504
|
}
|
|
536
505
|
draft.accountConnectionStatusByAccountID[accountId] = {
|
|
537
506
|
status: (0, accountReconState_1.toBankStatusCodeType)(reconciliation.bank_status.code),
|
|
@@ -668,3 +637,41 @@ function updateReconciliationByAccountID(draft, accounts, selectedPeriod, accoun
|
|
|
668
637
|
};
|
|
669
638
|
}
|
|
670
639
|
}
|
|
640
|
+
const updateExcludedAccountExclusionInfo = (draft, account) => {
|
|
641
|
+
draft.excludedAccountExclusionInfo[account.account_id] = {
|
|
642
|
+
bankBalance: account.bank_balance != null
|
|
643
|
+
? {
|
|
644
|
+
amount: account.bank_balance,
|
|
645
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
646
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
647
|
+
}
|
|
648
|
+
: undefined,
|
|
649
|
+
clearedBalance: account.cleared_balance != null
|
|
650
|
+
? {
|
|
651
|
+
amount: account.cleared_balance,
|
|
652
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
653
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
654
|
+
}
|
|
655
|
+
: undefined,
|
|
656
|
+
variance: account.variance != null
|
|
657
|
+
? {
|
|
658
|
+
amount: account.variance,
|
|
659
|
+
currencyCode: account.currency_code ?? 'USD',
|
|
660
|
+
currencySymbol: account.currency_symbol ?? '$',
|
|
661
|
+
}
|
|
662
|
+
: undefined,
|
|
663
|
+
};
|
|
664
|
+
};
|
|
665
|
+
const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, reconciliation, monthYearPeriodId) => {
|
|
666
|
+
draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].reconciliationByAccountID[accountId] = {
|
|
667
|
+
accountId,
|
|
668
|
+
reconciliationId: reconciliation.reconciliation_id ?? undefined,
|
|
669
|
+
transactionFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
670
|
+
refreshStatus: { fetchState: 'Not-Started', error: undefined },
|
|
671
|
+
statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
|
|
672
|
+
statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
|
|
673
|
+
statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
|
|
674
|
+
statementParseInProgress: reconciliation.bank_status.code === 'parsing',
|
|
675
|
+
localData: {},
|
|
676
|
+
};
|
|
677
|
+
};
|
|
@@ -3,7 +3,7 @@ import { Amount } from '../../../commonStateTypes/amount';
|
|
|
3
3
|
import { NestedClassHierarchyForReport } from '../../../commonStateTypes/classesView/nestedClassID';
|
|
4
4
|
import { CompletionStatusType, FetchStateAndError, ID } from '../../../commonStateTypes/common';
|
|
5
5
|
import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
|
|
6
|
-
import {
|
|
6
|
+
import { AccountBase } from '../../../entity/account/accountState';
|
|
7
7
|
import { AccountReconciliationEntity } from '../../../entity/accountRecon/accountReconSelector';
|
|
8
8
|
import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconState';
|
|
9
9
|
import { ClassBase } from '../../../entity/class/classState';
|
|
@@ -13,11 +13,6 @@ import { AccountReconciliationLocalData, ActionFetchStates, ReconListUIState, Re
|
|
|
13
13
|
export declare const ALL_ACCOUNT_RECON_SECTION_IDS: readonly ["assets", "liabilities"];
|
|
14
14
|
declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
|
|
15
15
|
export type AccountReconSectionID = ReturnType<typeof toAccountReconSectionID>;
|
|
16
|
-
export interface ExcludedAccountReconciliation extends Account {
|
|
17
|
-
bankBalance?: Amount;
|
|
18
|
-
clearedBalance?: Amount;
|
|
19
|
-
variance?: Amount;
|
|
20
|
-
}
|
|
21
16
|
export interface ExpenseAutomationReconciliationViewSelector {
|
|
22
17
|
accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
|
|
23
18
|
accountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
|
|
@@ -31,7 +26,7 @@ export interface ExpenseAutomationReconciliationViewSelector {
|
|
|
31
26
|
creditCards: AccountBase[];
|
|
32
27
|
excludeAccountFetchState: FetchStateAndError;
|
|
33
28
|
excludedAccountIDs: ID[];
|
|
34
|
-
excludedAccountReconciliationByAccountID: Record<ID,
|
|
29
|
+
excludedAccountReconciliationByAccountID: Record<ID, AccountReconciliationByAccount>;
|
|
35
30
|
excludedAccountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
|
|
36
31
|
fetchStatus: FetchStateAndError;
|
|
37
32
|
includeAccountFetchState: FetchStateAndError;
|
|
@@ -15,6 +15,7 @@ const accountSelector_1 = require("../../../entity/account/accountSelector");
|
|
|
15
15
|
const accountReconSelector_1 = require("../../../entity/accountRecon/accountReconSelector");
|
|
16
16
|
const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
|
|
17
17
|
const vendorSelector_1 = require("../../../entity/vendor/vendorSelector");
|
|
18
|
+
const zeniDayJS_1 = require("../../../zeniDayJS");
|
|
18
19
|
const accountListSelector_1 = require("../../accountList/accountListSelector");
|
|
19
20
|
const classListSelector_1 = require("../../classList/classListSelector");
|
|
20
21
|
const reconciliationViewReducer_1 = require("../reducers/reconciliationViewReducer");
|
|
@@ -314,8 +315,50 @@ exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((
|
|
|
314
315
|
const exclusionInfo = reconciliationViewState.excludedAccountExclusionInfo[excludedAccountID];
|
|
315
316
|
if (account != null) {
|
|
316
317
|
excludedAccountReconciliationByAccountID[excludedAccountID] = {
|
|
317
|
-
|
|
318
|
-
|
|
318
|
+
refreshStatus: { fetchState: 'Not-Started' },
|
|
319
|
+
statementUpdateStatus: { fetchState: 'Not-Started' },
|
|
320
|
+
statementUploadStatus: { fetchState: 'Not-Started' },
|
|
321
|
+
statementDeleteStatus: { fetchState: 'Not-Started' },
|
|
322
|
+
localData: {},
|
|
323
|
+
connectionInProgress: false,
|
|
324
|
+
statementParseInProgress: false,
|
|
325
|
+
accountConnectionStatus: 'not_connected',
|
|
326
|
+
transactionFetchState: { fetchState: 'Not-Started' },
|
|
327
|
+
accountReconEntity: {
|
|
328
|
+
account: {
|
|
329
|
+
accountId: account.accountId,
|
|
330
|
+
accountName: account.accountName,
|
|
331
|
+
accountType: account.accountType,
|
|
332
|
+
accountSubType: account.accountSubType,
|
|
333
|
+
accountDescription: account.accountDescription,
|
|
334
|
+
qboId: account.qboId,
|
|
335
|
+
coaId: account.coaId,
|
|
336
|
+
labels: account.labels,
|
|
337
|
+
},
|
|
338
|
+
currency: {
|
|
339
|
+
currencyCode: exclusionInfo?.bankBalance?.currencyCode ??
|
|
340
|
+
exclusionInfo?.clearedBalance?.currencyCode ??
|
|
341
|
+
'USD',
|
|
342
|
+
currencySymbol: exclusionInfo?.bankBalance?.currencySymbol ??
|
|
343
|
+
exclusionInfo?.clearedBalance?.currencySymbol ??
|
|
344
|
+
'$',
|
|
345
|
+
},
|
|
346
|
+
startDate: (0, zeniDayJS_1.date)(new Date().toDateString()),
|
|
347
|
+
endDate: (0, zeniDayJS_1.date)(new Date().toDateString()),
|
|
348
|
+
statementStatus: { code: 'not_found', label: 'Not Found' },
|
|
349
|
+
transactionsToReconcile: [],
|
|
350
|
+
transactionsToReview: [],
|
|
351
|
+
balance: exclusionInfo?.bankBalance,
|
|
352
|
+
clearedBalance: exclusionInfo?.clearedBalance,
|
|
353
|
+
variance: exclusionInfo?.variance,
|
|
354
|
+
variancePercentage: exclusionInfo?.variance != null &&
|
|
355
|
+
exclusionInfo?.bankBalance != null &&
|
|
356
|
+
exclusionInfo?.bankBalance.amount !== 0
|
|
357
|
+
? Math.abs((exclusionInfo.variance.amount /
|
|
358
|
+
exclusionInfo.bankBalance.amount) *
|
|
359
|
+
100)
|
|
360
|
+
: undefined,
|
|
361
|
+
},
|
|
319
362
|
};
|
|
320
363
|
}
|
|
321
364
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.20.3-
|
|
3
|
+
"version": "4.20.3-betaJK3",
|
|
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",
|