conductor-node 11.6.2 → 11.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-node",
3
- "version": "11.6.2",
3
+ "version": "11.6.4",
4
4
  "description": "QuickBooks Desktop API for Node.js and TypeScript",
5
5
  "keywords": [
6
6
  "QuickBooks",
@@ -2117,6 +2117,16 @@ export default class QbdIntegration extends BaseIntegration {
2117
2117
  * needs.
2118
2118
  */
2119
2119
  report: {
2120
+ /**
2121
+ * Generates an aging report, which tracks outstanding invoices (in accounts
2122
+ * receivable accounts) and unpaid bills (in accounts payable accounts).
2123
+ *
2124
+ * Note that you could use a collections report instead of the aging query,
2125
+ * if that better suited your needs.
2126
+ *
2127
+ * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AgingReportQuery
2128
+ */
2129
+ aging: (endUserId: string, params: QbdTypes.AgingReportQueryRq) => Promise<NonNullable<QbdTypes.AgingReportQueryRs["ReportRet"]>>;
2120
2130
  /**
2121
2131
  * Generates budget reports similar to the budget report functionality that
2122
2132
  * is available within the QuickBooks UI. (From the main QB menubar select
@@ -2609,6 +2619,40 @@ export default class QbdIntegration extends BaseIntegration {
2609
2619
  */
2610
2620
  query: (endUserId: string, params?: QbdTypes.TimeTrackingQueryRq) => Promise<NonNullable<QbdTypes.TimeTrackingQueryRs["TimeTrackingRet"]>>;
2611
2621
  };
2622
+ /**
2623
+ * A general transaction is a superset of all transaction types in QuickBooks
2624
+ * Desktop.
2625
+ */
2626
+ transaction: {
2627
+ /**
2628
+ * Queries for transactions across different transaction types. In contrast
2629
+ * to the other transaction-specific queries, this query only returns data
2630
+ * common to all transactions, such as `TxnID`, type, dates, accountRef, and
2631
+ * so on. This query does return condensed transactions.
2632
+ *
2633
+ * Accordingly, if additional and more transaction-specific data is
2634
+ * required, a subsequent call to the desired query can be used to get that
2635
+ * transaction-specific data. For example, this method can be used to
2636
+ * present all transactions in a certain date range, then the user can
2637
+ * select a particular transaction, say an invoice transaction. In response
2638
+ * to this choice, you could do an `InvoiceQuery` to pull up all of the
2639
+ * invoice data.
2640
+ *
2641
+ * You should be aware that permissions are obeyed in this query. So, if you
2642
+ * set the transaction type filter to “All” (or if you don’t set it at all),
2643
+ * the query will be searching only those transaction types that are
2644
+ * permissible types for the user currently logged in. Accordingly, if
2645
+ * instead of “all,” you specify a transaction type that the currently
2646
+ * logged in user is not permitted to access, you will get a runtime error,
2647
+ * even if other permissible transaction types were specified as well.
2648
+ *
2649
+ * Finally, the transaction query is subject to sensitive data access level
2650
+ * restrictions and payroll subscription status.
2651
+ *
2652
+ * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransactionQuery
2653
+ */
2654
+ query: (endUserId: string, params?: QbdTypes.TransactionQueryRq) => Promise<NonNullable<QbdTypes.TransactionQueryRs["TransactionRet"]>>;
2655
+ };
2612
2656
  /**
2613
2657
  * A transfer is a transaction that moves money from one account to another
2614
2658
  * account.
@@ -2122,6 +2122,16 @@ class QbdIntegration extends BaseIntegration_1.default {
2122
2122
  * needs.
2123
2123
  */
2124
2124
  report = {
2125
+ /**
2126
+ * Generates an aging report, which tracks outstanding invoices (in accounts
2127
+ * receivable accounts) and unpaid bills (in accounts payable accounts).
2128
+ *
2129
+ * Note that you could use a collections report instead of the aging query,
2130
+ * if that better suited your needs.
2131
+ *
2132
+ * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AgingReportQuery
2133
+ */
2134
+ aging: async (endUserId, params) => this.sendRequestWrapper(endUserId, { AgingReportQueryRq: params }, "AgingReportQueryRs", "ReportRet"),
2125
2135
  /**
2126
2136
  * Generates budget reports similar to the budget report functionality that
2127
2137
  * is available within the QuickBooks UI. (From the main QB menubar select
@@ -2614,6 +2624,40 @@ class QbdIntegration extends BaseIntegration_1.default {
2614
2624
  */
2615
2625
  query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TimeTrackingQueryRq: params }, "TimeTrackingQueryRs", "TimeTrackingRet"),
2616
2626
  };
