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