/** * @file Node.js client for QuickBooks V3 API * @name quickbooks-promise * @author Peter Brink * @license ISC * @copyright (c) 2019 Peter Brink * * Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee * is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * * Modified from: * https://github.com/mcohen01/node-quickbooks * 2014 Michael Cohen */ /// import { Response } from "node-fetch"; import FormData from "form-data"; import { QuickbooksTypes } from "./qbTypes"; export interface WebhookEntity { /** The name of the entity that changed (customer, Invoice, etc.) */ name: EntityName; /** The ID of the changed entity */ id: string; /** The type of change */ operation: "Create" | "Update" | "Delete" | "Merge" | "Void"; /** The latest timestamp in UTC */ lastUpdated: string; /** The ID of the deleted or merged entity (this only applies to merge events) */ deletedID?: string; } export type QuickbookEntityType = keyof QuickbooksTypes; type QuickbooksTypesArrayed = { [P in QuickbookEntityType]: QuickbooksTypes[P][]; }; export interface WebhookEventNotification { realmId: string; dataChangeEvent: { entities: WebhookEntity[]; }; } export interface WebhookPayload { eventNotifications: WebhookEventNotification[]; } export interface TokenData { access_token: string; token_type: string; x_refresh_token_expires_in: number; refresh_token: string; id_token?: string; expires_in: 3600; } export interface TokenExtraFields { access_expire_timestamp?: number | Date; refresh_expire_timestamp?: number | Date; } export interface RealmTokenData { realmID: number | string; /** @deprecated - data is just joined with realm and no longer a seperate property */ token: TokenData; } export interface StoreTokenData extends Partial { realmID?: number | string; access_token: string; access_expire_timestamp?: number | Date; refresh_expire_timestamp?: number | Date; } export interface StoreSaveTokenData extends StoreTokenData, RealmTokenData { realmID: number | string; access_token: string; access_expire_timestamp?: number | Date; refresh_expire_timestamp?: number | Date; } export interface StoreGetTokenData { realmID: number | string; } export interface QBStoreStrategy { getQBToken(storeGetTokenData: StoreGetTokenData, appConfig: AppConfigClean, extra: any): Promise; storeQBToken(storeSaveTokenData: StoreSaveTokenData, appConfig: AppConfigClean, extra: any): Promise; } export declare class DefaultStore implements QBStoreStrategy { realmInfo: { [key: string]: StoreTokenData; }; constructor(); getQBToken(getTokenData: StoreGetTokenData): Promise; storeQBToken(storeTokenData: StoreTokenData): Promise; } export declare enum EntityName { Account = "Account", Attachable = "Attachable", Bill = "Bill", BillPayment = "BillPayment", Budget = "Budget", Class = "Class", CreditMemo = "CreditMemo", CompanyInfo = "CompanyInfo", Customer = "Customer", Department = "Department", Deposit = "Deposit", Employee = "Employee", Estimate = "Estimate", Exchangerate = "Exchangerate", Invoice = "Invoice", Item = "Item", JournalCode = "JournalCode", JournalEntry = "JournalEntry", Payment = "Payment", PaymentMethod = "PaymentMethod", Preferences = "Preferences", Purchase = "Purchase", PurchaseOrder = "PurchaseOrder", RefundReceipt = "RefundReceipt", SalesReceipt = "SalesReceipt", TaxAgency = "TaxAgency", TaxService = "TaxService", TaxCode = "TaxCode", TaxRate = "TaxRate", Term = "Term", TimeActivity = "TimeActivity", Transfer = "Transfer", Vendor = "Vendor", VendorCredit = "VendorCredit" } export declare enum ReportName { AccountList = "AccountList", AgedPayableDetail = "AgedPayableDetail", AgedPayables = "AgedPayables", AgedReceivableDetail = "AgedReceivableDetail", AgedReceivables = "AgedReceivables", BalanceSheet = "BalanceSheet", CashFlow = "CashFlow", ClassSales = "ClassSales", CustomerBalance = "CustomerBalance", CustomerBalanceDetail = "CustomerBalanceDetail", CustomerIncome = "CustomerIncome", CustomerSales = "CustomerSales", DepartmentSales = "DepartmentSales", GeneralLedger = "GeneralLedger", InventoryValuationSummary = "InventoryValuationSummary", ItemSales = "ItemSales", ProfitAndLoss = "ProfitAndLoss", ProfitAndLossDetail = "ProfitAndLossDetail", TaxSummary = "TaxSummary", TransactionList = "TransactionList", TrialBalance = "TrialBalance", VendorBalance = "VendorBalance", VendorBalanceDetail = "VendorBalanceDetail", VendorExpenses = "VendorExpenses" } export type UserInfo = { sub: string; givenName: string; familyName: string; email: string; emailVerified: boolean; phoneNumber: string; phoneNumberVerified: boolean; address: { streetAddress: string; locality: string; region: string; postalCode: string; country: string; }; }; export type CreateInput = Partial; export type UpdateInput = Partial; export type DeleteInput = number | string | Partial; export interface RequestOptions { url: string; qs?: Record; headers?: object; fullurl?: boolean; formData?: FormData; returnHeadersInBody?: boolean; } interface BaseRequest { time: string; } interface HeaderAdditions { specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; } type QueryRequest = { startPosition: number; totalCount: number; maxResults: number; } & Record>; type QueryResponse = { QueryResponse: { [P in keyof (QueryRequest)]?: (QueryRequest)[P]; }; time: string; }; export interface CriteriaItem { field: string; value: string; operator?: "IN" | "=" | "<" | ">" | "<=" | ">=" | "LIKE" | null; /** * @deprecated The method should not be used */ count?: boolean; } export type QuerySortInput = ([string, "ASC" | "DESC" | null] | string)[] | [string, "ASC" | "DESC" | null] | string; export type QuerySort = [string, "ASC" | "DESC"][]; export interface QueryBase { limit?: number; offset?: number; asc?: string; desc?: string; sort?: QuerySort; fetchAll?: boolean; /** * @deprecated The method should not be used */ count?: boolean; } export interface QueryData extends QueryBase { items?: CriteriaItem[]; } export interface QueryDataWithProperties { limit?: number; offset?: number; asc?: string; desc?: string; fetchAll?: boolean; sort?: QuerySortInput; items?: CriteriaItem[]; /** * @deprecated The method should not be used */ count?: boolean; [key: string]: any; } export type QueryInput = string | QueryDataWithProperties | CriteriaItem | CriteriaItem[]; interface GetExchangeRateOptions { /** Currency code, 3 characters */ sourceCurrencyCode: string; /** yyyy-mm-dd. if not given will use current date */ asOfDate?: string; } type DeleteResponse = Record; export interface AttachableResponseData { AttachableResponse: { Attachable: { Id: string; SyncToken: string; [module: string]: any; }; time: string; }; } interface AppConfigBase { /** Required for token management such as creating, refreshing or revoking tokens. not needed if supplying a token and just need to hit normal endpoints */ appKey?: string; /** Required for token management such as creating, refreshing or revoking tokens. not needed if supplying a token and just need to hit normal endpoints */ appSecret?: string; /** Required if using Oauth flow. Must be the same as the url put on the quickbooks developer portal */ redirectUrl?: string; /** Required if using Oauth flow. */ scope?: string[]; /** null for latest version */ minorversion?: number | null; /** Used for verifying the webook */ webhookVerifierToken?: string; /** default is false */ useProduction?: string | boolean; /** default is false */ debug?: boolean | string; /** CSRF Token */ state?: string; /** default is true, will auto refresh auth token if about to expire */ autoRefresh?: boolean; /** * number of seconds before token expires that will trigger to get a new token * * defualt is 60 seconds (1 minute) */ autoRefreshBufferSeconds?: number; } export type StoreMethod = 'Class' | 'Function' | 'Internal'; export interface AppConfigStoreInternal { accessToken?: string; refreshToken?: string; } export interface AppConfigStoreClass { storeStrategy: QBStoreStrategy; } export interface AppConfigStoreFunctions { saveToken: (realmId: number | string, saveTokenData: StoreTokenData, appConfig: AppConfigClean, extra: any) => Promise; getToken: (realmId: number | string, appConfig: AppConfigClean, extra: any) => Promise; } export type AppConfig = AppConfigBase & (AppConfigStoreInternal | AppConfigStoreClass | AppConfigStoreFunctions); interface AppConfigCleanInternal extends AppConfigStoreInternal { storeMethod: 'Internal'; } interface AppConfigCleanClass extends AppConfigStoreClass { storeMethod: 'Class'; } interface AppConfigCleanFunctions extends AppConfigStoreFunctions { storeMethod: 'Function'; } export interface AppConfigCleanBase extends AppConfigBase { useProduction: boolean; debug: boolean; autoRefresh: boolean; autoRefreshBufferSeconds: number; } export type AppConfigClean = AppConfigCleanBase & (AppConfigCleanInternal | AppConfigCleanClass | AppConfigCleanFunctions); declare class Quickbooks { static AUTHORIZATION_URL: string; static TOKEN_URL: string; static USER_INFO_URL: string; static REVOKE_URL: string; static IDTOKEN_ISSUER_URL: string; static JWKS_URL: string; static APP_CENTER_BASE: string; static V3_ENDPOINT_BASE_URL: string; static QUERY_OPERATORS: string[]; static EXPIRATION_BUFFER_SECONDS: number; static scopes: { Accounting: string; Payment: string; Payroll: string; TimeTracking: string; Benefits: string; Profile: string; Email: string; Phone: string; Address: string; OpenId: string; Intuit_name: string; }; config: AppConfigClean; realmID: number | string; storeTokenData?: StoreTokenData; useProduction: boolean; extra: any; /** * Node.js client encapsulating access to the QuickBooks V3 Rest API. An instance * of this class should be instantiated on behalf of each user and company accessing the api. */ constructor(appConfig: AppConfig, realmID: string | number, extra?: any); static generateCsrf: () => string; static getApiEndpoint: (useProduction: boolean) => string; static getUserInfoEndpoint: (useProduction: boolean) => string; /** * Redirect link to Authorization Page * * Can use generateCsrf to create a state string */ static authorizeUrl: (appConfig: AppConfig, state?: string) => string; /** * Save token * * @deprecated - use Quickbooks instance method going forward */ static saveToken: (appConfig: AppConfig, tokenData: RealmTokenData) => Promise; /** * Save token * @param tokenData - token information sent back from Quickbooks or as simple as { access_token: string }, Realm token information is depricated going forward */ saveToken: (tokenInput: TokenData | RealmTokenData) => Promise; /** * Creates new token for the realmID from the returned authorization code received in the callback request * * @deprecated - use Quickbooks instance method going forward */ static createToken: (appConfig: AppConfig, authCode: string, realmID: string | number) => Promise; /** * Creates new token for the realmID from the returned authorization code received in the callback request * @param authCode - The code returned in your callback as a param called "code" * @param realmID - DEPRICATED The company identifier in your callback as a param called "realmId" * @returns new token with expiration dates from storeStrategy */ createToken: (authCode: string, realmID?: string | number) => Promise; /** * Check if access_token is valid * * uses default expire time buffer * @param token - returned from storeStrategy * @param timoutBufferSeconds - optional timout in seconds, default is 1 min * @return token has expired or not */ static isAccessTokenExpired: (token: StoreTokenData, timoutBufferSeconds?: number) => boolean; /** * Check if there is a valid (not expired) access token * @param token - returned from storeStrategy * @param timoutBufferSeconds - optional timout in seconds, default is 1 min * @return token has expired or not */ static isRefreshTokenExpired: (token: StoreTokenData, timoutBufferSeconds?: number) => boolean; /** * Get token * * @deprecated use Quickbooks instance method going forward */ static getToken: (appConfig: AppConfig, info: StoreGetTokenData) => Promise; /** * Get token */ getToken: () => Promise; /** * Get token and refresh if needed * * If config has autoRefresh false then return token regardless */ getTokenWithRefresh: () => Promise; refreshAcessTokenWithToken: (refreshToken: string) => Promise; /** * Use the refresh token to obtain a new access token. * @param token - has the refresh_token * @returns returns fresh token with access_token and refresh_token * * @deprecated use new method refreshAccessTokenWithToken going forward */ refreshWithAccessToken: (storeTokenOrRefreshString: { refresh_token: string; } | string) => Promise; /** * Use the refresh token to obtain a new access token. */ refreshAccessToken: () => Promise; revokeAccessOtherToken: (token: string) => Promise; /** * Use either refresh token or access token to revoke access (OAuth2). * * @param useRefresh - boolean - Indicates which token to use: true to use the refresh token, false to use the access token. */ revokeAccess: (useRefresh?: boolean) => Promise; /** * Validate id_token * */ validateIdToken: () => Promise; /** * get Public Key * @param modulus * @param exponent */ getPublicKey: (modulus: any, exponent: any) => any; static verifyWebhook: (verifierToken: string, payload: WebhookPayload, signature: string) => boolean; static VerifyWebhookWithConfig: (appConfig: AppConfig, payload: WebhookPayload, signature: string) => boolean; verifyWebhook: (payload: WebhookPayload, signature: string) => boolean; /*** API HELPER FUNCTIONS ***/ request: (verb: string, options: RequestOptions, entity: any) => Promise; requestPdf: (entityName: EntityName, id: string | number) => Promise; create: (entityName: K, entity: Partial) => Promise<{ [P in keyof (BaseRequest & HeaderAdditions & Record)]: (BaseRequest & HeaderAdditions & Record)[P]; }>; read: (entityName: K, id: string | number | null, options?: object) => Promise<{ [P in keyof (BaseRequest & HeaderAdditions & Record)]: (BaseRequest & HeaderAdditions & Record)[P]; }>; update: (entityName: K, entity: Partial) => Promise<{ [P in keyof (BaseRequest & HeaderAdditions & Record)]: (BaseRequest & HeaderAdditions & Record)[P]; }>; delete: (entityName: K, idOrEntity: string | number | Partial) => Promise<{ [P in keyof (DeleteResponse & HeaderAdditions)]: (DeleteResponse & HeaderAdditions)[P]; }>; void: (entityName: K, idOrEntity: string | number | Partial) => Promise<{ [P in keyof (BaseRequest & HeaderAdditions & Record)]: (BaseRequest & HeaderAdditions & Record)[P]; }>; query: (entityName: K, queryInput?: QueryInput | null) => Promise<{ QueryResponse: { [P in keyof QueryRequest]?: QueryRequest[P]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; queryCount: (entityName: K, queryInput?: QueryInput | null) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; report: (reportType: ReportName, criteria: any) => Promise; pluralize: (s: string) => string; unwrap: (data: any, baseProperty: string) => any; /*** API CALLS HERE ***/ /** * Get user info (OAuth2). * * fields returned based on scope * givenName, familyName - profile scope * Email, EmailVerified - email scope * Phone, PhoneVerified - phone scope * Address - address scope */ getUserInfo: () => Promise; /** * Batch operation to enable an application to perform multiple operations in a single request. * The following batch items are supported: create update delete query * The maximum number of batch items in a single request is 25. * * @param items - JavaScript array of batch items */ batch: (items: any[]) => Promise; /** * The change data capture (CDC) operation returns a list of entities that have changed since a specified time. * * @param entities - Comma separated list or JavaScript array of entities to search for changes * @param since - JS Date object, JS Date milliseconds, or string in ISO 8601 - to look back for changes until */ changeDataCapture: (entities: K, since: Date | number | string) => Promise<{ CDCResponse: { QueryResponse: ({ startPosition?: number; maxResults?: number; totalCount?: number; } & Pick, K extends any[] ? K[number] : K>)[]; }[]; time: string; } & HeaderAdditions>; /** * Updates QuickBooks version of Attachable * * @param attachable - The persistent Attachable, including Id and SyncToken fields */ updateAttachable: (attachable: any) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Attachable: import("./qbTypes").Attachable; }>; /** * Uploads a file as an Attachable in QBO, optionally linking it to the specified * QBO Entity. * * @param filename - the name of the file * @param contentType - the mime type of the file * @param buffer - Buffer of file contents * @param entityType - optional string name of the QBO entity the Attachable will be linked to (e.g. Invoice) * @param entityId - optional Id of the QBO entity the Attachable will be linked to */ upload: (filename: string, contentType: string, buffer: Buffer, entityType: QuickbookEntityType, entityId: string | number) => Promise<{ AttachableResponse: { Attachable: QuickbooksTypes[EntityName.Attachable]; }[]; }>; /** * Downloads the file associated with the specified Attachable. */ download: (id: string | number) => Promise; /** * Creates the Account in QuickBooks * * @param {object} account - The unsaved account, to be persisted in QuickBooks */ createAccount: (account: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Account: import("./qbTypes").Account; }>; /** * Creates the Attachable in QuickBooks * * @param {object} attachable - The unsaved attachable, to be persisted in QuickBooks */ createAttachable: (attachable: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Attachable: import("./qbTypes").Attachable; }>; /** * Creates the Bill in QuickBooks * * @param {object} bill - The unsaved bill, to be persisted in QuickBooks */ createBill: (bill: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Bill: import("./qbTypes").Bill; }>; /** * Creates the BillPayment in QuickBooks * * @param {object} billPayment - The unsaved billPayment, to be persisted in QuickBooks */ createBillPayment: (billPayment: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; BillPayment: import("./qbTypes").BillPayment; }>; /** * Creates the Class in QuickBooks * * @param classqb - The unsaved class, to be persisted in QuickBooks */ createClass: (classqb: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Class: import("./qbTypes").Class; }>; /** * Creates the CreditMemo in QuickBooks * * @param {object} creditMemo - The unsaved creditMemo, to be persisted in QuickBooks */ createCreditMemo: (creditMemo: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; CreditMemo: import("./qbTypes").CreditMemo; }>; /** * Creates the Customer in QuickBooks * * @param {object} customer - The unsaved customer, to be persisted in QuickBooks */ createCustomer: (customer: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Customer: import("./qbTypes").Customer; }>; /** * Creates the Department in QuickBooks * * @param {object} department - The unsaved department, to be persisted in QuickBooks */ createDepartment: (department: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Department: import("./qbTypes").Department; }>; /** * Creates the Deposit in QuickBooks * * @param {object} deposit - The unsaved Deposit, to be persisted in QuickBooks */ createDeposit: (deposit: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Deposit: import("./qbTypes").Deposit; }>; /** * Creates the Employee in QuickBooks * * @param {object} employee - The unsaved employee, to be persisted in QuickBooks */ createEmployee: (employee: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Employee: import("./qbTypes").Employee; }>; /** * Creates the Estimate in QuickBooks * * @param {object} estimate - The unsaved estimate, to be persisted in QuickBooks */ createEstimate: (estimate: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Estimate: import("./qbTypes").Estimate; }>; /** * Creates the Invoice in QuickBooks * * @param {object} invoice - The unsaved invoice, to be persisted in QuickBooks */ createInvoice: (invoice: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Invoice: import("./qbTypes").Invoice; }>; /** * Creates the Item in QuickBooks * * @param {object} item - The unsaved item, to be persisted in QuickBooks */ createItem: (item: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Item: import("./qbTypes").Item; }>; /** * Creates the JournalCode in QuickBooks * * @param {object} journalCode - The unsaved journalCode, to be persisted in QuickBooks */ createJournalCode: (journalCode: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalCode: import("./qbTypes").JournalCode; }>; /** * Creates the JournalEntry in QuickBooks * * @param {object} journalEntry - The unsaved journalEntry, to be persisted in QuickBooks */ createJournalEntry: (journalEntry: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalEntry: import("./qbTypes").JournalEntry; }>; /** * Creates the Payment in QuickBooks * * @param {object} payment - The unsaved payment, to be persisted in QuickBooks */ createPayment: (payment: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Payment: import("./qbTypes").Payment; }>; /** * Creates the PaymentMethod in QuickBooks * * @param {object} paymentMethod - The unsaved paymentMethod, to be persisted in QuickBooks */ createPaymentMethod: (paymentMethod: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PaymentMethod: import("./qbTypes").PaymentMethod; }>; /** * Creates the Purchase in QuickBooks * * @param {object} purchase - The unsaved purchase, to be persisted in QuickBooks */ createPurchase: (purchase: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Purchase: import("./qbTypes").Purchase; }>; /** * Creates the PurchaseOrder in QuickBooks * * @param {object} purchaseOrder - The unsaved purchaseOrder, to be persisted in QuickBooks */ createPurchaseOrder: (purchaseOrder: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PurchaseOrder: import("./qbTypes").PurchaseOrder; }>; /** * Creates the RefundReceipt in QuickBooks * * @param {object} refundReceipt - The unsaved refundReceipt, to be persisted in QuickBooks */ createRefundReceipt: (refundReceipt: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; RefundReceipt: import("./qbTypes").RefundReceipt; }>; /** * Creates the SalesReceipt in QuickBooks * * @param {object} salesReceipt - The unsaved salesReceipt, to be persisted in QuickBooks */ createSalesReceipt: (salesReceipt: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; SalesReceipt: import("./qbTypes").SalesReceipt; }>; /** * Creates the TaxAgency in QuickBooks * * @param {object} taxAgency - The unsaved taxAgency, to be persisted in QuickBooks */ createTaxAgency: (taxAgency: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxAgency: import("./qbTypes").TaxAgency; }>; /** * Creates the Term in QuickBooks * * @param {object} term - The unsaved term, to be persisted in QuickBooks */ createTerm: (term: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Term: import("./qbTypes").Term; }>; /** * Creates the TimeActivity in QuickBooks * * @param {object} timeActivity - The unsaved timeActivity, to be persisted in QuickBooks */ createTimeActivity: (timeActivity: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TimeActivity: import("./qbTypes").TimeActivity; }>; /** * Creates the Transfer in QuickBooks * * @param {object} transfer - The unsaved Transfer, to be persisted in QuickBooks */ createTransfer: (transfer: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Transfer: import("./qbTypes").Transfer; }>; /** * Creates the Vendor in QuickBooks * * @param {object} vendor - The unsaved vendor, to be persisted in QuickBooks */ createVendor: (vendor: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Vendor: import("./qbTypes").Vendor; }>; /** * Creates the VendorCredit in QuickBooks * * @param {object} vendorCredit - The unsaved vendorCredit, to be persisted in QuickBooks */ createVendorCredit: (vendorCredit: CreateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; VendorCredit: import("./qbTypes").VendorCredit; }>; /** * Creates the TaxService in QuickBooks * * Different return than other create methods, does not include entity name in top level * * @param {object} taxService - The unsaved taxService, to be persisted in QuickBooks */ createTaxService: (taxService: any) => Promise; /** * Retrieves the Account from QuickBooks * * @param Id - The Id of persistent Account */ getAccount: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Account: import("./qbTypes").Account; }>; /** * Retrieves the Attachable from QuickBooks * * @param Id - The Id of persistent Attachable */ getAttachable: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Attachable: import("./qbTypes").Attachable; }>; /** * Retrieves the Bill from QuickBooks * * @param Id - The Id of persistent Bill */ getBill: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Bill: import("./qbTypes").Bill; }>; /** * Retrieves the BillPayment from QuickBooks * * @param Id - The Id of persistent BillPayment */ getBillPayment: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; BillPayment: import("./qbTypes").BillPayment; }>; /** * Retrieves the Class from QuickBooks * * @param Id - The Id of persistent Class */ getClass: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Class: import("./qbTypes").Class; }>; /** * Retrieves the CompanyInfo from QuickBooks * * @param Id - The Id of persistent CompanyInfo */ getCompanyInfo: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; CompanyInfo: import("./qbTypes").CompanyInfo; }>; /** * Retrieves the CreditMemo from QuickBooks * * @param Id - The Id of persistent CreditMemo */ getCreditMemo: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; CreditMemo: import("./qbTypes").CreditMemo; }>; /** * Retrieves the Customer from QuickBooks * * @param Id - The Id of persistent Customer */ getCustomer: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Customer: import("./qbTypes").Customer; }>; /** * Retrieves the Department from QuickBooks * * @param Id - The Id of persistent Department */ getDepartment: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Department: import("./qbTypes").Department; }>; /** * Retrieves the Deposit from QuickBooks * * @param Id - The Id of persistent Deposit */ getDeposit: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Deposit: import("./qbTypes").Deposit; }>; /** * Retrieves the Employee from QuickBooks * * @param Id - The Id of persistent Employee */ getEmployee: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Employee: import("./qbTypes").Employee; }>; /** * Retrieves the Estimate from QuickBooks * * @param Id - The Id of persistent Estimate */ getEstimate: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Estimate: import("./qbTypes").Estimate; }>; /** * Retrieves an ExchangeRate from QuickBooks * * @param options - An object with options including the required `sourcecurrencycode` parameter and optional `asofdate` parameter. */ getExchangeRate: (options: GetExchangeRateOptions) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Exchangerate: import("./qbTypes").Exchangerate; }>; /** * Retrieves the Invoice from QuickBooks * * @param Id - The Id of persistent Invoice */ getInvoice: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Invoice: import("./qbTypes").Invoice; }>; /** * Retrieves the Item from QuickBooks * * @param Id - The Id of persistent Item */ getItem: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Item: import("./qbTypes").Item; }>; /** * Retrieves the JournalCode from QuickBooks * * @param Id - The Id of persistent JournalCode */ getJournalCode: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalCode: import("./qbTypes").JournalCode; }>; /** * Retrieves the JournalEntry from QuickBooks * * @param Id - The Id of persistent JournalEntry */ getJournalEntry: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalEntry: import("./qbTypes").JournalEntry; }>; /** * Retrieves the Payment from QuickBooks * * @param Id - The Id of persistent Payment */ getPayment: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Payment: import("./qbTypes").Payment; }>; /** * Retrieves the PaymentMethod from QuickBooks * * @param Id - The Id of persistent PaymentMethod */ getPaymentMethod: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PaymentMethod: import("./qbTypes").PaymentMethod; }>; /** * Retrieves the Preferences from QuickBooks * */ getPreferences: () => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Preferences: import("./qbTypes").Preferences; }>; /** * Retrieves the Purchase from QuickBooks * * @param Id - The Id of persistent Purchase */ getPurchase: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Purchase: import("./qbTypes").Purchase; }>; /** * Retrieves the PurchaseOrder from QuickBooks * * @param Id - The Id of persistent PurchaseOrder */ getPurchaseOrder: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PurchaseOrder: import("./qbTypes").PurchaseOrder; }>; /** * Retrieves the RefundReceipt from QuickBooks * * @param Id - The Id of persistent RefundReceipt */ getRefundReceipt: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; RefundReceipt: import("./qbTypes").RefundReceipt; }>; /** * Retrieves the Reports from QuickBooks * * @param Id - The Id of persistent Reports */ /** * Retrieves the SalesReceipt from QuickBooks * * @param Id - The Id of persistent SalesReceipt */ getSalesReceipt: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; SalesReceipt: import("./qbTypes").SalesReceipt; }>; /** * Retrieves the TaxAgency from QuickBooks * * @param Id - The Id of persistent TaxAgency */ getTaxAgency: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxAgency: import("./qbTypes").TaxAgency; }>; /** * Retrieves the TaxCode from QuickBooks * * @param Id - The Id of persistent TaxCode */ getTaxCode: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxCode: import("./qbTypes").TaxCode; }>; /** * Retrieves the TaxRate from QuickBooks * * @param Id - The Id of persistent TaxRate */ getTaxRate: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxRate: import("./qbTypes").TaxRate; }>; /** * Retrieves the Term from QuickBooks * * @param Id - The Id of persistent Term */ getTerm: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Term: import("./qbTypes").Term; }>; /** * Retrieves the TimeActivity from QuickBooks * * @param Id - The Id of persistent TimeActivity */ getTimeActivity: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TimeActivity: import("./qbTypes").TimeActivity; }>; /** * Retrieves the Transfer from QuickBooks * * @param Id - The Id of persistent Term */ getTransfer: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Transfer: import("./qbTypes").Transfer; }>; /** * Retrieves the Vendor from QuickBooks * * @param Id - The Id of persistent Vendor */ getVendor: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Vendor: import("./qbTypes").Vendor; }>; /** * Retrieves the VendorCredit from QuickBooks * * @param Id - The Id of persistent VendorCredit */ getVendorCredit: (id: string | number) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; VendorCredit: import("./qbTypes").VendorCredit; }>; /** * Retrieves the Estimate PDF from QuickBooks * * @param Id - The Id of persistent Estimate */ getEstimatePdf: (id: string | number) => Promise; /** * Retrieves the Invoice PDF from QuickBooks * * @param Id - The Id of persistent Invoice */ getInvoicePdf: (id: string | number) => Promise; /** * Retrieves the SalesReceipt PDF from QuickBooks * * @param Id - The Id of persistent SalesReceipt */ getSalesReceiptPdf: (id: string | number) => Promise; /** * Emails the Estimate PDF from QuickBooks to the address supplied in Estimate.BillEmail.EmailAddress * or the specified 'sendTo' address * * @param Id - The Id of persistent Estimate * @param {string} sendTo - optional email address to send the PDF to. If not provided, address supplied in Estimate.BillEmail.EmailAddress will be used */ sendEstimatePdf: (id: string, sendTo: string) => Promise; /** * Emails the Invoice PDF from QuickBooks to the address supplied in Invoice.BillEmail.EmailAddress * or the specified 'sendTo' address * * @param Id - The Id of persistent Invoice * @param {string} sendTo - optional email address to send the PDF to. If not provided, address supplied in Invoice.BillEmail.EmailAddress will be used */ sendInvoicePdf: (id: string, sendTo: string) => Promise; /** * Emails the SalesReceipt PDF from QuickBooks to the address supplied in SalesReceipt.BillEmail.EmailAddress * or the specified 'sendTo' address * * @param Id - The Id of persistent SalesReceipt * @param {string} sendTo - optional email address to send the PDF to. If not provided, address supplied in SalesReceipt.BillEmail.EmailAddress will be used */ sendSalesReceiptPdf: (id: string, sendTo: string) => Promise; /** * Updates QuickBooks version of Account * * @param account - The persistent Account, including Id and SyncToken fields */ updateAccount: (account: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Account: import("./qbTypes").Account; }>; /** * Updates QuickBooks version of Bill * * @param bill - The persistent Bill, including Id and SyncToken fields */ updateBill: (bill: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Bill: import("./qbTypes").Bill; }>; /** * Updates QuickBooks version of BillPayment * * @param billPayment - The persistent BillPayment, including Id and SyncToken fields */ updateBillPayment: (billPayment: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; BillPayment: import("./qbTypes").BillPayment; }>; /** * Updates QuickBooks version of Class * * @param classqb - The persistent Class, including Id and SyncToken fields */ updateClass: (classqb: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Class: import("./qbTypes").Class; }>; /** * Updates QuickBooks version of CompanyInfo * * @param companyInfo - The persistent CompanyInfo, including Id and SyncToken fields */ updateCompanyInfo: (companyInfo: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; CompanyInfo: import("./qbTypes").CompanyInfo; }>; /** * Updates QuickBooks version of CreditMemo * * @param creditMemo - The persistent CreditMemo, including Id and SyncToken fields */ updateCreditMemo: (creditMemo: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; CreditMemo: import("./qbTypes").CreditMemo; }>; /** * Updates QuickBooks version of Customer * * @param customer - The persistent Customer, including Id and SyncToken fields */ updateCustomer: (customer: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Customer: import("./qbTypes").Customer; }>; /** * Updates QuickBooks version of Department * * @param department - The persistent Department, including Id and SyncToken fields */ updateDepartment: (department: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Department: import("./qbTypes").Department; }>; /** * Updates QuickBooks version of Deposit * * @param deposit - The persistent Deposit, including Id and SyncToken fields */ updateDeposit: (deposit: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Deposit: import("./qbTypes").Deposit; }>; /** * Updates QuickBooks version of Employee * * @param employee - The persistent Employee, including Id and SyncToken fields */ updateEmployee: (employee: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Employee: import("./qbTypes").Employee; }>; /** * Updates QuickBooks version of Estimate * * @param estimate - The persistent Estimate, including Id and SyncToken fields */ updateEstimate: (estimate: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Estimate: import("./qbTypes").Estimate; }>; /** * Updates QuickBooks version of Invoice * * @param invoice - The persistent Invoice, including Id and SyncToken fields */ updateInvoice: (invoice: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Invoice: import("./qbTypes").Invoice; }>; /** * Updates QuickBooks version of Item * * @param item - The persistent Item, including Id and SyncToken fields */ updateItem: (item: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Item: import("./qbTypes").Item; }>; /** * Updates QuickBooks version of JournalCode * * @param journalCode - The persistent JournalCode, including Id and SyncToken fields */ updateJournalCode: (journalCode: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalCode: import("./qbTypes").JournalCode; }>; /** * Updates QuickBooks version of JournalEntry * * @param journalEntry - The persistent JournalEntry, including Id and SyncToken fields */ updateJournalEntry: (journalEntry: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; JournalEntry: import("./qbTypes").JournalEntry; }>; /** * Updates QuickBooks version of Payment * * @param payment - The persistent Payment, including Id and SyncToken fields */ updatePayment: (payment: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Payment: import("./qbTypes").Payment; }>; /** * Updates QuickBooks version of PaymentMethod * * @param paymentMethod - The persistent PaymentMethod, including Id and SyncToken fields */ updatePaymentMethod: (paymentMethod: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PaymentMethod: import("./qbTypes").PaymentMethod; }>; /** * Updates QuickBooks version of Preferences * * @param preferences - The persistent Preferences, including Id and SyncToken fields */ updatePreferences: (preferences: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Preferences: import("./qbTypes").Preferences; }>; /** * Updates QuickBooks version of Purchase * * @param purchase - The persistent Purchase, including Id and SyncToken fields */ updatePurchase: (purchase: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Purchase: import("./qbTypes").Purchase; }>; /** * Updates QuickBooks version of PurchaseOrder * * @param purchaseOrder - The persistent PurchaseOrder, including Id and SyncToken fields */ updatePurchaseOrder: (purchaseOrder: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; PurchaseOrder: import("./qbTypes").PurchaseOrder; }>; /** * Updates QuickBooks version of RefundReceipt * * @param refundReceipt - The persistent RefundReceipt, including Id and SyncToken fields */ updateRefundReceipt: (refundReceipt: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; RefundReceipt: import("./qbTypes").RefundReceipt; }>; /** * Updates QuickBooks version of SalesReceipt * * @param salesReceipt - The persistent SalesReceipt, including Id and SyncToken fields */ updateSalesReceipt: (salesReceipt: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; SalesReceipt: import("./qbTypes").SalesReceipt; }>; /** * Updates QuickBooks version of TaxAgency * * @param taxAgency - The persistent TaxAgency, including Id and SyncToken fields */ updateTaxAgency: (taxAgency: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxAgency: import("./qbTypes").TaxAgency; }>; /** * Updates QuickBooks version of TaxCode * * @param taxCode - The persistent TaxCode, including Id and SyncToken fields */ updateTaxCode: (taxCode: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxCode: import("./qbTypes").TaxCode; }>; /** * Updates QuickBooks version of TaxRate * * @param taxRate - The persistent TaxRate, including Id and SyncToken fields */ updateTaxRate: (taxRate: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TaxRate: import("./qbTypes").TaxRate; }>; /** * Updates QuickBooks version of Term * * @param term - The persistent Term, including Id and SyncToken fields */ updateTerm: (term: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Term: import("./qbTypes").Term; }>; /** * Updates QuickBooks version of TimeActivity * * @param timeActivity - The persistent TimeActivity, including Id and SyncToken fields */ updateTimeActivity: (timeActivity: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; TimeActivity: import("./qbTypes").TimeActivity; }>; /** * Updates QuickBooks version of Transfer * * @param Transfer - The persistent Transfer, including Id and SyncToken fields */ updateTransfer: (transfer: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Transfer: import("./qbTypes").Transfer; }>; /** * Updates QuickBooks version of Vendor * * @param vendor - The persistent Vendor, including Id and SyncToken fields */ updateVendor: (vendor: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Vendor: import("./qbTypes").Vendor; }>; /** * Updates QuickBooks version of VendorCredit * * @param vendorCredit - The persistent VendorCredit, including Id and SyncToken fields */ updateVendorCredit: (vendorCredit: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; VendorCredit: import("./qbTypes").VendorCredit; }>; /** * Updates QuickBooks version of ExchangeRate * * @param exchangeRate - The persistent ExchangeRate, including Id and SyncToken fields */ updateExchangeRate: (exchangeRate: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Exchangerate: import("./qbTypes").Exchangerate; }>; /** * Deletes the Attachable from QuickBooks * * @param idOrEntity - The persistent Attachable to be deleted, or the Id of the Attachable, in which case an extra GET request will be issued to first retrieve the Attachable */ deleteAttachable: (idOrEntity: DeleteInput) => Promise<{ Attachable: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Bill from QuickBooks * * @param idOrEntity - The persistent Bill to be deleted, or the Id of the Bill, in which case an extra GET request will be issued to first retrieve the Bill */ deleteBill: (idOrEntity: DeleteInput) => Promise<{ Bill: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the BillPayment from QuickBooks * * @param idOrEntity - The persistent BillPayment to be deleted, or the Id of the BillPayment, in which case an extra GET request will be issued to first retrieve the BillPayment */ deleteBillPayment: (idOrEntity: DeleteInput) => Promise<{ BillPayment: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the CreditMemo from QuickBooks * * @param idOrEntity - The persistent CreditMemo to be deleted, or the Id of the CreditMemo, in which case an extra GET request will be issued to first retrieve the CreditMemo */ deleteCreditMemo: (idOrEntity: DeleteInput) => Promise<{ CreditMemo: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Deposit from QuickBooks * * @param idOrEntity - The persistent Deposit to be deleted, or the Id of the Deposit, in which case an extra GET request will be issued to first retrieve the Deposit */ deleteDeposit: (idOrEntity: DeleteInput) => Promise<{ Deposit: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Estimate from QuickBooks * * @param idOrEntity - The persistent Estimate to be deleted, or the Id of the Estimate, in which case an extra GET request will be issued to first retrieve the Estimate */ deleteEstimate: (idOrEntity: DeleteInput) => Promise<{ Estimate: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Invoice from QuickBooks * * @param idOrEntity - The persistent Invoice to be deleted, or the Id of the Invoice, in which case an extra GET request will be issued to first retrieve the Invoice */ deleteInvoice: (idOrEntity: DeleteInput) => Promise<{ Invoice: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the JournalCode from QuickBooks * * @param idOrEntity - The persistent JournalCode to be deleted, or the Id of the JournalCode, in which case an extra GET request will be issued to first retrieve the JournalCode */ deleteJournalCode: (idOrEntity: DeleteInput) => Promise<{ JournalCode: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the JournalEntry from QuickBooks * * @param idOrEntity - The persistent JournalEntry to be deleted, or the Id of the JournalEntry, in which case an extra GET request will be issued to first retrieve the JournalEntry */ deleteJournalEntry: (idOrEntity: DeleteInput) => Promise<{ JournalEntry: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Payment from QuickBooks * * @param idOrEntity - The persistent Payment to be deleted, or the Id of the Payment, in which case an extra GET request will be issued to first retrieve the Payment */ deletePayment: (idOrEntity: DeleteInput) => Promise<{ Payment: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Purchase from QuickBooks * * @param idOrEntity - The persistent Purchase to be deleted, or the Id of the Purchase, in which case an extra GET request will be issued to first retrieve the Purchase */ deletePurchase: (idOrEntity: DeleteInput) => Promise<{ Purchase: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the PurchaseOrder from QuickBooks * * @param idOrEntity - The persistent PurchaseOrder to be deleted, or the Id of the PurchaseOrder, in which case an extra GET request will be issued to first retrieve the PurchaseOrder */ deletePurchaseOrder: (idOrEntity: DeleteInput) => Promise<{ PurchaseOrder: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the RefundReceipt from QuickBooks * * @param idOrEntity - The persistent RefundReceipt to be deleted, or the Id of the RefundReceipt, in which case an extra GET request will be issued to first retrieve the RefundReceipt */ deleteRefundReceipt: (idOrEntity: DeleteInput) => Promise<{ RefundReceipt: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the SalesReceipt from QuickBooks * * @param idOrEntity - The persistent SalesReceipt to be deleted, or the Id of the SalesReceipt, in which case an extra GET request will be issued to first retrieve the SalesReceipt */ deleteSalesReceipt: (idOrEntity: DeleteInput) => Promise<{ SalesReceipt: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the TimeActivity from QuickBooks * * @param idOrEntity - The persistent TimeActivity to be deleted, or the Id of the TimeActivity, in which case an extra GET request will be issued to first retrieve the TimeActivity */ deleteTimeActivity: (idOrEntity: DeleteInput) => Promise<{ TimeActivity: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the Transfer from QuickBooks * * @param idOrEntity - The persistent Transfer to be deleted, or the Id of the Transfer, in which case an extra GET request will be issued to first retrieve the Transfer */ deleteTransfer: (idOrEntity: DeleteInput) => Promise<{ Transfer: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Deletes the VendorCredit from QuickBooks * * @param idOrEntity - The persistent VendorCredit to be deleted, or the Id of the VendorCredit, in which case an extra GET request will be issued to first retrieve the VendorCredit */ deleteVendorCredit: (idOrEntity: DeleteInput) => Promise<{ VendorCredit: { status: string; domain: string; Id: string; }; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Voids the Invoice from QuickBooks * * @param idOrEntity - The persistent Invoice to be voided, or the Id of the Invoice, in which case an extra GET request will be issued to first retrieve the Invoice */ voidInvoice: (idOrEntity: DeleteInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Invoice: import("./qbTypes").Invoice; }>; /** * Voids QuickBooks version of Payment * * @param payment - The persistent Payment, including Id and SyncToken fields */ voidPayment: (payment: UpdateInput) => Promise<{ time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; Payment: import("./qbTypes").Payment; }>; /** * Finds all Accounts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findAccounts: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Account?: import("./qbTypes").Account[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Attachables in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findAttachables: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Attachable?: import("./qbTypes").Attachable[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Bills in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findBills: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Bill?: import("./qbTypes").Bill[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all BillPayments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findBillPayments: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; BillPayment?: import("./qbTypes").BillPayment[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Budgets in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findBudgets: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Budget?: import("./qbTypes").Budget[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Classs in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findClasses: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Class?: import("./qbTypes").Class[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all CompanyInfos in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findCompanyInfos: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; CompanyInfo?: import("./qbTypes").CompanyInfo[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all CreditMemos in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findCreditMemos: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; CreditMemo?: import("./qbTypes").CreditMemo[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Customers in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findCustomers: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Customer?: import("./qbTypes").Customer[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Departments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findDepartments: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Department?: import("./qbTypes").Department[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Deposits in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findDeposits: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Deposit?: import("./qbTypes").Deposit[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Employees in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findEmployees: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Employee?: import("./qbTypes").Employee[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Estimates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findEstimates: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Estimate?: import("./qbTypes").Estimate[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Invoices in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findInvoices: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Invoice?: import("./qbTypes").Invoice[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Items in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findItems: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Item?: import("./qbTypes").Item[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all JournalCodes in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findJournalCodes: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; JournalCode?: import("./qbTypes").JournalCode[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all JournalEntrys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findJournalEntries: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; JournalEntry?: import("./qbTypes").JournalEntry[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Payments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findPayments: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Payment?: import("./qbTypes").Payment[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all PaymentMethods in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findPaymentMethods: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; PaymentMethod?: import("./qbTypes").PaymentMethod[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Preferencess in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findPreferenceses: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Preferences?: import("./qbTypes").Preferences[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Purchases in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findPurchases: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Purchase?: import("./qbTypes").Purchase[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all PurchaseOrders in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findPurchaseOrders: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; PurchaseOrder?: import("./qbTypes").PurchaseOrder[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all RefundReceipts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findRefundReceipts: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; RefundReceipt?: import("./qbTypes").RefundReceipt[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all SalesReceipts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findSalesReceipts: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; SalesReceipt?: import("./qbTypes").SalesReceipt[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all TaxAgencys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTaxAgencies: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; TaxAgency?: import("./qbTypes").TaxAgency[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all TaxCodes in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTaxCodes: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; TaxCode?: import("./qbTypes").TaxCode[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all TaxRates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTaxRates: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; TaxRate?: import("./qbTypes").TaxRate[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Terms in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTerms: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Term?: import("./qbTypes").Term[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all TimeActivitys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTimeActivities: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; TimeActivity?: import("./qbTypes").TimeActivity[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Transfers in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findTransfers: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Transfer?: import("./qbTypes").Transfer[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Vendors in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findVendors: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Vendor?: import("./qbTypes").Vendor[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all VendorCredits in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findVendorCredits: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; VendorCredit?: import("./qbTypes").VendorCredit[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all ExchangeRates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ findExchangeRates: (criteria?: QueryInput) => Promise<{ QueryResponse: { startPosition?: number; totalCount?: number; maxResults?: number; Exchangerate?: import("./qbTypes").Exchangerate[]; }; time: string; specialHeaders: { intuitTid: string; server: string; qboVersion: string; expires: string; date: string; }; }>; /** * Finds all Accounts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countAccounts: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Attachables in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countAttachables: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Bills in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countBills: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all BillPayments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countBillPayments: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Budgets in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countBudgets: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Classs in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countClasses: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all CompanyInfos in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countCompanyInfos: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all CreditMemos in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countCreditMemos: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Customers in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countCustomers: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Departments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countDepartments: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Deposits in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countDeposits: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Employees in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countEmployees: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Estimates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countEstimates: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Invoices in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countInvoices: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Items in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countItems: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all JournalCodes in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countJournalCodes: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all JournalEntrys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countJournalEntries: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Payments in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countPayments: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all PaymentMethods in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countPaymentMethods: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Preferencess in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countPreferenceses: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Purchases in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countPurchases: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all PurchaseOrders in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countPurchaseOrders: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all RefundReceipts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countRefundReceipts: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all SalesReceipts in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countSalesReceipts: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all TaxAgencys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTaxAgencies: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all TaxCodes in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTaxCodes: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all TaxRates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTaxRates: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Terms in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTerms: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all TimeActivitys in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTimeActivities: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Transfers in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countTransfers: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all Vendors in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countVendors: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all VendorCredits in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countVendorCredits: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Finds all ExchangeRates in QuickBooks, optionally matching the specified criteria * * @param criteria - (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'" */ countExchangeRates: (criteria?: QueryInput) => Promise<{ QueryResponse: { totalCount: number; }; time: string; } & HeaderAdditions>; /** * Retrieves the BalanceSheet Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportBalanceSheet: (options?: any) => Promise; /** * Retrieves the ProfitAndLoss Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportProfitAndLoss: (options?: any) => Promise; /** * Retrieves the ProfitAndLossDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportProfitAndLossDetail: (options?: any) => Promise; /** * Retrieves the TrialBalance Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportTrialBalance: (options?: any) => Promise; /** * Retrieves the CashFlow Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportCashFlow: (options?: any) => Promise; /** * Retrieves the InventoryValuationSummary Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportInventoryValuationSummary: (options?: any) => Promise; /** * Retrieves the CustomerSales Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportCustomerSales: (options?: any) => Promise; /** * Retrieves the ItemSales Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportItemSales: (options?: any) => Promise; /** * Retrieves the CustomerIncome Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportCustomerIncome: (options?: any) => Promise; /** * Retrieves the CustomerBalance Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportCustomerBalance: (options?: any) => Promise; /** * Retrieves the CustomerBalanceDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportCustomerBalanceDetail: (options?: any) => Promise; /** * Retrieves the AgedReceivables Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportAgedReceivables: (options?: any) => Promise; /** * Retrieves the AgedReceivableDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportAgedReceivableDetail: (options?: any) => Promise; /** * Retrieves the VendorBalance Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportVendorBalance: (options?: any) => Promise; /** * Retrieves the VendorBalanceDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportVendorBalanceDetail: (options?: any) => Promise; /** * Retrieves the AgedPayables Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportAgedPayables: (options?: any) => Promise; /** * Retrieves the AgedPayableDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportAgedPayableDetail: (options?: any) => Promise; /** * Retrieves the VendorExpenses Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportVendorExpenses: (options?: any) => Promise; /** * Retrieves the TransactionList Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportTransactionList: (options?: any) => Promise; /** * Retrieves the GeneralLedgerDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportGeneralLedgerDetail: (options?: any) => Promise; /** * Retrieves the TaxSummary Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportTaxSummary: (options?: any) => Promise; /** * Retrieves the DepartmentSales Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportDepartmentSales: (options?: any) => Promise; /** * Retrieves the ClassSales Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportClassSales: (options?: any) => Promise; /** * Retrieves the AccountListDetail Report from QuickBooks * * @param options - (Optional) Map of key-value pairs passed as options to the Report */ reportAccountListDetail: (options?: any) => Promise; } export default Quickbooks; export { Quickbooks };