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,115 @@
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 operations, reached as `client.item`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Item < Base
9
+ # List items: GET /connections/{connection_id}/items (`item.query`).
10
+ #
11
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
12
+ # `iteration_state` `done`.
13
+ #
14
+ # Params, sent as the query string:
15
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
16
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
17
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
18
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
19
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
20
+ # combine with each other, not with the other choices.
21
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
22
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
23
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
24
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
25
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
26
+ # each other, not with the other choices.
27
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
28
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
29
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
30
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
31
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
32
+ # combine with each other, not with the other choices.
33
+ # - `include_ret_element` (Array<one of "AccountRef", "AcquiredAs", "AssetAccountRef",
34
+ # "AssetDesc", "AssetNumber", "AverageCost", "BarCodeValue", "BuildPoint", "COGSAccountRef",
35
+ # "ClassRef", "CostBasis", "DataExtRet", "DepositToAccountRef", "DiscountRate",
36
+ # "DiscountRatePercent", "EditSequence", "ExternalGUID", "FixedAssetSalesInfo", "FullName",
37
+ # "IncomeAccountRef", "IsActive", "IsPrintItemsInGroup", "IsTaxIncluded", "ItemDesc",
38
+ # "ItemGroupLine", "ItemInventoryAssemblyLine", "ItemSalesTaxRef", "ListID", "Location",
39
+ # "ManufacturerPartNumber", "Max", "Name", "Notes", "PONumber", "ParentRef",
40
+ # "PaymentMethodRef", "PrefVendorRef", "PurchaseCost", "PurchaseDate", "PurchaseDesc",
41
+ # "PurchaseTaxCodeRef", "QuantityOnHand", "QuantityOnOrder", "QuantityOnSalesOrder",
42
+ # "ReorderPoint", "SalesAndPurchase", "SalesDesc", "SalesOrPurchase", "SalesPrice",
43
+ # "SalesTaxCodeRef", "SalesTaxReturnLineRef", "SerialNumber", "SpecialItemType", "Sublevel",
44
+ # "TaxRate", "TaxVendorRef", "TimeCreated", "TimeModified", "UnitOfMeasureSetRef",
45
+ # "VendorOrPayeeName", "WarrantyExpDate", "YearEndAccumulatedDepreciation",
46
+ # "YearEndBookValue">)
47
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
48
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
49
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
50
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
51
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
52
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
53
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
54
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
55
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
56
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
57
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
58
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
59
+ # combine with each other, not with the other choices.
60
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
61
+ # count of how many objects could possibly be returned, use the `meta_data` query
62
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
63
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
64
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
65
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
66
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
67
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
68
+ # with the other choices.
69
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
70
+ # `meta_data` attribute to control whether query responses include counts. Options are
71
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
72
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
73
+ # during processing.
74
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
75
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
76
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
77
+ # combine with each other, not with the other choices.
78
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
79
+ # to match.
80
+ # - `name` (String, required): The string to match.
81
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
82
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
83
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
84
+ # combine with each other, not with the other choices.
85
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
86
+ # omitted, the range will begin with first name on the list.
87
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
88
+ # the range will end with last name on the list.
89
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
90
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
91
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
92
+ # across apps. If you do share them, both apps must use the same `owner_id` and
93
+ # `data_ext_name`, because that pair uniquely identifies the extension.
94
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
95
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
96
+ # webhook already carries the request's `id`.
97
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
98
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
99
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
100
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
101
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
102
+ # combine with each other, not with the other choices.
103
+ #
104
+ # @param connection_id [String]
105
+ # @param params [Hash] the fields above
106
+ # @param webhook_url [String] where QuBe Sync sends the answer
107
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
108
+ # @return [Hash] the queued request
109
+ # @see https://docs.qubesync.com/api-reference/v2/items/list-items
110
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
111
+ queue("item.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,44 @@
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 assemblies can build operations, reached as `client.item_assemblies_can_build`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemAssembliesCanBuild < Base
9
+ # List item assemblies can builds: GET /connections/{connection_id}/item-assemblies-can-builds
10
+ # (`item_assemblies_can_build.query`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the query string:
15
+ # - `item_inventory_assembly_ref` (Hash, required): An inventory assembly item is one that is
16
+ # assembled or manufactured from inventory items. The items and/or assemblies that make up
17
+ # the assembly are called components. For Premier, an assembly can have a maximum of 100
18
+ # components. For Enterprise, the maximum is 500 components.
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
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
27
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
28
+ # webhook already carries the request's `id`.
29
+ # - `txn_date` (String, required): The date of the transaction. In some cases, if you leave
30
+ # `txn_date` out of an -Add message, QuickBooks will prefill `txn_date` with the date of the
31
+ # last-saved transaction of the same type.
32
+ #
33
+ # @param connection_id [String]
34
+ # @param params [Hash] the fields above
35
+ # @param webhook_url [String] where QuBe Sync sends the answer
36
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
37
+ # @return [Hash] the queued request
38
+ # @see https://docs.qubesync.com/api-reference/v2/item-assemblies-can-builds/list-item-assemblies-can-builds
39
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
40
+ queue("item_assemblies_can_build.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,319 @@
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 discount operations, reached as `client.item_discount`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemDiscount < Base
9
+ # Create item discount: POST /connections/{connection_id}/item-discounts
10
+ # (`item_discount.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
16
+ # `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
+ # - `bar_code` (Hash): Barcode reference information.
28
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
29
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
30
+ # in use.
31
+ # - `bar_code_value` (String): Value of the barcode in the item.
32
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
33
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
34
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
35
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
36
+ # override or clear it on individual lines.
37
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
38
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
39
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
40
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
41
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
42
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
43
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
44
+ # - `discount_rate` (Numeric): The discount rate when it is given as a monetary amount.
45
+ # `discount_rate` will be subtracted from a total or subtotal. Choose at most one of:
46
+ # `discount_rate`, or `discount_rate_percent`.
47
+ # - `discount_rate_percent` (Numeric): The discount rate when it is given as a percent.
48
+ # `discount_rate_percent` will be subtracted from a total or subtotal. Choose at most one
49
+ # of: `discount_rate`, or `discount_rate_percent`.
50
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
51
+ # - `include_ret_element` (Array<one of "AccountRef", "BarCodeValue", "ClassRef",
52
+ # "DataExtRet", "DiscountRate", "DiscountRatePercent", "EditSequence", "ExternalGUID",
53
+ # "FullName", "IsActive", "ItemDesc", "ListID", "Name", "OwnerID", "ParentRef",
54
+ # "SalesTaxCodeRef", "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
55
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
56
+ # QuickBooks. The default value is true.
57
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
58
+ # used.
59
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
60
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
61
+ # reuse the same Name in different branches because `full_name` remains distinct.
62
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
63
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
64
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
65
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
66
+ # ignored.
67
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
68
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
69
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
70
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
71
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
72
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
73
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
74
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
75
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
76
+ # webhook already carries the request's `id`.
77
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
78
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
79
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
80
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
81
+ # `sales_tax_code_ref`, `full_name` is ignored.
82
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
83
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
84
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
85
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
86
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
87
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
88
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
89
+ #
90
+ # @param connection_id [String]
91
+ # @param params [Hash] the fields above
92
+ # @param webhook_url [String] where QuBe Sync sends the answer
93
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
94
+ # @return [Hash] the queued request
95
+ # @see https://docs.qubesync.com/api-reference/v2/item-discounts/create-item-discount
96
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
97
+ queue("item_discount.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
98
+ end
99
+
100
+ # List item discounts: GET /connections/{connection_id}/item-discounts
101
+ # (`item_discount.query`).
102
+ #
103
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
104
+ # `iteration_state` `done`.
105
+ #
106
+ # Params, sent as the query string:
107
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
108
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
109
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
110
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
111
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
112
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
113
+ # - `class_filter` (Hash): Filters according to the object’s class. Choose at most one of:
114
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
115
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
116
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
117
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
118
+ # `full_name_with_children`.
119
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
120
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
121
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
122
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
123
+ # specified object and its descendants. For names that don’t have children,
124
+ # `full_name_with_children` is exactly the same as `full_name`.
125
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
126
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
127
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
128
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
129
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
130
+ # specified object and its descendants.
131
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
132
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
133
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
134
+ # `full_name`, or the set (`active_status`, `class_filter`, `from_modified_date`,
135
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
136
+ # combine with each other, not with the other choices.
137
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
138
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
139
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
140
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
141
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
142
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
143
+ # - `include_ret_element` (Array<one of "AccountRef", "BarCodeValue", "ClassRef",
144
+ # "DataExtRet", "DiscountRate", "DiscountRatePercent", "EditSequence", "ExternalGUID",
145
+ # "FullName", "IsActive", "ItemDesc", "ListID", "Name", "ParentRef", "SalesTaxCodeRef",
146
+ # "Sublevel", "TimeCreated", "TimeModified">)
147
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
148
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
149
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
150
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
151
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
152
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
153
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
154
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
155
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
156
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
157
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
158
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
159
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
160
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
161
+ # count of how many objects could possibly be returned, use the `meta_data` query
162
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
163
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
164
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
165
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
166
+ # (`active_status`, `class_filter`, `from_modified_date`, `max_returned`, `name_filter`,
167
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
168
+ # with the other choices.
169
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
170
+ # `meta_data` attribute to control whether query responses include counts. Options are
171
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
172
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
173
+ # during processing.
174
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
175
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
176
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
177
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
178
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
179
+ # to match.
180
+ # - `name` (String, required): The string to match.
181
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
182
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
183
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
184
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
185
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
186
+ # omitted, the range will begin with first name on the list.
187
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
188
+ # the range will end with last name on the list.
189
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
190
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
191
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
192
+ # across apps. If you do share them, both apps must use the same `owner_id` and
193
+ # `data_ext_name`, because that pair uniquely identifies the extension.
194
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
195
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
196
+ # webhook already carries the request's `id`.
197
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
198
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
199
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
200
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
201
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
202
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
203
+ #
204
+ # @param connection_id [String]
205
+ # @param params [Hash] the fields above
206
+ # @param webhook_url [String] where QuBe Sync sends the answer
207
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
208
+ # @return [Hash] the queued request
209
+ # @see https://docs.qubesync.com/api-reference/v2/item-discounts/list-item-discounts
210
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
211
+ queue("item_discount.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
212
+ end
213
+
214
+ # Update item discount: PUT /connections/{connection_id}/item-discounts
215
+ # (`item_discount.update`).
216
+ #
217
+ # QuickBooks answers in one webhook.
218
+ #
219
+ # Params, sent as the JSON body:
220
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
221
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
222
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
223
+ # accounting preferences; for credit-card transactions it identifies the bank or card
224
+ # account involved.
225
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
226
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
227
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
228
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
229
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
230
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
231
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
232
+ # - `apply_account_ref_to_existing_txns` (Boolean): Used to support changing the `account_ref`
233
+ # in the Mod request. When you do this, the QuickBooks UI normally displays a prompt asking
234
+ # whether the change should apply to existing transactions or not. Specifying False
235
+ # basically dismisses this with a “No” answer; specifying True dismisses it with a “Yes”
236
+ # answer and then changes the existing transactions that use the item with that
237
+ # `account_ref`.
238
+ # - `bar_code` (Hash): Barcode reference information.
239
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
240
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
241
+ # in use.
242
+ # - `bar_code_value` (String): Value of the barcode in the item.
243
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
244
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
245
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
246
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
247
+ # override or clear it on individual lines.
248
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
249
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
250
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
251
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
252
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
253
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
254
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
255
+ # - `discount_rate` (Numeric): The discount rate when it is given as a monetary amount.
256
+ # `discount_rate` will be subtracted from a total or subtotal. Choose at most one of:
257
+ # `discount_rate`, or `discount_rate_percent`.
258
+ # - `discount_rate_percent` (Numeric): The discount rate when it is given as a percent.
259
+ # `discount_rate_percent` will be subtracted from a total or subtotal. Choose at most one
260
+ # of: `discount_rate`, or `discount_rate_percent`.
261
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
262
+ # It changes each time the object is updated. To modify an existing object, you must send
263
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
264
+ # overwriting newer changes.
265
+ # - `include_ret_element` (Array<one of "AccountRef", "BarCodeValue", "ClassRef",
266
+ # "DataExtRet", "DiscountRate", "DiscountRatePercent", "EditSequence", "ExternalGUID",
267
+ # "FullName", "IsActive", "ItemDesc", "ListID", "Name", "OwnerID", "ParentRef",
268
+ # "SalesTaxCodeRef", "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
269
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
270
+ # QuickBooks. The default value is true.
271
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
272
+ # used.
273
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
274
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
275
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
276
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
277
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
278
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
279
+ # same Name in different branches because `full_name` remains distinct.
280
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
281
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
282
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
283
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
284
+ # ignored.
285
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
286
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
287
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
288
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
289
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
290
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
291
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
292
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
293
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
294
+ # webhook already carries the request's `id`.
295
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
296
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
297
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
298
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
299
+ # `sales_tax_code_ref`, `full_name` is ignored.
300
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
301
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
302
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
303
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
304
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
305
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
306
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
307
+ #
308
+ # @param connection_id [String]
309
+ # @param params [Hash] the fields above
310
+ # @param webhook_url [String] where QuBe Sync sends the answer
311
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
312
+ # @return [Hash] the queued request
313
+ # @see https://docs.qubesync.com/api-reference/v2/item-discounts/update-item-discount
314
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
315
+ queue("item_discount.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
316
+ end
317
+ end
318
+ end
319
+ end