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