conductor-node 9.4.2 → 9.5.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/README.md +3 -5
- package/dist/package.json +1 -1
- package/dist/src/Client.d.ts +6 -6
- package/dist/src/Client.js +10 -10
- package/dist/src/integrations/qbd/QbdIntegration.d.ts +11 -0
- package/dist/src/integrations/qbd/QbdIntegration.js +13 -2
- package/dist/src/integrations/qbd/qbdTypes.d.ts +195 -0
- package/dist/src/utils/error.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,14 +100,12 @@ Fetches all authorized integration-connections.
|
|
|
100
100
|
const qbdConnections = await conductor.getIntegrationConnections();
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
### `
|
|
103
|
+
### `getIntegrationConnection(id: string)`
|
|
104
104
|
|
|
105
105
|
Fetches a single integration-connection by id.
|
|
106
106
|
|
|
107
107
|
```ts
|
|
108
|
-
const qbdConnection = await conductor.
|
|
109
|
-
qbdConnectionId
|
|
110
|
-
);
|
|
108
|
+
const qbdConnection = await conductor.getIntegrationConnection(qbdConnectionId);
|
|
111
109
|
```
|
|
112
110
|
|
|
113
111
|
### `pingIntegrationConnection(id: string)`
|
|
@@ -175,7 +173,7 @@ All errors thrown by the Conductor API are instances of `ConductorError` or its
|
|
|
175
173
|
|
|
176
174
|
The error object you receive will have one of the following error types:
|
|
177
175
|
|
|
178
|
-
|
|
|
176
|
+
| Name | Description |
|
|
179
177
|
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
180
178
|
| `ConductorIntegrationError` | Raised when the third-party integration encounters an error while processing the end-user's request. This often results from an issue with the request or data handling that requires your attention to resolve.<br><br>E.g., a `ListID` you provided was not found in QuickBooks Desktop, or an accounting value you supplied did not adhere to the integration's accounting rules.<br><br>Refer to `error.integrationCode` for the error code returned by the integration, if available. |
|
|
181
179
|
| `ConductorIntegrationConnectionError` | Raised when a connection error occurs with the third-party integration on the end-user's side. This typically indicates an issue with the end-user's integration connection or configuration, which they must resolve. In other words, you cannot take action to fix these errors.<br><br>E.g., QuickBooks Web Connector (QBWC) failed to connect to QuickBooks Desktop on the end-user's computer.<br><br>Refer to `error.integrationCode` for the error code returned by the integration connector, if available.<br><br>❗ We recommend _not_ alerting your team for these errors because only the end-user can fix them. See [Centralized Error Handling](#centralized-error-handling) for an example of this. |
|
package/dist/package.json
CHANGED
package/dist/src/Client.d.ts
CHANGED
|
@@ -12,6 +12,12 @@ export default class Client {
|
|
|
12
12
|
private readonly graphqlClient;
|
|
13
13
|
private readonly graphqlOperations;
|
|
14
14
|
constructor(apiKey: string, { verbose, serverEnvironment }?: ClientOptions);
|
|
15
|
+
/**
|
|
16
|
+
* Fetches all integration-connections associated with your Conductor account.
|
|
17
|
+
*
|
|
18
|
+
* @returns The integration-connections.
|
|
19
|
+
*/
|
|
20
|
+
getIntegrationConnections(): Promise<GraphqlGetIntegrationConnectionsQuery["integrationConnections"]>;
|
|
15
21
|
/**
|
|
16
22
|
* Fetches the specified integration-connection.
|
|
17
23
|
*
|
|
@@ -19,12 +25,6 @@ export default class Client {
|
|
|
19
25
|
* @returns The integration-connection.
|
|
20
26
|
*/
|
|
21
27
|
getIntegrationConnection(integrationConnectionId: GraphqlGetIntegrationConnectionQueryVariables["integrationConnectionId"]): Promise<GraphqlGetIntegrationConnectionQuery["integrationConnection"]>;
|
|
22
|
-
/**
|
|
23
|
-
* Fetches all integration-connections associated with your Conductor account.
|
|
24
|
-
*
|
|
25
|
-
* @returns The integration-connections.
|
|
26
|
-
*/
|
|
27
|
-
getIntegrationConnections(): Promise<GraphqlGetIntegrationConnectionsQuery["integrationConnections"]>;
|
|
28
28
|
/**
|
|
29
29
|
* Creates a new integration-connection.
|
|
30
30
|
*
|
package/dist/src/Client.js
CHANGED
|
@@ -20,6 +20,16 @@ class Client {
|
|
|
20
20
|
this.graphqlOperations = (0, graphqlOperationWrapper_1.wrapGraphqlOperations)((0, operationTypes_1.getSdk)(this.graphqlClient), verbose);
|
|
21
21
|
this.qbd = new QbdIntegration_1.default(this.graphqlOperations);
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Fetches all integration-connections associated with your Conductor account.
|
|
25
|
+
*
|
|
26
|
+
* @returns The integration-connections.
|
|
27
|
+
*/
|
|
28
|
+
async getIntegrationConnections() {
|
|
29
|
+
return this.graphqlOperations
|
|
30
|
+
.getIntegrationConnections()
|
|
31
|
+
.then((result) => result.integrationConnections);
|
|
32
|
+
}
|
|
23
33
|
/**
|
|
24
34
|
* Fetches the specified integration-connection.
|
|
25
35
|
*
|
|
@@ -31,16 +41,6 @@ class Client {
|
|
|
31
41
|
.getIntegrationConnection({ integrationConnectionId })
|
|
32
42
|
.then((result) => result.integrationConnection);
|
|
33
43
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Fetches all integration-connections associated with your Conductor account.
|
|
36
|
-
*
|
|
37
|
-
* @returns The integration-connections.
|
|
38
|
-
*/
|
|
39
|
-
async getIntegrationConnections() {
|
|
40
|
-
return this.graphqlOperations
|
|
41
|
-
.getIntegrationConnections()
|
|
42
|
-
.then((result) => result.integrationConnections);
|
|
43
|
-
}
|
|
44
44
|
/**
|
|
45
45
|
* Creates a new integration-connection.
|
|
46
46
|
*
|
|
@@ -1344,6 +1344,17 @@ export default class QbdIntegration extends BaseIntegration {
|
|
|
1344
1344
|
*/
|
|
1345
1345
|
query: (integrationConnectionId: string, params: QbdTypes.ItemSubtotalQueryRq) => Promise<NonNullable<QbdTypes.ItemSubtotalQueryRs["ItemSubtotalRet"]>>;
|
|
1346
1346
|
};
|
|
1347
|
+
jobReport: {
|
|
1348
|
+
/**
|
|
1349
|
+
* Queries for a job report, which includes both summary and transaction
|
|
1350
|
+
* detail reports. The reports can be customized only by date range, by
|
|
1351
|
+
* column summarization, and by common filters. Some job reports require a
|
|
1352
|
+
* `customer:job` reference in order to work.
|
|
1353
|
+
*
|
|
1354
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobReportQuery
|
|
1355
|
+
*/
|
|
1356
|
+
query: (integrationConnectionId: string, params: QbdTypes.JobReportQueryRq) => Promise<NonNullable<QbdTypes.JobReportQueryRs["ReportRet"]>>;
|
|
1357
|
+
};
|
|
1347
1358
|
jobType: {
|
|
1348
1359
|
/**
|
|
1349
1360
|
* Adds a job type. A job type can be used to separate jobs into any
|
|
@@ -1349,6 +1349,17 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
1349
1349
|
*/
|
|
1350
1350
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSubtotalQueryRq: params }, "ItemSubtotalQueryRs", "ItemSubtotalRet"),
|
|
1351
1351
|
};
|
|
1352
|
+
jobReport = {
|
|
1353
|
+
/**
|
|
1354
|
+
* Queries for a job report, which includes both summary and transaction
|
|
1355
|
+
* detail reports. The reports can be customized only by date range, by
|
|
1356
|
+
* column summarization, and by common filters. Some job reports require a
|
|
1357
|
+
* `customer:job` reference in order to work.
|
|
1358
|
+
*
|
|
1359
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobReportQuery
|
|
1360
|
+
*/
|
|
1361
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { JobReportQueryRq: params }, "JobReportQueryRs", "ReportRet"),
|
|
1362
|
+
};
|
|
1352
1363
|
jobType = {
|
|
1353
1364
|
/**
|
|
1354
1365
|
* Adds a job type. A job type can be used to separate jobs into any
|
|
@@ -1775,9 +1786,9 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
1775
1786
|
requestObject,
|
|
1776
1787
|
});
|
|
1777
1788
|
}
|
|
1778
|
-
async sendRequestWrapper(integrationConnectionId, params,
|
|
1789
|
+
async sendRequestWrapper(integrationConnectionId, params, responseWrapperKey, responseBodyKey) {
|
|
1779
1790
|
const response = (await this.sendRequest(integrationConnectionId, params));
|
|
1780
|
-
const responseBody = response[
|
|
1791
|
+
const responseBody = response[responseWrapperKey]?.[responseBodyKey];
|
|
1781
1792
|
if (responseBody === undefined) {
|
|
1782
1793
|
throw new error_1.ConductorIntegrationError({
|
|
1783
1794
|
message: "No response received from QuickBooks Desktop.",
|
|
@@ -232,6 +232,7 @@ export interface AccountRet {
|
|
|
232
232
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
233
233
|
}
|
|
234
234
|
export type AccountType = "AccountsPayable" | "AccountsReceivable" | "Bank" | "CostOfGoodsSold" | "CreditCard" | "Equity" | "Expense" | "FixedAsset" | "Income" | "LongTermLiability" | "NonPosting" | "OtherAsset" | "OtherCurrentAsset" | "OtherCurrentLiability" | "OtherExpense" | "OtherIncome";
|
|
235
|
+
export type AccountTypeFilter = "AccountsPayable" | "AccountsReceivable" | "AllowedFor1099" | "APAndSalesTax" | "APOrCreditCard" | "ARAndAP" | "Asset" | "BalanceSheet" | "Bank" | "BankAndARAndAPAndUF" | "BankAndUF" | "CostOfSales" | "CreditCard" | "CurrentAsset" | "CurrentAssetAndExpense" | "CurrentLiability" | "Equity" | "EquityAndIncomeAndExpense" | "ExpenseAndOtherExpense" | "FixedAsset" | "IncomeAndExpense" | "IncomeAndOtherIncome" | "Liability" | "LiabilityAndEquity" | "LongTermLiability" | "NonPosting" | "OrdinaryExpense" | "OrdinaryIncome" | "OrdinaryIncomeAndCOGS" | "OrdinaryIncomeAndExpense" | "OtherAsset" | "OtherCurrentAsset" | "OtherCurrentLiability" | "OtherExpense" | "OtherIncome" | "OtherIncomeOrExpense";
|
|
235
236
|
export type AccrualPeriod = "BeginningOfYear" | "EveryHourOnPaycheck" | "EveryPaycheck";
|
|
236
237
|
export type AcquiredAs = "New" | "Old";
|
|
237
238
|
/** @default: ActiveOnly */
|
|
@@ -1403,6 +1404,31 @@ export interface COGSAccountRef {
|
|
|
1403
1404
|
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1404
1405
|
FullName?: string;
|
|
1405
1406
|
}
|
|
1407
|
+
export interface ColData {
|
|
1408
|
+
/** An identifying number that corresponds to the position of this column in the report. The columns are numbered from left to right, starting with 1. */
|
|
1409
|
+
ColID: number;
|
|
1410
|
+
/** The data in this cell of the report. */
|
|
1411
|
+
Value: string;
|
|
1412
|
+
/** The data type: IDTYPE, STRTYPE, and so on. */
|
|
1413
|
+
DataType: DataType;
|
|
1414
|
+
}
|
|
1415
|
+
export interface ColDesc {
|
|
1416
|
+
/** A list of `IColTitle` objects, each of which represents a title for this column. For example, if the first two rows of this column were titles, two `IColTitle` objects would be returned. */
|
|
1417
|
+
ColTitle: ColTitle | ColTitle[];
|
|
1418
|
+
/** The type of data that this column contains. `ColType` values are formatted types. (Returned `ctPercent` values, for example, will have digits after the decimal points, and ctAddr1 values will be strings.) */
|
|
1419
|
+
ColType: ColType;
|
|
1420
|
+
/** An identifying number that corresponds to the position of this column in the report. The columns are numbered from left to right, starting with 1. */
|
|
1421
|
+
ColID: number;
|
|
1422
|
+
/** The data type: IDTYPE, STRTYPE, and so on. */
|
|
1423
|
+
DataType: DataType;
|
|
1424
|
+
}
|
|
1425
|
+
export interface ColTitle {
|
|
1426
|
+
/** The number of this title row. For example, if the first three rows of a report were titles, `titleRow` of the third of these rows would be 3. */
|
|
1427
|
+
TitleRow: number;
|
|
1428
|
+
/** The data in this cell of the report. */
|
|
1429
|
+
Value: string;
|
|
1430
|
+
}
|
|
1431
|
+
export type ColType = "Account" | "Addr1" | "Addr2" | "Addr3" | "Addr4" | "Addr5" | "Aging" | "Amount" | "AmountDifference" | "AverageCost" | "BilledDate" | "BillingStatus" | "Blank" | "CalculatedAmount" | "Class" | "ClearedStatus" | "CostPrice" | "CreateDate" | "Credit" | "CustomField" | "Date" | "Debit" | "DeliveryDate" | "DueDate" | "Duration" | "EarliestReceiptDate" | "EstimateActive" | "FOB" | "IncomeSubjectToTax" | "Invoiced" | "IsAdjustment" | "Item" | "ItemDesc" | "ItemVendor" | "Label" | "LastModifiedBy" | "LatestOrPriorState" | "Memo" | "ModifiedTime" | "Name" | "NameAccountNumber" | "NameAddress" | "NameCity" | "NameContact" | "NameEmail" | "NameFax" | "NamePhone" | "NameState" | "NameZip" | "OpenBalance" | "OriginalAmount" | "PaidAmount" | "PaidStatus" | "PaidThroughDate" | "PaymentMethod" | "PayrollItem" | "Percent" | "PercentChange" | "PercentOfTotalRetail" | "PercentOfTotalValue" | "PhysicalCount" | "PONumber" | "PrintStatus" | "ProgressAmount" | "ProgressPercent" | "Quantity" | "QuantityAvailable" | "QuantityOnHand" | "QuantityOnOrder" | "QuantityOnPendingBuild" | "QuantityOnSalesOrder" | "ReceivedQuantity" | "RefNumber" | "ReorderPoint" | "RetailValueOnHand" | "RunningBalance" | "SalesPerWeek" | "SalesRep" | "SalesTaxCode" | "ShipDate" | "ShipMethod" | "ShipToAddr1" | "ShipToAddr2" | "ShipToAddr3" | "ShipToAddr4" | "ShipToAddr5" | "SONumber" | "SourceName" | "SplitAccount" | "SSNOrTaxID" | "SuggestedReorder" | "TaxLine" | "TaxTableVersion" | "Terms" | "Total" | "TxnID" | "TxnNumber" | "TxnType" | "UnitPrice" | "UserEdit" | "ValueOnHand" | "WageBase" | "WageBaseTips";
|
|
1406
1432
|
export interface CompanyAddressBlockForCustomer {
|
|
1407
1433
|
/** The first line of an address. */
|
|
1408
1434
|
Addr1?: string;
|
|
@@ -2469,6 +2495,13 @@ export interface DataExtRet {
|
|
|
2469
2495
|
DataExtValue: string;
|
|
2470
2496
|
}
|
|
2471
2497
|
export type DataExtType = "AMTTYPE" | "DATETIMETYPE" | "INTTYPE" | "PERCENTTYPE" | "PRICETYPE" | "QUANTYPE" | "STR255TYPE" | "STR1024TYPE";
|
|
2498
|
+
export interface DataRow {
|
|
2499
|
+
/** `RowData` describes one row in the report. */
|
|
2500
|
+
RowData?: RowData;
|
|
2501
|
+
/** A list of `IColData` objects, each of which describes the data in one cell of the report. */
|
|
2502
|
+
ColData?: ColData | ColData[];
|
|
2503
|
+
}
|
|
2504
|
+
export type DataType = "AMTTYPE" | "BOOLTYPE" | "DATETIMETYPE" | "DATETYPE" | "ENUMTYPE" | "GUIDTYPE" | "IDTYPE" | "INTTYPE" | "PERCENTTYPE" | "PRICETYPE" | "QUANTYPE" | "STRTYPE" | "TIMEINTERVALTYPE";
|
|
2472
2505
|
export type DateMacro = "All" | "LastCalendarQuarter" | "LastCalendarQuarterToDate" | "LastCalendarYear" | "LastCalendarYearToDate" | "LastFiscalQuarter" | "LastFiscalQuarterToDate" | "LastFiscalYear" | "LastFiscalYearToDate" | "LastMonth" | "LastMonthToDate" | "LastWeek" | "LastWeekToDate" | "NextCalendarQuarter" | "NextCalendarYear" | "NextFiscalQuarter" | "NextFiscalYear" | "NextFourWeeks" | "NextMonth" | "NextWeek" | "ThisCalendarQuarter" | "ThisCalendarQuarterToDate" | "ThisCalendarYear" | "ThisCalendarYearToDate" | "ThisFiscalQuarter" | "ThisFiscalQuarterToDate" | "ThisFiscalYear" | "ThisFiscalYearToDate" | "ThisMonth" | "ThisMonthToDate" | "ThisWeek" | "ThisWeekToDate" | "Today" | "Yesterday";
|
|
2473
2506
|
export interface DepositAdd {
|
|
2474
2507
|
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
@@ -3099,6 +3132,7 @@ export interface EntityRef {
|
|
|
3099
3132
|
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
3100
3133
|
FullName?: string;
|
|
3101
3134
|
}
|
|
3135
|
+
export type EntityTypeFilter = "Customer" | "Employee" | "OtherName" | "Vendor";
|
|
3102
3136
|
export interface ErrorRecovery {
|
|
3103
3137
|
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
3104
3138
|
ListID?: string;
|
|
@@ -6969,6 +7003,43 @@ export interface ItemSubtotalRet {
|
|
|
6969
7003
|
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
6970
7004
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
6971
7005
|
}
|
|
7006
|
+
export type ItemTypeFilter = "AllExceptFixedAsset" | "Assembly" | "Discount" | "FixedAsset" | "Inventory" | "InventoryAndAssembly" | "NonInventory" | "OtherCharge" | "Payment" | "Sales" | "SalesTax" | "Service";
|
|
7007
|
+
export interface JobReportQueryRq {
|
|
7008
|
+
/** The type of job report. */
|
|
7009
|
+
JobReportType: JobReportType;
|
|
7010
|
+
/** Set `DisplayReport` to true to display this report within the QuickBooks UI. (Default is false.) If you want the request to display the report without returning any data to your application, set the `responseData` attribute to `includeNone`. */
|
|
7011
|
+
DisplayReport?: boolean;
|
|
7012
|
+
/** If you omit both `ToReportDate` and `FromReportDate`, the report will cover the current fiscal year to date. */
|
|
7013
|
+
ReportPeriod?: ReportPeriod;
|
|
7014
|
+
/** The time period covered by this report. */
|
|
7015
|
+
ReportDateMacro?: ReportDateMacro;
|
|
7016
|
+
/** Allows you to query for a specified account type or for specific list elements. */
|
|
7017
|
+
ReportAccountFilter?: ReportAccountFilter;
|
|
7018
|
+
/** Allows you to query for a specified name type (customer, employee, vendor, or other) or query for specific list elements. */
|
|
7019
|
+
ReportEntityFilter?: ReportEntityFilter;
|
|
7020
|
+
/** Allows you to query for a specified item type (for example, discount, inventory, or non-inventory) or query for specific list elements. */
|
|
7021
|
+
ReportItemFilter?: ReportItemFilter;
|
|
7022
|
+
/** Allows you to query for a specified class. Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. */
|
|
7023
|
+
ReportClassFilter?: ReportClassFilter;
|
|
7024
|
+
/** Allows you to report on specific transaction types (for example, charge, check, deposit, or estimate). */
|
|
7025
|
+
ReportTxnTypeFilter?: ReportTxnTypeFilter;
|
|
7026
|
+
/** Returns reports that were modified between these two dates (inclusive). The range of acceptable dates for both `FromReportModifiedDate` and `ToReportModifiedDate` is 1970-01-01 to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). */
|
|
7027
|
+
ReportModifiedDateRangeFilter?: ReportModifiedDateRangeFilter;
|
|
7028
|
+
/** The time period covered by this report. */
|
|
7029
|
+
ReportModifiedDateRangeMacro?: ReportModifiedDateRangeMacro;
|
|
7030
|
+
/** The level of detail to include in the report. */
|
|
7031
|
+
ReportDetailLevelFilter?: ReportDetailLevelFilter;
|
|
7032
|
+
/** Allows you to query for posting reports, non-posting reports, or reports that are either one. */
|
|
7033
|
+
ReportPostingStatusFilter?: ReportPostingStatusFilter;
|
|
7034
|
+
/** `SummarizeColumnsBy` determines which data the report calculates and how the columns will be labeled across the top of the report. For example, if you set the value to `scbTwoWeek`, the report’s column labels might be “Feb 10-23, 02,” “Feb 24-Mar9, 02,” and so on. */
|
|
7035
|
+
SummarizeColumnsBy?: SummarizeColumnsBy;
|
|
7036
|
+
/** The default value is false, which means that the report will not include any subcolumn information. To include all available types of subcolumns for this report, set `IncludeSubcolumns` to true. The SDK will not return subcolumn information for data that can be easily computed. (For example, the SDK does not return the “percent of row” column.) */
|
|
7037
|
+
IncludeSubcolumns?: boolean;
|
|
7038
|
+
}
|
|
7039
|
+
export interface JobReportQueryRs {
|
|
7040
|
+
ReportRet: ReportRet[];
|
|
7041
|
+
}
|
|
7042
|
+
export type JobReportType = "ItemEstimatesVsActuals" | "ItemProfitability" | "JobEstimatesVsActualsDetail" | "JobEstimatesVsActualsSummary" | "JobProfitabilityDetail" | "JobProfitabilitySummary,";
|
|
6972
7043
|
/** @default: None */
|
|
6973
7044
|
export type JobStatus = "Awarded" | "Closed" | "InProgress" | "None" | "NotAwarded" | "Pending";
|
|
6974
7045
|
export interface JobTypeAdd {
|
|
@@ -7989,8 +8060,112 @@ export interface RefNumberRangeFilter {
|
|
|
7989
8060
|
ToRefNumber?: string;
|
|
7990
8061
|
}
|
|
7991
8062
|
export type Relation = "Brother" | "Daughter" | "Father" | "Friend" | "Mother" | "Other" | "Partner" | "Sister" | "Son" | "Spouse";
|
|
8063
|
+
export interface ReportAccountFilter {
|
|
8064
|
+
/** Allows you to report on a specific account type. */
|
|
8065
|
+
AccountTypeFilter?: AccountTypeFilter;
|
|
8066
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8067
|
+
ListID?: string[] | string;
|
|
8068
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8069
|
+
FullName?: string[] | string;
|
|
8070
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
8071
|
+
ListIDWithChildren?: string;
|
|
8072
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
8073
|
+
FullNameWithChildren?: string;
|
|
8074
|
+
}
|
|
8075
|
+
/** @default: None */
|
|
8076
|
+
export type ReportBasis = "Accrual" | "Cash" | "None";
|
|
8077
|
+
export interface ReportClassFilter {
|
|
8078
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8079
|
+
ListID?: string[] | string;
|
|
8080
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8081
|
+
FullName?: string[] | string;
|
|
8082
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
8083
|
+
ListIDWithChildren?: string;
|
|
8084
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
8085
|
+
FullNameWithChildren?: string;
|
|
8086
|
+
}
|
|
8087
|
+
export interface ReportData {
|
|
8088
|
+
/** A data row contains the actual data for each column. */
|
|
8089
|
+
DataRow?: DataRow;
|
|
8090
|
+
/** A text row contains only text and is used mainly for headings. */
|
|
8091
|
+
TextRow?: TextRow;
|
|
8092
|
+
/** A row that contains a calculated subtotal of the data in all the rows since the last `SubTotalRow` and, usually, a single underline. There can be multiple `SubTotalRow` aggregates in a report. */
|
|
8093
|
+
SubtotalRow?: SubtotalRow;
|
|
8094
|
+
/** A row that contains a calculated total of all the data that has come before and a double underline. There will only be one `TotalRow` per report. If `TotalRow` does not include any numerical values, the columns required to show the total values are not part of the report. These columns were not included when the report was customized. */
|
|
8095
|
+
TotalRow?: TotalRow;
|
|
8096
|
+
}
|
|
8097
|
+
export type ReportDateMacro = "All" | "LastMonth" | "LastMonthToDate" | "LastQuarter" | "LastQuarterToDate" | "LastWeek" | "LastWeekToDate" | "LastYear" | "LastYearToDate" | "NextFourWeeks" | "NextMonth" | "NextQuarter" | "NextWeek" | "NextYear" | "ThisMonth" | "ThisMonthToDate" | "ThisQuarter" | "ThisQuarterToDate" | "ThisWeek" | "ThisWeekToDate" | "ThisYear" | "ThisYearToDate" | "Today" | "Yesterday";
|
|
8098
|
+
/** @default: All */
|
|
8099
|
+
export type ReportDetailLevelFilter = "All" | "AllExceptSummary" | "SummaryOnly";
|
|
8100
|
+
export interface ReportEntityFilter {
|
|
8101
|
+
/** Allows you to report on a specific name type. */
|
|
8102
|
+
EntityTypeFilter?: EntityTypeFilter;
|
|
8103
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8104
|
+
ListID?: string[] | string;
|
|
8105
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8106
|
+
FullName?: string[] | string;
|
|
8107
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
8108
|
+
ListIDWithChildren?: string;
|
|
8109
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
8110
|
+
FullNameWithChildren?: string;
|
|
8111
|
+
}
|
|
7992
8112
|
/** @default: Quarterly */
|
|
7993
8113
|
export type ReportingPeriod = "Monthly" | "Quarterly";
|
|
8114
|
+
export interface ReportItemFilter {
|
|
8115
|
+
/** Allows you to report on a specific item type. */
|
|
8116
|
+
ItemTypeFilter?: ItemTypeFilter;
|
|
8117
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8118
|
+
ListID?: string[] | string;
|
|
8119
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8120
|
+
FullName?: string[] | string;
|
|
8121
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
8122
|
+
ListIDWithChildren?: string;
|
|
8123
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
8124
|
+
FullNameWithChildren?: string;
|
|
8125
|
+
}
|
|
8126
|
+
export interface ReportModifiedDateRangeFilter {
|
|
8127
|
+
/** Selects information from this date and later. The range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). */
|
|
8128
|
+
FromReportModifiedDate?: string;
|
|
8129
|
+
/** Selects information created on this date or earlier. The range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). */
|
|
8130
|
+
ToReportModifiedDate?: string;
|
|
8131
|
+
}
|
|
8132
|
+
export type ReportModifiedDateRangeMacro = "All" | "LastMonth" | "LastMonthToDate" | "LastQuarter" | "LastQuarterToDate" | "LastWeek" | "LastWeekToDate" | "LastYear" | "LastYearToDate" | "NextFourWeeks" | "NextMonth" | "NextQuarter" | "NextWeek" | "NextYear" | "ThisMonth" | "ThisMonthToDate" | "ThisQuarter" | "ThisQuarterToDate" | "ThisWeek" | "ThisWeekToDate" | "ThisYear" | "ThisYearToDate" | "Today" | "Yesterday";
|
|
8133
|
+
export interface ReportPeriod {
|
|
8134
|
+
/** Selects information from this date and later. The range of acceptable `FromReportDate` and `ToReportDate` values depends on how the report dates are determined. If the report dates are based on the dates of transactions, the range is 01/01/1901 to 12/31/9999. If the report dates are based on modification dates, the range will be 1970-01-01 to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). If you omit `FromReportDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST). */
|
|
8135
|
+
FromReportDate?: string;
|
|
8136
|
+
/** Selects information created on this date or earlier. The range of acceptable `ToReportDate` and `FromReportDate` values depends on how the report dates are determined. If the report dates are based on the dates of transactions, the range is 01/01/1901 to 12/31/9999. If the report dates are based on modification dates, the range will be 1970-01-01 to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). If you omit `ToReportDate`, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). */
|
|
8137
|
+
ToReportDate?: string;
|
|
8138
|
+
}
|
|
8139
|
+
export type ReportPostingStatusFilter = "Either" | "NonPosting" | "Posting";
|
|
8140
|
+
export interface ReportRet {
|
|
8141
|
+
/** The main title for this report. */
|
|
8142
|
+
ReportTitle: string;
|
|
8143
|
+
/** The subtitle for this report. */
|
|
8144
|
+
ReportSubtitle: string;
|
|
8145
|
+
/** If `ReportBasis` is `rbCash`, the report bases income and expenses on the dates when money changed hands.`rbAccrual`, the report bases income on the dates when customers were invoiced and bases expenses on the dates when bills were entered.`rbNone`, the report uses the default `ReportBasis`, which is either the QuickBooks Preference setting or the QuickBooks default for a given type of report. In a report response, the SDK returns `rbNone` for reports that do not support `ReportBasis`. (The 1099 report, for example, has its own basis for generation.) */
|
|
8146
|
+
ReportBasis?: ReportBasis;
|
|
8147
|
+
/** The number of rows in the report. */
|
|
8148
|
+
NumRows: number;
|
|
8149
|
+
/** The number of columns in the report. */
|
|
8150
|
+
NumColumns: number;
|
|
8151
|
+
/** The number of rows to allocate for column titles. Although this number is usually 1, with some reports it is 2 or 3. (For an example of column titles that span multiple rows, look at a `ProfitAndLossByJob` report in QuickBooks.) */
|
|
8152
|
+
NumColTitleRows: number;
|
|
8153
|
+
/** A list of `IColDesc` objects, each of which identifies one column in the report. Each column is identified by a `colID` (the position of the column in the report), a title, and a type. If the report contains any data, it is given row-by-row in an `IReportData` object. */
|
|
8154
|
+
ColDesc: ColDesc | ColDesc[];
|
|
8155
|
+
/** If the report contains any data, it is given row-by-row in a `ReportData` aggregate. */
|
|
8156
|
+
ReportData?: ReportData;
|
|
8157
|
+
}
|
|
8158
|
+
export interface ReportTxnTypeFilter {
|
|
8159
|
+
/** A list of the transaction types you want the report to cover. */
|
|
8160
|
+
TxnTypeFilter: TxnTypeFilter | TxnTypeFilter[];
|
|
8161
|
+
}
|
|
8162
|
+
export interface RowData {
|
|
8163
|
+
/** An enumerated value that shows the type of data that this row contains. Values: account class customer `customerMessage` `customerType` employee item `jobType` label `memorizedTxn` `memorizedReport` name `otherName` `paymentMethod` `payrollItem` `salesRep` `salesTaxCode` `shipMethod` state style terms `toDo` vendor `vendorType` */
|
|
8164
|
+
RowType: RowType;
|
|
8165
|
+
/** The data in this cell of the report. */
|
|
8166
|
+
Value: string;
|
|
8167
|
+
}
|
|
8168
|
+
export type RowType = "account" | "class" | "customer" | "customerMessage" | "customerType" | "employee" | "item" | "jobType" | "label" | "memorizedReport" | "memorizedTxn" | "name" | "otherName" | "paymentMethod" | "payrollItem" | "salesRep" | "salesTaxCode" | "shipMethod" | "state" | "style" | "terms" | "toDo" | "vendor" | "vendorType";
|
|
7994
8169
|
export interface SalesAndPurchase {
|
|
7995
8170
|
/** Appears in the `Description` column of a sales form when the QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for accounting purposes). */
|
|
7996
8171
|
SalesDesc?: string;
|
|
@@ -8765,6 +8940,13 @@ export interface SubscribedServices {
|
|
|
8765
8940
|
/** The list of the Intuit services that the company is or has been subscribed to, for example, Intuit Payroll, QBMS. */
|
|
8766
8941
|
Service?: Service | Service[];
|
|
8767
8942
|
}
|
|
8943
|
+
export interface SubtotalRow {
|
|
8944
|
+
/** `RowData` describes one row in the report. */
|
|
8945
|
+
RowData?: RowData;
|
|
8946
|
+
/** A list of `IColData` objects, each of which describes the data in one cell of the report. */
|
|
8947
|
+
ColData?: ColData | ColData[];
|
|
8948
|
+
}
|
|
8949
|
+
export type SummarizeColumnsBy = "Account" | "BalanceSheet" | "Class" | "Customer" | "CustomerType" | "Day" | "Employee" | "FourWeek" | "HalfMonth" | "IncomeStatement" | "ItemDetail" | "ItemType" | "Month" | "Payee" | "PaymentMethod" | "PayrollItemDetail" | "PayrollYtdDetail" | "Quarter" | "SalesRep" | "SalesTaxCode" | "ShipMethod" | "Terms" | "TotalOnly" | "TwoWeek" | "Vendor" | "VendorType" | "Week" | "Year";
|
|
8768
8950
|
export interface SupervisorRef {
|
|
8769
8951
|
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8770
8952
|
ListID?: string;
|
|
@@ -8808,6 +8990,12 @@ export interface TermsRef {
|
|
|
8808
8990
|
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8809
8991
|
FullName?: string;
|
|
8810
8992
|
}
|
|
8993
|
+
export interface TextRow {
|
|
8994
|
+
/** The row number. Rows are numbered from top to bottom, starting with 1. */
|
|
8995
|
+
RowNumber: number;
|
|
8996
|
+
/** The data in this cell of the report. */
|
|
8997
|
+
Value: string;
|
|
8998
|
+
}
|
|
8811
8999
|
export interface TimeTrackingAdd {
|
|
8812
9000
|
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
8813
9001
|
TxnDate?: string;
|
|
@@ -8939,6 +9127,12 @@ export interface TotalBalanceFilter {
|
|
|
8939
9127
|
/** The monetary amount to which `Operator` refers. */
|
|
8940
9128
|
Amount: string;
|
|
8941
9129
|
}
|
|
9130
|
+
export interface TotalRow {
|
|
9131
|
+
/** `RowData` describes one row in the report. */
|
|
9132
|
+
RowData?: RowData;
|
|
9133
|
+
/** A list of `IColData` objects, each of which describes the data in one cell of the report. */
|
|
9134
|
+
ColData?: ColData | ColData[];
|
|
9135
|
+
}
|
|
8942
9136
|
/** @default: CardNotPresent */
|
|
8943
9137
|
export type TransactionMode = "CardNotPresent" | "CardPresent";
|
|
8944
9138
|
export interface TxnDateRangeFilter {
|
|
@@ -8958,6 +9152,7 @@ export interface TxnDateRangeFilter {
|
|
|
8958
9152
|
DateMacro?: DateMacro;
|
|
8959
9153
|
}
|
|
8960
9154
|
export type TxnType = "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "LiabilityAdjustment" | "Paycheck" | "PayrollLiabilityCheck" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "Transfer" | "VendorCredit" | "YTDAdjustment";
|
|
9155
|
+
export type TxnTypeFilter = "All" | "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "LiabilityAdjustment" | "Paycheck" | "PayrollLiabilityCheck" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "Transfer" | "VendorCredit" | "YTDAdjustment";
|
|
8961
9156
|
export interface UnitOfMeasureSetRef {
|
|
8962
9157
|
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8963
9158
|
ListID?: string;
|
package/dist/src/utils/error.js
CHANGED
|
@@ -64,7 +64,7 @@ class ConductorError extends Error {
|
|
|
64
64
|
rawType;
|
|
65
65
|
constructor(options) {
|
|
66
66
|
// Do not pass `options.message` to the superclass `Error` constructor to
|
|
67
|
-
// avoid this bug: https://twitter.com/DannyNemer/status/
|
|
67
|
+
// avoid this bug: https://twitter.com/DannyNemer/status/1639513810141687810
|
|
68
68
|
super();
|
|
69
69
|
// Set `name` to the constructor name so that the error appears in logs as
|
|
70
70
|
// `[ConductorError: foo]` instead of `[Error: foo]`.
|
package/package.json
CHANGED