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,627 @@
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 receive payment operations, reached as `client.receive_payment`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ReceivePayment < Base
9
+ # Record payment: POST /connections/{connection_id}/payments (`receive_payment.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # Give at most one of: `is_auto_apply`, or `applied_to_txn_add`.
15
+ # - `applied_to_txn_add` (Array<Hash>)
16
+ # - `discount_account_ref` (Hash): Refers to the account where this discount is tracked. In
17
+ # a request, if a `discount_account_ref` aggregate includes both `full_name` and
18
+ # `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
21
+ # example 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
24
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
25
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
26
+ # - `discount_amount` (Numeric): Reduces the receivable amount.
27
+ # - `discount_class_ref` (Hash): Class reference used in the Discount object.
28
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
29
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
30
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
31
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
32
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
33
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
34
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
35
+ # - `payment_amount` (Numeric): Represents the amount assigned to a particular receivable.
36
+ # The sum of all `payment_amount` elements in any given receive payment transaction must
37
+ # not be greater than `total_amount`.
38
+ # - `set_credit` (Array<Hash>)
39
+ # - `applied_amount` (Numeric, required): Amount of a credit that is applied to a
40
+ # customer’s invoice, or amount of a payment that is applied to a particular bill or
41
+ # vendor credit.
42
+ # - `credit_txn_id` (String, required): The ID of the credit memo that you are applying to
43
+ # this invoice or bill.
44
+ # - `override` (Boolean): Option to override credit.
45
+ # - `txn_line_id` (String)
46
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
47
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
48
+ # transaction-specific and should not be reused across unrelated transaction types.
49
+ # - `txn_line_detail` (Array<Hash>)
50
+ # - `amount` (Numeric, required): A monetary amount.
51
+ # - `txn_line_id` (String, required)
52
+ # - `ar_account_ref` (Hash): `ar_account_ref` points to an Accounts Receivable account. If
53
+ # both `full_name` and `list_id` are provided, `full_name` is ignored.
54
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
55
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
56
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
57
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
58
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
59
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
60
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
61
+ # - `credit_card_txn_info` (Hash): Contains data from the credit card transaction used in the
62
+ # payment. This data originates from a previous qbmsXML credit card transaction. The data
63
+ # following the element `credit_card_txn_input_info`” data is the data from the original
64
+ # qbmsXML request. The “`credit_card_txn_result_info`” is the data from the original qbmsXML
65
+ # response.
66
+ # - `credit_card_txn_input_info` (Hash, required): This contains data originally supplied in
67
+ # the QBMS transaction request. This information block shouldn’t be used in CreditMemo
68
+ # requests for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard
69
+ # request.
70
+ # - `commercial_card_code` (String): This optional field is used only for Visa and Master
71
+ # Card commercial cards. There are three types of these cards: purchase, corporate, and
72
+ # business. Normally, special lower transaction fee rates apply when these cards are
73
+ # used and this field is filled out. If this field is left blank, then the usual (and
74
+ # higher) discount rate applies.
75
+ # - `credit_card_address` (String): The address associated with this credit card.
76
+ # - `credit_card_number` (String, required): Credit-card number for this customer or this
77
+ # payment. Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit
78
+ # card number with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
79
+ # - `credit_card_postal_code` (String): The postal code associated with the address for
80
+ # this credit card.
81
+ # - `credit_card_txn_type` (one of "Authorization", "Capture", "Charge", "Refund",
82
+ # "VoiceAuthorization"): Indicates the QBMS transaction from which the current
83
+ # transaction data originated, for example, Charge, Authorization, Capture, Refund,
84
+ # VoiceAuthorization, or Void.
85
+ # - `expiration_month` (Integer, required): The month when the credit card expires.
86
+ # - `expiration_year` (Integer, required): The year when the credit card expires.
87
+ # - `name_on_card` (String, required): The name on the customer’s credit card.
88
+ # - `transaction_mode` (one of "CardNotPresent", "CardPresent"): Indicates whether this
89
+ # transaction came from a card swipe (tmCardPresent) or not (tmCardNotPresent).
90
+ # - `credit_card_txn_result_info` (Hash, required): This contains data returned in the QBMS
91
+ # transaction response. This information block shouldn’t be used in CreditMemo requests
92
+ # for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard request.
93
+ # - `authorization_code` (String): The authorization code is returned from the credit card
94
+ # processor to indicate that the charge will be paid by the card issuer. In a voice
95
+ # authorization request (CustomerCreditCardVoiceAuthRq), the authorization code is
96
+ # supplied by the card issuer over the telephone.
97
+ # - `avs_street` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
98
+ # avssPass if the street address supplied in the transaction request matches the
99
+ # customer’s address on file at the card issuer. It contains the value avssFail if there
100
+ # isn’t a match, or avssNotAvailable if the card issuer doesn’t support AVS. Note: This
101
+ # field was required in qbXML 4.1, but is optional in qbXML 5.0 and later.
102
+ # - `avs_zip` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
103
+ # avszPass if the customer postal ZIP code supplied in the transaction request matches
104
+ # the customer’s postal code recognized at the card issuer. It contains the value
105
+ # avszFail if there isn’t a match, or avszNotAvailable if the card issuer doesn’t
106
+ # support AVS. Note: This field was required in qbXML 4.1, but is optional in qbXML 5.0
107
+ # and later.
108
+ # - `card_security_code_match` (one of "Fail", "NotAvailable", "Pass"): This field
109
+ # contains the value Pass if the card security code supplied in the transaction request
110
+ # matches the card security code recognized for that credit card number at the card
111
+ # issuer. It contains the value Fail if there isn’t a match.
112
+ # - `client_trans_id` (String): This value is returned from QBMS transactions for future
113
+ # use by the QuickBooks Reconciliation feature.
114
+ # - `credit_card_trans_id` (String, required): This transaction ID is returned from the
115
+ # credit card processor. You should save this value for any possible QBMS SDK
116
+ # transaction requests that need it, for example, CustomerCreditCardTxnVoidRq, or
117
+ # CustomerCreditCardCaptureRq.
118
+ # - `merchant_account_number` (String, required): This is the QBMS account number of the
119
+ # merchant who is running the transaction using the customer’s credit card. It is
120
+ # returned from the transaction request and should be stored for subsequent
121
+ # transactions, such as using it in the QB SDK SalesReceiptAdd, ReceivePaymentAdd,
122
+ # ARRefundCreditCard requests to save the transaction data in QuickBooks.
123
+ # - `payment_grouping_code` (Integer): Internal code needed for the QuickBooks
124
+ # reconciliation feature, if integrating with QuickBooks. This value is returned in the
125
+ # QBMS response to a QBMS transaction request, and must be subsequently supplied by your
126
+ # application in the QB SDK ReceivePaymentAdd or SalesReceiptAdd request.
127
+ # - `payment_status` (one of "Completed", "Unknown", required): Indicates payment
128
+ # processing status as known by QuickBooks/QBMS integration state. `psCompleted`
129
+ # indicates confirmed success; `psUnknown` indicates status could not be definitively
130
+ # confirmed.
131
+ # - `recon_batch_id` (String): This value is returned by QBMS from the transaction
132
+ # request, and is used internally by the QuickBooks/QBMS Recon (reconcile) feature. You
133
+ # should save this value without modification and include it in the QB SDK
134
+ # SalesReceiptAdd or ReceivePaymentAdd requests if you want to save the transaction data
135
+ # in QuickBooks.
136
+ # - `result_code` (Integer, required): This contains the status code returned in the
137
+ # original QBMS transaction response.
138
+ # - `result_message` (String, required): This contains the status message returned in the
139
+ # original QBMS transaction response.
140
+ # - `txn_authorization_stamp` (Integer): This value is used to support the credit card
141
+ # transaction Reconcile feature within QuickBooks.
142
+ # - `txn_authorization_time` (String, required): Timestamp indicating the time in which
143
+ # the card processor authorized the transaction.
144
+ # - `customer_ref` (Hash, required): `customer_ref` identifies a customer or customer job. If
145
+ # both `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
146
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
147
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
148
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
149
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
150
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
151
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
152
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
153
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
154
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
155
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
156
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
157
+ # SDK 2.0+.
158
+ # - `deposit_to_account_ref` (Hash): Refers to the account where these funds will be (or have
159
+ # been) deposited. In a ReceivePaymentAdd request, the default is Undeposited Funds if this
160
+ # isn’t included in the request. In a request, if a `deposit_to_account_ref` aggregate
161
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
162
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
163
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
164
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
165
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
166
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
167
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
168
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
169
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
170
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
171
+ # does not provide rates through the SDK. If your home currency is USD and internet access
172
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
173
+ # Activities > Download Latest Exchange Rates.
174
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
175
+ # - `include_ret_element` (Array<one of "ARAccountRef", "AppliedToTxnRet",
176
+ # "CreditCardTxnInfo", "CurrencyRef", "CustomerRef", "DataExtRet", "DepositToAccountRef",
177
+ # "EditSequence", "ExchangeRate", "ExternalGUID", "ListID", "Memo", "OwnerID",
178
+ # "PaymentMethodRef", "RefNumber", "TimeCreated", "TimeModified", "TotalAmount",
179
+ # "TotalAmountInHomeCurrency", "TxnDate", "TxnID", "TxnNumber", "UnusedCredits",
180
+ # "UnusedPayment">)
181
+ # - `is_auto_apply` (Boolean): If `is_auto_apply` is true, QuickBooks applies `total_amount`
182
+ # to any outstanding transaction that exactly matches `total_amount`. If no exact match is
183
+ # found, the payment is applied to the customer job’s outstanding transactions, beginning
184
+ # with the oldest one. If `is_auto_apply` is false, QuickBooks receives the payment but
185
+ # doesn’t apply it to any outstanding transaction.
186
+ # - `memo` (String): The beginning of this memo will appear in reports that show details of
187
+ # this receive payment.
188
+ # - `payment_method_ref` (Hash): `payment_method_ref` identifies how a payment is made (for
189
+ # example, cash, check, or card type). If both `full_name` and `list_id` are provided,
190
+ # `full_name` is ignored.
191
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
192
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
193
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
194
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
195
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
196
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
197
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
198
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
199
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
200
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
201
+ # and numbering state.
202
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
203
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
204
+ # webhook already carries the request's `id`.
205
+ # - `total_amount` (Numeric): Total amount of money received. For ReceivePaymentAdd, the sum
206
+ # of the `payment_amount` amounts (in the `applied_to_txn_add` aggregates that are included)
207
+ # can’t be greater than the `total_amount`, or you will receive an error.
208
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
209
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
210
+ # transaction of the same type.
211
+ #
212
+ # @param connection_id [String]
213
+ # @param params [Hash] the fields above
214
+ # @param webhook_url [String] where QuBe Sync sends the answer
215
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
216
+ # @return [Hash] the queued request
217
+ # @see https://docs.qubesync.com/api-reference/v2/payments/record-payment
218
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
219
+ queue("receive_payment.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
220
+ end
221
+
222
+ # List receive payments: GET /connections/{connection_id}/receive-payments
223
+ # (`receive_payment.query`).
224
+ #
225
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
226
+ # `iteration_state` `done`.
227
+ #
228
+ # Params, sent as the query string:
229
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
230
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
231
+ # account number (instead of an account name) for `full_name` and get the account you’re
232
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
233
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
234
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
235
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
236
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
237
+ # choices.
238
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
239
+ # `full_name_with_children`.
240
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
241
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
242
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
243
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
244
+ # specified object and its descendants. For names that don’t have children,
245
+ # `full_name_with_children` is exactly the same as `full_name`.
246
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
247
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
248
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
249
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
250
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
251
+ # specified object and its descendants.
252
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
253
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
254
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
255
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
256
+ # combine with each other, not with the other choices.
257
+ # Give at most one of: `list_id`, or `full_name`.
258
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
259
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
260
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
261
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
262
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
263
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
264
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
265
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
266
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
267
+ # information about all the entities that are set up in the QuickBooks file. In an
268
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
269
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
270
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
271
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
272
+ # combine with each other, not with the other choices.
273
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
274
+ # `full_name_with_children`.
275
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
276
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
277
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
278
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
279
+ # specified object and its descendants. For names that don’t have children,
280
+ # `full_name_with_children` is exactly the same as `full_name`.
281
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
282
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
283
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
284
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
285
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
286
+ # specified object and its descendants.
287
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
288
+ # response to get a smaller result. The default value is false, so line items are omitted by
289
+ # default. Set `include_line_items` to true to include line items in the response if you
290
+ # don’t mind getting a larger result.
291
+ # - `include_ret_element` (Array<one of "ARAccountRef", "AppliedToTxnRet",
292
+ # "CreditCardTxnInfo", "CurrencyRef", "CustomerRef", "DataExtRet", "DepositToAccountRef",
293
+ # "EditSequence", "ExchangeRate", "ExternalGUID", "Memo", "PaymentMethodRef", "RefNumber",
294
+ # "TimeCreated", "TimeModified", "TotalAmount", "TotalAmountInHomeCurrency", "TxnDate",
295
+ # "TxnID", "TxnNumber", "UnusedCredits", "UnusedPayment">)
296
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
297
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
298
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
299
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
300
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
301
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
302
+ # match comes back in one answer, so leave `iterator` out.
303
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
304
+ # count of how many objects could possibly be returned, use the `meta_data` query
305
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
306
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
307
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
308
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
309
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
310
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
311
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
312
+ # other, not with the other choices.
313
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
314
+ # `meta_data` attribute to control whether query responses include counts. Options are
315
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
316
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
317
+ # during processing.
318
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
319
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
320
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
321
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
322
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
323
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
324
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
325
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
326
+ # other, not with the other choices.
327
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
328
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
329
+ # date is provided, time defaults to 00:00:00.
330
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
331
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
332
+ # date is provided, time defaults to end-of-day (23:59:59).
333
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
334
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
335
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
336
+ # across apps. If you do share them, both apps must use the same `owner_id` and
337
+ # `data_ext_name`, because that pair uniquely identifies the extension.
338
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
339
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
340
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
341
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
342
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
343
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
344
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
345
+ # other, not with the other choices.
346
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
347
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
348
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
349
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
350
+ # combine with each other, not with the other choices.
351
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
352
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
353
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
354
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
355
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
356
+ # combine with each other, not with the other choices.
357
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
358
+ # to match.
359
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
360
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
361
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
362
+ # QuickBooks preferences and numbering state.
363
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
364
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
365
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
366
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
367
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
368
+ # combine with each other, not with the other choices.
369
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
370
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
371
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
372
+ # is omitted, the range will end with last number on the list.
373
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
374
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
375
+ # webhook already carries the request's `id`.
376
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
377
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
378
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
379
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
380
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
381
+ # choices.
382
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
383
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
384
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
385
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
386
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
387
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
388
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
389
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
390
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
391
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
392
+ # last-modified date). Do not combine `date_macro` with
393
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
394
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
395
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
396
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
397
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
398
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
399
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
400
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
401
+ # Use it to reference that transaction in later requests. `txn_id` values are
402
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
403
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
404
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
405
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
406
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
407
+ # choices.
408
+ #
409
+ # @param connection_id [String]
410
+ # @param params [Hash] the fields above
411
+ # @param webhook_url [String] where QuBe Sync sends the answer
412
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
413
+ # @return [Hash] the queued request
414
+ # @see https://docs.qubesync.com/api-reference/v2/receive-payments/list-receive-payments
415
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
416
+ queue("receive_payment.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
417
+ end
418
+
419
+ # Update receive payment: PUT /connections/{connection_id}/receive-payments
420
+ # (`receive_payment.update`).
421
+ #
422
+ # QuickBooks answers in one webhook.
423
+ #
424
+ # Params, sent as the JSON body:
425
+ # - `applied_to_txn_mod` (Array<Hash>)
426
+ # - `discount_account_ref` (Hash): Refers to the account where this discount is tracked. In
427
+ # a request, if a `discount_account_ref` aggregate includes both `full_name` and
428
+ # `list_id`, `full_name` will be ignored.
429
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
430
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
431
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
432
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
433
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
434
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
435
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
436
+ # - `discount_amount` (Numeric): Reduces the receivable amount.
437
+ # - `discount_class_ref` (Hash): Class reference used in the Discount object.
438
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
439
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
440
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
441
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
442
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
443
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
444
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
445
+ # - `payment_amount` (Numeric): Represents the amount assigned to a particular receivable.
446
+ # The sum of all `payment_amount` elements in any given receive payment transaction must
447
+ # not be greater than `total_amount`.
448
+ # - `set_credit` (Array<Hash>)
449
+ # - `applied_amount` (Numeric, required): Amount of a credit that is applied to a
450
+ # customer’s invoice, or amount of a payment that is applied to a particular bill or
451
+ # vendor credit.
452
+ # - `credit_txn_id` (String, required): The ID of the credit memo that you are applying to
453
+ # this invoice or bill.
454
+ # - `override` (Boolean): Option to override credit.
455
+ # - `txn_line_id` (String)
456
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
457
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
458
+ # transaction-specific and should not be reused across unrelated transaction types.
459
+ # - `ar_account_ref` (Hash): `ar_account_ref` points to an Accounts Receivable account. If
460
+ # both `full_name` and `list_id` are provided, `full_name` is ignored.
461
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
462
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
463
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
464
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
465
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
466
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
467
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
468
+ # - `credit_card_txn_info_mod` (Hash): Contains data from the credit card transaction used in
469
+ # the payment. This data originates from a previous qbmsXML credit card transaction. The
470
+ # data following the element `credit_card_txn_input_info`” data is the data from the
471
+ # original qbmsXML request. The “`credit_card_txn_result_info`” is the data from the
472
+ # original qbmsXML response.
473
+ # - `credit_card_txn_input_info_mod` (Hash): This contains data originally supplied in the
474
+ # QBMS transaction request. This information block shouldn’t be used in CreditMemo
475
+ # requests for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard
476
+ # request.
477
+ # - `commercial_card_code` (String): This optional field is used only for Visa and Master
478
+ # Card commercial cards. There are three types of these cards: purchase, corporate, and
479
+ # business. Normally, special lower transaction fee rates apply when these cards are
480
+ # used and this field is filled out. If this field is left blank, then the usual (and
481
+ # higher) discount rate applies.
482
+ # - `credit_card_address` (String): The address associated with this credit card.
483
+ # - `credit_card_number` (String): Credit-card number for this customer or this payment.
484
+ # Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit card
485
+ # number with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
486
+ # - `credit_card_postal_code` (String): The postal code associated with the address for
487
+ # this credit card.
488
+ # - `credit_card_txn_type` (one of "Authorization", "Capture", "Charge", "Refund",
489
+ # "VoiceAuthorization"): Indicates the QBMS transaction from which the current
490
+ # transaction data originated, for example, Charge, Authorization, Capture, Refund,
491
+ # VoiceAuthorization, or Void.
492
+ # - `expiration_month` (Integer): The month when the credit card expires.
493
+ # - `expiration_year` (Integer): The year when the credit card expires.
494
+ # - `name_on_card` (String): The name on the customer’s credit card.
495
+ # - `transaction_mode` (one of "CardNotPresent", "CardPresent"): Indicates whether this
496
+ # transaction came from a card swipe (tmCardPresent) or not (tmCardNotPresent).
497
+ # - `credit_card_txn_result_info_mod` (Hash): This contains data returned in the QBMS
498
+ # transaction response. This information block shouldn’t be used in CreditMemo requests
499
+ # for QuickBooks 2007 and new versions. Instead, use the ARRefundCreditCard request.
500
+ # - `authorization_code` (String): The authorization code is returned from the credit card
501
+ # processor to indicate that the charge will be paid by the card issuer. In a voice
502
+ # authorization request (CustomerCreditCardVoiceAuthRq), the authorization code is
503
+ # supplied by the card issuer over the telephone.
504
+ # - `avs_street` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
505
+ # avssPass if the street address supplied in the transaction request matches the
506
+ # customer’s address on file at the card issuer. It contains the value avssFail if there
507
+ # isn’t a match, or avssNotAvailable if the card issuer doesn’t support AVS. Note: This
508
+ # field was required in qbXML 4.1, but is optional in qbXML 5.0 and later.
509
+ # - `avs_zip` (one of "Fail", "NotAvailable", "Pass"): This field contains the value
510
+ # avszPass if the customer postal ZIP code supplied in the transaction request matches
511
+ # the customer’s postal code recognized at the card issuer. It contains the value
512
+ # avszFail if there isn’t a match, or avszNotAvailable if the card issuer doesn’t
513
+ # support AVS. Note: This field was required in qbXML 4.1, but is optional in qbXML 5.0
514
+ # and later.
515
+ # - `card_security_code_match` (one of "Fail", "NotAvailable", "Pass"): This field
516
+ # contains the value Pass if the card security code supplied in the transaction request
517
+ # matches the card security code recognized for that credit card number at the card
518
+ # issuer. It contains the value Fail if there isn’t a match.
519
+ # - `client_trans_id` (String): This value is returned from QBMS transactions for future
520
+ # use by the QuickBooks Reconciliation feature.
521
+ # - `credit_card_trans_id` (String): This transaction ID is returned from the credit card
522
+ # processor. You should save this value for any possible QBMS SDK transaction requests
523
+ # that need it, for example, CustomerCreditCardTxnVoidRq, or
524
+ # CustomerCreditCardCaptureRq.
525
+ # - `merchant_account_number` (String): This is the QBMS account number of the merchant
526
+ # who is running the transaction using the customer’s credit card. It is returned from
527
+ # the transaction request and should be stored for subsequent transactions, such as
528
+ # using it in the QB SDK SalesReceiptAdd, ReceivePaymentAdd, ARRefundCreditCard requests
529
+ # to save the transaction data in QuickBooks.
530
+ # - `payment_grouping_code` (Integer): Internal code needed for the QuickBooks
531
+ # reconciliation feature, if integrating with QuickBooks. This value is returned in the
532
+ # QBMS response to a QBMS transaction request, and must be subsequently supplied by your
533
+ # application in the QB SDK ReceivePaymentAdd or SalesReceiptAdd request.
534
+ # - `payment_status` (one of "Completed", "Unknown"): Indicates payment processing status
535
+ # as known by QuickBooks/QBMS integration state. `psCompleted` indicates confirmed
536
+ # success; `psUnknown` indicates status could not be definitively confirmed.
537
+ # - `recon_batch_id` (String): This value is returned by QBMS from the transaction
538
+ # request, and is used internally by the QuickBooks/QBMS Recon (reconcile) feature. You
539
+ # should save this value without modification and include it in the QB SDK
540
+ # SalesReceiptAdd or ReceivePaymentAdd requests if you want to save the transaction data
541
+ # in QuickBooks.
542
+ # - `result_code` (Integer): This contains the status code returned in the original QBMS
543
+ # transaction response.
544
+ # - `result_message` (String): This contains the status message returned in the original
545
+ # QBMS transaction response.
546
+ # - `txn_authorization_stamp` (Integer): This value is used to support the credit card
547
+ # transaction Reconcile feature within QuickBooks.
548
+ # - `txn_authorization_time` (String): Timestamp indicating the time in which the card
549
+ # processor authorized the transaction.
550
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
551
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
552
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
553
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
554
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
555
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
556
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
557
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
558
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
559
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
560
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
561
+ # - `deposit_to_account_ref` (Hash): Refers to the account where these funds will be (or have
562
+ # been) deposited. In a ReceivePaymentAdd request, the default is Undeposited Funds if this
563
+ # isn’t included in the request. In a request, if a `deposit_to_account_ref` aggregate
564
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
565
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
566
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
567
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
568
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
569
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
570
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
571
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
572
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
573
+ # It changes each time the object is updated. To modify an existing object, you must send
574
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
575
+ # overwriting newer changes.
576
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
577
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
578
+ # does not provide rates through the SDK. If your home currency is USD and internet access
579
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
580
+ # Activities > Download Latest Exchange Rates.
581
+ # - `include_ret_element` (Array<one of "ARAccountRef", "AppliedToTxnRet",
582
+ # "CreditCardTxnInfo", "CurrencyRef", "CustomerRef", "DataExtRet", "DepositToAccountRef",
583
+ # "EditSequence", "ExchangeRate", "ExternalGUID", "ListID", "Memo", "OwnerID",
584
+ # "PaymentMethodRef", "RefNumber", "TimeCreated", "TimeModified", "TotalAmount",
585
+ # "TotalAmountInHomeCurrency", "TxnDate", "TxnID", "TxnNumber", "UnusedCredits",
586
+ # "UnusedPayment">)
587
+ # - `memo` (String): The beginning of this memo will appear in reports that show details of
588
+ # this receive payment.
589
+ # - `payment_method_ref` (Hash): `payment_method_ref` identifies how a payment is made (for
590
+ # example, cash, check, or card type). If both `full_name` and `list_id` are provided,
591
+ # `full_name` is ignored.
592
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
593
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
594
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
595
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
596
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
597
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
598
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
599
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
600
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
601
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
602
+ # and numbering state.
603
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
604
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
605
+ # webhook already carries the request's `id`.
606
+ # - `total_amount` (Numeric): Total amount of money received. For ReceivePaymentAdd, the sum
607
+ # of the `payment_amount` amounts (in the AppliedToTxnAdd aggregates that are included)
608
+ # can’t be greater than the `total_amount`, or you will receive an error.
609
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
610
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
611
+ # transaction of the same type.
612
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
613
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
614
+ # transaction-specific and should not be reused across unrelated transaction types.
615
+ #
616
+ # @param connection_id [String]
617
+ # @param params [Hash] the fields above
618
+ # @param webhook_url [String] where QuBe Sync sends the answer
619
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
620
+ # @return [Hash] the queued request
621
+ # @see https://docs.qubesync.com/api-reference/v2/receive-payments/update-receive-payment
622
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
623
+ queue("receive_payment.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
624
+ end
625
+ end
626
+ end
627
+ end