@zeniai/client-epic-state 4.19.81-betaRD2 → 4.19.81-betaSS1

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 (36) hide show
  1. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  2. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +35 -0
  3. package/lib/entity/jeSchedules/jeSchedulesPayload.js +44 -0
  4. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +2 -1
  5. package/lib/entity/jeSchedules/jeSchedulesSelector.js +2 -1
  6. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +13 -0
  7. package/lib/entity/tenant/tenantPayload.d.ts +0 -1
  8. package/lib/entity/tenant/tenantReducer.js +0 -1
  9. package/lib/entity/tenant/tenantSelector.d.ts +0 -1
  10. package/lib/entity/tenant/tenantSelector.js +1 -9
  11. package/lib/entity/tenant/tenantState.d.ts +0 -1
  12. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
  13. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +44 -0
  14. package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +2 -1
  15. package/lib/esm/entity/tenant/tenantReducer.js +0 -1
  16. package/lib/esm/entity/tenant/tenantSelector.js +0 -7
  17. package/lib/esm/index.js +2 -2
  18. package/lib/esm/view/classList/fetchClassListEpic.js +2 -3
  19. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -2
  20. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  21. package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
  22. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +1 -1
  23. package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +1 -2
  24. package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -15
  25. package/lib/index.d.ts +4 -3
  26. package/lib/index.js +29 -30
  27. package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
  28. package/lib/view/classList/fetchClassListEpic.js +1 -2
  29. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -2
  30. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  31. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
  32. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +1 -1
  33. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +1 -2
  34. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -15
  35. package/package.json +1 -1
  36. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
