@zeniai/client-epic-state 4.19.80 → 4.19.81-beta1ND

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.
Files changed (41) hide show
  1. package/lib/entity/account/accountPayload.d.ts +2 -0
  2. package/lib/entity/account/accountPayload.js +2 -0
  3. package/lib/entity/account/accountState.d.ts +2 -0
  4. package/lib/entity/company/companyPayload.d.ts +1 -0
  5. package/lib/entity/company/companyPayload.js +1 -0
  6. package/lib/entity/company/companyStateTypes.d.ts +1 -0
  7. package/lib/esm/entity/account/accountPayload.js +2 -0
  8. package/lib/esm/entity/company/companyPayload.js +1 -0
  9. package/lib/esm/index.js +4 -2
  10. package/lib/esm/view/companyView/epic/companyPassport/updateCompanyDetailsEpic.js +3 -0
  11. package/lib/esm/view/companyView/types/companyPassport/companyPassportLocalData.js +1 -0
  12. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.js +22 -0
  13. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +20 -1
  14. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +2 -1
  15. package/lib/esm/view/expenseAutomationView/types/transactionsViewState.js +1 -0
  16. package/lib/esm/view/spendManagement/commonSetup/epic/setup/updateBusinessVerificationDetailsEpic.js +4 -1
  17. package/lib/esm/view/spendManagement/commonSetup/epic/setup/updateSetupViewLocalStoreDataEpic.js +2 -1
  18. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +2 -1
  19. package/lib/esm/view/spendManagement/commonSetup/types/businessVerification.js +148 -1
  20. package/lib/index.d.ts +5 -2
  21. package/lib/index.js +41 -31
  22. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  23. package/lib/view/companyView/epic/companyPassport/updateCompanyDetailsEpic.js +3 -0
  24. package/lib/view/companyView/types/companyPassport/companyDetailsLocalData.d.ts +1 -0
  25. package/lib/view/companyView/types/companyPassport/companyPassportLocalData.js +1 -0
  26. package/lib/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.d.ts +7 -0
  27. package/lib/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.js +26 -0
  28. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +11 -3
  29. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -2
  30. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +1 -0
  31. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +2 -1
  32. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -1
  33. package/lib/view/expenseAutomationView/types/transactionsViewState.js +1 -0
  34. package/lib/view/spendManagement/commonSetup/epic/setup/updateBusinessVerificationDetailsEpic.js +4 -1
  35. package/lib/view/spendManagement/commonSetup/epic/setup/updateSetupViewLocalStoreDataEpic.js +2 -1
  36. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +1 -0
  37. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +2 -1
  38. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +1 -0
  39. package/lib/view/spendManagement/commonSetup/types/businessVerification.d.ts +33 -3
  40. package/lib/view/spendManagement/commonSetup/types/businessVerification.js +150 -0
  41. package/package.json +1 -1
