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,317 @@
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 fixed asset operations, reached as `client.item_fixed_asset`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemFixedAsset < Base
9
+ # Create item fixed asset: POST /connections/{connection_id}/item-fixed-assets
10
+ # (`item_fixed_asset.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `acquired_as` (one of "New", "Old", required): Indicates whether this item was new or used
16
+ # when the business acquired it.
17
+ # - `asset_account_ref` (Hash): Refers to the account QuickBooks uses to track the current
18
+ # value of the company’s inventory. (The AccountType of this account will be FixedAsset,
19
+ # OtherAsset, or OtherCurrentAsset.) In a request, if an `asset_account_ref` aggregate
20
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
21
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
22
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
23
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
24
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
25
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
26
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
27
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
28
+ # - `asset_desc` (String): Description of the asset—maker, brand, and so on.
29
+ # - `asset_number` (String): The number used by the QuickBooks Fixed Asset Manager to identify
30
+ # this asset.
31
+ # - `bar_code` (Hash): Barcode reference information.
32
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
33
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
34
+ # in use.
35
+ # - `bar_code_value` (String): Value of the barcode in the item.
36
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
37
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
38
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
39
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
40
+ # override or clear it on individual lines.
41
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
42
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
43
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
44
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
45
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
46
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
47
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
48
+ # - `cost_basis` (Numeric): The total cost of the fixed asset. This can include the cost of
49
+ # improvements or repairs. This amount is used to figure depreciation.
50
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
51
+ # - `fixed_asset_sales_info` (Hash): Sales information, if this fixed asset was sold.
52
+ # - `sales_date` (String, required): Date when a fixed asset was sold.
53
+ # - `sales_desc` (String, required): Appears in the Description column of a sales form when
54
+ # the QuickBooks user sells this item. For a fixed asset, describes the sale of the asset
55
+ # (for accounting purposes).
56
+ # - `sales_expense` (Numeric): Any expenses that were incurred during the sale of a fixed
57
+ # asset.
58
+ # - `sales_price` (Numeric): Price charged for this item.
59
+ # - `include_ret_element` (Array<one of "AcquiredAs", "AssetAccountRef", "AssetDesc",
60
+ # "AssetNumber", "BarCodeValue", "ClassRef", "CostBasis", "DataExtRet", "EditSequence",
61
+ # "ExternalGUID", "FixedAssetSalesInfo", "IsActive", "ListID", "Location", "Name", "Notes",
62
+ # "OwnerID", "PONumber", "PurchaseCost", "PurchaseDate", "PurchaseDesc", "SerialNumber",
63
+ # "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "VendorOrPayeeName",
64
+ # "WarrantyExpDate", "YearEndAccumulatedDepreciation", "YearEndBookValue">)
65
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
66
+ # QuickBooks. The default value is true.
67
+ # - `location` (String): Where the asset is located or has been placed into service.
68
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
69
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
70
+ # reuse the same Name in different branches because `full_name` remains distinct.
71
+ # - `notes` (String): Additional information.
72
+ # - `po_number` (String): Purchase order number.
73
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering or
74
+ # buying this item, or the amount that was actually paid for this item.
75
+ # - `purchase_date` (String, required): The date when this asset was purchased.
76
+ # - `purchase_desc` (String, required): Description that appears in the Description column of
77
+ # checks, bills, credit card charges, and item receipts (when an item is reordered). For a
78
+ # fixed asset, a description of the item as it was when it was purchased.
79
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
80
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
81
+ # webhook already carries the request's `id`.
82
+ # - `serial_number` (String): The serial number of the asset.
83
+ # - `vendor_or_payee_name` (String): The name of the vendor from whom this asset was
84
+ # purchased.
85
+ # - `warranty_exp_date` (String): The date when the warranty for this asset expires.
86
+ # - `year_end_accumulated_depreciation` (Numeric): The amount the fixed asset has lost in
87
+ # value since it was purchased, as of the end of the year.
88
+ # - `year_end_book_value` (Numeric): A reasonable estimate of the sales value of the fixed
89
+ # asset, as of the end of the year.
90
+ #
91
+ # @param connection_id [String]
92
+ # @param params [Hash] the fields above
93
+ # @param webhook_url [String] where QuBe Sync sends the answer
94
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
95
+ # @return [Hash] the queued request
96
+ # @see https://docs.qubesync.com/api-reference/v2/item-fixed-assets/create-item-fixed-asset
97
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
98
+ queue("item_fixed_asset.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
99
+ end
100
+
101
+ # List item fixed assets: GET /connections/{connection_id}/item-fixed-assets
102
+ # (`item_fixed_asset.query`).
103
+ #
104
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
105
+ # `iteration_state` `done`.
106
+ #
107
+ # Params, sent as the query string:
108
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
109
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
110
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
111
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
112
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
113
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
114
+ # - `class_filter` (Hash): Filters according to the object’s class. Choose at most one of:
115
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
116
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
117
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
118
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
119
+ # `full_name_with_children`.
120
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
121
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
122
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
123
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
124
+ # specified object and its descendants. For names that don’t have children,
125
+ # `full_name_with_children` is exactly the same as `full_name`.
126
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
127
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
128
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
129
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
130
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
131
+ # specified object and its descendants.
132
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
133
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
134
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
135
+ # `full_name`, or the set (`active_status`, `class_filter`, `from_modified_date`,
136
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
137
+ # combine with each other, not with the other choices.
138
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
139
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
140
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
141
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
142
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
143
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
144
+ # - `include_ret_element` (Array<one of "AcquiredAs", "AssetAccountRef", "AssetDesc",
145
+ # "AssetNumber", "BarCodeValue", "ClassRef", "CostBasis", "DataExtRet", "EditSequence",
146
+ # "ExternalGUID", "FixedAssetSalesInfo", "IsActive", "ListID", "Location", "Name", "Notes",
147
+ # "PONumber", "PurchaseCost", "PurchaseDate", "PurchaseDesc", "SerialNumber", "TimeCreated",
148
+ # "TimeModified", "VendorOrPayeeName", "WarrantyExpDate", "YearEndAccumulatedDepreciation",
149
+ # "YearEndBookValue">)
150
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
151
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
152
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
153
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
154
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
155
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
156
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
157
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
158
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
159
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
160
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
161
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
162
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
163
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
164
+ # count of how many objects could possibly be returned, use the `meta_data` query
165
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
166
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
167
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
168
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
169
+ # (`active_status`, `class_filter`, `from_modified_date`, `max_returned`, `name_filter`,
170
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
171
+ # with the other choices.
172
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
173
+ # `meta_data` attribute to control whether query responses include counts. Options are
174
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
175
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
176
+ # during processing.
177
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
178
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
179
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
180
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
181
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
182
+ # to match.
183
+ # - `name` (String, required): The string to match.
184
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
185
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
186
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
187
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
188
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
189
+ # omitted, the range will begin with first name on the list.
190
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
191
+ # the range will end with last name on the list.
192
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
193
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
194
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
195
+ # across apps. If you do share them, both apps must use the same `owner_id` and
196
+ # `data_ext_name`, because that pair uniquely identifies the extension.
197
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
198
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
199
+ # webhook already carries the request's `id`.
200
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
201
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
202
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
203
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
204
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
205
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
206
+ #
207
+ # @param connection_id [String]
208
+ # @param params [Hash] the fields above
209
+ # @param webhook_url [String] where QuBe Sync sends the answer
210
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
211
+ # @return [Hash] the queued request
212
+ # @see https://docs.qubesync.com/api-reference/v2/item-fixed-assets/list-item-fixed-assets
213
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
214
+ queue("item_fixed_asset.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
215
+ end
216
+
217
+ # Update item fixed asset: PUT /connections/{connection_id}/item-fixed-assets
218
+ # (`item_fixed_asset.update`).
219
+ #
220
+ # QuickBooks answers in one webhook.
221
+ #
222
+ # Params, sent as the JSON body:
223
+ # - `acquired_as` (one of "New", "Old"): Indicates whether this item was new or used when the
224
+ # business acquired it.
225
+ # - `asset_account_ref` (Hash): Refers to the account QuickBooks uses to track the current
226
+ # value of the company’s inventory. (The AccountType of this account will be FixedAsset,
227
+ # OtherAsset, or OtherCurrentAsset.) In a request, if an `asset_account_ref` aggregate
228
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
229
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
230
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
231
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
232
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
233
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
234
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
235
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
236
+ # - `asset_desc` (String): Description of the asset—maker, brand, and so on.
237
+ # - `asset_number` (String): The number used by the QuickBooks Fixed Asset Manager to identify
238
+ # this asset.
239
+ # - `bar_code` (Hash): Barcode reference information.
240
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
241
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
242
+ # in use.
243
+ # - `bar_code_value` (String): Value of the barcode in the item.
244
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
245
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
246
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
247
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
248
+ # override or clear it on individual lines.
249
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
250
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
251
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
252
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
253
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
254
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
255
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
256
+ # - `cost_basis` (Numeric): The total cost of the fixed asset. This can include the cost of
257
+ # improvements or repairs. This amount is used to figure depreciation.
258
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
259
+ # It changes each time the object is updated. To modify an existing object, you must send
260
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
261
+ # overwriting newer changes.
262
+ # - `fixed_asset_sales_info_mod` (Hash): Sales information, if this fixed asset was sold.
263
+ # - `sales_date` (String): Date when a fixed asset was sold.
264
+ # - `sales_desc` (String): Appears in the Description column of a sales form when the
265
+ # QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for
266
+ # accounting purposes).
267
+ # - `sales_expense` (Numeric): Any expenses that were incurred during the sale of a fixed
268
+ # asset.
269
+ # - `sales_price` (Numeric): Price charged for this item.
270
+ # - `include_ret_element` (Array<one of "AcquiredAs", "AssetAccountRef", "AssetDesc",
271
+ # "AssetNumber", "BarCodeValue", "ClassRef", "CostBasis", "DataExtRet", "EditSequence",
272
+ # "ExternalGUID", "FixedAssetSalesInfo", "IsActive", "ListID", "Location", "Name", "Notes",
273
+ # "OwnerID", "PONumber", "PurchaseCost", "PurchaseDate", "PurchaseDesc", "SerialNumber",
274
+ # "TimeCreated", "TimeModified", "TxnID", "TxnNumber", "VendorOrPayeeName",
275
+ # "WarrantyExpDate", "YearEndAccumulatedDepreciation", "YearEndBookValue">)
276
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
277
+ # QuickBooks. The default value is true.
278
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
279
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
280
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
281
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
282
+ # - `location` (String): Where the asset is located or has been placed into service.
283
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
284
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
285
+ # same Name in different branches because `full_name` remains distinct.
286
+ # - `notes` (String): Additional information.
287
+ # - `po_number` (String): Purchase order number.
288
+ # - `purchase_cost` (Numeric): Amount that the QuickBooks user expects to pay when ordering or
289
+ # buying this item, or the amount that was actually paid for this item.
290
+ # - `purchase_date` (String): The date when this asset was purchased.
291
+ # - `purchase_desc` (String): Description that appears in the Description column of checks,
292
+ # bills, credit card charges, and item receipts (when an item is reordered). For a fixed
293
+ # asset, a description of the item as it was when it was purchased.
294
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
295
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
296
+ # webhook already carries the request's `id`.
297
+ # - `serial_number` (String): The serial number of the asset.
298
+ # - `vendor_or_payee_name` (String): The name of the vendor from whom this asset was
299
+ # purchased.
300
+ # - `warranty_exp_date` (String): The date when the warranty for this asset expires.
301
+ # - `year_end_accumulated_depreciation` (Numeric): The amount the fixed asset has lost in
302
+ # value since it was purchased, as of the end of the year.
303
+ # - `year_end_book_value` (Numeric): A reasonable estimate of the sales value of the fixed
304
+ # asset, as of the end of the year.
305
+ #
306
+ # @param connection_id [String]
307
+ # @param params [Hash] the fields above
308
+ # @param webhook_url [String] where QuBe Sync sends the answer
309
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
310
+ # @return [Hash] the queued request
311
+ # @see https://docs.qubesync.com/api-reference/v2/item-fixed-assets/update-item-fixed-asset
312
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
313
+ queue("item_fixed_asset.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
314
+ end
315
+ end
316
+ end
317
+ end
@@ -0,0 +1,253 @@
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 group operations, reached as `client.item_group`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemGroup < Base
9
+ # Create item group: POST /connections/{connection_id}/item-groups (`item_group.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `bar_code` (Hash): Barcode reference information.
15
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
16
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
17
+ # in use.
18
+ # - `bar_code_value` (String): Value of the barcode in the item.
19
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
20
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
21
+ # "ExternalGUID", "IsActive", "IsPrintItemsInGroup", "ItemDesc", "ItemGroupLine", "ListID",
22
+ # "Name", "OwnerID", "SpecialItemType", "TimeCreated", "TimeModified", "TxnID", "TxnNumber",
23
+ # "UnitOfMeasureSetRef">)
24
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
25
+ # QuickBooks. The default value is true.
26
+ # - `is_print_items_in_group` (Boolean): If true, a list of this group’s individual items
27
+ # their amounts will appear on printed forms.
28
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
29
+ # used.
30
+ # - `item_group_line` (Array<Hash>)
31
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
32
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
33
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
34
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
35
+ # `full_name` is ignored.
36
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
37
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
38
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
39
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
40
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
41
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
42
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
43
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
44
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
45
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
46
+ # Amount.
47
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
48
+ # selected from within the item’s available units. If the company file is enabled only for
49
+ # single unit of measure per item, this must be the base unit!
50
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
51
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
52
+ # reuse the same Name in different branches because `full_name` remains distinct.
53
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
54
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
55
+ # webhook already carries the request's `id`.
56
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
57
+ # related units.
58
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
59
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
60
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
61
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
62
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
63
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
64
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
65
+ #
66
+ # @param connection_id [String]
67
+ # @param params [Hash] the fields above
68
+ # @param webhook_url [String] where QuBe Sync sends the answer
69
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
70
+ # @return [Hash] the queued request
71
+ # @see https://docs.qubesync.com/api-reference/v2/item-groups/create-item-group
72
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
73
+ queue("item_group.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
74
+ end
75
+
76
+ # List item groups: GET /connections/{connection_id}/item-groups (`item_group.query`).
77
+ #
78
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
79
+ # `iteration_state` `done`.
80
+ #
81
+ # Params, sent as the query string:
82
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
83
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
84
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
85
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
86
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
87
+ # combine with each other, not with the other choices.
88
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
89
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
90
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
91
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
92
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
93
+ # each other, not with the other choices.
94
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
95
+ # list 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. Choose at most
97
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
98
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
99
+ # combine with each other, not with the other choices.
100
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
101
+ # "ExternalGUID", "IsActive", "IsPrintItemsInGroup", "ItemDesc", "ItemGroupLine", "ListID",
102
+ # "Name", "SpecialItemType", "TimeCreated", "TimeModified", "UnitOfMeasureSetRef">)
103
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
104
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
105
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
106
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
107
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
108
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
109
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
110
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
111
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
112
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
113
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
114
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
115
+ # combine with each other, not with the other choices.
116
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
117
+ # count of how many objects could possibly be returned, use the `meta_data` query
118
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
119
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
120
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
121
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
122
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
123
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
124
+ # with the other choices.
125
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
126
+ # `meta_data` attribute to control whether query responses include counts. Options are
127
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
128
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
129
+ # during processing.
130
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
131
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
132
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
133
+ # combine with each other, not with the other choices.
134
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
135
+ # to match.
136
+ # - `name` (String, required): The string to match.
137
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
138
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
139
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
140
+ # combine with each other, not with the other choices.
141
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
142
+ # omitted, the range will begin with first name on the list.
143
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
144
+ # the range will end with last name on the list.
145
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
146
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
147
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
148
+ # across apps. If you do share them, both apps must use the same `owner_id` and
149
+ # `data_ext_name`, because that pair uniquely identifies the extension.
150
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
151
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
152
+ # webhook already carries the request's `id`.
153
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
154
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
155
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
156
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
157
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
158
+ # combine with each other, not with the other choices.
159
+ #
160
+ # @param connection_id [String]
161
+ # @param params [Hash] the fields above
162
+ # @param webhook_url [String] where QuBe Sync sends the answer
163
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
164
+ # @return [Hash] the queued request
165
+ # @see https://docs.qubesync.com/api-reference/v2/item-groups/list-item-groups
166
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
167
+ queue("item_group.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
168
+ end
169
+
170
+ # Update item group: PUT /connections/{connection_id}/item-groups (`item_group.update`).
171
+ #
172
+ # QuickBooks answers in one webhook.
173
+ #
174
+ # Params, sent as the JSON body:
175
+ # - `bar_code` (Hash): Barcode reference information.
176
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
177
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
178
+ # in use.
179
+ # - `bar_code_value` (String): Value of the barcode in the item.
180
+ # - `clear_items_in_group` (Boolean): Set to true to clear all the items in this group. Choose
181
+ # at most one of: `clear_items_in_group`, or `item_group_line`.
182
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
183
+ # It changes each time the object is updated. To modify an existing object, you must send
184
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
185
+ # overwriting newer changes.
186
+ # - `force_uom_change` (Boolean): By Default `force_uom_change` is false. However, in item Mod
187
+ # requests, you need to set the `force_uom_change` field to True if you are changing the UOM
188
+ # set and the base unit of the new set doesn’t match the base unit of the UOM set currently
189
+ # assigned to the item. This does the same thing as the user accepting the warning prompt in
190
+ # the UI.
191
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
192
+ # "ExternalGUID", "IsActive", "IsPrintItemsInGroup", "ItemDesc", "ItemGroupLine", "ListID",
193
+ # "Name", "OwnerID", "SpecialItemType", "TimeCreated", "TimeModified", "TxnID", "TxnNumber",
194
+ # "UnitOfMeasureSetRef">)
195
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
196
+ # QuickBooks. The default value is true.
197
+ # - `is_print_items_in_group` (Boolean): If true, a list of this group’s individual items
198
+ # their amounts will appear on printed forms.
199
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
200
+ # used.
201
+ # - `item_group_line` (Array<Hash>): Choose at most one of: `clear_items_in_group`, or
202
+ # `item_group_line`.
203
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset,
204
+ # depending on the request. Examples: PurchaseOrder and Bill do not allow discount or
205
+ # sales-tax items; VehicleMileageAdd requires a service or other-charge item;
206
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
207
+ # `full_name` is ignored.
208
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
209
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
210
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
211
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
212
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
213
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
214
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
215
+ # - `quantity` (Numeric): On transaction lines, QuickBooks can derive one value from the
216
+ # other two among Quantity, Rate, and Amount. If you supply Quantity and Amount,
217
+ # QuickBooks calculates Rate. If you supply Quantity and Rate, QuickBooks calculates
218
+ # Amount.
219
+ # - `unit_of_measure` (String): In a transaction line item, the name of the unit of measure
220
+ # selected from within the item’s available units. If the company file is enabled only for
221
+ # single unit of measure per item, this must be the base unit!
222
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
223
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
224
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
225
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
226
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
227
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
228
+ # same Name in different branches because `full_name` remains distinct.
229
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
230
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
231
+ # webhook already carries the request's `id`.
232
+ # - `unit_of_measure_set_ref` (Hash): The unit of measure set consists of a base unit and 0-n
233
+ # related units.
234
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
235
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
236
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
237
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
238
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
239
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
240
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
241
+ #
242
+ # @param connection_id [String]
243
+ # @param params [Hash] the fields above
244
+ # @param webhook_url [String] where QuBe Sync sends the answer
245
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
246
+ # @return [Hash] the queued request
247
+ # @see https://docs.qubesync.com/api-reference/v2/item-groups/update-item-group
248
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
249
+ queue("item_group.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
250
+ end
251
+ end
252
+ end
253
+ end