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,1337 @@
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 sales receipt operations, reached as `client.sales_receipt`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class SalesReceipt < Base
9
+ # Create sales receipt: POST /connections/{connection_id}/sales-receipts
10
+ # (`sales_receipt.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `bill_address` (Hash): This aggregate supports at most five address lines. You can provide
16
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
17
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
18
+ # Addr line prints as its own line and is returned in `ship_address_block` or
19
+ # `bill_address_block`.
20
+ # - `addr1` (String): The first line of an address.
21
+ # - `addr2` (String): The second line of an address (if a second line is needed).
22
+ # - `addr3` (String): The third line of an address (if a third line is needed).
23
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
24
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
25
+ # - `city` (String): The city name in an address.
26
+ # - `country` (String): The country name in an address, or, in returned Host information
27
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
28
+ # (Possible values are US, CA, UK, and AU.)
29
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
30
+ # is written at the bottom of the address in the form in which it appears, such as the
31
+ # invoice form.
32
+ # - `postal_code` (String): The postal code in an address.
33
+ # - `state` (String): The state name in an address.
34
+ # - `check_number` (String): The check number of a check that a QuickBooks user writes or
35
+ # receives from someone else.
36
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
37
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
38
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
39
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
40
+ # override or clear it on individual lines.
41
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
42
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
43
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
44
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
45
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
46
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
47
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
48
+ # - `credit_card_txn_info` (Hash): Contains data from the credit card transaction used in the
49
+ # payment. This data originates from a previous qbmsXML credit card transaction. The data
50
+ # following the element `credit_card_txn_input_info`” data is the data from the original
51
+ # qbmsXML request. The “`credit_card_txn_result_info`” is the data from the original qbmsXML
52
+ # response.
53
+ # - `credit_card_txn_input_info` (Hash, required): This contains data originally supplied in
54
+ # the QBMS transaction request. This information block shouldn’t be used in CreditMemo
55
+ # requests for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard
56
+ # request.
57
+ # - `commercial_card_code` (String): This optional field is used only for Visa and Master
58
+ # Card commercial cards. There are three types of these cards: purchase, corporate, and
59
+ # business. Normally, special lower transaction fee rates apply when these cards are
60
+ # used and this field is filled out. If this field is left blank, then the usual (and
61
+ # higher) discount rate applies.
62
+ # - `credit_card_address` (String): The address associated with this credit card.
63
+ # - `credit_card_number` (String, required): Credit-card number for this customer or this
64
+ # payment. Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit
65
+ # card number with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
66
+ # - `credit_card_postal_code` (String): The postal code associated with the address for
67
+ # this credit card.
68
+ # - `credit_card_txn_type` (one of "Authorization", "Capture", "Charge", "Refund",
69
+ # "VoiceAuthorization"): Indicates the QBMS transaction from which the current
70
+ # transaction data originated, for example, Charge, Authorization, Capture, Refund,
71
+ # VoiceAuthorization, or Void.
72
+ # - `expiration_month` (Integer, required): The month when the credit card expires.
73
+ # - `expiration_year` (Integer, required): The year when the credit card expires.
74
+ # - `name_on_card` (String, required): The name on the customer’s credit card.
75
+ # - `transaction_mode` (one of "CardNotPresent", "CardPresent"): Indicates whether this
76
+ # transaction came from a card swipe (tmCardPresent) or not (tmCardNotPresent).
77
+ # - `credit_card_txn_result_info` (Hash, required): This contains data returned in the QBMS
78
+ # transaction response. This information block shouldn’t be used in CreditMemo requests
79
+ # for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard request.
80
+ # - `authorization_code` (String): The authorization code is returned from the credit card
81
+ # processor to indicate that the charge will be paid by the card issuer. In a voice
82
+ # authorization request (CustomerCreditCardVoiceAuthRq), the authorization code is
83
+ # supplied by the card issuer over the telephone.
84
+ # - `avs_street` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
85
+ # avssPass if the street address supplied in the transaction request matches the
86
+ # customer’s address on file at the card issuer. It contains the value avssFail if there
87
+ # isn’t a match, or avssNotAvailable if the card issuer doesn’t support AVS. Note: This
88
+ # field was required in qbXML 4.1, but is optional in qbXML 5.0 and later.
89
+ # - `avs_zip` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
90
+ # avszPass if the customer postal ZIP code supplied in the transaction request matches
91
+ # the customer’s postal code recognized at the card issuer. It contains the value
92
+ # avszFail if there isn’t a match, or avszNotAvailable if the card issuer doesn’t
93
+ # support AVS. Note: This field was required in qbXML 4.1, but is optional in qbXML 5.0
94
+ # and later.
95
+ # - `card_security_code_match` (one of "Fail", "NotAvailable", "Pass"): This field
96
+ # contains the value Pass if the card security code supplied in the transaction request
97
+ # matches the card security code recognized for that credit card number at the card
98
+ # issuer. It contains the value Fail if there isn’t a match.
99
+ # - `client_trans_id` (String): This value is returned from QBMS transactions for future
100
+ # use by the QuickBooks Reconciliation feature.
101
+ # - `credit_card_trans_id` (String, required): This transaction ID is returned from the
102
+ # credit card processor. You should save this value for any possible QBMS SDK
103
+ # transaction requests that need it, for example, CustomerCreditCardTxnVoidRq, or
104
+ # CustomerCreditCardCaptureRq.
105
+ # - `merchant_account_number` (String, required): This is the QBMS account number of the
106
+ # merchant who is running the transaction using the customer’s credit card. It is
107
+ # returned from the transaction request and should be stored for subsequent
108
+ # transactions, such as using it in the QB SDK SalesReceiptAdd, ReceivePaymentAdd,
109
+ # ARRefundCreditCard requests to save the transaction data in QuickBooks.
110
+ # - `payment_grouping_code` (Integer): Internal code needed for the QuickBooks
111
+ # reconciliation feature, if integrating with QuickBooks. This value is returned in the
112
+ # QBMS response to a QBMS transaction request, and must be subsequently supplied by your
113
+ # application in the QB SDK ReceivePaymentAdd or SalesReceiptAdd request.
114
+ # - `payment_status` (one of "Completed", "Unknown", required): Indicates payment
115
+ # processing status as known by QuickBooks/QBMS integration state. `psCompleted`
116
+ # indicates confirmed success; `psUnknown` indicates status could not be definitively
117
+ # confirmed.
118
+ # - `recon_batch_id` (String): This value is returned by QBMS from the transaction
119
+ # request, and is used internally by the QuickBooks/QBMS Recon (reconcile) feature. You
120
+ # should save this value without modification and include it in the QB SDK
121
+ # SalesReceiptAdd or ReceivePaymentAdd requests if you want to save the transaction data
122
+ # in QuickBooks.
123
+ # - `result_code` (Integer, required): This contains the status code returned in the
124
+ # original QBMS transaction response.
125
+ # - `result_message` (String, required): This contains the status message returned in the
126
+ # original QBMS transaction response.
127
+ # - `txn_authorization_stamp` (Integer): This value is used to support the credit card
128
+ # transaction Reconcile feature within QuickBooks.
129
+ # - `txn_authorization_time` (String, required): Timestamp indicating the time in which
130
+ # the card processor authorized the transaction.
131
+ # - `customer_msg_ref` (Hash): A standard message such as “Thank you for your business,” or
132
+ # “Please sign and return this estimate to indicate your approval.” A customer message can
133
+ # be included at the bottom of a form. A `customer_msg_ref` aggregate refers to one of the
134
+ # messages on the CustomerMsg list. In a request, if a `customer_msg_ref` aggregate includes
135
+ # both `full_name` and `list_id`, `full_name` will be ignored.
136
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
137
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
138
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
139
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
140
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
141
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
142
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
143
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
144
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
145
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
146
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
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 example
149
+ # 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 list
152
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
153
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
154
+ # - `customer_sales_tax_code_ref` (Hash): Refers to the sales-tax code for sales related to
155
+ # this customer. (That is, it refers to a member of the SalesTaxCode list.) The sales-tax
156
+ # code indicates whether an item is taxable or non-taxable, and why. In a request, if a
157
+ # `customer_sales_tax_code_ref` aggregate includes both `full_name` and `list_id`,
158
+ # `full_name` will be ignored.
159
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
160
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
161
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
162
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
163
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
164
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
165
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
166
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
167
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
168
+ # SDK 2.0+.
169
+ # - `deposit_to_account_ref` (Hash): Refers to the account where these funds will be (or have
170
+ # been) deposited. In a ReceivePaymentAdd request, the default is Undeposited Funds if this
171
+ # isn’t included in the request. In a request, if a `deposit_to_account_ref` aggregate
172
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
173
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
174
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
175
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
176
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
177
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
178
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
179
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
180
+ # - `discount_line_add` (Hash)
181
+ # - `account_ref` (Hash)
182
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
183
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
184
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
185
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
186
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
187
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
188
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
189
+ # - `amount` (Numeric): A monetary amount. Choose at most one of: `amount`, or
190
+ # `rate_percent`.
191
+ # - `is_taxable` (Boolean)
192
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at most
193
+ # one of: `amount`, or `rate_percent`.
194
+ # - `due_date` (String): A sales receipt doesn’t ordinarily include a due date, because sales
195
+ # receipts are generally used for point-of-sale payments, where full payment is received at
196
+ # the time of purchase.
197
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
198
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
199
+ # does not provide rates through the SDK. If your home currency is USD and internet access
200
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
201
+ # Activities > Download Latest Exchange Rates.
202
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
203
+ # - `fob` (String): QuickBooks uses the term FOB, “freight on board,” to indicate the place
204
+ # from which the product is shipped. The FOB has no accounting implications.
205
+ # - `include_ret_element` (Array<one of "BillAddress", "BillAddressBlock", "CheckNumber",
206
+ # "ClassRef", "CreditCardTxnInfo", "CurrencyRef", "CustomerMsgRef", "CustomerRef",
207
+ # "CustomerSalesTaxCodeRef", "DataExtRet", "DepositToAccountRef", "DiscountLineRet",
208
+ # "DueDate", "EditSequence", "ExchangeRate", "ExternalGUID", "FOB", "IsPending",
209
+ # "IsTaxIncluded", "IsToBeEmailed", "IsToBePrinted", "ItemSalesTaxRef", "ListID", "Memo",
210
+ # "Other", "OwnerID", "PaymentMethodRef", "RefNumber", "SalesReceiptLineGroupRet",
211
+ # "SalesReceiptLineRet", "SalesRepRef", "SalesTaxLineRet", "SalesTaxPercentage",
212
+ # "SalesTaxTotal", "ShipAddress", "ShipAddressBlock", "ShipDate", "ShipMethodRef",
213
+ # "ShippingLineRet", "Subtotal", "TemplateRef", "TimeCreated", "TimeModified",
214
+ # "TotalAmount", "TotalAmountInHomeCurrency", "TxnDate", "TxnID", "TxnNumber">)
215
+ # - `is_pending` (Boolean): If `is_pending` is set to true, the sales receipt hasn’t been
216
+ # completed. Pending sales might include unpaid orders, estimates, tracked hours that
217
+ # haven’t yet been billed, or sales of back-ordered items.
218
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
219
+ # - `is_to_be_emailed` (Boolean): When enabled, QuickBooks validates the customer email at
220
+ # runtime before sending. If no valid email is available, the request fails.
221
+ # - `is_to_be_printed` (Boolean): If `is_to_be_printed` is true, QuickBooks queues the form
222
+ # for later printing. It does not print immediately; printing is still a user action in
223
+ # QuickBooks.
224
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one tax
225
+ # agency. Use it when a transaction needs a single tax calculation. For multi-rate
226
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
227
+ # for `item_sales_tax_ref`, `list_id` is used.
228
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
229
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
230
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
231
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
232
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
233
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
234
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
235
+ # - `memo` (String): Message that appears in reports, but not on the sales receipt.
236
+ # - `other` (String): Other, Other1, and Other2 are built-in transaction custom fields. Other
237
+ # is transaction-level; Other1 and Other2 are line-level. These fields are always available
238
+ # through the SDK and do not require DataExtDef setup. Template labels in the UI can be
239
+ # renamed, but SDK names remain fixed as Other, Other1, and Other2.
240
+ # - `payment_method_ref` (Hash): `payment_method_ref` identifies how a payment is made (for
241
+ # example, cash, check, or card type). If both `full_name` and `list_id` are provided,
242
+ # `full_name` is ignored.
243
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
244
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
245
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
246
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
247
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
248
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
249
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
250
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
251
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
252
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
253
+ # and numbering state.
254
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
255
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
256
+ # webhook already carries the request's `id`.
257
+ # - `sales_receipt_line_add` (Array<Hash>): One line of the sales receipt. Compare with
258
+ # SalesReceiptLineGroup, which represents a previously defined group of lines in the sales
259
+ # receipt. At least one entry is required across `sales_receipt_line_add` and
260
+ # `sales_receipt_line_group_add`; they combine, any number of each. QuickBooks receives them
261
+ # in that order: every `sales_receipt_line_add`, then every `sales_receipt_line_group_add`.
262
+ # - `amount` (Numeric): A monetary amount.
263
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
264
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
265
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
266
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
267
+ # override or clear it on individual lines.
268
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
269
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
270
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
271
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
272
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
273
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
274
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
275
+ # - `credit_card_txn_info` (Hash): Contains data from the credit card transaction used in
276
+ # the payment. This data originates from a previous qbmsXML credit card transaction. The
277
+ # data following the element `credit_card_txn_input_info`” data is the data from the
278
+ # original qbmsXML request. The “`credit_card_txn_result_info`” is the data from the
279
+ # original qbmsXML response.
280
+ # - `credit_card_txn_input_info` (Hash, required): This contains data originally supplied
281
+ # in the QBMS transaction request. This information block shouldn’t be used in
282
+ # CreditMemo requests for QuickBooks 2007 and new versions. Instead, use the
283
+ # ARRefundCreditCard request.
284
+ # - `commercial_card_code` (String): This optional field is used only for Visa and
285
+ # Master Card commercial cards. There are three types of these cards: purchase,
286
+ # corporate, and business. Normally, special lower transaction fee rates apply when
287
+ # these cards are used and this field is filled out. If this field is left blank, then
288
+ # the usual (and higher) discount rate applies.
289
+ # - `credit_card_address` (String): The address associated with this credit card.
290
+ # - `credit_card_number` (String, required): Credit-card number for this customer or
291
+ # this payment. Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the
292
+ # credit card number with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
293
+ # - `credit_card_postal_code` (String): The postal code associated with the address for
294
+ # this credit card.
295
+ # - `credit_card_txn_type` (one of "Authorization", "Capture", "Charge", "Refund",
296
+ # "VoiceAuthorization"): Indicates the QBMS transaction from which the current
297
+ # transaction data originated, for example, Charge, Authorization, Capture, Refund,
298
+ # VoiceAuthorization, or Void.
299
+ # - `expiration_month` (Integer, required): The month when the credit card expires.
300
+ # - `expiration_year` (Integer, required): The year when the credit card expires.
301
+ # - `name_on_card` (String, required): The name on the customer’s credit card.
302
+ # - `transaction_mode` (one of "CardNotPresent", "CardPresent"): Indicates whether this
303
+ # transaction came from a card swipe (tmCardPresent) or not (tmCardNotPresent).
304
+ # - `credit_card_txn_result_info` (Hash, required): This contains data returned in the
305
+ # QBMS transaction response. This information block shouldn’t be used in CreditMemo
306
+ # requests for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard
307
+ # request.
308
+ # - `authorization_code` (String): The authorization code is returned from the credit
309
+ # card processor to indicate that the charge will be paid by the card issuer. In a
310
+ # voice authorization request (CustomerCreditCardVoiceAuthRq), the authorization code
311
+ # is supplied by the card issuer over the telephone.
312
+ # - `avs_street` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
313
+ # avssPass if the street address supplied in the transaction request matches the
314
+ # customer’s address on file at the card issuer. It contains the value avssFail if
315
+ # there isn’t a match, or avssNotAvailable if the card issuer doesn’t support AVS.
316
+ # Note: This field was required in qbXML 4.1, but is optional in qbXML 5.0 and later.
317
+ # - `avs_zip` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
318
+ # avszPass if the customer postal ZIP code supplied in the transaction request matches
319
+ # the customer’s postal code recognized at the card issuer. It contains the value
320
+ # avszFail if there isn’t a match, or avszNotAvailable if the card issuer doesn’t
321
+ # support AVS. Note: This field was required in qbXML 4.1, but is optional in qbXML
322
+ # 5.0 and later.
323
+ # - `card_security_code_match` (one of "Fail", "NotAvailable", "Pass"): This field
324
+ # contains the value Pass if the card security code supplied in the transaction
325
+ # request matches the card security code recognized for that credit card number at the
326
+ # card issuer. It contains the value Fail if there isn’t a match.
327
+ # - `client_trans_id` (String): This value is returned from QBMS transactions for future
328
+ # use by the QuickBooks Reconciliation feature.
329
+ # - `credit_card_trans_id` (String, required): This transaction ID is returned from the
330
+ # credit card processor. You should save this value for any possible QBMS SDK
331
+ # transaction requests that need it, for example, CustomerCreditCardTxnVoidRq, or
332
+ # CustomerCreditCardCaptureRq.
333
+ # - `merchant_account_number` (String, required): This is the QBMS account number of the
334
+ # merchant who is running the transaction using the customer’s credit card. It is
335
+ # returned from the transaction request and should be stored for subsequent
336
+ # transactions, such as using it in the QB SDK SalesReceiptAdd, ReceivePaymentAdd,
337
+ # ARRefundCreditCard requests to save the transaction data in QuickBooks.
338
+ # - `payment_grouping_code` (Integer): Internal code needed for the QuickBooks
339
+ # reconciliation feature, if integrating with QuickBooks. This value is returned in
340
+ # the QBMS response to a QBMS transaction request, and must be subsequently supplied
341
+ # by your application in the QB SDK ReceivePaymentAdd or SalesReceiptAdd request.
342
+ # - `payment_status` (one of "Completed", "Unknown", required): Indicates payment
343
+ # processing status as known by QuickBooks/QBMS integration state. `psCompleted`
344
+ # indicates confirmed success; `psUnknown` indicates status could not be definitively
345
+ # confirmed.
346
+ # - `recon_batch_id` (String): This value is returned by QBMS from the transaction
347
+ # request, and is used internally by the QuickBooks/QBMS Recon (reconcile) feature.
348
+ # You should save this value without modification and include it in the QB SDK
349
+ # SalesReceiptAdd or ReceivePaymentAdd requests if you want to save the transaction
350
+ # data in QuickBooks.
351
+ # - `result_code` (Integer, required): This contains the status code returned in the
352
+ # original QBMS transaction response.
353
+ # - `result_message` (String, required): This contains the status message returned in
354
+ # the original QBMS transaction response.
355
+ # - `txn_authorization_stamp` (Integer): This value is used to support the credit card
356
+ # transaction Reconcile feature within QuickBooks.
357
+ # - `txn_authorization_time` (String, required): Timestamp indicating the time in which
358
+ # the card processor authorized the transaction.
359
+ # - `data_ext` (Array<Hash>)
360
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
361
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
362
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
363
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
364
+ # `data_ext_name` must be a unique value among existing custom fields.
365
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
366
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
367
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
368
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
369
+ # `data_ext_value` is 1KB.
370
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
371
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
372
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
373
+ # share extensions across apps. If you do share them, both apps must use the same
374
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
375
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
376
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature
377
+ # requires SDK 2.0+.
378
+ # - `desc` (String): A descriptive text field.
379
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
380
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
381
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
382
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
383
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
384
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
385
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
386
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
387
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
388
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
389
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
390
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
391
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
392
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
393
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
394
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
395
+ # - `is_taxable` (Boolean)
396
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
397
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
398
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
399
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
400
+ # `full_name` is ignored.
401
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
402
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
403
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
404
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
405
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
406
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
407
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
408
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
409
+ # `serial_number`, or `lot_number`.
410
+ # - `option_for_price_rule_conflict` (one of "BasePrice", "Zero"): Flag to override price
411
+ # rule conflict.
412
+ # - `other1` (String): Other, Other1, and Other2 are built-in transaction custom fields.
413
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
414
+ # available through the SDK and do not require DataExtDef setup. Template labels in the UI
415
+ # can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
416
+ # - `other2` (String): Other, Other1, and Other2 are built-in transaction custom fields.
417
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
418
+ # available through the SDK and do not require DataExtDef setup. Template labels in the UI
419
+ # can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
420
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
421
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
422
+ # `full_name` will be ignored.
423
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
424
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
425
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
426
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
427
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
428
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
429
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
430
+ # - `price_level_ref` (Hash): Price levels let you apply custom pricing rules for selected
431
+ # customers. Once assigned, QuickBooks uses those prices automatically on supported sales
432
+ # forms unless explicitly overridden. Choose at most one of: `rate`, or `rate_percent`, or
433
+ # `price_level_ref`.
434
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
435
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
436
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
437
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
438
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
439
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
440
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
441
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
442
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
443
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
444
+ # Amount.
445
+ # - `rate` (Numeric): If you specify both Rate and Amount in a request, the Rate you provide
446
+ # will be ignored, and you will receive a warning. If you specify both Quantity and Amount
447
+ # in an Add request, QuickBooks will use them to calculate Rate. (Rate, Amount, and
448
+ # Quantity can’t be cleared.) Choose at most one of: `rate`, or `rate_percent`, or
449
+ # `price_level_ref`.
450
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at most
451
+ # one of: `rate`, or `rate_percent`, or `price_level_ref`.
452
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
453
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
454
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
455
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
456
+ # `sales_tax_code_ref`, `full_name` is ignored.
457
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
458
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
459
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
460
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
461
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
462
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
463
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
464
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
465
+ # `serial_number`, or `lot_number`.
466
+ # - `service_date` (String): Indicates the date on which the QuickBooks user performs the
467
+ # service for the customer.
468
+ # - `tax_amount` (Numeric)
469
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
470
+ # selected from within the item’s available units. If the company file is enabled only for
471
+ # single unit of measure per item, this must be the base unit!
472
+ # - `sales_receipt_line_group_add` (Array<Hash>): Represents a previously defined group of
473
+ # lines in the sales receipt. Compare with SalesReceiptLine, which represents just one line
474
+ # in the sales receipt. At least one entry is required across `sales_receipt_line_add` and
475
+ # `sales_receipt_line_group_add`; they combine, any number of each. QuickBooks receives them
476
+ # in that order: every `sales_receipt_line_add`, then every `sales_receipt_line_group_add`.
477
+ # - `data_ext` (Array<Hash>)
478
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a
479
+ # custom field, `data_ext_name` will be visible as a label in the QuickBooks user
480
+ # interface. Also because `owner_id` and `data_ext_name` together make the data
481
+ # extension unique, and because custom fields all have the same `owner_id` of zero, the
482
+ # `data_ext_name` must be a unique value among existing custom fields.
483
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
484
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For
485
+ # example, if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is
486
+ # 255 characters. If `data_ext_type` is STR1024TYPE, the maximum size of
487
+ # `data_ext_value` is 1KB.
488
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use
489
+ # 0 for QuickBooks custom fields that appear in the UI, or use a GUID for private
490
+ # extensions owned by an app. Keep private GUIDs confidential unless you intentionally
491
+ # share extensions across apps. If you do share them, both apps must use the same
492
+ # `owner_id` and `data_ext_name`, because that pair uniquely identifies the extension.
493
+ # - `desc` (String): A descriptive text field.
494
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
495
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
496
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
497
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
498
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
499
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
500
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
501
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
502
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
503
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
504
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
505
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
506
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
507
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
508
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
509
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
510
+ # - `item_group_ref` (Hash, required): ItemGroup objects represent items that are grouped
511
+ # together for fast entry, and an `item_group_ref` aggregate refers to one of these item
512
+ # groups. In a request, if an `item_group_ref` aggregate includes both `full_name` and
513
+ # `list_id`, `full_name` will be ignored. You can use an ItemGroupQuery request to get
514
+ # information about all the item groups that are set up in the QuickBooks file.
515
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
516
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
517
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
518
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
519
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
520
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
521
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
522
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
523
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
524
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
525
+ # Amount.
526
+ # - `service_date` (String): Indicates the date on which the QuickBooks user performs the
527
+ # service for the customer.
528
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
529
+ # selected from within the item’s available units. If the company file is enabled only for
530
+ # single unit of measure per item, this must be the base unit!
531
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
532
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the Rep
533
+ # drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on the
534
+ # SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both `full_name` and
535
+ # `list_id`, `full_name` will be ignored.
536
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
537
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
538
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
539
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
540
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
541
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
542
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
543
+ # - `sales_tax_line_add` (Hash)
544
+ # - `account_ref` (Hash)
545
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
546
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
547
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
548
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
549
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
550
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
551
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
552
+ # - `amount` (Numeric): A monetary amount. Choose at most one of: `amount`, or
553
+ # `rate_percent`.
554
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at most
555
+ # one of: `amount`, or `rate_percent`.
556
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
557
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
558
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
559
+ # Addr line prints as its own line and is returned in `ship_address_block` or
560
+ # `bill_address_block`.
561
+ # - `addr1` (String): The first line of an address.
562
+ # - `addr2` (String): The second line of an address (if a second line is needed).
563
+ # - `addr3` (String): The third line of an address (if a third line is needed).
564
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
565
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
566
+ # - `city` (String): The city name in an address.
567
+ # - `country` (String): The country name in an address, or, in returned Host information
568
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
569
+ # (Possible values are US, CA, UK, and AU.)
570
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
571
+ # is written at the bottom of the address in the form in which it appears, such as the
572
+ # invoice form.
573
+ # - `postal_code` (String): The postal code in an address.
574
+ # - `state` (String): The state name in an address.
575
+ # - `ship_date` (String): The date when the product was, or will be, shipped.
576
+ # - `ship_method_ref` (Hash): A shipping method, for example, standard mail or overnight
577
+ # delivery. A `ship_method_ref` aggregate refers to an item on the ShipMethod list. In a
578
+ # request, if a `ship_method_ref` aggregate includes both `full_name` and `list_id`,
579
+ # `full_name` will be ignored.
580
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
581
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
582
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
583
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
584
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
585
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
586
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
587
+ # - `shipping_line_add` (Hash)
588
+ # - `account_ref` (Hash)
589
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
590
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
591
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
592
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
593
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
594
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
595
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
596
+ # - `amount` (Numeric, required): A monetary amount.
597
+ # - `template_ref` (Hash): QuickBooks templates specify how to print certain transactions. A
598
+ # template query returns the names of all templates that have been defined in QuickBooks. A
599
+ # `template_ref` element refers to one of these templates.
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 example
602
+ # 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 list
605
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
606
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
607
+ # - `txn_date` (String): The date of the sales receipt. In some cases, if you leave `txn_date`
608
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
609
+ # transaction of the same type.
610
+ #
611
+ # @param connection_id [String]
612
+ # @param params [Hash] the fields above
613
+ # @param webhook_url [String] where QuBe Sync sends the answer
614
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
615
+ # @return [Hash] the queued request
616
+ # @see https://docs.qubesync.com/api-reference/v2/sales-receipts/create-sales-receipt
617
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
618
+ queue("sales_receipt.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
619
+ end
620
+
621
+ # List sales receipts: GET /connections/{connection_id}/sales-receipts
622
+ # (`sales_receipt.query`).
623
+ #
624
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
625
+ # `iteration_state` `done`.
626
+ #
627
+ # Params, sent as the query string:
628
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
629
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
630
+ # account number (instead of an account name) for `full_name` and get the account you’re
631
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
632
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
633
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
634
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
635
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
636
+ # choices.
637
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
638
+ # `full_name_with_children`.
639
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
640
+ # list 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
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
643
+ # specified object and its descendants. For names that don’t have children,
644
+ # `full_name_with_children` is exactly the same as `full_name`.
645
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
646
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
647
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
648
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
649
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
650
+ # specified object and its descendants.
651
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
652
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
653
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
654
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
655
+ # combine with each other, not with the other choices.
656
+ # Give at most one of: `list_id`, or `full_name`.
657
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
658
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
659
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
660
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
661
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
662
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
663
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
664
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
665
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
666
+ # information about all the entities that are set up in the QuickBooks file. In an
667
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
668
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
669
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
670
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
671
+ # combine with each other, not with the other choices.
672
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
673
+ # `full_name_with_children`.
674
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
675
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
676
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
677
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
678
+ # specified object and its descendants. For names that don’t have children,
679
+ # `full_name_with_children` is exactly the same as `full_name`.
680
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
681
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
682
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
683
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
684
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
685
+ # specified object and its descendants.
686
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
687
+ # response to get a smaller result. The default value is false, so line items are omitted by
688
+ # default. Set `include_line_items` to true to include line items in the response if you
689
+ # don’t mind getting a larger result.
690
+ # - `include_ret_element` (Array<one of "BillAddress", "BillAddressBlock", "CheckNumber",
691
+ # "ClassRef", "CreditCardTxnInfo", "CurrencyRef", "CustomerMsgRef", "CustomerRef",
692
+ # "CustomerSalesTaxCodeRef", "DataExtRet", "DepositToAccountRef", "DiscountLineRet",
693
+ # "DueDate", "EditSequence", "ExchangeRate", "ExternalGUID", "FOB", "IsPending",
694
+ # "IsTaxIncluded", "IsToBeEmailed", "IsToBePrinted", "ItemSalesTaxRef", "Memo", "Other",
695
+ # "PaymentMethodRef", "RefNumber", "SalesReceiptLineGroupRet", "SalesReceiptLineRet",
696
+ # "SalesRepRef", "SalesTaxLineRet", "SalesTaxPercentage", "SalesTaxTotal", "ShipAddress",
697
+ # "ShipAddressBlock", "ShipDate", "ShipMethodRef", "ShippingLineRet", "Subtotal",
698
+ # "TemplateRef", "TimeCreated", "TimeModified", "TotalAmount", "TotalAmountInHomeCurrency",
699
+ # "TxnDate", "TxnID", "TxnNumber">)
700
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
701
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
702
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
703
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
704
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
705
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
706
+ # match comes back in one answer, so leave `iterator` out.
707
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
708
+ # count of how many objects could possibly be returned, use the `meta_data` query
709
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
710
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
711
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
712
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
713
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
714
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
715
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
716
+ # other, not with the other choices.
717
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
718
+ # `meta_data` attribute to control whether query responses include counts. Options are
719
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
720
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
721
+ # during processing.
722
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
723
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
724
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
725
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
726
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
727
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
728
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
729
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
730
+ # other, not with the other choices.
731
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
732
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
733
+ # date is provided, time defaults to 00:00:00.
734
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
735
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
736
+ # date is provided, time defaults to end-of-day (23:59:59).
737
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
738
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
739
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
740
+ # across apps. If you do share them, both apps must use the same `owner_id` and
741
+ # `data_ext_name`, because that pair uniquely identifies the extension.
742
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
743
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
744
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
745
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
746
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
747
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
748
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
749
+ # other, not with the other choices.
750
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
751
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
752
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
753
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
754
+ # combine with each other, not with the other choices.
755
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
756
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
757
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
758
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
759
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
760
+ # combine with each other, not with the other choices.
761
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
762
+ # to match.
763
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
764
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
765
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
766
+ # QuickBooks preferences and numbering state.
767
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
768
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
769
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
770
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
771
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
772
+ # combine with each other, not with the other choices.
773
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
774
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
775
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
776
+ # is omitted, the range will end with last number on the list.
777
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
778
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
779
+ # webhook already carries the request's `id`.
780
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
781
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
782
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
783
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
784
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
785
+ # choices.
786
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
787
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
788
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
789
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
790
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
791
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
792
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
793
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
794
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
795
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
796
+ # last-modified date). Do not combine `date_macro` with
797
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
798
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
799
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
800
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
801
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
802
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
803
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
804
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
805
+ # Use it to reference that transaction in later requests. `txn_id` values are
806
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
807
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
808
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
809
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
810
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
811
+ # choices.
812
+ #
813
+ # @param connection_id [String]
814
+ # @param params [Hash] the fields above
815
+ # @param webhook_url [String] where QuBe Sync sends the answer
816
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
817
+ # @return [Hash] the queued request
818
+ # @see https://docs.qubesync.com/api-reference/v2/sales-receipts/list-sales-receipts
819
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
820
+ queue("sales_receipt.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
821
+ end
822
+
823
+ # Update sales receipt: PUT /connections/{connection_id}/sales-receipts
824
+ # (`sales_receipt.update`).
825
+ #
826
+ # QuickBooks answers in one webhook.
827
+ #
828
+ # Params, sent as the JSON body:
829
+ # - `bill_address` (Hash): This aggregate supports at most five address lines. You can provide
830
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
831
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
832
+ # Addr line prints as its own line and is returned in `ship_address_block` or
833
+ # `bill_address_block`.
834
+ # - `addr1` (String): The first line of an address.
835
+ # - `addr2` (String): The second line of an address (if a second line is needed).
836
+ # - `addr3` (String): The third line of an address (if a third line is needed).
837
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
838
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
839
+ # - `city` (String): The city name in an address.
840
+ # - `country` (String): The country name in an address, or, in returned Host information
841
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
842
+ # (Possible values are US, CA, UK, and AU.)
843
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
844
+ # is written at the bottom of the address in the form in which it appears, such as the
845
+ # invoice form.
846
+ # - `postal_code` (String): The postal code in an address.
847
+ # - `state` (String): The state name in an address.
848
+ # - `check_number` (String): The check number of a check that a QuickBooks user writes or
849
+ # receives from someone else.
850
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
851
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
852
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
853
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
854
+ # override or clear it on individual lines.
855
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
856
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
857
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
858
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
859
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
860
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
861
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
862
+ # - `customer_msg_ref` (Hash): A standard message such as “Thank you for your business,” or
863
+ # “Please sign and return this estimate to indicate your approval.” A customer message can
864
+ # be included at the bottom of a form. A `customer_msg_ref` aggregate refers to one of the
865
+ # messages on the CustomerMsg list. In a request, if a `customer_msg_ref` aggregate includes
866
+ # both `full_name` and `list_id`, `full_name` will be ignored.
867
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
868
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
869
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
870
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
871
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
872
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
873
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
874
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
875
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
876
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
877
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
878
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
879
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
880
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
881
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
882
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
883
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
884
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
885
+ # - `customer_sales_tax_code_ref` (Hash): Refers to the sales-tax code for sales related to
886
+ # this customer. (That is, it refers to a member of the SalesTaxCode list.) The sales-tax
887
+ # code indicates whether an item is taxable or non-taxable, and why. In a request, if a
888
+ # `customer_sales_tax_code_ref` aggregate includes both `full_name` and `list_id`,
889
+ # `full_name` will be ignored.
890
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
891
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
892
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
893
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
894
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
895
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
896
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
897
+ # - `deposit_to_account_ref` (Hash): Refers to the account where these funds will be (or have
898
+ # been) deposited. In a ReceivePaymentAdd request, the default is Undeposited Funds if this
899
+ # isn’t included in the request. In a request, if a `deposit_to_account_ref` aggregate
900
+ # includes both `full_name` and `list_id`, `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 example
903
+ # 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 list
906
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
907
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
908
+ # - `due_date` (String): A sales receipt doesn’t ordinarily include a due date, because sales
909
+ # receipts are generally used for point-of-sale payments, where full payment is received at
910
+ # the time of purchase.
911
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
912
+ # It changes each time the object is updated. To modify an existing object, you must send
913
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
914
+ # overwriting newer changes.
915
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
916
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
917
+ # does not provide rates through the SDK. If your home currency is USD and internet access
918
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
919
+ # Activities > Download Latest Exchange Rates.
920
+ # - `fob` (String): QuickBooks uses the term FOB, “freight on board,” to indicate the place
921
+ # from which the product is shipped. The FOB has no accounting implications.
922
+ # - `include_ret_element` (Array<one of "BillAddress", "BillAddressBlock", "CheckNumber",
923
+ # "ClassRef", "CreditCardTxnInfo", "CurrencyRef", "CustomerMsgRef", "CustomerRef",
924
+ # "CustomerSalesTaxCodeRef", "DataExtRet", "DepositToAccountRef", "DiscountLineRet",
925
+ # "DueDate", "EditSequence", "ExchangeRate", "ExternalGUID", "FOB", "IsPending",
926
+ # "IsTaxIncluded", "IsToBeEmailed", "IsToBePrinted", "ItemSalesTaxRef", "ListID", "Memo",
927
+ # "Other", "OwnerID", "PaymentMethodRef", "RefNumber", "SalesReceiptLineGroupRet",
928
+ # "SalesReceiptLineRet", "SalesRepRef", "SalesTaxLineRet", "SalesTaxPercentage",
929
+ # "SalesTaxTotal", "ShipAddress", "ShipAddressBlock", "ShipDate", "ShipMethodRef",
930
+ # "ShippingLineRet", "Subtotal", "TemplateRef", "TimeCreated", "TimeModified",
931
+ # "TotalAmount", "TotalAmountInHomeCurrency", "TxnDate", "TxnID", "TxnNumber">)
932
+ # - `is_pending` (Boolean): If `is_pending` is set to true, the sales receipt hasn’t been
933
+ # completed. Pending sales might include unpaid orders, estimates, tracked hours that
934
+ # haven’t yet been billed, or sales of back-ordered items.
935
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
936
+ # - `is_to_be_emailed` (Boolean): When enabled, QuickBooks validates the customer email at
937
+ # runtime before sending. If no valid email is available, the request fails.
938
+ # - `is_to_be_printed` (Boolean): If `is_to_be_printed` is true, QuickBooks queues the form
939
+ # for later printing. It does not print immediately; printing is still a user action in
940
+ # QuickBooks.
941
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one tax
942
+ # agency. Use it when a transaction needs a single tax calculation. For multi-rate
943
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
944
+ # for `item_sales_tax_ref`, `list_id` is used.
945
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
946
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
947
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
948
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
949
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
950
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
951
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
952
+ # - `memo` (String): Message that appears in reports, but not on the sales receipt.
953
+ # - `other` (String): Other, Other1, and Other2 are built-in transaction custom fields. Other
954
+ # is transaction-level; Other1 and Other2 are line-level. These fields are always available
955
+ # through the SDK and do not require DataExtDef setup. Template labels in the UI can be
956
+ # renamed, but SDK names remain fixed as Other, Other1, and Other2.
957
+ # - `payment_method_ref` (Hash): `payment_method_ref` identifies how a payment is made (for
958
+ # example, cash, check, or card type). If both `full_name` and `list_id` are provided,
959
+ # `full_name` is ignored.
960
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
961
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
962
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
963
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
964
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
965
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
966
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
967
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
968
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
969
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
970
+ # and numbering state.
971
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
972
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
973
+ # webhook already carries the request's `id`.
974
+ # - `sales_receipt_line_group_mod` (Array<Hash>): Represents a previously defined group of
975
+ # lines in the sales receipt. Compare with SalesReceiptLine, which represents just one line
976
+ # in the sales receipt. `sales_receipt_line_mod` and `sales_receipt_line_group_mod` combine:
977
+ # any number of each. QuickBooks receives them in that order: every
978
+ # `sales_receipt_line_mod`, then every `sales_receipt_line_group_mod`.
979
+ # - `item_group_ref` (Hash): ItemGroup objects represent items that are grouped together for
980
+ # fast entry, and an `item_group_ref` aggregate refers to one of these item groups. In a
981
+ # request, if an `item_group_ref` aggregate includes both `full_name` and `list_id`,
982
+ # `full_name` will be ignored. You can use an ItemGroupQuery request to get information
983
+ # about all the item groups that are set up in the QuickBooks file.
984
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
985
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
986
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
987
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
988
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
989
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
990
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
991
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
992
+ # measure used in that line, you use this aggregate to specify the UOM set within which
993
+ # you are choosing an available unit of measure. The “override” here refers to the unit
994
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
995
+ # that can be set or changed only in the item itself via an Item Mod request.
996
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
997
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
998
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
999
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1000
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1001
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1002
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1003
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
1004
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
1005
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
1006
+ # Amount.
1007
+ # - `sales_receipt_line_mod` (Array<Hash>): One line of the sales receipt. Compare with
1008
+ # SalesReceiptLineGroup, which represents a previously defined group of lines in the sales
1009
+ # receipt.
1010
+ # - `amount` (Numeric): A monetary amount.
1011
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by
1012
+ # department, location, or work type). Class tracking is off by default in QuickBooks. A
1013
+ # `class_ref` points to one class; if both `full_name` and `list_id` are provided,
1014
+ # `full_name` is ignored. In InvoiceAdd, a header-level `class_ref` is applied to line
1015
+ # items unless you override or clear it on individual lines.
1016
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1017
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1018
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1019
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1020
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1021
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1022
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1023
+ # - `desc` (String): A descriptive text field.
1024
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
1025
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1026
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1027
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1028
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1029
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1030
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1031
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1032
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
1033
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1034
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1035
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1036
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1037
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1038
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1039
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1040
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
1041
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
1042
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
1043
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are
1044
+ # provided, `full_name` is ignored.
1045
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1046
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1047
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1048
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1049
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1050
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1051
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1052
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
1053
+ # `serial_number`, or `lot_number`.
1054
+ # - `option_for_price_rule_conflict` (one of "BasePrice", "Zero"): Flag to override price
1055
+ # rule conflict.
1056
+ # - `other1` (String): Other, Other1, and Other2 are built-in transaction custom fields.
1057
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
1058
+ # available through the SDK and do not require DataExtDef setup. Template labels in the
1059
+ # UI can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
1060
+ # - `other2` (String): Other, Other1, and Other2 are built-in transaction custom fields.
1061
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
1062
+ # available through the SDK and do not require DataExtDef setup. Template labels in the
1063
+ # UI can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
1064
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
1065
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
1066
+ # `full_name` will be ignored.
1067
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1068
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1069
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1070
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1071
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1072
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1073
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1074
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit
1075
+ # of measure used in that line, you use this aggregate to specify the UOM set within
1076
+ # which you are choosing an available unit of measure. The “override” here refers to the
1077
+ # unit within the set, not the UOM Set itself, which you can’t change or override–the
1078
+ # UOM set that can be set or changed only in the item itself via an Item Mod request.
1079
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1080
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1081
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1082
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1083
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1084
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1085
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1086
+ # - `price_level_ref` (Hash): Price levels let you apply custom pricing rules for selected
1087
+ # customers. Once assigned, QuickBooks uses those prices automatically on supported
1088
+ # sales forms unless explicitly overridden. Choose at most one of: `rate`, or
1089
+ # `rate_percent`, or `price_level_ref`.
1090
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1091
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1092
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1093
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1094
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1095
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1096
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1097
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
1098
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
1099
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
1100
+ # Amount.
1101
+ # - `rate` (Numeric): If you specify both Rate and Amount in a request, the Rate you
1102
+ # provide will be ignored, and you will receive a warning. If you specify both Quantity
1103
+ # and Amount in an Add request, QuickBooks will use them to calculate Rate. (Rate,
1104
+ # Amount, and Quantity can’t be cleared.) Choose at most one of: `rate`, or
1105
+ # `rate_percent`, or `price_level_ref`.
1106
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at
1107
+ # most one of: `rate`, or `rate_percent`, or `price_level_ref`.
1108
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used
1109
+ # for an item or customer context. QuickBooks includes default TAX and NON codes, and a
1110
+ # code can be deleted only when nothing references it. If sales tax is disabled,
1111
+ # QuickBooks assigns the default non-taxable code. If both `full_name` and `list_id` are
1112
+ # provided in `sales_tax_code_ref`, `full_name` is ignored.
1113
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1114
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1115
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1116
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
1117
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
1118
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
1119
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1120
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
1121
+ # `serial_number`, or `lot_number`.
1122
+ # - `service_date` (String): Indicates the date on which the QuickBooks user performs the
1123
+ # service for the customer.
1124
+ # - `tax_amount` (Numeric)
1125
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
1126
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
1127
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line
1128
+ # in a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
1129
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of
1130
+ # measure selected from within the item’s available units. If the company file is
1131
+ # enabled only for single unit of measure per item, this must be the base unit!
1132
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
1133
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
1134
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
1135
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
1136
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
1137
+ # selected from within the item’s available units. If the company file is enabled only for
1138
+ # single unit of measure per item, this must be the base unit!
1139
+ # - `sales_receipt_line_mod` (Array<Hash>): One line of the sales receipt. Compare with
1140
+ # SalesReceiptLineGroup, which represents a previously defined group of lines in the sales
1141
+ # receipt. `sales_receipt_line_mod` and `sales_receipt_line_group_mod` combine: any number
1142
+ # of each. QuickBooks receives them in that order: every `sales_receipt_line_mod`, then
1143
+ # every `sales_receipt_line_group_mod`.
1144
+ # - `amount` (Numeric): A monetary amount.
1145
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
1146
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
1147
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
1148
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
1149
+ # override or clear it on individual lines.
1150
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1151
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1152
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1153
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1154
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1155
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1156
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1157
+ # - `desc` (String): A descriptive text field.
1158
+ # - `inventory_site_location_ref` (Hash): Location within the Inventory Site.
1159
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1160
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1161
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1162
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1163
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1164
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1165
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1166
+ # - `inventory_site_ref` (Hash): Site where inventory is located.
1167
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1168
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1169
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1170
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1171
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1172
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1173
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1174
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
1175
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
1176
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
1177
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
1178
+ # `full_name` is ignored.
1179
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1180
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1181
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1182
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1183
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1184
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1185
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1186
+ # - `lot_number` (String): The lot number of the asset. Choose at most one of:
1187
+ # `serial_number`, or `lot_number`.
1188
+ # - `option_for_price_rule_conflict` (one of "BasePrice", "Zero"): Flag to override price
1189
+ # rule conflict.
1190
+ # - `other1` (String): Other, Other1, and Other2 are built-in transaction custom fields.
1191
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
1192
+ # available through the SDK and do not require DataExtDef setup. Template labels in the UI
1193
+ # can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
1194
+ # - `other2` (String): Other, Other1, and Other2 are built-in transaction custom fields.
1195
+ # Other is transaction-level; Other1 and Other2 are line-level. These fields are always
1196
+ # available through the SDK and do not require DataExtDef setup. Template labels in the UI
1197
+ # can be renamed, but SDK names remain fixed as Other, Other1, and Other2.
1198
+ # - `override_item_account_ref` (Hash): Refers to a QuickBooks account. If an
1199
+ # `override_item_account_ref` aggregate includes both `full_name` and `list_id`,
1200
+ # `full_name` will be ignored.
1201
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1202
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1203
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1204
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1205
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1206
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1207
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1208
+ # - `override_uom_set_ref` (Hash): When you modify a transaction line to change the unit of
1209
+ # measure used in that line, you use this aggregate to specify the UOM set within which
1210
+ # you are choosing an available unit of measure. The “override” here refers to the unit
1211
+ # within the set, not the UOM Set itself, which you can’t change or override–the UOM set
1212
+ # that can be set or changed only in the item itself via an Item Mod request.
1213
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1214
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1215
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1216
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1217
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1218
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1219
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1220
+ # - `price_level_ref` (Hash): Price levels let you apply custom pricing rules for selected
1221
+ # customers. Once assigned, QuickBooks uses those prices automatically on supported sales
1222
+ # forms unless explicitly overridden. Choose at most one of: `rate`, or `rate_percent`, or
1223
+ # `price_level_ref`.
1224
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1225
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1226
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1227
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1228
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1229
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1230
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1231
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
1232
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
1233
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
1234
+ # Amount.
1235
+ # - `rate` (Numeric): If you specify both Rate and Amount in a request, the Rate you provide
1236
+ # will be ignored, and you will receive a warning. If you specify both Quantity and Amount
1237
+ # in an Add request, QuickBooks will use them to calculate Rate. (Rate, Amount, and
1238
+ # Quantity can’t be cleared.) Choose at most one of: `rate`, or `rate_percent`, or
1239
+ # `price_level_ref`.
1240
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at most
1241
+ # one of: `rate`, or `rate_percent`, or `price_level_ref`.
1242
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for
1243
+ # an item or customer context. QuickBooks includes default TAX and NON codes, and a code
1244
+ # can be deleted only when nothing references it. If sales tax is disabled, QuickBooks
1245
+ # assigns the default non-taxable code. If both `full_name` and `list_id` are provided in
1246
+ # `sales_tax_code_ref`, `full_name` is ignored.
1247
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1248
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
1249
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1250
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1251
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
1252
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
1253
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
1254
+ # - `serial_number` (String): The serial number of the asset. Choose at most one of:
1255
+ # `serial_number`, or `lot_number`.
1256
+ # - `service_date` (String): Indicates the date on which the QuickBooks user performs the
1257
+ # service for the customer.
1258
+ # - `tax_amount` (Numeric)
1259
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
1260
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
1261
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
1262
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
1263
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
1264
+ # selected from within the item’s available units. If the company file is enabled only for
1265
+ # single unit of measure per item, this must be the base unit!
1266
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
1267
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the Rep
1268
+ # drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on the
1269
+ # SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both `full_name` and
1270
+ # `list_id`, `full_name` will be ignored.
1271
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1272
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1273
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1274
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1275
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1276
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1277
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1278
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
1279
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
1280
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
1281
+ # Addr line prints as its own line and is returned in `ship_address_block` or
1282
+ # `bill_address_block`.
1283
+ # - `addr1` (String): The first line of an address.
1284
+ # - `addr2` (String): The second line of an address (if a second line is needed).
1285
+ # - `addr3` (String): The third line of an address (if a third line is needed).
1286
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
1287
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
1288
+ # - `city` (String): The city name in an address.
1289
+ # - `country` (String): The country name in an address, or, in returned Host information
1290
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
1291
+ # (Possible values are US, CA, UK, and AU.)
1292
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
1293
+ # is written at the bottom of the address in the form in which it appears, such as the
1294
+ # invoice form.
1295
+ # - `postal_code` (String): The postal code in an address.
1296
+ # - `state` (String): The state name in an address.
1297
+ # - `ship_date` (String): The date when the product was, or will be, shipped.
1298
+ # - `ship_method_ref` (Hash): A shipping method, for example, standard mail or overnight
1299
+ # delivery. A `ship_method_ref` aggregate refers to an item on the ShipMethod list. In a
1300
+ # request, if a `ship_method_ref` aggregate includes both `full_name` and `list_id`,
1301
+ # `full_name` will be ignored.
1302
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1303
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1304
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1305
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1306
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1307
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1308
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1309
+ # - `template_ref` (Hash): QuickBooks templates specify how to print certain transactions. A
1310
+ # template query returns the names of all templates that have been defined in QuickBooks. A
1311
+ # `template_ref` element refers to one of these templates.
1312
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
1313
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
1314
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
1315
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
1316
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
1317
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
1318
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
1319
+ # - `txn_date` (String): The date of the sales receipt. In some cases, if you leave `txn_date`
1320
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
1321
+ # transaction of the same type.
1322
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
1323
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
1324
+ # transaction-specific and should not be reused across unrelated transaction types.
1325
+ #
1326
+ # @param connection_id [String]
1327
+ # @param params [Hash] the fields above
1328
+ # @param webhook_url [String] where QuBe Sync sends the answer
1329
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
1330
+ # @return [Hash] the queued request
1331
+ # @see https://docs.qubesync.com/api-reference/v2/sales-receipts/update-sales-receipt
1332
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
1333
+ queue("sales_receipt.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
1334
+ end
1335
+ end
1336
+ end
1337
+ end