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,482 @@
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 inventory adjustment operations, reached as `client.inventory_adjustment`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class InventoryAdjustment < Base
9
+ # Create inventory adjustment: POST /connections/{connection_id}/inventory-adjustments
10
+ # (`inventory_adjustment.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `account_ref` (Hash, required): `account_ref` points to an account in the company file. If
16
+ # both `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
17
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
18
+ # accounting preferences; for credit-card transactions it identifies the bank or card
19
+ # account involved.
20
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
21
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
22
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
23
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
24
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
25
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
26
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
27
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
28
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
29
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
30
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
31
+ # override or clear it on individual lines.
32
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
33
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
34
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
35
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
36
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
37
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
38
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
39
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
40
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
41
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
42
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
43
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
44
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
45
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
46
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
47
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
48
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
49
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
50
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
51
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
52
+ # SDK 2.0+.
53
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
54
+ # - `include_ret_element` (Array<one of "AccountRef", "ClassRef", "CustomerRef", "DataExtRet",
55
+ # "EditSequence", "ExternalGUID", "InventoryAdjustmentLineRet", "InventorySiteRef",
56
+ # "ListID", "Memo", "OwnerID", "RefNumber", "TimeCreated", "TimeModified", "TxnDate",
57
+ # "TxnID", "TxnNumber">)
58
+ # - `inventory_adjustment_line_add` (Array<Hash>, required)
59
+ # - `item_ref` (Hash, required): `item_ref` may accept all item types or a restricted
60
+ # subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount
61
+ # or sales-tax items; VehicleMileageAdd requires a service or other-charge item;
62
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
63
+ # `full_name` is ignored.
64
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
65
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
66
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
67
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
68
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
69
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
70
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
71
+ # - `lot_number_adjustment` (Hash): Amount to adjust lot number. Choose exactly one of:
72
+ # `quantity_adjustment`, or `value_adjustment`, or `serial_number_adjustment`, or
73
+ # `lot_number_adjustment`.
74
+ # - `count_adjustment` (Integer): Amount to adjust count.
75
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
76
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
77
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
78
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
79
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
80
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
81
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
82
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
83
+ # - `lot_number` (String): The lot number of the asset.
84
+ # - `quantity_adjustment` (Hash): Adjusts the inventory quantity either by setting a new
85
+ # quantity or by adjusting the current quantity up or down. Choose exactly one of:
86
+ # `quantity_adjustment`, or `value_adjustment`, or `serial_number_adjustment`, or
87
+ # `lot_number_adjustment`.
88
+ # Give at most one of: `new_quantity`, or `quantity_difference`.
89
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
90
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
91
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
92
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
93
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
94
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
95
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
96
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
97
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
98
+ # `serial_number`, or `lot_number`.
99
+ # - `new_quantity` (Numeric): The new quantity for this inventory item.
100
+ # - `quantity_difference` (Numeric): Either a positive or negative number that shows the
101
+ # change in quantity for this inventory item.
102
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
103
+ # `serial_number`, or `lot_number`.
104
+ # - `serial_number_adjustment` (Hash): Serial number that will be adjusted in inventory.
105
+ # Choose exactly one of: `quantity_adjustment`, or `value_adjustment`, or
106
+ # `serial_number_adjustment`, or `lot_number_adjustment`.
107
+ # Give at most one of: `add_serial_number`, or `remove_serial_number`.
108
+ # - `add_serial_number` (String): Serial number that will be added to inventory.
109
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
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.
114
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
115
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
116
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
117
+ # - `remove_serial_number` (String): Serial number that will be removed from inventory.
118
+ # - `value_adjustment` (Hash): Adjusts the total value of these inventory items by setting a
119
+ # new monetary value, and optionally by setting a new quantity. Choose exactly one of:
120
+ # `quantity_adjustment`, or `value_adjustment`, or `serial_number_adjustment`, or
121
+ # `lot_number_adjustment`.
122
+ # Give at most one of: `new_quantity`, or `quantity_difference`.
123
+ # - `new_quantity` (Numeric): The new quantity for this inventory item.
124
+ # - `quantity_difference` (Numeric): Either a positive or negative number that shows the
125
+ # change in quantity for this inventory item.
126
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
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
+ # - `memo` (String): Additional information.
135
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
136
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
137
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
138
+ # and numbering state.
139
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
140
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
141
+ # webhook already carries the request's `id`.
142
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
143
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
144
+ # transaction of the same type.
145
+ #
146
+ # @param connection_id [String]
147
+ # @param params [Hash] the fields above
148
+ # @param webhook_url [String] where QuBe Sync sends the answer
149
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
150
+ # @return [Hash] the queued request
151
+ # @see https://docs.qubesync.com/api-reference/v2/inventory-adjustments/create-inventory-adjustment
152
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
153
+ queue("inventory_adjustment.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
154
+ end
155
+
156
+ # List inventory adjustments: GET /connections/{connection_id}/inventory-adjustments
157
+ # (`inventory_adjustment.query`).
158
+ #
159
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
160
+ # `iteration_state` `done`.
161
+ #
162
+ # Params, sent as the query string:
163
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
164
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
165
+ # account number (instead of an account name) for `full_name` and get the account you’re
166
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
167
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
168
+ # (`account_filter`, `entity_filter`, `item_filter`, `max_returned`,
169
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
170
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
171
+ # choices.
172
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
173
+ # `full_name_with_children`.
174
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
175
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
176
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
177
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
178
+ # specified object and its descendants. For names that don’t have children,
179
+ # `full_name_with_children` is exactly the same as `full_name`.
180
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
181
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
182
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
183
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
184
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
185
+ # specified object and its descendants.
186
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
187
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
188
+ # information about all the entities that are set up in the QuickBooks file. In an
189
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
190
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
191
+ # `entity_filter`, `item_filter`, `max_returned`, `modified_date_range_filter`,
192
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
193
+ # combine with each other, not with the other choices.
194
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
195
+ # `full_name_with_children`.
196
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
197
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
198
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
199
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
200
+ # specified object and its descendants. For names that don’t have children,
201
+ # `full_name_with_children` is exactly the same as `full_name`.
202
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
203
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
204
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
205
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
206
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
207
+ # specified object and its descendants.
208
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
209
+ # response to get a smaller result. The default value is false, so line items are omitted by
210
+ # default. Set `include_line_items` to true to include line items in the response if you
211
+ # don’t mind getting a larger result.
212
+ # - `include_ret_element` (Array<one of "AccountRef", "ClassRef", "CustomerRef", "DataExtRet",
213
+ # "EditSequence", "ExternalGUID", "InventoryAdjustmentLineRet", "InventorySiteRef", "Memo",
214
+ # "RefNumber", "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
215
+ # - `item_filter` (Hash): Filters according to the item name or ID. You can use an ItemQuery
216
+ # request to get information about all the items that are set up in the QuickBooks file.
217
+ # “Items” are line items used for fast entry on sales and purchase forms. They include
218
+ # services and goods that a business buys and sells, as well as special items that perform
219
+ # calculations–for example, subtotal, discount, and sales-tax items. Choose at most one of:
220
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
221
+ # `entity_filter`, `item_filter`, `max_returned`, `modified_date_range_filter`,
222
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
223
+ # combine with each other, not with the other choices.
224
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
225
+ # `full_name_with_children`.
226
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
227
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
228
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
229
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
230
+ # specified object and its descendants. For names that don’t have children,
231
+ # `full_name_with_children` is exactly the same as `full_name`.
232
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
233
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
234
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
235
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
236
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
237
+ # specified object and its descendants.
238
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
239
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
240
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
241
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
242
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
243
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
244
+ # match comes back in one answer, so leave `iterator` out.
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: `txn_id`, or `ref_number`, or
251
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`, `item_filter`,
252
+ # `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
253
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
254
+ # other, not with the other choices.
255
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
256
+ # `meta_data` attribute to control whether query responses include counts. Options are
257
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
258
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
259
+ # during processing.
260
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
261
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
262
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
263
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
264
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
265
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`, `item_filter`,
266
+ # `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
267
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
268
+ # other, not with the other choices.
269
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
270
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
271
+ # date is provided, time defaults to 00:00:00.
272
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
273
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
274
+ # date is provided, time defaults to end-of-day (23:59:59).
275
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
276
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
277
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
278
+ # across apps. If you do share them, both apps must use the same `owner_id` and
279
+ # `data_ext_name`, because that pair uniquely identifies the extension.
280
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
281
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
282
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
283
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
284
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`, `item_filter`,
285
+ # `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
286
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
287
+ # other, not with the other choices.
288
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
289
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
290
+ # `entity_filter`, `item_filter`, `max_returned`, `modified_date_range_filter`,
291
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
292
+ # combine with each other, not with the other choices.
293
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
294
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
295
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
296
+ # `entity_filter`, `item_filter`, `max_returned`, `modified_date_range_filter`,
297
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
298
+ # combine with each other, not with the other choices.
299
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
300
+ # to match.
301
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
302
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
303
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
304
+ # QuickBooks preferences and numbering state.
305
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
306
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
307
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
308
+ # `entity_filter`, `item_filter`, `max_returned`, `modified_date_range_filter`,
309
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
310
+ # combine with each other, not with the other choices.
311
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
312
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
313
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
314
+ # is omitted, the range will end with last number on the list.
315
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
316
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
317
+ # webhook already carries the request's `id`.
318
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
319
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
320
+ # set (`account_filter`, `entity_filter`, `item_filter`, `max_returned`,
321
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
322
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
323
+ # choices.
324
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
325
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
326
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
327
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
328
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
329
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
330
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
331
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
332
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
333
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
334
+ # last-modified date). Do not combine `date_macro` with
335
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
336
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
337
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
338
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
339
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
340
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
341
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
342
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
343
+ # Use it to reference that transaction in later requests. `txn_id` values are
344
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
345
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
346
+ # (`account_filter`, `entity_filter`, `item_filter`, `max_returned`,
347
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
348
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
349
+ # choices.
350
+ #
351
+ # @param connection_id [String]
352
+ # @param params [Hash] the fields above
353
+ # @param webhook_url [String] where QuBe Sync sends the answer
354
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
355
+ # @return [Hash] the queued request
356
+ # @see https://docs.qubesync.com/api-reference/v2/inventory-adjustments/list-inventory-adjustments
357
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
358
+ queue("inventory_adjustment.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
359
+ end
360
+
361
+ # Update inventory adjustment: PUT /connections/{connection_id}/inventory-adjustments
362
+ # (`inventory_adjustment.update`).
363
+ #
364
+ # QuickBooks answers in one webhook.
365
+ #
366
+ # Params, sent as the JSON body:
367
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
368
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
369
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
370
+ # accounting preferences; for credit-card transactions it identifies the bank or card
371
+ # account involved.
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
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
380
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
381
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
382
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
383
+ # override or clear it on individual lines.
384
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
385
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
386
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
387
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
388
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
389
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
390
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
391
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
392
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
393
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
394
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
395
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
396
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
397
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
398
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
399
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
400
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
401
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
402
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
403
+ # It changes each time the object is updated. To modify an existing object, you must send
404
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
405
+ # overwriting newer changes.
406
+ # - `include_ret_element` (Array<one of "AccountRef", "ClassRef", "CustomerRef", "DataExtRet",
407
+ # "EditSequence", "ExternalGUID", "InventoryAdjustmentLineRet", "InventorySiteRef",
408
+ # "ListID", "Memo", "OwnerID", "RefNumber", "TimeCreated", "TimeModified", "TxnDate",
409
+ # "TxnID", "TxnNumber">)
410
+ # - `inventory_adjustment_line_mod` (Array<Hash>)
411
+ # - `count_adjustment` (Integer): Amount to adjust count. Choose exactly one of:
412
+ # `serial_number`, or the set (`count_adjustment`, `lot_number`). Members of a set combine
413
+ # with each other, not with the other choices.
414
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
415
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
416
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
417
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
418
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
419
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
420
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
421
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
422
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
423
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
424
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
425
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
426
+ # `full_name` is ignored.
427
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
428
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
429
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
430
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
431
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
432
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
433
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
434
+ # - `lot_number` (String): The lot number of the asset. Choose exactly one of:
435
+ # `serial_number`, or the set (`count_adjustment`, `lot_number`). Members of a set combine
436
+ # with each other, not with the other choices.
437
+ # - `quantity_difference` (Numeric): Either a positive or negative number that shows the
438
+ # change in quantity for this inventory item.
439
+ # - `serial_number` (String): The serial number of the asset. Choose exactly one of:
440
+ # `serial_number`, or the set (`count_adjustment`, `lot_number`). Members of a set combine
441
+ # with each other, not with the other choices.
442
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
443
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
444
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
445
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
446
+ # - `value_difference` (Numeric): Either a positive or negative number that shows a change
447
+ # in the total value of the entire stock of this inventory item.
448
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
449
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
450
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
451
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
452
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
453
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
454
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
455
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
456
+ # - `memo` (String): Additional information.
457
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
458
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
459
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
460
+ # and numbering state.
461
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
462
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
463
+ # webhook already carries the request's `id`.
464
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
465
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
466
+ # transaction of the same type.
467
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
468
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
469
+ # transaction-specific and should not be reused across unrelated transaction types.
470
+ #
471
+ # @param connection_id [String]
472
+ # @param params [Hash] the fields above
473
+ # @param webhook_url [String] where QuBe Sync sends the answer
474
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
475
+ # @return [Hash] the queued request
476
+ # @see https://docs.qubesync.com/api-reference/v2/inventory-adjustments/update-inventory-adjustment
477
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
478
+ queue("inventory_adjustment.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
479
+ end
480
+ end
481
+ end
482
+ end