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