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,195 @@
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 currency operations, reached as `client.currency`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Currency < Base
9
+ # Create currency: POST /connections/{connection_id}/currencies (`currency.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `currency_code` (String, required): For built-in currencies, the currency code and name is
15
+ # the generally accepted code and name. These are based on the standard ISO 4217 code/name
16
+ # for a country’s currency. In most cases, the currency code is composed of the country’s
17
+ # two-character Internet country code plus an extra character representing the currency
18
+ # unit.
19
+ # - `currency_format` (Hash): The aggregate controlling the appearance of the currency with
20
+ # regard to comma and decimal.
21
+ # - `decimal_places` (one of "0", "2"): This enumerated value controls the display of the
22
+ # decimal value, for example, 1.00. The default is 2 which means 2 decimals are displayed
23
+ # to the right of the decimal point, but you can specify 0 (zero) if you don’t want’
24
+ # decimals to be displayed.
25
+ # - `decimal_separator` (one of "Comma", "Period"): This enumerated value controls the
26
+ # display of the decimal point, for example, 1.00 or 1,00. The default is Period but you
27
+ # could alternatively specify a value of Comma.
28
+ # - `thousand_separator` (one of "Apostrophe", "Comma", "Period", "Space"): This enumerated
29
+ # value controls how the thousandth’s place is separated from the next thousand, for
30
+ # example, 1,000,000. The default is Comma, as shown, but you can replace this with one of
31
+ # these values: Period, Space, Apostrophe .
32
+ # - `thousand_separator_grouping` (one of "XX_XXX_XXX", "X_XX_XX_XXX"): This enumerated
33
+ # value controls how the display of the currency value is grouped, for example,
34
+ # 10,000,000. The default is XX_XXX_XXX but you could replace this with X_XX_XX_XXX
35
+ # - `include_ret_element` (Array<one of "AsOfDate", "CurrencyCode", "CurrencyFormat",
36
+ # "EditSequence", "ExchangeRate", "ExternalGUID", "IsActive", "IsUserDefinedCurrency",
37
+ # "ListID", "Name", "OwnerID", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
38
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
39
+ # QuickBooks. The default value is true.
40
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
41
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
42
+ # reuse the same Name in different branches because FullName remains distinct.
43
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
44
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
45
+ # webhook already carries the request's `id`.
46
+ #
47
+ # @param connection_id [String]
48
+ # @param params [Hash] the fields above
49
+ # @param webhook_url [String] where QuBe Sync sends the answer
50
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
51
+ # @return [Hash] the queued request
52
+ # @see https://docs.qubesync.com/api-reference/v2/currencies/create-currency
53
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
54
+ queue("currency.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
55
+ end
56
+
57
+ # List currencies: GET /connections/{connection_id}/currencies (`currency.query`).
58
+ #
59
+ # QuickBooks answers in one webhook.
60
+ #
61
+ # Params, sent as the query string:
62
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
63
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
64
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
65
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
66
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
67
+ # combine with each other, not with the other choices.
68
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
69
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
70
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
71
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
72
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
73
+ # each other, not with the other choices.
74
+ # - `full_name` (Array<String>): Choose at most one of: `list_id`, or `full_name`, or the set
75
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
76
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
77
+ # with the other choices.
78
+ # - `include_ret_element` (Array<one of "AsOfDate", "CurrencyCode", "CurrencyFormat",
79
+ # "EditSequence", "ExchangeRate", "IsActive", "IsUserDefinedCurrency", "ListID", "Name",
80
+ # "TimeCreated", "TimeModified">)
81
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
82
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
83
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
84
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
85
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
86
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
87
+ # combine with each other, not with the other choices.
88
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
89
+ # count of how many objects could possibly be returned, use the `meta_data` query
90
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
91
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
92
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
93
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
94
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
95
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
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
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
99
+ # `meta_data` attribute to control whether query responses include counts. Options are
100
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
101
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
102
+ # during processing.
103
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
104
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
105
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
106
+ # combine with each other, not with the other choices.
107
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
108
+ # to match.
109
+ # - `name` (String, required): The string to match.
110
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
111
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
112
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
113
+ # combine with each other, not with the other choices.
114
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
115
+ # omitted, the range will begin with first name on the list.
116
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
117
+ # the range will end with last name on the list.
118
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
119
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
120
+ # webhook already carries the request's `id`.
121
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
122
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
123
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
124
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
125
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
126
+ # combine with each other, not with the other choices.
127
+ #
128
+ # @param connection_id [String]
129
+ # @param params [Hash] the fields above
130
+ # @param webhook_url [String] where QuBe Sync sends the answer
131
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
132
+ # @return [Hash] the queued request
133
+ # @see https://docs.qubesync.com/api-reference/v2/currencies/list-currencies
134
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
135
+ queue("currency.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
136
+ end
137
+
138
+ # Update currency: PUT /connections/{connection_id}/currencies (`currency.update`).
139
+ #
140
+ # QuickBooks answers in one webhook.
141
+ #
142
+ # Params, sent as the JSON body:
143
+ # - `currency_code` (String): For built-in currencies, the currency code and name is the
144
+ # generally accepted code and name. These are based on the standard ISO 4217 code/name for a
145
+ # country’s currency. In most cases, the currency code is composed of the country’s
146
+ # two-character Internet country code plus an extra character representing the currency
147
+ # unit.
148
+ # - `currency_format` (Hash): The aggregate controlling the appearance of the currency with
149
+ # regard to comma and decimal.
150
+ # - `decimal_places` (one of "0", "2"): This enumerated value controls the display of the
151
+ # decimal value, for example, 1.00. The default is 2 which means 2 decimals are displayed
152
+ # to the right of the decimal point, but you can specify 0 (zero) if you don’t want’
153
+ # decimals to be displayed.
154
+ # - `decimal_separator` (one of "Comma", "Period"): This enumerated value controls the
155
+ # display of the decimal point, for example, 1.00 or 1,00. The default is Period but you
156
+ # could alternatively specify a value of Comma.
157
+ # - `thousand_separator` (one of "Apostrophe", "Comma", "Period", "Space"): This enumerated
158
+ # value controls how the thousandth’s place is separated from the next thousand, for
159
+ # example, 1,000,000. The default is Comma, as shown, but you can replace this with one of
160
+ # these values: Period, Space, Apostrophe .
161
+ # - `thousand_separator_grouping` (one of "XX_XXX_XXX", "X_XX_XX_XXX"): This enumerated
162
+ # value controls how the display of the currency value is grouped, for example,
163
+ # 10,000,000. The default is XX_XXX_XXX but you could replace this with X_XX_XX_XXX
164
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
165
+ # It changes each time the object is updated. To modify an existing object, you must send
166
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
167
+ # overwriting newer changes.
168
+ # - `include_ret_element` (Array<one of "AsOfDate", "CurrencyCode", "CurrencyFormat",
169
+ # "EditSequence", "ExchangeRate", "ExternalGUID", "IsActive", "IsUserDefinedCurrency",
170
+ # "ListID", "Name", "OwnerID", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
171
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
172
+ # QuickBooks. The default value is true.
173
+ # - `list_id` (String, required): `list_id` and FullName both identify a list object.
174
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
175
+ # within a list type, not globally across all lists. If both FullName and `list_id` are
176
+ # supplied in a request, QuickBooks uses `list_id` and ignores FullName.
177
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
178
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
179
+ # same Name in different branches because FullName remains distinct.
180
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
181
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
182
+ # webhook already carries the request's `id`.
183
+ #
184
+ # @param connection_id [String]
185
+ # @param params [Hash] the fields above
186
+ # @param webhook_url [String] where QuBe Sync sends the answer
187
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
188
+ # @return [Hash] the queued request
189
+ # @see https://docs.qubesync.com/api-reference/v2/currencies/update-currency
190
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
191
+ queue("currency.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
192
+ end
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,176 @@
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 custom detail report operations, reached as `client.custom_detail_report`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class CustomDetailReport < Base
9
+ # List custom detail reports: GET /connections/{connection_id}/custom-detail-reports
10
+ # (`custom_detail_report.query`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the query string:
15
+ # - `custom_detail_report_type` (one of "CustomTxnDetail", required): The type of report being
16
+ # queried.
17
+ # - `display_report` (Boolean): Set `display_report` to true to display this report within the
18
+ # QuickBooks UI. (Default is false.) If you want the request to display the report without
19
+ # returning any data to your application, set the responseData attribute to includeNone.
20
+ # - `include_accounts` (one of "All", "InUse"): Indicates whether this report should include
21
+ # all accounts or just those that are currently in use.
22
+ # - `include_column` (Array<one of "Account", "Aging", "Amount", "AmountDifference",
23
+ # "AverageCost", "BilledDate", "BillingStatus", "CalculatedAmount", "Class",
24
+ # "ClearedStatus", "CostPrice", "Credit", "Currency", "Date", "Debit", "DeliveryDate",
25
+ # "DueDate", "EstimateActive", "ExchangeRate", "FOB", "IncomeSubjectToTax", "Invoiced",
26
+ # "Item", "ItemDesc", "LastModifiedBy", "LatestOrPriorState", "Memo", "ModifiedTime",
27
+ # "Name", "NameAccountNumber", "NameAddress", "NameCity", "NameContact", "NameEmail",
28
+ # "NameFax", "NamePhone", "NameState", "NameZip", "OpenBalance", "OriginalAmount",
29
+ # "PONumber", "PaidAmount", "PaidStatus", "PaidThroughDate", "PaymentMethod", "PayrollItem",
30
+ # "PrintStatus", "ProgressAmount", "ProgressPercent", "Quantity", "QuantityAvailable",
31
+ # "QuantityOnHand", "QuantityOnSalesOrder", "ReceivedQuantity", "RefNumber",
32
+ # "RunningBalance", "SSNOrTaxID", "SalesRep", "SalesTaxCode", "SerialOrLotNumber",
33
+ # "ShipDate", "ShipMethod", "SourceName", "SplitAccount", "TaxLine", "TaxTableVersion",
34
+ # "Terms", "TxnID", "TxnNumber", "TxnType", "UnitPrice", "UserEdit", "ValueOnHand",
35
+ # "WageBase", "WageBaseTips">, required)
36
+ # - `report_account_filter` (Hash): Allows you to query for a specified account type or for
37
+ # specific list elements.
38
+ # Give at most one of: `account_type_filter`, or `list_id`, or `full_name`, or
39
+ # `list_id_with_children`, or `full_name_with_children`.
40
+ # - `account_type_filter` (one of "APAndSalesTax", "APOrCreditCard", "ARAndAP",
41
+ # "AccountsPayable", "AccountsReceivable", "AllowedFor1099", "Asset", "BalanceSheet",
42
+ # "Bank", "BankAndARAndAPAndUF", "BankAndUF", "CostOfSales", "CreditCard", "CurrentAsset",
43
+ # "CurrentAssetAndExpense", "CurrentLiability", "Equity", "EquityAndIncomeAndExpense",
44
+ # "ExpenseAndOtherExpense", "FixedAsset", "IncomeAndExpense", "IncomeAndOtherIncome",
45
+ # "Liability", "LiabilityAndEquity", "LongTermLiability", "NonPosting", "OrdinaryExpense",
46
+ # "OrdinaryIncome", "OrdinaryIncomeAndCOGS", "OrdinaryIncomeAndExpense", "OtherAsset",
47
+ # "OtherCurrentAsset", "OtherCurrentLiability", "OtherExpense", "OtherIncome",
48
+ # "OtherIncomeOrExpense"): Allows you to report on a specific account type.
49
+ # - `full_name` (Array<String>)
50
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
51
+ # specified object and its descendants. For names that don’t have children,
52
+ # `full_name_with_children` is exactly the same as `full_name`.
53
+ # - `list_id` (Array<String>)
54
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
55
+ # specified object and its descendants.
56
+ # - `report_basis` (one of "Accrual", "Cash", "None"): If `report_basis` is rbCash, the report
57
+ # bases income and expenses on the dates when money changed hands.rbAccrual, the report
58
+ # bases income on the dates when customers were invoiced and bases expenses on the dates
59
+ # when bills were entered.rbNone, the report uses the default `report_basis`, which is
60
+ # either the QuickBooks Preference setting or the QuickBooks default for a given type of
61
+ # report.
62
+ # - `report_class_filter` (Hash): Allows you to query for a specified class. Classes can be
63
+ # used to separate transactions into meaningful categories. (For example, transactions could
64
+ # be classified according to department, business location, or type of work.) In QuickBooks,
65
+ # class tracking is off by default.
66
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
67
+ # `full_name_with_children`.
68
+ # - `full_name` (Array<String>)
69
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
70
+ # specified object and its descendants. For names that don’t have children,
71
+ # `full_name_with_children` is exactly the same as `full_name`.
72
+ # - `list_id` (Array<String>)
73
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
74
+ # specified object and its descendants.
75
+ # - `report_date_macro` (one of "All", "LastMonth", "LastMonthToDate", "LastQuarter",
76
+ # "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear", "LastYearToDate",
77
+ # "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear", "ThisMonth",
78
+ # "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek", "ThisWeekToDate",
79
+ # "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period covered by this
80
+ # report. Choose at most one of: `report_period`, or `report_date_macro`.
81
+ # - `report_detail_level_filter` (one of "All", "AllExceptSummary", "SummaryOnly"): The level
82
+ # of detail to include in the report.
83
+ # - `report_entity_filter` (Hash): Allows you to query for a specified name type (customer,
84
+ # employee, vendor, or other) or query for specific list elements.
85
+ # Give at most one of: `entity_type_filter`, or `list_id`, or `full_name`, or
86
+ # `list_id_with_children`, or `full_name_with_children`.
87
+ # - `entity_type_filter` (one of "Customer", "Employee", "OtherName", "Vendor"): Allows you
88
+ # to report on a specific name type.
89
+ # - `full_name` (Array<String>)
90
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
91
+ # specified object and its descendants. For names that don’t have children,
92
+ # `full_name_with_children` is exactly the same as `full_name`.
93
+ # - `list_id` (Array<String>)
94
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
95
+ # specified object and its descendants.
96
+ # - `report_item_filter` (Hash): Allows you to query for a specified item type (for example,
97
+ # discount, inventory, or non-inventory) or query for specific list elements.
98
+ # Give at most one of: `item_type_filter`, or `list_id`, or `full_name`, or
99
+ # `list_id_with_children`, or `full_name_with_children`.
100
+ # - `full_name` (Array<String>)
101
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
102
+ # specified object and its descendants. For names that don’t have children,
103
+ # `full_name_with_children` is exactly the same as `full_name`.
104
+ # - `item_type_filter` (one of "AllExceptFixedAsset", "Assembly", "Discount", "FixedAsset",
105
+ # "Inventory", "InventoryAndAssembly", "NonInventory", "OtherCharge", "Payment", "Sales",
106
+ # "SalesTax", "Service"): Allows you to report on a specific item type.
107
+ # - `list_id` (Array<String>)
108
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
109
+ # specified object and its descendants.
110
+ # - `report_modified_date_range_filter` (Hash): Returns reports that were modified between
111
+ # these two dates (inclusive). The range of acceptable dates for both
112
+ # `from_report_modified_date` and `to_report_modified_date` is 1970-01-01 to
113
+ # 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). Choose at most one of:
114
+ # `report_modified_date_range_filter`, or `report_modified_date_range_macro`.
115
+ # - `from_report_modified_date` (String): Selects information from this date and later. The
116
+ # range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
117
+ # (2038-01-18T19:14:07-08:00 PST).
118
+ # - `to_report_modified_date` (String): Selects information created on this date or earlier.
119
+ # The range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
120
+ # (2038-01-18T19:14:07-08:00 PST).
121
+ # - `report_modified_date_range_macro` (one of "All", "LastMonth", "LastMonthToDate",
122
+ # "LastQuarter", "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear",
123
+ # "LastYearToDate", "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear",
124
+ # "ThisMonth", "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek",
125
+ # "ThisWeekToDate", "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period
126
+ # covered by this report. Choose at most one of: `report_modified_date_range_filter`, or
127
+ # `report_modified_date_range_macro`.
128
+ # - `report_open_balance_as_of` (one of "ReportEndDate", "Today"): The report will return open
129
+ # balance information up to the `report_open_balance_as_of` date.
130
+ # - `report_period` (Hash): If you omit both `to_report_date` and `from_report_date`, the
131
+ # report will cover the current fiscal year to date. Choose at most one of: `report_period`,
132
+ # or `report_date_macro`.
133
+ # - `from_report_date` (String): Selects information from this date and later. The range of
134
+ # acceptable `from_report_date` and `to_report_date` values depends on how the report
135
+ # dates are determined. If the report dates are based on the dates of transactions, the
136
+ # range is 01/01/1901 to 12/31/9999.
137
+ # - `to_report_date` (String): Selects information created on this date or earlier. The
138
+ # range of acceptable `to_report_date` and `from_report_date` values depends on how the
139
+ # report dates are determined. If the report dates are based on the dates of transactions,
140
+ # the range is 01/01/1901 to 12/31/9999.
141
+ # - `report_posting_status_filter` (one of "Either", "NonPosting", "Posting"): Allows you to
142
+ # query for posting reports, non-posting reports, or reports that are either one.
143
+ # - `report_txn_type_filter` (Hash): Allows you to report on specific transaction types (for
144
+ # example, charge, check, deposit, or estimate).
145
+ # - `txn_type_filter` (Array<one of "ARRefundCreditCard", "All", "Bill", "BillPaymentCheck",
146
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
147
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment",
148
+ # "Invoice", "ItemReceipt", "JournalEntry", "LiabilityAdjustment", "Paycheck",
149
+ # "PayrollLiabilityCheck", "PurchaseOrder", "ReceivePayment", "SalesOrder",
150
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Transfer", "VendorCredit", "YTDAdjustment">,
151
+ # required)
152
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
153
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
154
+ # webhook already carries the request's `id`.
155
+ # - `summarize_rows_by` (one of "Account", "BalanceSheet", "Class", "Customer",
156
+ # "CustomerType", "Day", "Employee", "FourWeek", "HalfMonth", "IncomeStatement",
157
+ # "ItemDetail", "ItemType", "Month", "Payee", "PaymentMethod", "PayrollItemDetail",
158
+ # "PayrollYtdDetail", "Quarter", "SalesRep", "SalesTaxCode", "ShipMethod", "TaxLine",
159
+ # "Terms", "TotalOnly", "TwoWeek", "Vendor", "VendorType", "Week", "Year", required):
160
+ # `summarize_rows_by` (along with IncludeColumnList, in most cases) determines what data is
161
+ # calculated for this report and controls how the rows are organized and labeled. For
162
+ # example, if you set the value to srbAccount, the report’s row labels might be “Checking,”
163
+ # “Savings,” and so on.
164
+ #
165
+ # @param connection_id [String]
166
+ # @param params [Hash] the fields above
167
+ # @param webhook_url [String] where QuBe Sync sends the answer
168
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
169
+ # @return [Hash] the queued request
170
+ # @see https://docs.qubesync.com/api-reference/v2/custom-detail-reports/list-custom-detail-reports
171
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
172
+ queue("custom_detail_report.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,180 @@
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 custom summary report operations, reached as `client.custom_summary_report`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class CustomSummaryReport < Base
9
+ # List custom summary reports: GET /connections/{connection_id}/custom-summary-reports
10
+ # (`custom_summary_report.query`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the query string:
15
+ # - `custom_summary_report_type` (one of "CustomSummary", required): The type of report being
16
+ # queried.
17
+ # - `display_report` (Boolean): Set `display_report` to true to display this report within the
18
+ # QuickBooks UI. (Default is false.) If you want the request to display the report without
19
+ # returning any data to your application, set the responseData attribute to includeNone.
20
+ # - `include_subcolumns` (Boolean): The default value is false, which means that the report
21
+ # won’t include any subcolumn information. To include all available types of subcolumns for
22
+ # this report, set `include_subcolumns` to true. The SDK won’t return subcolumn information
23
+ # for data that can be easily computed. (For example, the SDK doesn’t return the “percent of
24
+ # row” column.)
25
+ # - `report_account_filter` (Hash): Allows you to query for a specified account type or for
26
+ # specific list elements.
27
+ # Give at most one of: `account_type_filter`, or `list_id`, or `full_name`, or
28
+ # `list_id_with_children`, or `full_name_with_children`.
29
+ # - `account_type_filter` (one of "APAndSalesTax", "APOrCreditCard", "ARAndAP",
30
+ # "AccountsPayable", "AccountsReceivable", "AllowedFor1099", "Asset", "BalanceSheet",
31
+ # "Bank", "BankAndARAndAPAndUF", "BankAndUF", "CostOfSales", "CreditCard", "CurrentAsset",
32
+ # "CurrentAssetAndExpense", "CurrentLiability", "Equity", "EquityAndIncomeAndExpense",
33
+ # "ExpenseAndOtherExpense", "FixedAsset", "IncomeAndExpense", "IncomeAndOtherIncome",
34
+ # "Liability", "LiabilityAndEquity", "LongTermLiability", "NonPosting", "OrdinaryExpense",
35
+ # "OrdinaryIncome", "OrdinaryIncomeAndCOGS", "OrdinaryIncomeAndExpense", "OtherAsset",
36
+ # "OtherCurrentAsset", "OtherCurrentLiability", "OtherExpense", "OtherIncome",
37
+ # "OtherIncomeOrExpense"): Allows you to report on a specific account type.
38
+ # - `full_name` (Array<String>)
39
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
40
+ # specified object and its descendants. For names that don’t have children,
41
+ # `full_name_with_children` is exactly the same as `full_name`.
42
+ # - `list_id` (Array<String>)
43
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
44
+ # specified object and its descendants.
45
+ # - `report_basis` (one of "Accrual", "Cash", "None"): If `report_basis` is rbCash, the report
46
+ # bases income and expenses on the dates when money changed hands.rbAccrual, the report
47
+ # bases income on the dates when customers were invoiced and bases expenses on the dates
48
+ # when bills were entered.rbNone, the report uses the default `report_basis`, which is
49
+ # either the QuickBooks Preference setting or the QuickBooks default for a given type of
50
+ # report.
51
+ # - `report_calendar` (one of "CalendarYear", "FiscalYear", "TaxYear"): Specifies the type of
52
+ # year that will be used for this report.
53
+ # - `report_class_filter` (Hash): Allows you to query for a specified class. Classes can be
54
+ # used to separate transactions into meaningful categories. (For example, transactions could
55
+ # be classified according to department, business location, or type of work.) In QuickBooks,
56
+ # class tracking is off by default.
57
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
58
+ # `full_name_with_children`.
59
+ # - `full_name` (Array<String>)
60
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
61
+ # specified object and its descendants. For names that don’t have children,
62
+ # `full_name_with_children` is exactly the same as `full_name`.
63
+ # - `list_id` (Array<String>)
64
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
65
+ # specified object and its descendants.
66
+ # - `report_date_macro` (one of "All", "LastMonth", "LastMonthToDate", "LastQuarter",
67
+ # "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear", "LastYearToDate",
68
+ # "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear", "ThisMonth",
69
+ # "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek", "ThisWeekToDate",
70
+ # "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period covered by this
71
+ # report. Choose at most one of: `report_period`, or `report_date_macro`.
72
+ # - `report_detail_level_filter` (one of "All", "AllExceptSummary", "SummaryOnly"): The level
73
+ # of detail to include in the report.
74
+ # - `report_entity_filter` (Hash): Allows you to query for a specified name type (customer,
75
+ # employee, vendor, or other) or query for specific list elements.
76
+ # Give at most one of: `entity_type_filter`, or `list_id`, or `full_name`, or
77
+ # `list_id_with_children`, or `full_name_with_children`.
78
+ # - `entity_type_filter` (one of "Customer", "Employee", "OtherName", "Vendor"): Allows you
79
+ # to report on a specific name type.
80
+ # - `full_name` (Array<String>)
81
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
82
+ # specified object and its descendants. For names that don’t have children,
83
+ # `full_name_with_children` is exactly the same as `full_name`.
84
+ # - `list_id` (Array<String>)
85
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
86
+ # specified object and its descendants.
87
+ # - `report_item_filter` (Hash): Allows you to query for a specified item type (for example,
88
+ # discount, inventory, or non-inventory) or query for specific list elements.
89
+ # Give at most one of: `item_type_filter`, or `list_id`, or `full_name`, or
90
+ # `list_id_with_children`, or `full_name_with_children`.
91
+ # - `full_name` (Array<String>)
92
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
93
+ # specified object and its descendants. For names that don’t have children,
94
+ # `full_name_with_children` is exactly the same as `full_name`.
95
+ # - `item_type_filter` (one of "AllExceptFixedAsset", "Assembly", "Discount", "FixedAsset",
96
+ # "Inventory", "InventoryAndAssembly", "NonInventory", "OtherCharge", "Payment", "Sales",
97
+ # "SalesTax", "Service"): Allows you to report on a specific item type.
98
+ # - `list_id` (Array<String>)
99
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
100
+ # specified object and its descendants.
101
+ # - `report_modified_date_range_filter` (Hash): Returns reports that were modified between
102
+ # these two dates (inclusive). The range of acceptable dates for both
103
+ # `from_report_modified_date` and `to_report_modified_date` is 1970-01-01 to
104
+ # 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). Choose at most one of:
105
+ # `report_modified_date_range_filter`, or `report_modified_date_range_macro`.
106
+ # - `from_report_modified_date` (String): Selects information from this date and later. The
107
+ # range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
108
+ # (2038-01-18T19:14:07-08:00 PST).
109
+ # - `to_report_modified_date` (String): Selects information created on this date or earlier.
110
+ # The range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
111
+ # (2038-01-18T19:14:07-08:00 PST).
112
+ # - `report_modified_date_range_macro` (one of "All", "LastMonth", "LastMonthToDate",
113
+ # "LastQuarter", "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear",
114
+ # "LastYearToDate", "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear",
115
+ # "ThisMonth", "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek",
116
+ # "ThisWeekToDate", "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period
117
+ # covered by this report. Choose at most one of: `report_modified_date_range_filter`, or
118
+ # `report_modified_date_range_macro`.
119
+ # - `report_period` (Hash): If you omit both `to_report_date` and `from_report_date`, the
120
+ # report will cover the current fiscal year to date. Choose at most one of: `report_period`,
121
+ # or `report_date_macro`.
122
+ # - `from_report_date` (String): Selects information from this date and later. The range of
123
+ # acceptable `from_report_date` and `to_report_date` values depends on how the report
124
+ # dates are determined. If the report dates are based on the dates of transactions, the
125
+ # range is 01/01/1901 to 12/31/9999.
126
+ # - `to_report_date` (String): Selects information created on this date or earlier. The
127
+ # range of acceptable `to_report_date` and `from_report_date` values depends on how the
128
+ # report dates are determined. If the report dates are based on the dates of transactions,
129
+ # the range is 01/01/1901 to 12/31/9999.
130
+ # - `report_posting_status_filter` (one of "Either", "NonPosting", "Posting"): Allows you to
131
+ # query for posting reports, non-posting reports, or reports that are either one.
132
+ # - `report_txn_type_filter` (Hash): Allows you to report on specific transaction types (for
133
+ # example, charge, check, deposit, or estimate).
134
+ # - `txn_type_filter` (Array<one of "ARRefundCreditCard", "All", "Bill", "BillPaymentCheck",
135
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
136
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment",
137
+ # "Invoice", "ItemReceipt", "JournalEntry", "LiabilityAdjustment", "Paycheck",
138
+ # "PayrollLiabilityCheck", "PurchaseOrder", "ReceivePayment", "SalesOrder",
139
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Transfer", "VendorCredit", "YTDAdjustment">,
140
+ # required)
141
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
142
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
143
+ # webhook already carries the request's `id`.
144
+ # - `return_columns` (one of "ActiveOnly", "All", "NonZero"): Specifies whether you want the
145
+ # report to include only columns with active information, only columns with nonzero values,
146
+ # or all columns regardless of their content or active status.
147
+ # - `return_rows` (one of "ActiveOnly", "All", "NonZero"): Specifies whether you want the
148
+ # report to include only rows with active information, only rows with nonzero values, or all
149
+ # rows regardless of their content or active status.
150
+ # - `summarize_columns_by` (one of "Account", "BalanceSheet", "Class", "Customer",
151
+ # "CustomerType", "Day", "Employee", "FourWeek", "HalfMonth", "IncomeStatement",
152
+ # "ItemDetail", "ItemType", "Month", "Payee", "PaymentMethod", "PayrollItemDetail",
153
+ # "PayrollYtdDetail", "Quarter", "SalesRep", "SalesTaxCode", "ShipMethod", "Terms",
154
+ # "TotalOnly", "TwoWeek", "Vendor", "VendorType", "Week", "Year", required):
155
+ # `summarize_columns_by` determines which data the report calculates and how the columns
156
+ # will be labeled across the top of the report. For example, if you set the value to
157
+ # scbTwoWeek, the report’s column labels might be “Feb 10-23, 02,” “Feb 24-Mar9, 02,” and so
158
+ # on.
159
+ # - `summarize_rows_by` (one of "Account", "BalanceSheet", "Class", "Customer",
160
+ # "CustomerType", "Day", "Employee", "FourWeek", "HalfMonth", "IncomeStatement",
161
+ # "ItemDetail", "ItemType", "Month", "Payee", "PaymentMethod", "PayrollItemDetail",
162
+ # "PayrollYtdDetail", "Quarter", "SalesRep", "SalesTaxCode", "ShipMethod", "TaxLine",
163
+ # "Terms", "TotalOnly", "TwoWeek", "Vendor", "VendorType", "Week", "Year", required):
164
+ # `summarize_rows_by` (along with IncludeColumnList, in most cases) determines what data is
165
+ # calculated for this report and controls how the rows are organized and labeled. For
166
+ # example, if you set the value to srbAccount, the report’s row labels might be “Checking,”
167
+ # “Savings,” and so on.
168
+ #
169
+ # @param connection_id [String]
170
+ # @param params [Hash] the fields above
171
+ # @param webhook_url [String] where QuBe Sync sends the answer
172
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
173
+ # @return [Hash] the queued request
174
+ # @see https://docs.qubesync.com/api-reference/v2/custom-summary-reports/list-custom-summary-reports
175
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
176
+ queue("custom_summary_report.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
177
+ end
178
+ end
179
+ end
180
+ end