@@ -7,6 +7,8 @@ import { VendorTransaction } from '../../transaction/stateTypes/vendorTransactio
7
7
  export interface BillTransaction extends VendorTransaction {
8
8
  billPayInfo: BillPayInfo;
9
9
  candidateVendorName: string;
10
+ classId: ID;
11
+ className: string;
10
12
  createdBy: ID;
11
13
  deletionInfo: DeletionInfo;
12
14
  entityApprovalId: ID;
@@ -19,8 +21,6 @@ export interface BillTransaction extends VendorTransaction {
19
21
  updateTime: ZeniDate;
20
22
  bookCloseDate?: ZeniDate;
21
23
  bulkProcessingDetail?: BulkProcessingDetail;
22
- classId?: ID;
23
- className?: string;
24
24
  lastUpdatedByUserId?: ID;
25
25
  recurringBillConfigId?: ID;
26
26
  recurringBillInstance?: number;
@@ -13,6 +13,39 @@ export interface JEScheduleOtherAttributesPayload {
13
13
  asset_id?: string | null;
14
14
  starting_balance?: number | null;
15
15
  }
16
+ export interface JEScheduleAISummaryFieldPayload {
17
+ confidence: number;
18
+ reasoning: string;
19
+ predicted_value?: number | string;
20
+ }
21
+ export interface JEScheduleAISummariesPayload {
22
+ credit_account?: JEScheduleAISummaryFieldPayload;
23
+ credit_accounting_class?: JEScheduleAISummaryFieldPayload;
24
+ debit_account?: JEScheduleAISummaryFieldPayload;
25
+ debit_accounting_class?: JEScheduleAISummaryFieldPayload;
26
+ period?: JEScheduleAISummaryFieldPayload;
27
+ posting_date?: JEScheduleAISummaryFieldPayload;
28
+ }
29
+ export interface JEScheduleRecommendationsPayload {
30
+ amortization_days?: number | null;
31
+ amortization_months_estimate?: number | null;
32
+ credit_account_confidence?: number;
33
+ credit_account_id?: string | null;
34
+ credit_accounting_class_id?: string | null;
35
+ credit_class_confidence?: number;
36
+ debit_account_confidence?: number;
37
+ debit_account_id?: string | null;
38
+ debit_accounting_class_id?: string | null;
39
+ debit_class_confidence?: number;
40
+ end_date?: string | null;
41
+ je_schedule_type?: string | null;
42
+ period?: number | null;
43
+ period_confidence?: number;
44
+ posting_date?: string | null;
45
+ similar_transactions?: unknown[];
46
+ start_date?: string | null;
47
+ starting_month?: string | null;
48
+ }
16
49
  export interface JEScheduledTransactionPayload {
17
50
  balance: number | null;
18
51
  base_transaction: ScheduleTransactionPayload;
@@ -35,7 +68,9 @@ export interface JEScheduledTransactionPayload {
35
68
  status: StatusCodeWithLabelPayload;
36
69
  updated_by: UserPayload;
37
70
  vendor: VendorPayload;
71
+ ai_summaries?: JEScheduleAISummariesPayload;
38
72
  end_date?: string | null;
73
+ recommendations?: JEScheduleRecommendationsPayload;
39
74
  updated_at?: string | null;
40
75
  }
41
76
  export interface JEAccruedScheduledTransactionPayload extends Omit<JEScheduledTransactionPayload, 'base_transaction' | 'je_schedule_id' | 'je_schedule_type'> {
@@ -144,6 +144,49 @@ function toJEScheduleOtherAttributes(payload) {
144
144
  assetId: payload.asset_id ?? undefined,
145
145
  };
146
146
  }
147
+ function toJEScheduleAIRecommendations(payload) {
148
+ if (payload == null) {
149
+ return undefined;
150
+ }
151
+ const result = {};
152
+ if (payload.debit_account != null) {
153
+ result.debitAccount = {
154
+ confidence: payload.debit_account.confidence,
155
+ reasoning: payload.debit_account.reasoning,
156
+ };
157
+ }
158
+ if (payload.credit_account != null) {
159
+ result.creditAccount = {
160
+ confidence: payload.credit_account.confidence,
161
+ reasoning: payload.credit_account.reasoning,
162
+ };
163
+ }
164
+ if (payload.debit_accounting_class != null) {
165
+ result.debitClass = {
166
+ confidence: payload.debit_accounting_class.confidence,
167
+ reasoning: payload.debit_accounting_class.reasoning,
168
+ };
169
+ }
170
+ if (payload.credit_accounting_class != null) {
171
+ result.creditClass = {
172
+ confidence: payload.credit_accounting_class.confidence,
173
+ reasoning: payload.credit_accounting_class.reasoning,
174
+ };
175
+ }
176
+ if (payload.period != null) {
177
+ result.period = {
178
+ confidence: payload.period.confidence,
179
+ reasoning: payload.period.reasoning,
180
+ };
181
+ }
182
+ if (payload.posting_date != null) {
183
+ result.postingDate = {
184
+ confidence: payload.posting_date.confidence,
185
+ reasoning: payload.posting_date.reasoning,
186
+ };
187
+ }
188
+ return Object.keys(result).length > 0 ? result : undefined;
189
+ }
147
190
  function toJEScheduledTransaction(payload) {
148
191
  return {
149
192
  jeScheduleId: payload.je_schedule_id ?? undefined,
@@ -185,6 +228,7 @@ function toJEScheduledTransaction(payload) {
185
228
  ? toJEScheduleOtherAttributes(payload.other_attributes)
186
229
  : {},
187
230
  scheduledJournalEntry: [],
231
+ aiRecommendations: toJEScheduleAIRecommendations(payload.ai_summaries),
188
232
  };
189
233
  }
190
234
  function toJEAccruedScheduledTransaction(payload) {
@@ -9,7 +9,7 @@ import { ScheduleTransaction } from '../transaction/stateTypes/scheduleTransacti
9
9
  import { TransactionID } from '../transaction/stateTypes/transaction';
10
10
  import { User } from '../user/userState';
11
11
  import { Vendor } from '../vendor/vendorState';
12
- import { JEScheduleOtherAttributes, ScheduleJournalStatusCode, ScheduleStatus } from './jeSchedulesState';
12
+ import { JEScheduleAIRecommendations, JEScheduleOtherAttributes, ScheduleJournalStatusCode, ScheduleStatus } from './jeSchedulesState';
13
13
  import { JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleTypes } from './jeSchedulesTypes';
14
14
  export interface ScheduledJournalEntry {
15
15
  error: JournalEntryErrorCodeType[];
@@ -59,6 +59,7 @@ export interface JEScheduledTransaction {
59
59
  scheduledJournalEntry: ScheduledJournalEntry[];
60
60
  status: ScheduleStatus;
61
61
  vendor: Vendor;
62
+ aiRecommendations?: JEScheduleAIRecommendations;
62
63
  balanceAsOfToday?: Amount;
63
64
  dayOfPostingDate?: ScheduleDaysOfMonth;
64
65
  endDate?: ZeniDate;
@@ -77,7 +77,7 @@ exports.getJEAccruedScheduleByJEScheduleKey = getJEAccruedScheduleByJEScheduleKe
77
77
  const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransactionKey, state) => {
78
78
  const { jeSchedulesState, vendorState, accountState, userState, classState, transactionState, } = state;
79
79
  const jeScheduleTransactionState = (0, get_1.default)(jeSchedulesState.schedulesByTransactionKey, jeScheduleTransactionKey);
80
- const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, } = jeScheduleTransactionState;
80
+ const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, aiRecommendations, } = jeScheduleTransactionState;
81
81
  const vendorDetails = (0, vendorSelector_1.getVendorByVendorId)(vendorState, vendorId);
82
82
  if (vendorDetails == null) {
83
83
  throw new Error(`Vendor with ${vendorId} doesn't exist`);
@@ -134,6 +134,7 @@ const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransacti
134
134
  account: accountDebit,
135
135
  },
136
136
  scheduledJournalEntry,
137
+ aiRecommendations,
137
138
  };
138
139
  };
139
140
  exports.getJEScheduledTransactionByJEScheduleTransactionKey = getJEScheduledTransactionByJEScheduleTransactionKey;
@@ -13,6 +13,18 @@ export interface ScheduleJournalStatusCode {
13
13
  code: ScheduleJournalEntryStatusCodeType;
14
14
  label: string;
15
15
  }
16
+ export interface JEScheduleFieldRecommendation {
17
+ confidence: number;
18
+ reasoning: string;
19
+ }
20
+ export interface JEScheduleAIRecommendations {
21
+ creditAccount?: JEScheduleFieldRecommendation;
22
+ creditClass?: JEScheduleFieldRecommendation;
23
+ debitAccount?: JEScheduleFieldRecommendation;
24
+ debitClass?: JEScheduleFieldRecommendation;
25
+ period?: JEScheduleFieldRecommendation;
26
+ postingDate?: JEScheduleFieldRecommendation;
27
+ }
16
28
  export interface JEScheduleOtherAttributes {
17
29
  assetId?: string;
18
30
  startingBalance?: Amount;
@@ -57,6 +69,7 @@ export interface JEScheduledTransactionState {
57
69
  scheduledJournalEntry: ScheduledJournalEntryState[];
58
70
  status: ScheduleStatus;
59
71
  vendorId: ID;
72
+ aiRecommendations?: JEScheduleAIRecommendations;
60
73
  balanceAsOfToday?: number;
61
74
  dayOfPostingDate?: ScheduleDaysOfMonth;
62
75
  endDate?: ZeniDate;
@@ -33,7 +33,6 @@ interface TenantPayload {
33
33
  invite_create_time: string;
34
34
  inviter_email: string;
35
35
  inviter_id: ID;
36
- is_accounting_classes_enabled: boolean;
37
36
  is_admin: boolean;
38
37
  is_ap_analyst: boolean;
39
38
  is_banker: boolean;
@@ -561,7 +561,6 @@ function mapTenantsPayloadToState(tenantsPayload, userTenantPayload) {
561
561
  function mapTenantPayloadToTenant(payload, userTenantPayload) {
562
562
  const tenant = {
563
563
  accountingClassIDs: payload.accounting_class_ids,
564
- isAccountingClassesEnabled: payload.is_accounting_classes_enabled ?? true,
565
564
  bookCloseDate: payload.book_close_date != null
566
565
  ? (0, zeniDayJS_1.date)(payload.book_close_date)
567
566
  : undefined,
@@ -85,7 +85,6 @@ export declare const getCurrentTenantExternalConnections: (tenantState: TenantSt
85
85
  export declare const toTenantCoreDetailsView: (tenantsBaseView: TenantBaseView[]) => TenantCoreDetailsView[];
86
86
  export declare const isTenantBankingOnly: (isDebitCardFlagEnabled: boolean, tenant: Tenant | undefined) => boolean;
87
87
  export declare const isTenantCardsOnly: (tenant: Tenant | undefined) => boolean;
88
- export declare const getIsAccountingClassesEnabled: (state: RootState) => boolean;
89
88
  export declare const isTenantBookkeepingEnabled: (tenant: Tenant | undefined) => boolean;
90
89
  export declare const isOtherProductsEnabledForTenant: (tenant: Tenant | undefined) => boolean;
91
90
  export declare const isTenantTreasuryEnabled: (tenant: Tenant | undefined) => boolean;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isTenantTreasuryEnabled = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.getIsAccountingClassesEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.toTenantCoreDetailsView = exports.getCurrentTenantExternalConnections = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantBaseById = exports.getTenantsByCheckInDateSelector = exports.getCurrentTenant = exports.getTenantBaseViewForTenantId = void 0;
6
+ exports.isTenantTreasuryEnabled = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.toTenantCoreDetailsView = exports.getCurrentTenantExternalConnections = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantBaseById = exports.getTenantsByCheckInDateSelector = exports.getCurrentTenant = exports.getTenantBaseViewForTenantId = void 0;
7
7
  exports.getTenant = getTenant;
8
8
  exports.getOnboardingTenantByTenantId = getOnboardingTenantByTenantId;
9
9
  const toolkit_1 = require("@reduxjs/toolkit");
@@ -280,14 +280,6 @@ const isTenantCardsOnly = (tenant) => {
280
280
  : false;
281
281
  };
282
282
  exports.isTenantCardsOnly = isTenantCardsOnly;
283
- const getIsAccountingClassesEnabled = (state) => {
284
- const { currentTenantId, tenantsById } = state.tenantState;
285
- if (currentTenantId == null) {
286
- return true;
287
- }
288
- return tenantsById[currentTenantId]?.isAccountingClassesEnabled ?? true;
289
- };
290
- exports.getIsAccountingClassesEnabled = getIsAccountingClassesEnabled;
291
283
  const isTenantBookkeepingEnabled = (tenant) => {
292
284
  // if the tenants API takes time, tenant can be non null with productSettings as null
293
285
  return tenant != null && tenant.productSettings != null
@@ -69,7 +69,6 @@ export interface Tenant {
69
69
  inviteCreateTime: ZeniDate;
70
70
  inviterEmail: string;
71
71
  inviterUserId: ID;
72
- isAccountingClassesEnabled: boolean;
73
72
  isCustomerCreated: boolean;
74
73
  isEmailGroupCreated: boolean;
75
74
  isOnboardingCompleted: boolean;
@@ -35,9 +35,9 @@ export interface LinkedTransactionLine extends TransactionLineBase {
35
35
  export interface TransactionWithAccountAndClassLine extends TransactionLineBase {
36
36
  account: AccountBase;
37
37
  billable: BillableStatus;
38
+ class: ClassBase;
38
39
  isCategoryMiscategorized: boolean;
39
40
  isClassMiscategorized: boolean;
40
- class?: ClassBase;
41
41
  customer?: CustomerBase;
42
42
  vendor?: VendorBase;
43
43
  }
@@ -134,6 +134,49 @@ function toJEScheduleOtherAttributes(payload) {
134
134
  assetId: payload.asset_id ?? undefined,
135
135
  };
136
136
  }
137
+ function toJEScheduleAIRecommendations(payload) {
138
+ if (payload == null) {
139
+ return undefined;
140
+ }
141
+ const result = {};
142
+ if (payload.debit_account != null) {
143
+ result.debitAccount = {
144
+ confidence: payload.debit_account.confidence,
145
+ reasoning: payload.debit_account.reasoning,
146
+ };
147
+ }
148
+ if (payload.credit_account != null) {
149
+ result.creditAccount = {
150
+ confidence: payload.credit_account.confidence,
151
+ reasoning: payload.credit_account.reasoning,
152
+ };
153
+ }
154
+ if (payload.debit_accounting_class != null) {
155
+ result.debitClass = {
156
+ confidence: payload.debit_accounting_class.confidence,
157
+ reasoning: payload.debit_accounting_class.reasoning,
158
+ };
159
+ }
160
+ if (payload.credit_accounting_class != null) {
161
+ result.creditClass = {
162
+ confidence: payload.credit_accounting_class.confidence,
163
+ reasoning: payload.credit_accounting_class.reasoning,
164
+ };
165
+ }
166
+ if (payload.period != null) {
167
+ result.period = {
168
+ confidence: payload.period.confidence,
169
+ reasoning: payload.period.reasoning,
170
+ };
171
+ }
172
+ if (payload.posting_date != null) {
173
+ result.postingDate = {
174
+ confidence: payload.posting_date.confidence,
175
+ reasoning: payload.posting_date.reasoning,
176
+ };
177
+ }
178
+ return Object.keys(result).length > 0 ? result : undefined;
179
+ }
137
180
  export function toJEScheduledTransaction(payload) {
138
181
  return {
139
182
  jeScheduleId: payload.je_schedule_id ?? undefined,
@@ -175,6 +218,7 @@ export function toJEScheduledTransaction(payload) {
175
218
  ? toJEScheduleOtherAttributes(payload.other_attributes)
176
219
  : {},
177
220
  scheduledJournalEntry: [],
221
+ aiRecommendations: toJEScheduleAIRecommendations(payload.ai_summaries),
178
222
  };
179
223
  }
180
224
  export function toJEAccruedScheduledTransaction(payload) {
@@ -70,7 +70,7 @@ export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
70
70
  export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransactionKey, state) => {
71
71
  const { jeSchedulesState, vendorState, accountState, userState, classState, transactionState, } = state;
72
72
  const jeScheduleTransactionState = recordGet(jeSchedulesState.schedulesByTransactionKey, jeScheduleTransactionKey);
73
- const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, } = jeScheduleTransactionState;
73
+ const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, aiRecommendations, } = jeScheduleTransactionState;
74
74
  const vendorDetails = getVendorByVendorId(vendorState, vendorId);
75
75
  if (vendorDetails == null) {
76
76
  throw new Error(`Vendor with ${vendorId} doesn't exist`);
@@ -127,5 +127,6 @@ export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTr
127
127
  account: accountDebit,
128
128
  },
129
129
  scheduledJournalEntry,
130
+ aiRecommendations,
130
131
  };
131
132
  };
@@ -553,7 +553,6 @@ function mapTenantsPayloadToState(tenantsPayload, userTenantPayload) {
553
553
  function mapTenantPayloadToTenant(payload, userTenantPayload) {
554
554
  const tenant = {
555
555
  accountingClassIDs: payload.accounting_class_ids,
556
- isAccountingClassesEnabled: payload.is_accounting_classes_enabled ?? true,
557
556
  bookCloseDate: payload.book_close_date != null
558
557
  ? date(payload.book_close_date)
559
558
  : undefined,
@@ -265,13 +265,6 @@ export const isTenantCardsOnly = (tenant) => {
265
265
  tenant.productSettings.isSpendManagementEnabled === false
266
266
  : false;
267
267
  };
268
- export const getIsAccountingClassesEnabled = (state) => {
269
- const { currentTenantId, tenantsById } = state.tenantState;
270
- if (currentTenantId == null) {
271
- return true;
272
- }
273
- return tenantsById[currentTenantId]?.isAccountingClassesEnabled ?? true;
274
- };
275
268
  export const isTenantBookkeepingEnabled = (tenant) => {
276
269
  // if the tenants API takes time, tenant can be non null with productSettings as null
277
270
  return tenant != null && tenant.productSettings != null
package/lib/esm/index.js CHANGED
@@ -60,7 +60,7 @@ import { getSnackbar } from './entity/snackbar/snackbarSelector';
60
60
  import { toPriorityCodeType, toTaskStatusCodeType, } from './entity/task/taskState';
61
61
  import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
62
62
  import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
63
- import { getCurrentTenant, getIsAccountingClassesEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
63
+ import { getCurrentTenant, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
64
64
  import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
65
65
  import { getLastNotificationTime, getNotifications, } from './entity/toastNotification/toastNotificationSelector';
66
66
  import { mapFileEntityToAttachment, toContentType, toContentTypeStrict, } from './entity/transaction/stateTypes/attachment';
@@ -422,7 +422,7 @@ export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsolute
422
422
  export { toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
423
423
  export { getNumberOfPeriods };
424
424
  export { SCHEDULE_DAYS_OF_MONTH, toScheduleDaysOfMonth, toMonth, toMonthStrict, toQuarter, toQuarterStrict, };
425
- export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
425
+ export { getTenantBaseById, getCurrentTenant, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
426
426
  export { toAccountType, toAccountGroupType, getAccountGroupKey, };
427
427
  export { getClassById } from './entity/class/classSelector';
428
428
  export { getForecast };
@@ -1,10 +1,9 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap, withLatestFrom, } from 'rxjs/operators';
2
+ import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
3
  import { updateClasses } from '../../entity/class/classReducer';
4
- import { getIsAccountingClassesEnabled } from '../../entity/tenant/tenantSelector';
5
4
  import { createZeniAPIStatus, isSuccessResponse } from '../../responsePayload';
6
5
  import { fetchClassList, updateClassList, updateClassListFailure, } from './classListReducer';
7
- export const fetchClassListEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchClassList.match), withLatestFrom(state$), filter(([, state]) => getIsAccountingClassesEnabled(state)), switchMap(([action]) => {
6
+ export const fetchClassListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchClassList.match), switchMap((action) => {
8
7
  const { isIncludeDeleted } = action.payload;
9
8
  const queryParams = isIncludeDeleted === true
10
9
  ? `?query=${encodeURIComponent(JSON.stringify({ is_include_deleted: true }))}`
@@ -65,8 +65,7 @@ export const toTransactionUpdatesFromTransactionCategorizationLocalData = (trans
65
65
  Boolean(lineItem.account?.qboId);
66
66
  hasClassChanged =
67
67
  Boolean(lineItem.class?.qboId) &&
68
- Boolean(accountLine.class?.qboId) &&
69
- lineItem.class?.qboId !== accountLine.class?.qboId;
68
+ lineItem.class?.qboId !== accountLine.class.qboId;
70
69
  const recommendedAccountBase = toRecommendedAccountBase(lineItem.amount.amount, lineItem.account);
71
70
  const recommendedClassBase = toRecommendedClassBase(lineItem.amount.amount, lineItem.class);
72
71
  if (entityDetails != null &&
@@ -234,7 +234,7 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
234
234
  isPreFilled: true,
235
235
  };
236
236
  }
237
- if (Boolean(accountLine.class?.classId) === false &&
237
+ if (accountLine.class.classId === '' &&
238
238
  higherPreferenceRecommendation?.class != null) {
239
239
  record.class = {
240
240
  ...higherPreferenceRecommendation.class,
@@ -464,7 +464,7 @@ export const setEntityRecommendationForLineIdInLocalData = (draft, transaction,
464
464
  }
465
465
  : accountLine.account;
466
466
  record.class =
467
- Boolean(accountLine.class?.classId) !== false
467
+ accountLine.class.classId !== ''
468
468
  ? accountLine.class
469
469
  : recommendations?.[0]?.class
470
470
  ? {
@@ -33,7 +33,7 @@ export function getExpenseAutomationMissingReceiptsView(state) {
33
33
  transaction.lines.length > 0 &&
34
34
  transaction.lines[0]
35
35
  ?.class != null
36
- ? transaction.lines[0].class?.className.toLowerCase()
36
+ ? transaction.lines[0].class.className.toLowerCase()
37
37
  : null;
38
38
  case 'vendor':
39
39
  default:
@@ -109,7 +109,7 @@ export const allTaskPriority = [
109
109
  },
110
110
  {
111
111
  code: 'medium',
112
- name: 'Medium',
112
+ name: 'Normal',
113
113
  },
114
114
  {
115
115
  code: 'low',
@@ -76,8 +76,7 @@ export const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDe
76
76
  Boolean(lineItem.account?.qboId);
77
77
  hasClassChanged =
78
78
  Boolean(lineItem.class?.qboId) &&
79
- Boolean(accountLine.class?.qboId) &&
80
- lineItem.class?.qboId !== accountLine.class?.qboId;
79
+ lineItem.class?.qboId !== accountLine.class.qboId;
81
80
  const recommendedAccountBase = toRecommendedAccountBase(lineItem.amount.amount, lineItem.account);
82
81
  const recommendedClassBase = toRecommendedClassBase(lineItem.amount.amount, lineItem.class);
83
82
  const latestRecommendedCategory = lineItem.recommendedAccount;
@@ -140,13 +140,13 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
140
140
  record.isRetainedCategorySelected = false;
141
141
  }
142
142
  if (Boolean(recommendedClass?.qboId) &&
143
- recommendedClass?.qboId !== accountLine.class?.qboId) {
143
+ recommendedClass?.qboId !== accountLine.class.qboId) {
144
144
  record.isRecommendedClassSelected = false;
145
145
  record.recommendedClass = recommendedClass;
146
146
  record.isClassUpdateSelected = false;
147
147
  }
148
148
  if (accountLine.isClassMiscategorized &&
149
- Boolean(accountLine.class?.qboId) &&
149
+ Boolean(accountLine.class.qboId) &&
150
150
  Boolean(isVendorOrCustomerPresent)) {
151
151
  record.retainedClass = accountLine.class;
152
152
  record.isRetainedClassSelected = false;
@@ -336,14 +336,14 @@ export const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionD
336
336
  }
337
337
  };
338
338
  const updateClass = () => {
339
- if (recommendedClass?.qboId !== accountLine.class?.qboId &&
339
+ if (recommendedClass?.qboId !== accountLine.class.qboId &&
340
340
  Boolean(recommendedClass?.qboId)) {
341
341
  record.class = accountLine.class;
342
342
  record.isRecommendedClassSelected = false;
343
343
  record.recommendedClass = recommendedClass;
344
344
  record.isClassUpdateSelected = false;
345
345
  if (accountLine.isClassMiscategorized &&
346
- Boolean(accountLine.class?.qboId) &&
346
+ Boolean(accountLine.class.qboId) &&
347
347
  Boolean(isVendorOrCustomerPresent)) {
348
348
  record.retainedClass = accountLine.class;
349
349
  record.isRetainedClassSelected = false;
@@ -356,7 +356,7 @@ export const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionD
356
356
  record.recommendedClass = recommendedClass;
357
357
  record.isClassUpdateSelected = false;
358
358
  if (accountLine.isClassMiscategorized &&
359
- Boolean(accountLine.class?.qboId) &&
359
+ Boolean(accountLine.class.qboId) &&
360
360
  Boolean(isVendorOrCustomerPresent)) {
361
361
  record.retainedClass = recommendedClass;
362
362
  record.isRetainedClassSelected = false;
@@ -650,13 +650,13 @@ export const setEntityRecommendationForLineIdInLocalData = (transaction, transac
650
650
  record.isRetainedCategorySelected = false;
651
651
  }
652
652
  }
653
- if (recommendedClass?.qboId !== accountLine.class?.qboId &&
653
+ if (recommendedClass?.qboId !== accountLine.class.qboId &&
654
654
  Boolean(recommendedClass?.qboId)) {
655
655
  record.isRecommendedClassSelected = false;
656
656
  record.recommendedClass = recommendedClass;
657
657
  record.isClassUpdateSelected = false;
658
658
  if (accountLine.isClassMiscategorized &&
659
- Boolean(accountLine.class?.qboId)) {
659
+ Boolean(accountLine.class.qboId)) {
660
660
  record.retainedClass = accountLine.class;
661
661
  record.isRetainedClassSelected = false;
662
662
  }
@@ -664,12 +664,12 @@ export const setEntityRecommendationForLineIdInLocalData = (transaction, transac
664
664
  else {
665
665
  record.isRecommendedClassSelected = false;
666
666
  record.recommendedClass = recommendedClass;
667
- if (recommendedClass?.qboId === accountLine.class?.qboId) {
667
+ if (recommendedClass?.qboId === accountLine.class.qboId) {
668
668
  record.recommendedClass = undefined;
669
669
  }
670
670
  record.isClassUpdateSelected = false;
671
671
  if (accountLine.isClassMiscategorized &&
672
- Boolean(accountLine.class?.qboId)) {
672
+ Boolean(accountLine.class.qboId)) {
673
673
  record.retainedClass = recommendedClass;
674
674
  record.isRetainedClassSelected = false;
675
675
  }
@@ -685,7 +685,7 @@ export const setEntityRecommendationForLineIdInLocalData = (transaction, transac
685
685
  Boolean(recommendedAccount?.qboId) !== false) {
686
686
  record.account = recommendedAccount;
687
687
  }
688
- if (Boolean(record.class?.qboId) === false &&
688
+ if (Boolean(record.class.qboId) === false &&
689
689
  Boolean(recommendedClass?.qboId) !== false) {
690
690
  record.class = recommendedClass;
691
691
  }
@@ -806,8 +806,7 @@ export const getChangedLineItemCountFromLocalData = (transaction, transactionLoc
806
806
  accountLineLocal.account?.qboId !== accountLine.account.qboId &&
807
807
  accountLineLocal.account?.accountId !== accountLine.account.accountId;
808
808
  hasClassChanged =
809
- Boolean(accountLine.class?.qboId) &&
810
- accountLineLocal.class?.qboId !== accountLine.class?.qboId;
809
+ accountLineLocal.class?.qboId !== accountLine.class.qboId;
811
810
  }
812
811
  hasDescriptionChanged =
813
812
  transactionLocalData.lineItemById[lineId] != null
@@ -945,10 +944,10 @@ export const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetail
945
944
  record.isRecommendedClassSelected = false;
946
945
  record.recommendedClass = recommendedClass;
947
946
  record.isClassUpdateSelected = false;
948
- if (recommendedClass?.qboId !== accountLine.class?.qboId &&
947
+ if (recommendedClass?.qboId !== accountLine.class.qboId &&
949
948
  Boolean(recommendedClass?.qboId)) {
950
949
  if (accountLine.isClassMiscategorized &&
951
- Boolean(accountLine.class?.qboId) &&
950
+ Boolean(accountLine.class.qboId) &&
952
951
  Boolean(isVendorOrCustomerPresent)) {
953
952
  record.retainedClass = accountLine.class;
954
953
  record.isRetainedClassSelected = false;
@@ -961,7 +960,7 @@ export const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetail
961
960
  record.recommendedClass = recommendedClass;
962
961
  record.isClassUpdateSelected = false;
963
962
  if (accountLine.isClassMiscategorized &&
964
- Boolean(accountLine.class?.qboId) &&
963
+ Boolean(accountLine.class.qboId) &&
965
964
  Boolean(isVendorOrCustomerPresent)) {
966
965
  record.retainedClass = recommendedClass;
967
966
  record.isRetainedClassSelected = false;
package/lib/index.d.ts CHANGED
@@ -91,6 +91,7 @@ import { TrendChangeType } from './entity/insights/insightPayload';
91
91
  import { Insight } from './entity/insights/insightState';
92
92
  import { InsightSummary } from './entity/insights/insightSummary';
93
93
  import { JEAccruedSchedule, JEScheduledTransaction, ScheduledJournalEntry } from './entity/jeSchedules/jeSchedulesSelector';
94
+ import { JEScheduleAIRecommendations, JEScheduleFieldRecommendation } from './entity/jeSchedules/jeSchedulesState';
94
95
  import { ALL_SCHEDULES_TYPES, JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleJournalEntryStatusCodeType, ScheduleStatusCodeType, ScheduleTypes, toScheduleTypesType, toScheduleTypesTypeStrict } from './entity/jeSchedules/jeSchedulesTypes';
95
96
  import { Merchant } from './entity/merchant/merchant';
96
97
  import { ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthCloseCheckMetrics, MonthEndAuditSummary, MonthEndCloseCheck, MonthEndCloseCheckFrequency } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
@@ -122,7 +123,7 @@ import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
122
123
  import { TaskGroupState } from './entity/taskGroup/taskGroupState';
123
124
  import { TaskGroupTemplate } from './entity/taskGroupTemplate/taskGroupTemplateState';
124
125
  import { DoSignInPayload, clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
125
- import { CurrentTenant, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
126
+ import { CurrentTenant, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
126
127
  import { Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
127
128
  import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
128
129
  import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
@@ -630,7 +631,7 @@ export { TimeframeTick, TimeframeTickWithMetaData, toTimeframeTick, mapTimePerio
630
631
  export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
631
632
  export { getNumberOfPeriods };
632
633
  export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
633
- export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
634
+ export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
634
635
  export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, };
635
636
  export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
636
637
  export { getClassById } from './entity/class/classSelector';
@@ -826,7 +827,7 @@ export { fetchApAgingDetail, AgingReportInvoice, ApAgingDetail, getApAgingDetail
826
827
  export { LinkBillExpenseKey };
827
828
  export { clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchExpenseAutomationJESchedulesPage, ignoreExpenseAutomationJESchedule, initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryExpenseAutomationJESchedule, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, };
828
829
  export { createNewSchedulesAccrued, deleteScheduleAccruedDetail, cancelScheduleAccruedJournalEntry, fetchScheduleAccruedDetails, fetchScheduleAccruedDetailsPage, resetJEAccruedLinkInLocalData, saveScheduleAccruedDetails, updateAmountsInScheduleAccruedDetail, updatedJEAccruedLinkWithRecommendedLocalData, updatedJELinkInLocalDataAccruedExpenses, fetchRecommendedTransactionRowIndex, clearSelectedJELinkRowIndex, updateLinkBillExpenseLocalData, updateScheduleAccruedDetailsLocalData, updateSelectedJEAccruedScheduleKey, resetSelectedJEAccruedScheduleKey, resetAccruedDetailNewScheduleState, };
829
- export { JEScheduleKey, JEScheduleTransactionKey, ALL_SCHEDULES_TYPES, JEScheduledTransaction, JEAccruedSchedule, ScheduleTypes, ScheduleJournalEntryStatusCodeType, ScheduleListReport, ScheduleAccruedListReport, getScheduleListReport, getAccruedScheduleListReport, ScheduleSubTabType, ScheduleListSortKey, fetchScheduleList, fetchAccruedScheduleList, fetchDownloadSchedules, fetchSchedulesAccount, updateScheduleListLocalData, getFetchStateForScheduleAccountList, toScheduleTypesType, toScheduleTypesTypeStrict, toScheduleListTabsFileTypeStrict, ScheduleListLocalData, ScheduleDetailsLocalDataFixedAssets, ScheduleDetailsLocalDataAccruedExpenses, ScheduleDetailsView, ScheduleAccruedDetailsView, LinkBillExpenseView, LinkBillExpenseLocalData, JEScheduleDetailsLocalData, ScheduleDetailsLocalData, toScheduleSubTabType, ScheduleStatusCodeType, JournalEntryErrorCodeType, ScheduleTransaction, updateScheduleListSubTab, updateScheduleListSearchText, updateScheduleListScrollState, updateScheduleListSortState, ScheduleDetailSortKey, ScheduledJournalEntry, updateSelectedJEScheduleKey, fetchScheduleDetails, getScheduleDetailsView, getAccruedScheduleDetailsView, fetchScheduleDetailsPage, saveScheduleDetails, deleteScheduleDetail, createNewSchedules, updateScheduleDetailsLocalData, JETransactionLink, updateScheduleListDownloadState, updateAccruedJEScheduleAccruedByListKey, DownloadJEScheduleTabOptions, updatedSelectedJELinkRowIndex, ScheduleListTabsFileType, getQBOUrlForLink, getThirdPartyIDFromQBOURL, updatedJELinkInLocalData, updateAmountsInScheduleDetail, ScheduleDetailUIState, resetJELinkInLocalData, JEScheduledTransactionWithBalance, JEScheduleWithBalance, JELinkType, updatedJELinkWithRecommendedLocalData, getFetchStateForScheduleListByType, getDefaultSelectedTimeframeForScheduleType, markAsCompleteScheduleDetail, resetMarkAsCompleteStatus, fetchVendorTabView, updateVendorTabViewTab, VendorTabViewTabType, getVendorTabView, VendorTabViewSelectorView, };
830
+ export { JEScheduleKey, JEScheduleTransactionKey, ALL_SCHEDULES_TYPES, JEScheduledTransaction, JEAccruedSchedule, JEScheduleAIRecommendations, JEScheduleFieldRecommendation, ScheduleTypes, ScheduleJournalEntryStatusCodeType, ScheduleListReport, ScheduleAccruedListReport, getScheduleListReport, getAccruedScheduleListReport, ScheduleSubTabType, ScheduleListSortKey, fetchScheduleList, fetchAccruedScheduleList, fetchDownloadSchedules, fetchSchedulesAccount, updateScheduleListLocalData, getFetchStateForScheduleAccountList, toScheduleTypesType, toScheduleTypesTypeStrict, toScheduleListTabsFileTypeStrict, ScheduleListLocalData, ScheduleDetailsLocalDataFixedAssets, ScheduleDetailsLocalDataAccruedExpenses, ScheduleDetailsView, ScheduleAccruedDetailsView, LinkBillExpenseView, LinkBillExpenseLocalData, JEScheduleDetailsLocalData, ScheduleDetailsLocalData, toScheduleSubTabType, ScheduleStatusCodeType, JournalEntryErrorCodeType, ScheduleTransaction, updateScheduleListSubTab, updateScheduleListSearchText, updateScheduleListScrollState, updateScheduleListSortState, ScheduleDetailSortKey, ScheduledJournalEntry, updateSelectedJEScheduleKey, fetchScheduleDetails, getScheduleDetailsView, getAccruedScheduleDetailsView, fetchScheduleDetailsPage, saveScheduleDetails, deleteScheduleDetail, createNewSchedules, updateScheduleDetailsLocalData, JETransactionLink, updateScheduleListDownloadState, updateAccruedJEScheduleAccruedByListKey, DownloadJEScheduleTabOptions, updatedSelectedJELinkRowIndex, ScheduleListTabsFileType, getQBOUrlForLink, getThirdPartyIDFromQBOURL, updatedJELinkInLocalData, updateAmountsInScheduleDetail, ScheduleDetailUIState, resetJELinkInLocalData, JEScheduledTransactionWithBalance, JEScheduleWithBalance, JELinkType, updatedJELinkWithRecommendedLocalData, getFetchStateForScheduleListByType, getDefaultSelectedTimeframeForScheduleType, markAsCompleteScheduleDetail, resetMarkAsCompleteStatus, fetchVendorTabView, updateVendorTabViewTab, VendorTabViewTabType, getVendorTabView, VendorTabViewSelectorView, };
830
831
  export { GlobalMerchant, GlobalMerchantBase, TenantMerchant };
831
832
  export { ReviewStatus, VendorTransactionAttachment, VendorTransactionAttachmentPayload, VendorFirstReviewViewSelectorView, VendorFirstReviewViewLocalData, VendorFirstReviewSelectorView, VendorFirstReviewSelectorAttachmentView, VendorFirstReviewViewUIState, VendorFirstReviewViewColumnKey, GlobalMerchantAutoCompleteView, VendorReviewRowCurrentSelection, toVendorFirstReviewViewColumnKeyType, RecommendedNonExistingGlobalMerchant, getGlobalMerchantAutoCompleteResults, VendorReviewRecommendationViewState, GlobalMerchantType, getVendorFirstReviewView, getVendorFirstReviewAttachmentView, fetchVendorFirstReviewView, fetchVendorFirstReviewAttachments, updateVendorFirstReviewViewScrollYOffset, resetVendorFirstReviewLocalData, updateVendorFirstReviewViewPageToken, clearRecentlySavedErroredVendorData, saveVendorFirstReviewView, updateVendorFirstReviewViewLocalData, updateVendorFirstReviewSortUiState, fetchGlobalMerchantAutoCompleteView, clearGlobalMerchantAutoCompleteResults, GlobalVendorReviewRowCurrentSelection, FirstReviewPageCurrentSelectionByColumn, updateReviewVendorDetailLocalData, saveVendorDetailsView, getVendorDetailSelectorView, FirstReviewVendorDetailSelectorView, VendorViewLocalData, };
832
833
  export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGlobalMerchantLocalData, clearGlobalMerchantView, getGlobalMerchantView, GlobalMerchantViewSelectorView, GlobalMerchantViewState, NewGlobalMerchantData, NewGlobalMerchantCurrentSelection, };