@@ -16,6 +16,8 @@ export interface AccountBasePayload {
16
16
  is_deleted?: boolean | null;
17
17
  last_4_digits?: string | null;
18
18
  logo?: URLPayload;
19
+ payment_account_id?: string | null;
20
+ payment_account_name?: string | null;
19
21
  qbo_id?: string;
20
22
  reconciliation_source?: string | null;
21
23
  tax_1099_config?: Tax1099ConfigPayload | null;
@@ -13,6 +13,8 @@ const mapAccountBasePayloadToAccountBase = (payload) => ({
13
13
  accountDescription: payload.account_description ?? '',
14
14
  last4Digits: payload.last_4_digits ?? undefined,
15
15
  logo: payload.logo == null ? undefined : (0, urlPayload_1.toURL)(payload.logo),
16
+ paymentAccountId: payload.payment_account_id ?? undefined,
17
+ paymentAccountName: payload.payment_account_name ?? undefined,
16
18
  qboId: payload.qbo_id ?? undefined,
17
19
  coaId: payload.coa_id ?? undefined,
18
20
  labels: toAccountLabelArray(payload.labels ?? []),
@@ -43,6 +43,8 @@ export interface AccountBase {
43
43
  isPreFilled?: boolean;
44
44
  last4Digits?: string;
45
45
  logo?: ZeniUrl;
46
+ paymentAccountId?: string;
47
+ paymentAccountName?: string;
46
48
  qboId?: ID;
47
49
  reconciliationSource?: ReconciliationAccountSourceType;
48
50
  tax1099Config?: Tax1099Config;
@@ -48,6 +48,7 @@ export interface CompanyIncInfoPayload {
48
48
  company_inc_state_code: string | null;
49
49
  company_inc_type: string | null;
50
50
  company_industry_sub_type?: string | null;
51
+ company_industry_type?: string | null;
51
52
  file_ids?: ID[] | null;
52
53
  }
53
54
  export interface CompanyTaxInfoPayload {
@@ -76,6 +76,7 @@ const toCompanyIncInfo = (payload) => ({
76
76
  companyIncCountryCode: payload.company_inc_country_code ?? undefined,
77
77
  fileIds: payload.file_ids ?? [],
78
78
  companySubIndustry: payload.company_industry_sub_type ?? undefined,
79
+ companyIndustryType: payload.company_industry_type ?? undefined,
79
80
  });
80
81
  const toCompanyTaxInfo = (payload) => ({
81
82
  taxesFiledDate: payload.taxes_filed_date != null
@@ -61,6 +61,7 @@ export interface CompanyIncInfo {
61
61
  companyIncState?: string;
62
62
  companyIncStateCode?: string;
63
63
  companyIncType?: string;
64
+ companyIndustryType?: string;
64
65
  companySubIndustry?: string;
65
66
  }
66
67
  export interface CompanyTaxInfo {
@@ -10,6 +10,8 @@ export const mapAccountBasePayloadToAccountBase = (payload) => ({
10
10
  accountDescription: payload.account_description ?? '',
11
11
  last4Digits: payload.last_4_digits ?? undefined,
12
12
  logo: payload.logo == null ? undefined : toURL(payload.logo),
13
+ paymentAccountId: payload.payment_account_id ?? undefined,
14
+ paymentAccountName: payload.payment_account_name ?? undefined,
13
15
  qboId: payload.qbo_id ?? undefined,
14
16
  coaId: payload.coa_id ?? undefined,
15
17
  labels: toAccountLabelArray(payload.labels ?? []),
@@ -73,6 +73,7 @@ const toCompanyIncInfo = (payload) => ({
73
73
  companyIncCountryCode: payload.company_inc_country_code ?? undefined,
74
74
  fileIds: payload.file_ids ?? [],
75
75
  companySubIndustry: payload.company_industry_sub_type ?? undefined,
76
+ companyIndustryType: payload.company_industry_type ?? undefined,
76
77
  });
77
78
  const toCompanyTaxInfo = (payload) => ({
78
79
  taxesFiledDate: payload.taxes_filed_date != null
package/lib/esm/index.js CHANGED
@@ -165,7 +165,7 @@ import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFl
165
165
  import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
166
166
  import { fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess, } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
167
167
  import { deleteAccountStatement, fetchReconciliation as fetchReconciliationView, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
168
- import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
168
+ import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
169
169
  import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
170
170
  import { getExpenseAutomationReconciliationView, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
171
171
  import { getExpenseAutomationTransactionView } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
@@ -300,6 +300,7 @@ import { fetchDepositAccountListForCards, fetchIssueCardPage, issueChargeCards,
300
300
  import { getIssueChargeCardView, } from './view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector';
301
301
  import { clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, } from './view/spendManagement/commonSetup/setupViewReducer';
302
302
  import { getBusinessVerificationDetails, getCommonSetupViewDetails, } from './view/spendManagement/commonSetup/setupViewSelector';
303
+ import { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, getCompanyOnboardingSubIndustryCodesForIndustry, } from './view/spendManagement/commonSetup/types/businessVerification';
303
304
  import { checkIfLowBalance, getActualPaymentDate, getBillListUniqueType, getBulkOperationSuffix, getRemiListUniqueType, getSelectedCompanyOfficer, getSpendManagementEffectiveListPeriod, isAwaitingMarkAsPaid, isBulkProcessing, isPaymentMethodOutsideZeni, isVerifiedPaymentAccountProviderStatusCode, isVerifiedStatusCode, showBillPayPromoPage, showReimbursementPromoPage, toAccountsPromoConfig, toSameDayAchDisablementConfig, } from './view/spendManagement/helpers';
304
305
  import { establishPlaidConnection, getPaymentAccounts, getPlaidLinkToken, updateMappedCashAccount, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, updatePrimaryFundingAccount, } from './view/spendManagement/plaidAccount/plaidAccountViewReducer';
305
306
  import { getPlaidAccountDetails } from './view/spendManagement/plaidAccount/plaidAccountViewSelector';
@@ -414,7 +415,7 @@ export { newBalancesFilterClassesView };
414
415
  export { toCOABalanceTypeStrict, toCOABalanceType as toCOABlanaceType, isCalculatedBalanceType, };
415
416
  export { stringToUnion, stringToUnionStrict };
416
417
  export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, getMonthEndCloseChecksViewByTenantId, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, };
417
- export { getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
418
+ export { getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
418
419
  export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
419
420
  export { TOP_EX_TIME_PERIODS };
420
421
  export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsoluteDay, toMonthYearPeriodId, convertToPeriod, };
@@ -504,6 +505,7 @@ export { ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsIDStric
504
505
  export { isAllowedValueWithCode, isAllowedValueWithID, };
505
506
  export { fetchCompanyPassportView, getCompanyPassportView, getCompanyPassportLocalStoreData, isCompanyPassportDataToBeSaved, companyPassportSaveDataInLocalStore, saveIndustryAndIncDateInCompanyPassportLocalStore, deleteCompanyOfficerInLocalStore, companyPassportClearDataInLocalStore, updateCompanyPassportLocalStoreData, saveCompanyPassportDetails, clearCompanyView, };
506
507
  export { toCompanyPassportLocalData, };
508
+ export { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, getCompanyOnboardingSubIndustryCodesForIndustry, };
507
509
  export { getUncategorizedAccounts, getNestedAccountListHierarchy, };
508
510
  export { getBankAccount };
509
511
  // TODO - remove alias and replace types across all repos
@@ -12,6 +12,9 @@ export const updateCompanyDetailsEpic = (actions$, state$, zeniAPI) => actions$.
12
12
  ...toCompanyIncInfoUpdatableInfoPayload(companyDetails.incInfo),
13
13
  ...toCompanyTaxInfoUpdatableInfoPayload(companyDetails.taxDetails),
14
14
  ...toCompanyFileInfoPayload(companyDetails.incInfo, companyDetails.taxDetails),
15
+ ...(companyDetails.companyInfo.companyIndustryType != null && {
16
+ company_industry_type: companyDetails.companyInfo.companyIndustryType,
17
+ }),
15
18
  ...(companyDetails.companyInfo.companySubIndustry != null && {
16
19
  company_industry_sub_type: companyDetails.companyInfo.companySubIndustry,
17
20
  }),
@@ -10,6 +10,7 @@ export function toCompanyPassportLocalData(companyView, companyFiles) {
10
10
  website: companyInfo.companyUrl,
11
11
  meetingLink: companyInfo.meetingUrl,
12
12
  industry: companyQuestionaire.companyIndustry,
13
+ companyIndustryType: incInfo.companyIndustryType,
13
14
  companySubIndustry: incInfo.companySubIndustry,
14
15
  businessModel: companyQuestionaire.companyBusinessModel ?? '',
15
16
  phone: companyInfo.phone ?? '',
@@ -0,0 +1,22 @@
1
+ import { from } from 'rxjs';
2
+ import { filter, mergeMap } from 'rxjs/operators';
3
+ import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
4
+ import { updateTransaction } from '../../../../entity/transaction/transactionReducer';
5
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
6
+ import { uploadTransactionCategorizationReceiptSuccess } from '../../reducers/transactionsViewReducer';
7
+ export const uploadTransactionReceiptSuccessEpic = (actions$, state$) => actions$.pipe(filter(uploadTransactionCategorizationReceiptSuccess.match), mergeMap((action) => {
8
+ const { transactionPayload, updateType } = action.payload;
9
+ const updateActions = [];
10
+ const currentTenant = getCurrentTenant(state$.value);
11
+ const selectedPeriodByTenantId = state$.value.expenseAutomationViewState.selectedPeriodByTenantId;
12
+ updateActions.push(updateTransaction(transactionPayload.transaction_id, transactionPayload, updateType));
13
+ if (currentTenant != null) {
14
+ const monthEndChecksPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
15
+ updateActions.push(fetchMonthEndCloseChecks({
16
+ tenantId: currentTenant.tenantId,
17
+ period: monthEndChecksPeriod,
18
+ refreshViewInBackground: true,
19
+ }));
20
+ }
21
+ return from(updateActions);
22
+ }));
@@ -36,6 +36,7 @@ export const initialTransactionTabViewState = {
36
36
  transactionIdsBySelectedPeriod: {},
37
37
  selectedCheckBoxTransactionIds: [],
38
38
  transactionIdsWithUnsavedData: [],
39
+ uploadReceiptStatusById: {},
39
40
  selectedTransactionId: undefined,
40
41
  selectedTransactionLineId: undefined,
41
42
  };
@@ -699,6 +700,24 @@ const expenseAutomationTransactionsView = createSlice({
699
700
  clearExpenseAutomationTransactionsView(draft) {
700
701
  Object.assign(draft, initialState);
701
702
  },
703
+ updateTransactionCategorizationUploadReceiptState: {
704
+ reducer(draft, action) {
705
+ const { transactionId, fetchStatus, selectedTab } = action.payload;
706
+ draft.transactionCategorizationView[selectedTab].uploadReceiptStatusById[transactionId] = fetchStatus;
707
+ },
708
+ prepare(selectedTab, transactionId, fetchStatus) {
709
+ return { payload: { selectedTab, transactionId, fetchStatus } };
710
+ },
711
+ },
712
+ uploadTransactionCategorizationReceiptSuccess: {
713
+ reducer(draft, action) {
714
+ const { transactionPayload, selectedTab } = action.payload;
715
+ draft.transactionCategorizationView[selectedTab].uploadReceiptStatusById[transactionPayload.transaction_id] = { fetchState: 'Completed', error: undefined };
716
+ },
717
+ prepare(selectedTab, transactionPayload, updateType = 'merge') {
718
+ return { payload: { selectedTab, transactionPayload, updateType } };
719
+ },
720
+ },
702
721
  syncTransactionCategorizationFromDetailSave: {
703
722
  prepare(transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled) {
704
723
  return {
@@ -770,5 +789,5 @@ const expenseAutomationTransactionsView = createSlice({
770
789
  },
771
790
  },
772
791
  });
773
- export const { fetchTransactionCategorization, updateTransactionCategorizationUIState, initializeTransactionCategorizationViewLocalData, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateStatusForTransactionNotMiscategorizedUpdateForCategorization, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, setAllItemsToCategoryClassInLocalDataForCategorization, updateTotalCountForTransactionCategorization, fetchTransactionCategorizationSuccess, resetOtherTabsFetchState, fetchTransactionCategorizationView, updateSelectedCheckboxTransactionIds, clearExpenseAutomationTransactionsViewPerTabView, clearExpenseAutomationTransactionsView, setEntityRecommendationForLineIdsForCategorization, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, } = expenseAutomationTransactionsView.actions;
792
+ export const { fetchTransactionCategorization, updateTransactionCategorizationUIState, initializeTransactionCategorizationViewLocalData, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateStatusForTransactionNotMiscategorizedUpdateForCategorization, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, setAllItemsToCategoryClassInLocalDataForCategorization, updateTotalCountForTransactionCategorization, fetchTransactionCategorizationSuccess, resetOtherTabsFetchState, fetchTransactionCategorizationView, updateSelectedCheckboxTransactionIds, clearExpenseAutomationTransactionsViewPerTabView, clearExpenseAutomationTransactionsView, setEntityRecommendationForLineIdsForCategorization, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } = expenseAutomationTransactionsView.actions;
774
793
  export default expenseAutomationTransactionsView.reducer;
@@ -10,7 +10,7 @@ import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes
10
10
  export function getExpenseAutomationTransactionView(state) {
11
11
  const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, } = state;
12
12
  const { selectedTransactionCategorizationTab } = expenseAutomationTransactionsViewState;
13
- const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
13
+ const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, uploadReceiptStatusById, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
14
14
  const uncategorizedIncomeExpense = getUncategorizedAccounts(accountState, accountListState, 'accountList');
15
15
  const accountList = getAccountList(accountState, accountListState, 'accountList');
16
16
  const classList = getClassList(classState, classListState);
@@ -94,6 +94,7 @@ export function getExpenseAutomationTransactionView(state) {
94
94
  completionStatus,
95
95
  totalCountByTab,
96
96
  fetchStateByTransactionTabs: fetchStateByTab,
97
+ uploadReceiptStatusById,
97
98
  selectedTransactionId,
98
99
  selectedTransactionLineId,
99
100
  };
@@ -4,6 +4,7 @@ const TRANSACTIONS_SORT_KEYS = [
4
4
  'vendor',
5
5
  'amount',
6
6
  'transaction_type',
7
+ 'payment_account',
7
8
  'date',
8
9
  'category',
9
10
  'class',
@@ -136,7 +136,7 @@ function toUsNexusTypeKey(value) {
136
136
  return US_NEXUS_LABEL_TO_KEY[value] ?? value;
137
137
  }
138
138
  export const toBusinessVerificationCompanyDataPayload = (companyLocalData, sendForVerification, companyAddressData, registeredAddressData, setupViewType) => {
139
- const { companyDescription, companyLegalName, companyIndustry, companySubIndustry, countriesOfOperations, companySourceOfFunds, companySourceOfFundsDescription, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, usNexus, usNexusTypes, website, incDate, taxIdOrEIN, phone, syncToken, fileIds, typeOfIncorporation, stateOfIncorporation, sourceOfFunds, } = companyLocalData;
139
+ const { companyDescription, companyLegalName, companyIndustry, companyIndustryType, companySubIndustry, countriesOfOperations, companySourceOfFunds, companySourceOfFundsDescription, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, usNexus, usNexusTypes, website, incDate, taxIdOrEIN, phone, syncToken, fileIds, typeOfIncorporation, stateOfIncorporation, sourceOfFunds, } = companyLocalData;
140
140
  const company = {
141
141
  is_ready_for_verification: sendForVerification,
142
142
  file_ids: fileIds,
@@ -194,6 +194,9 @@ export const toBusinessVerificationCompanyDataPayload = (companyLocalData, sendF
194
194
  company['company_industry'] = companyIndustry;
195
195
  }
196
196
  Object.assign(company, {
197
+ ...(companyIndustryType != null && {
198
+ company_industry_type: companyIndustryType,
199
+ }),
197
200
  ...(companySubIndustry != null && {
198
201
  company_industry_sub_type: companySubIndustry,
199
202
  }),
@@ -45,13 +45,14 @@ export function toSetupViewLocalData(company, users, userRoles, primaryContact)
45
45
  const { companyInfo, incInfo, taxInfo, questionaire, companyBillPayInfo } = company;
46
46
  const { companyId, companyDescription, companyLegalName, companyUrl, phone, syncToken, sourceOfFunds, companySourceOfFunds: incCompanySourceOfFunds, companySourceOfFundsDescription, countriesOfOperations, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, usNexus, usNexusTypes, } = companyInfo;
47
47
  const { usersSelectedForVerification: usersSelected } = companyBillPayInfo;
48
- const { fileIds, companyIncDate: incDate, companyIncType, companyIncState, companySubIndustry, } = incInfo;
48
+ const { fileIds, companyIncDate: incDate, companyIncType, companyIncState, companySubIndustry, companyIndustryType, } = incInfo;
49
49
  const { companyIndustry } = questionaire;
50
50
  const { taxId } = taxInfo;
51
51
  const companyDetails = {
52
52
  companyId,
53
53
  companyDescription,
54
54
  companyIndustry,
55
+ companyIndustryType,
55
56
  companyLegalName,
56
57
  companySubIndustry,
57
58
  companySourceOfFunds: incCompanySourceOfFunds,
@@ -109,7 +109,7 @@ export const getCompanyAndIdentityDetails = (state, companyId, companyAndIdentit
109
109
  if (companyDetails.localData != null) {
110
110
  const deleteFileStatusById = {};
111
111
  const updateFileStatusById = {};
112
- const { syncToken, companyDescription, companyLegalName, website, companyIndustry, companySubIndustry, companySourceOfFunds, companySourceOfFundsDescription, countriesOfOperations, phone, taxIdOrEIN, incDate, fileIds, typeOfIncorporation, sourceOfFunds, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, stateOfIncorporation, usNexus, usNexusTypes, } = companyDetails.localData;
112
+ const { syncToken, companyDescription, companyLegalName, website, companyIndustry, companyIndustryType, companySubIndustry, companySourceOfFunds, companySourceOfFundsDescription, countriesOfOperations, phone, taxIdOrEIN, incDate, fileIds, typeOfIncorporation, sourceOfFunds, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, stateOfIncorporation, usNexus, usNexusTypes, } = companyDetails.localData;
113
113
  fileIds.forEach((fileId) => {
114
114
  deleteFileStatusById[fileId] = getFileDeleteStatusById(state, fileId);
115
115
  });
@@ -123,6 +123,7 @@ export const getCompanyAndIdentityDetails = (state, companyId, companyAndIdentit
123
123
  companyDescription,
124
124
  companyLegalName,
125
125
  companyIndustry,
126
+ companyIndustryType,
126
127
  companySubIndustry,
127
128
  companySourceOfFunds,
128
129
  companySourceOfFundsDescription,
@@ -1 +1,148 @@
1
- export {};
1
+ export const COMPANY_TRANSACTION_VOLUME_CODES = [
2
+ 'less_than_10000',
3
+ '10000_50000',
4
+ '50001_250000',
5
+ '250001_1000000',
6
+ '1000001_2000000',
7
+ 'over_2000000',
8
+ ];
9
+ export const COMPANY_SOURCE_OF_FUNDS_CODES = [
10
+ 'sales_of_goods',
11
+ 'sales_of_services',
12
+ 'customer_payments',
13
+ 'investment_capital',
14
+ 'business_loans',
15
+ 'owner_contributions',
16
+ 'franchise_revenue',
17
+ 'rental_income',
18
+ 'government_contracts_grants',
19
+ 'donations_fundraising',
20
+ 'membership_fees_subscriptions',
21
+ 'licensing_royalties',
22
+ 'commission_income',
23
+ 'import_export_revenue',
24
+ 'cryptocurrency_activity',
25
+ ];
26
+ export const COMPANY_PURPOSE_OF_ACCOUNT_CODES = [
27
+ 'retail_sales',
28
+ 'ecommerce_sales',
29
+ 'cash_heavy_operations',
30
+ 'import_export_trade',
31
+ 'professional_services_not_handling_funds',
32
+ 'professional_services_handling_funds',
33
+ 'holding_investment_company',
34
+ 'property_management_real_estate',
35
+ 'charitable_nonprofit',
36
+ 'construction_contracting',
37
+ 'commercial_cash_operations',
38
+ 'freight_forwarding_logistics',
39
+ 'third_party_payment_processing',
40
+ 'technology_startup',
41
+ 'wholesale_distribution',
42
+ 'franchise_operation',
43
+ 'healthcare_provider',
44
+ 'educational_institution',
45
+ ];
46
+ /** Keys for company_us_nexus_desc / form usNexusTypes (labels from usNexusOptions in app locale). */
47
+ export const COMPANY_US_NEXUS_TYPE_CODES = [
48
+ 'employees',
49
+ 'customers',
50
+ 'physical_office',
51
+ 'banking_relationships',
52
+ ];
53
+ /** Industry type codes for onboarding / business verification (paired with sub-industry). */
54
+ export const COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES = [
55
+ 'retail_consumer_goods',
56
+ 'financial_services',
57
+ 'food_agriculture',
58
+ 'healthcare_pharmaceuticals',
59
+ 'professional_services',
60
+ 'manufacturing_industrial',
61
+ 'real_estate_construction',
62
+ 'logistics_transportation',
63
+ 'wholesale_trade',
64
+ 'business_support_services',
65
+ 'escort_dating_adult_entertainment',
66
+ ];
67
+ export const COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY = {
68
+ retail_consumer_goods: [
69
+ 'grocery_stores_supermarkets',
70
+ 'convenience_stores',
71
+ 'specialty_food_retailers',
72
+ 'gas_stations_retail',
73
+ 'general_merchandise_department',
74
+ 'online_retail_ecommerce',
75
+ 'subscription_membership',
76
+ 'direct_to_consumer',
77
+ 'cannabis',
78
+ ],
79
+ financial_services: [
80
+ 'banks_credit_unions',
81
+ 'fintech_payment_processing',
82
+ 'insurance_providers',
83
+ 'investment_advisors_broker',
84
+ 'lending_mortgage',
85
+ 'treasury_management',
86
+ 'personal_finance_apps',
87
+ 'retirement_planning',
88
+ 'real_estate_investment',
89
+ 'money_service_businesses',
90
+ 'cryptocurrency',
91
+ 'debt_collection',
92
+ 'payday_lending',
93
+ 'gambling',
94
+ ],
95
+ food_agriculture: [
96
+ 'farms_agricultural',
97
+ 'food_wholesalers_distributors',
98
+ 'restaurants_cafes',
99
+ 'bars_nightclubs',
100
+ 'catering_services',
101
+ 'farmers_markets',
102
+ 'restaurant_tech_pos',
103
+ ],
104
+ healthcare_pharmaceuticals: [
105
+ 'hospitals_clinics',
106
+ 'pharmacies',
107
+ 'medical_equipment',
108
+ 'biotechnology',
109
+ 'home_health',
110
+ 'healthcare_staffing',
111
+ 'wellness_benefits',
112
+ 'healthcare_social_assistance',
113
+ ],
114
+ professional_services: [
115
+ 'legal_services',
116
+ 'accounting_auditing',
117
+ 'consulting_firms',
118
+ 'marketing_advertising',
119
+ 'real_estate_agents_property',
120
+ 'corporate_services_incorporation',
121
+ 'hr_workforce_management',
122
+ 'direct_marketing_telemarketing',
123
+ 'legal_accounting_consulting_programming',
124
+ ],
125
+ manufacturing_industrial: [
126
+ 'chemical_manufacturing',
127
+ 'electronics_hardware',
128
+ 'automotive_manufacturing',
129
+ 'construction_materials',
130
+ 'textiles_apparel',
131
+ 'mining',
132
+ ],
133
+ real_estate_construction: ['real_estate', 'construction'],
134
+ logistics_transportation: ['transportation_warehousing'],
135
+ wholesale_trade: ['wholesale_trade'],
136
+ business_support_services: ['business_support_building'],
137
+ escort_dating_adult_entertainment: [
138
+ 'escort_services',
139
+ 'dating_adult_entertainment',
140
+ ],
141
+ };
142
+ export function getCompanyOnboardingSubIndustryCodesForIndustry(industryTypeCode) {
143
+ if (industryTypeCode == null || industryTypeCode === '') {
144
+ return [];
145
+ }
146
+ const row = COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY[industryTypeCode];
147
+ return row != null ? [...row] : [];
148
+ }
package/lib/index.d.ts CHANGED
@@ -267,7 +267,7 @@ import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFl
267
267
  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, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
268
268
  import { fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
269
269
  import { deleteAccountStatement, fetchReconciliation as fetchReconciliationView, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateStatementUploadChosen, uploadAccountStatement } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
270
- import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState } from './view/expenseAutomationView/reducers/transactionsViewReducer';
270
+ import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess } from './view/expenseAutomationView/reducers/transactionsViewReducer';
271
271
  import { ExpenseAutomationStepDetails, ExpenseAutomationViewSelector } from './view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes';
272
272
  import { ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView } from './view/expenseAutomationView/selectorTypes/fluxAnalysisViewSelectorTypes';
273
273
  import { JEAccountSettingsView } from './view/expenseAutomationView/selectorTypes/jeAccountSettingsViewSelectorTypes';
@@ -456,6 +456,7 @@ import { ActivityHistorySelectorView } from './view/spendManagement/commonHistor
456
456
  import { clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData } from './view/spendManagement/commonSetup/setupViewReducer';
457
457
  import { BusinessVerificationDetails, CompanyDetails, CompanyOfficersDetails, FundingAccount, SetupView, getBusinessVerificationDetails, getCommonSetupViewDetails } from './view/spendManagement/commonSetup/setupViewSelector';
458
458
  import { SetupViewLocalData, SetupViewState } from './view/spendManagement/commonSetup/setupViewState';
459
+ import { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, CompanyOnboardingIndustryTypeCode, CompanyOnboardingSubIndustryTypeCode, CompanyPurposeOfAccountCode, CompanySourceOfFundsCode, CompanyTransactionVolumeCode, CompanyUsNexusTypeCode, getCompanyOnboardingSubIndustryCodesForIndustry } from './view/spendManagement/commonSetup/types/businessVerification';
459
460
  import { BulkOperationFinishedType, BulkOperationType, SameDayAchDisablementConfig, ZeniAccountsPromoConfig, checkIfLowBalance, getActualPaymentDate, getBillListUniqueType, getBulkOperationSuffix, getRemiListUniqueType, getSelectedCompanyOfficer, getSpendManagementEffectiveListPeriod, isAwaitingMarkAsPaid, isBulkProcessing, isPaymentMethodOutsideZeni, isVerifiedPaymentAccountProviderStatusCode, isVerifiedStatusCode, showBillPayPromoPage, showReimbursementPromoPage, toAccountsPromoConfig, toSameDayAchDisablementConfig } from './view/spendManagement/helpers';
460
461
  import { establishPlaidConnection, getPaymentAccounts, getPlaidLinkToken, updateMappedCashAccount, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, updatePrimaryFundingAccount } from './view/spendManagement/plaidAccount/plaidAccountViewReducer';
461
462
  import { getPlaidAccountDetails } from './view/spendManagement/plaidAccount/plaidAccountViewSelector';
@@ -620,7 +621,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
620
621
  export { ClassesViewSelectorReportV2 };
621
622
  export { BalancesTimeseries, TrendTimeseries, BalanceKind };
622
623
  export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
623
- export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, getExpenseAutomationFluxAnalysisView, FluxAnalysisSortKey, FluxAnalysisActionType, FluxBalancesByMonth, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, ReconReconcileSortKey, ReconciliationReconcileTabLocalData, FluxAnalysisReviewStatus, updateFluxAnalysisViewUIState, FluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, SaveExpenseAutomationReconciliationActionType, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector, getExpenseAutomationReconciliationView, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, UploadStatementDocumentAIPayload, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
624
+ export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, getExpenseAutomationFluxAnalysisView, FluxAnalysisSortKey, FluxAnalysisActionType, FluxBalancesByMonth, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, ReconReconcileSortKey, ReconciliationReconcileTabLocalData, FluxAnalysisReviewStatus, updateFluxAnalysisViewUIState, FluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, SaveExpenseAutomationReconciliationActionType, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector, getExpenseAutomationReconciliationView, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, UploadStatementDocumentAIPayload, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
624
625
  export { JEScheduleLocalData };
625
626
  export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, JEScheduledTransactionWithFailedEntries, };
626
627
  export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, TransactionsSortKey, toTransactionsSortKey, TransactionsTab, TransactionCategorizationLineItemData, TransactionReviewLocalData, SupportedTransactionCategorization, ExpenseAutomationTransactionsViewState, ExpenseAutomationTransactionsViewUIState, ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView, };
@@ -733,6 +734,8 @@ export { AllowedValueWithCode, AllowedValue, AllowedValueWithID, isAllowedValueW
733
734
  export { ManagementUIState, PortfolioUIState };
734
735
  export { fetchCompanyPassportView, CompanyPassportView, getCompanyPassportView, getCompanyPassportLocalStoreData, isCompanyPassportDataToBeSaved, companyPassportSaveDataInLocalStore, saveIndustryAndIncDateInCompanyPassportLocalStore, deleteCompanyOfficerInLocalStore, companyPassportClearDataInLocalStore, updateCompanyPassportLocalStoreData, saveCompanyPassportDetails, clearCompanyView, UpdateActionType, CompanyPassportLocalStoreDataView, };
735
736
  export { CompanyInfoLocalData, IncInfoLocalData, TaxDetailsLocalData, CompanyDetailsLocalData, PrimaryContactLocalData, CompanyOfficerLocalData, CompanyOfficerType, CompanyPassportLocalData, toCompanyPassportLocalData, };
737
+ export type { CompanyOnboardingIndustryTypeCode, CompanyOnboardingSubIndustryTypeCode, CompanyPurposeOfAccountCode, CompanySourceOfFundsCode, CompanyTransactionVolumeCode, CompanyUsNexusTypeCode, };
738
+ export { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, getCompanyOnboardingSubIndustryCodesForIndustry, };
736
739
  export { getUncategorizedAccounts, UncategorizedAccounts, getNestedAccountListHierarchy, };
737
740
  export { getBankAccount, BankAccountSelectorView };
738
741
  export { AddOnEstimate, SubscriptionViewSortKey, toSubscriptionSortKeyType, SubscriptionView, SubscriptionListView as CompanySubscriptionView, getSubscriptionListView as getCompanySubscriptionView, SubscriptionListUIState as SubscriptionUIState, updateSubscriptionListUIState as updateCompanySubscriptionUIState, SubscriptionUpdateData, SubscriptionCreateData, SubscriptionActionType, SubscriptionDetails, SubscriptionEstimateWithSchema, fetchSubscriptionList, fetchSubscriptionPlans, fetchSubscriptionAddOns, fetchSubscriptionCoupons, fetchSubscriptionDetails, saveSubscriptionUpdates, saveSubscriptionNotesUpdates, fetchSubscriptionCreateEstimate, fetchSubscriptionUpdateEstimate, clearSubscriptionView, initializeSubscriptionLocalData, saveSubscriptionLocalData, clearSubscriptionUpdateViewDataByTenantId, clearSubscriptionLocalData, getSubscriptionsDetailView, getSubscriptionLocalStoreDataView, getSubscriptionEstimationData, SubscriptionEstimationData, SubscriptionLocalStoreDataView, SubscriptionsDetailView, };