qube_sync 0.3.0 → 0.4.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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +235 -75
  4. data/Rakefile +12 -0
  5. data/lib/qube_sync/client.rb +579 -0
  6. data/lib/qube_sync/operations/account.rb +337 -0
  7. data/lib/qube_sync/operations/account_tax_line_info.rb +30 -0
  8. data/lib/qube_sync/operations/aging_report.rb +160 -0
  9. data/lib/qube_sync/operations/alert.rb +91 -0
  10. data/lib/qube_sync/operations/ar_refund_credit_card.rb +399 -0
  11. data/lib/qube_sync/operations/bar_code.rb +37 -0
  12. data/lib/qube_sync/operations/bill.rb +1073 -0
  13. data/lib/qube_sync/operations/bill_payment_check.rb +413 -0
  14. data/lib/qube_sync/operations/bill_payment_credit_card.rb +315 -0
  15. data/lib/qube_sync/operations/bill_to_pay.rb +66 -0
  16. data/lib/qube_sync/operations/billing_rate.rb +172 -0
  17. data/lib/qube_sync/operations/budget_summary_report.rb +80 -0
  18. data/lib/qube_sync/operations/build_assembly.rb +318 -0
  19. data/lib/qube_sync/operations/charge.rb +452 -0
  20. data/lib/qube_sync/operations/check.rb +1055 -0
  21. data/lib/qube_sync/operations/class.rb +176 -0
  22. data/lib/qube_sync/operations/cleared_status.rb +39 -0
  23. data/lib/qube_sync/operations/company.rb +39 -0
  24. data/lib/qube_sync/operations/company_activity.rb +31 -0
  25. data/lib/qube_sync/operations/credit_card_charge.rb +1000 -0
  26. data/lib/qube_sync/operations/credit_card_credit.rb +1000 -0
  27. data/lib/qube_sync/operations/credit_memo.rb +1243 -0
  28. data/lib/qube_sync/operations/currency.rb +195 -0
  29. data/lib/qube_sync/operations/custom_detail_report.rb +176 -0
  30. data/lib/qube_sync/operations/custom_summary_report.rb +180 -0
  31. data/lib/qube_sync/operations/customer.rb +744 -0
  32. data/lib/qube_sync/operations/customer_msg.rb +117 -0
  33. data/lib/qube_sync/operations/customer_type.rb +133 -0
  34. data/lib/qube_sync/operations/data_event_recovery_info.rb +54 -0
  35. data/lib/qube_sync/operations/data_ext.rb +201 -0
  36. data/lib/qube_sync/operations/data_ext_def.rb +179 -0
  37. data/lib/qube_sync/operations/date_driven_terms.rb +131 -0
  38. data/lib/qube_sync/operations/deposit.rb +555 -0
  39. data/lib/qube_sync/operations/employee.rb +577 -0
  40. data/lib/qube_sync/operations/employee_default.rb +100 -0
  41. data/lib/qube_sync/operations/entity.rb +118 -0
  42. data/lib/qube_sync/operations/estimate.rb +1055 -0
  43. data/lib/qube_sync/operations/form1099_category_account_mapping.rb +90 -0
  44. data/lib/qube_sync/operations/general_detail_report.rb +185 -0
  45. data/lib/qube_sync/operations/general_summary_report.rb +180 -0
  46. data/lib/qube_sync/operations/host.rb +36 -0
  47. data/lib/qube_sync/operations/inventory_adjustment.rb +482 -0
  48. data/lib/qube_sync/operations/inventory_site.rb +214 -0
  49. data/lib/qube_sync/operations/invoice.rb +1208 -0
  50. data/lib/qube_sync/operations/item.rb +115 -0
  51. data/lib/qube_sync/operations/item_assemblies_can_build.rb +44 -0
  52. data/lib/qube_sync/operations/item_discount.rb +319 -0
  53. data/lib/qube_sync/operations/item_fixed_asset.rb +317 -0
  54. data/lib/qube_sync/operations/item_group.rb +253 -0
  55. data/lib/qube_sync/operations/item_inventory.rb +446 -0
  56. data/lib/qube_sync/operations/item_inventory_assembly.rb +483 -0
  57. data/lib/qube_sync/operations/item_non_inventory.rb +461 -0
  58. data/lib/qube_sync/operations/item_other_charge.rb +434 -0
  59. data/lib/qube_sync/operations/item_payment.rb +268 -0
  60. data/lib/qube_sync/operations/item_receipt.rb +1011 -0
  61. data/lib/qube_sync/operations/item_sales_tax.rb +270 -0
  62. data/lib/qube_sync/operations/item_sales_tax_group.rb +200 -0
  63. data/lib/qube_sync/operations/item_service.rb +455 -0
  64. data/lib/qube_sync/operations/item_sites.rb +96 -0
  65. data/lib/qube_sync/operations/item_subtotal.rb +182 -0
  66. data/lib/qube_sync/operations/job_report.rb +156 -0
  67. data/lib/qube_sync/operations/job_type.rb +131 -0
  68. data/lib/qube_sync/operations/journal_entry.rb +518 -0
  69. data/lib/qube_sync/operations/lead.rb +216 -0
  70. data/lib/qube_sync/operations/list.rb +42 -0
  71. data/lib/qube_sync/operations/list_deleted.rb +57 -0
  72. data/lib/qube_sync/operations/list_display.rb +59 -0
  73. data/lib/qube_sync/operations/list_merge.rb +55 -0
  74. data/lib/qube_sync/operations/other_name.rb +245 -0
  75. data/lib/qube_sync/operations/paycheck.rb +139 -0
  76. data/lib/qube_sync/operations/payment_method.rb +128 -0
  77. data/lib/qube_sync/operations/payroll_detail_report.rb +161 -0
  78. data/lib/qube_sync/operations/payroll_item.rb +75 -0
  79. data/lib/qube_sync/operations/payroll_item_addition.rb +98 -0
  80. data/lib/qube_sync/operations/payroll_item_company_contribution.rb +134 -0
  81. data/lib/qube_sync/operations/payroll_item_deduction.rb +124 -0
  82. data/lib/qube_sync/operations/payroll_item_direct_deposit.rb +70 -0
  83. data/lib/qube_sync/operations/payroll_item_non_wage.rb +93 -0
  84. data/lib/qube_sync/operations/payroll_item_tax.rb +123 -0
  85. data/lib/qube_sync/operations/payroll_item_wage.rb +168 -0
  86. data/lib/qube_sync/operations/payroll_item_workers_compensation.rb +108 -0
  87. data/lib/qube_sync/operations/payroll_last_period.rb +30 -0
  88. data/lib/qube_sync/operations/payroll_liability_adjustment.rb +204 -0
  89. data/lib/qube_sync/operations/payroll_liability_check.rb +137 -0
  90. data/lib/qube_sync/operations/payroll_prior_payment.rb +178 -0
  91. data/lib/qube_sync/operations/payroll_summary_report.rb +157 -0
  92. data/lib/qube_sync/operations/payroll_year_to_date_adjustment.rb +211 -0
  93. data/lib/qube_sync/operations/preferences.rb +61 -0
  94. data/lib/qube_sync/operations/price_level.rb +305 -0
  95. data/lib/qube_sync/operations/purchase_order.rb +1038 -0
  96. data/lib/qube_sync/operations/qb_command_exec.rb +37 -0
  97. data/lib/qube_sync/operations/receive_payment.rb +627 -0
  98. data/lib/qube_sync/operations/receive_payment_to_deposit.rb +38 -0
  99. data/lib/qube_sync/operations/sales_order.rb +1045 -0
  100. data/lib/qube_sync/operations/sales_receipt.rb +1337 -0
  101. data/lib/qube_sync/operations/sales_rep.rb +172 -0
  102. data/lib/qube_sync/operations/sales_tax_code.rb +205 -0
  103. data/lib/qube_sync/operations/sales_tax_payable.rb +37 -0
  104. data/lib/qube_sync/operations/sales_tax_payment_check.rb +375 -0
  105. data/lib/qube_sync/operations/sales_tax_return.rb +35 -0
  106. data/lib/qube_sync/operations/sales_tax_return_line.rb +43 -0
  107. data/lib/qube_sync/operations/ship_method.rb +116 -0
  108. data/lib/qube_sync/operations/special_account.rb +55 -0
  109. data/lib/qube_sync/operations/special_item.rb +44 -0
  110. data/lib/qube_sync/operations/standard_terms.rb +125 -0
  111. data/lib/qube_sync/operations/template.rb +36 -0
  112. data/lib/qube_sync/operations/terms.rb +91 -0
  113. data/lib/qube_sync/operations/time_report.rb +127 -0
  114. data/lib/qube_sync/operations/time_tracking.rb +303 -0
  115. data/lib/qube_sync/operations/to_do.rb +260 -0
  116. data/lib/qube_sync/operations/transaction.rb +356 -0
  117. data/lib/qube_sync/operations/transfer.rb +213 -0
  118. data/lib/qube_sync/operations/transfer_inventory.rb +384 -0
  119. data/lib/qube_sync/operations/txn.rb +38 -0
  120. data/lib/qube_sync/operations/txn_deleted.rb +54 -0
  121. data/lib/qube_sync/operations/txn_display.rb +76 -0
  122. data/lib/qube_sync/operations/txn_void.rb +36 -0
  123. data/lib/qube_sync/operations/unit_of_measure_set.rb +149 -0
  124. data/lib/qube_sync/operations/vehicle.rb +152 -0
  125. data/lib/qube_sync/operations/vehicle_mileage.rb +191 -0
  126. data/lib/qube_sync/operations/vendor.rb +661 -0
  127. data/lib/qube_sync/operations/vendor_credit.rb +1008 -0
  128. data/lib/qube_sync/operations/vendor_type.rb +131 -0
  129. data/lib/qube_sync/operations/workers_comp_code.rb +184 -0
  130. data/lib/qube_sync/operations.rb +1165 -0
  131. data/lib/qube_sync/version.rb +1 -1
  132. data/lib/qube_sync.rb +1 -0
  133. data/sig/qube_sync/client.rbs +82 -0
  134. data/sig/qube_sync/operations/account.rbs +65 -0
  135. data/sig/qube_sync/operations/account_tax_line_info.rbs +13 -0
  136. data/sig/qube_sync/operations/aging_report.rbs +29 -0
  137. data/sig/qube_sync/operations/alert.rbs +53 -0
  138. data/sig/qube_sync/operations/ar_refund_credit_card.rbs +53 -0
  139. data/sig/qube_sync/operations/bar_code.rbs +16 -0
  140. data/sig/qube_sync/operations/bill.rbs +78 -0
  141. data/sig/qube_sync/operations/bill_payment_check.rbs +62 -0
  142. data/sig/qube_sync/operations/bill_payment_credit_card.rbs +45 -0
  143. data/sig/qube_sync/operations/bill_to_pay.rbs +19 -0
  144. data/sig/qube_sync/operations/billing_rate.rbs +40 -0
  145. data/sig/qube_sync/operations/budget_summary_report.rbs +22 -0
  146. data/sig/qube_sync/operations/build_assembly.rbs +64 -0
  147. data/sig/qube_sync/operations/charge.rbs +80 -0
  148. data/sig/qube_sync/operations/check.rbs +81 -0
  149. data/sig/qube_sync/operations/class.rbs +43 -0
  150. data/sig/qube_sync/operations/cleared_status.rbs +16 -0
  151. data/sig/qube_sync/operations/company.rbs +15 -0
  152. data/sig/qube_sync/operations/company_activity.rbs +14 -0
  153. data/sig/qube_sync/operations/credit_card_charge.rbs +69 -0
  154. data/sig/qube_sync/operations/credit_card_credit.rbs +69 -0
  155. data/sig/qube_sync/operations/credit_memo.rbs +162 -0
  156. data/sig/qube_sync/operations/currency.rbs +52 -0
  157. data/sig/qube_sync/operations/custom_detail_report.rbs +31 -0
  158. data/sig/qube_sync/operations/custom_summary_report.rbs +33 -0
  159. data/sig/qube_sync/operations/customer.rbs +174 -0
  160. data/sig/qube_sync/operations/customer_msg.rbs +31 -0
  161. data/sig/qube_sync/operations/customer_type.rbs +32 -0
  162. data/sig/qube_sync/operations/data_event_recovery_info.rbs +20 -0
  163. data/sig/qube_sync/operations/data_ext.rbs +53 -0
  164. data/sig/qube_sync/operations/data_ext_def.rbs +51 -0
  165. data/sig/qube_sync/operations/date_driven_terms.rbs +35 -0
  166. data/sig/qube_sync/operations/deposit.rbs +100 -0
  167. data/sig/qube_sync/operations/employee.rbs +173 -0
  168. data/sig/qube_sync/operations/employee_default.rbs +68 -0
  169. data/sig/qube_sync/operations/entity.rbs +24 -0
  170. data/sig/qube_sync/operations/estimate.rbs +148 -0
  171. data/sig/qube_sync/operations/form1099_category_account_mapping.rbs +33 -0
  172. data/sig/qube_sync/operations/general_detail_report.rbs +31 -0
  173. data/sig/qube_sync/operations/general_summary_report.rbs +32 -0
  174. data/sig/qube_sync/operations/host.rbs +19 -0
  175. data/sig/qube_sync/operations/inventory_adjustment.rbs +105 -0
  176. data/sig/qube_sync/operations/inventory_site.rbs +66 -0
  177. data/sig/qube_sync/operations/invoice.rbs +144 -0
  178. data/sig/qube_sync/operations/item.rbs +25 -0
  179. data/sig/qube_sync/operations/item_assemblies_can_build.rbs +15 -0
  180. data/sig/qube_sync/operations/item_discount.rbs +62 -0
  181. data/sig/qube_sync/operations/item_fixed_asset.rbs +97 -0
  182. data/sig/qube_sync/operations/item_group.rbs +62 -0
  183. data/sig/qube_sync/operations/item_inventory.rbs +87 -0
  184. data/sig/qube_sync/operations/item_inventory_assembly.rbs +94 -0
  185. data/sig/qube_sync/operations/item_non_inventory.rbs +64 -0
  186. data/sig/qube_sync/operations/item_other_charge.rbs +59 -0
  187. data/sig/qube_sync/operations/item_payment.rbs +55 -0
  188. data/sig/qube_sync/operations/item_receipt.rbs +71 -0
  189. data/sig/qube_sync/operations/item_sales_tax.rbs +57 -0
  190. data/sig/qube_sync/operations/item_sales_tax_group.rbs +50 -0
  191. data/sig/qube_sync/operations/item_service.rbs +62 -0
  192. data/sig/qube_sync/operations/item_sites.rbs +26 -0
  193. data/sig/qube_sync/operations/item_subtotal.rbs +48 -0
  194. data/sig/qube_sync/operations/job_report.rbs +28 -0
  195. data/sig/qube_sync/operations/job_type.rbs +32 -0
  196. data/sig/qube_sync/operations/journal_entry.rbs +88 -0
  197. data/sig/qube_sync/operations/lead.rbs +91 -0
  198. data/sig/qube_sync/operations/list.rbs +15 -0
  199. data/sig/qube_sync/operations/list_deleted.rbs +17 -0
  200. data/sig/qube_sync/operations/list_display.rbs +21 -0
  201. data/sig/qube_sync/operations/list_merge.rbs +22 -0
  202. data/sig/qube_sync/operations/other_name.rbs +71 -0
  203. data/sig/qube_sync/operations/paycheck.rbs +27 -0
  204. data/sig/qube_sync/operations/payment_method.rbs +33 -0
  205. data/sig/qube_sync/operations/payroll_detail_report.rbs +29 -0
  206. data/sig/qube_sync/operations/payroll_item.rbs +23 -0
  207. data/sig/qube_sync/operations/payroll_item_addition.rbs +48 -0
  208. data/sig/qube_sync/operations/payroll_item_company_contribution.rbs +58 -0
  209. data/sig/qube_sync/operations/payroll_item_deduction.rbs +54 -0
  210. data/sig/qube_sync/operations/payroll_item_direct_deposit.rbs +30 -0
  211. data/sig/qube_sync/operations/payroll_item_non_wage.rbs +23 -0
  212. data/sig/qube_sync/operations/payroll_item_tax.rbs +58 -0
  213. data/sig/qube_sync/operations/payroll_item_wage.rbs +48 -0
  214. data/sig/qube_sync/operations/payroll_item_workers_compensation.rbs +42 -0
  215. data/sig/qube_sync/operations/payroll_last_period.rbs +13 -0
  216. data/sig/qube_sync/operations/payroll_liability_adjustment.rbs +59 -0
  217. data/sig/qube_sync/operations/payroll_liability_check.rbs +27 -0
  218. data/sig/qube_sync/operations/payroll_prior_payment.rbs +48 -0
  219. data/sig/qube_sync/operations/payroll_summary_report.rbs +30 -0
  220. data/sig/qube_sync/operations/payroll_year_to_date_adjustment.rbs +66 -0
  221. data/sig/qube_sync/operations/preferences.rbs +26 -0
  222. data/sig/qube_sync/operations/price_level.rbs +57 -0
  223. data/sig/qube_sync/operations/purchase_order.rbs +159 -0
  224. data/sig/qube_sync/operations/qb_command_exec.rbs +22 -0
  225. data/sig/qube_sync/operations/receive_payment.rbs +102 -0
  226. data/sig/qube_sync/operations/receive_payment_to_deposit.rbs +15 -0
  227. data/sig/qube_sync/operations/sales_order.rbs +153 -0
  228. data/sig/qube_sync/operations/sales_receipt.rbs +139 -0
  229. data/sig/qube_sync/operations/sales_rep.rbs +43 -0
  230. data/sig/qube_sync/operations/sales_tax_code.rbs +49 -0
  231. data/sig/qube_sync/operations/sales_tax_payable.rbs +16 -0
  232. data/sig/qube_sync/operations/sales_tax_payment_check.rbs +64 -0
  233. data/sig/qube_sync/operations/sales_tax_return.rbs +14 -0
  234. data/sig/qube_sync/operations/sales_tax_return_line.rbs +15 -0
  235. data/sig/qube_sync/operations/ship_method.rbs +31 -0
  236. data/sig/qube_sync/operations/special_account.rbs +16 -0
  237. data/sig/qube_sync/operations/special_item.rbs +17 -0
  238. data/sig/qube_sync/operations/standard_terms.rbs +34 -0
  239. data/sig/qube_sync/operations/template.rbs +15 -0
  240. data/sig/qube_sync/operations/terms.rbs +23 -0
  241. data/sig/qube_sync/operations/time_report.rbs +26 -0
  242. data/sig/qube_sync/operations/time_tracking.rbs +57 -0
  243. data/sig/qube_sync/operations/to_do.rbs +59 -0
  244. data/sig/qube_sync/operations/transaction.rbs +39 -0
  245. data/sig/qube_sync/operations/transfer.rbs +47 -0
  246. data/sig/qube_sync/operations/transfer_inventory.rbs +76 -0
  247. data/sig/qube_sync/operations/txn.rbs +15 -0
  248. data/sig/qube_sync/operations/txn_deleted.rbs +17 -0
  249. data/sig/qube_sync/operations/txn_display.rbs +22 -0
  250. data/sig/qube_sync/operations/txn_void.rbs +15 -0
  251. data/sig/qube_sync/operations/types.rbs +434 -0
  252. data/sig/qube_sync/operations/unit_of_measure_set.rbs +51 -0
  253. data/sig/qube_sync/operations/vehicle.rbs +43 -0
  254. data/sig/qube_sync/operations/vehicle_mileage.rbs +38 -0
  255. data/sig/qube_sync/operations/vendor.rbs +142 -0
  256. data/sig/qube_sync/operations/vendor_credit.rbs +70 -0
  257. data/sig/qube_sync/operations/vendor_type.rbs +32 -0
  258. data/sig/qube_sync/operations/workers_comp_code.rbs +52 -0
  259. data/sig/qube_sync/operations.rbs +147 -0
  260. metadata +255 -2
