qubesync 0.1.0 → 0.2.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.
Files changed (258) hide show
  1. package/CHANGELOG.md +38 -2
  2. package/README.md +188 -5
  3. package/client.js +660 -0
  4. package/index.d.ts +211 -1
  5. package/index.js +5 -1
  6. package/index.mjs +2 -0
  7. package/operations/account.d.ts +263 -0
  8. package/operations/account.js +50 -0
  9. package/operations/account_tax_line_info.d.ts +31 -0
  10. package/operations/account_tax_line_info.js +26 -0
  11. package/operations/aging_report.d.ts +100 -0
  12. package/operations/aging_report.js +26 -0
  13. package/operations/alert.d.ts +118 -0
  14. package/operations/alert.js +50 -0
  15. package/operations/ar_refund_credit_card.d.ts +201 -0
  16. package/operations/ar_refund_credit_card.js +38 -0
  17. package/operations/bar_code.d.ts +40 -0
  18. package/operations/bar_code.js +26 -0
  19. package/operations/bill.d.ts +612 -0
  20. package/operations/bill.js +50 -0
  21. package/operations/bill_payment_check.d.ts +276 -0
  22. package/operations/bill_payment_check.js +50 -0
  23. package/operations/bill_payment_credit_card.d.ts +178 -0
  24. package/operations/bill_payment_credit_card.js +38 -0
  25. package/operations/bill_to_pay.d.ts +54 -0
  26. package/operations/bill_to_pay.js +26 -0
  27. package/operations/billing_rate.d.ts +159 -0
  28. package/operations/billing_rate.js +38 -0
  29. package/operations/budget_summary_report.d.ts +71 -0
  30. package/operations/budget_summary_report.js +26 -0
  31. package/operations/build_assembly.d.ts +264 -0
  32. package/operations/build_assembly.js +50 -0
  33. package/operations/charge.d.ts +330 -0
  34. package/operations/charge.js +50 -0
  35. package/operations/check.d.ts +394 -0
  36. package/operations/check.js +50 -0
  37. package/operations/class.d.ts +170 -0
  38. package/operations/class.js +50 -0
  39. package/operations/cleared_status.d.ts +43 -0
  40. package/operations/cleared_status.js +26 -0
  41. package/operations/client.d.ts +254 -0
  42. package/operations/company.d.ts +36 -0
  43. package/operations/company.js +26 -0
  44. package/operations/company_activity.d.ts +32 -0
  45. package/operations/company_activity.js +26 -0
  46. package/operations/credit_card_charge.d.ts +280 -0
  47. package/operations/credit_card_charge.js +50 -0
  48. package/operations/credit_card_credit.d.ts +280 -0
  49. package/operations/credit_card_credit.js +50 -0
  50. package/operations/credit_memo.d.ts +642 -0
  51. package/operations/credit_memo.js +50 -0
  52. package/operations/currency.d.ts +195 -0
  53. package/operations/currency.js +50 -0
  54. package/operations/custom_detail_report.d.ts +108 -0
  55. package/operations/custom_detail_report.js +26 -0
  56. package/operations/custom_summary_report.d.ts +119 -0
  57. package/operations/custom_summary_report.js +26 -0
  58. package/operations/customer.d.ts +639 -0
  59. package/operations/customer.js +50 -0
  60. package/operations/customer_msg.d.ts +121 -0
  61. package/operations/customer_msg.js +38 -0
  62. package/operations/customer_type.d.ts +127 -0
  63. package/operations/customer_type.js +38 -0
  64. package/operations/data_event_recovery_info.d.ts +61 -0
  65. package/operations/data_event_recovery_info.js +38 -0
  66. package/operations/data_ext.d.ts +197 -0
  67. package/operations/data_ext.js +50 -0
  68. package/operations/data_ext_def.d.ts +173 -0
  69. package/operations/data_ext_def.js +62 -0
  70. package/operations/date_driven_terms.d.ts +141 -0
  71. package/operations/date_driven_terms.js +38 -0
  72. package/operations/deposit.d.ts +402 -0
  73. package/operations/deposit.js +50 -0
  74. package/operations/employee.d.ts +683 -0
  75. package/operations/employee.js +50 -0
  76. package/operations/employee_default.d.ts +133 -0
  77. package/operations/employee_default.js +38 -0
  78. package/operations/entity.d.ts +96 -0
  79. package/operations/entity.js +26 -0
  80. package/operations/estimate.d.ts +590 -0
  81. package/operations/estimate.js +50 -0
  82. package/operations/form1099_category_account_mapping.d.ts +89 -0
  83. package/operations/form1099_category_account_mapping.js +38 -0
  84. package/operations/general_detail_report.d.ts +108 -0
  85. package/operations/general_detail_report.js +26 -0
  86. package/operations/general_summary_report.d.ts +115 -0
  87. package/operations/general_summary_report.js +26 -0
  88. package/operations/host.d.ts +43 -0
  89. package/operations/host.js +26 -0
  90. package/operations/index.js +397 -0
  91. package/operations/inventory_adjustment.d.ts +389 -0
  92. package/operations/inventory_adjustment.js +50 -0
  93. package/operations/inventory_site.d.ts +247 -0
  94. package/operations/inventory_site.js +50 -0
  95. package/operations/invoice.d.ts +682 -0
  96. package/operations/invoice.js +50 -0
  97. package/operations/item.d.ts +100 -0
  98. package/operations/item.js +26 -0
  99. package/operations/item_assemblies_can_build.d.ts +41 -0
  100. package/operations/item_assemblies_can_build.js +26 -0
  101. package/operations/item_discount.d.ts +256 -0
  102. package/operations/item_discount.js +50 -0
  103. package/operations/item_fixed_asset.d.ts +382 -0
  104. package/operations/item_fixed_asset.js +50 -0
  105. package/operations/item_group.d.ts +236 -0
  106. package/operations/item_group.js +50 -0
  107. package/operations/item_inventory.d.ts +350 -0
  108. package/operations/item_inventory.js +50 -0
  109. package/operations/item_inventory_assembly.d.ts +368 -0
  110. package/operations/item_inventory_assembly.js +50 -0
  111. package/operations/item_non_inventory.d.ts +264 -0
  112. package/operations/item_non_inventory.js +50 -0
  113. package/operations/item_other_charge.d.ts +244 -0
  114. package/operations/item_other_charge.js +50 -0
  115. package/operations/item_payment.d.ts +220 -0
  116. package/operations/item_payment.js +50 -0
  117. package/operations/item_receipt.d.ts +362 -0
  118. package/operations/item_receipt.js +50 -0
  119. package/operations/item_sales_tax.d.ts +228 -0
  120. package/operations/item_sales_tax.js +50 -0
  121. package/operations/item_sales_tax_group.d.ts +192 -0
  122. package/operations/item_sales_tax_group.js +50 -0
  123. package/operations/item_service.d.ts +256 -0
  124. package/operations/item_service.js +50 -0
  125. package/operations/item_sites.d.ts +81 -0
  126. package/operations/item_sites.js +26 -0
  127. package/operations/item_subtotal.d.ts +188 -0
  128. package/operations/item_subtotal.js +50 -0
  129. package/operations/job_report.d.ts +99 -0
  130. package/operations/job_report.js +26 -0
  131. package/operations/job_type.d.ts +127 -0
  132. package/operations/job_type.js +38 -0
  133. package/operations/journal_entry.d.ts +339 -0
  134. package/operations/journal_entry.js +50 -0
  135. package/operations/lead.d.ts +291 -0
  136. package/operations/lead.js +50 -0
  137. package/operations/list.d.ts +39 -0
  138. package/operations/list.js +26 -0
  139. package/operations/list_deleted.d.ts +44 -0
  140. package/operations/list_deleted.js +26 -0
  141. package/operations/list_display.d.ts +65 -0
  142. package/operations/list_display.js +38 -0
  143. package/operations/list_merge.d.ts +58 -0
  144. package/operations/list_merge.js +26 -0
  145. package/operations/other_name.d.ts +280 -0
  146. package/operations/other_name.js +50 -0
  147. package/operations/paycheck.d.ts +82 -0
  148. package/operations/paycheck.js +26 -0
  149. package/operations/payment_method.d.ts +131 -0
  150. package/operations/payment_method.js +38 -0
  151. package/operations/payroll_detail_report.d.ts +97 -0
  152. package/operations/payroll_detail_report.js +26 -0
  153. package/operations/payroll_item.d.ts +83 -0
  154. package/operations/payroll_item.js +26 -0
  155. package/operations/payroll_item_addition.d.ts +95 -0
  156. package/operations/payroll_item_addition.js +38 -0
  157. package/operations/payroll_item_company_contribution.d.ts +105 -0
  158. package/operations/payroll_item_company_contribution.js +38 -0
  159. package/operations/payroll_item_deduction.d.ts +101 -0
  160. package/operations/payroll_item_deduction.js +38 -0
  161. package/operations/payroll_item_direct_deposit.d.ts +65 -0
  162. package/operations/payroll_item_direct_deposit.js +38 -0
  163. package/operations/payroll_item_non_wage.d.ts +92 -0
  164. package/operations/payroll_item_non_wage.js +26 -0
  165. package/operations/payroll_item_tax.d.ts +108 -0
  166. package/operations/payroll_item_tax.js +38 -0
  167. package/operations/payroll_item_wage.d.ts +169 -0
  168. package/operations/payroll_item_wage.js +50 -0
  169. package/operations/payroll_item_workers_compensation.d.ts +77 -0
  170. package/operations/payroll_item_workers_compensation.js +38 -0
  171. package/operations/payroll_last_period.d.ts +31 -0
  172. package/operations/payroll_last_period.js +26 -0
  173. package/operations/payroll_liability_adjustment.d.ts +137 -0
  174. package/operations/payroll_liability_adjustment.js +38 -0
  175. package/operations/payroll_liability_check.d.ts +82 -0
  176. package/operations/payroll_liability_check.js +26 -0
  177. package/operations/payroll_prior_payment.d.ts +126 -0
  178. package/operations/payroll_prior_payment.js +38 -0
  179. package/operations/payroll_summary_report.d.ts +107 -0
  180. package/operations/payroll_summary_report.js +26 -0
  181. package/operations/payroll_year_to_date_adjustment.d.ts +156 -0
  182. package/operations/payroll_year_to_date_adjustment.js +38 -0
  183. package/operations/preferences.d.ts +64 -0
  184. package/operations/preferences.js +38 -0
  185. package/operations/price_level.d.ts +234 -0
  186. package/operations/price_level.js +50 -0
  187. package/operations/purchase_order.d.ts +620 -0
  188. package/operations/purchase_order.js +50 -0
  189. package/operations/qb_command_exec.d.ts +49 -0
  190. package/operations/qb_command_exec.js +26 -0
  191. package/operations/receive_payment.d.ts +450 -0
  192. package/operations/receive_payment.js +50 -0
  193. package/operations/receive_payment_to_deposit.d.ts +36 -0
  194. package/operations/receive_payment_to_deposit.js +26 -0
  195. package/operations/sales_order.d.ts +612 -0
  196. package/operations/sales_order.js +50 -0
  197. package/operations/sales_receipt.d.ts +650 -0
  198. package/operations/sales_receipt.js +50 -0
  199. package/operations/sales_rep.d.ts +170 -0
  200. package/operations/sales_rep.js +50 -0
  201. package/operations/sales_tax_code.d.ts +194 -0
  202. package/operations/sales_tax_code.js +50 -0
  203. package/operations/sales_tax_payable.d.ts +42 -0
  204. package/operations/sales_tax_payable.js +26 -0
  205. package/operations/sales_tax_payment_check.d.ts +254 -0
  206. package/operations/sales_tax_payment_check.js +50 -0
  207. package/operations/sales_tax_return.d.ts +35 -0
  208. package/operations/sales_tax_return.js +26 -0
  209. package/operations/sales_tax_return_line.d.ts +36 -0
  210. package/operations/sales_tax_return_line.js +26 -0
  211. package/operations/ship_method.d.ts +121 -0
  212. package/operations/ship_method.js +38 -0
  213. package/operations/special_account.d.ts +40 -0
  214. package/operations/special_account.js +26 -0
  215. package/operations/special_item.d.ts +44 -0
  216. package/operations/special_item.js +26 -0
  217. package/operations/standard_terms.d.ts +133 -0
  218. package/operations/standard_terms.js +38 -0
  219. package/operations/template.d.ts +36 -0
  220. package/operations/template.js +26 -0
  221. package/operations/terms.d.ts +90 -0
  222. package/operations/terms.js +26 -0
  223. package/operations/time_report.d.ts +84 -0
  224. package/operations/time_report.js +26 -0
  225. package/operations/time_tracking.d.ts +214 -0
  226. package/operations/time_tracking.js +50 -0
  227. package/operations/to_do.d.ts +254 -0
  228. package/operations/to_do.js +50 -0
  229. package/operations/transaction.d.ts +244 -0
  230. package/operations/transaction.js +26 -0
  231. package/operations/transfer.d.ts +178 -0
  232. package/operations/transfer.js +50 -0
  233. package/operations/transfer_inventory.d.ts +290 -0
  234. package/operations/transfer_inventory.js +50 -0
  235. package/operations/txn.d.ts +39 -0
  236. package/operations/txn.js +26 -0
  237. package/operations/txn_deleted.d.ts +44 -0
  238. package/operations/txn_deleted.js +26 -0
  239. package/operations/txn_display.d.ts +69 -0
  240. package/operations/txn_display.js +38 -0
  241. package/operations/txn_void.d.ts +39 -0
  242. package/operations/txn_void.js +26 -0
  243. package/operations/types.d.ts +1259 -0
  244. package/operations/unit_of_measure_set.d.ts +168 -0
  245. package/operations/unit_of_measure_set.js +38 -0
  246. package/operations/vehicle.d.ts +168 -0
  247. package/operations/vehicle.js +50 -0
  248. package/operations/vehicle_mileage.d.ts +147 -0
  249. package/operations/vehicle_mileage.js +38 -0
  250. package/operations/vendor.d.ts +541 -0
  251. package/operations/vendor.js +50 -0
  252. package/operations/vendor_credit.d.ts +365 -0
  253. package/operations/vendor_credit.js +50 -0
  254. package/operations/vendor_type.d.ts +127 -0
  255. package/operations/vendor_type.js +38 -0
  256. package/operations/workers_comp_code.d.ts +199 -0
  257. package/operations/workers_comp_code.js +50 -0
  258. package/package.json +14 -4
