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,452 @@
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 charge operations, reached as `client.charge`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Charge < Base
9
+ # Create charge: POST /connections/{connection_id}/charges (`charge.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `amount` (Numeric): A monetary amount.
15
+ # - `ar_account_ref` (Hash): `ar_account_ref` points to an Accounts Receivable account. If
16
+ # both `full_name` and `list_id` are provided, `full_name` is ignored.
17
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
18
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
19
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
20
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
21
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
22
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
23
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
24
+ # - `billed_date` (String): The date when the customer was billed for what is now being
25
+ # charged to their credit card. (`billed_date` is the same as the date listed on an invoice
26
+ # or, for a statement charge, the date entered in the Statement Date field when the
27
+ # statement was printed.)
28
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
29
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
30
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
31
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
32
+ # override or clear it on individual lines.
33
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
34
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
35
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
36
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
37
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
38
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
39
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
40
+ # - `customer_ref` (Hash, required): `customer_ref` identifies a customer or customer job. If
41
+ # both `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
42
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
43
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
44
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
45
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
46
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
47
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
48
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
49
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
50
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
51
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
52
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
53
+ # SDK 2.0+.
54
+ # - `desc` (String): A descriptive text field.
55
+ # - `due_date` (String): The date on which payment is due.
56
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
57
+ # - `include_ret_element` (Array<one of "ARAccountRef", "Amount", "BalanceRemaining",
58
+ # "BilledDate", "ClassRef", "CustomerRef", "DataExtRet", "Desc", "DueDate", "EditSequence",
59
+ # "ExternalGUID", "InventorySiteLocationRef", "InventorySiteRef", "IsPaid", "ItemRef",
60
+ # "LinkedTxn", "ListID", "OverrideUOMSetRef", "OwnerID", "Quantity", "Rate", "RefNumber",
61
+ # "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber", "UnitOfMeasure">)
62
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site
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 example
65
+ # 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 list
68
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
69
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
70
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
71
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
72
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
73
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
74
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
75
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
76
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
77
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
78
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset, depending
79
+ # on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items;
80
+ # VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a
81
+ # service item. If both `full_name` and `list_id` are provided, `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
+ # - `option_for_price_rule_conflict` (one of "BasePrice", "Zero"): Flag to override price rule
90
+ # conflict.
91
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
92
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`, `full_name`
93
+ # will be ignored.
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 example
96
+ # 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 list
99
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
100
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
101
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the other
102
+ # two among Quantity, Rate, and Amount. If you supply Quantity and Amount, QuickBooks
103
+ # calculates Rate. If you supply Quantity and Rate, QuickBooks calculates Amount.
104
+ # - `rate` (Numeric): Indicates the price of something.
105
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
106
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
107
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
108
+ # and numbering state.
109
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
110
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
111
+ # webhook already carries the request's `id`.
112
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
113
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
114
+ # transaction of the same type.
115
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
116
+ # selected from within the item’s available units. If the company file is enabled only for
117
+ # single unit of measure per item, this must be the base unit!
118
+ #
119
+ # @param connection_id [String]
120
+ # @param params [Hash] the fields above
121
+ # @param webhook_url [String] where QuBe Sync sends the answer
122
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
123
+ # @return [Hash] the queued request
124
+ # @see https://docs.qubesync.com/api-reference/v2/charges/create-charge
125
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
126
+ queue("charge.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
127
+ end
128
+
129
+ # List charges: GET /connections/{connection_id}/charges (`charge.query`).
130
+ #
131
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
132
+ # `iteration_state` `done`.
133
+ #
134
+ # Params, sent as the query string:
135
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
136
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
137
+ # account number (instead of an account name) for `full_name` and get the account you’re
138
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
139
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
140
+ # (`account_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
141
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
142
+ # Members of a set combine with each other, not with the other choices.
143
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
144
+ # `full_name_with_children`.
145
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
146
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
147
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
148
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
149
+ # specified object and its descendants. For names that don’t have children,
150
+ # `full_name_with_children` is exactly the same as `full_name`.
151
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
152
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
153
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
154
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
155
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
156
+ # specified object and its descendants.
157
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
158
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
159
+ # information about all the entities that are set up in the QuickBooks file. In an
160
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
161
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
162
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
163
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
164
+ # combine with each other, not with the other choices.
165
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
166
+ # `full_name_with_children`.
167
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
168
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
169
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
170
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
171
+ # specified object and its descendants. For names that don’t have children,
172
+ # `full_name_with_children` is exactly the same as `full_name`.
173
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
174
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
175
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
176
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
177
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
178
+ # specified object and its descendants.
179
+ # - `include_linked_txns` (Boolean): If you set `include_linked_txns` to true, then the
180
+ # returned object will include a list of all the transactions linked to the queried object.
181
+ # (This list is similar to the History view of a transaction in the user interface, but not
182
+ # identical, as the SDK list contains only linked transactions, not items.) Each linked
183
+ # transaction will be represented by a `linked_txn` aggregate.
184
+ # - `include_ret_element` (Array<one of "ARAccountRef", "Amount", "BalanceRemaining",
185
+ # "BilledDate", "ClassRef", "CustomerRef", "DataExtRet", "Desc", "DueDate", "EditSequence",
186
+ # "ExternalGUID", "InventorySiteLocationRef", "InventorySiteRef", "IsPaid", "ItemRef",
187
+ # "LinkedTxn", "OverrideUOMSetRef", "Quantity", "Rate", "RefNumber", "TimeCreated",
188
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber", "UnitOfMeasure">)
189
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
190
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
191
+ # default, with pages of 100 records (25 with `include_linked_txns`); send `iterator=true`
192
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
193
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
194
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
195
+ # match comes back in one answer, so leave `iterator` out.
196
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
197
+ # count of how many objects could possibly be returned, use the `meta_data` query
198
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
199
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
200
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
201
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
202
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`,
203
+ # `max_returned`, `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
204
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
205
+ # other, not with the other choices.
206
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
207
+ # `meta_data` attribute to control whether query responses include counts. Options are
208
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
209
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
210
+ # during processing.
211
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
212
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
213
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
214
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
215
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
216
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`,
217
+ # `max_returned`, `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
218
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
219
+ # other, not with the other choices.
220
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
221
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
222
+ # date is provided, time defaults to 00:00:00.
223
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
224
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
225
+ # date is provided, time defaults to end-of-day (23:59:59).
226
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
227
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
228
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
229
+ # across apps. If you do share them, both apps must use the same `owner_id` and
230
+ # `data_ext_name`, because that pair uniquely identifies the extension.
231
+ # - `paid_status` (one of "All", "NotPaidOnly", "PaidOnly"): Allows you to filter for
232
+ # transactions according to whether or not they are paid. Choose at most one of: `txn_id`,
233
+ # or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
234
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
235
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
236
+ # combine with each other, not with the other choices.
237
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
238
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
239
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
240
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
241
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `entity_filter`,
242
+ # `max_returned`, `modified_date_range_filter`, `paid_status`, `ref_number_filter`,
243
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
244
+ # other, not with the other choices.
245
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
246
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
247
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
248
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
249
+ # combine with each other, not with the other choices.
250
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
251
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
252
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
253
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
254
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
255
+ # combine with each other, not with the other choices.
256
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
257
+ # to match.
258
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
259
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
260
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
261
+ # QuickBooks preferences and numbering state.
262
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
263
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
264
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
265
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `paid_status`,
266
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
267
+ # combine with each other, not with the other choices.
268
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
269
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
270
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
271
+ # is omitted, the range will end with last number on the list.
272
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
273
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
274
+ # webhook already carries the request's `id`.
275
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
276
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
277
+ # set (`account_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
278
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
279
+ # Members of a set combine with each other, not with the other choices.
280
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
281
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
282
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
283
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
284
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
285
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
286
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
287
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
288
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
289
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
290
+ # last-modified date). Do not combine `date_macro` with
291
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
292
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
293
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
294
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
295
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
296
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
297
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
298
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
299
+ # Use it to reference that transaction in later requests. `txn_id` values are
300
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
301
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
302
+ # (`account_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
303
+ # `paid_status`, `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`).
304
+ # Members of a set combine with each other, not with the other choices.
305
+ #
306
+ # @param connection_id [String]
307
+ # @param params [Hash] the fields above
308
+ # @param webhook_url [String] where QuBe Sync sends the answer
309
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
310
+ # @return [Hash] the queued request
311
+ # @see https://docs.qubesync.com/api-reference/v2/charges/list-charges
312
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
313
+ queue("charge.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
314
+ end
315
+
316
+ # Update charge: PUT /connections/{connection_id}/charges (`charge.update`).
317
+ #
318
+ # QuickBooks answers in one webhook.
319
+ #
320
+ # Params, sent as the JSON body:
321
+ # - `amount` (Numeric): A monetary amount.
322
+ # - `ar_account_ref` (Hash): `ar_account_ref` points to an Accounts Receivable account. If
323
+ # both `full_name` and `list_id` are provided, `full_name` is ignored.
324
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
325
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
326
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
327
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
328
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
329
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
330
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
331
+ # - `billed_date` (String): The date when the customer was billed for what is now being
332
+ # charged to their credit card. (`billed_date` is the same as the date listed on an invoice
333
+ # or, for a statement charge, the date entered in the Statement Date field when the
334
+ # statement was printed.)
335
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
336
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
337
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
338
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
339
+ # override or clear it on individual lines.
340
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
341
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
342
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
343
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
344
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
345
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
346
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
347
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
348
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
349
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
350
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
351
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
352
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
353
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
354
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
355
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
356
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
357
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
358
+ # - `desc` (String): A descriptive text field.
359
+ # - `due_date` (String): The date on which payment is due.
360
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
361
+ # It changes each time the object is updated. To modify an existing object, you must send
362
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
363
+ # overwriting newer changes.
364
+ # - `include_ret_element` (Array<one of "ARAccountRef", "Amount", "BalanceRemaining",
365
+ # "BilledDate", "ClassRef", "CustomerRef", "DataExtRet", "Desc", "DueDate", "EditSequence",
366
+ # "ExternalGUID", "InventorySiteLocationRef", "InventorySiteRef", "IsPaid", "ItemRef",
367
+ # "LinkedTxn", "ListID", "OverrideUOMSetRef", "OwnerID", "Quantity", "Rate", "RefNumber",
368
+ # "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber", "UnitOfMeasure">)
369
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
370
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
371
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
372
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
373
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
374
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
375
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
376
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
377
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
378
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
379
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
380
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
381
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
382
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
383
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
384
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
385
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset, depending
386
+ # on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items;
387
+ # VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a
388
+ # service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
389
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
390
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
391
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
392
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
393
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
394
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
395
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
396
+ # - `option_for_price_rule_conflict` (one of "BasePrice", "Zero"): Flag to override price rule
397
+ # conflict
398
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
399
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`, `full_name`
400
+ # will be ignored.
401
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
402
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
403
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
404
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
405
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
406
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
407
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
408
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
409
+ # measure used in that line, you use this aggregate to specify the UOM set within which you
410
+ # are choosing an available unit of measure. The “override” here refers to the unit within
411
+ # the set, not the UOM Set itself, which you can’t change or override–the UOM set that can
412
+ # be set or changed only in the item itself via an Item Mod request.
413
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
414
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
415
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
416
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
417
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
418
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
419
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
420
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the other
421
+ # two among Quantity, Rate, and Amount. If you supply Quantity and Amount, QuickBooks
422
+ # calculates Rate. If you supply Quantity and Rate, QuickBooks calculates Amount.
423
+ # - `rate` (Numeric): Indicates the price of something.
424
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
425
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
426
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
427
+ # and numbering state.
428
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
429
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
430
+ # webhook already carries the request's `id`.
431
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
432
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
433
+ # transaction of the same type.
434
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
435
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
436
+ # transaction-specific and should not be reused across unrelated transaction types.
437
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
438
+ # selected from within the item’s available units. If the company file is enabled only for
439
+ # single unit of measure per item, this must be the base unit!
440
+ #
441
+ # @param connection_id [String]
442
+ # @param params [Hash] the fields above
443
+ # @param webhook_url [String] where QuBe Sync sends the answer
444
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
445
+ # @return [Hash] the queued request
446
+ # @see https://docs.qubesync.com/api-reference/v2/charges/update-charge
447
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
448
+ queue("charge.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
449
+ end
450
+ end
451
+ end
452
+ end