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,315 @@
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 bill payment credit card operations, reached as `client.bill_payment_credit_card`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class BillPaymentCreditCard < Base
9
+ # Create bill payment credit card: POST /connections/{connection_id}/bill-payment-credit-cards
10
+ # (`bill_payment_credit_card.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `ap_account_ref` (Hash): Refers to an accounts payable account in the QuickBooks file.
16
+ # (The AccountType of this account will be AccountsPayable.) If `ap_account_ref` is missing,
17
+ # the SDK will use the QuickBooks default AP account. In a request, if an `ap_account_ref`
18
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
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
+ # - `applied_to_txn_add` (Array<Hash>, required)
27
+ # - `discount_account_ref` (Hash): Refers to the account where this discount is tracked. In
28
+ # a request, if a `discount_account_ref` aggregate includes both `full_name` and
29
+ # `list_id`, `full_name` will be ignored.
30
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
31
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
32
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
33
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
34
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
35
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
36
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
37
+ # - `discount_amount` (Numeric): Reduces the receivable amount.
38
+ # - `discount_class_ref` (Hash): Class reference used in the Discount object
39
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
40
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
41
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
42
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
43
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
44
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
45
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
46
+ # - `payment_amount` (Numeric): Represents the amount assigned to a particular receivable.
47
+ # The sum of all `payment_amount` elements in any given receive payment transaction must
48
+ # not be greater than TotalAmount.
49
+ # - `set_credit` (Array<Hash>)
50
+ # - `applied_amount` (Numeric, required): Amount of a credit that is applied to a
51
+ # customer’s invoice, or amount of a payment that is applied to a particular bill or
52
+ # vendor credit.
53
+ # - `credit_txn_id` (String, required): The ID of the credit memo that you are applying to
54
+ # this invoice or bill.
55
+ # - `override` (Boolean): Option to override credit
56
+ # - `txn_line_id` (String)
57
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
58
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
59
+ # transaction-specific and should not be reused across unrelated transaction types.
60
+ # - `txn_line_detail` (Array<Hash>)
61
+ # - `amount` (Numeric, required): A monetary amount.
62
+ # - `txn_line_id` (String, required)
63
+ # - `credit_card_account_ref` (Hash, required): Refers to the credit card account to which
64
+ # this payment is being charged. In a request, if a `credit_card_account_ref` aggregate
65
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
66
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
67
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
68
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
69
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
70
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
71
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
72
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
73
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
74
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
75
+ # SDK 2.0+.
76
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
77
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
78
+ # does not provide rates through the SDK. If your home currency is USD and internet access
79
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
80
+ # Activities > Download Latest Exchange Rates.
81
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
82
+ # - `include_ret_element` (Array<one of "APAccountRef", "Amount", "AmountInHomeCurrency",
83
+ # "AppliedToTxnRet", "CreditCardAccountRef", "CurrencyRef", "DataExtRet", "EditSequence",
84
+ # "ExchangeRate", "ExternalGUID", "ListID", "Memo", "OwnerID", "PayeeEntityRef",
85
+ # "RefNumber", "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
86
+ # - `memo` (String): Additional information.
87
+ # - `payee_entity_ref` (Hash, required): `payee_entity_ref` identifies the payee (customer,
88
+ # vendor, employee, or Other Name). If both `full_name` and `list_id` are provided,
89
+ # `full_name` is ignored.
90
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
91
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
92
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
93
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
94
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
95
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
96
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
97
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
98
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
99
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
100
+ # and numbering state.
101
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
102
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
103
+ # webhook already carries the request's `id`.
104
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
105
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
106
+ # transaction of the same type.
107
+ #
108
+ # @param connection_id [String]
109
+ # @param params [Hash] the fields above
110
+ # @param webhook_url [String] where QuBe Sync sends the answer
111
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
112
+ # @return [Hash] the queued request
113
+ # @see https://docs.qubesync.com/api-reference/v2/bill-payment-credit-cards/create-bill-payment-credit-card
114
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
115
+ queue("bill_payment_credit_card.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
116
+ end
117
+
118
+ # List bill payment credit cards: GET /connections/{connection_id}/bill-payment-credit-cards
119
+ # (`bill_payment_credit_card.query`).
120
+ #
121
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
122
+ # `iteration_state` `done`.
123
+ #
124
+ # Params, sent as the query string:
125
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
126
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
127
+ # account number (instead of an account name) for `full_name` and get the account you’re
128
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
129
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
130
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
131
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
132
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
133
+ # choices.
134
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
135
+ # `full_name_with_children`.
136
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
137
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
138
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
139
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
140
+ # specified object and its descendants. For names that don’t have children,
141
+ # `full_name_with_children` is exactly the same as `full_name`.
142
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
143
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
144
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
145
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
146
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
147
+ # specified object and its descendants.
148
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
149
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
150
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
151
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
152
+ # combine with each other, not with the other choices.
153
+ # Give at most one of: `list_id`, or `full_name`.
154
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
155
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
156
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
157
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
158
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
159
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
160
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
161
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
162
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
163
+ # information about all the entities that are set up in the QuickBooks file. In an
164
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
165
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
166
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
167
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
168
+ # combine with each other, not with the other choices.
169
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
170
+ # `full_name_with_children`.
171
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
172
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
173
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
174
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
175
+ # specified object and its descendants. For names that don’t have children,
176
+ # `full_name_with_children` is exactly the same as `full_name`.
177
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
178
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
179
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
180
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
181
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
182
+ # specified object and its descendants.
183
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
184
+ # response to get a smaller result. The default value is false, so line items are omitted by
185
+ # default. Set `include_line_items` to true to include line items in the response if you
186
+ # don’t mind getting a larger result.
187
+ # - `include_ret_element` (Array<one of "APAccountRef", "Amount", "AmountInHomeCurrency",
188
+ # "AppliedToTxnRet", "CreditCardAccountRef", "CurrencyRef", "DataExtRet", "EditSequence",
189
+ # "ExchangeRate", "ExternalGUID", "Memo", "PayeeEntityRef", "RefNumber", "TimeCreated",
190
+ # "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
191
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
192
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
193
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
194
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
195
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
196
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
197
+ # match comes back in one answer, so leave `iterator` out.
198
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
199
+ # count of how many objects could possibly be returned, use the `meta_data` query
200
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
201
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
202
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
203
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
204
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
205
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
206
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
207
+ # other, not with the other choices.
208
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
209
+ # `meta_data` attribute to control whether query responses include counts. Options are
210
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
211
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
212
+ # during processing.
213
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
214
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
215
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
216
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
217
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
218
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
219
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
220
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
221
+ # other, not with the other choices.
222
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
223
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
224
+ # date is provided, time defaults to 00:00:00.
225
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
226
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
227
+ # date is provided, time defaults to end-of-day (23:59:59).
228
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
229
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
230
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
231
+ # across apps. If you do share them, both apps must use the same `owner_id` and
232
+ # `data_ext_name`, because that pair uniquely identifies the extension.
233
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
234
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
235
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
236
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
237
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
238
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
239
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
240
+ # other, not with the other choices.
241
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
242
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
243
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
244
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
245
+ # combine with each other, not with the other choices.
246
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
247
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
248
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
249
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
250
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
251
+ # combine with each other, not with the other choices.
252
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
253
+ # to match.
254
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
255
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
256
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
257
+ # QuickBooks preferences and numbering state.
258
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
259
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
260
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
261
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
262
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
263
+ # combine with each other, not with the other choices.
264
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
265
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
266
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
267
+ # is omitted, the range will end with last number on the list.
268
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
269
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
270
+ # webhook already carries the request's `id`.
271
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
272
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
273
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
274
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
275
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
276
+ # choices.
277
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
278
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
279
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
280
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
281
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
282
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
283
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
284
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
285
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
286
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
287
+ # last-modified date). Do not combine `date_macro` with
288
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
289
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
290
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
291
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
292
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
293
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
294
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
295
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
296
+ # Use it to reference that transaction in later requests. `txn_id` values are
297
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
298
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
299
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
300
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
301
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
302
+ # choices.
303
+ #
304
+ # @param connection_id [String]
305
+ # @param params [Hash] the fields above
306
+ # @param webhook_url [String] where QuBe Sync sends the answer
307
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
308
+ # @return [Hash] the queued request
309
+ # @see https://docs.qubesync.com/api-reference/v2/bill-payment-credit-cards/list-bill-payment-credit-cards
310
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
311
+ queue("bill_payment_credit_card.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
312
+ end
313
+ end
314
+ end
315
+ end
@@ -0,0 +1,66 @@
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 bill to pay operations, reached as `client.bill_to_pay`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class BillToPay < Base
9
+ # List bill to pays: GET /connections/{connection_id}/bill-to-pays (`bill_to_pay.query`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the query string:
14
+ # - `ap_account_ref` (Hash): Refers to an accounts payable account in the QuickBooks file.
15
+ # (The AccountType of this account will be AccountsPayable.) If `ap_account_ref` is missing,
16
+ # the SDK will use the QuickBooks default AP account. In a request, if an `ap_account_ref`
17
+ # aggregate includes both `full_name` and `list_id`, `full_name` will be ignored.
18
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
19
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
20
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
21
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
22
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
23
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
24
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
25
+ # - `currency_filter` (Hash): Filters by the specified currency.
26
+ # Give at most one of: `list_id`, or `full_name`.
27
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
28
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
29
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
30
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
31
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
32
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
33
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
34
+ # - `due_date` (String): The date on which payment is due.
35
+ # - `include_ret_element` (Array<one of "BillToPay", "CreditToApply">)
36
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
37
+ # `meta_data` attribute to control whether query responses include counts. Options are
38
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
39
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
40
+ # during processing.
41
+ # - `payee_entity_ref` (Hash, required): `payee_entity_ref` identifies the payee (customer,
42
+ # vendor, employee, or Other Name). If both `full_name` and `list_id` are provided,
43
+ # `full_name` is ignored.
44
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
45
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
46
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
47
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
48
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
49
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
50
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
51
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
52
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
53
+ # webhook already carries the request's `id`.
54
+ #
55
+ # @param connection_id [String]
56
+ # @param params [Hash] the fields above
57
+ # @param webhook_url [String] where QuBe Sync sends the answer
58
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
59
+ # @return [Hash] the queued request
60
+ # @see https://docs.qubesync.com/api-reference/v2/bill-to-pays/list-bill-to-pays
61
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
62
+ queue("bill_to_pay.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,172 @@
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 billing rate operations, reached as `client.billing_rate`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class BillingRate < Base
9
+ # Create billing rate: POST /connections/{connection_id}/billing-rates
10
+ # (`billing_rate.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # Give at most one of: `fixed_billing_rate`, or `billing_rate_per_item`.
16
+ # - `billing_rate_per_item` (Array<Hash>)
17
+ # - `adjust_billing_rate_relative_to` (one of "CurrentCustomRate", "StandardRate"):
18
+ # Specifies the service item rate that `adjust_percentage` is applied to. Normally, this
19
+ # is set to StandardRate. Choose exactly one of: the set (`custom_rate`,
20
+ # `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`,
21
+ # `adjust_percentage`). Members of a set combine with each other, not with the other
22
+ # choices.
23
+ # - `adjust_percentage` (Numeric): If you don’t want to apply a custom price (for price
24
+ # levels) or custom rate (for billing rates), you can apply an adjusted price discount
25
+ # using the pair of fields `adjust_percentage` and AdjustRelativeTo
26
+ # (`adjust_billing_rate_relative_to` for billing rates). Choose exactly one of: the set
27
+ # (`custom_rate`, `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`,
28
+ # `adjust_percentage`). Members of a set combine with each other, not with the other
29
+ # choices.
30
+ # - `custom_rate` (Numeric): The value specified here overrides the rate of the service item
31
+ # referenced in this aggregate (in the `item_ref`) with the rate you specify here. If
32
+ # instead you wanted a rate that is a percentage higher or lower than the service item
33
+ # rate, you wouldn’t use `custom_rate`, but you would use `adjust_percentage` and
34
+ # `adjust_billing_rate_relative_to`. Choose exactly one of: the set (`custom_rate`,
35
+ # `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`,
36
+ # `adjust_percentage`). Members of a set combine with each other, not with the other
37
+ # choices.
38
+ # - `custom_rate_percent` (Numeric): Using this field with BillingRateAdd will work only if
39
+ # the service item itself is set to a percentage, not to an amount. If you attempt to set
40
+ # the Billing Rate to a percentage for a service item that has an amount for the Rate, you
41
+ # will get an error. The kind of rate you have on the service item determines the kind of
42
+ # billing rate you may have on that item. Choose exactly one of: the set (`custom_rate`,
43
+ # `custom_rate_percent`), or the set (`adjust_billing_rate_relative_to`,
44
+ # `adjust_percentage`). Members of a set combine with each other, not with the other
45
+ # choices.
46
+ # - `item_ref` (Hash, required): `item_ref` may accept all item types or a restricted
47
+ # subset, depending on the request. Examples: PurchaseOrder and Bill do not allow discount
48
+ # or sales-tax items; VehicleMileageAdd requires a service or other-charge item;
49
+ # BillingRateAdd requires a service item. If both `full_name` and `list_id` are provided,
50
+ # `full_name` is ignored.
51
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
52
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
53
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
54
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
55
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
56
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
57
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
58
+ # - `fixed_billing_rate` (Numeric): You use `fixed_billing_rate` if you want the rate to
59
+ # override all service items rates. Consequently, there is no need to specify any service
60
+ # items (and in fact you can’t specify them) if you use this element.
61
+ # - `include_ret_element` (Array<one of "BillingRatePerItemRet", "BillingRateType",
62
+ # "EditSequence", "ExternalGUID", "FixedBillingRate", "ListID", "Name", "OwnerID",
63
+ # "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
64
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
65
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
66
+ # reuse the same Name in different branches because `full_name` remains distinct.
67
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
68
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
69
+ # webhook already carries the request's `id`.
70
+ #
71
+ # @param connection_id [String]
72
+ # @param params [Hash] the fields above
73
+ # @param webhook_url [String] where QuBe Sync sends the answer
74
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
75
+ # @return [Hash] the queued request
76
+ # @see https://docs.qubesync.com/api-reference/v2/billing-rates/create-billing-rate
77
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
78
+ queue("billing_rate.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
79
+ end
80
+
81
+ # List billing rates: GET /connections/{connection_id}/billing-rates (`billing_rate.query`).
82
+ #
83
+ # QuickBooks answers in one webhook.
84
+ #
85
+ # Params, sent as the query string:
86
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
87
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
88
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
89
+ # `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`, `name_filter`,
90
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
91
+ # with the other choices.
92
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
93
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
94
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
95
+ # one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`,
96
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
97
+ # combine with each other, not with the other choices.
98
+ # - `include_ret_element` (Array<one of "BillingRatePerItemRet", "BillingRateType",
99
+ # "EditSequence", "FixedBillingRate", "ListID", "Name", "TimeCreated", "TimeModified">)
100
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset, depending
101
+ # on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items;
102
+ # VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a
103
+ # service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
104
+ # Choose at most one of: `list_id`, or `full_name`, or the set (`from_modified_date`,
105
+ # `item_ref`, `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`).
106
+ # Members of a set combine with each other, not with the other choices.
107
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
108
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
109
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
110
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
111
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
112
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
113
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
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`. Choose at most
118
+ # one of: `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`,
119
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
120
+ # combine with each other, not with the other choices.
121
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
122
+ # count of how many objects could possibly be returned, use the `meta_data` query
123
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
124
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
125
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
126
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
127
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
128
+ # `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`,
129
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
130
+ # each other, not with the other choices.
131
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
132
+ # `meta_data` attribute to control whether query responses include counts. Options are
133
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
134
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
135
+ # during processing.
136
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
137
+ # `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`,
138
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
139
+ # each other, not with the other choices.
140
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
141
+ # to match.
142
+ # - `name` (String, required): The string to match.
143
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
144
+ # `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`,
145
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
146
+ # each other, not with the other choices.
147
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
148
+ # omitted, the range will begin with first name on the list.
149
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
150
+ # the range will end with last name on the list.
151
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
152
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
153
+ # webhook already carries the request's `id`.
154
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
155
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
156
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
157
+ # `list_id`, or `full_name`, or the set (`from_modified_date`, `item_ref`, `max_returned`,
158
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
159
+ # each other, not with the other choices.
160
+ #
161
+ # @param connection_id [String]
162
+ # @param params [Hash] the fields above
163
+ # @param webhook_url [String] where QuBe Sync sends the answer
164
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
165
+ # @return [Hash] the queued request
166
+ # @see https://docs.qubesync.com/api-reference/v2/billing-rates/list-billing-rates
167
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
168
+ queue("billing_rate.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
169
+ end
170
+ end
171
+ end
172
+ end