2627
+ /**
2628
+ * A general transaction is a superset of all transaction types in QuickBooks
2629
+ * Desktop.
2630
+ */
2631
+ transaction = {
2632
+ /**
2633
+ * Queries for transactions across different transaction types. In contrast
2634
+ * to the other transaction-specific queries, this query only returns data
2635
+ * common to all transactions, such as `TxnID`, type, dates, accountRef, and
2636
+ * so on. This query does return condensed transactions.
2637
+ *
2638
+ * Accordingly, if additional and more transaction-specific data is
2639
+ * required, a subsequent call to the desired query can be used to get that
2640
+ * transaction-specific data. For example, this method can be used to
2641
+ * present all transactions in a certain date range, then the user can
2642
+ * select a particular transaction, say an invoice transaction. In response
2643
+ * to this choice, you could do an `InvoiceQuery` to pull up all of the
2644
+ * invoice data.
2645
+ *
2646
+ * You should be aware that permissions are obeyed in this query. So, if you
2647
+ * set the transaction type filter to “All” (or if you don’t set it at all),
2648
+ * the query will be searching only those transaction types that are
2649
+ * permissible types for the user currently logged in. Accordingly, if
2650
+ * instead of “all,” you specify a transaction type that the currently
2651
+ * logged in user is not permitted to access, you will get a runtime error,
2652
+ * even if other permissible transaction types were specified as well.
2653
+ *
2654
+ * Finally, the transaction query is subject to sensitive data access level
2655
+ * restrictions and payroll subscription status.
2656
+ *
2657
+ * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransactionQuery
2658
+ */
2659
+ query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TransactionQueryRq: params }, "TransactionQueryRs", "TransactionRet"),
2660
+ };
2617
2661
  /**
2618
2662
  * A transfer is a transaction that moves money from one account to another
2619
2663
  * account.
@@ -297,6 +297,44 @@ export interface AddressBlock {
297
297
  }
298
298
  export type AdjustBillingRateRelativeTo = "CurrentCustomRate" | "StandardRate";
299
299
  export type AdjustRelativeTo = "Cost" | "CurrentCustomPrice" | "StandardPrice";
300
+ export interface AgingReportQueryRq {
301
+ /** The type of aging report being queried. */
302
+ AgingReportType: AgingReportType;
303
+ /** 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`. */
304
+ DisplayReport?: boolean;
305
+ /** If you omit both `ToReportDate` and `FromReportDate`, the report will cover the current fiscal year to date. */
306
+ ReportPeriod?: ReportPeriod;
307
+ /** The time period covered by this report. */
308
+ ReportDateMacro?: ReportDateMacro;
309
+ /** Allows you to query for a specified account type or for specific list elements. */
310
+ ReportAccountFilter?: ReportAccountFilter;
311
+ /** Allows you to query for a specified name type (customer, employee, vendor, or other) or query for specific list elements. */
312
+ ReportEntityFilter?: ReportEntityFilter;
313
+ /** Allows you to query for a specified item type (for example, discount, inventory, or non-inventory) or query for specific list elements. */
314
+ ReportItemFilter?: ReportItemFilter;
315
+ /** 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. */
316
+ ReportClassFilter?: ReportClassFilter;
317
+ /** Allows you to report on specific transaction types (for example, charge, check, deposit, or estimate). */
318
+ ReportTxnTypeFilter?: ReportTxnTypeFilter;
319
+ /** 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). */
320
+ ReportModifiedDateRangeFilter?: ReportModifiedDateRangeFilter;
321
+ /** The time period covered by this report. */
322
+ ReportModifiedDateRangeMacro?: ReportModifiedDateRangeMacro;
323
+ /** The level of detail to include in the report. */
324
+ ReportDetailLevelFilter?: ReportDetailLevelFilter;
325
+ /** Allows you to query for posting reports, non-posting reports, or reports that are either one. */
326
+ ReportPostingStatusFilter?: ReportPostingStatusFilter;
327
+ /** A list of enum values showing which columns you want the report to return. (The report won’t return columns other than the ones you specify here.) */
328
+ IncludeColumn?: IncludeColumn | IncludeColumn[];
329
+ /** Indicates whether this report should include all accounts or just those that are currently in use. */
330
+ IncludeAccounts?: IncludeAccounts;
331
+ /** The report will return aging information up to the `ReportAgingAsOf` date. */
332
+ ReportAgingAsOf?: ReportAgingAsOf;
333
+ }
334
+ export interface AgingReportQueryRs {
335
+ ReportRet: ReportRet[];
336
+ }
337
+ export type AgingReportType = "APAgingDetail" | "APAgingSummary" | "ARAgingDetail" | "ARAgingSummary" | "CollectionsReport";
300
338
  export interface APAccountRef {
301
339
  /** 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. */
302
340
  ListID?: string;
@@ -10120,6 +10158,8 @@ export interface ReportAccountFilter {
10120
10158
  /** 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`. */
10121
10159
  FullNameWithChildren?: string;
10122
10160
  }
10161
+ /** @default: ReportEndDate */
10162
+ export type ReportAgingAsOf = "ReportEndDate" | "Today";
10123
10163
  /** @default: None */
10124
10164
  export type ReportBasis = "Accrual" | "Cash" | "None";
10125
10165
  export type ReportCalendar = "CalendarYear" | "FiscalYear" | "TaxYear";
@@ -10140,7 +10180,9 @@ export interface ReportData {
10140
10180
  TextRow?: TextRow | TextRow[];
10141
10181
  /** 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. */
10142
10182
  SubtotalRow?: SubtotalRow | SubtotalRow[];
10143
- /** 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. */
10183
+ /** 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.
10184
+
10185
+ 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. */
10144
10186
  TotalRow?: TotalRow;
10145
10187
  }
10146
10188
  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";
@@ -10163,7 +10205,9 @@ export type ReportingPeriod = "Monthly" | "Quarterly";
10163
10205
  export interface ReportItemFilter {
10164
10206
  /** Allows you to report on a specific item type. */
10165
10207
  ItemTypeFilter?: ItemTypeFilter;
10166
- /** 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. */
10208
+ /** 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`.
10209
+
10210
+ 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. */
10167
10211
  ListID?: string[] | string;
10168
10212
  /** 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. */
10169
10213
  FullName?: string[] | string;
@@ -10182,7 +10226,9 @@ export type ReportModifiedDateRangeMacro = "All" | "LastMonth" | "LastMonthToDat
10182
10226
  /** @default: Today */
10183
10227
  export type ReportOpenBalanceAsOf = "ReportEndDate" | "Today";
10184
10228
  export interface ReportPeriod {
10185
- /** 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). */
10229
+ /** 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).
10230
+
10231
+ If you omit `FromReportDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST). */
10186
10232
  FromReportDate?: string;
10187
10233
  /** 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). */
10188
10234
  ToReportDate?: string;
@@ -10193,7 +10239,9 @@ export interface ReportRet {
10193
10239
  ReportTitle: string;
10194
10240
  /** The subtitle for this report. */
10195
10241
  ReportSubtitle: string;
10196
- /** 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.) */
10242
+ /** If `ReportBasis` is
10243
+
10244
+ `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.) */
10197
10245
  ReportBasis?: ReportBasis;
10198
10246
  /** The number of rows in the report. */
10199
10247
  NumRows: number;
@@ -10213,7 +10261,55 @@ export interface ReportTxnTypeFilter {
10213
10261
  export type ReturnColumns = "ActiveOnly" | "All" | "NonZero";
10214
10262
  export type ReturnRows = "ActiveOnly" | "All" | "NonZero";
10215
10263
  export interface RowData {
10216
- /** 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` */
10264
+ /** An enumerated value that shows the type of data that this row contains. Values:
10265
+
10266
+ account
10267
+
10268
+ class
10269
+
10270
+ customer
10271
+
10272
+ `customerMessage`
10273
+
10274
+ `customerType`
10275
+
10276
+ employee
10277
+
10278
+ item
10279
+
10280
+ `jobType`
10281
+
10282
+ label
10283
+
10284
+ `memorizedTxn`
10285
+
10286
+ `memorizedReport`
10287
+
10288
+ name
10289
+
10290
+ `otherName`
10291
+
10292
+ `paymentMethod`
10293
+
10294
+ `payrollItem`
10295
+
10296
+ `salesRep`
10297
+
10298
+ `salesTaxCode`
10299
+
10300
+ `shipMethod`
10301
+
10302
+ state
10303
+
10304
+ style
10305
+
10306
+ terms
10307
+
10308
+ `toDo`
10309
+
10310
+ vendor
10311
+
10312
+ `vendorType` */
10217
10313
  RowType: RowType;
10218
10314
  /** The data in this cell of the report. */
10219
10315
  Value: string;
@@ -12039,8 +12135,241 @@ export interface TotalRow {
12039
12135
  /** A list of `IColData` objects, each of which describes the data in one cell of the report. */
12040
12136
  ColData?: ColData | ColData[];
12041
12137
  }
12138
+ export interface TransactionAccountFilter {
12139
+ /** Allows you to report on a specific account type. */
12140
+ AccountTypeFilter?: AccountTypeFilter;
12141
+ /** 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`.
12142
+
12143
+ 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. */
12144
+ ListID?: string[] | string;
12145
+ /** 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. */
12146
+ FullName?: string[] | string;
12147
+ /** Allows you to filter for data that relates to the specified object and its descendants. */
12148
+ ListIDWithChildren?: string;
12149
+ /** 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`. */
12150
+ FullNameWithChildren?: string;
12151
+ }
12152
+ export interface TransactionClassFilter {
12153
+ /** 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`.
12154
+
12155
+ 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. */
12156
+ ListID?: string[] | string;
12157
+ /** 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. */
12158
+ FullName?: string[] | string;
12159
+ /** Allows you to filter for data that relates to the specified object and its descendants. */
12160
+ ListIDWithChildren?: string;
12161
+ /** 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`. */
12162
+ FullNameWithChildren?: string;
12163
+ }
12164
+ export interface TransactionDateRangeFilter {
12165
+ /** Selects transactions created on or after this date. Both `FromTxnDate` and `ToTxnDate` must be between 01/01/1901 and 12/31/9999.
12166
+
12167
+ If you omit `FromTxnDate`, it will be set to 1970-01-01 (1969-12-31 PST). */
12168
+ FromTxnDate?: string;
12169
+ /** Selects transactions created on or before this date. Both `ToTxnDate` and `FromTxnDate` must be between 01/01/1901 and 12/31/9999. If you omit `ToTxnDate`, it will be set to 2038-01-19 (2038-01-18 PST). */
12170
+ ToTxnDate?: string;
12171
+ /** Refers to the transaction date, not the last modification date. Do not include `DateMacro` if either `FromModifedDate` or `ToModifiedDate` are specified. If a query does not specify `DateMacro`, `FromModifedDate`, or `ToModifiedDate`, it includes all dates.
12172
+
12173
+ `DateMacro` values, in alphabetical order, that are new with QBFC3:
12174
+
12175
+ `dmAll`, `dmdmLastCalendarQuarter`, `dmdmLastCalendarQuarterToDate`, `dmdmLastCalendarYear`, `dmdmLastCalendarYearToDate`, `dmLastFiscalQuarterToDate`, `dmLastFiscalYearToDate`, `dmLastMonthToDate`, `dmLastWeekToDate`, `dmNextCalendarQuarter`, `dmNextCalendarYear`, `dmNextFiscalQuarter`, `dmNextFiscalYear`, `dmNextFourWeeks`, `dmNextMonth`, `dmNextWeek`, `dmThisCalendarQuarter`, `dmThisCalendarQuarterToDate`, `dmThisCalendarYear`, dm `ThisCalendarYearToDate`, `dmThisFiscalQuarter`, `dmThisFiscalYear`, `dmThisMonth`, `dmThisWeek`, `dmThisWeekToDate`, `dmToday`, `dmYesterday`
12176
+
12177
+ The list given when you click `IQBENDateMacroType` shows the complete list of valid version 3.0 values. */
12178
+ DateMacro?: DateMacro;
12179
+ }
12180
+ /** @default: SummaryOnly */
12181
+ export type TransactionDetailLevelFilter = "All" | "AllExceptSummary" | "SummaryOnly";
12182
+ export interface TransactionEntityFilter {
12183
+ /** Allows you to report on a specific name type. */
12184
+ EntityTypeFilter?: EntityTypeFilter;
12185
+ /** 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`.
12186
+
12187
+ 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. */
12188
+ ListID?: string[] | string;
12189
+ /** 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. */
12190
+ FullName?: string[] | string;
12191
+ /** Allows you to filter for data that relates to the specified object and its descendants. */
12192
+ ListIDWithChildren?: string;
12193
+ /** 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`. */
12194
+ FullNameWithChildren?: string;
12195
+ }
12196
+ export interface TransactionItemFilter {
12197
+ /** Allows you to report on a specific item type. */
12198
+ ItemTypeFilter?: ItemTypeFilter;
12199
+ /** 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`.
12200
+
12201
+ 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. */
12202
+ ListID?: string[] | string;
12203
+ /** 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. */
12204
+ FullName?: string[] | string;
12205
+ /** Allows you to filter for data that relates to the specified object and its descendants. */
12206
+ ListIDWithChildren?: string;
12207
+ /** 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`. */
12208
+ FullNameWithChildren?: string;
12209
+ }
12042
12210
  /** @default: CardNotPresent */
12043
12211
  export type TransactionMode = "CardNotPresent" | "CardPresent";
12212
+ export interface TransactionModifiedDateRangeFilter {
12213
+ /** Selects objects modified on or after this date. See the note below regarding QBFC usage.
12214
+
12215
+ For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).
12216
+
12217
+ For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.
12218
+
12219
+ Note: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
12220
+ FromModifiedDate?: string;
12221
+ /** Selects objects modified on or before this date. See the note below on QBFC usage.
12222
+
12223
+ For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).
12224
+
12225
+ For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.
12226
+
12227
+ Note: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
12228
+ ToModifiedDate?: string;
12229
+ /** Refers to the transaction date, not the last modification date. Do not include `DateMacro` if either `FromModifedDate` or `ToModifiedDate` are specified. If a query does not specify `DateMacro`, `FromModifedDate`, or `ToModifiedDate`, it includes all dates.
12230
+
12231
+ `DateMacro` values, in alphabetical order, that are new with QBFC3:
12232
+
12233
+ `dmAll`, `dmdmLastCalendarQuarter`, `dmdmLastCalendarQuarterToDate`, `dmdmLastCalendarYear`, `dmdmLastCalendarYearToDate`, `dmLastFiscalQuarterToDate`, `dmLastFiscalYearToDate`, `dmLastMonthToDate`, `dmLastWeekToDate`, `dmNextCalendarQuarter`, `dmNextCalendarYear`, `dmNextFiscalQuarter`, `dmNextFiscalYear`, `dmNextFourWeeks`, `dmNextMonth`, `dmNextWeek`, `dmThisCalendarQuarter`, `dmThisCalendarQuarterToDate`, `dmThisCalendarYear`, dm `ThisCalendarYearToDate`, `dmThisFiscalQuarter`, `dmThisFiscalYear`, `dmThisMonth`, `dmThisWeek`, `dmThisWeekToDate`, `dmToday`, `dmYesterday`
12234
+
12235
+ The list given when you click `IQBENDateMacroType` shows the complete list of valid version 3.0 values. */
12236
+ DateMacro?: DateMacro;
12237
+ }
12238
+ /** @default: Either */
12239
+ export type TransactionPaidStatusFilter = "Closed" | "Either" | "Open";
12240
+ /** @default: Either */
12241
+ export type TransactionPostingStatusFilter = "Either" | "NonPosting" | "Posting";
12242
+ export interface TransactionQueryRq {
12243
+ /** One or more `TxnID` values. QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks.
12244
+
12245
+ Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQuery` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
12246
+ TxnID?: string[] | string;
12247
+ /** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
12248
+ MaxReturned?: number;
12249
+ /** A list of one or more `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user.
12250
+
12251
+ Note (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request, the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
12252
+ RefNumber?: string[] | string;
12253
+ /** A list of one or more case sensitive `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user.
12254
+
12255
+ You should use this case sensitive ref number list rather than the older `RefNumber` list, because it provides much better performance in certain circumstances. The older `refNumber` list provided slow performance if the `refNumber` values contained letters, not just digits. This `RefNumberCaseSensitive` list, new in SDK 4.0, eliminates this performance hit. */
12256
+ RefNumberCaseSensitive?: string[] | string;
12257
+ /** Filters according to `RefNumber`. */
12258
+ RefNumberFilter?: RefNumberFilter;
12259
+ /** Filters according to `RefNumber`. The filtering code will do a numerical comparison (if `FromRefNumber` and `ToRefNumber` only contain digits) or a lexicographical comparison (if either `FromRefNumber` or `ToRefNumber` contain any nondigit characters). In the first situation, if you need to query for a `RefNumber` that is larger than the maximum long integer value of 2147483647, one workaround is to specify a `FromRefNumber` that is less than or equal to 2147483647 without specifying a `ToRefNumber`. */
12260
+ RefNumberRangeFilter?: RefNumberRangeFilter;
12261
+ /** Filters the transactions based on the transaction’s modified datetime, either by specifying a “from” and/or “to” date or by using a `DateMacro`. */
12262
+ TransactionModifiedDateRangeFilter?: TransactionModifiedDateRangeFilter;
12263
+ /** Filters the transactions based on the transaction’s date either by specifying a “from” and/or “to” date, or by using a `DateMacro`. */
12264
+ TransactionDateRangeFilter?: TransactionDateRangeFilter;
12265
+ /** Filters the transactions based on the `EntityRef` used in the transaction or transaction line by specifying an entity type filter, a `ListID`, a `FullName`, a `ListIDWithChildren`, or a `FullNameWithChildren`.
12266
+
12267
+ If you want to filter on transaction lines you must specify the `TransactionDetailLevelFilter` with a value of either “All” or “`AllExceptSummary`”. */
12268
+ TransactionEntityFilter?: TransactionEntityFilter;
12269
+ /** Filters the transactions based on the `AccountRef` in the transaction or transaction line using an account type filter or a specific `ListID`, or a `FullName`, or a `ListIDWithChildren`, or a `FullNameWithChildren`.
12270
+
12271
+ To filter on transaction lines, you must specify the `TransactionDetailLevelFilter` with a value of either “All” or “`AllExceptSummary`”. */
12272
+ TransactionAccountFilter?: TransactionAccountFilter;
12273
+ /** Filters the transactions based on the `ItemRef` used in the transaction line using an item type filter, or a specific `ListID`, or a `FullName`, or a `ListIDWithChildren`, or a `FullNameWithChildren`.
12274
+
12275
+ To filter on transaction lines, you must specify the `TransactionDetailLevelFilter` with a value of either “All” or “`AllExceptSummary`”. */
12276
+ TransactionItemFilter?: TransactionItemFilter;
12277
+ /** Filters the transactions based on the `ClassRef` in the transaction or transaction line by using a specific `ListID`, or a `FullName`, or a `ListIDWithChildren`, or a `FullNameWithChildren`.
12278
+
12279
+ To filter on transaction lines, you must specify the `TransactionDetailLevelFilter` with a value of either “All” or “`AllExceptSummary`”. */
12280
+ TransactionClassFilter?: TransactionClassFilter;
12281
+ /** Filters the transactions based on the transaction’s type. You can specify one or more transaction types in the filter. Notice that `TimeTracking` transactions are not supported.
12282
+
12283
+ If you set the transaction type filter to “All” (or if you don’t set it at all), the query will be searching only those transaction types that are permissible types for the user currently logged in. If instead of “all,” you specify a transaction type that the currently logged in user is not permitted to access, you will get a runtime error, even if other permissible transaction types were specified as well. */
12284
+ TransactionTypeFilter?: TransactionTypeFilter;
12285
+ /** Allows you to specify the detail level of the query results. You can specify all, summary only (the default), or all except summary. Summary only refers to the transaction as a whole, whereas all except summary refers to the transaction lines. */
12286
+ TransactionDetailLevelFilter?: TransactionDetailLevelFilter;
12287
+ /** Allows you to filter transactions based on posting status. Valid values are posting, non-posting, or either. The default is “either.” (Posting status refers to whether QuickBooks records a transaction in one of your account registers.) */
12288
+ TransactionPostingStatusFilter?: TransactionPostingStatusFilter;
12289
+ /** This filter allows you to search for “open” transactions, i.e. transactions with a remaining balance (for example, credits not fully applied or invoices not fully paid). Valid values are closed, open, or either, which is the default. */
12290
+ TransactionPaidStatusFilter?: TransactionPaidStatusFilter;
12291
+ /** Filters by the specified currency. */
12292
+ CurrencyFilter?: CurrencyFilter;
12293
+ /** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address.
12294
+
12295
+ The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name.
12296
+
12297
+ Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
12298
+ IncludeRetElement?: string[] | string;
12299
+ }
12300
+ export interface TransactionQueryRs {
12301
+ TransactionRet: TransactionRet[];
12302
+ }
12303
+ export interface TransactionRet {
12304
+ /** The type of transaction. */
12305
+ TxnType?: TxnType;
12306
+ /** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests.
12307
+
12308
+ Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
12309
+ TxnID?: string;
12310
+ /** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.)
12311
+
12312
+ If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
12313
+ TxnLineID?: string;
12314
+ /** Time the object was created. */
12315
+ TimeCreated?: string;
12316
+ /** Time the object was last modified. */
12317
+ TimeModified?: string;
12318
+ /** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list.
12319
+
12320
+ Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name. In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded. In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
12321
+ EntityRef?: EntityRef;
12322
+ /** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.)
12323
+
12324
+ Special cases to note: In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings. In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied. In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed.
12325
+
12326
+ How do you increase and decrease amounts in bank accounts?
12327
+
12328
+ The following requests increase the balance in a bank account:
12329
+
12330
+ Deposit Add
12331
+
12332
+ `ReceivePaymentAdd`
12333
+
12334
+ Journal Entry Add
12335
+
12336
+ Sales `ReceiptAdd`
12337
+
12338
+ The following requests decrease the balance in a bank account:
12339
+
12340
+ `CheckAdd`
12341
+
12342
+ Bill `PaymentCheckAdd`
12343
+
12344
+ `JournalEntryAdd` */
12345
+ AccountRef?: AccountRef;
12346
+ /** 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. */
12347
+ TxnDate?: string;
12348
+ /** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user.
12349
+
12350
+ In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.
12351
+
12352
+ Note (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
12353
+ RefNumber?: string;
12354
+ /** A monetary amount. */
12355
+ Amount?: string;
12356
+ /** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code.
12357
+
12358
+ When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
12359
+ CurrencyRef?: CurrencyRef;
12360
+ /** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`.
12361
+
12362
+ You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
12363
+ ExchangeRate?: number;
12364
+ /** Amount in units of the home currency. */
12365
+ AmountInHomeCurrency?: string;
12366
+ /** Additional information. */
12367
+ Memo?: string;
12368
+ }
12369
+ export interface TransactionTypeFilter {
12370
+ /** A list of the transaction types you want the report to cover. */
12371
+ TxnTypeFilter: TxnTypeFilter | TxnTypeFilter[];
12372
+ }
12044
12373
  export interface TransferAdd {
12045
12374
  /** 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. */
12046
12375
  TxnDate?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-node",
3
- "version": "11.6.2",
3
+ "version": "11.6.4",
4
4
  "description": "QuickBooks Desktop API for Node.js and TypeScript",
5
5
  "keywords": [
6
6
  "QuickBooks",