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,518 @@
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 journal entry operations, reached as `client.journal_entry`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class JournalEntry < Base
9
+ # Create journal entry: POST /connections/{connection_id}/journal-entries
10
+ # (`journal_entry.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
16
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
17
+ # vary by settings and workflow. Choose at most one of: `is_home_currency_adjustment`, or
18
+ # the set (`currency_ref`, `exchange_rate`, `is_amounts_entered_in_home_currency`). Members
19
+ # of a set combine with each other, not with the other choices.
20
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
21
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
22
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
23
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
24
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
25
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
26
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
27
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
28
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature requires
29
+ # SDK 2.0+.
30
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
31
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
32
+ # does not provide rates through the SDK. If your home currency is USD and internet access
33
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
34
+ # Activities > Download Latest Exchange Rates. Choose at most one of:
35
+ # `is_home_currency_adjustment`, or the set (`currency_ref`, `exchange_rate`,
36
+ # `is_amounts_entered_in_home_currency`). Members of a set combine with each other, not with
37
+ # the other choices.
38
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
39
+ # - `include_ret_element` (Array<one of "CurrencyRef", "DataExtRet", "EditSequence",
40
+ # "ExchangeRate", "ExternalGUID", "IsAdjustment", "IsAmountsEnteredInHomeCurrency",
41
+ # "IsHomeCurrencyAdjustment", "JournalCreditLine", "JournalDebitLine", "ListID", "Memo",
42
+ # "OwnerID", "RefNumber", "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
43
+ # - `is_adjustment` (Boolean): When a change is an “adjustment,” the original information is
44
+ # retained, usually so an accountant can see the effects of the adjustment.
45
+ # - `is_amounts_entered_in_home_currency` (Boolean): Flag that indicates the amount being
46
+ # entered is in the home currency. Choose at most one of: `is_home_currency_adjustment`, or
47
+ # the set (`currency_ref`, `exchange_rate`, `is_amounts_entered_in_home_currency`). Members
48
+ # of a set combine with each other, not with the other choices.
49
+ # - `is_home_currency_adjustment` (Boolean): Indicates whether the transaction is using a home
50
+ # currency or foreign currency. Choose at most one of: `is_home_currency_adjustment`, or the
51
+ # set (`currency_ref`, `exchange_rate`, `is_amounts_entered_in_home_currency`). Members of a
52
+ # set combine with each other, not with the other choices.
53
+ # - `journal_credit_line` (Array<Hash>): If no amount is included in the first credit line (or
54
+ # debit line) of a journal entry in the QuickBooks user interface, then subsequent SDK
55
+ # queries on that JournalEntry object will fail XML validation. At least one entry is
56
+ # required across `journal_debit_line` and `journal_credit_line`; they combine, any number
57
+ # of each. QuickBooks receives them in that order: every `journal_debit_line`, then every
58
+ # `journal_credit_line`.
59
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
60
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
61
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
62
+ # accounting preferences; for credit-card transactions it identifies the bank or card
63
+ # account involved.
64
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
65
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
66
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
67
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
68
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
69
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
70
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
71
+ # - `amount` (Numeric): A monetary amount.
72
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
73
+ # status of this item line or expense line.
74
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
75
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
76
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
77
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
78
+ # override or clear it on individual lines.
79
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
80
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
81
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
82
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
83
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
84
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
85
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
86
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
87
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature
88
+ # requires SDK 2.0+.
89
+ # - `entity_ref` (Hash): A QuickBooks “entity” is a customer, vendor, employee, or person on
90
+ # the QuickBooks “other names” list. Special cases to note: In a BillToPayQuery message,
91
+ # `entity_ref` refers to the vendor name. In `journal_credit_line` and
92
+ # `journal_debit_line` messages for A/R accounts, `entity_ref` must refer to a customer,
93
+ # or else the transaction won’t be recorded.
94
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
95
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
96
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
97
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
98
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
99
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
100
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
101
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one
102
+ # tax agency. Use it when a transaction needs a single tax calculation. For multi-rate
103
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
104
+ # for `item_sales_tax_ref`, `list_id` is used.
105
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
106
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
107
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
108
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
109
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
110
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
111
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
112
+ # - `memo` (String): Additional information.
113
+ # - `tax_amount` (Numeric)
114
+ # - `txn_line_id` (String): Identification number of the transaction line. (`txn_line_id` is
115
+ # supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `txn_line_id` is always
116
+ # returned as zero.) If you need to add a new transaction line in a transaction Mod
117
+ # request, you can do so by setting the `txn_line_id` to -1.
118
+ # - `journal_debit_line` (Array<Hash>): If no amount is included in the first debit line (or
119
+ # credit line) of a journal entry in the QuickBooks user interface, then subsequent SDK
120
+ # queries on that JournalEntry object will fail XML validation. At least one entry is
121
+ # required across `journal_debit_line` and `journal_credit_line`; they combine, any number
122
+ # of each. QuickBooks receives them in that order: every `journal_debit_line`, then every
123
+ # `journal_credit_line`.
124
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
125
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
126
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
127
+ # accounting preferences; for credit-card transactions it identifies the bank or card
128
+ # account involved.
129
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
130
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
131
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
132
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
133
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
134
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
135
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
136
+ # - `amount` (Numeric): A monetary amount.
137
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
138
+ # status of this item line or expense line.
139
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
140
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
141
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
142
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
143
+ # override or clear it on individual lines.
144
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
145
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
146
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
147
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
148
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
149
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
150
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
151
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
152
+ # or `txn_line_id` so later requests can reference it with `useMacro`. This feature
153
+ # requires SDK 2.0+.
154
+ # - `entity_ref` (Hash): A QuickBooks “entity” is a customer, vendor, employee, or person on
155
+ # the QuickBooks “other names” list. Special cases to note: In a BillToPayQuery message,
156
+ # `entity_ref` refers to the vendor name. In `journal_credit_line` and
157
+ # `journal_debit_line` messages for A/R accounts, `entity_ref` must refer to a customer,
158
+ # or else the transaction won’t be recorded.
159
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
160
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
161
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
162
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
163
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
164
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
165
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
166
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one
167
+ # tax agency. Use it when a transaction needs a single tax calculation. For multi-rate
168
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
169
+ # for `item_sales_tax_ref`, `list_id` is used.
170
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
171
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
172
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
173
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
174
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
175
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
176
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
177
+ # - `memo` (String): Additional information.
178
+ # - `tax_amount` (Numeric)
179
+ # - `txn_line_id` (String): Identification number of the transaction line. (`txn_line_id` is
180
+ # supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `txn_line_id` is always
181
+ # returned as zero.) If you need to add a new transaction line in a transaction Mod
182
+ # request, you can do so by setting the `txn_line_id` to -1.
183
+ # - `memo` (String): Additional information.
184
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
185
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
186
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
187
+ # and numbering state.
188
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
189
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
190
+ # webhook already carries the request's `id`.
191
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
192
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
193
+ # transaction of the same type.
194
+ #
195
+ # @param connection_id [String]
196
+ # @param params [Hash] the fields above
197
+ # @param webhook_url [String] where QuBe Sync sends the answer
198
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
199
+ # @return [Hash] the queued request
200
+ # @see https://docs.qubesync.com/api-reference/v2/journal-entries/create-journal-entry
201
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
202
+ queue("journal_entry.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
203
+ end
204
+
205
+ # List journal entries: GET /connections/{connection_id}/journal-entries
206
+ # (`journal_entry.query`).
207
+ #
208
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
209
+ # `iteration_state` `done`.
210
+ #
211
+ # Params, sent as the query string:
212
+ # - `account_filter` (Hash): Filters according to the account name or `list_id`. If the “Use
213
+ # account numbers” preference is enabled in the QuickBooks company file, you can specify an
214
+ # account number (instead of an account name) for `full_name` and get the account you’re
215
+ # looking for. But if numbers have been used as account names, confusion could arise. Choose
216
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
217
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
218
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
219
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
220
+ # choices.
221
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
222
+ # `full_name_with_children`.
223
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
224
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
225
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
226
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
227
+ # specified object and its descendants. For names that don’t have children,
228
+ # `full_name_with_children` is exactly the same as `full_name`.
229
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
230
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
231
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
232
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
233
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
234
+ # specified object and its descendants.
235
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
236
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
237
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
238
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
239
+ # combine with each other, not with the other choices.
240
+ # Give at most one of: `list_id`, or `full_name`.
241
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
242
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
243
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
244
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
245
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
246
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
247
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
248
+ # - `entity_filter` (Hash): An entity refers to a person on the QuickBooks Customer list,
249
+ # Vendor list, Employee list, or Other Names list. You can use an EntityQuery request to get
250
+ # information about all the entities that are set up in the QuickBooks file. In an
251
+ # ARRefundCreditCard query, this must be a customer/customer job. Choose at most one of:
252
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
253
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
254
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
255
+ # combine with each other, not with the other choices.
256
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
257
+ # `full_name_with_children`.
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
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
262
+ # specified object and its descendants. For names that don’t have children,
263
+ # `full_name_with_children` is exactly the same as `full_name`.
264
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
265
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
266
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
267
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
268
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
269
+ # specified object and its descendants.
270
+ # - `include_line_items` (Boolean): This filter allows you to omit line items from a query
271
+ # response to get a smaller result. The default value is false, so line items are omitted by
272
+ # default. Set `include_line_items` to true to include line items in the response if you
273
+ # don’t mind getting a larger result.
274
+ # - `include_ret_element` (Array<one of "CurrencyRef", "DataExtRet", "EditSequence",
275
+ # "ExchangeRate", "ExternalGUID", "IsAdjustment", "IsAmountsEnteredInHomeCurrency",
276
+ # "IsHomeCurrencyAdjustment", "JournalCreditLine", "JournalDebitLine", "Memo", "RefNumber",
277
+ # "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
278
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
279
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
280
+ # default, with pages of 100 records (25 with `include_line_items`); send `iterator=true`
281
+ # with `max_returned` for another size. Off when you send `iterator=false` (every match in
282
+ # one answer) or `max_returned` alone (at most that many, in one answer). It pages a
283
+ # filtered query only: with `ref_number`, `ref_number_case_sensitive` or `txn_id` every
284
+ # match comes back in one answer, so leave `iterator` out.
285
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
286
+ # count of how many objects could possibly be returned, use the `meta_data` query
287
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
288
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
289
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
290
+ # whether more matched. Choose at most one of: `txn_id`, or `ref_number`, or
291
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
292
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
293
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
294
+ # other, not with the other choices.
295
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
296
+ # `meta_data` attribute to control whether query responses include counts. Options are
297
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
298
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
299
+ # during processing.
300
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
301
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
302
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
303
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
304
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or `ref_number`, or
305
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
306
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
307
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
308
+ # other, not with the other choices.
309
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
310
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
311
+ # date is provided, time defaults to 00:00:00.
312
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
313
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
314
+ # date is provided, time defaults to end-of-day (23:59:59).
315
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
316
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
317
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
318
+ # across apps. If you do share them, both apps must use the same `owner_id` and
319
+ # `data_ext_name`, because that pair uniquely identifies the extension.
320
+ # - `ref_number` (Array<String>): `ref_number` is a user-managed transaction reference (for
321
+ # example, a check number). It can be edited and is not guaranteed to be globally unique.
322
+ # Some transaction types auto-populate `ref_number` when omitted, based on QuickBooks
323
+ # preferences and numbering state. Choose at most one of: `txn_id`, or `ref_number`, or
324
+ # `ref_number_case_sensitive`, or the set (`account_filter`, `currency_filter`,
325
+ # `entity_filter`, `max_returned`, `modified_date_range_filter`, `ref_number_filter`,
326
+ # `ref_number_range_filter`, `txn_date_range_filter`). Members of a set combine with each
327
+ # other, not with the other choices.
328
+ # - `ref_number_case_sensitive` (Array<String>): Choose at most one of: `txn_id`, or
329
+ # `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
330
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
331
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
332
+ # combine with each other, not with the other choices.
333
+ # - `ref_number_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
334
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
335
+ # `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set (`account_filter`,
336
+ # `currency_filter`, `entity_filter`, `max_returned`, `modified_date_range_filter`,
337
+ # `ref_number_filter`, `ref_number_range_filter`, `txn_date_range_filter`). Members of a set
338
+ # combine with each other, not with the other choices.
339
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
340
+ # to match.
341
+ # - `ref_number` (String, required): `ref_number` is a user-managed transaction reference
342
+ # (for example, a check number). It can be edited and is not guaranteed to be globally
343
+ # unique. Some transaction types auto-populate `ref_number` when omitted, based on
344
+ # QuickBooks preferences and numbering state.
345
+ # - `ref_number_range_filter` (Hash): Filters by `ref_number` range. Numeric-only bounds are
346
+ # compared numerically; otherwise comparison is lexicographic. Choose at most one of:
347
+ # `txn_id`, or `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
+ # - `from_ref_number` (String): The first `ref_number` in the search range. If
352
+ # `from_ref_number` is omitted, the range will begin with first number on the list.
353
+ # - `to_ref_number` (String): The final `ref_number` in the search range. If `to_ref_number`
354
+ # is omitted, the range will end with last number on the list.
355
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
356
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
357
+ # webhook already carries the request's `id`.
358
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
359
+ # Choose at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the
360
+ # set (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
361
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
362
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
363
+ # choices.
364
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
365
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
366
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
367
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
368
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
369
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
370
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
371
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
372
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
373
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
374
+ # last-modified date). Do not combine `date_macro` with
375
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
376
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
377
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
378
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
379
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
380
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
381
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
382
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
383
+ # Use it to reference that transaction in later requests. `txn_id` values are
384
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
385
+ # at most one of: `txn_id`, or `ref_number`, or `ref_number_case_sensitive`, or the set
386
+ # (`account_filter`, `currency_filter`, `entity_filter`, `max_returned`,
387
+ # `modified_date_range_filter`, `ref_number_filter`, `ref_number_range_filter`,
388
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
389
+ # choices.
390
+ #
391
+ # @param connection_id [String]
392
+ # @param params [Hash] the fields above
393
+ # @param webhook_url [String] where QuBe Sync sends the answer
394
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
395
+ # @return [Hash] the queued request
396
+ # @see https://docs.qubesync.com/api-reference/v2/journal-entries/list-journal-entries
397
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
398
+ queue("journal_entry.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
399
+ end
400
+
401
+ # Update journal entry: PUT /connections/{connection_id}/journal-entries
402
+ # (`journal_entry.update`).
403
+ #
404
+ # QuickBooks answers in one webhook.
405
+ #
406
+ # Params, sent as the JSON body:
407
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
408
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
409
+ # vary by settings and workflow.
410
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
411
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
412
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
413
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
414
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
415
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
416
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
417
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
418
+ # It changes each time the object is updated. To modify an existing object, you must send
419
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
420
+ # overwriting newer changes.
421
+ # - `exchange_rate` (Numeric): `exchange_rate` is the rate from this currency to the company’s
422
+ # home currency at AsOfDate. You can supply a rate when adding transactions, but QuickBooks
423
+ # does not provide rates through the SDK. If your home currency is USD and internet access
424
+ # is available, rates can be downloaded in the QuickBooks UI via Lists > Currency >
425
+ # Activities > Download Latest Exchange Rates.
426
+ # - `include_ret_element` (Array<one of "CurrencyRef", "DataExtRet", "EditSequence",
427
+ # "ExchangeRate", "ExternalGUID", "IsAdjustment", "IsAmountsEnteredInHomeCurrency",
428
+ # "IsHomeCurrencyAdjustment", "JournalCreditLine", "JournalDebitLine", "ListID", "Memo",
429
+ # "OwnerID", "RefNumber", "TimeCreated", "TimeModified", "TxnDate", "TxnID", "TxnNumber">)
430
+ # - `is_adjustment` (Boolean): When a change is an “adjustment,” the original information is
431
+ # retained, usually so an accountant can see the effects of the adjustment.
432
+ # - `is_amounts_entered_in_home_currency` (Boolean): Flag that indicates the amount being
433
+ # entered is in the home currency.
434
+ # - `journal_line_mod` (Array<Hash>)
435
+ # - `account_ref` (Hash): `account_ref` points to an account in the company file. If both
436
+ # `full_name` and `list_id` are provided, `full_name` is ignored. Meaning depends on
437
+ # context: for checks it is the funding account; for ExpenseLineAdd it may be required by
438
+ # accounting preferences; for credit-card transactions it identifies the bank or card
439
+ # account involved.
440
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
441
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
442
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
443
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
444
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
445
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
446
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
447
+ # - `amount` (Numeric): A monetary amount.
448
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing
449
+ # status of this item line or expense line.
450
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
451
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
452
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
453
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
454
+ # override or clear it on individual lines.
455
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
456
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
457
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
458
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
459
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
460
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
461
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
462
+ # - `entity_ref` (Hash): A QuickBooks “entity” is a customer, vendor, employee, or person on
463
+ # the QuickBooks “other names” list. Special cases to note: In a BillToPayQuery message,
464
+ # `entity_ref` refers to the vendor name. In `journal_credit_line` and
465
+ # `journal_debit_line` messages for A/R accounts, `entity_ref` must refer to a customer,
466
+ # or else the transaction won’t be recorded.
467
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
468
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
469
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
470
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
471
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
472
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
473
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
474
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one
475
+ # tax agency. Use it when a transaction needs a single tax calculation. For multi-rate
476
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
477
+ # for `item_sales_tax_ref`, `list_id` is used.
478
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
479
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
480
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
481
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
482
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
483
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
484
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
485
+ # - `journal_line_type` (one of "Credit", "Debit"): The type of journal line (debit or
486
+ # credit).
487
+ # - `memo` (String): Additional information.
488
+ # - `tax_amount` (Numeric)
489
+ # - `txn_line_id` (String, required): Identification number of the transaction line.
490
+ # (`txn_line_id` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1,
491
+ # `txn_line_id` is always returned as zero.) If you need to add a new transaction line in
492
+ # a transaction Mod request, you can do so by setting the `txn_line_id` to -1.
493
+ # - `ref_number` (String): `ref_number` is a user-managed transaction reference (for example,
494
+ # a check number). It can be edited and is not guaranteed to be globally unique. Some
495
+ # transaction types auto-populate `ref_number` when omitted, based on QuickBooks preferences
496
+ # and numbering state.
497
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
498
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
499
+ # webhook already carries the request's `id`.
500
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
501
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
502
+ # transaction of the same type.
503
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
504
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
505
+ # transaction-specific and should not be reused across unrelated transaction types.
506
+ #
507
+ # @param connection_id [String]
508
+ # @param params [Hash] the fields above
509
+ # @param webhook_url [String] where QuBe Sync sends the answer
510
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
511
+ # @return [Hash] the queued request
512
+ # @see https://docs.qubesync.com/api-reference/v2/journal-entries/update-journal-entry
513
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
514
+ queue("journal_entry.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
515
+ end
516
+ end
517
+ end
518
+ end