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,483 @@
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 inventory assembly operations, reached as `client.item_inventory_assembly`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemInventoryAssembly < Base
9
+ # Create item inventory assembly: POST /connections/{connection_id}/item-inventory-assemblies
10
+ # (`item_inventory_assembly.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `asset_account_ref` (Hash): Refers to the account QuickBooks uses to track the current
16
+ # value of the company’s inventory. (The AccountType of this account will be FixedAsset,
17
+ # OtherAsset, or OtherCurrentAsset.) In a request, if an `asset_account_ref` aggregate
18
+ # 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
+ # - `bar_code` (Hash): Barcode reference information.
27
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
28
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
29
+ # in use.
30
+ # - `bar_code_value` (String): Value of the barcode in the item.
31
+ # - `build_point` (Numeric): The build notification point. The QuickBooks user will receive a
32
+ # notification when `quantity_on_hand` plus `quantity_on_order` falls below `build_point`.
33
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
34
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
35
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
36
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
37
+ # override or clear it on individual lines.
38
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
39
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
40
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
41
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
42
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
43
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
44
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
45
+ # - `cogs_account_ref` (Hash): Refers to the account that QuickBooks uses to track the
46
+ # original cost of goods that are eventually sold. (The AccountType of this account will be
47
+ # CostOfGoodsSold.) In a request, if a `cogs_account_ref` aggregate includes both
48
+ # `full_name` and `list_id`, `full_name` will be ignored.
49
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
50
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
51
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
52
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
53
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
54
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
55
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
56
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
57
+ # - `include_ret_element` (Array<one of "AssetAccountRef", "AverageCost", "BarCodeValue",
58
+ # "BuildPoint", "COGSAccountRef", "ClassRef", "DataExtRet", "EditSequence", "ExternalGUID",
59
+ # "FullName", "IncomeAccountRef", "IsActive", "IsTaxIncluded", "ItemInventoryAssemblyLine",
60
+ # "ListID", "ManufacturerPartNumber", "Max", "Name", "OwnerID", "ParentRef",
61
+ # "PrefVendorRef", "PurchaseCost", "PurchaseDesc", "PurchaseTaxCodeRef", "QuantityOnHand",
62
+ # "QuantityOnOrder", "QuantityOnSalesOrder", "SalesDesc", "SalesPrice", "SalesTaxCodeRef",
63
+ # "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "UnitOfMeasureSetRef">)
64
+ # - `income_account_ref` (Hash): Refers to an income account. If an `income_account_ref`
65
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
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 example
68
+ # 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 list
71
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
72
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
73
+ # - `inventory_date` (String): The date when an item was converted into an inventory item from
74
+ # some other type of item.
75
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
76
+ # QuickBooks. The default value is true.
77
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
78
+ # - `item_inventory_assembly_line` (Array<Hash>)
79
+ # - `item_inventory_ref` (Hash, required): An inventory item is any merchandise or part that
80
+ # a business purchases, tracks as inventory, and then resells. In QuickBooks, information
81
+ # about an inventory item is grouped into three categories:Puchase Information includes
82
+ # `purchase_desc`, `purchase_cost`, `cogs_account_ref`, and `pref_vendor_ref`. Sales
83
+ # Information includes `sales_desc`, `sales_price`, and `sales_tax_code_ref`.
84
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
85
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
86
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
87
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
88
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
89
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
90
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
91
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
92
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
93
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
94
+ # Amount.
95
+ # - `manufacturer_part_number` (String): The part number used by the manufacturer of the item.
96
+ # - `max` (Numeric): Maximum number of items in inventory.
97
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
98
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
99
+ # reuse the same Name in different branches because `full_name` remains distinct.
100
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
101
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
102
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
103
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
104
+ # ignored.
105
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
106
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
107
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
108
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
109
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
110
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
111
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
112
+ # - `pref_vendor_ref` (Hash): The preferred vendor for this item. If a `pref_vendor_ref`
113
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
114
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
115
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
116
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
117
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
118
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
119
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
120
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
121
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering or
122
+ # buying this item, or the amount that was actually paid for this item.
123
+ # - `purchase_desc` (String): Description that appears in the Description column of checks,
124
+ # bills, credit card charges, and item receipts (when an item is reordered). For a fixed
125
+ # asset, a description of the item as it was when it was purchased.
126
+ # - `purchase_tax_code_ref` (Hash): Account used for taxes on purchases in CA or UK.
127
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
128
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
129
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
130
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
131
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
132
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
133
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
134
+ # - `quantity_on_hand` (Numeric): The number of these items in inventory. `quantity_on_hand`
135
+ # times `average_cost` is `total_value` in an inventory item list. To change the
136
+ # `quantity_on_hand` for an item, you would have to use InventoryAdjustmentAdd not an
137
+ # ItemInventoryMod.
138
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
139
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
140
+ # webhook already carries the request's `id`.
141
+ # - `sales_desc` (String): Appears in the Description column of a sales form when the
142
+ # QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for
143
+ # accounting purposes).
144
+ # - `sales_price` (Numeric): Price charged for this item.
145
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
146
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
147
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
148
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
149
+ # `sales_tax_code_ref`, `full_name` is ignored.
150
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
151
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
152
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
153
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
154
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
155
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
156
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
157
+ # - `total_value` (Numeric): The total value of this inventory. If `total_value` is included,
158
+ # `quantity_on_hand` must also be included and must be greater than zero. If both
159
+ # `quantity_on_hand` and `purchase_cost` are included, then `total_value` will be set to
160
+ # `quantity_on_hand` times `purchase_cost`, regardless of what `total_value` is explicitly
161
+ # set to.
162
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
163
+ # related units.
164
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
165
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
166
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
167
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
168
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
169
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
170
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
171
+ #
172
+ # @param connection_id [String]
173
+ # @param params [Hash] the fields above
174
+ # @param webhook_url [String] where QuBe Sync sends the answer
175
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
176
+ # @return [Hash] the queued request
177
+ # @see https://docs.qubesync.com/api-reference/v2/item-inventory-assemblies/create-item-inventory-assembly
178
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
179
+ queue("item_inventory_assembly.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
180
+ end
181
+
182
+ # List item inventory assemblies: GET /connections/{connection_id}/item-inventory-assemblies
183
+ # (`item_inventory_assembly.query`).
184
+ #
185
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
186
+ # `iteration_state` `done`.
187
+ #
188
+ # Params, sent as the query string:
189
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
190
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
191
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
192
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
193
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
194
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
195
+ # - `class_filter` (Hash): Filters according to the object’s class. Choose at most one of:
196
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
197
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
198
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
199
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
200
+ # `full_name_with_children`.
201
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
202
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
203
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
204
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
205
+ # specified object and its descendants. For names that don’t have children,
206
+ # `full_name_with_children` is exactly the same as `full_name`.
207
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
208
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
209
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
210
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
211
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
212
+ # specified object and its descendants.
213
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
214
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
215
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
216
+ # `full_name`, or the set (`active_status`, `class_filter`, `from_modified_date`,
217
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
218
+ # combine with each other, not with the other choices.
219
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
220
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
221
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
222
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
223
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
224
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
225
+ # - `include_ret_element` (Array<one of "AssetAccountRef", "AverageCost", "BarCodeValue",
226
+ # "BuildPoint", "COGSAccountRef", "ClassRef", "DataExtRet", "EditSequence", "ExternalGUID",
227
+ # "FullName", "IncomeAccountRef", "IsActive", "IsTaxIncluded", "ItemInventoryAssemblyLine",
228
+ # "ListID", "ManufacturerPartNumber", "Max", "Name", "ParentRef", "PrefVendorRef",
229
+ # "PurchaseCost", "PurchaseDesc", "PurchaseTaxCodeRef", "QuantityOnHand", "QuantityOnOrder",
230
+ # "QuantityOnSalesOrder", "SalesDesc", "SalesPrice", "SalesTaxCodeRef", "Sublevel",
231
+ # "TimeCreated", "TimeModified", "UnitOfMeasureSetRef">)
232
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
233
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
234
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
235
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
236
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
237
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
238
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
239
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
240
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
241
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
242
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
243
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
244
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
245
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
246
+ # count of how many objects could possibly be returned, use the `meta_data` query
247
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
248
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
249
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
250
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
251
+ # (`active_status`, `class_filter`, `from_modified_date`, `max_returned`, `name_filter`,
252
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
253
+ # with the other choices.
254
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
255
+ # `meta_data` attribute to control whether query responses include counts. Options are
256
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
257
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
258
+ # during processing.
259
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
260
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
261
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
262
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
263
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
264
+ # to match.
265
+ # - `name` (String, required): The string to match.
266
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
267
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
268
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
269
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
270
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
271
+ # omitted, the range will begin with first name on the list.
272
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
273
+ # the range will end with last name on the list.
274
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
275
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
276
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
277
+ # across apps. If you do share them, both apps must use the same `owner_id` and
278
+ # `data_ext_name`, because that pair uniquely identifies the extension.
279
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
280
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
281
+ # webhook already carries the request's `id`.
282
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
283
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
284
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
285
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
286
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
287
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
288
+ #
289
+ # @param connection_id [String]
290
+ # @param params [Hash] the fields above
291
+ # @param webhook_url [String] where QuBe Sync sends the answer
292
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
293
+ # @return [Hash] the queued request
294
+ # @see https://docs.qubesync.com/api-reference/v2/item-inventory-assemblies/list-item-inventory-assemblies
295
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
296
+ queue("item_inventory_assembly.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
297
+ end
298
+
299
+ # Update item inventory assembly: PUT /connections/{connection_id}/item-inventory-assemblies
300
+ # (`item_inventory_assembly.update`).
301
+ #
302
+ # QuickBooks answers in one webhook.
303
+ #
304
+ # Params, sent as the JSON body:
305
+ # - `apply_income_account_ref_to_existing_txns` (Boolean): Used to support changing the
306
+ # AccountRef in the Mod request. When you do this, the QuickBooks UI normally displays a
307
+ # prompt asking whether the change should apply to existing transactions or not. Specifying
308
+ # False basically dismisses this with a “No” answer; specifying True dismisses it with a
309
+ # “Yes” answer and then changes the existing transactions that use the item with that
310
+ # AccountRef.
311
+ # - `asset_account_ref` (Hash): Refers to the account QuickBooks uses to track the current
312
+ # value of the company’s inventory. (The AccountType of this account will be FixedAsset,
313
+ # OtherAsset, or OtherCurrentAsset.) In a request, if an `asset_account_ref` aggregate
314
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
315
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
316
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
317
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
318
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
319
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
320
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
321
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
322
+ # - `bar_code` (Hash): Barcode reference information.
323
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
324
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
325
+ # in use.
326
+ # - `bar_code_value` (String): Value of the barcode in the item.
327
+ # - `build_point` (Numeric): The build notification point. The QuickBooks user will receive a
328
+ # notification when `quantity_on_hand` plus `quantity_on_order` falls below `build_point`.
329
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
330
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
331
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
332
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
333
+ # override or clear it on individual lines.
334
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
335
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
336
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
337
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
338
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
339
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
340
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
341
+ # - `clear_items_in_group` (Boolean): Set to true to clear all the items in this group. Choose
342
+ # at most one of: `clear_items_in_group`, or `item_inventory_assembly_line`.
343
+ # - `cogs_account_ref` (Hash): Refers to the account that QuickBooks uses to track the
344
+ # original cost of goods that are eventually sold. (The AccountType of this account will be
345
+ # CostOfGoodsSold.) In a request, if a `cogs_account_ref` aggregate includes both
346
+ # `full_name` and `list_id`, `full_name` will be ignored.
347
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
348
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
349
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
350
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
351
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
352
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
353
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
354
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
355
+ # It changes each time the object is updated. To modify an existing object, you must send
356
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
357
+ # overwriting newer changes.
358
+ # - `force_uom_change` (Boolean): By Default `force_uom_change` is false. However, in item Mod
359
+ # requests, you need to set the `force_uom_change` field to True if you are changing the UOM
360
+ # set and the base unit of the new set doesn’t match the base unit of the UOM set currently
361
+ # assigned to the item. This does the same thing as the user accepting the warning prompt in
362
+ # the UI.
363
+ # - `include_ret_element` (Array<one of "AssetAccountRef", "AverageCost", "BarCodeValue",
364
+ # "BuildPoint", "COGSAccountRef", "ClassRef", "DataExtRet", "EditSequence", "ExternalGUID",
365
+ # "FullName", "IncomeAccountRef", "IsActive", "IsTaxIncluded", "ItemInventoryAssemblyLine",
366
+ # "ListID", "ManufacturerPartNumber", "Max", "Name", "OwnerID", "ParentRef",
367
+ # "PrefVendorRef", "PurchaseCost", "PurchaseDesc", "PurchaseTaxCodeRef", "QuantityOnHand",
368
+ # "QuantityOnOrder", "QuantityOnSalesOrder", "SalesDesc", "SalesPrice", "SalesTaxCodeRef",
369
+ # "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "UnitOfMeasureSetRef">)
370
+ # - `income_account_ref` (Hash): Refers to an income account. If an `income_account_ref`
371
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
372
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
373
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
374
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
375
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
376
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
377
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
378
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
379
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
380
+ # QuickBooks. The default value is true.
381
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
382
+ # - `item_inventory_assembly_line` (Array<Hash>): Choose at most one of:
383
+ # `clear_items_in_group`, or `item_inventory_assembly_line`.
384
+ # - `item_inventory_ref` (Hash, required): An inventory item is any merchandise or part that
385
+ # a business purchases, tracks as inventory, and then resells. In QuickBooks, information
386
+ # about an inventory item is grouped into three categories:Puchase Information includes
387
+ # `purchase_desc`, `purchase_cost`, `cogs_account_ref`, and `pref_vendor_ref`. Sales
388
+ # Information includes `sales_desc`, `sales_price`, and `sales_tax_code_ref`.
389
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
390
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
391
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
392
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
393
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
394
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
395
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
396
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
397
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
398
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
399
+ # Amount.
400
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
401
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
402
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
403
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
404
+ # - `manufacturer_part_number` (String): The part number used by the manufacturer of the item.
405
+ # - `max` (Numeric): Maximum number of items in inventory.
406
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
407
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
408
+ # same Name in different branches because `full_name` remains distinct.
409
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
410
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
411
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
412
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
413
+ # ignored.
414
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
415
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
416
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
417
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
418
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
419
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
420
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
421
+ # - `pref_vendor_ref` (Hash): The preferred vendor for this item. If a `pref_vendor_ref`
422
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
423
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
424
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
425
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
426
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
427
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
428
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
429
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
430
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering or
431
+ # buying this item, or the amount that was actually paid for this item.
432
+ # - `purchase_desc` (String): Description that appears in the Description column of checks,
433
+ # bills, credit card charges, and item receipts (when an item is reordered). For a fixed
434
+ # asset, a description of the item as it was when it was purchased.
435
+ # - `purchase_tax_code_ref` (Hash): Account used for taxes on purchases in CA or UK.
436
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
437
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
438
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
439
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
440
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
441
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
442
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
443
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
444
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
445
+ # webhook already carries the request's `id`.
446
+ # - `sales_desc` (String): Appears in the Description column of a sales form when the
447
+ # QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for
448
+ # accounting purposes).
449
+ # - `sales_price` (Numeric): Price charged for this item.
450
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
451
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
452
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
453
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
454
+ # `sales_tax_code_ref`, `full_name` is ignored.
455
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
456
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
457
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
458
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
459
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
460
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
461
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
462
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
463
+ # related units.
464
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
465
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
466
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
467
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
468
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
469
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
470
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
471
+ #
472
+ # @param connection_id [String]
473
+ # @param params [Hash] the fields above
474
+ # @param webhook_url [String] where QuBe Sync sends the answer
475
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
476
+ # @return [Hash] the queued request
477
+ # @see https://docs.qubesync.com/api-reference/v2/item-inventory-assemblies/update-item-inventory-assembly
478
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
479
+ queue("item_inventory_assembly.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
480
+ end
481
+ end
482
+ end
483
+ end