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