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,1000 @@
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 credit card charge operations, reached as `client.credit_card_charge`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class CreditCardCharge < Base
9
+ # Create credit card charge: POST /connections/{connection_id}/credit-card-charges
10
+ # (`credit_card_charge.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `account_ref` (Hash, required): `account_ref` points to an account in the company file. If
16
+ # both `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
17
+ # context: for checks it is the funding account; for `expense_line_add` it may be required
18
+ # by accounting preferences; for credit-card transactions it identifies the bank or card
19
+ # account involved.
20
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
21
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
22
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
23
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
24
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
25
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
26
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
27
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
28
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
29
+ # SDK 2.0+.
30
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
31
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
32
+ # does not provide rates through the SDK. If your home currency is USD and internet access
33
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
34
+ # Activities > Download Latest Exchange Rates.
35
+ # - `expense_line_add` (Array<Hash>)
36
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
37
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
38
+ # context: for checks it is the funding account; for `expense_line_add` it may be required
39
+ # by accounting preferences; for credit-card transactions it identifies the bank or card
40
+ # account involved.
41
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
42
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
43
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
44
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
45
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
46
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
47
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
48
+ # - `amount` (Numeric): A monetary amount.
49
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
50
+ # status of this item line or expense line.
51
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
52
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
53
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
54
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
55
+ # override or clear it on individual lines.
56
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
57
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
58
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
59
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
60
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
61
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
62
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
63
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
64
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
65
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
66
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
67
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
68
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
69
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
70
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
71
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
72
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
73
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
74
+ # - `data_ext` (Array<Hash>)
75
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
76
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
77
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
78
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
79
+ # `data_ext_name` must be a unique value among existing custom fields.
80
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
81
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
82
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
83
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
84
+ # `data_ext_value` is 1KB.
85
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
86
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
87
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
88
+ # share extensions across apps. If you do share them, both apps must use the same
89
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
90
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
91
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature
92
+ # requires SDK 2.0+.
93
+ # - `memo` (String): Additional information.
94
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
95
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
96
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
97
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
98
+ # `full_name` and `list_id`, `full_name` will be ignored.
99
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
100
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
101
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
102
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
103
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
104
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
105
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
106
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
107
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
108
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
109
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
110
+ # `sales_tax_code_ref`, `full_name` is ignored.
111
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
112
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
113
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
114
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
115
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
116
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
117
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
118
+ # - `tax_amount` (Numeric)
119
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
120
+ # - `include_ret_element` (Array<one of "AccountRef", "Amount", "AmountInHomeCurrency",
121
+ # "CurrencyRef", "DataExtRet", "EditSequence", "ExchangeRate", "ExpenseLineRet",
122
+ # "ExternalGUID", "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "ListID", "Memo",
123
+ # "OwnerID", "PayeeEntityRef", "RefNumber", "SalesTaxCodeRef", "TimeCreated",
124
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
125
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
126
+ # - `item_group_line_add` (Array<Hash>): Refers to items that are grouped together in
127
+ # QuickBooks for fast entry. `item_line_add` and `item_group_line_add` combine: any number
128
+ # of each. QuickBooks receives them in that order: every `item_line_add`, then every
129
+ # `item_group_line_add`.
130
+ # - `data_ext` (Array<Hash>)
131
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
132
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
133
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
134
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
135
+ # `data_ext_name` must be a unique value among existing custom fields.
136
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
137
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
138
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
139
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
140
+ # `data_ext_value` is 1KB.
141
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
142
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
143
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
144
+ # share extensions across apps. If you do share them, both apps must use the same
145
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
146
+ # - `desc` (String): A descriptive text field.
147
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
148
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
149
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
150
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
151
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
152
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
153
+ # 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
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
156
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
157
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
158
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
159
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
160
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
161
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
162
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
163
+ # - `item_group_ref` (Hash, required): ItemGroup objects represent items that are grouped
164
+ # together for fast entry, and an `item_group_ref` aggregate refers to one of these item
165
+ # groups. In a request, if an `item_group_ref` aggregate includes both `full_name` and
166
+ # `list_id`, `full_name` will be ignored. You can use an ItemGroupQuery request to get
167
+ # information about all the item groups that are set up in the QuickBooks file.
168
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
169
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
170
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
171
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
172
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
173
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
174
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
175
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
176
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
177
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
178
+ # Amount.
179
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
180
+ # selected from within the item’s available units. If the company file is enabled only for
181
+ # single unit of measure per item, this must be the base unit!
182
+ # - `item_line_add` (Array<Hash>): An ItemLine is used to track any portion of a transaction
183
+ # that represents the purchase of an “item.” If `item_line_add` doesn’t specify an Amount,
184
+ # Cost, or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and the
185
+ # suggested Cost. `item_line_add` and `item_group_line_add` combine: any number of each.
186
+ # QuickBooks receives them in that order: every `item_line_add`, then every
187
+ # `item_group_line_add`.
188
+ # - `amount` (Numeric): A monetary amount.
189
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
190
+ # status of this item line or expense line.
191
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
192
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
193
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
194
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
195
+ # override or clear it on individual lines.
196
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
197
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
198
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
199
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
200
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
201
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
202
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
203
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them to
204
+ # calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will use
205
+ # them to calculate the total Amount.
206
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
207
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
208
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
209
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
210
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
211
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
212
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
213
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
214
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
215
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
216
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
217
+ # - `data_ext` (Array<Hash>)
218
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
219
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
220
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
221
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
222
+ # `data_ext_name` must be a unique value among existing custom fields.
223
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
224
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
225
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
226
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
227
+ # `data_ext_value` is 1KB.
228
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
229
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
230
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
231
+ # share extensions across apps. If you do share them, both apps must use the same
232
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
233
+ # - `desc` (String): A descriptive text field.
234
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
235
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
236
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
237
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
238
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
239
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
240
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
241
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
242
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
243
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
244
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
245
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
246
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
247
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
248
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
249
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
250
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
251
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
252
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
253
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
254
+ # `full_name` is ignored.
255
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
256
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
257
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
258
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
259
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
260
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
261
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
262
+ # - `link_to_txn` (Hash)
263
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
264
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values
265
+ # are transaction-specific and should not be reused across unrelated transaction types.
266
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
267
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
268
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line
269
+ # in a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
270
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
271
+ # `serial_number`, or `lot_number`.
272
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
273
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
274
+ # `full_name` will be ignored.
275
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
276
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
277
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
278
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
279
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
280
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
281
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
282
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
283
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
284
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
285
+ # Amount.
286
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
287
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
288
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
289
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
290
+ # `full_name` and `list_id`, `full_name` will be ignored.
291
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
292
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
293
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
294
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
295
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
296
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
297
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
298
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
299
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
300
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
301
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
302
+ # `sales_tax_code_ref`, `full_name` is ignored.
303
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
304
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
305
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
306
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
307
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
308
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
309
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
310
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
311
+ # `serial_number`, or `lot_number`.
312
+ # - `tax_amount` (Numeric)
313
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
314
+ # selected from within the item’s available units. If the company file is enabled only for
315
+ # single unit of measure per item, this must be the base unit!
316
+ # - `memo` (String): Additional information.
317
+ # - `payee_entity_ref` (Hash): `payee_entity_ref` identifies the payee (customer, vendor,
318
+ # employee, or Other Name). If both `full_name` and `list_id` are provided, `full_name` is
319
+ # ignored.
320
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
321
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
322
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
323
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
324
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
325
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
326
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
327
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
328
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
329
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
330
+ # and numbering state.
331
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
332
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
333
+ # webhook already carries the request's `id`.
334
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
335
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
336
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
337
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
338
+ # `sales_tax_code_ref`, `full_name` is ignored.
339
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
340
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
341
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
342
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
343
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
344
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
345
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
346
+ # - `txn_date` (String): The date of the charge. In some cases, if you leave `txn_date` out of
347
+ # an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
348
+ # transaction of the same type.
349
+ #
350
+ # @param connection_id [String]
351
+ # @param params [Hash] the fields above
352
+ # @param webhook_url [String] where QuBe Sync sends the answer
353
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
354
+ # @return [Hash] the queued request
355
+ # @see https://docs.qubesync.com/api-reference/v2/credit-card-charges/create-credit-card-charge
356
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
357
+ queue("credit_card_charge.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
358
+ end
359
+
360
+ # List credit card charges: GET /connections/{connection_id}/credit-card-charges
361
+ # (`credit_card_charge.query`).
362
+ #
363
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
364
+ # `iteration_state` `done`.
365
+ #
366
+ # Params, sent as the query string:
367
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
368
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
369
+ # account number (instead of an account name) for `full_name` and get the account you’re
370
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
371
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
372
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
373
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
374
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
375
+ # choices.
376
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
377
+ # `full_name_with_children`.
378
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
379
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
380
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
381
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
382
+ # specified object and its descendants. For names that don’t have children,
383
+ # `full_name_with_children` is exactly the same as `full_name`.
384
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
385
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
386
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
387
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
388
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
389
+ # specified object and its descendants.
390
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
391
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
392
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
393
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
394
+ # combine with each other, not with the other choices.
395
+ # Give at most one of: `list_id`, or `full_name`.
396
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
397
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
398
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
399
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
400
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
401
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
402
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
403
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
404
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
405
+ # information about all the entities that are set up in the QuickBooks file. In an
406
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
407
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
408
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
409
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
410
+ # combine with each other, not with the other choices.
411
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
412
+ # `full_name_with_children`.
413
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
414
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
415
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
416
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
417
+ # specified object and its descendants. For names that don’t have children,
418
+ # `full_name_with_children` is exactly the same as `full_name`.
419
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
420
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
421
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
422
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
423
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
424
+ # specified object and its descendants.
425
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
426
+ # response to get a smaller result. The default value is false, so line items are omitted by
427
+ # default. Set `include_line_items` to true to include line items in the response if you
428
+ # don’t mind getting a larger result.
429
+ # - `include_ret_element` (Array<one of "AccountRef", "Amount", "AmountInHomeCurrency",
430
+ # "CurrencyRef", "DataExtRet", "EditSequence", "ExchangeRate", "ExpenseLineRet",
431
+ # "ExternalGUID", "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "Memo",
432
+ # "PayeeEntityRef", "RefNumber", "SalesTaxCodeRef", "TimeCreated", "TimeModified",
433
+ # "TxnDate", "TxnID", "TxnNumber">)
434
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
435
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
436
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
437
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
438
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
439
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
440
+ # match comes back in one answer, so leave `iterator` out.
441
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
442
+ # count of how many objects could possibly be returned, use the `meta_data` query
443
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
444
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
445
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
446
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
447
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
448
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
449
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
450
+ # other, not with the other choices.
451
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
452
+ # `meta_data` attribute to control whether query responses include counts. Options are
453
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
454
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
455
+ # during processing.
456
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
457
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
458
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
459
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
460
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
461
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
462
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
463
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
464
+ # other, not with the other choices.
465
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
466
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
467
+ # date is provided, time defaults to 00:00:00.
468
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
469
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
470
+ # date is provided, time defaults to end-of-day (23:59:59).
471
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
472
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
473
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
474
+ # across apps. If you do share them, both apps must use the same `owner_id` and
475
+ # `data_ext_name`, because that pair uniquely identifies the extension.
476
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
477
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
478
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
479
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
480
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
481
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
482
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
483
+ # other, not with the other choices.
484
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
485
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
486
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
487
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
488
+ # combine with each other, not with the other choices.
489
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
490
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
491
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
492
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
493
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
494
+ # combine with each other, not with the other choices.
495
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
496
+ # to match.
497
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
498
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
499
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
500
+ # QuickBooks preferences and numbering state.
501
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
502
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
503
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
504
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
505
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
506
+ # combine with each other, not with the other choices.
507
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
508
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
509
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
510
+ # is omitted, the range will end with last number on the list.
511
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
512
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
513
+ # webhook already carries the request's `id`.
514
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
515
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
516
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
517
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
518
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
519
+ # choices.
520
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
521
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
522
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
523
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
524
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
525
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
526
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
527
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
528
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
529
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
530
+ # last-modified date). Do not combine `date_macro` with
531
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
532
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
533
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
534
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
535
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
536
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
537
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
538
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
539
+ # Use it to reference that transaction in later requests. `txn_id` values are
540
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
541
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
542
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
543
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
544
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
545
+ # choices.
546
+ #
547
+ # @param connection_id [String]
548
+ # @param params [Hash] the fields above
549
+ # @param webhook_url [String] where QuBe Sync sends the answer
550
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
551
+ # @return [Hash] the queued request
552
+ # @see https://docs.qubesync.com/api-reference/v2/credit-card-charges/list-credit-card-charges
553
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
554
+ queue("credit_card_charge.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
555
+ end
556
+
557
+ # Update credit card charge: PUT /connections/{connection_id}/credit-card-charges
558
+ # (`credit_card_charge.update`).
559
+ #
560
+ # QuickBooks answers in one webhook.
561
+ #
562
+ # Params, sent as the JSON body:
563
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
564
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
565
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
566
+ # accounting preferences; for credit-card transactions it identifies the bank or card
567
+ # account involved.
568
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
569
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
570
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
571
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
572
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
573
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
574
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
575
+ # - `clear_expense_lines` (Boolean): Set `clear_expense_lines` to true to clear all the
576
+ # expense lines. To modify individual lines, use `expense_line_mod`.
577
+ # - `clear_item_lines` (Boolean): Set `clear_item_lines` to true to clear all the item lines.
578
+ # To modify individual lines, use `item_line_mod`.
579
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
580
+ # It changes each time the object is updated. To modify an existing object, you must send
581
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
582
+ # overwriting newer changes.
583
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
584
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
585
+ # does not provide rates through the SDK. If your home currency is USD and internet access
586
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
587
+ # Activities > Download Latest Exchange Rates.
588
+ # - `expense_line_mod` (Array<Hash>)
589
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
590
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
591
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
592
+ # accounting preferences; for credit-card transactions it identifies the bank or card
593
+ # account involved.
594
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
595
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
596
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
597
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
598
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
599
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
600
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
601
+ # - `amount` (Numeric): A monetary amount.
602
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
603
+ # status of this item line or expense line.
604
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
605
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
606
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
607
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
608
+ # override or clear it on individual lines.
609
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
610
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
611
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
612
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
613
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
614
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
615
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
616
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
617
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
618
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
619
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
620
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
621
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
622
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
623
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
624
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
625
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
626
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
627
+ # - `memo` (String): Additional information.
628
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
629
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
630
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
631
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
632
+ # `full_name` and `list_id`, `full_name` will be ignored.
633
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
634
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
635
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
636
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
637
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
638
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
639
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
640
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
641
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
642
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
643
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
644
+ # `sales_tax_code_ref`, `full_name` is ignored.
645
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
646
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
647
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
648
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
649
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
650
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
651
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
652
+ # - `tax_amount` (Numeric)
653
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
654
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
655
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
656
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
657
+ # - `include_ret_element` (Array<one of "AccountRef", "Amount", "AmountInHomeCurrency",
658
+ # "CurrencyRef", "DataExtRet", "EditSequence", "ExchangeRate", "ExpenseLineRet",
659
+ # "ExternalGUID", "IsTaxIncluded", "ItemGroupLineRet", "ItemLineRet", "ListID", "Memo",
660
+ # "OwnerID", "PayeeEntityRef", "RefNumber", "SalesTaxCodeRef", "TimeCreated",
661
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
662
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
663
+ # - `item_group_line_mod` (Array<Hash>): Refers to items that are grouped together in
664
+ # QuickBooks for fast entry. `item_line_mod` and `item_group_line_mod` combine: any number
665
+ # of each. QuickBooks receives them in that order: every `item_line_mod`, then every
666
+ # `item_group_line_mod`.
667
+ # - `item_group_ref` (Hash): ItemGroup objects represent items that are grouped together for
668
+ # fast entry, and an `item_group_ref` aggregate refers to one of these item groups. In a
669
+ # request, if an `item_group_ref` aggregate includes both `full_name` and `list_id`,
670
+ # `full_name` will be ignored. You can use an ItemGroupQuery request to get information
671
+ # about all the item groups that are set up in the QuickBooks file.
672
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
673
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
674
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
675
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
676
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
677
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
678
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
679
+ # - `item_line_mod` (Array<Hash>): An ItemLine is used to track any portion of a transaction
680
+ # that represents the purchase of an “item.” If ItemLineAdd doesn’t specify an Amount,
681
+ # Cost, or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and
682
+ # the suggested Cost.
683
+ # - `amount` (Numeric): A monetary amount.
684
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
685
+ # status of this item line or expense line.
686
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by
687
+ # department, location, or work type). Class tracking is off by default in QuickBooks. A
688
+ # `class_ref` points to one class; if both `full_name` and `list_id` are provided,
689
+ # `full_name` is ignored. In InvoiceAdd, a header-level `class_ref` is applied to line
690
+ # items unless you override or clear it on individual lines.
691
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
692
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
693
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
694
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
695
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
696
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
697
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
698
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them
699
+ # to calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will
700
+ # use them to calculate the total Amount.
701
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
702
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
703
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
704
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
705
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
706
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
707
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
708
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
709
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
710
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
711
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
712
+ # - `desc` (String): A descriptive text field.
713
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
714
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
715
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
716
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
717
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
718
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
719
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
720
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
721
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
722
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
723
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
724
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
725
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
726
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
727
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
728
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
729
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
730
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
731
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
732
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are
733
+ # provided, `full_name` is ignored.
734
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
735
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
736
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
737
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
738
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
739
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
740
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
741
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
742
+ # `serial_number`, or `lot_number`.
743
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
744
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
745
+ # `full_name` will be ignored.
746
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
747
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
748
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
749
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
750
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
751
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
752
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
753
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit
754
+ # of measure used in that line, you use this aggregate to specify the UOM set within
755
+ # which you are choosing an available unit of measure. The “override” here refers to the
756
+ # unit within the set, not the UOM Set itself, which you can’t change or override–the
757
+ # UOM set that can be set or changed only in the item itself via an Item Mod request.
758
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
759
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
760
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
761
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
762
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
763
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
764
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
765
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
766
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
767
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
768
+ # Amount.
769
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or
770
+ # Other Names list within QuickBooks. Sales representative’s names and initials appear
771
+ # on the Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a
772
+ # person on the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes
773
+ # both `full_name` and `list_id`, `full_name` will be ignored.
774
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
775
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
776
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
777
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
778
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
779
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
780
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
781
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used
782
+ # for an item or customer context. QuickBooks includes default TAX and NON codes, and a
783
+ # code can be deleted only when nothing references it. If sales tax is disabled,
784
+ # QuickBooks assigns the default non-taxable code. If both `full_name` and `list_id` are
785
+ # provided in `sales_tax_code_ref`, `full_name` is ignored.
786
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
787
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
788
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
789
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
790
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
791
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
792
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
793
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
794
+ # `serial_number`, or `lot_number`.
795
+ # - `tax_amount` (Numeric)
796
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
797
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
798
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line
799
+ # in a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
800
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of
801
+ # measure selected from within the item’s available units. If the company file is
802
+ # enabled only for single unit of measure per item, this must be the base unit!
803
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
804
+ # measure used in that line, you use this aggregate to specify the UOM set within which
805
+ # you are choosing an available unit of measure. The “override” here refers to the unit
806
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
807
+ # that can be set or changed only in the item itself via an Item Mod request.
808
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
809
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
810
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
811
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
812
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
813
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
814
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
815
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
816
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
817
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
818
+ # Amount.
819
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
820
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
821
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
822
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
823
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
824
+ # selected from within the item’s available units. If the company file is enabled only for
825
+ # single unit of measure per item, this must be the base unit!
826
+ # - `item_line_mod` (Array<Hash>): An ItemLine is used to track any portion of a transaction
827
+ # that represents the purchase of an “item.” If ItemLineAdd doesn’t specify an Amount, Cost,
828
+ # or Quantity, then QuickBooks will calculate Amount based on a Quantity of 1 and the
829
+ # suggested Cost. `item_line_mod` and `item_group_line_mod` combine: any number of each.
830
+ # QuickBooks receives them in that order: every `item_line_mod`, then every
831
+ # `item_group_line_mod`.
832
+ # - `amount` (Numeric): A monetary amount.
833
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
834
+ # status of this item line or expense line.
835
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
836
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
837
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
838
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
839
+ # override or clear it on individual lines.
840
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
841
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
842
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
843
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
844
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
845
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
846
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
847
+ # - `cost` (Numeric): If both Quantity and Amount are specified, QuickBooks will use them to
848
+ # calculate Cost. Likewise, if both Quantity and Cost are specified, QuickBooks will use
849
+ # them to calculate the total Amount.
850
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
851
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
852
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who
853
+ # the time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
854
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
855
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
856
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
857
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
858
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
859
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
860
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
861
+ # - `desc` (String): A descriptive text field.
862
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
863
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
864
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
865
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
866
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
867
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
868
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
869
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
870
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
871
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
872
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
873
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
874
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
875
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
876
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
877
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
878
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
879
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
880
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
881
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
882
+ # `full_name` is ignored.
883
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
884
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
885
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
886
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
887
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
888
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
889
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
890
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
891
+ # `serial_number`, or `lot_number`.
892
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
893
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
894
+ # `full_name` will be ignored.
895
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
896
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
897
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
898
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
899
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
900
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
901
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
902
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
903
+ # measure used in that line, you use this aggregate to specify the UOM set within which
904
+ # you are choosing an available unit of measure. The “override” here refers to the unit
905
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
906
+ # that can be set or changed only in the item itself via an Item Mod request.
907
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
908
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
909
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
910
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
911
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
912
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
913
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
914
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
915
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
916
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
917
+ # Amount.
918
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
919
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the
920
+ # Rep drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on
921
+ # the SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both
922
+ # `full_name` and `list_id`, `full_name` will be ignored.
923
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
924
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
925
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
926
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
927
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
928
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
929
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
930
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
931
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
932
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
933
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
934
+ # `sales_tax_code_ref`, `full_name` is ignored.
935
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
936
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
937
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
938
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
939
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
940
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
941
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
942
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
943
+ # `serial_number`, or `lot_number`.
944
+ # - `tax_amount` (Numeric)
945
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
946
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
947
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
948
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
949
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
950
+ # selected from within the item’s available units. If the company file is enabled only for
951
+ # single unit of measure per item, this must be the base unit!
952
+ # - `memo` (String): Additional information.
953
+ # - `payee_entity_ref` (Hash): `payee_entity_ref` identifies the payee (customer, vendor,
954
+ # employee, or Other Name). If both `full_name` and `list_id` are provided, `full_name` is
955
+ # ignored.
956
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
957
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
958
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
959
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
960
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
961
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
962
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
963
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
964
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
965
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
966
+ # and numbering state.
967
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
968
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
969
+ # webhook already carries the request's `id`.
970
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
971
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
972
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
973
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
974
+ # `sales_tax_code_ref`, `full_name` is ignored.
975
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
976
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
977
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
978
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
979
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
980
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
981
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
982
+ # - `txn_date` (String): The date of the charge. In some cases, if you leave `txn_date` out of
983
+ # an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
984
+ # transaction of the same type.
985
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
986
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
987
+ # transaction-specific and should not be reused across unrelated transaction types.
988
+ #
989
+ # @param connection_id [String]
990
+ # @param params [Hash] the fields above
991
+ # @param webhook_url [String] where QuBe Sync sends the answer
992
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
993
+ # @return [Hash] the queued request
994
+ # @see https://docs.qubesync.com/api-reference/v2/credit-card-charges/update-credit-card-charge
995
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
996
+ queue("credit_card_charge.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
997
+ end
998
+ end
999
+ end
1000
+ end