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,305 @@
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 price level operations, reached as `client.price_level`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class PriceLevel < Base
9
+ # Create price level: POST /connections/{connection_id}/price-levels (`price_level.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # Give at most one of: `price_level_fixed_percentage`, or `currency_ref` with
15
+ # `price_level_per_item`.
16
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
17
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
18
+ # vary by settings and workflow.
19
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
20
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
21
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
22
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
23
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
24
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
25
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
26
+ # - `include_ret_element` (Array<one of "CurrencyRef", "EditSequence", "ExternalGUID",
27
+ # "IsActive", "ListID", "Name", "OwnerID", "PriceLevelFixedPercentage",
28
+ # "PriceLevelPerItemRet", "PriceLevelType", "TimeCreated", "TimeModified", "TxnID",
29
+ # "TxnNumber">)
30
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
31
+ # QuickBooks. The default value is true.
32
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
33
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
34
+ # reuse the same Name in different branches because `full_name` remains distinct.
35
+ # - `price_level_fixed_percentage` (Numeric): When you create a price level, you must specify
36
+ # whether it is a fixed percentage or a per item price level. Once you create the price
37
+ # level, you can’t change this. QuickBooks Pro and greater versions support fixed
38
+ # percentages, but only QuickBooks Premier and Enterprise support the per item price level.
39
+ # Where is this discount applied if Price Levels are enabled in QuickBooks preferences?
40
+ # - `price_level_per_item` (Array<Hash>)
41
+ # - `adjust_percentage` (Numeric): If you don’t want to apply a custom price (for price
42
+ # levels) or custom rate (for billing rates), you can apply an adjusted price discount
43
+ # using the pair of fields `adjust_percentage` and `adjust_relative_to`
44
+ # (AdjustBillingRateRelativeTo for billing rates). Choose exactly one of: the set
45
+ # (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
46
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
47
+ # choices.
48
+ # - `adjust_relative_to` (one of "Cost", "CurrentCustomPrice", "StandardPrice"): When you
49
+ # create a price level, you have the option to create it with a flat custom price (flat
50
+ # amount or percentage) or you could use PriceLevelAdjustment to apply a price discount
51
+ # based on either the current custom price, the standard price of the item, or the cost of
52
+ # the item. Choose exactly one of: the set (`custom_price`, `custom_price_percent`), or
53
+ # the set (`adjust_percentage`, `adjust_relative_to`). Members of a set combine with each
54
+ # other, not with the other choices.
55
+ # - `custom_price` (Numeric): When you create a price level, you have the option to create
56
+ # it with a custom price that is either a fixed amount (`custom_price`) or a fixed
57
+ # discount percentage (`custom_price_percent`). Alternatively, instead of a flat custom
58
+ # price or discount, you could apply a price discount based on either the current custom
59
+ # price, the standard price of the item, or the cost of the item. Choose exactly one of:
60
+ # the set (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
61
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
62
+ # choices.
63
+ # - `custom_price_percent` (Numeric): When you create a price level, you have the option to
64
+ # create it with a custom price that is either a fixed amount (`custom_price`) or a fixed
65
+ # discount percentage (`custom_price_percent`). Choose exactly one of: the set
66
+ # (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
67
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
68
+ # choices.
69
+ # - `item_ref` (Hash, required): `item_ref` may accept all item types or a restricted
70
+ # subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount
71
+ # or sales-tax items; VehicleMileageAdd requires a service or other-charge item;
72
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
73
+ # `full_name` is ignored.
74
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
75
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
76
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
77
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
78
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
79
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
80
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
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/price-levels/create-price-level
91
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
92
+ queue("price_level.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
93
+ end
94
+
95
+ # List price levels: GET /connections/{connection_id}/price-levels (`price_level.query`).
96
+ #
97
+ # QuickBooks answers in one webhook.
98
+ #
99
+ # Params, sent as the query string:
100
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
101
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
102
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
103
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
104
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
105
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
106
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
107
+ # `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
108
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
109
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
110
+ # Give at most one of: `list_id`, or `full_name`.
111
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
112
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
113
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
114
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
115
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
116
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
117
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
118
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
119
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
120
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
121
+ # `full_name`, or the set (`active_status`, `currency_filter`, `from_modified_date`,
122
+ # `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`).
123
+ # Members of a set combine with each other, not with the other choices.
124
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
125
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
126
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
127
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
128
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
129
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
130
+ # - `include_ret_element` (Array<one of "CurrencyRef", "EditSequence", "IsActive", "ListID",
131
+ # "Name", "PriceLevelFixedPercentage", "PriceLevelPerItemRet", "PriceLevelType",
132
+ # "TimeCreated", "TimeModified">)
133
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset, depending
134
+ # on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items;
135
+ # VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a
136
+ # service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
137
+ # Choose at most one of: `list_id`, or `full_name`, or the set (`active_status`,
138
+ # `currency_filter`, `from_modified_date`, `item_ref`, `max_returned`, `name_filter`,
139
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
140
+ # with the other choices.
141
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
142
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
143
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
144
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
145
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
146
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
147
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
148
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
149
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
150
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
151
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
152
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
153
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
154
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
155
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
156
+ # count of how many objects could possibly be returned, use the `meta_data` query
157
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
158
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
159
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
160
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
161
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
162
+ # `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
163
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
164
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
165
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
166
+ # `meta_data` attribute to control whether query responses include counts. Options are
167
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
168
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
169
+ # during processing.
170
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
171
+ # `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
172
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
173
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
174
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
175
+ # to match.
176
+ # - `name` (String, required): The string to match.
177
+ # - `name_range_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`, `currency_filter`,
179
+ # `from_modified_date`, `item_ref`, `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
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
182
+ # omitted, the range will begin with first name on the list.
183
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
184
+ # the range will end with last name on the list.
185
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
186
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
187
+ # webhook already carries the request's `id`.
188
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
189
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
190
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
191
+ # `list_id`, or `full_name`, or the set (`active_status`, `currency_filter`,
192
+ # `from_modified_date`, `item_ref`, `max_returned`, `name_filter`, `name_range_filter`,
193
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
194
+ #
195
+ # @param connection_id [String]
196
+ # @param params [Hash] the fields above
197
+ # @param webhook_url [String] where QuBe Sync sends the answer
198
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
199
+ # @return [Hash] the queued request
200
+ # @see https://docs.qubesync.com/api-reference/v2/price-levels/list-price-levels
201
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
202
+ queue("price_level.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
203
+ end
204
+
205
+ # Update price level: PUT /connections/{connection_id}/price-levels (`price_level.update`).
206
+ #
207
+ # QuickBooks answers in one webhook.
208
+ #
209
+ # Params, sent as the JSON body:
210
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
211
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
212
+ # vary by settings and workflow. Choose at most one of: `price_level_fixed_percentage`, or
213
+ # the set (`currency_ref`, `price_level_per_item`). Members of a set combine with each
214
+ # other, not with the other choices.
215
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
216
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
217
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
218
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
219
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
220
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
221
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
222
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
223
+ # It changes each time the object is updated. To modify an existing object, you must send
224
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
225
+ # overwriting newer changes.
226
+ # - `include_ret_element` (Array<one of "CurrencyRef", "EditSequence", "ExternalGUID",
227
+ # "IsActive", "ListID", "Name", "OwnerID", "PriceLevelFixedPercentage",
228
+ # "PriceLevelPerItemRet", "PriceLevelType", "TimeCreated", "TimeModified", "TxnID",
229
+ # "TxnNumber">)
230
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
231
+ # QuickBooks. The default value is true.
232
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
233
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
234
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
235
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
236
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
237
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
238
+ # same Name in different branches because `full_name` remains distinct.
239
+ # - `price_level_fixed_percentage` (Numeric): When you create a price level, you must specify
240
+ # whether it is a fixed percentage or a per item price level. Once you create the price
241
+ # level, you can’t change this. QuickBooks Pro and greater versions support fixed
242
+ # percentages, but only QuickBooks Premier and Enterprise support the per item price level.
243
+ # Where is this discount applied if Price Levels are enabled in QuickBooks preferences?
244
+ # Choose at most one of: `price_level_fixed_percentage`, or the set (`currency_ref`,
245
+ # `price_level_per_item`). Members of a set combine with each other, not with the other
246
+ # choices.
247
+ # - `price_level_per_item` (Array<Hash>): Choose at most one of:
248
+ # `price_level_fixed_percentage`, or the set (`currency_ref`, `price_level_per_item`).
249
+ # Members of a set combine with each other, not with the other choices.
250
+ # - `adjust_percentage` (Numeric): If you don’t want to apply a custom price (for price
251
+ # levels) or custom rate (for billing rates), you can apply an adjusted price discount
252
+ # using the pair of fields `adjust_percentage` and `adjust_relative_to`
253
+ # (AdjustBillingRateRelativeTo for billing rates). Choose exactly one of: the set
254
+ # (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
255
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
256
+ # choices.
257
+ # - `adjust_relative_to` (one of "Cost", "CurrentCustomPrice", "StandardPrice"): When you
258
+ # create a price level, you have the option to create it with a flat custom price (flat
259
+ # amount or percentage) or you could use PriceLevelAdjustment to apply a price discount
260
+ # based on either the current custom price, the standard price of the item, or the cost of
261
+ # the item. Choose exactly one of: the set (`custom_price`, `custom_price_percent`), or
262
+ # the set (`adjust_percentage`, `adjust_relative_to`). Members of a set combine with each
263
+ # other, not with the other choices.
264
+ # - `custom_price` (Numeric): When you create a price level, you have the option to create
265
+ # it with a custom price that is either a fixed amount (`custom_price`) or a fixed
266
+ # discount percentage (`custom_price_percent`). Alternatively, instead of a flat custom
267
+ # price or discount, you could apply a price discount based on either the current custom
268
+ # price, the standard price of the item, or the cost of the item. Choose exactly one of:
269
+ # the set (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
270
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
271
+ # choices.
272
+ # - `custom_price_percent` (Numeric): When you create a price level, you have the option to
273
+ # create it with a custom price that is either a fixed amount (`custom_price`) or a fixed
274
+ # discount percentage (`custom_price_percent`). Choose exactly one of: the set
275
+ # (`custom_price`, `custom_price_percent`), or the set (`adjust_percentage`,
276
+ # `adjust_relative_to`). Members of a set combine with each other, not with the other
277
+ # choices.
278
+ # - `item_ref` (Hash, required): `item_ref` may accept all item types or a restricted
279
+ # subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount
280
+ # or sales-tax items; VehicleMileageAdd requires a service or other-charge item;
281
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
282
+ # `full_name` is ignored.
283
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
284
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
285
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
286
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
287
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
288
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
289
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
290
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
291
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
292
+ # webhook already carries the request's `id`.
293
+ #
294
+ # @param connection_id [String]
295
+ # @param params [Hash] the fields above
296
+ # @param webhook_url [String] where QuBe Sync sends the answer
297
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
298
+ # @return [Hash] the queued request
299
+ # @see https://docs.qubesync.com/api-reference/v2/price-levels/update-price-level
300
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
301
+ queue("price_level.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
302
+ end
303
+ end
304
+ end
305
+ end