@@ -0,0 +1,54 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+
3
+ import type { Client } from "../index";
4
+ import type { OperationOptions, QueuedRequest, CurrencyFilter, CurrencyRef } from "./types";
5
+
6
+ /** QuickBooks bill to pay operations: `qube.billToPay.<action>(connectionId, params, { webhookUrl })`. */
7
+ export declare class BillToPay {
8
+ constructor(client: Client);
9
+ /**
10
+ * List bill to pays: `GET /connections/{connection_id}/bill-to-pays`, queued for QuickBooks.
11
+ *
12
+ * The answer comes to `webhookUrl` as one webhook.
13
+ * Params go in the query string.
14
+ *
15
+ * Fields: `ap_account_ref`, `currency_filter`, `due_date`, `include_ret_element`, `meta_data`, `payee_entity_ref` (required), `request_id`.
16
+ *
17
+ * Resolves to the queued request.
18
+ * @see https://docs.qubesync.com/api-reference/v2/bill-to-pays/list-bill-to-pays
19
+ */
20
+ query(connectionId: string, params: BillToPayQueryParams, options: OperationOptions): Promise<QueuedRequest>;
21
+ }
22
+
23
+ /**
24
+ * The params of `bill_to_pay.query`: List bill to pays.
25
+ */
26
+ export interface BillToPayQueryParams {
27
+ /**
28
+ * Refers to an accounts payable account in the QuickBooks file. (The AccountType of this account will be AccountsPayable.) If `ap_account_ref` is missing, the SDK will use the QuickBooks default AP account. In a request, if an `ap_account_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
29
+ */
30
+ ap_account_ref?: CurrencyRef;
31
+ /**
32
+ * Filters by the specified currency.
33
+ */
34
+ currency_filter?: CurrencyFilter;
35
+ /**
36
+ * The date on which payment is due.
37
+ *
38
+ * Format: date.
39
+ */
40
+ due_date?: string;
41
+ include_ret_element?: Array<"BillToPay" | "CreditToApply">;
42
+ /**
43
+ * Use the `meta_data` attribute to control whether query responses include counts. Options are NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus objects). Counts are approximate and may vary slightly if records are created or deleted during processing.
44
+ */
45
+ meta_data?: "MetaDataAndResponseData" | "MetaDataOnly" | "NoMetaData";
46
+ /**
47
+ * `payee_entity_ref` identifies the payee (customer, vendor, employee, or Other Name). If both `full_name` and `list_id` are provided, `full_name` is ignored.
48
+ */
49
+ payee_entity_ref: CurrencyRef;
50
+ /**
51
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
52
+ */
53
+ request_id?: string;
54
+ }
@@ -0,0 +1,26 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+ "use strict";
3
+
4
+ /** QuickBooks bill to pay operations. Types: bill_to_pay.d.ts. */
5
+ class BillToPay {
6
+ #client;
7
+
8
+ /** @param {import("../index").Client} client */
9
+ constructor(client) {
10
+ this.#client = client;
11
+ }
12
+
13
+ /**
14
+ * List bill to pays.
15
+ * @param {string} connectionId
16
+ * @param {import("./bill_to_pay").BillToPayQueryParams} params
17
+ * @param {import("./types").OperationOptions} options
18
+ * @returns {Promise<import("./types").QueuedRequest>}
19
+ * @see https://docs.qubesync.com/api-reference/v2/bill-to-pays/list-bill-to-pays
20
+ */
21
+ query(connectionId, params, options) {
22
+ return this.#client.queue("bill_to_pay.query", connectionId, params, options);
23
+ }
24
+ }
25
+
26
+ module.exports = { BillToPay };
@@ -0,0 +1,159 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+
3
+ import type { Client } from "../index";
4
+ import type { OperationOptions, QueuedRequest, CurrencyRef, NameFilter, NameRangeFilter } from "./types";
5
+
6
+ /** QuickBooks billing rate operations: `qube.billingRate.<action>(connectionId, params, { webhookUrl })`. */
7
+ export declare class BillingRate {
8
+ constructor(client: Client);
9
+ /**
10
+ * Create billing rate: `POST /connections/{connection_id}/billing-rates`, queued for QuickBooks.
11
+ *
12
+ * The answer comes to `webhookUrl` as one webhook.
13
+ * Params go in the JSON body.
14
+ *
15
+ * Fields: `billing_rate_per_item`, `fixed_billing_rate`, `include_ret_element`, `name` (required), `request_id`.
16
+ *
17
+ * Give exactly one of: `fixed_billing_rate`, or `billing_rate_per_item`.
18
+ *
19
+ * Resolves to the queued request.
20
+ * @see https://docs.qubesync.com/api-reference/v2/billing-rates/create-billing-rate
21
+ */
22
+ create(connectionId: string, params: BillingRateCreateParams, options: OperationOptions): Promise<QueuedRequest>;
23
+ /**
24
+ * List billing rates: `GET /connections/{connection_id}/billing-rates`, queued for QuickBooks.
25
+ *
26
+ * The answer comes to `webhookUrl` as one webhook.
27
+ * Params go in the query string.
28
+ *
29
+ * Fields: `from_modified_date`, `full_name`, `include_ret_element`, `item_ref`, `list_id`, `max_returned`, `meta_data`, `name_filter`, `name_range_filter`, `request_id`, `to_modified_date`.
30
+ *
31
+ * Resolves to the queued request.
32
+ * @see https://docs.qubesync.com/api-reference/v2/billing-rates/list-billing-rates
33
+ */
34
+ query(connectionId: string, params: BillingRateQueryParams | undefined, options: OperationOptions): Promise<QueuedRequest>;
35
+ }
36
+
37
+ /**
38
+ * The params of `billing_rate.create`: Create billing rate.
39
+ *
40
+ * Give exactly one of: `fixed_billing_rate`, or `billing_rate_per_item`.
41
+ */
42
+ export interface BillingRateCreateParams {
43
+ billing_rate_per_item?: BillingRatePerItem[];
44
+ /**
45
+ * You use `fixed_billing_rate` if you want the rate to override all service items rates. Consequently, there is no need to specify any service items (and in fact you can’t specify them) if you use this element.
46
+ */
47
+ fixed_billing_rate?: number;
48
+ include_ret_element?: Array<"BillingRatePerItemRet" | "BillingRateType" | "EditSequence" | "ExternalGUID" | "FixedBillingRate" | "ListID" | "Name" | "OwnerID" | "TimeCreated" | "TimeModified" | "TxnID" | "TxnNumber">;
49
+ /**
50
+ * Name is the case-insensitive short name of a list object (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the same Name in different branches because `full_name` remains distinct.
51
+ */
52
+ name: string;
53
+ /**
54
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
55
+ */
56
+ request_id?: string;
57
+ }
58
+
59
+ /**
60
+ * The params of `billing_rate.query`: List billing rates.
61
+ */
62
+ export interface BillingRateQueryParams {
63
+ /**
64
+ * Filters results to objects modified on or after this timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a date is provided, time defaults to 00:00:00.
65
+ *
66
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
67
+ *
68
+ * Format: date-time.
69
+ */
70
+ from_modified_date?: string;
71
+ /**
72
+ * `full_name` (along with `list_id`) is a way to identify a list object. The `full_name` is the name prefixed by the names of each ancestor, for example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
73
+ *
74
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
75
+ */
76
+ full_name?: string[];
77
+ include_ret_element?: Array<"BillingRatePerItemRet" | "BillingRateType" | "EditSequence" | "FixedBillingRate" | "ListID" | "Name" | "TimeCreated" | "TimeModified">;
78
+ /**
79
+ * `item_ref` may accept all item types or a restricted subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items; VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
80
+ *
81
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
82
+ */
83
+ item_ref?: CurrencyRef;
84
+ /**
85
+ * `list_id` and `full_name` both identify a list object. QuickBooks assigns `list_id` when the object is created. `list_id` values are unique within a list type, not globally across all lists. If both `full_name` and `list_id` are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
86
+ *
87
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
88
+ */
89
+ list_id?: string[];
90
+ /**
91
+ * Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `meta_data` query attribute.) If you include a `max_returned` value, it must be at least 1.
92
+ *
93
+ * QuickBooks doesn't page this query: at most this many records come back, in one answer, with no sign of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type` `response_too_large`), so narrow a large one with its filters.
94
+ *
95
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
96
+ *
97
+ * Minimum 1.
98
+ */
99
+ max_returned?: number;
100
+ /**
101
+ * Use the `meta_data` attribute to control whether query responses include counts. Options are NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus objects). Counts are approximate and may vary slightly if records are created or deleted during processing.
102
+ */
103
+ meta_data?: "MetaDataAndResponseData" | "MetaDataOnly" | "NoMetaData";
104
+ /**
105
+ * Filters according to the object’s Name.
106
+ *
107
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
108
+ */
109
+ name_filter?: NameFilter;
110
+ /**
111
+ * Filters according to the object’s Name.
112
+ *
113
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
114
+ */
115
+ name_range_filter?: NameRangeFilter;
116
+ /**
117
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
118
+ */
119
+ request_id?: string;
120
+ /**
121
+ * Filters results to objects modified on or before this timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a date is provided, time defaults to end-of-day (23:59:59).
122
+ *
123
+ * Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not with the other choices.
124
+ *
125
+ * Format: date-time.
126
+ */
127
+ to_modified_date?: string;
128
+ }
129
+
130
+ export interface BillingRatePerItem {
131
+ /**
132
+ * Specifies the service item rate that `adjust_percentage` is applied to. Normally, this is set to StandardRate.
133
+ *
134
+ * Choose exactly one of: the set (`custom_rate`, `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`, `adjust_percentage`). Members of a set combine with each other, not with the other choices.
135
+ */
136
+ adjust_billing_rate_relative_to?: "CurrentCustomRate" | "StandardRate";
137
+ /**
138
+ * If you don’t want to apply a custom price (for price levels) or custom rate (for billing rates), you can apply an adjusted price discount using the pair of fields `adjust_percentage` and AdjustRelativeTo (`adjust_billing_rate_relative_to` for billing rates).
139
+ *
140
+ * Choose exactly one of: the set (`custom_rate`, `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`, `adjust_percentage`). Members of a set combine with each other, not with the other choices.
141
+ */
142
+ adjust_percentage?: number;
143
+ /**
144
+ * The value specified here overrides the rate of the service item referenced in this aggregate (in the `item_ref`) with the rate you specify here. If instead you wanted a rate that is a percentage higher or lower than the service item rate, you wouldn’t use `custom_rate`, but you would use `adjust_percentage` and `adjust_billing_rate_relative_to`.
145
+ *
146
+ * Choose exactly one of: the set (`custom_rate`, `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`, `adjust_percentage`). Members of a set combine with each other, not with the other choices.
147
+ */
148
+ custom_rate?: number;
149
+ /**
150
+ * Using this field with BillingRateAdd will work only if the service item itself is set to a percentage, not to an amount. If you attempt to set the Billing Rate to a percentage for a service item that has an amount for the Rate, you will get an error. The kind of rate you have on the service item determines the kind of billing rate you may have on that item.
151
+ *
152
+ * Choose exactly one of: the set (`custom_rate`, `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`, `adjust_percentage`). Members of a set combine with each other, not with the other choices.
153
+ */
154
+ custom_rate_percent?: number;
155
+ /**
156
+ * `item_ref` may accept all item types or a restricted subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items; VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
157
+ */
158
+ item_ref: CurrencyRef;
159
+ }
@@ -0,0 +1,38 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+ "use strict";
3
+
4
+ /** QuickBooks billing rate operations. Types: billing_rate.d.ts. */
5
+ class BillingRate {
6
+ #client;
7
+
8
+ /** @param {import("../index").Client} client */
9
+ constructor(client) {
10
+ this.#client = client;
11
+ }
12
+
13
+ /**
14
+ * Create billing rate.
15
+ * @param {string} connectionId
16
+ * @param {import("./billing_rate").BillingRateCreateParams} params
17
+ * @param {import("./types").OperationOptions} options
18
+ * @returns {Promise<import("./types").QueuedRequest>}
19
+ * @see https://docs.qubesync.com/api-reference/v2/billing-rates/create-billing-rate
20
+ */
21
+ create(connectionId, params, options) {
22
+ return this.#client.queue("billing_rate.create", connectionId, params, options);
23
+ }
24
+
25
+ /**
26
+ * List billing rates.
27
+ * @param {string} connectionId
28
+ * @param {import("./billing_rate").BillingRateQueryParams} params
29
+ * @param {import("./types").OperationOptions} options
30
+ * @returns {Promise<import("./types").QueuedRequest>}
31
+ * @see https://docs.qubesync.com/api-reference/v2/billing-rates/list-billing-rates
32
+ */
33
+ query(connectionId, params, options) {
34
+ return this.#client.queue("billing_rate.query", connectionId, params, options);
35
+ }
36
+ }
37
+
38
+ module.exports = { BillingRate };
@@ -0,0 +1,71 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+
3
+ import type { Client } from "../index";
4
+ import type { OperationOptions, QueuedRequest, ReportClassFilter, ReportPeriod } from "./types";
5
+
6
+ /** QuickBooks budget summary report operations: `qube.budgetSummaryReport.<action>(connectionId, params, { webhookUrl })`. */
7
+ export declare class BudgetSummaryReport {
8
+ constructor(client: Client);
9
+ /**
10
+ * List budget summary reports: `GET /connections/{connection_id}/budget-summary-reports`, queued for QuickBooks.
11
+ *
12
+ * The answer comes to `webhookUrl` as one webhook.
13
+ * Params go in the query string.
14
+ *
15
+ * Fields: `budget_criterion`, `budget_summary_report_type` (required), `display_report`, `fiscal_year` (required), `report_class_filter`, `report_date_macro`, `report_period`, `request_id`, `summarize_budget_columns_by`, `summarize_budget_rows_by`.
16
+ *
17
+ * Resolves to the queued request.
18
+ * @see https://docs.qubesync.com/api-reference/v2/budget-summary-reports/list-budget-summary-reports
19
+ */
20
+ query(connectionId: string, params: BudgetSummaryReportQueryParams, options: OperationOptions): Promise<QueuedRequest>;
21
+ }
22
+
23
+ /**
24
+ * The params of `budget_summary_report.query`: List budget summary reports.
25
+ */
26
+ export interface BudgetSummaryReportQueryParams {
27
+ /**
28
+ * What this budget covers.
29
+ */
30
+ budget_criterion?: "Accounts" | "AccountsAndClasses" | "AccountsAndCustomers";
31
+ /**
32
+ * The type of budget report being queried.
33
+ */
34
+ budget_summary_report_type: "BalanceSheetBudgetOverview" | "BalanceSheetBudgetVsActual" | "ProfitAndLossBudgetOverview" | "ProfitAndLossBudgetPerformance" | "ProfitAndLossBudgetVsActual";
35
+ /**
36
+ * Set `display_report` 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.
37
+ */
38
+ display_report?: boolean;
39
+ /**
40
+ * Specify the fiscal year of the budget to be queried. There can only be one balance sheet budget for each fiscal year, one profit and loss (P&L) by account budget per fiscal year, and one profit and loss (P&L) by account and customer budget per fiscal year. When Fiscal year isn’t the current year, the report returns the data for the full fiscal year.
41
+ */
42
+ fiscal_year: number;
43
+ /**
44
+ * 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.
45
+ */
46
+ report_class_filter?: ReportClassFilter;
47
+ /**
48
+ * The time period covered by this report.
49
+ *
50
+ * Choose at most one of: `report_period`, or `report_date_macro`.
51
+ */
52
+ report_date_macro?: "All" | "LastMonth" | "LastMonthToDate" | "LastQuarter" | "LastQuarterToDate" | "LastWeek" | "LastWeekToDate" | "LastYear" | "LastYearToDate" | "NextFourWeeks" | "NextMonth" | "NextQuarter" | "NextWeek" | "NextYear" | "ThisMonth" | "ThisMonthToDate" | "ThisQuarter" | "ThisQuarterToDate" | "ThisWeek" | "ThisWeekToDate" | "ThisYear" | "ThisYearToDate" | "Today" | "Yesterday";
53
+ /**
54
+ * If you omit both `to_report_date` and `from_report_date`, the report will cover the current fiscal year to date.
55
+ *
56
+ * Choose at most one of: `report_period`, or `report_date_macro`.
57
+ */
58
+ report_period?: ReportPeriod;
59
+ /**
60
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
61
+ */
62
+ request_id?: string;
63
+ /**
64
+ * `summarize_budget_columns_by` determines which data the report calculates and how the columns will be labeled across the top of the report.
65
+ */
66
+ summarize_budget_columns_by?: "Class" | "Customer" | "Date";
67
+ /**
68
+ * How you want rows to be labeled in the report. For example, if you set the value to sbrbAccount, the report’s row labels might be “Checking,” “Savings,” and so on.
69
+ */
70
+ summarize_budget_rows_by?: "Account" | "Class" | "Customer";
71
+ }
@@ -0,0 +1,26 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+ "use strict";
3
+
4
+ /** QuickBooks budget summary report operations. Types: budget_summary_report.d.ts. */
5
+ class BudgetSummaryReport {
6
+ #client;
7
+
8
+ /** @param {import("../index").Client} client */
9
+ constructor(client) {
10
+ this.#client = client;
11
+ }
12
+
13
+ /**
14
+ * List budget summary reports.
15
+ * @param {string} connectionId
16
+ * @param {import("./budget_summary_report").BudgetSummaryReportQueryParams} params
17
+ * @param {import("./types").OperationOptions} options
18
+ * @returns {Promise<import("./types").QueuedRequest>}
19
+ * @see https://docs.qubesync.com/api-reference/v2/budget-summary-reports/list-budget-summary-reports
20
+ */
21
+ query(connectionId, params, options) {
22
+ return this.#client.queue("budget_summary_report.query", connectionId, params, options);
23
+ }
24
+ }
25
+
26
+ module.exports = { BudgetSummaryReport };
@@ -0,0 +1,264 @@
1
+ // Generated from operations.json by scripts/generate-operations.js: don't edit.
2
+
3
+ import type { Client } from "../index";
4
+ import type { OperationOptions, QueuedRequest, AccountFilter, CurrencyRef, ModifiedDateRangeFilter, RefNumberFilter, RefNumberRangeFilter, TxnDateRangeFilter } from "./types";
5
+
6
+ /** QuickBooks build assembly operations: `qube.buildAssembly.<action>(connectionId, params, { webhookUrl })`. */
7
+ export declare class BuildAssembly {
8
+ constructor(client: Client);
9
+ /**
10
+ * Create build assembly: `POST /connections/{connection_id}/build-assemblies`, queued for QuickBooks.
11
+ *
12
+ * The answer comes to `webhookUrl` as one webhook.
13
+ * Params go in the JSON body.
14
+ *
15
+ * Fields: `def_macro`, `external_guid`, `include_ret_element`, `inventory_site_location_ref`, `inventory_site_ref`, `item_inventory_assembly_ref` (required), `lot_number`, `mark_pending_if_required`, `memo`, `quantity_to_build` (required), `ref_number`, `request_id`, `serial_number`, `txn_date`.
16
+ *
17
+ * Resolves to the queued request.
18
+ * @see https://docs.qubesync.com/api-reference/v2/build-assemblies/create-build-assembly
19
+ */
20
+ create(connectionId: string, params: BuildAssemblyCreateParams, options: OperationOptions): Promise<QueuedRequest>;
21
+ /**
22
+ * List build assemblies: `GET /connections/{connection_id}/build-assemblies`, queued for QuickBooks.
23
+ *
24
+ * QuickBooks answers in pages: each page comes to `webhookUrl` as its own webhook.
25
+ * Params go in the query string.
26
+ *
27
+ * Fields: `include_component_line_items`, `include_ret_element`, `item_filter`, `iterator`, `max_returned`, `meta_data`, `modified_date_range_filter`, `owner_id`, `pending_status`, `ref_number`, `ref_number_case_sensitive`, `ref_number_filter`, `ref_number_range_filter`, `request_id`, `txn_date_range_filter`, `txn_id`.
28
+ *
29
+ * Resolves to the queued request.
30
+ * @see https://docs.qubesync.com/api-reference/v2/build-assemblies/list-build-assemblies
31
+ */
32
+ query(connectionId: string, params: BuildAssemblyQueryParams | undefined, options: OperationOptions): Promise<QueuedRequest>;
33
+ /**
34
+ * Update build assembly: `PUT /connections/{connection_id}/build-assemblies`, queued for QuickBooks.
35
+ *
36
+ * The answer comes to `webhookUrl` as one webhook.
37
+ * Params go in the JSON body.
38
+ *
39
+ * Fields: `edit_sequence` (required), `include_ret_element`, `inventory_site_location_ref`, `inventory_site_ref`, `lot_number`, `mark_pending_if_required`, `memo`, `quantity_to_build`, `ref_number`, `remove_pending`, `request_id`, `serial_number`, `txn_date`, `txn_id` (required).
40
+ *
41
+ * Resolves to the queued request.
42
+ * @see https://docs.qubesync.com/api-reference/v2/build-assemblies/update-build-assembly
43
+ */
44
+ update(connectionId: string, params: BuildAssemblyUpdateParams, options: OperationOptions): Promise<QueuedRequest>;
45
+ }
46
+
47
+ /**
48
+ * The params of `build_assembly.create`: Create build assembly.
49
+ */
50
+ export interface BuildAssemblyCreateParams {
51
+ /**
52
+ * `def_macro` lets you assign a reusable name to a returned `txn_id` or TxnLineID so later requests can reference it with `useMacro`. This feature requires SDK 2.0+.
53
+ */
54
+ def_macro?: string;
55
+ /**
56
+ * Allows for the attachment of a user defined GUID value.
57
+ */
58
+ external_guid?: string;
59
+ include_ret_element?: Array<"ComponentItemLineRet" | "DataExtRet" | "EditSequence" | "ExpirationDateForSerialLotNumber" | "ExternalGUID" | "InventorySiteLocationRef" | "InventorySiteRef" | "IsPending" | "ItemInventoryAssemblyRef" | "ListID" | "LotNumber" | "Memo" | "OwnerID" | "QuantityCanBuild" | "QuantityOnHand" | "QuantityOnSalesOrder" | "QuantityToBuild" | "RefNumber" | "SerialNumber" | "TimeCreated" | "TimeModified" | "TxnDate" | "TxnID" | "TxnNumber">;
60
+ /**
61
+ * Location within the Inventory Site
62
+ */
63
+ inventory_site_location_ref?: CurrencyRef;
64
+ /**
65
+ * Site where inventory is located.
66
+ */
67
+ inventory_site_ref?: CurrencyRef;
68
+ /**
69
+ * An inventory assembly item is one that is assembled or manufactured from inventory items. The items and/or assemblies that make up the assembly are called components. For Premier, an assembly can have a maximum of 100 components. For Enterprise, the maximum is 500 components.
70
+ */
71
+ item_inventory_assembly_ref: CurrencyRef;
72
+ /**
73
+ * The lot number of the asset.
74
+ *
75
+ * Choose at most one of: `serial_number`, or `lot_number`.
76
+ */
77
+ lot_number?: string;
78
+ /**
79
+ * Allows the build assembly to be marked pending if there are insufficient quantities to complete the build assembly.
80
+ */
81
+ mark_pending_if_required?: boolean;
82
+ /**
83
+ * Additional information.
84
+ */
85
+ memo?: string;
86
+ /**
87
+ * Specifies the number of assemblies to be built. The transaction will fail if the number specified here exceeds the number of on-hand components.
88
+ */
89
+ quantity_to_build: number;
90
+ /**
91
+ * `ref_number` is a user-managed transaction reference (for example, a check number). It can be edited and is not guaranteed to be globally unique. Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences and numbering state.
92
+ */
93
+ ref_number?: string;
94
+ /**
95
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
96
+ */
97
+ request_id?: string;
98
+ /**
99
+ * The serial number of the asset.
100
+ *
101
+ * Choose at most one of: `serial_number`, or `lot_number`.
102
+ */
103
+ serial_number?: string;
104
+ /**
105
+ * The date of the transaction. In some cases, if you leave `txn_date` out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved transaction of the same type.
106
+ *
107
+ * Format: date.
108
+ */
109
+ txn_date?: string;
110
+ }
111
+
112
+ /**
113
+ * The params of `build_assembly.query`: List build assemblies.
114
+ */
115
+ export interface BuildAssemblyQueryParams {
116
+ /**
117
+ * Specify “true” if component line items for each returned transaction are to be included in the returned data. Specify “false” if the line items aren’t be returned.
118
+ */
119
+ include_component_line_items?: boolean;
120
+ include_ret_element?: Array<"ComponentItemLineRet" | "DataExtRet" | "EditSequence" | "ExpirationDateForSerialLotNumber" | "ExternalGUID" | "InventorySiteLocationRef" | "InventorySiteRef" | "IsPending" | "ItemInventoryAssemblyRef" | "LotNumber" | "Memo" | "QuantityCanBuild" | "QuantityOnHand" | "QuantityOnSalesOrder" | "QuantityToBuild" | "RefNumber" | "SerialNumber" | "TimeCreated" | "TimeModified" | "TxnDate" | "TxnID" | "TxnNumber">;
121
+ /**
122
+ * Filters according to the item name or ID. You can use an ItemQuery request to get information about all the items that are set up in the QuickBooks file. “Items” are line items used for fast entry on sales and purchase forms. They include services and goods that a business buys and sells, as well as special items that perform calculations–for example, subtotal, discount, and sales-tax items.
123
+ *
124
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
125
+ */
126
+ item_filter?: AccountFilter;
127
+ /**
128
+ * Page through every match: QuBe Sync asks QuickBooks for each page in turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by default, with pages of 100 records; send `iterator=true` with `max_returned` for another size. Off when you send `iterator=false` (every match in one answer) or `max_returned` alone (at most that many, in one answer). It pages a filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every match comes back in one answer, so leave `iterator` out.
129
+ */
130
+ iterator?: boolean;
131
+ /**
132
+ * Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `meta_data` query attribute.) If you include a `max_returned` value, it must be at least 1.
133
+ *
134
+ * The page size, with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap instead: at most this many records come back, in one answer, and QuickBooks doesn't say whether more matched.
135
+ *
136
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
137
+ *
138
+ * Minimum 1.
139
+ */
140
+ max_returned?: number;
141
+ /**
142
+ * Use the `meta_data` attribute to control whether query responses include counts. Options are NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus objects). Counts are approximate and may vary slightly if records are created or deleted during processing.
143
+ */
144
+ meta_data?: "MetaDataAndResponseData" | "MetaDataOnly" | "NoMetaData";
145
+ /**
146
+ * Filters according to the dates when transactions were last modified. The `modified_date_range_filter` aggregate isn’t required to contain any elements, but if it is empty, we recommend that you leave it out altogether.
147
+ *
148
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
149
+ */
150
+ modified_date_range_filter?: ModifiedDateRangeFilter;
151
+ /**
152
+ * `owner_id` identifies who owns the data extension. Use 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned by an app. Keep private GUIDs confidential unless you intentionally share extensions across apps. If you do share them, both apps must use the same `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
153
+ */
154
+ owner_id?: string[];
155
+ /**
156
+ * Specifies whether the transaction is pending (posted) or not.
157
+ *
158
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
159
+ */
160
+ pending_status?: "All" | "NotPendingOnly" | "PendingOnly";
161
+ /**
162
+ * `ref_number` is a user-managed transaction reference (for example, a check number). It can be edited and is not guaranteed to be globally unique. Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences and numbering state.
163
+ *
164
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
165
+ */
166
+ ref_number?: string[];
167
+ /**
168
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
169
+ */
170
+ ref_number_case_sensitive?: string[];
171
+ /**
172
+ * Filters by `ref_number` range. Numeric-only bounds are compared numerically; otherwise comparison is lexicographic.
173
+ *
174
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
175
+ */
176
+ ref_number_filter?: RefNumberFilter;
177
+ /**
178
+ * Filters by `ref_number` range. Numeric-only bounds are compared numerically; otherwise comparison is lexicographic.
179
+ *
180
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
181
+ */
182
+ ref_number_range_filter?: RefNumberRangeFilter;
183
+ /**
184
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
185
+ */
186
+ request_id?: string;
187
+ /**
188
+ * Filters according to the original transaction dates.
189
+ *
190
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
191
+ */
192
+ txn_date_range_filter?: TxnDateRangeFilter;
193
+ /**
194
+ * `txn_id` is the unique QuickBooks identifier for a transaction. Use it to reference that transaction in later requests. `txn_id` values are transaction-specific and should not be reused across unrelated transaction types.
195
+ *
196
+ * Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`item_filter`, `max_returned`, `modified_date_range_filter`, `pending_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each other, not with the other choices.
197
+ */
198
+ txn_id?: string[];
199
+ }
200
+
201
+ /**
202
+ * The params of `build_assembly.update`: Update build assembly.
203
+ */
204
+ export interface BuildAssemblyUpdateParams {
205
+ /**
206
+ * `edit_sequence` is a server-generated revision token. It changes each time the object is updated. To modify an existing object, you must send the current `edit_sequence`. If your value is stale, the update is rejected to prevent overwriting newer changes.
207
+ */
208
+ edit_sequence: string;
209
+ include_ret_element?: Array<"ComponentItemLineRet" | "DataExtRet" | "EditSequence" | "ExpirationDateForSerialLotNumber" | "ExternalGUID" | "InventorySiteLocationRef" | "InventorySiteRef" | "IsPending" | "ItemInventoryAssemblyRef" | "ListID" | "LotNumber" | "Memo" | "OwnerID" | "QuantityCanBuild" | "QuantityOnHand" | "QuantityOnSalesOrder" | "QuantityToBuild" | "RefNumber" | "SerialNumber" | "TimeCreated" | "TimeModified" | "TxnDate" | "TxnID" | "TxnNumber">;
210
+ /**
211
+ * Location within the Inventory Site
212
+ */
213
+ inventory_site_location_ref?: CurrencyRef;
214
+ /**
215
+ * Site where inventory is located.
216
+ */
217
+ inventory_site_ref?: CurrencyRef;
218
+ /**
219
+ * The lot number of the asset.
220
+ *
221
+ * Choose at most one of: `serial_number`, or `lot_number`.
222
+ */
223
+ lot_number?: string;
224
+ /**
225
+ * Allows the build assembly to be marked pending if there are insufficient quantities to complete the build assembly.
226
+ */
227
+ mark_pending_if_required?: boolean;
228
+ /**
229
+ * Additional information.
230
+ */
231
+ memo?: string;
232
+ /**
233
+ * Specifies the number of assemblies to be built. The transaction will fail if the number specified here exceeds the number of on-hand components.
234
+ */
235
+ quantity_to_build?: number;
236
+ /**
237
+ * `ref_number` is a user-managed transaction reference (for example, a check number). It can be edited and is not guaranteed to be globally unique. Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences and numbering state.
238
+ */
239
+ ref_number?: string;
240
+ /**
241
+ * Changes the transaction’s pending status from Pending to non pending. In BuildAssembly transactions, this effectively does the build transaction. Hence, removing the Pending status will fail if there aren’t enough components on hand for the build.
242
+ */
243
+ remove_pending?: boolean;
244
+ /**
245
+ * Your own label for the request, sent to QuickBooks as its qbXML `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's webhook already carries the request's `id`.
246
+ */
247
+ request_id?: string;
248
+ /**
249
+ * The serial number of the asset.
250
+ *
251
+ * Choose at most one of: `serial_number`, or `lot_number`.
252
+ */
253
+ serial_number?: string;
254
+ /**
255
+ * The date of the transaction. In some cases, if you leave `txn_date` out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved transaction of the same type.
256
+ *
257
+ * Format: date.
258
+ */
259
+ txn_date?: string;
260
+ /**
261
+ * `txn_id` is the unique QuickBooks identifier for a transaction. Use it to reference that transaction in later requests. `txn_id` values are transaction-specific and should not be reused across unrelated transaction types.
262
+ */
263
+ txn_id: string;
264
+ }