@@ -0,0 +1,1073 @@
1
+ # Generated from operations.json by bin/generate-operations: don't edit.
2
+ # frozen_string_literal: true
3
+
4
+ module QubeSync
5
+ module Operations
6
+ # QuickBooks bill operations, reached as `client.bill`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Bill < Base
9
+ # Create bill: POST /connections/{connection_id}/bills (`bill.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `ap_account_ref` (Hash): Refers to an accounts payable account in the QuickBooks file.
15
+ # (The AccountType of this account will be AccountsPayable.) If `ap_account_ref` is missing,
16
+ # the SDK will use the QuickBooks default AP account. In a request, if an `ap_account_ref`
17
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
18
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
19
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
20
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
21
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
22
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
23
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
24
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
25
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
26
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
27
+ # SDK 2.0+.
28
+ # - `due_date` (String): The date on which payment is due.
29
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
30
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
31
+ # does not provide rates through the SDK. If your home currency is USD and internet access
32
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
33
+ # Activities > Download Latest Exchange Rates.
34
+ # - `expense_line_add` (Array<Hash>)
35
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
36
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
37
+ # context: for checks it is the funding account; for `expense_line_add` it may be required
38
+ # by accounting preferences; for credit-card transactions it identifies the bank or card
39
+ # account involved.
40
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
41
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
42
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
43
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
44
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
45
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
46
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
47
+ # - `amount` (Numeric): A monetary amount.
48
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
49
+ # status of this item line or expense line.
50
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
51
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
52
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
53
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
54
+ # override or clear it on individual lines.
55
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
56
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
57
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
58
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
59
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
60
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
61
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
62
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
63
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
64
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
65
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
66
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
67
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
68
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
69
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
70
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
71
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
72
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
73
+ # - `data_ext` (Array<Hash>)
74
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
75
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
76
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
77
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
78
+ # `data_ext_name` must be a unique value among existing custom fields.
79
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
80
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
81
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
82
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
83
+ # `data_ext_value` is 1KB.
84
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
85
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
86
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
87
+ # share extensions across apps. If you do share them, both apps must use the same
88
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
89
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
90
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature
91
+ # requires SDK 2.0+.
92
+ # - `memo` (String): Appears in the A/P register and in reports that include this bill.
93
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
94
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
95
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
96
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
97
+ # `full_name` and `list_id`, `full_name` will be ignored.
98
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
99
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
100
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
101
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
102
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
103
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
104
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
105
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
106
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
107
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
108
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
109
+ # `sales_tax_code_ref`, `full_name` is ignored.
110
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
111
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
112
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
113
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
114
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
115
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
116
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
117
+ # - `tax_amount` (Numeric)
118
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
119
+ # - `include_ret_element` (Array<one of "APAccountRef", "AmountDue",
120
+ # "AmountDueInHomeCurrency", "ClassRef", "CurrencyRef", "DataExtRet", "DueDate",
121
+ # "EditSequence", "ExchangeRate", "ExpenseLineRet", "ExternalGUID", "IsPaid", "IsPending",
122
+ # "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "LinkedTxn", "ListID", "Memo",
123
+ # "OpenAmount", "OwnerID", "RefNumber", "SalesTaxCodeRef", "TermsRef", "TimeCreated",
124
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber", "VendorAddress", "VendorRef">)
125
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
126
+ # - `item_group_line_add` (Array<Hash>): Refers to items that are grouped together in
127
+ # QuickBooks for fast entry. `item_line_add` and `item_group_line_add` combine: any number
128
+ # of each. QuickBooks receives them in that order: every `item_line_add`, then every
129
+ # `item_group_line_add`.
130
+ # - `data_ext` (Array<Hash>)
131
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
132
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
133
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
134
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
135
+ # `data_ext_name` must be a unique value among existing custom fields.
136
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
137
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
138
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
139
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
140
+ # `data_ext_value` is 1KB.
141
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
142
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
143
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
144
+ # share extensions across apps. If you do share them, both apps must use the same
145
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
146
+ # - `desc` (String): A descriptive text field.
147
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site
148
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
149
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
150
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
151
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
152
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
153
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
154
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
155
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
156
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
157
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
158
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
159
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
160
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
161
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
162
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
163
+ # - `item_group_ref` (Hash, required): ItemGroup objects represent items that are grouped
164
+ # together for fast entry, and an `item_group_ref` aggregate refers to one of these item
165
+ # groups. In a request, if an `item_group_ref` aggregate includes both `full_name` and
166
+ # `list_id`, `full_name` will be ignored. You can use an ItemGroupQuery request to get
167
+ # information about all the item groups that are set up in the QuickBooks file.
168
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
169
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
170
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
171
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
172
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
173
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
174
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
175
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
176
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
177
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
178
+ # Amount.
179
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
180
+ # selected from within the item’s available units. If the company file is enabled only for
181
+ # single unit of measure per item, this must be the base unit!
182
+ # - `item_line_add` (Array<Hash>): An ItemLine is used to track any portion of a transaction
183
+ # that represents the purchase of an “item.” If `item_line_add` doesn’t specify an Amount,
184
+ # Cost, or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and the
185
+ # suggested Cost. `item_line_add` and `item_group_line_add` combine: any number of each.
186
+ # QuickBooks receives them in that order: every `item_line_add`, then every
187
+ # `item_group_line_add`.
188
+ # - `amount` (Numeric): A monetary amount.
189
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
190
+ # status of this item line or expense line.
191
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
192
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
193
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
194
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
195
+ # override or clear it on individual lines.
196
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
197
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
198
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
199
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
200
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
201
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
202
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
203
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them to
204
+ # calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will use
205
+ # them to calculate the total Amount.
206
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
207
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
208
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
209
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
210
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
211
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
212
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
213
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
214
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
215
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
216
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
217
+ # - `data_ext` (Array<Hash>)
218
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
219
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
220
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
221
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
222
+ # `data_ext_name` must be a unique value among existing custom fields.
223
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
224
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
225
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
226
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
227
+ # `data_ext_value` is 1KB.
228
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
229
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
230
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
231
+ # share extensions across apps. If you do share them, both apps must use the same
232
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
233
+ # - `desc` (String): A descriptive text field.
234
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site
235
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
236
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
237
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
238
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
239
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
240
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
241
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
242
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
243
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
244
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
245
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
246
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
247
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
248
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
249
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
250
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
251
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
252
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
253
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
254
+ # `full_name` is ignored.
255
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
256
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
257
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
258
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
259
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
260
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
261
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
262
+ # - `link_to_txn` (Hash): When used with InvoiceAdd, the transaction you are linking to via
263
+ # this field must be a SalesOrder; links to other transactions, such as to estimates,
264
+ # aren’t currently supported. When used with BillAdd or ItemReceiptAdd, the transaction
265
+ # you are linking to via this field must be a PurchaseOrder: links to other transactions
266
+ # aren’t currently supported.
267
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
268
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values
269
+ # are transaction-specific and should not be reused across unrelated transaction types.
270
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
271
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
272
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line
273
+ # in a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
274
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
275
+ # `serial_number`, or `lot_number`.
276
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
277
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
278
+ # `full_name` will be ignored.
279
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
280
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
281
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
282
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
283
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
284
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
285
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
286
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
287
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
288
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
289
+ # Amount.
290
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
291
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
292
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
293
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
294
+ # `full_name` and `list_id`, `full_name` will be ignored.
295
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
296
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
297
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
298
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
299
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
300
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
301
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
302
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
303
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
304
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
305
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
306
+ # `sales_tax_code_ref`, `full_name` is ignored.
307
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
308
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
309
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
310
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
311
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
312
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
313
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
314
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
315
+ # `serial_number`, or `lot_number`.
316
+ # - `tax_amount` (Numeric)
317
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
318
+ # selected from within the item’s available units. If the company file is enabled only for
319
+ # single unit of measure per item, this must be the base unit!
320
+ # - `link_to_txn_id` (Array<String>)
321
+ # - `memo` (String): Appears in the A/P register and in reports that include this bill.
322
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
323
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
324
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
325
+ # and numbering state.
326
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
327
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
328
+ # webhook already carries the request's `id`.
329
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
330
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
331
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
332
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
333
+ # `sales_tax_code_ref`, `full_name` is ignored.
334
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
335
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
336
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
337
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
338
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
339
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
340
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
341
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
342
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
343
+ # both `full_name` and `list_id`, `full_name` will be ignored.
344
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
345
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
346
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
347
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
348
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
349
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
350
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
351
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
352
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
353
+ # transaction of the same type.
354
+ # - `vendor_address` (Hash): If an address request fails, some combination of address fields
355
+ # might be too long.
356
+ # - `addr1` (String): The first line of an address.
357
+ # - `addr2` (String): The second line of an address (if a second line is needed).
358
+ # - `addr3` (String): The third line of an address (if a third line is needed).
359
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
360
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
361
+ # - `city` (String): The city name in an address.
362
+ # - `country` (String): The country name in an address, or, in returned Host information
363
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
364
+ # (Possible values are US, CA, UK, and AU.)
365
+ # - `note` (String): In a BillAddress or ShipAddress aggregate, the Note field value is
366
+ # written at the bottom of the address in the form in which it appears, such as the
367
+ # invoice form.
368
+ # - `postal_code` (String): The postal code in an address.
369
+ # - `state` (String): The state name in an address.
370
+ # - `vendor_ref` (Hash, required): A vendor is any person or company from whom a small
371
+ # business owner buys goods and services. (Banks and tax agencies usually are included on
372
+ # the vendor list.) A company’s vendor list contains information such as account balance and
373
+ # contact information about each vendor. A `vendor_ref` aggregate refers to one of the
374
+ # vendors on the list.
375
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
376
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
377
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
378
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
379
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
380
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
381
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
382
+ #
383
+ # @param connection_id [String]
384
+ # @param params [Hash] the fields above
385
+ # @param webhook_url [String] where QuBe Sync sends the answer
386
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
387
+ # @return [Hash] the queued request
388
+ # @see https://docs.qubesync.com/api-reference/v2/bills/create-bill
389
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
390
+ queue("bill.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
391
+ end
392
+
393
+ # List bills: GET /connections/{connection_id}/bills (`bill.query`).
394
+ #
395
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
396
+ # `iteration_state` `done`.
397
+ #
398
+ # Params, sent as the query string:
399
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
400
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
401
+ # account number (instead of an account name) for `full_name` and get the account you’re
402
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
403
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
404
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
405
+ # `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
406
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
407
+ # other, not with the other choices.
408
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
409
+ # `full_name_with_children`.
410
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
411
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
412
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
413
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
414
+ # specified object and its descendants. For names that don’t have children,
415
+ # `full_name_with_children` is exactly the same as `full_name`.
416
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
417
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
418
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
419
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
420
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
421
+ # specified object and its descendants.
422
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
423
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
424
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
425
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
426
+ # Members of a set combine with each other, not with the other choices.
427
+ # Give at most one of: `list_id`, or `full_name`.
428
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
429
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
430
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
431
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
432
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
433
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
434
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
435
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
436
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
437
+ # information about all the entities that are set up in the QuickBooks file. In an
438
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
439
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
440
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
441
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
442
+ # Members of a set combine with each other, not with the other choices.
443
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
444
+ # `full_name_with_children`.
445
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
446
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
447
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
448
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
449
+ # specified object and its descendants. For names that don’t have children,
450
+ # `full_name_with_children` is exactly the same as `full_name`.
451
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
452
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
453
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
454
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
455
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
456
+ # specified object and its descendants.
457
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
458
+ # response to get a smaller result. The default value is false, so line items are omitted by
459
+ # default. Set `include_line_items` to true to include line items in the response if you
460
+ # don’t mind getting a larger result.
461
+ # - `include_linked_txns` (Boolean): If you set `include_linked_txns` to true, then the
462
+ # returned object will include a list of all the transactions linked to the queried object.
463
+ # (This list is similar to the History view of a transaction in the user interface, but not
464
+ # identical, as the SDK list contains only linked transactions, not items.) Each linked
465
+ # transaction will be represented by a `linked_txn` aggregate.
466
+ # - `include_ret_element` (Array<one of "APAccountRef", "AmountDue",
467
+ # "AmountDueInHomeCurrency", "ClassRef", "CurrencyRef", "DataExtRet", "DueDate",
468
+ # "EditSequence", "ExchangeRate", "ExpenseLineRet", "ExternalGUID", "IsPaid", "IsPending",
469
+ # "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "LinkedTxn", "Memo", "OpenAmount",
470
+ # "RefNumber", "SalesTaxCodeRef", "TermsRef", "TimeCreated", "TimeModified", "TxnDate",
471
+ # "TxnID", "TxnNumber", "VendorAddress", "VendorRef">)
472
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
473
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
474
+ # default, with pages of 100 records (25 with `include_line_items` or
475
+ # `include_linked_txns`); send `iterator=true` with `max_returned` for another size. Off
476
+ # when you send `iterator=false` (every match in one answer) or `max_returned` alone (at
477
+ # most that many, in one answer). It pages a filtered query only: with `ref_number`,
478
+ # `ref_number_case_sensitive` or `txn_id` every match comes back in one answer, so leave
479
+ # `iterator` out.
480
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
481
+ # count of how many objects could possibly be returned, use the `meta_data` query
482
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
483
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
484
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
485
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
486
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
487
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
488
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
489
+ # combine with each other, not with the other choices.
490
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
491
+ # `meta_data` attribute to control whether query responses include counts. Options are
492
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
493
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
494
+ # during processing.
495
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
496
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
497
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
498
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
499
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
500
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
501
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
502
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
503
+ # combine with each other, not with the other choices.
504
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
505
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
506
+ # date is provided, time defaults to 00:00:00.
507
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
508
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
509
+ # date is provided, time defaults to end-of-day (23:59:59).
510
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
511
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
512
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
513
+ # across apps. If you do share them, both apps must use the same `owner_id` and
514
+ # `data_ext_name`, because that pair uniquely identifies the extension.
515
+ # - `paid_status` (one of "All", "NotPaidOnly", "PaidOnly"): Allows you to filter for
516
+ # transactions according to whether or not they are paid. Choose at most one of: `txn_id`,
517
+ # or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
518
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
519
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
520
+ # Members of a set combine with each other, not with the other choices.
521
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
522
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
523
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
524
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
525
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
526
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
527
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
528
+ # combine with each other, not with the other choices.
529
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
530
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
531
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
532
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
533
+ # Members of a set combine with each other, not with the other choices.
534
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
535
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
536
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
537
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
538
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
539
+ # Members of a set combine with each other, not with the other choices.
540
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
541
+ # to match.
542
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
543
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
544
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
545
+ # QuickBooks preferences and numbering state.
546
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
547
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
548
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
549
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
550
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
551
+ # Members of a set combine with each other, not with the other choices.
552
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
553
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
554
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
555
+ # is omitted, the range will end with last number on the list.
556
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
557
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
558
+ # webhook already carries the request's `id`.
559
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
560
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
561
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
562
+ # `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
563
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
564
+ # other, not with the other choices.
565
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
566
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
567
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
568
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
569
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
570
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
571
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
572
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
573
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
574
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
575
+ # last-modified date). Do not combine `date_macro` with
576
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
577
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
578
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
579
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
580
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
581
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
582
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
583
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
584
+ # Use it to reference that transaction in later requests. `txn_id` values are
585
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
586
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
587
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
588
+ # `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
589
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
590
+ # other, not with the other choices.
591
+ #
592
+ # @param connection_id [String]
593
+ # @param params [Hash] the fields above
594
+ # @param webhook_url [String] where QuBe Sync sends the answer
595
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
596
+ # @return [Hash] the queued request
597
+ # @see https://docs.qubesync.com/api-reference/v2/bills/list-bills
598
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
599
+ queue("bill.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
600
+ end
601
+
602
+ # Update bill: PUT /connections/{connection_id}/bills (`bill.update`).
603
+ #
604
+ # QuickBooks answers in one webhook.
605
+ #
606
+ # Params, sent as the JSON body:
607
+ # - `ap_account_ref` (Hash): Refers to an accounts payable account in the QuickBooks file.
608
+ # (The AccountType of this account will be AccountsPayable.) If `ap_account_ref` is missing,
609
+ # the SDK will use the QuickBooks default AP account. In a request, if an `ap_account_ref`
610
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
611
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
612
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
613
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
614
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
615
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
616
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
617
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
618
+ # - `clear_expense_lines` (Boolean): Set `clear_expense_lines` to true to clear all the
619
+ # expense lines. To modify individual lines, use `expense_line_mod`.
620
+ # - `clear_item_lines` (Boolean): Set `clear_item_lines` to true to clear all the item lines.
621
+ # To modify individual lines, use `item_line_mod`.
622
+ # - `due_date` (String): The date on which payment is due.
623
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
624
+ # It changes each time the object is updated. To modify an existing object, you must send
625
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
626
+ # overwriting newer changes.
627
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
628
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
629
+ # does not provide rates through the SDK. If your home currency is USD and internet access
630
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
631
+ # Activities > Download Latest Exchange Rates.
632
+ # - `expense_line_mod` (Array<Hash>)
633
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
634
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
635
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
636
+ # accounting preferences; for credit-card transactions it identifies the bank or card
637
+ # account involved.
638
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
639
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
640
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
641
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
642
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
643
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
644
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
645
+ # - `amount` (Numeric): A monetary amount.
646
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
647
+ # status of this item line or expense line.
648
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
649
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
650
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
651
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
652
+ # override or clear it on individual lines.
653
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
654
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
655
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
656
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
657
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
658
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
659
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
660
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
661
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
662
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
663
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
664
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
665
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
666
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
667
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
668
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
669
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
670
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
671
+ # - `memo` (String): Appears in the A/P register and in reports that include this bill.
672
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
673
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
674
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
675
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
676
+ # `full_name` and `list_id`, `full_name` will be ignored.
677
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
678
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
679
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
680
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
681
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
682
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
683
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
684
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
685
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
686
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
687
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
688
+ # `sales_tax_code_ref`, `full_name` is ignored.
689
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
690
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
691
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
692
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
693
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
694
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
695
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
696
+ # - `tax_amount` (Numeric)
697
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
698
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
699
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
700
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
701
+ # - `include_ret_element` (Array<one of "APAccountRef", "AmountDue",
702
+ # "AmountDueInHomeCurrency", "ClassRef", "CurrencyRef", "DataExtRet", "DueDate",
703
+ # "EditSequence", "ExchangeRate", "ExpenseLineRet", "ExternalGUID", "IsPaid", "IsPending",
704
+ # "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "LinkedTxn", "ListID", "Memo",
705
+ # "OpenAmount", "OwnerID", "RefNumber", "SalesTaxCodeRef", "TermsRef", "TimeCreated",
706
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber", "VendorAddress", "VendorRef">)
707
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
708
+ # - `item_group_line_mod` (Array<Hash>): Refers to items that are grouped together in
709
+ # QuickBooks for fast entry. `item_line_mod` and `item_group_line_mod` combine: any number
710
+ # of each. QuickBooks receives them in that order: every `item_line_mod`, then every
711
+ # `item_group_line_mod`.
712
+ # - `item_group_ref` (Hash): ItemGroup objects represent items that are grouped together for
713
+ # fast entry, and an `item_group_ref` aggregate refers to one of these item groups. In a
714
+ # request, if an `item_group_ref` aggregate includes both `full_name` and `list_id`,
715
+ # `full_name` will be ignored. You can use an ItemGroupQuery request to get information
716
+ # about all the item groups that are set up in the QuickBooks file.
717
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
718
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
719
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
720
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
721
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
722
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
723
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
724
+ # - `item_line_mod` (Array<Hash>): An ItemLine is used to track any portion of a transaction
725
+ # that represents the purchase of an “item.” If ItemLineAdd doesn’t specify an Amount,
726
+ # Cost, or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and
727
+ # the suggested Cost.
728
+ # - `amount` (Numeric): A monetary amount.
729
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
730
+ # status of this item line or expense line.
731
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by
732
+ # department, location, or work type). Class tracking is off by default in QuickBooks. A
733
+ # `class_ref` points to one class; if both `full_name` and `list_id` are provided,
734
+ # `full_name` is ignored. In InvoiceAdd, a header-level `class_ref` is applied to line
735
+ # items unless you override or clear it on individual lines.
736
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
737
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
738
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
739
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
740
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
741
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
742
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
743
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them
744
+ # to calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will
745
+ # use them to calculate the total Amount.
746
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
747
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
748
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
749
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
750
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
751
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
752
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
753
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
754
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
755
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
756
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
757
+ # - `desc` (String): A descriptive text field.
758
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site
759
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
760
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
761
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
762
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
763
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
764
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
765
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
766
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
767
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
768
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
769
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
770
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
771
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
772
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
773
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
774
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
775
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
776
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
777
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are
778
+ # provided, `full_name` is ignored.
779
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
780
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
781
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
782
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
783
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
784
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
785
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
786
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
787
+ # `serial_number`, or `lot_number`.
788
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
789
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
790
+ # `full_name` will be ignored.
791
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
792
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
793
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
794
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
795
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
796
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
797
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
798
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit
799
+ # of measure used in that line, you use this aggregate to specify the UOM set within
800
+ # which you are choosing an available unit of measure. The “override” here refers to the
801
+ # unit within the set, not the UOM Set itself, which you can’t change or override–the
802
+ # UOM set that can be set or changed only in the item itself via an Item Mod request.
803
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
804
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
805
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
806
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
807
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
808
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
809
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
810
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
811
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
812
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
813
+ # Amount.
814
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or
815
+ # Other Names list within QuickBooks. Sales representative’s names and initials appear
816
+ # on the Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a
817
+ # person on the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes
818
+ # both `full_name` and `list_id`, `full_name` will be ignored.
819
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
820
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
821
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
822
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
823
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
824
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
825
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
826
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used
827
+ # for an item or customer context. QuickBooks includes default TAX and NON codes, and a
828
+ # code can be deleted only when nothing references it. If sales tax is disabled,
829
+ # QuickBooks assigns the default non-taxable code. If both `full_name` and `list_id` are
830
+ # provided in `sales_tax_code_ref`, `full_name` is ignored.
831
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
832
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
833
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
834
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
835
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
836
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
837
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
838
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
839
+ # `serial_number`, or `lot_number`.
840
+ # - `tax_amount` (Numeric)
841
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
842
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
843
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line
844
+ # in a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
845
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of
846
+ # measure selected from within the item’s available units. If the company file is
847
+ # enabled only for single unit of measure per item, this must be the base unit!
848
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
849
+ # measure used in that line, you use this aggregate to specify the UOM set within which
850
+ # you are choosing an available unit of measure. The “override” here refers to the unit
851
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
852
+ # that can be set or changed only in the item itself via an Item Mod request.
853
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
854
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
855
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
856
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
857
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
858
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
859
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
860
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
861
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
862
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
863
+ # Amount.
864
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
865
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
866
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
867
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
868
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
869
+ # selected from within the item’s available units. If the company file is enabled only for
870
+ # single unit of measure per item, this must be the base unit!
871
+ # - `item_line_mod` (Array<Hash>): An ItemLine is used to track any portion of a transaction
872
+ # that represents the purchase of an “item.” If ItemLineAdd doesn’t specify an Amount, Cost,
873
+ # or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and the
874
+ # suggested Cost. `item_line_mod` and `item_group_line_mod` combine: any number of each.
875
+ # QuickBooks receives them in that order: every `item_line_mod`, then every
876
+ # `item_group_line_mod`.
877
+ # - `amount` (Numeric): A monetary amount.
878
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
879
+ # status of this item line or expense line.
880
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
881
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
882
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
883
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
884
+ # override or clear it on individual lines.
885
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
886
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
887
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
888
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
889
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
890
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
891
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
892
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them to
893
+ # calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will use
894
+ # them to calculate the total Amount.
895
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
896
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
897
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
898
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
899
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
900
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
901
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
902
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
903
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
904
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
905
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
906
+ # - `desc` (String): A descriptive text field.
907
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site
908
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
909
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
910
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
911
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
912
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
913
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
914
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
915
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
916
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
917
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
918
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
919
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
920
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
921
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
922
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
923
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
924
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
925
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
926
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
927
+ # `full_name` is ignored.
928
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
929
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
930
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
931
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
932
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
933
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
934
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
935
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
936
+ # `serial_number`, or `lot_number`.
937
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
938
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
939
+ # `full_name` will be ignored.
940
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
941
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
942
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
943
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
944
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
945
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
946
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
947
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
948
+ # measure used in that line, you use this aggregate to specify the UOM set within which
949
+ # you are choosing an available unit of measure. The “override” here refers to the unit
950
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
951
+ # that can be set or changed only in the item itself via an Item Mod request.
952
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
953
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
954
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
955
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
956
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
957
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
958
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
959
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
960
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
961
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
962
+ # Amount.
963
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
964
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
965
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
966
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
967
+ # `full_name` and `list_id`, `full_name` will be ignored.
968
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
969
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
970
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
971
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
972
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
973
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
974
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
975
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
976
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
977
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
978
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
979
+ # `sales_tax_code_ref`, `full_name` is ignored.
980
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
981
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
982
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
983
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
984
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
985
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
986
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
987
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
988
+ # `serial_number`, or `lot_number`.
989
+ # - `tax_amount` (Numeric)
990
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
991
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
992
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
993
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
994
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
995
+ # selected from within the item’s available units. If the company file is enabled only for
996
+ # single unit of measure per item, this must be the base unit!
997
+ # - `memo` (String): Appears in the A/P register and in reports that include this bill.
998
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
999
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
1000
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
1001
+ # and numbering state.
1002
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
1003
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
1004
+ # webhook already carries the request's `id`.
1005
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
1006
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
1007
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
1008
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
1009
+ # `sales_tax_code_ref`, `full_name` is ignored.
1010
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1011
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1012
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1013
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1014
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1015
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1016
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1017
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
1018
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
1019
+ # both `full_name` and `list_id`, `full_name` will be ignored.
1020
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1021
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1022
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1023
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1024
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1025
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1026
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1027
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
1028
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
1029
+ # transaction of the same type.
1030
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
1031
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
1032
+ # transaction-specific and should not be reused across unrelated transaction types.
1033
+ # - `vendor_address` (Hash): If an address request fails, some combination of address fields
1034
+ # might be too long.
1035
+ # - `addr1` (String): The first line of an address.
1036
+ # - `addr2` (String): The second line of an address (if a second line is needed).
1037
+ # - `addr3` (String): The third line of an address (if a third line is needed).
1038
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
1039
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
1040
+ # - `city` (String): The city name in an address.
1041
+ # - `country` (String): The country name in an address, or, in returned Host information
1042
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
1043
+ # (Possible values are US, CA, UK, and AU.)
1044
+ # - `note` (String): In a BillAddress or ShipAddress aggregate, the Note field value is
1045
+ # written at the bottom of the address in the form in which it appears, such as the
1046
+ # invoice form.
1047
+ # - `postal_code` (String): The postal code in an address.
1048
+ # - `state` (String): The state name in an address.
1049
+ # - `vendor_ref` (Hash): A vendor is any person or company from whom a small business owner
1050
+ # buys goods and services. (Banks and tax agencies usually are included on the vendor list.)
1051
+ # A company’s vendor list contains information such as account balance and contact
1052
+ # information about each vendor. A `vendor_ref` aggregate refers to one of the vendors on
1053
+ # the list.
1054
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1055
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1056
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1057
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1058
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1059
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1060
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1061
+ #
1062
+ # @param connection_id [String]
1063
+ # @param params [Hash] the fields above
1064
+ # @param webhook_url [String] where QuBe Sync sends the answer
1065
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
1066
+ # @return [Hash] the queued request
1067
+ # @see https://docs.qubesync.com/api-reference/v2/bills/update-bill
1068
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
1069
+ queue("bill.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
1070
+ end
1071
+ end
1072
+ end
1073
+ end