@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.
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +35 -0
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +44 -0
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +2 -1
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +2 -1
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +13 -0
- package/lib/entity/tenant/tenantPayload.d.ts +0 -1
- package/lib/entity/tenant/tenantReducer.js +0 -1
- package/lib/entity/tenant/tenantSelector.d.ts +0 -1
- package/lib/entity/tenant/tenantSelector.js +1 -9
- package/lib/entity/tenant/tenantState.d.ts +0 -1
- package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +44 -0
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +2 -1
- package/lib/esm/entity/tenant/tenantReducer.js +0 -1
- package/lib/esm/entity/tenant/tenantSelector.js +0 -7
- package/lib/esm/index.js +2 -2
- package/lib/esm/view/classList/fetchClassListEpic.js +2 -3
- package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -2
- package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +1 -1
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +1 -2
- package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -15
- package/lib/index.d.ts +4 -3
- package/lib/index.js +29 -30
- package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
- package/lib/view/classList/fetchClassListEpic.js +1 -2
- package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -2
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +1 -1
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +1 -2
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -15
- package/package.json +1 -1
- 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;
|
|
@@ -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.
|
|
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
|
|
@@ -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,
|
|
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,
|
|
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
|
|
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$,
|
|
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
|
-
|
|
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 &&
|
package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js
CHANGED
|
@@ -234,7 +234,7 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
|
|
|
234
234
|
isPreFilled: true,
|
|
235
235
|
};
|
|
236
236
|
}
|
|
237
|
-
if (
|
|
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
|
-
|
|
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
|
|
36
|
+
? transaction.lines[0].class.className.toLowerCase()
|
|
37
37
|
: null;
|
|
38
38
|
case 'vendor':
|
|
39
39
|
default:
|
|
@@ -76,8 +76,7 @@ export const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDe
|
|
|
76
76
|
Boolean(lineItem.account?.qboId);
|
|
77
77
|
hasClassChanged =
|
|
78
78
|
Boolean(lineItem.class?.qboId) &&
|
|
79
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
947
|
+
if (recommendedClass?.qboId !== accountLine.class.qboId &&
|
|
949
948
|
Boolean(recommendedClass?.qboId)) {
|
|
950
949
|
if (accountLine.isClassMiscategorized &&
|
|
951
|
-
Boolean(accountLine.class
|
|
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
|
|
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,
|
|
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,
|
|
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, };
|