@servicetitan/moneyout-api-client 1.25.0 → 1.26.0
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/dist/bill-payments.api.d.ts +3 -0
- package/dist/bill-payments.api.d.ts.map +1 -1
- package/dist/bill-payments.api.js.map +1 -1
- package/dist/expense-management.api.d.ts +4 -2
- package/dist/expense-management.api.d.ts.map +1 -1
- package/dist/expense-management.api.js +5 -1
- package/dist/expense-management.api.js.map +1 -1
- package/package.json +1 -1
|
@@ -116,6 +116,9 @@ mints a fallback and never derives one from the original payment's identifiers;
|
|
|
116
116
|
not a MOS-level error (see PYB-3009, REQ-PAY-RETRYKEY-001/002/004/007). Empty or
|
|
117
117
|
whitespace-only values are treated as absent. */
|
|
118
118
|
idempotencyKey?: string | undefined;
|
|
119
|
+
/** The Ramp funding bank-account id to draw from; null/omitted reuses the original payment's
|
|
120
|
+
funding account. */
|
|
121
|
+
sourceBankAccountId?: string | undefined;
|
|
119
122
|
}
|
|
120
123
|
/** A tenant's Bill-Pay-eligible funding source, projected from the payment partner (Ramp, via the moneyout-adapters client) with the generic GL account attached. Thin pass-through — see `IBillPaymentService.ListSourceAccountsAsync`. No ST-GL matching happens here; GlAccount is forwarded verbatim from the MOA client response (null stays null, never substituted). */
|
|
121
124
|
export interface SourceAccount {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bill-payments.api.d.ts","sourceRoot":"","sources":["../src/bill-payments.api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bill-payments.api.d.ts","sourceRoot":"","sources":["../src/bill-payments.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bill-payments.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IBillPayments {\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]>;\n /**\n * Resolves the tenant's default Bill-Pay funding account (the same account payment creation\n draws from) and returns its generic GL identity plus the tenant's GL match strategy. Read-only;\n thin pass-through — no ST-GL matching happens here (the caller resolves the identity to its own\n GL account by the returned strategy). Returns 400 if the tenant has no Bill-Pay-eligible source\n account at the partner.\n */\n getDefaultFundingAccountGl(tenantId: number, cancelToken?: CancelToken): AxiosPromise<FundingAccountGlResponse>;\n}\n\nexport const BASE_URL_TOKEN_BillPayments = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class BillPayments implements IBillPayments {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_BillPayments) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = makeContent(request, [\n \"$.scheduledDate\",\n ]);\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]> {\n let url_ = \"/v1/tenant/{tenantId}/bill-pay-source-accounts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<SourceAccount[]>(options_));\n }\n\n /**\n * Resolves the tenant's default Bill-Pay funding account (the same account payment creation\n draws from) and returns its generic GL identity plus the tenant's GL match strategy. Read-only;\n thin pass-through — no ST-GL matching happens here (the caller resolves the identity to its own\n GL account by the returned strategy). Returns 400 if the tenant has no Bill-Pay-eligible source\n account at the partner.\n */\n getDefaultFundingAccountGl(tenantId: number, cancelToken?: CancelToken): AxiosPromise<FundingAccountGlResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-pay-source-accounts/default-gl\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<FundingAccountGlResponse>(options_));\n }\n}\n\nexport interface InitiatePaymentResponse {\n /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */\n externalPaymentId: string;\n}\n\nexport interface InitiatePaymentRequest {\n /** The monolith's VendorPayment ID. Used for Kafka event correlation. */\n vendorPaymentId: number;\n /** Payment amount in the currency's major unit (e.g. dollars). */\n amount: number;\n /** The monolith's Vendor ID. Passed for context but not stored server-side —\nRemittanceVendorId is used for provider lookup. */\n vendorId: number;\n remittanceVendorId: number;\n /** When null, the payment is sent immediately.\nWhen set to a future date, the payment is scheduled for that date. */\n scheduledDate?: Date | undefined;\n /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.\nNew ExternalRef = new payment (e.g. resubmit after cancel). */\n externalRef: string;\n /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).\nForwarded to the adapter as the selected payment method for this payment.\n \nOptional — when null, the service recovers the most recent BillPayment for\nVendorPaymentId and reuses its payment method (resubmit-after-cancel\nflow, where the monolith doesn't keep the original method id locally).\nReturns 400 if no previous bill payment exists for the VendorPaymentId. */\n paymentMethodId?: string | undefined;\n /** The funding source account the payment should draw from — the\n`bankAccountId` of a `SourceAccount` the caller selected from\n`GetBillPaySourceAccountsAsync`. Forwarded to the adapter as the payment source.\n \nOptional — when null (or empty), the service falls back to the tenant's default\nfunding account (the same account the read/match endpoints surface). Supplied by the\nmonolith's user-selectable \"Payment Account\" selector (PYB-2796). Ramp rejects an\naccount id that is not Bill-Pay-eligible, so callers should pass a value obtained from\nthe source-accounts list rather than an arbitrary id. */\n sourceBankAccountId?: string | undefined;\n}\n\n/** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */\nexport interface RetryBillPaymentRequest {\n /** Opaque payment method ID obtained from the available-payment-methods endpoint.\nWhen provided the retry uses this method instead of the one that originally failed.\nNull means reuse the original method. */\n paymentMethodId?: string | undefined;\n /** Caller-minted, per-retry-intent idempotency key, forwarded unchanged to the payment\nprovider adapter so a resend of this exact retry (HTTP timeout, load-balancer retry, or the\nadapter's own transient-error retry) never risks a second disbursement. Optional — MOS never\nmints a fallback and never derives one from the original payment's identifiers; absence is\nnot a MOS-level error (see PYB-3009, REQ-PAY-RETRYKEY-001/002/004/007). Empty or\nwhitespace-only values are treated as absent. */\n idempotencyKey?: string | undefined;\n}\n\n/** A tenant's Bill-Pay-eligible funding source, projected from the payment partner (Ramp, via the moneyout-adapters client) with the generic GL account attached. Thin pass-through — see `IBillPaymentService.ListSourceAccountsAsync`. No ST-GL matching happens here; GlAccount is forwarded verbatim from the MOA client response (null stays null, never substituted). */\nexport interface SourceAccount {\n bankAccountId: string;\n accountName: string;\n accountNumberLastFour: string;\n currency: string;\n isPreferred: boolean;\n glAccount?: GlAccount | undefined;\n /** How the caller should match this account's GlAccount to its own GL account\nentity, derived upstream from the payment partner's connected accounting system (ERP). Same\nconcept as MatchStrategy, surfaced per account so the\ncaller can resolve the GL of any funding source (not only the default). Defaults to\nUnsupported (silent fallback) when the partner exposes no\nrecognized strategy. */\n matchStrategy: FundingGlMatchStrategy;\n}\n\n/** Generic (provider-agnostic) GL account reference forwarded verbatim from the payment partner. Field names mirror MOA's `BillPayGlAccount` exactly — no `Gl`/`GlAccount` drift across the seam. The monolith owns matching these fields to a ServiceTitan GL account entity; this DTO carries no ST-GL logic. */\nexport interface GlAccount {\n externalId?: string | undefined;\n externalName?: string | undefined;\n}\n\n/** How the caller (ServiceTitan monolith) should match a funding account's generic GlAccount identity to its own GL account entity. Determined upstream by the payment partner's connected accounting system (ERP), not by ServiceTitan config — the ERP is authoritative for whether the GL identity is exposed as an id or a name. */\nexport enum FundingGlMatchStrategy {\n Unsupported = 0,\n ById = 1,\n ByName = 2,\n}\n\n/** The GL identity of a tenant's default Bill-Pay funding account, plus the FundingGlMatchStrategy the caller should use to resolve it. Returned by the `bill-pay-source-accounts/default-gl` endpoint for the ServiceTitan monolith to pre-fill the funding account's GL on the \"Pay Bills\" dialog. */\nexport interface FundingAccountGlResponse {\n /** The payment partner's stable identifier for the resolved default funding account —\n the same account payment creation sources from. */\n bankAccountId: string;\n /** The generic GL account identity the payment partner links to the default funding\n source. Null when the partner surfaced no GL linkage. */\n glAccount?: GlAccount | undefined;\n /** How the caller should match GlAccount to its GL account entity.\n Unsupported means fall back silently. */\n matchStrategy: FundingGlMatchStrategy;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","makeContent","BASE_URL_TOKEN_BillPayments","BillPayments","initiatePayment","tenantId","request","cancelToken","url_","undefined","Error","replace","encodeURIComponent","content_","options_","baseURL","baseUrl","data","url","method","headers","retryPayment","externalPaymentId","cancelPayment","getSourceAccounts","getDefaultFundingAccountGl","jsonParseReviver","FundingGlMatchStrategy"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/bill-payments.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IBillPayments {\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]>;\n /**\n * Resolves the tenant's default Bill-Pay funding account (the same account payment creation\n draws from) and returns its generic GL identity plus the tenant's GL match strategy. Read-only;\n thin pass-through — no ST-GL matching happens here (the caller resolves the identity to its own\n GL account by the returned strategy). Returns 400 if the tenant has no Bill-Pay-eligible source\n account at the partner.\n */\n getDefaultFundingAccountGl(tenantId: number, cancelToken?: CancelToken): AxiosPromise<FundingAccountGlResponse>;\n}\n\nexport const BASE_URL_TOKEN_BillPayments = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class BillPayments implements IBillPayments {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_BillPayments) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = makeContent(request, [\n \"$.scheduledDate\",\n ]);\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]> {\n let url_ = \"/v1/tenant/{tenantId}/bill-pay-source-accounts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<SourceAccount[]>(options_));\n }\n\n /**\n * Resolves the tenant's default Bill-Pay funding account (the same account payment creation\n draws from) and returns its generic GL identity plus the tenant's GL match strategy. Read-only;\n thin pass-through — no ST-GL matching happens here (the caller resolves the identity to its own\n GL account by the returned strategy). Returns 400 if the tenant has no Bill-Pay-eligible source\n account at the partner.\n */\n getDefaultFundingAccountGl(tenantId: number, cancelToken?: CancelToken): AxiosPromise<FundingAccountGlResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-pay-source-accounts/default-gl\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<FundingAccountGlResponse>(options_));\n }\n}\n\nexport interface InitiatePaymentResponse {\n /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */\n externalPaymentId: string;\n}\n\nexport interface InitiatePaymentRequest {\n /** The monolith's VendorPayment ID. Used for Kafka event correlation. */\n vendorPaymentId: number;\n /** Payment amount in the currency's major unit (e.g. dollars). */\n amount: number;\n /** The monolith's Vendor ID. Passed for context but not stored server-side —\nRemittanceVendorId is used for provider lookup. */\n vendorId: number;\n remittanceVendorId: number;\n /** When null, the payment is sent immediately.\nWhen set to a future date, the payment is scheduled for that date. */\n scheduledDate?: Date | undefined;\n /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.\nNew ExternalRef = new payment (e.g. resubmit after cancel). */\n externalRef: string;\n /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).\nForwarded to the adapter as the selected payment method for this payment.\n \nOptional — when null, the service recovers the most recent BillPayment for\nVendorPaymentId and reuses its payment method (resubmit-after-cancel\nflow, where the monolith doesn't keep the original method id locally).\nReturns 400 if no previous bill payment exists for the VendorPaymentId. */\n paymentMethodId?: string | undefined;\n /** The funding source account the payment should draw from — the\n`bankAccountId` of a `SourceAccount` the caller selected from\n`GetBillPaySourceAccountsAsync`. Forwarded to the adapter as the payment source.\n \nOptional — when null (or empty), the service falls back to the tenant's default\nfunding account (the same account the read/match endpoints surface). Supplied by the\nmonolith's user-selectable \"Payment Account\" selector (PYB-2796). Ramp rejects an\naccount id that is not Bill-Pay-eligible, so callers should pass a value obtained from\nthe source-accounts list rather than an arbitrary id. */\n sourceBankAccountId?: string | undefined;\n}\n\n/** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */\nexport interface RetryBillPaymentRequest {\n /** Opaque payment method ID obtained from the available-payment-methods endpoint.\nWhen provided the retry uses this method instead of the one that originally failed.\nNull means reuse the original method. */\n paymentMethodId?: string | undefined;\n /** Caller-minted, per-retry-intent idempotency key, forwarded unchanged to the payment\nprovider adapter so a resend of this exact retry (HTTP timeout, load-balancer retry, or the\nadapter's own transient-error retry) never risks a second disbursement. Optional — MOS never\nmints a fallback and never derives one from the original payment's identifiers; absence is\nnot a MOS-level error (see PYB-3009, REQ-PAY-RETRYKEY-001/002/004/007). Empty or\nwhitespace-only values are treated as absent. */\n idempotencyKey?: string | undefined;\n /** The Ramp funding bank-account id to draw from; null/omitted reuses the original payment's\nfunding account. */\n sourceBankAccountId?: string | undefined;\n}\n\n/** A tenant's Bill-Pay-eligible funding source, projected from the payment partner (Ramp, via the moneyout-adapters client) with the generic GL account attached. Thin pass-through — see `IBillPaymentService.ListSourceAccountsAsync`. No ST-GL matching happens here; GlAccount is forwarded verbatim from the MOA client response (null stays null, never substituted). */\nexport interface SourceAccount {\n bankAccountId: string;\n accountName: string;\n accountNumberLastFour: string;\n currency: string;\n isPreferred: boolean;\n glAccount?: GlAccount | undefined;\n /** How the caller should match this account's GlAccount to its own GL account\nentity, derived upstream from the payment partner's connected accounting system (ERP). Same\nconcept as MatchStrategy, surfaced per account so the\ncaller can resolve the GL of any funding source (not only the default). Defaults to\nUnsupported (silent fallback) when the partner exposes no\nrecognized strategy. */\n matchStrategy: FundingGlMatchStrategy;\n}\n\n/** Generic (provider-agnostic) GL account reference forwarded verbatim from the payment partner. Field names mirror MOA's `BillPayGlAccount` exactly — no `Gl`/`GlAccount` drift across the seam. The monolith owns matching these fields to a ServiceTitan GL account entity; this DTO carries no ST-GL logic. */\nexport interface GlAccount {\n externalId?: string | undefined;\n externalName?: string | undefined;\n}\n\n/** How the caller (ServiceTitan monolith) should match a funding account's generic GlAccount identity to its own GL account entity. Determined upstream by the payment partner's connected accounting system (ERP), not by ServiceTitan config — the ERP is authoritative for whether the GL identity is exposed as an id or a name. */\nexport enum FundingGlMatchStrategy {\n Unsupported = 0,\n ById = 1,\n ByName = 2,\n}\n\n/** The GL identity of a tenant's default Bill-Pay funding account, plus the FundingGlMatchStrategy the caller should use to resolve it. Returned by the `bill-pay-source-accounts/default-gl` endpoint for the ServiceTitan monolith to pre-fill the funding account's GL on the \"Pay Bills\" dialog. */\nexport interface FundingAccountGlResponse {\n /** The payment partner's stable identifier for the resolved default funding account —\n the same account payment creation sources from. */\n bankAccountId: string;\n /** The generic GL account identity the payment partner links to the default funding\n source. Null when the partner surfaced no GL linkage. */\n glAccount?: GlAccount | undefined;\n /** How the caller should match GlAccount to its GL account entity.\n Unsupported means fall back silently. */\n matchStrategy: FundingGlMatchStrategy;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","makeContent","BASE_URL_TOKEN_BillPayments","BillPayments","initiatePayment","tenantId","request","cancelToken","url_","undefined","Error","replace","encodeURIComponent","content_","options_","baseURL","baseUrl","data","url","method","headers","retryPayment","externalPaymentId","cancelPayment","getSourceAccounts","getDefaultFundingAccountGl","jsonParseReviver","FundingGlMatchStrategy"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface IExpenseManagement {
|
|
|
8
8
|
* @projectIds (optional) Filter by project IDs.
|
|
9
9
|
* @syncStatuses (optional) Filter by sync statuses (e.g. "Pending", "Posted", "Exported").
|
|
10
10
|
* @transactionStatuses (optional) Filter by transaction statuses (e.g. "Pending", "Complete", "Declined").
|
|
11
|
+
* @receiptStatuses (optional) Filter by receipt statuses (e.g. "Missing", "Attached", "Verified").
|
|
11
12
|
* @dateFrom (optional) Filter by transaction date (inclusive start).
|
|
12
13
|
* @dateTo (optional) Filter by transaction date (inclusive end).
|
|
13
14
|
* @creditCardAccountIds (optional) Filter by credit card GL account IDs.
|
|
@@ -22,7 +23,7 @@ export interface IExpenseManagement {
|
|
|
22
23
|
* @sortBy (optional) Property name to sort by (e.g. "transactionDate", "total", "syncStatus"). Defaults to "transactionDate".
|
|
23
24
|
* @sortDirection (optional) Sort direction: "asc" or "desc". Defaults to "desc".
|
|
24
25
|
*/
|
|
25
|
-
list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;
|
|
26
|
+
list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, receiptStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;
|
|
26
27
|
/**
|
|
27
28
|
* Create a new expense transaction
|
|
28
29
|
*/
|
|
@@ -84,6 +85,7 @@ export declare class ExpenseManagement implements IExpenseManagement {
|
|
|
84
85
|
* @projectIds (optional) Filter by project IDs.
|
|
85
86
|
* @syncStatuses (optional) Filter by sync statuses (e.g. "Pending", "Posted", "Exported").
|
|
86
87
|
* @transactionStatuses (optional) Filter by transaction statuses (e.g. "Pending", "Complete", "Declined").
|
|
88
|
+
* @receiptStatuses (optional) Filter by receipt statuses (e.g. "Missing", "Attached", "Verified").
|
|
87
89
|
* @dateFrom (optional) Filter by transaction date (inclusive start).
|
|
88
90
|
* @dateTo (optional) Filter by transaction date (inclusive end).
|
|
89
91
|
* @creditCardAccountIds (optional) Filter by credit card GL account IDs.
|
|
@@ -98,7 +100,7 @@ export declare class ExpenseManagement implements IExpenseManagement {
|
|
|
98
100
|
* @sortBy (optional) Property name to sort by (e.g. "transactionDate", "total", "syncStatus"). Defaults to "transactionDate".
|
|
99
101
|
* @sortDirection (optional) Sort direction: "asc" or "desc". Defaults to "desc".
|
|
100
102
|
*/
|
|
101
|
-
list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;
|
|
103
|
+
list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, receiptStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;
|
|
102
104
|
/**
|
|
103
105
|
* Create a new expense transaction
|
|
104
106
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expense-management.api.d.ts","sourceRoot":"","sources":["../src/expense-management.api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expense-management.api.d.ts","sourceRoot":"","sources":["../src/expense-management.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ export class ExpenseManagement {
|
|
|
44
44
|
* @projectIds (optional) Filter by project IDs.
|
|
45
45
|
* @syncStatuses (optional) Filter by sync statuses (e.g. "Pending", "Posted", "Exported").
|
|
46
46
|
* @transactionStatuses (optional) Filter by transaction statuses (e.g. "Pending", "Complete", "Declined").
|
|
47
|
+
* @receiptStatuses (optional) Filter by receipt statuses (e.g. "Missing", "Attached", "Verified").
|
|
47
48
|
* @dateFrom (optional) Filter by transaction date (inclusive start).
|
|
48
49
|
* @dateTo (optional) Filter by transaction date (inclusive end).
|
|
49
50
|
* @creditCardAccountIds (optional) Filter by credit card GL account IDs.
|
|
@@ -57,7 +58,7 @@ export class ExpenseManagement {
|
|
|
57
58
|
* @pageSize (optional) Number of items per page. Defaults to 50.
|
|
58
59
|
* @sortBy (optional) Property name to sort by (e.g. "transactionDate", "total", "syncStatus"). Defaults to "transactionDate".
|
|
59
60
|
* @sortDirection (optional) Sort direction: "asc" or "desc". Defaults to "desc".
|
|
60
|
-
*/ list(tenantId, ids, vendorIds, jobIds, projectIds, syncStatuses, transactionStatuses, dateFrom, dateTo, creditCardAccountIds, businessUnitIds, batchId, totalMin, totalMax, needsReview, includeUnqualifiedProviderTransactions, page, pageSize, sortBy, sortDirection, cancelToken) {
|
|
61
|
+
*/ list(tenantId, ids, vendorIds, jobIds, projectIds, syncStatuses, transactionStatuses, receiptStatuses, dateFrom, dateTo, creditCardAccountIds, businessUnitIds, batchId, totalMin, totalMax, needsReview, includeUnqualifiedProviderTransactions, page, pageSize, sortBy, sortDirection, cancelToken) {
|
|
61
62
|
let url_ = "/v1/tenant/{tenantId}/expense-transactions?";
|
|
62
63
|
if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
|
|
63
64
|
url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
|
|
@@ -79,6 +80,9 @@ export class ExpenseManagement {
|
|
|
79
80
|
if (transactionStatuses !== undefined && transactionStatuses !== null) transactionStatuses && transactionStatuses.forEach((item)=>{
|
|
80
81
|
url_ += "transactionStatuses=" + encodeURIComponent("" + item) + "&";
|
|
81
82
|
});
|
|
83
|
+
if (receiptStatuses !== undefined && receiptStatuses !== null) receiptStatuses && receiptStatuses.forEach((item)=>{
|
|
84
|
+
url_ += "receiptStatuses=" + encodeURIComponent("" + item) + "&";
|
|
85
|
+
});
|
|
82
86
|
if (dateFrom !== undefined && dateFrom !== null) url_ += "dateFrom=" + encodeURIComponent(dateFrom ? "" + dateFrom.toJSON() : "") + "&";
|
|
83
87
|
if (dateTo !== undefined && dateTo !== null) url_ += "dateTo=" + encodeURIComponent(dateTo ? "" + dateTo.toJSON() : "") + "&";
|
|
84
88
|
if (creditCardAccountIds !== undefined && creditCardAccountIds !== null) creditCardAccountIds && creditCardAccountIds.forEach((item)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/expense-management.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IExpenseManagement {\n /**\n * List expense transactions with optional filters.\n * @ids (optional) Filter by specific expense IDs.\n * @vendorIds (optional) Filter by vendor IDs.\n * @jobIds (optional) Filter by job IDs.\n * @projectIds (optional) Filter by project IDs.\n * @syncStatuses (optional) Filter by sync statuses (e.g. \"Pending\", \"Posted\", \"Exported\").\n * @transactionStatuses (optional) Filter by transaction statuses (e.g. \"Pending\", \"Complete\", \"Declined\").\n * @dateFrom (optional) Filter by transaction date (inclusive start).\n * @dateTo (optional) Filter by transaction date (inclusive end).\n * @creditCardAccountIds (optional) Filter by credit card GL account IDs.\n * @businessUnitIds (optional) Filter by business unit IDs.\n * @batchId (optional) Filter by batch ID.\n * @totalMin (optional) Filter by minimum total cost.\n * @totalMax (optional) Filter by maximum total cost.\n * @needsReview (optional) Filter by review state (missing ST mappings such as vendor, cardholder, job, or project). When true, return only transactions that need review; when false, return only transactions that do not; when null (default), the filter is not applied and both are returned.\n * @includeUnqualifiedProviderTransactions (optional) When false (default), provider-originated transactions are returned only once they have qualified (cleared by the card network AND marked ready by the provider); manual transactions are always returned. When true, un-qualified provider transactions (pending / not-ready) are also returned. Use true only for show-everything views.\n * @page (optional) Page number (1-based). Defaults to 1.\n * @pageSize (optional) Number of items per page. Defaults to 50.\n * @sortBy (optional) Property name to sort by (e.g. \"transactionDate\", \"total\", \"syncStatus\"). Defaults to \"transactionDate\".\n * @sortDirection (optional) Sort direction: \"asc\" or \"desc\". Defaults to \"desc\".\n */\n list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;\n /**\n * Create a new expense transaction\n */\n create(tenantId: number, request: CreateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Get a single expense transaction by ID\n */\n get(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Update an existing expense transaction\n */\n update(tenantId: number, id: string, request: UpdateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Delete an expense transaction (only if Pending)\n */\n delete(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Update sync status for one or more expense transactions (used by monolith batch posting).\n */\n updateSyncStatus(tenantId: number, request: UpdateExpenseSyncStatusRequest, cancelToken?: CancelToken): AxiosPromise<UpdateExpenseSyncStatusResponse>;\n /**\n * Mark an expense as \"not a ServiceTitan expense\" (outbound retract). Writes\n `is_st_expense=\"false\"` to the provider, persists `IsStExpense=false`, and removes the\n monolith projection. Idempotent: a no-longer-ST expense returns 200 with no provider call.\n */\n retract(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * List attachments for an expense transaction\n */\n listAttachments(tenantId: number, expenseId: string, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]>;\n /**\n * Download an attachment file\n */\n downloadAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Delete an attachment from an expense transaction\n */\n deleteAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Bind one or more draft attachment tokens (from the draft-upload endpoint) to this\n expense transaction as permanent attachments.\n */\n promoteAttachments(tenantId: number, expenseId: string, request: AddExpenseAttachmentsRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]>;\n /**\n * Get well-known GL account ids for the tenant (from cache). Returns null ids when the cache is cold or degraded.\n */\n getWellKnownGlAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<WellKnownGlAccountsResponse>;\n}\n\nexport const BASE_URL_TOKEN_ExpenseManagement = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class ExpenseManagement implements IExpenseManagement {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_ExpenseManagement) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * List expense transactions with optional filters.\n * @ids (optional) Filter by specific expense IDs.\n * @vendorIds (optional) Filter by vendor IDs.\n * @jobIds (optional) Filter by job IDs.\n * @projectIds (optional) Filter by project IDs.\n * @syncStatuses (optional) Filter by sync statuses (e.g. \"Pending\", \"Posted\", \"Exported\").\n * @transactionStatuses (optional) Filter by transaction statuses (e.g. \"Pending\", \"Complete\", \"Declined\").\n * @dateFrom (optional) Filter by transaction date (inclusive start).\n * @dateTo (optional) Filter by transaction date (inclusive end).\n * @creditCardAccountIds (optional) Filter by credit card GL account IDs.\n * @businessUnitIds (optional) Filter by business unit IDs.\n * @batchId (optional) Filter by batch ID.\n * @totalMin (optional) Filter by minimum total cost.\n * @totalMax (optional) Filter by maximum total cost.\n * @needsReview (optional) Filter by review state (missing ST mappings such as vendor, cardholder, job, or project). When true, return only transactions that need review; when false, return only transactions that do not; when null (default), the filter is not applied and both are returned.\n * @includeUnqualifiedProviderTransactions (optional) When false (default), provider-originated transactions are returned only once they have qualified (cleared by the card network AND marked ready by the provider); manual transactions are always returned. When true, un-qualified provider transactions (pending / not-ready) are also returned. Use true only for show-everything views.\n * @page (optional) Page number (1-based). Defaults to 1.\n * @pageSize (optional) Number of items per page. Defaults to 50.\n * @sortBy (optional) Property name to sort by (e.g. \"transactionDate\", \"total\", \"syncStatus\"). Defaults to \"transactionDate\".\n * @sortDirection (optional) Sort direction: \"asc\" or \"desc\". Defaults to \"desc\".\n */\n list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (ids !== undefined && ids !== null)\n ids && ids.forEach(item => { url_ += \"ids=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vendorIds !== undefined && vendorIds !== null)\n vendorIds && vendorIds.forEach(item => { url_ += \"vendorIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (jobIds !== undefined && jobIds !== null)\n jobIds && jobIds.forEach(item => { url_ += \"jobIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (projectIds !== undefined && projectIds !== null)\n projectIds && projectIds.forEach(item => { url_ += \"projectIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (syncStatuses !== undefined && syncStatuses !== null)\n syncStatuses && syncStatuses.forEach(item => { url_ += \"syncStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (transactionStatuses !== undefined && transactionStatuses !== null)\n transactionStatuses && transactionStatuses.forEach(item => { url_ += \"transactionStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (dateFrom !== undefined && dateFrom !== null)\n url_ += \"dateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toJSON() : \"\") + \"&\";\n if (dateTo !== undefined && dateTo !== null)\n url_ += \"dateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toJSON() : \"\") + \"&\";\n if (creditCardAccountIds !== undefined && creditCardAccountIds !== null)\n creditCardAccountIds && creditCardAccountIds.forEach(item => { url_ += \"creditCardAccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (businessUnitIds !== undefined && businessUnitIds !== null)\n businessUnitIds && businessUnitIds.forEach(item => { url_ += \"businessUnitIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (batchId !== undefined && batchId !== null)\n url_ += \"batchId=\" + encodeURIComponent(\"\" + batchId) + \"&\";\n if (totalMin !== undefined && totalMin !== null)\n url_ += \"totalMin=\" + encodeURIComponent(\"\" + totalMin) + \"&\";\n if (totalMax !== undefined && totalMax !== null)\n url_ += \"totalMax=\" + encodeURIComponent(\"\" + totalMax) + \"&\";\n if (needsReview !== undefined && needsReview !== null)\n url_ += \"needsReview=\" + encodeURIComponent(\"\" + needsReview) + \"&\";\n if (includeUnqualifiedProviderTransactions === null)\n throw new Error(\"The parameter 'includeUnqualifiedProviderTransactions' cannot be null.\");\n else if (includeUnqualifiedProviderTransactions !== undefined)\n url_ += \"includeUnqualifiedProviderTransactions=\" + encodeURIComponent(\"\" + includeUnqualifiedProviderTransactions) + \"&\";\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n if (sortBy !== undefined && sortBy !== null)\n url_ += \"sortBy=\" + encodeURIComponent(\"\" + sortBy) + \"&\";\n if (sortDirection !== undefined && sortDirection !== null)\n url_ += \"sortDirection=\" + encodeURIComponent(\"\" + sortDirection) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<PagedResponseOfExpenseTransactionResponse>(options_));\n }\n\n /**\n * Create a new expense transaction\n */\n create(tenantId: number, request: CreateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Get a single expense transaction by ID\n */\n get(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Update an existing expense transaction\n */\n update(tenantId: number, id: string, request: UpdateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Delete an expense transaction (only if Pending)\n */\n delete(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Update sync status for one or more expense transactions (used by monolith batch posting).\n */\n updateSyncStatus(tenantId: number, request: UpdateExpenseSyncStatusRequest, cancelToken?: CancelToken): AxiosPromise<UpdateExpenseSyncStatusResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/sync-status\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<UpdateExpenseSyncStatusResponse>(options_));\n }\n\n /**\n * Mark an expense as \"not a ServiceTitan expense\" (outbound retract). Writes\n `is_st_expense=\"false\"` to the provider, persists `IsStExpense=false`, and removes the\n monolith projection. Idempotent: a no-longer-ST expense returns 200 with no provider call.\n */\n retract(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}/retract\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * List attachments for an expense transaction\n */\n listAttachments(tenantId: number, expenseId: string, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseAttachmentResponse[]>(options_));\n }\n\n /**\n * Download an attachment file\n */\n downloadAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/{attachmentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n if (attachmentId === undefined || attachmentId === null)\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Delete an attachment from an expense transaction\n */\n deleteAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/{attachmentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n if (attachmentId === undefined || attachmentId === null)\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Bind one or more draft attachment tokens (from the draft-upload endpoint) to this\n expense transaction as permanent attachments.\n */\n promoteAttachments(tenantId: number, expenseId: string, request: AddExpenseAttachmentsRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/promote\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseAttachmentResponse[]>(options_));\n }\n\n /**\n * Get well-known GL account ids for the tenant (from cache). Returns null ids when the cache is cold or degraded.\n */\n getWellKnownGlAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<WellKnownGlAccountsResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/gl-accounts/well-known\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<WellKnownGlAccountsResponse>(options_));\n }\n}\n\n/** Generic paged response wrapper with total count for pagination support. */\nexport interface PagedResponseOfExpenseTransactionResponse {\n /** Data collection */\n data: ExpenseTransactionResponse[];\n /** Current page number */\n page: number;\n /** Page size */\n pageSize: number;\n /** Total count of items (null if pagination not required) */\n totalCount?: number | undefined;\n /** Whether there are more pages */\n hasMore: boolean;\n}\n\nexport interface BaseEntityApiModel {\n id: string;\n createdOn: Date;\n modifiedOn: Date;\n}\n\nexport interface ExpenseTransactionResponse extends BaseEntityApiModel {\n /** Tenant that owns this expense. */\n tenantId: number;\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Computed total: sum of line item amounts + tax + shipping. Negative for refunds. */\n total: number;\n /** True when this transaction is a refund/reversal rather than a charge. */\n isRefund: boolean;\n /** Provider id of the parent charge this refund reverses; null otherwise. */\n parentExternalId?: string | undefined;\n /** Internal MOS ExpenseId of the parent charge this refund reverses, when known; null otherwise. */\n parentExpenseId?: string | undefined;\n /** IDs of refund transactions that reference this expense as their parent.\nPopulated on GET-by-id only; null on list responses. Empty list when no refunds exist. */\n refundExpenseIds?: string[] | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Merchant processing status (e.g. Pending, Complete, Error, Declined). */\n transactionStatus: string;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Computed field: true if essential ST-related bindings are not set for the transaction (such as VendorId, cardholder, etc). */\n needsReview: boolean;\n /** MOS-owned export-readiness headline (e.g. Pending, ReadyForExport, Exported). Composed by\nExpenseStatusRules; folds in NeedsReview and ProviderRequirementsMet. */\n expenseStatus: string;\n /** Whether the upstream card provider considers this transaction's requirements met and approved.\nTri-state: null = provider has not yet determined (never coerced to false). Distinct from\nNeedsReview, which reflects ServiceTitan binding gaps rather than provider sign-off. */\n providerRequirementsMet?: boolean | undefined;\n /** Status of receipt documentation (e.g. Pending, Received). */\n receiptStatus: string;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Accounting sync/export status (e.g. Pending, Posted, Exported). */\n syncStatus: string;\n /** Batch this expense was posted in, if any. */\n batchId?: number | undefined;\n /** Identifier from the external expense provider (e.g. Ramp transaction ID). */\n externalId?: string | undefined;\n /** Name of the external provider (e.g. \"Ramp\"). */\n externalSource?: string | undefined;\n /** Card identifier from the external provider (e.g. Ramp card_id). */\n externalCardId?: string | undefined;\n /** Human-readable merchant category (e.g. \"Supermarkets and grocery stores\").\nProvider-supplied for card-sourced expenses (e.g. Ramp's `sk_category_name`); free-text for manual entries. */\n merchantCategory?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** True when the debit GL account was assigned via the safe-degrade fallback (the tenant's\nUncategorized account) rather than a confident binding. Mirrors the persisted\nExpenseTransaction.DebitGlFallbackApplied and is folded into NeedsReview; surfaced so the UI\ncan warn that the GL account needs correcting. */\n debitGlFallbackApplied: boolean;\n /** True when this expense transaction originated in ServiceTitan (as opposed to being sourced\nentirely from an external provider). Tri-state: null means unknown/not set. */\n isStExpense?: boolean | undefined;\n /** ServiceTitan-internal reference number for this expense, when it originated in ST. Null for\nprovider-sourced transactions. A blank value on an ST expense is folded into NeedsReview;\nsurfaced so the UI can explain the review reason. */\n stReferenceNumber?: string | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Provider-reported (external) values, captured verbatim before ServiceTitan resolution. Surfaced\nso a \"needs review\" expense whose merchant/cardholder did not resolve to a ServiceTitan\nvendor/employee can show what the provider sent. Null when no provider details are recorded. */\n externalDetails?: ExpenseTransactionExternalDetailsResponse;\n /** Line items with expense GL accounts. */\n lineItems: ExpenseTransactionLineItemResponse[];\n /** Receipt attachments. File content is in Azure Blob Storage; these are metadata records. */\n attachments: ExpenseAttachmentResponse[];\n}\n\n/** Provider-reported (external) values for an expense transaction, captured verbatim as the card provider sent them. Present so a \"needs review\" expense whose merchant/cardholder did not resolve to a ServiceTitan vendor/employee can surface what the provider sent (with a not-found-in-ServiceTitan indicator) instead of a blank. Null when no provider details are recorded. */\nexport interface ExpenseTransactionExternalDetailsResponse {\n /** Merchant name as reported by the provider. */\n merchantName?: string | undefined;\n /** Cardholder display name as reported by the provider. */\n cardholderName?: string | undefined;\n /** Cardholder email as reported by the provider. */\n cardholderEmail?: string | undefined;\n /** Provider's own identifier for the cardholder. */\n cardholderUserId?: string | undefined;\n /** Human-readable GL account name the provider coded on the transaction header. */\n glAccountName?: string | undefined;\n /** GL account identifier the provider coded on the transaction header. */\n glAccountId?: string | undefined;\n}\n\nexport interface ExpenseTransactionLineItemResponse extends BaseEntityApiModel {\n /** Description of the line item. */\n description: string;\n /** Total dollar amount for this line item (Quantity × UnitPrice). */\n amount: number;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\n/** Metadata information for an expense attachment (receipt). Not the actual file. */\nexport interface ExpenseAttachmentResponse extends BaseEntityApiModel {\n /** Sanitized file name for display and download. */\n filename: string;\n /** Original file name as uploaded by the user. */\n originalFilename: string;\n /** MIME content type. */\n contentType: string;\n /** File size in bytes. */\n fileSize: number;\n}\n\nexport interface CreateExpenseTransactionRequest {\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Human-readable merchant category. */\n merchantCategory?: string | undefined;\n /** Merchant processing status (e.g. \"Pending\", \"Complete\", \"Error\", \"Declined\"). Defaults to \"Complete\" for manual input. */\n transactionStatus?: string | undefined;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Line items with expense GL accounts. */\n lineItems: ExpenseTransactionLineItemRequest[];\n}\n\nexport interface ExpenseTransactionLineItemRequest {\n /** Description of the line item. */\n description: string;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\nexport interface UpdateExpenseTransactionRequest {\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Human-readable merchant category (e.g. \"Supermarkets and grocery stores\").\nProvider-supplied for card-sourced expenses (e.g. Ramp's `sk_category_name`); free-text for manual entries. */\n merchantCategory?: string | undefined;\n /** Merchant processing status (e.g. \"Pending\", \"Complete\", \"Error\", \"Declined\"). */\n transactionStatus?: string | undefined;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Line items with expense GL accounts. Include Id for existing items, omit for new. */\n lineItems: UpdateExpenseTransactionLineItemRequest[];\n}\n\nexport interface UpdateExpenseTransactionLineItemRequest {\n /** Unique GUID for the line item: reuse the existing id to update a line, or supply a fresh\nGUID (e.g. `Guid.NewGuid()`) for a new one. Must be non-empty and unique within the\nrequest — null or an empty GUID is rejected with a 400 (UpdateAsync diffs the collection by id). */\n id?: string | undefined;\n /** Description of the line item. */\n description: string;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\nexport interface UpdateExpenseSyncStatusResponse {\n /** Whether any expenses were updated. */\n updated: boolean;\n /** Number of expense transactions that were updated. */\n updatedCount: number;\n}\n\nexport interface UpdateExpenseSyncStatusRequest {\n /** IDs of the expense transactions to update. Maximum 500. */\n expenseIds: string[];\n /** Target sync status (e.g. \"Pending\", \"Posted\", \"Exported\"). */\n targetStatus: string;\n /** Batch ID. Required when transitioning to Posted. */\n batchId?: number | undefined;\n}\n\n/** Body for the promote endpoint: tokens previously returned from the draft-upload endpoint, to be associated with this expense. Filename is whatever was captured at draft-upload time (no caller-supplied override). */\nexport interface AddExpenseAttachmentsRequest {\n tokens: string[];\n}\n\nexport interface WellKnownGlAccountsResponse {\n uncategorizedExpenseAccountId?: number | undefined;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","BASE_URL_TOKEN_ExpenseManagement","ExpenseManagement","list","tenantId","ids","vendorIds","jobIds","projectIds","syncStatuses","transactionStatuses","dateFrom","dateTo","creditCardAccountIds","businessUnitIds","batchId","totalMin","totalMax","needsReview","includeUnqualifiedProviderTransactions","page","pageSize","sortBy","sortDirection","cancelToken","url_","undefined","Error","replace","encodeURIComponent","forEach","item","toJSON","options_","baseURL","baseUrl","url","method","headers","request","create","content_","data","get","id","update","delete","updateSyncStatus","retract","listAttachments","expenseId","downloadAttachment","attachmentId","deleteAttachment","promoteAttachments","getWellKnownGlAccounts","jsonParseReviver"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/expense-management.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IExpenseManagement {\n /**\n * List expense transactions with optional filters.\n * @ids (optional) Filter by specific expense IDs.\n * @vendorIds (optional) Filter by vendor IDs.\n * @jobIds (optional) Filter by job IDs.\n * @projectIds (optional) Filter by project IDs.\n * @syncStatuses (optional) Filter by sync statuses (e.g. \"Pending\", \"Posted\", \"Exported\").\n * @transactionStatuses (optional) Filter by transaction statuses (e.g. \"Pending\", \"Complete\", \"Declined\").\n * @receiptStatuses (optional) Filter by receipt statuses (e.g. \"Missing\", \"Attached\", \"Verified\").\n * @dateFrom (optional) Filter by transaction date (inclusive start).\n * @dateTo (optional) Filter by transaction date (inclusive end).\n * @creditCardAccountIds (optional) Filter by credit card GL account IDs.\n * @businessUnitIds (optional) Filter by business unit IDs.\n * @batchId (optional) Filter by batch ID.\n * @totalMin (optional) Filter by minimum total cost.\n * @totalMax (optional) Filter by maximum total cost.\n * @needsReview (optional) Filter by review state (missing ST mappings such as vendor, cardholder, job, or project). When true, return only transactions that need review; when false, return only transactions that do not; when null (default), the filter is not applied and both are returned.\n * @includeUnqualifiedProviderTransactions (optional) When false (default), provider-originated transactions are returned only once they have qualified (cleared by the card network AND marked ready by the provider); manual transactions are always returned. When true, un-qualified provider transactions (pending / not-ready) are also returned. Use true only for show-everything views.\n * @page (optional) Page number (1-based). Defaults to 1.\n * @pageSize (optional) Number of items per page. Defaults to 50.\n * @sortBy (optional) Property name to sort by (e.g. \"transactionDate\", \"total\", \"syncStatus\"). Defaults to \"transactionDate\".\n * @sortDirection (optional) Sort direction: \"asc\" or \"desc\". Defaults to \"desc\".\n */\n list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, receiptStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse>;\n /**\n * Create a new expense transaction\n */\n create(tenantId: number, request: CreateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Get a single expense transaction by ID\n */\n get(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Update an existing expense transaction\n */\n update(tenantId: number, id: string, request: UpdateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse>;\n /**\n * Delete an expense transaction (only if Pending)\n */\n delete(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Update sync status for one or more expense transactions (used by monolith batch posting).\n */\n updateSyncStatus(tenantId: number, request: UpdateExpenseSyncStatusRequest, cancelToken?: CancelToken): AxiosPromise<UpdateExpenseSyncStatusResponse>;\n /**\n * Mark an expense as \"not a ServiceTitan expense\" (outbound retract). Writes\n `is_st_expense=\"false\"` to the provider, persists `IsStExpense=false`, and removes the\n monolith projection. Idempotent: a no-longer-ST expense returns 200 with no provider call.\n */\n retract(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * List attachments for an expense transaction\n */\n listAttachments(tenantId: number, expenseId: string, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]>;\n /**\n * Download an attachment file\n */\n downloadAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Delete an attachment from an expense transaction\n */\n deleteAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Bind one or more draft attachment tokens (from the draft-upload endpoint) to this\n expense transaction as permanent attachments.\n */\n promoteAttachments(tenantId: number, expenseId: string, request: AddExpenseAttachmentsRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]>;\n /**\n * Get well-known GL account ids for the tenant (from cache). Returns null ids when the cache is cold or degraded.\n */\n getWellKnownGlAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<WellKnownGlAccountsResponse>;\n}\n\nexport const BASE_URL_TOKEN_ExpenseManagement = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class ExpenseManagement implements IExpenseManagement {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_ExpenseManagement) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * List expense transactions with optional filters.\n * @ids (optional) Filter by specific expense IDs.\n * @vendorIds (optional) Filter by vendor IDs.\n * @jobIds (optional) Filter by job IDs.\n * @projectIds (optional) Filter by project IDs.\n * @syncStatuses (optional) Filter by sync statuses (e.g. \"Pending\", \"Posted\", \"Exported\").\n * @transactionStatuses (optional) Filter by transaction statuses (e.g. \"Pending\", \"Complete\", \"Declined\").\n * @receiptStatuses (optional) Filter by receipt statuses (e.g. \"Missing\", \"Attached\", \"Verified\").\n * @dateFrom (optional) Filter by transaction date (inclusive start).\n * @dateTo (optional) Filter by transaction date (inclusive end).\n * @creditCardAccountIds (optional) Filter by credit card GL account IDs.\n * @businessUnitIds (optional) Filter by business unit IDs.\n * @batchId (optional) Filter by batch ID.\n * @totalMin (optional) Filter by minimum total cost.\n * @totalMax (optional) Filter by maximum total cost.\n * @needsReview (optional) Filter by review state (missing ST mappings such as vendor, cardholder, job, or project). When true, return only transactions that need review; when false, return only transactions that do not; when null (default), the filter is not applied and both are returned.\n * @includeUnqualifiedProviderTransactions (optional) When false (default), provider-originated transactions are returned only once they have qualified (cleared by the card network AND marked ready by the provider); manual transactions are always returned. When true, un-qualified provider transactions (pending / not-ready) are also returned. Use true only for show-everything views.\n * @page (optional) Page number (1-based). Defaults to 1.\n * @pageSize (optional) Number of items per page. Defaults to 50.\n * @sortBy (optional) Property name to sort by (e.g. \"transactionDate\", \"total\", \"syncStatus\"). Defaults to \"transactionDate\".\n * @sortDirection (optional) Sort direction: \"asc\" or \"desc\". Defaults to \"desc\".\n */\n list(tenantId: number, ids: string[] | null | undefined, vendorIds: number[] | null | undefined, jobIds: number[] | null | undefined, projectIds: number[] | null | undefined, syncStatuses: string[] | null | undefined, transactionStatuses: string[] | null | undefined, receiptStatuses: string[] | null | undefined, dateFrom: Date | null | undefined, dateTo: Date | null | undefined, creditCardAccountIds: number[] | null | undefined, businessUnitIds: number[] | null | undefined, batchId: number | null | undefined, totalMin: number | null | undefined, totalMax: number | null | undefined, needsReview: boolean | null | undefined, includeUnqualifiedProviderTransactions: boolean | undefined, page: number | undefined, pageSize: number | undefined, sortBy: string | null | undefined, sortDirection: string | null | undefined, cancelToken?: CancelToken): AxiosPromise<PagedResponseOfExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (ids !== undefined && ids !== null)\n ids && ids.forEach(item => { url_ += \"ids=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vendorIds !== undefined && vendorIds !== null)\n vendorIds && vendorIds.forEach(item => { url_ += \"vendorIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (jobIds !== undefined && jobIds !== null)\n jobIds && jobIds.forEach(item => { url_ += \"jobIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (projectIds !== undefined && projectIds !== null)\n projectIds && projectIds.forEach(item => { url_ += \"projectIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (syncStatuses !== undefined && syncStatuses !== null)\n syncStatuses && syncStatuses.forEach(item => { url_ += \"syncStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (transactionStatuses !== undefined && transactionStatuses !== null)\n transactionStatuses && transactionStatuses.forEach(item => { url_ += \"transactionStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (receiptStatuses !== undefined && receiptStatuses !== null)\n receiptStatuses && receiptStatuses.forEach(item => { url_ += \"receiptStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (dateFrom !== undefined && dateFrom !== null)\n url_ += \"dateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toJSON() : \"\") + \"&\";\n if (dateTo !== undefined && dateTo !== null)\n url_ += \"dateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toJSON() : \"\") + \"&\";\n if (creditCardAccountIds !== undefined && creditCardAccountIds !== null)\n creditCardAccountIds && creditCardAccountIds.forEach(item => { url_ += \"creditCardAccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (businessUnitIds !== undefined && businessUnitIds !== null)\n businessUnitIds && businessUnitIds.forEach(item => { url_ += \"businessUnitIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (batchId !== undefined && batchId !== null)\n url_ += \"batchId=\" + encodeURIComponent(\"\" + batchId) + \"&\";\n if (totalMin !== undefined && totalMin !== null)\n url_ += \"totalMin=\" + encodeURIComponent(\"\" + totalMin) + \"&\";\n if (totalMax !== undefined && totalMax !== null)\n url_ += \"totalMax=\" + encodeURIComponent(\"\" + totalMax) + \"&\";\n if (needsReview !== undefined && needsReview !== null)\n url_ += \"needsReview=\" + encodeURIComponent(\"\" + needsReview) + \"&\";\n if (includeUnqualifiedProviderTransactions === null)\n throw new Error(\"The parameter 'includeUnqualifiedProviderTransactions' cannot be null.\");\n else if (includeUnqualifiedProviderTransactions !== undefined)\n url_ += \"includeUnqualifiedProviderTransactions=\" + encodeURIComponent(\"\" + includeUnqualifiedProviderTransactions) + \"&\";\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n if (sortBy !== undefined && sortBy !== null)\n url_ += \"sortBy=\" + encodeURIComponent(\"\" + sortBy) + \"&\";\n if (sortDirection !== undefined && sortDirection !== null)\n url_ += \"sortDirection=\" + encodeURIComponent(\"\" + sortDirection) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<PagedResponseOfExpenseTransactionResponse>(options_));\n }\n\n /**\n * Create a new expense transaction\n */\n create(tenantId: number, request: CreateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Get a single expense transaction by ID\n */\n get(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Update an existing expense transaction\n */\n update(tenantId: number, id: string, request: UpdateExpenseTransactionRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseTransactionResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseTransactionResponse>(options_));\n }\n\n /**\n * Delete an expense transaction (only if Pending)\n */\n delete(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Update sync status for one or more expense transactions (used by monolith batch posting).\n */\n updateSyncStatus(tenantId: number, request: UpdateExpenseSyncStatusRequest, cancelToken?: CancelToken): AxiosPromise<UpdateExpenseSyncStatusResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/sync-status\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<UpdateExpenseSyncStatusResponse>(options_));\n }\n\n /**\n * Mark an expense as \"not a ServiceTitan expense\" (outbound retract). Writes\n `is_st_expense=\"false\"` to the provider, persists `IsStExpense=false`, and removes the\n monolith projection. Idempotent: a no-longer-ST expense returns 200 with no provider call.\n */\n retract(tenantId: number, id: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{id}/retract\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * List attachments for an expense transaction\n */\n listAttachments(tenantId: number, expenseId: string, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseAttachmentResponse[]>(options_));\n }\n\n /**\n * Download an attachment file\n */\n downloadAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/{attachmentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n if (attachmentId === undefined || attachmentId === null)\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Delete an attachment from an expense transaction\n */\n deleteAttachment(tenantId: number, expenseId: string, attachmentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/{attachmentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n if (attachmentId === undefined || attachmentId === null)\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Bind one or more draft attachment tokens (from the draft-upload endpoint) to this\n expense transaction as permanent attachments.\n */\n promoteAttachments(tenantId: number, expenseId: string, request: AddExpenseAttachmentsRequest, cancelToken?: CancelToken): AxiosPromise<ExpenseAttachmentResponse[]> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/{expenseId}/attachments/promote\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (expenseId === undefined || expenseId === null)\n throw new Error(\"The parameter 'expenseId' must be defined.\");\n url_ = url_.replace(\"{expenseId}\", encodeURIComponent(\"\" + expenseId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ExpenseAttachmentResponse[]>(options_));\n }\n\n /**\n * Get well-known GL account ids for the tenant (from cache). Returns null ids when the cache is cold or degraded.\n */\n getWellKnownGlAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<WellKnownGlAccountsResponse> {\n let url_ = \"/v1/tenant/{tenantId}/expense-transactions/gl-accounts/well-known\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<WellKnownGlAccountsResponse>(options_));\n }\n}\n\n/** Generic paged response wrapper with total count for pagination support. */\nexport interface PagedResponseOfExpenseTransactionResponse {\n /** Data collection */\n data: ExpenseTransactionResponse[];\n /** Current page number */\n page: number;\n /** Page size */\n pageSize: number;\n /** Total count of items (null if pagination not required) */\n totalCount?: number | undefined;\n /** Whether there are more pages */\n hasMore: boolean;\n}\n\nexport interface BaseEntityApiModel {\n id: string;\n createdOn: Date;\n modifiedOn: Date;\n}\n\nexport interface ExpenseTransactionResponse extends BaseEntityApiModel {\n /** Tenant that owns this expense. */\n tenantId: number;\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Computed total: sum of line item amounts + tax + shipping. Negative for refunds. */\n total: number;\n /** True when this transaction is a refund/reversal rather than a charge. */\n isRefund: boolean;\n /** Provider id of the parent charge this refund reverses; null otherwise. */\n parentExternalId?: string | undefined;\n /** Internal MOS ExpenseId of the parent charge this refund reverses, when known; null otherwise. */\n parentExpenseId?: string | undefined;\n /** IDs of refund transactions that reference this expense as their parent.\nPopulated on GET-by-id only; null on list responses. Empty list when no refunds exist. */\n refundExpenseIds?: string[] | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Merchant processing status (e.g. Pending, Complete, Error, Declined). */\n transactionStatus: string;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Computed field: true if essential ST-related bindings are not set for the transaction (such as VendorId, cardholder, etc). */\n needsReview: boolean;\n /** MOS-owned export-readiness headline (e.g. Pending, ReadyForExport, Exported). Composed by\nExpenseStatusRules; folds in NeedsReview and ProviderRequirementsMet. */\n expenseStatus: string;\n /** Whether the upstream card provider considers this transaction's requirements met and approved.\nTri-state: null = provider has not yet determined (never coerced to false). Distinct from\nNeedsReview, which reflects ServiceTitan binding gaps rather than provider sign-off. */\n providerRequirementsMet?: boolean | undefined;\n /** Status of receipt documentation (e.g. Pending, Received). */\n receiptStatus: string;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Accounting sync/export status (e.g. Pending, Posted, Exported). */\n syncStatus: string;\n /** Batch this expense was posted in, if any. */\n batchId?: number | undefined;\n /** Identifier from the external expense provider (e.g. Ramp transaction ID). */\n externalId?: string | undefined;\n /** Name of the external provider (e.g. \"Ramp\"). */\n externalSource?: string | undefined;\n /** Card identifier from the external provider (e.g. Ramp card_id). */\n externalCardId?: string | undefined;\n /** Human-readable merchant category (e.g. \"Supermarkets and grocery stores\").\nProvider-supplied for card-sourced expenses (e.g. Ramp's `sk_category_name`); free-text for manual entries. */\n merchantCategory?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** True when the debit GL account was assigned via the safe-degrade fallback (the tenant's\nUncategorized account) rather than a confident binding. Mirrors the persisted\nExpenseTransaction.DebitGlFallbackApplied and is folded into NeedsReview; surfaced so the UI\ncan warn that the GL account needs correcting. */\n debitGlFallbackApplied: boolean;\n /** True when this expense transaction originated in ServiceTitan (as opposed to being sourced\nentirely from an external provider). Tri-state: null means unknown/not set. */\n isStExpense?: boolean | undefined;\n /** ServiceTitan-internal reference number for this expense, when it originated in ST. Null for\nprovider-sourced transactions. A blank value on an ST expense is folded into NeedsReview;\nsurfaced so the UI can explain the review reason. */\n stReferenceNumber?: string | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Provider-reported (external) values, captured verbatim before ServiceTitan resolution. Surfaced\nso a \"needs review\" expense whose merchant/cardholder did not resolve to a ServiceTitan\nvendor/employee can show what the provider sent. Null when no provider details are recorded. */\n externalDetails?: ExpenseTransactionExternalDetailsResponse;\n /** Line items with expense GL accounts. */\n lineItems: ExpenseTransactionLineItemResponse[];\n /** Receipt attachments. File content is in Azure Blob Storage; these are metadata records. */\n attachments: ExpenseAttachmentResponse[];\n}\n\n/** Provider-reported (external) values for an expense transaction, captured verbatim as the card provider sent them. Present so a \"needs review\" expense whose merchant/cardholder did not resolve to a ServiceTitan vendor/employee can surface what the provider sent (with a not-found-in-ServiceTitan indicator) instead of a blank. Null when no provider details are recorded. */\nexport interface ExpenseTransactionExternalDetailsResponse {\n /** Merchant name as reported by the provider. */\n merchantName?: string | undefined;\n /** Cardholder display name as reported by the provider. */\n cardholderName?: string | undefined;\n /** Cardholder email as reported by the provider. */\n cardholderEmail?: string | undefined;\n /** Provider's own identifier for the cardholder. */\n cardholderUserId?: string | undefined;\n /** Human-readable GL account name the provider coded on the transaction header. */\n glAccountName?: string | undefined;\n /** GL account identifier the provider coded on the transaction header. */\n glAccountId?: string | undefined;\n}\n\nexport interface ExpenseTransactionLineItemResponse extends BaseEntityApiModel {\n /** Description of the line item. */\n description: string;\n /** Total dollar amount for this line item (Quantity × UnitPrice). */\n amount: number;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\n/** Metadata information for an expense attachment (receipt). Not the actual file. */\nexport interface ExpenseAttachmentResponse extends BaseEntityApiModel {\n /** Sanitized file name for display and download. */\n filename: string;\n /** Original file name as uploaded by the user. */\n originalFilename: string;\n /** MIME content type. */\n contentType: string;\n /** File size in bytes. */\n fileSize: number;\n}\n\nexport interface CreateExpenseTransactionRequest {\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Human-readable merchant category. */\n merchantCategory?: string | undefined;\n /** Merchant processing status (e.g. \"Pending\", \"Complete\", \"Error\", \"Declined\"). Defaults to \"Complete\" for manual input. */\n transactionStatus?: string | undefined;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Line items with expense GL accounts. */\n lineItems: ExpenseTransactionLineItemRequest[];\n}\n\nexport interface ExpenseTransactionLineItemRequest {\n /** Description of the line item. */\n description: string;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\nexport interface UpdateExpenseTransactionRequest {\n /** Tenant-scoped expense transaction display number. */\n number: string;\n /** The date the transaction occurred (from card statement). */\n transactionDate?: Date | undefined;\n /** Tax portion of the total. */\n tax: number;\n /** Shipping portion of the total. */\n shipping: number;\n /** Vendor where the expense was incurred. */\n vendorId: number;\n /** Business unit this expense is charged to. */\n businessUnitId?: number | undefined;\n /** Job this expense is associated with, if any. */\n jobId?: number | undefined;\n /** Project this expense is associated with, if any. */\n projectId?: number | undefined;\n /** Purchase order linked to this expense for two-way matching. */\n purchaseOrderId?: number | undefined;\n /** Employee (cardholder) who made the purchase. */\n employeeId?: number | undefined;\n /** Credit card GL account (Liability:Credit Card) this expense was charged to. */\n creditCardAccountId?: number | undefined;\n /** Last 4 digits of the card number. */\n cardNumberLast4?: string | undefined;\n /** Human-readable merchant category (e.g. \"Supermarkets and grocery stores\").\nProvider-supplied for card-sourced expenses (e.g. Ramp's `sk_category_name`); free-text for manual entries. */\n merchantCategory?: string | undefined;\n /** Merchant processing status (e.g. \"Pending\", \"Complete\", \"Error\", \"Declined\"). */\n transactionStatus?: string | undefined;\n /** Provider-supplied context for the transaction status — e.g. decline reason, error message, or status-specific note. */\n transactionStatusDetails?: string | undefined;\n /** Free-text summary or notes for the expense. */\n summary?: string | undefined;\n /** Default debit GL account for the expense. Line items may override with their own GeneralLedgerAccountId. */\n debitAccountId?: number | undefined;\n /** Default budget code for the expense. Line items may override with their own BudgetCodeId. */\n budgetCodeId?: number | undefined;\n /** Denormalized project label(s) for display/export. */\n projectLabels?: string | undefined;\n /** Line items with expense GL accounts. Include Id for existing items, omit for new. */\n lineItems: UpdateExpenseTransactionLineItemRequest[];\n}\n\nexport interface UpdateExpenseTransactionLineItemRequest {\n /** Unique GUID for the line item: reuse the existing id to update a line, or supply a fresh\nGUID (e.g. `Guid.NewGuid()`) for a new one. Must be non-empty and unique within the\nrequest — null or an empty GUID is rejected with a 400 (UpdateAsync diffs the collection by id). */\n id?: string | undefined;\n /** Description of the line item. */\n description: string;\n /** Number of units purchased. */\n quantity: number;\n /** Dollar amount per unit. */\n unitPrice: number;\n /** Optional debit GL account override at the line level (defaults to header DebitAccountId if null). */\n generalLedgerAccountId?: number | undefined;\n /** Optional job override at the line level (defaults to header job if null). */\n jobId?: number | undefined;\n /** Optional project override at the line level (defaults to header project if null). */\n projectId?: number | undefined;\n /** Optional business unit override at the line level (defaults to header BU if null). */\n businessUnitId?: number | undefined;\n /** Optional budget code override at the line level (defaults to header BudgetCodeId if null). */\n budgetCodeId?: number | undefined;\n /** Denormalized project label for this line item. */\n projectLabels?: string | undefined;\n}\n\nexport interface UpdateExpenseSyncStatusResponse {\n /** Whether any expenses were updated. */\n updated: boolean;\n /** Number of expense transactions that were updated. */\n updatedCount: number;\n}\n\nexport interface UpdateExpenseSyncStatusRequest {\n /** IDs of the expense transactions to update. Maximum 500. */\n expenseIds: string[];\n /** Target sync status (e.g. \"Pending\", \"Posted\", \"Exported\"). */\n targetStatus: string;\n /** Batch ID. Required when transitioning to Posted. */\n batchId?: number | undefined;\n}\n\n/** Body for the promote endpoint: tokens previously returned from the draft-upload endpoint, to be associated with this expense. Filename is whatever was captured at draft-upload time (no caller-supplied override). */\nexport interface AddExpenseAttachmentsRequest {\n tokens: string[];\n}\n\nexport interface WellKnownGlAccountsResponse {\n uncategorizedExpenseAccountId?: number | undefined;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","BASE_URL_TOKEN_ExpenseManagement","ExpenseManagement","list","tenantId","ids","vendorIds","jobIds","projectIds","syncStatuses","transactionStatuses","receiptStatuses","dateFrom","dateTo","creditCardAccountIds","businessUnitIds","batchId","totalMin","totalMax","needsReview","includeUnqualifiedProviderTransactions","page","pageSize","sortBy","sortDirection","cancelToken","url_","undefined","Error","replace","encodeURIComponent","forEach","item","toJSON","options_","baseURL","baseUrl","url","method","headers","request","create","content_","data","get","id","update","delete","updateSyncStatus","retract","listAttachments","expenseId","downloadAttachment","attachmentId","deleteAttachment","promoteAttachments","getWellKnownGlAccounts","jsonParseReviver"],"mappings":"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"}
|