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