@zeniai/client-epic-state 5.2.0-beta0AK → 5.2.1
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/accountRecon/accountReconReducer.js +4 -0
- package/lib/entity/accountRecon/accountReconState.d.ts +4 -1
- package/lib/entity/accountRecon/accountReconState.js +1 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.d.ts +0 -16
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.js +0 -20
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.d.ts +1 -8
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.js +0 -48
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerState.d.ts +0 -24
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.d.ts +0 -1
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.js +0 -1
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionState.d.ts +0 -1
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +1 -0
- package/lib/epic.d.ts +4 -1
- package/lib/epic.js +4 -1
- package/lib/esm/entity/accountRecon/accountReconReducer.js +4 -0
- package/lib/esm/entity/accountRecon/accountReconState.js +1 -0
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.js +0 -20
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.js +0 -47
- package/lib/esm/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.js +0 -1
- package/lib/esm/entity/snackbar/snackbarTypes.js +1 -0
- package/lib/esm/epic.js +4 -1
- package/lib/esm/index.js +6 -6
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +43 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic.js +1 -2
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.js +31 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +15 -18
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +68 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +10 -10
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +12 -4
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +8 -2
- package/lib/esm/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.js +20 -5
- package/lib/esm/view/expenseAutomationView/payload/reconciliationPayload.js +135 -0
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +120 -16
- package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +38 -7
- package/lib/esm/view/expenseAutomationView/selectors/statementParseViewSelector.js +43 -10
- package/lib/esm/view/expenseAutomationView/types/reconciliationViewState.js +15 -1
- package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +0 -1
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +2 -4
- package/lib/index.d.ts +9 -9
- package/lib/index.js +51 -46
- package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.d.ts +34 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +47 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic.js +0 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.d.ts +26 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/parseCombinedStatementEpic.js +35 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.d.ts +21 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/parseStatementEpic.js +15 -18
- package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.d.ts +27 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +72 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/updateStatementInfoEpic.js +10 -10
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +12 -4
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +7 -1
- package/lib/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.d.ts +1 -0
- package/lib/view/expenseAutomationView/helpers/mapStatementUpdateLocalDataToRequestBody.js +20 -4
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +109 -4
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +143 -0
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +32 -4
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +122 -18
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +5 -1
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +4 -1
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +40 -7
- package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.d.ts +3 -2
- package/lib/view/expenseAutomationView/selectors/statementParseViewSelector.js +44 -10
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +74 -1
- package/lib/view/expenseAutomationView/types/reconciliationViewState.js +19 -1
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +1 -4
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +0 -1
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.d.ts +1 -2
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +1 -3
- package/package.json +1 -1
|
@@ -430,7 +430,7 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
430
430
|
}
|
|
431
431
|
},
|
|
432
432
|
uploadAccountStatement: (draft, action) => {
|
|
433
|
-
const { accountId, selectedPeriod } = action.payload;
|
|
433
|
+
const { accountId, selectedPeriod, statementAccountScope } = action.payload;
|
|
434
434
|
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
435
435
|
if (accountRecon != null) {
|
|
436
436
|
accountRecon.statementUploadStatus = {
|
|
@@ -455,6 +455,22 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
455
455
|
fetchState: 'Not-Started',
|
|
456
456
|
error: undefined,
|
|
457
457
|
};
|
|
458
|
+
accountRecon.combinedStatementGroupId = undefined;
|
|
459
|
+
accountRecon.confirmedCombinedStatementUploads = undefined;
|
|
460
|
+
accountRecon.confirmStatementMappingStatus = {
|
|
461
|
+
fetchState: 'Not-Started',
|
|
462
|
+
error: undefined,
|
|
463
|
+
};
|
|
464
|
+
accountRecon.confirmStatementMappingConflict = null;
|
|
465
|
+
if (accountRecon.localData != null) {
|
|
466
|
+
accountRecon.localData.statementUpdateLocalDataByUploadId = undefined;
|
|
467
|
+
}
|
|
468
|
+
if (statementAccountScope != null) {
|
|
469
|
+
accountRecon.localData = {
|
|
470
|
+
...accountRecon.localData,
|
|
471
|
+
statementAccountScope,
|
|
472
|
+
};
|
|
473
|
+
}
|
|
458
474
|
}
|
|
459
475
|
},
|
|
460
476
|
uploadAccountStatementSuccess: (draft, action) => {
|
|
@@ -517,8 +533,16 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
517
533
|
fetchState: 'Not-Started',
|
|
518
534
|
error: undefined,
|
|
519
535
|
};
|
|
536
|
+
accountRecon.combinedStatementGroupId = undefined;
|
|
537
|
+
accountRecon.confirmedCombinedStatementUploads = undefined;
|
|
538
|
+
accountRecon.confirmStatementMappingStatus = {
|
|
539
|
+
fetchState: 'Not-Started',
|
|
540
|
+
error: undefined,
|
|
541
|
+
};
|
|
542
|
+
accountRecon.confirmStatementMappingConflict = null;
|
|
520
543
|
if (accountRecon.localData != null) {
|
|
521
|
-
accountRecon.localData.
|
|
544
|
+
accountRecon.localData.statementUpdateLocalDataByUploadId = undefined;
|
|
545
|
+
accountRecon.localData.statementAccountScope = undefined;
|
|
522
546
|
}
|
|
523
547
|
}
|
|
524
548
|
},
|
|
@@ -544,6 +568,17 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
544
568
|
};
|
|
545
569
|
}
|
|
546
570
|
},
|
|
571
|
+
parseCombinedStatement: (draft, action) => {
|
|
572
|
+
const { accountId, selectedPeriod } = action.payload;
|
|
573
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
574
|
+
if (accountRecon != null) {
|
|
575
|
+
accountRecon.parsedStatementData = undefined;
|
|
576
|
+
accountRecon.statementParseStatus = {
|
|
577
|
+
fetchState: 'In-Progress',
|
|
578
|
+
error: undefined,
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
},
|
|
547
582
|
parseStatementSuccess: (draft, action) => {
|
|
548
583
|
const { accountId, selectedPeriod } = action.payload;
|
|
549
584
|
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
@@ -598,7 +633,7 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
598
633
|
accountRecon.statementProcessingFailed = false;
|
|
599
634
|
accountRecon.statementParseInProgress = true;
|
|
600
635
|
if (accountRecon.localData != null) {
|
|
601
|
-
accountRecon.localData.
|
|
636
|
+
accountRecon.localData.statementUpdateLocalDataByUploadId = undefined;
|
|
602
637
|
}
|
|
603
638
|
}
|
|
604
639
|
},
|
|
@@ -644,19 +679,18 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
644
679
|
parsedStatementData;
|
|
645
680
|
},
|
|
646
681
|
updateStatementUpdateLocalData: (draft, action) => {
|
|
647
|
-
const { accountId, selectedPeriod, statementUpdateLocalData } = action.payload;
|
|
682
|
+
const { accountId, selectedPeriod, statementUpdateLocalData, statementUploadId, } = action.payload;
|
|
648
683
|
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
649
|
-
if (accountRecon
|
|
650
|
-
|
|
651
|
-
accountRecon.localData = {
|
|
652
|
-
statementUpdateLocalData,
|
|
653
|
-
};
|
|
654
|
-
}
|
|
655
|
-
else {
|
|
656
|
-
accountRecon.localData.statementUpdateLocalData =
|
|
657
|
-
statementUpdateLocalData;
|
|
658
|
-
}
|
|
684
|
+
if (accountRecon == null || statementUploadId === '') {
|
|
685
|
+
return;
|
|
659
686
|
}
|
|
687
|
+
if (accountRecon.localData == null) {
|
|
688
|
+
accountRecon.localData = {};
|
|
689
|
+
}
|
|
690
|
+
accountRecon.localData.statementUpdateLocalDataByUploadId = {
|
|
691
|
+
...accountRecon.localData.statementUpdateLocalDataByUploadId,
|
|
692
|
+
[statementUploadId]: statementUpdateLocalData,
|
|
693
|
+
};
|
|
660
694
|
},
|
|
661
695
|
submitStatementUpdate: (draft, action) => {
|
|
662
696
|
const { accountId, selectedPeriod } = action.payload;
|
|
@@ -670,6 +704,17 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
670
704
|
accountRecon.statementDateConflict = null;
|
|
671
705
|
}
|
|
672
706
|
},
|
|
707
|
+
submitCombinedStatementUpdate: (draft, action) => {
|
|
708
|
+
const { accountId, selectedPeriod } = action.payload;
|
|
709
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
710
|
+
if (accountRecon != null) {
|
|
711
|
+
accountRecon.statementUpdateStatus = {
|
|
712
|
+
fetchState: 'In-Progress',
|
|
713
|
+
error: undefined,
|
|
714
|
+
};
|
|
715
|
+
accountRecon.statementDateConflict = null;
|
|
716
|
+
}
|
|
717
|
+
},
|
|
673
718
|
submitStatementUpdateSuccess: (draft, action) => {
|
|
674
719
|
const { accountId, selectedPeriod } = action.payload;
|
|
675
720
|
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
@@ -684,7 +729,7 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
684
729
|
accountRecon.statementProcessingStartedAtMs = undefined;
|
|
685
730
|
accountRecon.statementProcessingTotalDurationSeconds = undefined;
|
|
686
731
|
if (accountRecon.localData != null) {
|
|
687
|
-
accountRecon.localData.
|
|
732
|
+
accountRecon.localData.statementUpdateLocalDataByUploadId = undefined;
|
|
688
733
|
}
|
|
689
734
|
}
|
|
690
735
|
},
|
|
@@ -706,6 +751,52 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
706
751
|
accountRecon.statementDateConflict = null;
|
|
707
752
|
}
|
|
708
753
|
},
|
|
754
|
+
confirmStatementMapping: (draft, action) => {
|
|
755
|
+
const { accountId, selectedPeriod } = action.payload;
|
|
756
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
757
|
+
if (accountRecon != null) {
|
|
758
|
+
accountRecon.confirmStatementMappingStatus = {
|
|
759
|
+
fetchState: 'In-Progress',
|
|
760
|
+
error: undefined,
|
|
761
|
+
};
|
|
762
|
+
accountRecon.confirmStatementMappingConflict = null;
|
|
763
|
+
}
|
|
764
|
+
},
|
|
765
|
+
confirmStatementMappingSuccess: (draft, action) => {
|
|
766
|
+
const { accountId, selectedPeriod, statementUploads } = action.payload;
|
|
767
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
768
|
+
if (accountRecon != null) {
|
|
769
|
+
accountRecon.confirmStatementMappingStatus = {
|
|
770
|
+
fetchState: 'Completed',
|
|
771
|
+
error: undefined,
|
|
772
|
+
};
|
|
773
|
+
accountRecon.confirmStatementMappingConflict = null;
|
|
774
|
+
accountRecon.confirmedCombinedStatementUploads = statementUploads;
|
|
775
|
+
const combinedStatementDetails = accountRecon.parsedStatementData?.statementUpload
|
|
776
|
+
.combinedStatementDetails;
|
|
777
|
+
if (combinedStatementDetails != null) {
|
|
778
|
+
combinedStatementDetails.isMappingConfirmed = true;
|
|
779
|
+
}
|
|
780
|
+
const combinedStatementGroupId = combinedStatementDetails?.combinedStatementGroupId ??
|
|
781
|
+
accountRecon.parsedStatementData?.statementUpload.statementMeta
|
|
782
|
+
.combinedStatementGroupId;
|
|
783
|
+
if (combinedStatementGroupId != null &&
|
|
784
|
+
combinedStatementGroupId !== '') {
|
|
785
|
+
accountRecon.combinedStatementGroupId = combinedStatementGroupId;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
},
|
|
789
|
+
confirmStatementMappingFailure: (draft, action) => {
|
|
790
|
+
const { accountId, selectedPeriod, mappingConflict } = action.payload;
|
|
791
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
792
|
+
if (accountRecon != null) {
|
|
793
|
+
accountRecon.confirmStatementMappingStatus = {
|
|
794
|
+
fetchState: 'Error',
|
|
795
|
+
error: action.payload.error,
|
|
796
|
+
};
|
|
797
|
+
accountRecon.confirmStatementMappingConflict = mappingConflict ?? null;
|
|
798
|
+
}
|
|
799
|
+
},
|
|
709
800
|
updateAccountReconciliationLocalData: (draft, action) => {
|
|
710
801
|
const { accountId, selectedPeriod, localData } = action.payload;
|
|
711
802
|
const oldLocalData = draft.accountReconciliationRecordsBySelectedPeriod[toMonthYearPeriodId(selectedPeriod)].reconciliationByAccountID[accountId].localData;
|
|
@@ -816,7 +907,7 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
816
907
|
},
|
|
817
908
|
});
|
|
818
909
|
// Export actions
|
|
819
|
-
export const { fetchReconciliation, fetchReconciliationFailure, fetchReconciliationSuccess, saveReconciliationDetail, saveReconciliationDetailFailure, updateSelectedAccountId, setConnectionInProgressForAccount, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, updateReconcileTabLocalData, updateReconcileTabListSortState, updateReconcileTabListScrollState, saveReconciliationDetailSuccess, updateSelectedTab, updateBalancesLocalData, initialiseLocalDataForSelectedAccountId, clearExpenseAutomationReconciliationView, updateSelectedDrawerAccountId, updateStatementProcessingFailed, updateReviewTabSortState, initializeReconciliationReviewTabLocalData, updateReviewTabLocalData, saveReconciliationReview, updateSaveReconciliationReviewFetchStatus, updateReconListScrollPosition, updateAccountReconciliationLocalData, deleteAccountStatement, deleteAccountStatementSuccess, deleteAccountStatementFailure, excludeAccountFromReconciliation, excludeAccountFromReconciliationSuccess, excludeAccountFromReconciliationFailure, includeAccountInReconciliation, includeAccountInReconciliationSuccess, includeAccountInReconciliationFailure, uploadAccountStatement, uploadAccountStatementSuccess, uploadAccountStatementFailure, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateStatementUpdateLocalData, submitStatementUpdate, submitStatementUpdateSuccess, submitStatementUpdateFailure, clearStatementDateConflict, updateStatementUploadChosen, updateNodeCollapseState, } = expenseAutomationReconciliationView.actions;
|
|
910
|
+
export const { fetchReconciliation, fetchReconciliationFailure, fetchReconciliationSuccess, saveReconciliationDetail, saveReconciliationDetailFailure, updateSelectedAccountId, setConnectionInProgressForAccount, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, updateReconcileTabLocalData, updateReconcileTabListSortState, updateReconcileTabListScrollState, saveReconciliationDetailSuccess, updateSelectedTab, updateBalancesLocalData, initialiseLocalDataForSelectedAccountId, clearExpenseAutomationReconciliationView, updateSelectedDrawerAccountId, updateStatementProcessingFailed, updateReviewTabSortState, initializeReconciliationReviewTabLocalData, updateReviewTabLocalData, saveReconciliationReview, updateSaveReconciliationReviewFetchStatus, updateReconListScrollPosition, updateAccountReconciliationLocalData, deleteAccountStatement, deleteAccountStatementSuccess, deleteAccountStatementFailure, excludeAccountFromReconciliation, excludeAccountFromReconciliationSuccess, excludeAccountFromReconciliationFailure, includeAccountInReconciliation, includeAccountInReconciliationSuccess, includeAccountInReconciliationFailure, uploadAccountStatement, uploadAccountStatementSuccess, uploadAccountStatementFailure, parseStatement, parseCombinedStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateStatementUpdateLocalData, submitStatementUpdate, submitCombinedStatementUpdate, submitStatementUpdateSuccess, submitStatementUpdateFailure, clearStatementDateConflict, confirmStatementMapping, confirmStatementMappingSuccess, confirmStatementMappingFailure, updateStatementUploadChosen, updateNodeCollapseState, } = expenseAutomationReconciliationView.actions;
|
|
820
911
|
// Export reducer
|
|
821
912
|
export default expenseAutomationReconciliationView.reducer;
|
|
822
913
|
function isEntityStatementParsing(reconciliation) {
|
|
@@ -830,6 +921,7 @@ function isEntityStatementParseTerminal(reconciliation) {
|
|
|
830
921
|
statusCode === 'parsing_failed' ||
|
|
831
922
|
statusCode === 'validation_failed' ||
|
|
832
923
|
statusCode === 'processing_failed' ||
|
|
924
|
+
statusCode === 'parsed_awaiting_mapping' ||
|
|
833
925
|
statusCode === 'deleting' ||
|
|
834
926
|
statusCode === 'deleted');
|
|
835
927
|
}
|
|
@@ -965,6 +1057,13 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
|
|
|
965
1057
|
error: undefined,
|
|
966
1058
|
},
|
|
967
1059
|
statementDateConflict: oldRecord?.statementDateConflict ?? null,
|
|
1060
|
+
confirmStatementMappingStatus: oldRecord?.confirmStatementMappingStatus ?? {
|
|
1061
|
+
fetchState: 'Not-Started',
|
|
1062
|
+
error: undefined,
|
|
1063
|
+
},
|
|
1064
|
+
confirmStatementMappingConflict: oldRecord?.confirmStatementMappingConflict ?? null,
|
|
1065
|
+
confirmedCombinedStatementUploads: oldRecord?.confirmedCombinedStatementUploads,
|
|
1066
|
+
combinedStatementGroupId: oldRecord?.combinedStatementGroupId,
|
|
968
1067
|
localData: {
|
|
969
1068
|
...oldRecord?.localData,
|
|
970
1069
|
accountSource: account?.reconciliation_source != null
|
|
@@ -1063,6 +1162,11 @@ const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, recon
|
|
|
1063
1162
|
statementParseStatus: { fetchState: 'Not-Started', error: undefined },
|
|
1064
1163
|
reparseStatementStatus: { fetchState: 'Not-Started', error: undefined },
|
|
1065
1164
|
statementDateConflict: null,
|
|
1165
|
+
confirmStatementMappingStatus: {
|
|
1166
|
+
fetchState: 'Not-Started',
|
|
1167
|
+
error: undefined,
|
|
1168
|
+
},
|
|
1169
|
+
confirmStatementMappingConflict: null,
|
|
1066
1170
|
localData: {},
|
|
1067
1171
|
accountDetectionReason: undefined,
|
|
1068
1172
|
};
|
|
@@ -245,8 +245,23 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
245
245
|
}
|
|
246
246
|
const accountReconState = accountReconForMonthYearPeriod.reconciliationByAccountID[accountID];
|
|
247
247
|
const rawParsedStatementData = accountReconState.parsedStatementData;
|
|
248
|
-
const
|
|
249
|
-
const
|
|
248
|
+
const statementUpdateLocalDataByUploadId = accountReconState.localData?.statementUpdateLocalDataByUploadId;
|
|
249
|
+
const statementAccountScope = accountReconState.localData?.statementAccountScope;
|
|
250
|
+
const parsedStatementDataForView = getParsedStatementDataForView(rawParsedStatementData, statementUpdateLocalDataByUploadId, statementAccountScope);
|
|
251
|
+
const rawStatementUploads = rawParsedStatementData?.statementUploads != null &&
|
|
252
|
+
rawParsedStatementData.statementUploads.length > 0
|
|
253
|
+
? rawParsedStatementData.statementUploads
|
|
254
|
+
: rawParsedStatementData?.statementUpload != null
|
|
255
|
+
? [rawParsedStatementData.statementUpload]
|
|
256
|
+
: [];
|
|
257
|
+
const allCitationTransactions = rawStatementUploads.flatMap((statementUpload) => statementUpload.statementTransactions);
|
|
258
|
+
const statementTransactionPeriodById = rawStatementUploads.length > 0
|
|
259
|
+
? Object.assign({}, ...rawStatementUploads.map((statementUpload) => {
|
|
260
|
+
const uploadId = statementUpload.statementMeta.statementUploadId;
|
|
261
|
+
const localMeta = statementUpdateLocalDataByUploadId?.[uploadId]?.statementMeta;
|
|
262
|
+
return getStatementTransactionPeriodById(statementUpload.statementTransactions, statementUpload.statementMeta, localMeta);
|
|
263
|
+
}))
|
|
264
|
+
: undefined;
|
|
250
265
|
reconList[accountID] = {
|
|
251
266
|
accountConnectionStatus: accountConnectionStatus.status,
|
|
252
267
|
paymentAccountId: accountConnectionStatus.paymentAccountId,
|
|
@@ -257,6 +272,10 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
257
272
|
statementParseStatus: accountReconState.statementParseStatus,
|
|
258
273
|
reparseStatementStatus: accountReconState.reparseStatementStatus,
|
|
259
274
|
statementDateConflict: accountReconState.statementDateConflict,
|
|
275
|
+
confirmStatementMappingStatus: accountReconState.confirmStatementMappingStatus,
|
|
276
|
+
confirmStatementMappingConflict: accountReconState.confirmStatementMappingConflict,
|
|
277
|
+
confirmedCombinedStatementUploads: accountReconState.confirmedCombinedStatementUploads,
|
|
278
|
+
combinedStatementGroupId: accountReconState.combinedStatementGroupId,
|
|
260
279
|
statementUpdateStatus: accountReconState.statementUpdateStatus,
|
|
261
280
|
statementUploadStatus: accountReconState.statementUploadStatus,
|
|
262
281
|
localData: accountReconState.localData,
|
|
@@ -267,11 +286,8 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
267
286
|
statementProcessingTotalDurationSeconds: accountReconState.statementProcessingTotalDurationSeconds,
|
|
268
287
|
statementProcessingFailed: accountReconState.statementProcessingFailed,
|
|
269
288
|
parsedStatementData: parsedStatementDataForView,
|
|
270
|
-
allCitationTransactions
|
|
271
|
-
statementTransactionPeriodById
|
|
272
|
-
? getStatementTransactionPeriodById(rawParsedStatementData.statementUpload.statementTransactions, rawParsedStatementData.statementUpload.statementMeta, accountReconState.localData?.statementUpdateLocalData
|
|
273
|
-
?.statementMeta)
|
|
274
|
-
: undefined,
|
|
289
|
+
allCitationTransactions,
|
|
290
|
+
statementTransactionPeriodById,
|
|
275
291
|
transactionFetchState: reduceAnyFetchState([
|
|
276
292
|
accountReconState.transactionFetchState,
|
|
277
293
|
accountListState.byReportId.accountList,
|
|
@@ -341,6 +357,8 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
341
357
|
statementParseStatus: { fetchState: 'Not-Started' },
|
|
342
358
|
reparseStatementStatus: { fetchState: 'Not-Started' },
|
|
343
359
|
statementDateConflict: null,
|
|
360
|
+
confirmStatementMappingStatus: { fetchState: 'Not-Started' },
|
|
361
|
+
confirmStatementMappingConflict: null,
|
|
344
362
|
localData: {},
|
|
345
363
|
connectionInProgress: false,
|
|
346
364
|
statementParseInProgress: false,
|
|
@@ -457,6 +475,19 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
|
|
|
457
475
|
});
|
|
458
476
|
export const getReparseStatementStatusByAccountId = (state, accountId) => getExpenseAutomationReconciliationView(state)
|
|
459
477
|
.accountReconciliationsByAccountID[accountId]?.reparseStatementStatus;
|
|
478
|
+
export function getLedgerAccountsForCombinedStatementMapping(accountReconciliationsByAccountID) {
|
|
479
|
+
return Object.values(accountReconciliationsByAccountID).map((accountReconciliation) => accountReconciliation.accountReconEntity.account);
|
|
480
|
+
}
|
|
481
|
+
const UNAVAILABLE_LEDGER_ACCOUNT_RECON_STATUSES = new Set(['in_progress', 'reconciled', 'reconciled_on_qbo']);
|
|
482
|
+
export function getUnavailableLedgerAccountIds(accountReconciliationsByAccountID) {
|
|
483
|
+
return Object.values(accountReconciliationsByAccountID)
|
|
484
|
+
.filter((accountReconciliation) => {
|
|
485
|
+
const statusCode = accountReconciliation.accountReconEntity.reconciliationStatus?.code;
|
|
486
|
+
return (statusCode != null &&
|
|
487
|
+
UNAVAILABLE_LEDGER_ACCOUNT_RECON_STATUSES.has(statusCode));
|
|
488
|
+
})
|
|
489
|
+
.map((accountReconciliation) => accountReconciliation.accountReconEntity.account.accountId);
|
|
490
|
+
}
|
|
460
491
|
export const isAccountReconReport = (reportId) => {
|
|
461
492
|
return reportId.endsWith('reconciliation');
|
|
462
493
|
};
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { date } from '../../../zeniDayJS';
|
|
2
|
+
export function getStatementUploadsFromParsedData(parsedStatementData) {
|
|
3
|
+
if (parsedStatementData == null) {
|
|
4
|
+
return [];
|
|
5
|
+
}
|
|
6
|
+
if (parsedStatementData.statementUploads != null &&
|
|
7
|
+
parsedStatementData.statementUploads.length > 0) {
|
|
8
|
+
return parsedStatementData.statementUploads;
|
|
9
|
+
}
|
|
10
|
+
if (parsedStatementData.statementUpload != null) {
|
|
11
|
+
return [parsedStatementData.statementUpload];
|
|
12
|
+
}
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
2
15
|
export const getEffectiveStatementPeriod = (parsedMeta, localMeta) => ({
|
|
3
16
|
statementStartDate: localMeta?.statementStartDate != null && localMeta.statementStartDate !== ''
|
|
4
17
|
? localMeta.statementStartDate
|
|
@@ -25,24 +38,44 @@ export const filterStatementTransactionsByPeriod = (transactions, statementPerio
|
|
|
25
38
|
}
|
|
26
39
|
return transactions.filter((transaction) => isStatementTransactionInPeriod(transaction.transactionDate, statementStartDate, statementEndDate));
|
|
27
40
|
};
|
|
28
|
-
|
|
41
|
+
const getStatementUploadForView = (statementUpload, statementUpdateLocalData) => {
|
|
42
|
+
const parsedMeta = statementUpload.statementMeta;
|
|
43
|
+
const localMeta = statementUpdateLocalData?.statementMeta;
|
|
44
|
+
const effectiveMeta = localMeta ?? parsedMeta;
|
|
45
|
+
const statementPeriod = getEffectiveStatementPeriod(parsedMeta, localMeta);
|
|
46
|
+
return {
|
|
47
|
+
...statementUpload,
|
|
48
|
+
statementMeta: effectiveMeta,
|
|
49
|
+
statementTransactions: filterStatementTransactionsByPeriod(statementUpload.statementTransactions, statementPeriod),
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export const getParsedStatementDataForView = (parsedStatementData, statementUpdateLocalDataByUploadId, statementAccountScope) => {
|
|
29
53
|
if (parsedStatementData == null) {
|
|
30
54
|
return undefined;
|
|
31
55
|
}
|
|
56
|
+
const statementUploads = getStatementUploadsFromParsedData(parsedStatementData);
|
|
57
|
+
if (statementUploads.length === 0) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
if (statementAccountScope === 'multi_account') {
|
|
61
|
+
const viewedUploads = statementUploads.map((statementUpload) => {
|
|
62
|
+
const uploadId = statementUpload.statementMeta.statementUploadId;
|
|
63
|
+
return getStatementUploadForView(statementUpload, statementUpdateLocalDataByUploadId?.[uploadId]);
|
|
64
|
+
});
|
|
65
|
+
const anchorUploadId = parsedStatementData.statementUpload.statementMeta.statementUploadId;
|
|
66
|
+
const viewedAnchor = viewedUploads.find((upload) => upload.statementMeta.statementUploadId === anchorUploadId) ?? viewedUploads[0];
|
|
67
|
+
return {
|
|
68
|
+
statementUpload: viewedAnchor,
|
|
69
|
+
statementUploads: viewedUploads,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
32
72
|
const statementUpload = parsedStatementData.statementUpload;
|
|
33
73
|
if (statementUpload == null) {
|
|
34
74
|
return undefined;
|
|
35
75
|
}
|
|
36
|
-
const
|
|
37
|
-
const localMeta = statementUpdateLocalData?.statementMeta;
|
|
38
|
-
const effectiveMeta = localMeta ?? parsedMeta;
|
|
39
|
-
const statementPeriod = getEffectiveStatementPeriod(parsedMeta, localMeta);
|
|
76
|
+
const uploadId = statementUpload.statementMeta.statementUploadId;
|
|
40
77
|
return {
|
|
41
|
-
statementUpload:
|
|
42
|
-
...statementUpload,
|
|
43
|
-
statementMeta: effectiveMeta,
|
|
44
|
-
statementTransactions: filterStatementTransactionsByPeriod(statementUpload.statementTransactions, statementPeriod),
|
|
45
|
-
},
|
|
78
|
+
statementUpload: getStatementUploadForView(statementUpload, statementUpdateLocalDataByUploadId?.[uploadId]),
|
|
46
79
|
};
|
|
47
80
|
};
|
|
48
81
|
export const getStatementTransactionPeriodById = (allParsedTransactions, parsedMeta, localMeta) => {
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { stringToUnion } from '../../../commonStateTypes/stringToUnion';
|
|
1
|
+
import { stringToUnion, stringToUnionStrict, } from '../../../commonStateTypes/stringToUnion';
|
|
2
|
+
const ALL_STATEMENT_BALANCE_SOURCES = [
|
|
3
|
+
'ocr',
|
|
4
|
+
'prior_recon',
|
|
5
|
+
'default_zero',
|
|
6
|
+
];
|
|
7
|
+
export const toStatementBalanceSource = (v) => stringToUnion(v, ALL_STATEMENT_BALANCE_SOURCES);
|
|
8
|
+
export const toStatementBalanceSourceStrict = (v) => stringToUnionStrict(v ?? '', ALL_STATEMENT_BALANCE_SOURCES);
|
|
2
9
|
export function toReconciliationViewSummary(payload) {
|
|
3
10
|
return {
|
|
4
11
|
accounts: {
|
|
@@ -59,3 +66,10 @@ const RECON_REVIEW_SORT_KEYS = [
|
|
|
59
66
|
];
|
|
60
67
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
61
68
|
const toReconReviewSortKey = (v) => stringToUnion(v, RECON_REVIEW_SORT_KEYS);
|
|
69
|
+
const ALL_STATEMENT_ACCOUNT_SCOPES = [
|
|
70
|
+
'single_account',
|
|
71
|
+
'multi_account',
|
|
72
|
+
];
|
|
73
|
+
export const toStatementAccountScope = (v) => stringToUnion(v, ALL_STATEMENT_ACCOUNT_SCOPES);
|
|
74
|
+
export const toStatementAccountScopeStrict = (v) => stringToUnionStrict(v ?? '', ALL_STATEMENT_ACCOUNT_SCOPES);
|
|
75
|
+
export const STATEMENT_ACCOUNT_SCOPES = ALL_STATEMENT_ACCOUNT_SCOPES;
|
|
@@ -45,7 +45,6 @@ export const getCreateInvoiceFormView = (state) => {
|
|
|
45
45
|
.filter((subFamily) => (subFamily.name ?? '') !== '')
|
|
46
46
|
.map((subFamily) => ({
|
|
47
47
|
planName: plan.name ?? '',
|
|
48
|
-
price: subFamily.price?.amount,
|
|
49
48
|
subFamilyName: subFamily.name ?? '',
|
|
50
49
|
}))),
|
|
51
50
|
products: getInvoicingCatalogPrices(catalogListView.products),
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import recordGet from 'lodash/get';
|
|
2
2
|
import { getInvoicesByIds } from '../../../entity/invoicing/invoice/invoiceSelector';
|
|
3
|
-
import { getInvoicingCustomerById
|
|
3
|
+
import { getInvoicingCustomerById } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
4
4
|
import { getInvoicingPaymentLinkSendState, getInvoicingPaymentMethodSaveState, getInvoicingPlaidLinkToken, getInvoicingSentPaymentLinkEmail, getInvoicingSentPaymentLinkMagicUrl, getInvoicingSetupIntent, getInvoicingSetupIntentFetchState, } from '../customerPaymentMethod/customerPaymentMethodSelector';
|
|
5
5
|
import { isStripeConnectedFromSettings } from '../settingsView/invoicingSettingsHelpers';
|
|
6
6
|
import { getInvoicingSettings } from '../settingsView/settingsViewSelector';
|
|
@@ -8,11 +8,9 @@ export const getInvoicingCustomerDetail = (state, invoicingCustomerID) => {
|
|
|
8
8
|
const { invoicingCustomerState, invoicingCustomerDetailViewState } = state;
|
|
9
9
|
const invoicingCustomerDetail = recordGet(invoicingCustomerDetailViewState.detailById, invoicingCustomerID, undefined);
|
|
10
10
|
const settings = getInvoicingSettings(state);
|
|
11
|
-
const invoicingCustomer = getInvoicingCustomerById(invoicingCustomerState, invoicingCustomerID);
|
|
12
11
|
return {
|
|
13
|
-
invoicingCustomer,
|
|
12
|
+
invoicingCustomer: getInvoicingCustomerById(invoicingCustomerState, invoicingCustomerID),
|
|
14
13
|
invoices: getInvoicesByIds(state.invoicingInvoiceState, state.invoicingInvoiceListState.invoiceByTab[state.invoicingInvoiceListState.activeTab]?.invoiceIds ?? []),
|
|
15
|
-
paymentMethods: invoicingCustomerPaymentMethods(invoicingCustomer),
|
|
16
14
|
setupIntent: getInvoicingSetupIntent(state),
|
|
17
15
|
setupIntentFetchState: getInvoicingSetupIntentFetchState(state),
|
|
18
16
|
plaidLinkToken: getInvoicingPlaidLinkToken(state),
|
package/lib/index.d.ts
CHANGED
|
@@ -291,7 +291,7 @@ import { UploadStatementDocumentAIPayload, UploadStatementDocumentAIResponse } f
|
|
|
291
291
|
import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
|
|
292
292
|
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';
|
|
293
293
|
import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearBulkUploadBatchDetailsForScopeChange, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markBatchDetailRefreshAttempted, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, refreshBatchDetailsForBatchId, requestMissingReceiptsTabNavigation, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
|
|
294
|
-
import { clearStatementDateConflict, deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, parseStatement, parseStatementFailure, parseStatementSuccess, reparseStatement, reparseStatementFailure, reparseStatementSuccess, resetReparseStatementStatus, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, setStatementProcessingDismissedToBackground, submitStatementUpdate, 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, updateNodeCollapseState, updateParsedStatementData, updateStatementProcessingBackgroundCompletedSteps, updateStatementProcessingFailed, updateStatementUpdateLocalData, updateStatementUploadChosen, uploadAccountStatement } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
294
|
+
import { clearStatementDateConflict, confirmStatementMapping, deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, parseCombinedStatement, parseStatement, parseStatementFailure, parseStatementSuccess, reparseStatement, reparseStatementFailure, reparseStatementSuccess, resetReparseStatementStatus, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, setStatementProcessingDismissedToBackground, submitCombinedStatementUpdate, submitStatementUpdate, 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, updateNodeCollapseState, updateParsedStatementData, updateStatementProcessingBackgroundCompletedSteps, updateStatementProcessingFailed, updateStatementUpdateLocalData, updateStatementUploadChosen, uploadAccountStatement } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
295
295
|
import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markCategoryClassRecommendationsFailureForCategorization, markTransactionAsNotMiscategorized, removeTransactionFromAllTabs, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, updateTransactionFilters, uploadTransactionCategorizationReceiptSuccess } from './view/expenseAutomationView/reducers/transactionsViewReducer';
|
|
296
296
|
import { ExpenseAutomationStepDetails, ExpenseAutomationViewSelector } from './view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes';
|
|
297
297
|
import { ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView } from './view/expenseAutomationView/selectorTypes/fluxAnalysisViewSelectorTypes';
|
|
@@ -303,7 +303,7 @@ import { AccountReconSectionID, AccountReconciliationByAccount, AccountReconcili
|
|
|
303
303
|
import { ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView } from './view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes';
|
|
304
304
|
import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
|
|
305
305
|
import { JEScheduledTransactionWithFailedEntries } from './view/expenseAutomationView/selectors/jeSchedulesViewSelector';
|
|
306
|
-
import { getExpenseAutomationReconciliationView, getReparseStatementStatusByAccountId, isAccountReconReport } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
306
|
+
import { getExpenseAutomationReconciliationView, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, getUnavailableLedgerAccountIds, isAccountReconReport } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
307
307
|
import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
308
308
|
import { TRANSACTION_FILTER_CATEGORIES, TransactionFilterAmountMatchingOperator, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, applyTransactionFilters } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
309
309
|
import { CompletedSubTab, DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab } from './view/expenseAutomationView/types/completedSubTab';
|
|
@@ -311,7 +311,7 @@ import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSortKey,
|
|
|
311
311
|
import { AccountSettingsLocalData, JEScheduleMainTab as ExpenseAutomationJEScheduleMainTab, JEScheduleSortKey as ExpenseAutomationJEScheduleSortKey, JESchedulesViewUIState as ExpenseAutomationJESchedulesViewUIState, JEScheduleLocalData, toJEScheduleMainTab as toExpenseAutomationJEScheduleMainTab, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
312
312
|
import { BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, MatchCandidate, MatchSource, MissingReceiptsTab, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toMatchSource, toMissingReceiptsTab } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
313
313
|
import { MissingReceiptsSortKey as ExpenseAutomationMissingReceiptsSortKey, MissingReceiptsViewState as ExpenseAutomationMissingReceiptsViewState, MissingReceiptsViewUIState as ExpenseAutomationMissingReceiptsViewUIState, toMissingReceiptsSortKey as toExpenseAutomationMissingReceiptsSortKey } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
314
|
-
import { AccountReconciliationLocalData, ExcludeAccountFromReconciliationPayload, ReconciliationViewTabType as ExpenseAutomationReconciliationViewTab, ParsedStatementData, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReconcileTabLocalData, ReconciliationReviewTabLocalData, SaveReconcileDetailActionPayload as SaveExpenseAutomationReconciliationActionType, StatementDateConflict, StatementMeta, StatementTransaction, StatementTransactionForUpdate, StatementTransactionsUpdate, StatementUpdateLocalData, toReconciliationTabsType } from './view/expenseAutomationView/types/reconciliationViewState';
|
|
314
|
+
import { AccountReconciliationLocalData, CombinedStatementAccount, ExcludeAccountFromReconciliationPayload, ReconciliationViewTabType as ExpenseAutomationReconciliationViewTab, ParsedStatementData, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReconcileTabLocalData, ReconciliationReviewTabLocalData, SaveReconcileDetailActionPayload as SaveExpenseAutomationReconciliationActionType, StatementAccountScope, StatementDateConflict, StatementMeta, StatementTransaction, StatementTransactionForUpdate, StatementTransactionsUpdate, StatementUpdateLocalData, toReconciliationTabsType } from './view/expenseAutomationView/types/reconciliationViewState';
|
|
315
315
|
import { TransactionsTab as ExpenseAutomationTransactionsTab, TransactionsViewState as ExpenseAutomationTransactionsViewState, TransactionsViewUIState as ExpenseAutomationTransactionsViewUIState, SupportedTransactionCategorization, TransactionCategorizationLineItemData, TransactionReviewLocalData, TransactionsSortKey, TransactionsTab, toTransactionsTabKey as toExpenseAutomationTransactionsTabKey, toTransactionsSortKey } from './view/expenseAutomationView/types/transactionsViewState';
|
|
316
316
|
import { clearFeatureNotificationView, fetchRegisteredInterests, notifyMeForFeature } from './view/featureNotificationView/featureNotificationViewReducer';
|
|
317
317
|
import { getFeatureNotificationView, getRegisteredInterests, getRegisteredInterestsByFeature, isFeatureInterestRegistered } from './view/featureNotificationView/featureNotificationViewSelector';
|
|
@@ -701,7 +701,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
|
|
|
701
701
|
export { ClassesViewSelectorReportV2 };
|
|
702
702
|
export { BalancesTimeseries, TrendTimeseries, BalanceKind };
|
|
703
703
|
export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, MonthCloseCheckProgressJson, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
|
|
704
|
-
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, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleMainTab, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, toExpenseAutomationJEScheduleMainTab, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, 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, getReparseStatementStatusByAccountId, 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, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, UploadStatementDocumentAIPayload, updateStatementUploadChosen, submitStatementUpdate, clearStatementDateConflict, StatementDateConflict, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, ParsedStatementData, StatementUpdateLocalData, StatementMeta, StatementTransaction, StatementTransactionForUpdate, StatementTransactionsUpdate, };
|
|
704
|
+
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, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, ExpenseAutomationJEScheduleMainTab, ExpenseAutomationJEScheduleSortKey, ExpenseAutomationJESchedulesViewUIState, toExpenseAutomationJEScheduleMainTab, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, 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, 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, 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, };
|
|
705
705
|
export { JEScheduleLocalData };
|
|
706
706
|
export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, JEScheduledTransactionWithFailedEntries, };
|
|
707
707
|
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, };
|
|
@@ -1019,8 +1019,8 @@ export type { InvoicingCouponApplyOn, InvoicingCouponCode, InvoicingCouponDurati
|
|
|
1019
1019
|
export type { InvoicingCoupon } from './entity/invoicing/coupon/couponState';
|
|
1020
1020
|
export type { InvoicingCreditNote, InvoicingCreditNoteAllocation, InvoicingCreditNoteLineItem, } from './entity/invoicing/creditNote/creditNoteState';
|
|
1021
1021
|
export type { InvoicingCreditNoteStatus, InvoicingCreditNoteType, } from './entity/invoicing/creditNote/creditNotePayload';
|
|
1022
|
-
export type { InvoicingCustomer
|
|
1023
|
-
export type { InvoicingCustomerCounts, InvoicingCustomerPayload,
|
|
1022
|
+
export type { InvoicingCustomer } from './entity/invoicing/invoicingCustomer/invoicingCustomerState';
|
|
1023
|
+
export type { InvoicingCustomerCounts, InvoicingCustomerPayload, } from './entity/invoicing/invoicingCustomer/invoicingCustomerPayload';
|
|
1024
1024
|
export type { InvoicingDunningCase } from './entity/invoicing/dunningCase/dunningCaseState';
|
|
1025
1025
|
export type { InvoicingDunningStatus } from './entity/invoicing/dunningCase/dunningCasePayload';
|
|
1026
1026
|
export type { InvoicingInvoicePayload, InvoicingInvoiceDiscountPayload, InvoicingInvoiceStatus, } from './entity/invoicing/invoice/invoicePayload';
|
|
@@ -1041,7 +1041,7 @@ export type { StripeConnectCredentials } from './view/invoicing/settingsView/set
|
|
|
1041
1041
|
export { clearAllInvoices, removeInvoice, updateInvoices, } from './entity/invoicing/invoice/invoiceReducer';
|
|
1042
1042
|
export { getInvoiceById, getInvoicesByIds, } from './entity/invoicing/invoice/invoiceSelector';
|
|
1043
1043
|
export { clearInvoiceList, fetchInvoiceCounts, fetchInvoiceKPIs, fetchInvoiceList, fetchInvoiceListPage, setInvoiceActiveTab, updateInvoiceListFilters, } from './view/invoicing/invoiceList/invoiceListReducer';
|
|
1044
|
-
export { ALL_INVOICING_INVOICE_TAB_IDS } from './view/invoicing/invoiceList/invoiceListState';
|
|
1044
|
+
export { ALL_INVOICING_INVOICE_TAB_IDS, } from './view/invoicing/invoiceList/invoiceListState';
|
|
1045
1045
|
export type { InvoiceListFilters, InvoiceListState, InvoicingInvoiceTabId, } from './view/invoicing/invoiceList/invoiceListState';
|
|
1046
1046
|
export { getInvoiceListView } from './view/invoicing/invoiceList/invoiceListSelector';
|
|
1047
1047
|
export type { InvoiceListView } from './view/invoicing/invoiceList/invoiceListSelector';
|
|
@@ -1057,7 +1057,7 @@ export { initializeIssueCreditNoteDraft, issueCreditNoteFailure, issueCreditNote
|
|
|
1057
1057
|
export type { IssueCreditNoteRequest, IssueCreditNoteResponse, CreateCreditNoteRequest, CreateCreditNoteResponse, } from './view/invoicing/issueCreditNote/issueCreditNotePayload';
|
|
1058
1058
|
export { computeIssueCreditNoteTotal, initializeIssueCreditNoteDraftFromInvoice, localDataToIssueCreditNotePayload, } from './view/invoicing/issueCreditNote/issueCreditNotePayload';
|
|
1059
1059
|
export type { IssueCreditNoteFormLocalData, IssueCreditNoteLineItemDraft, } from './view/invoicing/issueCreditNote/issueCreditNoteState';
|
|
1060
|
-
export { initialIssueCreditNoteFormLocalData } from './view/invoicing/issueCreditNote/issueCreditNoteFormConfig';
|
|
1060
|
+
export { initialIssueCreditNoteFormLocalData, } from './view/invoicing/issueCreditNote/issueCreditNoteFormConfig';
|
|
1061
1061
|
export { getIssueCreditNoteView } from './view/invoicing/issueCreditNote/issueCreditNoteSelector';
|
|
1062
1062
|
export type { IssueCreditNoteView } from './view/invoicing/issueCreditNote/issueCreditNoteSelector';
|
|
1063
1063
|
export { createCreditNoteFailure, createCreditNoteSuccess, resetCreateCreditNote, submitCreateCreditNote, updateCreateCreditNoteFormDraft, } from './view/invoicing/createCreditNote/createCreditNoteReducer';
|
|
@@ -1069,7 +1069,7 @@ export type { CreateCreditNoteFormView, InvoicingCreateCreditNoteView, } from '.
|
|
|
1069
1069
|
export type { InvoiceRecordPaymentRequest, RecordPaymentLinkedInvoice, RecordPaymentRequest, } from './view/invoicing/recordPayment/recordPaymentPayload';
|
|
1070
1070
|
export { initializeRecordPaymentDraftFromInvoice, localDataToInvoiceRecordPaymentBody, localDataToRecordPaymentPayload, } from './view/invoicing/recordPayment/recordPaymentPayload';
|
|
1071
1071
|
export type { RecordPaymentFormLocalData } from './view/invoicing/recordPayment/recordPaymentState';
|
|
1072
|
-
export { initialRecordPaymentFormLocalData } from './view/invoicing/recordPayment/recordPaymentFormConfig';
|
|
1072
|
+
export { initialRecordPaymentFormLocalData, } from './view/invoicing/recordPayment/recordPaymentFormConfig';
|
|
1073
1073
|
export { clearInvoicingOverview, fetchInvoicingOverview, } from './view/invoicing/invoicingOverview/invoicingOverviewReducer';
|
|
1074
1074
|
export type { InvoicingOverviewData, InvoicingOverviewPeriod, } from './view/invoicing/invoicingOverview/invoicingOverviewState';
|
|
1075
1075
|
export { buildPeriodOptions, getInvoicingOverview, } from './view/invoicing/invoicingOverview/invoicingOverviewSelector';
|