@zeniai/client-epic-state 5.2.35-beta2MM → 5.2.35-beta4MM
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/actualMatching/actualMatchingPayload.d.ts +6 -1
- package/lib/entity/actualMatching/actualMatchingPayload.js +8 -13
- package/lib/entity/actualMatching/actualMatchingReducer.d.ts +3 -2
- package/lib/entity/actualMatching/actualMatchingReducer.js +3 -3
- package/lib/entity/actualMatching/actualMatchingState.d.ts +3 -2
- package/lib/esm/entity/actualMatching/actualMatchingPayload.js +9 -14
- package/lib/esm/entity/actualMatching/actualMatchingReducer.js +3 -3
- package/lib/esm/index.js +2 -2
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/fetchActualMatchingEpic.js +2 -2
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/fetchActualMatchingMatchEpic.js +3 -2
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/matchAndReverseAccrualsEpic.js +21 -24
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/refreshActualMatchingList.js +16 -0
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/searchMatchTransactionsEpic.js +6 -9
- package/lib/esm/view/expenseAutomationView/epics/actualMatching/undoReversalAccrualsEpic.js +15 -28
- package/lib/esm/view/expenseAutomationView/payload/actualMatchingPayload.js +9 -9
- package/lib/esm/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +34 -16
- package/lib/esm/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +65 -21
- package/lib/esm/view/expenseAutomationView/types/actualMatchingViewState.js +3 -0
- package/lib/index.d.ts +3 -2
- package/lib/index.js +49 -48
- package/lib/view/expenseAutomationView/epics/actualMatching/fetchActualMatchingEpic.js +1 -1
- package/lib/view/expenseAutomationView/epics/actualMatching/fetchActualMatchingMatchEpic.d.ts +1 -1
- package/lib/view/expenseAutomationView/epics/actualMatching/fetchActualMatchingMatchEpic.js +3 -2
- package/lib/view/expenseAutomationView/epics/actualMatching/matchAndReverseAccrualsEpic.js +17 -20
- package/lib/view/expenseAutomationView/epics/actualMatching/refreshActualMatchingList.d.ts +3 -0
- package/lib/view/expenseAutomationView/epics/actualMatching/refreshActualMatchingList.js +19 -0
- package/lib/view/expenseAutomationView/epics/actualMatching/searchMatchTransactionsEpic.js +5 -8
- package/lib/view/expenseAutomationView/epics/actualMatching/undoReversalAccrualsEpic.js +13 -26
- package/lib/view/expenseAutomationView/payload/actualMatchingPayload.d.ts +2 -2
- package/lib/view/expenseAutomationView/payload/actualMatchingPayload.js +9 -9
- package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.d.ts +19 -16
- package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +33 -15
- package/lib/view/expenseAutomationView/selectorTypes/actualMatchingViewSelectorTypes.d.ts +0 -1
- package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.d.ts +6 -1
- package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +66 -21
- package/lib/view/expenseAutomationView/types/actualMatchingViewState.d.ts +5 -1
- package/lib/view/expenseAutomationView/types/actualMatchingViewState.js +4 -0
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { getActualMatchingMatchById } from '../../../entity/actualMatching/actua
|
|
|
4
4
|
import { generateJEOneTimeAccrualKey } from '../../../entity/jeSchedules/jeScheduleHelper';
|
|
5
5
|
import { getJEOneTimeAccrualByKey, } from '../../../entity/jeSchedules/jeSchedulesSelector';
|
|
6
6
|
import { getCurrentTenant } from '../../../entity/tenant/tenantSelector';
|
|
7
|
+
import { actualMatchingTransactionLineKey, } from '../types/actualMatchingViewState';
|
|
7
8
|
export function getSelectedMonthYearForCurrentTenant(state) {
|
|
8
9
|
const tenantId = getCurrentTenant(state)?.tenantId;
|
|
9
10
|
if (tenantId == null) {
|
|
@@ -11,6 +12,18 @@ export function getSelectedMonthYearForCurrentTenant(state) {
|
|
|
11
12
|
}
|
|
12
13
|
return state.expenseAutomationViewState.selectedPeriodByTenantId[tenantId];
|
|
13
14
|
}
|
|
15
|
+
export function getTenantDisplayCurrency(state) {
|
|
16
|
+
const locale = getCurrentTenant(state)?.company?.companyLocaleInfo;
|
|
17
|
+
if (locale?.currencyCode == null || locale.currencyCode === '') {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
currencyCode: locale.currencyCode,
|
|
22
|
+
currencySymbol: locale.currencySymbol != null && locale.currencySymbol !== ''
|
|
23
|
+
? locale.currencySymbol
|
|
24
|
+
: locale.currencyCode,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
14
27
|
function toMatchModalAccrual(member) {
|
|
15
28
|
if ('jeOneTimeAccrualKey' in member && member.jeOneTimeAccrualKey != null) {
|
|
16
29
|
return member;
|
|
@@ -32,9 +45,9 @@ function uniqueMatchModalAccruals(pinned, searched) {
|
|
|
32
45
|
}
|
|
33
46
|
function uniqueTransactionSearchResults(pinned, searched) {
|
|
34
47
|
const byKey = new Map();
|
|
35
|
-
pinned.forEach((row) => byKey.set(
|
|
48
|
+
pinned.forEach((row) => byKey.set(actualMatchingTransactionLineKey(row.transactionType, row.transactionIntegrationId, row.lineId), row));
|
|
36
49
|
searched.forEach((row) => {
|
|
37
|
-
const key =
|
|
50
|
+
const key = actualMatchingTransactionLineKey(row.transactionType, row.transactionIntegrationId, row.lineId);
|
|
38
51
|
if (!byKey.has(key)) {
|
|
39
52
|
byKey.set(key, row);
|
|
40
53
|
}
|
|
@@ -116,7 +129,9 @@ function toActualMatchingRow(match) {
|
|
|
116
129
|
groupedAccrualIds: match.members.map((member) => member.accrualId),
|
|
117
130
|
groupedMembers: collectGroupedMembers(match.members),
|
|
118
131
|
reversalDate: getActualMatchingReversalDate(first),
|
|
119
|
-
vendorName: match.vendorName
|
|
132
|
+
vendorName: match.vendorName != null && match.vendorName !== ''
|
|
133
|
+
? match.vendorName
|
|
134
|
+
: first.vendorName,
|
|
120
135
|
estimatedAmount: match.accruedAmount,
|
|
121
136
|
};
|
|
122
137
|
}
|
|
@@ -125,10 +140,10 @@ function matchesSearch(row, searchString) {
|
|
|
125
140
|
if (trimmed.length === 0) {
|
|
126
141
|
return true;
|
|
127
142
|
}
|
|
128
|
-
if (row.vendorName.toLowerCase().includes(trimmed)) {
|
|
143
|
+
if ((row.vendorName ?? '').toLowerCase().includes(trimmed)) {
|
|
129
144
|
return true;
|
|
130
145
|
}
|
|
131
|
-
if (row.memo.toLowerCase().includes(trimmed)) {
|
|
146
|
+
if ((row.memo ?? '').toLowerCase().includes(trimmed)) {
|
|
132
147
|
return true;
|
|
133
148
|
}
|
|
134
149
|
return (row.groupedMembers ?? []).some((member) => (member.memo ?? '').toLowerCase().includes(trimmed));
|
|
@@ -136,7 +151,7 @@ function matchesSearch(row, searchString) {
|
|
|
136
151
|
function getActualMatchingSortValue(row, sortKey) {
|
|
137
152
|
switch (sortKey) {
|
|
138
153
|
case 'vendor':
|
|
139
|
-
return row.vendorName.toLowerCase();
|
|
154
|
+
return (row.vendorName ?? '').toLowerCase();
|
|
140
155
|
case 'date':
|
|
141
156
|
return row.reversalDate?.valueOf() ?? row.transactionDate;
|
|
142
157
|
case 'amount':
|
|
@@ -180,8 +195,14 @@ function emptyKpiSummary() {
|
|
|
180
195
|
variance: { percent: 0, averagePercentPerMatch: 0, netAmount: 0 },
|
|
181
196
|
};
|
|
182
197
|
}
|
|
183
|
-
function sumRowAmounts(rows) {
|
|
184
|
-
return rows.reduce((sum, row) =>
|
|
198
|
+
function sumRowAmounts(rows, displayCurrencyCode) {
|
|
199
|
+
return rows.reduce((sum, row) => {
|
|
200
|
+
if (displayCurrencyCode != null &&
|
|
201
|
+
row.accruedAmount.currencyCode !== displayCurrencyCode) {
|
|
202
|
+
return sum;
|
|
203
|
+
}
|
|
204
|
+
return sum + getActualMatchingAmount(row);
|
|
205
|
+
}, 0);
|
|
185
206
|
}
|
|
186
207
|
function uniqueVendorCount(rows) {
|
|
187
208
|
const ids = new Set();
|
|
@@ -190,7 +211,7 @@ function uniqueVendorCount(rows) {
|
|
|
190
211
|
ids.add(row.vendorId);
|
|
191
212
|
return;
|
|
192
213
|
}
|
|
193
|
-
if (row.vendorName !== '') {
|
|
214
|
+
if (row.vendorName != null && row.vendorName !== '') {
|
|
194
215
|
ids.add(row.vendorName);
|
|
195
216
|
}
|
|
196
217
|
});
|
|
@@ -202,19 +223,35 @@ function rowVariancePercent(row) {
|
|
|
202
223
|
if (actual == null || accrued === 0) {
|
|
203
224
|
return undefined;
|
|
204
225
|
}
|
|
205
|
-
return ((actual - accrued) / accrued) * 100;
|
|
226
|
+
return ((actual - accrued) / Math.abs(accrued)) * 100;
|
|
206
227
|
}
|
|
207
|
-
export function buildActualMatchingKpiSummary(rows) {
|
|
228
|
+
export function buildActualMatchingKpiSummary(rows, displayCurrencyCode) {
|
|
208
229
|
if (rows.length === 0) {
|
|
209
230
|
return emptyKpiSummary();
|
|
210
231
|
}
|
|
211
232
|
const autoReversed = rows.filter((row) => row.kind === 'auto_reversed');
|
|
212
233
|
const pendingReview = rows.filter((row) => row.kind === 'pending_review');
|
|
213
234
|
const receivedCount = rows.length;
|
|
214
|
-
const rowsWithActual = rows.filter((row) =>
|
|
235
|
+
const rowsWithActual = rows.filter((row) => {
|
|
236
|
+
if (row.actualAmount?.amount == null) {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
if (displayCurrencyCode == null) {
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
const rowCurrency = row.accruedAmount?.currencyCode ?? row.estimatedAmount.currencyCode;
|
|
243
|
+
return rowCurrency === displayCurrencyCode;
|
|
244
|
+
});
|
|
215
245
|
const accruedTotal = rowsWithActual.reduce((sum, row) => sum + (row.accruedAmount?.amount ?? row.estimatedAmount.amount), 0);
|
|
216
246
|
const actualTotal = rowsWithActual.reduce((sum, row) => sum + (row.actualAmount?.amount ?? 0), 0);
|
|
217
247
|
const variancePercents = rows
|
|
248
|
+
.filter((row) => {
|
|
249
|
+
if (displayCurrencyCode == null) {
|
|
250
|
+
return true;
|
|
251
|
+
}
|
|
252
|
+
const rowCurrency = row.accruedAmount?.currencyCode ?? row.estimatedAmount.currencyCode;
|
|
253
|
+
return rowCurrency === displayCurrencyCode;
|
|
254
|
+
})
|
|
218
255
|
.map(rowVariancePercent)
|
|
219
256
|
.filter((percent) => percent != null);
|
|
220
257
|
return {
|
|
@@ -228,17 +265,17 @@ export function buildActualMatchingKpiSummary(rows) {
|
|
|
228
265
|
autoReversed: {
|
|
229
266
|
count: autoReversed.length,
|
|
230
267
|
percent: Math.round((autoReversed.length / receivedCount) * 100),
|
|
231
|
-
clearedAmount: sumRowAmounts(autoReversed),
|
|
268
|
+
clearedAmount: sumRowAmounts(autoReversed, displayCurrencyCode),
|
|
232
269
|
},
|
|
233
270
|
pendingReview: {
|
|
234
271
|
count: pendingReview.length,
|
|
235
|
-
amount: sumRowAmounts(pendingReview),
|
|
272
|
+
amount: sumRowAmounts(pendingReview, displayCurrencyCode),
|
|
236
273
|
estimatedMinutesToClear: pendingReview.length * ESTIMATED_MINUTES_PER_PENDING_MATCH,
|
|
237
274
|
},
|
|
238
275
|
variance: {
|
|
239
276
|
percent: accruedTotal === 0
|
|
240
277
|
? 0
|
|
241
|
-
: ((actualTotal - accruedTotal) / accruedTotal) * 100,
|
|
278
|
+
: ((actualTotal - accruedTotal) / Math.abs(accruedTotal)) * 100,
|
|
242
279
|
averagePercentPerMatch: variancePercents.length === 0
|
|
243
280
|
? 0
|
|
244
281
|
: variancePercents.reduce((sum, percent) => sum + percent, 0) /
|
|
@@ -253,12 +290,14 @@ export function getExpenseAutomationActualMatchingMatchView(state, matchId) {
|
|
|
253
290
|
match: getActualMatchingMatchById(state.actualMatchingState, matchId),
|
|
254
291
|
detailFetchState: view.detailFetchStateByMatchId[matchId] ?? NOT_STARTED,
|
|
255
292
|
refreshStatus: view.detailRefreshStatusByMatchId[matchId] ?? NOT_STARTED,
|
|
256
|
-
undoReversalStatus: view.
|
|
293
|
+
undoReversalStatus: view.undoReversalStatusByMatchId[matchId] ?? NOT_STARTED,
|
|
294
|
+
lastUndoResults: view.lastUndoResultsByMatchId[matchId],
|
|
295
|
+
lastMatchResults: view.lastMatchResultsByMatchId?.[matchId],
|
|
257
296
|
};
|
|
258
297
|
}
|
|
259
298
|
export function getExpenseAutomationActualMatchingView(state) {
|
|
260
299
|
const { expenseAutomationActualMatchingViewState } = state;
|
|
261
|
-
const { matchIdsByPeriod, fetchState, error, refreshStatus, uiState, matchModal,
|
|
300
|
+
const { matchIdsByPeriod, fetchState, error, refreshStatus, uiState, matchModal, } = expenseAutomationActualMatchingViewState;
|
|
262
301
|
const selectedPeriod = getSelectedMonthYearForCurrentTenant(state);
|
|
263
302
|
const monthYearPeriodId = selectedPeriod != null ? toMonthYearPeriodId(selectedPeriod) : undefined;
|
|
264
303
|
const matchIds = monthYearPeriodId != null ? matchIdsByPeriod[monthYearPeriodId] : undefined;
|
|
@@ -270,19 +309,25 @@ export function getExpenseAutomationActualMatchingView(state) {
|
|
|
270
309
|
const rows = allRows.filter((row) => matchesSearch(row, uiState.searchString));
|
|
271
310
|
const reversed = sortActualMatchingRows(rows.filter((row) => isReversedMatchKind(row.kind)), uiState);
|
|
272
311
|
const pendingReview = sortActualMatchingRows(rows.filter((row) => row.kind === 'pending_review'), uiState);
|
|
273
|
-
const kpiSummary = buildActualMatchingKpiSummary(allRows);
|
|
312
|
+
const kpiSummary = buildActualMatchingKpiSummary(allRows, getTenantDisplayCurrency(state)?.currencyCode);
|
|
274
313
|
const searchedAccruals = matchModal.accrualSearch.results
|
|
275
314
|
.map((key) => getJEOneTimeAccrualByKey(key, state.jeSchedulesState))
|
|
276
315
|
.filter((accrual) => accrual != null);
|
|
277
316
|
const openedMatch = matchModal.openedFromMatchId != null
|
|
278
317
|
? getActualMatchingMatchById(state.actualMatchingState, matchModal.openedFromMatchId)
|
|
279
318
|
: undefined;
|
|
280
|
-
const pinnedAccruals =
|
|
319
|
+
const pinnedAccruals = [
|
|
320
|
+
...(openedMatch?.members ?? []),
|
|
321
|
+
...(openedMatch?.leftovers ?? []),
|
|
322
|
+
].map(toMatchModalAccrual);
|
|
281
323
|
const firstSuggestion = openedMatch?.members[0]?.matchSuggestion;
|
|
282
324
|
const prefill = openedMatch == null
|
|
283
325
|
? undefined
|
|
284
326
|
: {
|
|
285
|
-
selectedAccrualIds:
|
|
327
|
+
selectedAccrualIds: [
|
|
328
|
+
...openedMatch.members.map((member) => member.accrualId),
|
|
329
|
+
...(openedMatch.leftovers ?? []).map((leftover) => leftover.accrualId),
|
|
330
|
+
],
|
|
286
331
|
actualAmount: openedMatch.actualAmount.amount,
|
|
287
332
|
matchedLineId: firstSuggestion?.matchedLineId,
|
|
288
333
|
matchedTransactionId: firstSuggestion?.matchedTransactionId,
|
|
@@ -296,7 +341,6 @@ export function getExpenseAutomationActualMatchingView(state) {
|
|
|
296
341
|
uiState,
|
|
297
342
|
refreshStatus,
|
|
298
343
|
hasLoadedForSelectedPeriod: matchIds != null,
|
|
299
|
-
undoReversalStatus,
|
|
300
344
|
matchModal: {
|
|
301
345
|
isOpen: matchModal.isOpen,
|
|
302
346
|
openedFromMatchId: matchModal.openedFromMatchId,
|
|
@@ -30,3 +30,6 @@ const UNDO_REVERSAL_RESULT_STATUSES = [
|
|
|
30
30
|
'error',
|
|
31
31
|
];
|
|
32
32
|
export const toUndoReversalResultStatus = (v) => stringToUnion(v, UNDO_REVERSAL_RESULT_STATUSES);
|
|
33
|
+
export function actualMatchingTransactionLineKey(transactionType, transactionIntegrationId, lineId) {
|
|
34
|
+
return `${transactionType}:${transactionIntegrationId}:${lineId}`;
|
|
35
|
+
}
|
package/lib/index.d.ts
CHANGED
|
@@ -334,7 +334,7 @@ import { getExpenseAutomationReconciliationView, getLedgerAccountIdsWithStatemen
|
|
|
334
334
|
import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
335
335
|
import { applyTransactionFilters } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
336
336
|
import { TRANSACTION_FILTER_CATEGORIES, TransactionFilterAmountMatchingOperator, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters } from './view/expenseAutomationView/transactionFilterTypes';
|
|
337
|
-
import { ActualMatchingTransactionSearchResult, ActualMatchingSortKey as ExpenseAutomationActualMatchingSortKey, ActualMatchingViewUIState as ExpenseAutomationActualMatchingViewUIState, MATCH_ACCRUAL_SEARCH_LIMIT, MATCH_SEARCH_DEBOUNCE_MS, MATCH_TRANSACTION_SEARCH_PAGE_SIZE, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus, toActualMatchingSortKey as toExpenseAutomationActualMatchingSortKey, toMatchAndReverseResultStatus, toUndoReversalResultStatus } from './view/expenseAutomationView/types/actualMatchingViewState';
|
|
337
|
+
import { ActualMatchingTransactionSearchResult, ActualMatchingSortKey as ExpenseAutomationActualMatchingSortKey, ActualMatchingViewUIState as ExpenseAutomationActualMatchingViewUIState, MATCH_ACCRUAL_SEARCH_LIMIT, MATCH_SEARCH_DEBOUNCE_MS, MATCH_TRANSACTION_SEARCH_PAGE_SIZE, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus, actualMatchingTransactionLineKey, toActualMatchingSortKey as toExpenseAutomationActualMatchingSortKey, toMatchAndReverseResultStatus, toUndoReversalResultStatus } from './view/expenseAutomationView/types/actualMatchingViewState';
|
|
338
338
|
import { CompletedSubTab, DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab } from './view/expenseAutomationView/types/completedSubTab';
|
|
339
339
|
import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSectionType, FluxAnalysisSortKey, FluxAnalysisViewUIState, FluxBalancesByMonth } from './view/expenseAutomationView/types/fluxAnalysisViewState';
|
|
340
340
|
import { ALL_JE_PAGE_TABS, AccountSettingsLocalData, JEScheduleSortKey as ExpenseAutomationJEScheduleSortKey, JESchedulesViewUIState as ExpenseAutomationJESchedulesViewUIState, JEPageTab, JEScheduleLocalData, NewJeDetailLocalData, NewJeScheduleState, NewOneTimeAccrualLocalData, NewScheduleLocalData, NewScheduleLocalDataFixedAssets, SearchTransactionsState, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey, toJEPageTab } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
@@ -735,7 +735,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
|
|
|
735
735
|
export { ClassesViewSelectorReportV2 };
|
|
736
736
|
export { BalancesTimeseries, TrendTimeseries, BalanceKind };
|
|
737
737
|
export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, MonthCloseCheckProgressJson, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
|
|
738
|
-
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, DEFAULT_COMPLETED_SUB_TAB, DEFAULT_TRANSACTION_GROUP, TRANSACTION_GROUPS, TransactionGroup, toTransactionGroup, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, ExpenseAutomationActualMatchingViewSelector, ActualMatchingKpiSummary, ActualMatchingMatchModalView, ActualMatchingRow, ActualMatchingRowKind, ExpenseAutomationActualMatchingSortKey, ExpenseAutomationActualMatchingViewUIState, ActualMatchingTransactionSearchResult, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus, JEKpiSummary, ALL_JE_PAGE_TABS, JEPageTab, MATCH_ACCRUAL_SEARCH_LIMIT, MATCH_SEARCH_DEBOUNCE_MS, MATCH_TRANSACTION_SEARCH_PAGE_SIZE, toExpenseAutomationJEScheduleSortKey, toExpenseAutomationActualMatchingSortKey, toJEPageTab, toMatchAndReverseResultStatus, toUndoReversalResultStatus, toggleJECreatedGroupCollapsed, toggleJEPendingGroupCollapsed, updateJEScheduleTypeFilter, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, toExpenseAutomationViewTypeStrict, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateTransactionGroup, fetchExpenseAutomationMissingReceipts, bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, clearBulkUploadBatchDetailsForScopeChange, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, 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, getLastTransferEntryReplacement, 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, getLedgerAccountIdsWithStatementOverrideWarning, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, getUnavailableLedgerAccountIds, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, updateStatementProcessingFailed, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, CombinedStatementAccount, StatementAccountScope, StatementDataStatusCodeType, deleteAccountStatement, deleteCombinedStatement, uploadAccountStatement, parseCombinedStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, UploadStatementDocumentAIPayload, updateStatementUploadChosen, submitCombinedStatementUpdate, submitStatementUpdate, clearStatementDateConflict, confirmStatementMapping, StatementDateConflict, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, ParsedStatementData, StatementUpdateLocalData, StatementMeta, StatementTransaction, StatementTransactionForUpdate, StatementTransactionsUpdate, };
|
|
738
|
+
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, DEFAULT_COMPLETED_SUB_TAB, DEFAULT_TRANSACTION_GROUP, TRANSACTION_GROUPS, TransactionGroup, toTransactionGroup, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, ExpenseAutomationActualMatchingViewSelector, ActualMatchingKpiSummary, ActualMatchingMatchModalView, ActualMatchingRow, ActualMatchingRowKind, ExpenseAutomationActualMatchingSortKey, ExpenseAutomationActualMatchingViewUIState, ActualMatchingTransactionSearchResult, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus, actualMatchingTransactionLineKey, JEKpiSummary, ALL_JE_PAGE_TABS, JEPageTab, MATCH_ACCRUAL_SEARCH_LIMIT, MATCH_SEARCH_DEBOUNCE_MS, MATCH_TRANSACTION_SEARCH_PAGE_SIZE, toExpenseAutomationJEScheduleSortKey, toExpenseAutomationActualMatchingSortKey, toJEPageTab, toMatchAndReverseResultStatus, toUndoReversalResultStatus, toggleJECreatedGroupCollapsed, toggleJEPendingGroupCollapsed, updateJEScheduleTypeFilter, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, toExpenseAutomationViewTypeStrict, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateTransactionGroup, fetchExpenseAutomationMissingReceipts, bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, clearBulkUploadBatchDetailsForScopeChange, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, 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, getLastTransferEntryReplacement, 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, getLedgerAccountIdsWithStatementOverrideWarning, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, getUnavailableLedgerAccountIds, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, updateStatementProcessingFailed, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, CombinedStatementAccount, StatementAccountScope, StatementDataStatusCodeType, deleteAccountStatement, deleteCombinedStatement, uploadAccountStatement, parseCombinedStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, UploadStatementDocumentAIPayload, updateStatementUploadChosen, submitCombinedStatementUpdate, submitStatementUpdate, clearStatementDateConflict, confirmStatementMapping, StatementDateConflict, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, ParsedStatementData, StatementUpdateLocalData, StatementMeta, StatementTransaction, StatementTransactionForUpdate, StatementTransactionsUpdate, };
|
|
739
739
|
export { JEScheduleLocalData };
|
|
740
740
|
export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, ExpenseAutomationJEOneTimeAccrualDetailView, JEScheduleRow, JEScheduledTransactionWithFailedEntries, NewJeDetailLocalData, NewJeScheduleState, NewOneTimeAccrualLocalData, NewAccrualAccountsView, NewScheduleLocalData, NewScheduleLocalDataFixedAssets, NewScheduleSearchTransactionsView, NewScheduleView, SearchTransactionsState, computeNewScheduleJeDetails, createOneTimeAccrual, createOneTimeAccrualFailure, createOneTimeAccrualSuccess, fetchOneTimeAccrual, getJeNewAccrualAccountsView, ignoreOneTimeAccrual, promoteOneTimeAccrual, revertJeSchedule, revertOneTimeAccrual, getJeNewScheduleSearchTransactionsView, getJeNewScheduleView, };
|
|
741
741
|
export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateTransactionFilters, updateSelectedCheckboxTransactionIds, markCategoryClassRecommendationsFailureForCategorization, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus, clearTransferEntryRouteReplacement, fetchAccountsForTransferFlow, removeTransactionFromAllTabs, clearExpenseAutomationTransactionsView, TransactionsSortKey, toTransactionsSortKey, TransactionsTab, TransactionCategorizationLineItemData, TransactionReviewLocalData, SupportedTransactionCategorization, ExpenseAutomationTransactionsViewState, ExpenseAutomationTransactionsViewUIState, ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView, };
|
|
@@ -1262,3 +1262,4 @@ export { getActualMatchingAmount, getActualMatchingReversalDate, parseActualMatc
|
|
|
1262
1262
|
export type { ExpenseAutomationActualMatchingMatchView } from './view/expenseAutomationView/selectors/actualMatchingViewSelector';
|
|
1263
1263
|
export type { ActualMatchingMatch, ActualMatchingMatchKind, } from './entity/actualMatching/actualMatchingState';
|
|
1264
1264
|
export type { ActualMatchingMatchId } from './entity/actualMatching/actualMatchingTypes';
|
|
1265
|
+
export type { DisplayCurrencyFallback } from './entity/actualMatching/actualMatchingPayload';
|