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,455 @@
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 item service operations, reached as `client.item_service`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemService < Base
9
+ # Create item service: POST /connections/{connection_id}/item-services
10
+ # (`item_service.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # Give at most one of: `sales_or_purchase`, or `sales_and_purchase`.
16
+ # - `bar_code` (Hash): Barcode reference information.
17
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
18
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
19
+ # in use.
20
+ # - `bar_code_value` (String): Value of the barcode in the item.
21
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
22
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
23
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
24
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
25
+ # override or clear it on individual lines.
26
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
27
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
28
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
29
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
30
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
31
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
32
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
33
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
34
+ # - `include_ret_element` (Array<one of "BarCodeValue", "ClassRef", "DataExtRet",
35
+ # "EditSequence", "ExternalGUID", "FullName", "IsActive", "IsTaxIncluded", "ListID", "Name",
36
+ # "OwnerID", "ParentRef", "SalesAndPurchase", "SalesOrPurchase", "SalesTaxCodeRef",
37
+ # "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "UnitOfMeasureSetRef">)
38
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
39
+ # QuickBooks. The default value is true.
40
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
41
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
42
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
43
+ # reuse the same Name in different branches because `full_name` remains distinct.
44
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
45
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
46
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
47
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
48
+ # ignored.
49
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
50
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
51
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
52
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
53
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
54
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
55
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
56
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
57
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
58
+ # webhook already carries the request's `id`.
59
+ # - `sales_and_purchase` (Hash): A `sales_and_purchase` aggregate is used for items that are
60
+ # meant to be both purchased and sold, such as an “other charge” item that is reimbursable.
61
+ # - `expense_account_ref` (Hash): Refers to an expense account. If an `expense_account_ref`
62
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
63
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
64
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
65
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
66
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
67
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
68
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
69
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
70
+ # - `income_account_ref` (Hash): Refers to an income account. If an `income_account_ref`
71
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
72
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
73
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
74
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
75
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
76
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
77
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
78
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
79
+ # - `pref_vendor_ref` (Hash): The preferred vendor for this item. If a `pref_vendor_ref`
80
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
81
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
82
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
83
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
84
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
85
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
86
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
87
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
88
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering
89
+ # or buying this item, or the amount that was actually paid for this item.
90
+ # - `purchase_desc` (String): Description that appears in the Description column of checks,
91
+ # bills, credit card charges, and item receipts (when an item is reordered). For a fixed
92
+ # asset, a description of the item as it was when it was purchased.
93
+ # - `purchase_tax_code_ref` (Hash): Account used for taxes on purchases in CA or UK.
94
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
95
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
96
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
97
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
98
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
99
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
100
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
101
+ # - `sales_desc` (String): Appears in the Description column of a sales form when the
102
+ # QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for
103
+ # accounting purposes).
104
+ # - `sales_price` (Numeric): Price charged for this item.
105
+ # - `sales_or_purchase` (Hash): A `sales_or_purchase` aggregate is used for items that are
106
+ # meant to be either purchased or sold, but not both. For example, a `sales_or_purchase`
107
+ # aggregate would be used for a non-inventory item that is purchased but not sold, or for a
108
+ # service item that is sold but not purchased.
109
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
110
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
111
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
112
+ # accounting preferences; for credit-card transactions it identifies the bank or card
113
+ # account involved.
114
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
115
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
116
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
117
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
118
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
119
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
120
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
121
+ # - `desc` (String): A descriptive text field.
122
+ # - `price` (Numeric): The purchase price or sales price of this item. Choose at most one
123
+ # of: `price`, or `price_percent`.
124
+ # - `price_percent` (Numeric): The price expressed as a percent. (For example, an auto shop
125
+ # that calculates the cost of labor as a percentage of the cost of parts might have a
126
+ # service item called “Labor” that uses `price_percent` instead of Price.) Choose at most
127
+ # one of: `price`, or `price_percent`.
128
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
129
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
130
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
131
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
132
+ # `sales_tax_code_ref`, `full_name` is ignored.
133
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
134
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
135
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
136
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
137
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
138
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
139
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
140
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
141
+ # related units.
142
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
143
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
144
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
145
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
146
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
147
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
148
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
149
+ #
150
+ # @param connection_id [String]
151
+ # @param params [Hash] the fields above
152
+ # @param webhook_url [String] where QuBe Sync sends the answer
153
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
154
+ # @return [Hash] the queued request
155
+ # @see https://docs.qubesync.com/api-reference/v2/item-services/create-item-service
156
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
157
+ queue("item_service.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
158
+ end
159
+
160
+ # List item services: GET /connections/{connection_id}/item-services (`item_service.query`).
161
+ #
162
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
163
+ # `iteration_state` `done`.
164
+ #
165
+ # Params, sent as the query string:
166
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
167
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
168
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
169
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
170
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
171
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
172
+ # - `class_filter` (Hash): Filters according to the object’s class. Choose at most one of:
173
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
174
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
175
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
176
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
177
+ # `full_name_with_children`.
178
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
179
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
180
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
181
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
182
+ # specified object and its descendants. For names that don’t have children,
183
+ # `full_name_with_children` is exactly the same as `full_name`.
184
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
185
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
186
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
187
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
188
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
189
+ # specified object and its descendants.
190
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
191
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
192
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
193
+ # `full_name`, or the set (`active_status`, `class_filter`, `from_modified_date`,
194
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
195
+ # combine with each other, not with the other choices.
196
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
197
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
198
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
199
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
200
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
201
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
202
+ # - `include_ret_element` (Array<one of "BarCodeValue", "ClassRef", "DataExtRet",
203
+ # "EditSequence", "ExternalGUID", "FullName", "IsActive", "IsTaxIncluded", "ListID", "Name",
204
+ # "ParentRef", "SalesAndPurchase", "SalesOrPurchase", "SalesTaxCodeRef", "Sublevel",
205
+ # "TimeCreated", "TimeModified", "UnitOfMeasureSetRef">)
206
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
207
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
208
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
209
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
210
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
211
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
212
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
213
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
214
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
215
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
216
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
217
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
218
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
219
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
220
+ # count of how many objects could possibly be returned, use the `meta_data` query
221
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
222
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
223
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
224
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
225
+ # (`active_status`, `class_filter`, `from_modified_date`, `max_returned`, `name_filter`,
226
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
227
+ # with the other choices.
228
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
229
+ # `meta_data` attribute to control whether query responses include counts. Options are
230
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
231
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
232
+ # during processing.
233
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
234
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
235
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
236
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
237
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
238
+ # to match.
239
+ # - `name` (String, required): The string to match.
240
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
241
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
242
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
243
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
244
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
245
+ # omitted, the range will begin with first name on the list.
246
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
247
+ # the range will end with last name on the list.
248
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
249
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
250
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
251
+ # across apps. If you do share them, both apps must use the same `owner_id` and
252
+ # `data_ext_name`, because that pair uniquely identifies the extension.
253
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
254
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
255
+ # webhook already carries the request's `id`.
256
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
257
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
258
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
259
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
260
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
261
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
262
+ #
263
+ # @param connection_id [String]
264
+ # @param params [Hash] the fields above
265
+ # @param webhook_url [String] where QuBe Sync sends the answer
266
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
267
+ # @return [Hash] the queued request
268
+ # @see https://docs.qubesync.com/api-reference/v2/item-services/list-item-services
269
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
270
+ queue("item_service.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
271
+ end
272
+
273
+ # Update item service: PUT /connections/{connection_id}/item-services (`item_service.update`).
274
+ #
275
+ # QuickBooks answers in one webhook.
276
+ #
277
+ # Params, sent as the JSON body:
278
+ # - `bar_code` (Hash): Barcode reference information.
279
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
280
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
281
+ # in use.
282
+ # - `bar_code_value` (String): Value of the barcode in the item.
283
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
284
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
285
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
286
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
287
+ # override or clear it on individual lines.
288
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
289
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
290
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
291
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
292
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
293
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
294
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
295
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
296
+ # It changes each time the object is updated. To modify an existing object, you must send
297
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
298
+ # overwriting newer changes.
299
+ # - `force_uom_change` (Boolean): By Default `force_uom_change` is false. However, in item Mod
300
+ # requests, you need to set the `force_uom_change` field to True if you are changing the UOM
301
+ # set and the base unit of the new set doesn’t match the base unit of the UOM set currently
302
+ # assigned to the item. This does the same thing as the user accepting the warning prompt in
303
+ # the UI.
304
+ # - `include_ret_element` (Array<one of "BarCodeValue", "ClassRef", "DataExtRet",
305
+ # "EditSequence", "ExternalGUID", "FullName", "IsActive", "IsTaxIncluded", "ListID", "Name",
306
+ # "OwnerID", "ParentRef", "SalesAndPurchase", "SalesOrPurchase", "SalesTaxCodeRef",
307
+ # "Sublevel", "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "UnitOfMeasureSetRef">)
308
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
309
+ # QuickBooks. The default value is true.
310
+ # - `is_tax_included` (Boolean): For future use with international versions of QuickBooks.
311
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
312
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
313
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
314
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
315
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
316
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
317
+ # same Name in different branches because `full_name` remains distinct.
318
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
319
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
320
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
321
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
322
+ # ignored.
323
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
324
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
325
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
326
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
327
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
328
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
329
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
330
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
331
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
332
+ # webhook already carries the request's `id`.
333
+ # - `sales_and_purchase_mod` (Hash): A `sales_and_purchase` aggregate is used for items that
334
+ # are meant to be both purchased and sold, such as an “other charge” item that is
335
+ # reimbursable. Choose at most one of: `sales_or_purchase_mod`, or `sales_and_purchase_mod`.
336
+ # - `apply_expense_account_ref_to_existing_txns` (Boolean): Used to support changing the
337
+ # `account_ref` in the Mod request. When you do this, the QuickBooks UI normally displays
338
+ # a prompt asking whether the change should apply to existing transactions or not.
339
+ # Specifying False basically dismisses this with a “No” answer; specifying True dismisses
340
+ # it with a “Yes” answer and then changes the existing transactions that use the item with
341
+ # that `account_ref`.
342
+ # - `apply_income_account_ref_to_existing_txns` (Boolean): Used to support changing the
343
+ # `account_ref` in the Mod request. When you do this, the QuickBooks UI normally displays
344
+ # a prompt asking whether the change should apply to existing transactions or not.
345
+ # Specifying False basically dismisses this with a “No” answer; specifying True dismisses
346
+ # it with a “Yes” answer and then changes the existing transactions that use the item with
347
+ # that `account_ref`.
348
+ # - `expense_account_ref` (Hash): Refers to an expense account. If an `expense_account_ref`
349
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
350
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
351
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
352
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
353
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
354
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
355
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
356
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
357
+ # - `income_account_ref` (Hash): Refers to an income account. If an `income_account_ref`
358
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
359
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
360
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
361
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
362
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
363
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
364
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
365
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
366
+ # - `pref_vendor_ref` (Hash): The preferred vendor for this item. If a `pref_vendor_ref`
367
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
368
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
369
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
370
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
371
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
372
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
373
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
374
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
375
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering
376
+ # or buying this item, or the amount that was actually paid for this item.
377
+ # - `purchase_desc` (String): Description that appears in the Description column of checks,
378
+ # bills, credit card charges, and item receipts (when an item is reordered). For a fixed
379
+ # asset, a description of the item as it was when it was purchased.
380
+ # - `purchase_tax_code_ref` (Hash): Account used for taxes on purchases in CA or UK.
381
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
382
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
383
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
384
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
385
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
386
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
387
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
388
+ # - `sales_desc` (String): Appears in the Description column of a sales form when the
389
+ # QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for
390
+ # accounting purposes).
391
+ # - `sales_price` (Numeric): Price charged for this item.
392
+ # - `sales_or_purchase_mod` (Hash): A `sales_or_purchase` aggregate is used for items that are
393
+ # meant to be either purchased or sold, but not both. For example, a `sales_or_purchase`
394
+ # aggregate would be used for a non-inventory item that is purchased but not sold, or for a
395
+ # service item that is sold but not purchased. Choose at most one of:
396
+ # `sales_or_purchase_mod`, or `sales_and_purchase_mod`.
397
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
398
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
399
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
400
+ # accounting preferences; for credit-card transactions it identifies the bank or card
401
+ # account involved.
402
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
403
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
404
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
405
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
406
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
407
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
408
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
409
+ # - `apply_account_ref_to_existing_txns` (Boolean): Used to support changing the
410
+ # `account_ref` in the Mod request. When you do this, the QuickBooks UI normally displays
411
+ # a prompt asking whether the change should apply to existing transactions or not.
412
+ # Specifying False basically dismisses this with a “No” answer; specifying True dismisses
413
+ # it with a “Yes” answer and then changes the existing transactions that use the item with
414
+ # that `account_ref`.
415
+ # - `desc` (String): A descriptive text field.
416
+ # - `price` (Numeric): The purchase price or sales price of this item. Choose at most one
417
+ # of: `price`, or `price_percent`.
418
+ # - `price_percent` (Numeric): The price expressed as a percent. (For example, an auto shop
419
+ # that calculates the cost of labor as a percentage of the cost of parts might have a
420
+ # service item called “Labor” that uses `price_percent` instead of Price.) Choose at most
421
+ # one of: `price`, or `price_percent`.
422
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
423
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
424
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
425
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
426
+ # `sales_tax_code_ref`, `full_name` is ignored.
427
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
428
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
429
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
430
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
431
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
432
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
433
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
434
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
435
+ # related units.
436
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
437
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
438
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
439
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
440
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
441
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
442
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
443
+ #
444
+ # @param connection_id [String]
445
+ # @param params [Hash] the fields above
446
+ # @param webhook_url [String] where QuBe Sync sends the answer
447
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
448
+ # @return [Hash] the queued request
449
+ # @see https://docs.qubesync.com/api-reference/v2/item-services/update-item-service
450
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
451
+ queue("item_service.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
452
+ end
453
+ end
454
+ end
455
+ end
@@ -0,0 +1,96 @@
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 item sites operations, reached as `client.item_sites`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemSites < Base
9
+ # List item sites: GET /connections/{connection_id}/item-sites (`item_sites.query`).
10
+ #
11
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
12
+ # `iteration_state` `done`.
13
+ #
14
+ # Params, sent as the query string:
15
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
16
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
17
+ # default value is asActiveOnly, which selects only list objects that are active.
18
+ # - `include_ret_element` (Array<one of "AssemblyBuildPoint", "EditSequence",
19
+ # "InventorySiteLocationRef", "InventorySiteRef", "ItemInventoryAssemblyRef",
20
+ # "ItemInventoryRef", "ListID", "QuantityOnHand", "QuantityOnPendingTransfers",
21
+ # "QuantityOnPurchaseOrders", "QuantityOnSalesOrders", "QuantityRequiredByPendingBuildTxns",
22
+ # "QuantityToBeBuiltByPendingBuildTxns", "ReorderLevel", "TimeCreated", "TimeModified">)
23
+ # - `item_site_filter` (Hash): Allows you to report on Item Sites. Choose at most one of:
24
+ # `list_id`, or the set (`item_site_filter`, `item_type_filter`). Members of a set combine
25
+ # with each other, not with the other choices.
26
+ # - `item_filter` (Hash): Filters according to the item name or ID. You can use an ItemQuery
27
+ # request to get information about all the items that are set up in the QuickBooks file.
28
+ # “Items” are line items used for fast entry on sales and purchase forms. They include
29
+ # services and goods that a business buys and sells, as well as special items that perform
30
+ # calculations–for example, subtotal, discount, and sales-tax items.
31
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
32
+ # `full_name_with_children`.
33
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
34
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
35
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
36
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
37
+ # specified object and its descendants. For names that don’t have children,
38
+ # `full_name_with_children` is exactly the same as `full_name`.
39
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
40
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
41
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
42
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
43
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
44
+ # specified object and its descendants.
45
+ # - `site_filter` (Hash): Allows you to report on Sites.
46
+ # Give at most one of: `list_id`, or `full_name`.
47
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
48
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
49
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
50
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
51
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
52
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
53
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
54
+ # - `item_type_filter` (one of "AllExceptFixedAsset", "Assembly", "Discount", "FixedAsset",
55
+ # "Inventory", "InventoryAndAssembly", "NonInventory", "OtherCharge", "Payment", "Sales",
56
+ # "SalesTax", "Service"): Allows you to report on a specific item type. Choose at most one
57
+ # of: `list_id`, or the set (`item_site_filter`, `item_type_filter`). Members of a set
58
+ # combine with each other, not with the other choices.
59
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
60
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
61
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
62
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
63
+ # alone (at most that many, in one answer).
64
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
65
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
66
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
67
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
68
+ # one of: `list_id`, or the set (`item_site_filter`, `item_type_filter`). Members of a set
69
+ # combine with each other, not with the other choices.
70
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
71
+ # count of how many objects could possibly be returned, use the `meta_data` query
72
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
73
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
74
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
75
+ # whether more matched.
76
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
77
+ # `meta_data` attribute to control whether query responses include counts. Options are
78
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
79
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
80
+ # during processing.
81
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
82
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
83
+ # webhook already carries the request's `id`.
84
+ #
85
+ # @param connection_id [String]
86
+ # @param params [Hash] the fields above
87
+ # @param webhook_url [String] where QuBe Sync sends the answer
88
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
89
+ # @return [Hash] the queued request
90
+ # @see https://docs.qubesync.com/api-reference/v2/item-sites/list-item-sites
91
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
92
+ queue("item_sites.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
93
+ end
94
+ end
95
+ end
96
+ end