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,661 @@
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 vendor operations, reached as `client.vendor`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Vendor < Base
9
+ # Create vendor: POST /connections/{connection_id}/vendors (`vendor.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `account_number` (String): Account numbers appear in the QuickBooks chart of accounts,
15
+ # Account fields, and reports and graphs. If the IsUsingAccountNumber preference is false
16
+ # (that is, if the QuickBooks user has the account numbers Preference turned off), you can
17
+ # still set account numbers through the SDK, but the numbers won’t be visible in the user
18
+ # interface.
19
+ # - `additional_contact_ref` (Array<Hash>)
20
+ # - `contact_name` (String, required): The name of the contact.
21
+ # - `contact_value` (String, required): The value of the contact field.
22
+ # - `additional_notes` (Array<Hash>)
23
+ # - `note` (String, required): In a BillAddress or `ship_address` aggregate, the Note field
24
+ # value is written at the bottom of the address in the form in which it appears, such as
25
+ # the invoice form.
26
+ # - `alt_contact` (String): The name of an alternate contact person for a vendor, customer, or
27
+ # “other name” entry.
28
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
29
+ # - `billing_rate_ref` (Hash): Billing rates are used to override the service item rate in a
30
+ # time transaction (TimeTrackingAdd) based on the employee or vendor performing the work.
31
+ # Billing rates are assigned to an employee or a vendor to specify overrides to service
32
+ # items.
33
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
34
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
35
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
36
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
37
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
38
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
39
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
40
+ # - `cc` (String): Email address that would be carbon copied or CC.
41
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
42
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
43
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
44
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
45
+ # override or clear it on individual lines.
46
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
47
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
48
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
49
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
50
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
51
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
52
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
53
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
54
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
55
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
56
+ # and pay stubs.)
57
+ # - `contact` (String): The name of a contact person for a customer or vendor.
58
+ # - `contacts` (Array<Hash>)
59
+ # - `additional_contact_ref` (Array<Hash>)
60
+ # - `contact_name` (String, required): The name of the contact.
61
+ # - `contact_value` (String, required): The value of the contact field.
62
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
63
+ # person on the “other names” list.
64
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
65
+ # “other names” list.
66
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
67
+ # “other names” list.
68
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
69
+ # the “other names” list.
70
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
71
+ # - `credit_limit` (Numeric): Set and returned as a positive number that indicates a
72
+ # customer’s or vendor’s credit limit. If no value has been defined, there is no credit
73
+ # limit.
74
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
75
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
76
+ # vary by settings and workflow.
77
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
78
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
79
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
80
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
81
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
82
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
83
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
84
+ # - `email` (String): E-mail address.
85
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
86
+ # - `fax` (String): Fax number.
87
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
88
+ # “other names” list.
89
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
90
+ # "AdditionalNotesRet", "AltContact", "AltPhone", "Balance", "BillingRateRef", "Cc",
91
+ # "ClassRef", "CompanyName", "Contact", "ContactsRet", "CreditLimit", "CurrencyRef",
92
+ # "DataExtRet", "EditSequence", "Email", "ExternalGUID", "Fax", "FirstName", "IsActive",
93
+ # "IsSalesTaxAgency", "IsTaxAgency", "IsTaxOnTax", "IsTaxTrackedOnPurchases",
94
+ # "IsTaxTrackedOnSales", "IsVendorEligibleFor1099", "JobTitle", "LastName", "ListID",
95
+ # "MiddleName", "Mobile", "Name", "NameOnCheck", "Notes", "OwnerID", "Pager", "Phone",
96
+ # "PrefillAccountRef", "ReportingPeriod", "SalesTaxCodeRef", "SalesTaxCountry",
97
+ # "SalesTaxReturnRef", "Salutation", "ShipAddress", "Suffix", "TaxOnPurchasesAccountRef",
98
+ # "TaxOnSalesAccountRef", "TaxRegistrationNumber", "TermsRef", "TimeCreated",
99
+ # "TimeModified", "TxnID", "TxnNumber", "VendorAddress", "VendorAddressBlock",
100
+ # "VendorTaxIdent", "VendorTypeRef">)
101
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
102
+ # QuickBooks. The default value is true.
103
+ # - `is_sales_tax_agency` (Boolean): Indicates whether the entity is a sales tax agency.
104
+ # - `is_tax_on_tax` (Boolean): For vendor in CA or UK, is there tax charged on top of tax.
105
+ # - `is_tax_tracked_on_purchases` (Boolean): This flag is used for CA or UK and whether tax is
106
+ # tracked on purchases.
107
+ # - `is_tax_tracked_on_sales` (Boolean): This flag is used for CA or UK and whether tax is
108
+ # tracked on sales.
109
+ # - `is_vendor_eligible_for1099` (Boolean): If `is_vendor_eligible_for1099` is set to true,
110
+ # `vendor_tax_ident` and `vendor_address` are required in a vendor add request message.
111
+ # Otherwise, `vendor_tax_ident` and `vendor_address` are optional.
112
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
113
+ # “other names” list.
114
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
115
+ # “other names” list.
116
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
117
+ # “other names” list.
118
+ # - `mobile` (String)
119
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
120
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
121
+ # reuse the same Name in different branches because `full_name` remains distinct.
122
+ # - `name_on_check` (String): The vendor’s name as it will appear on checks sent to the
123
+ # vendor. (Corresponds in the QuickBooks user interface to the “Print on Check as” field of
124
+ # the Edit Vendor and New Vendor windows.)
125
+ # - `notes` (String): Additional information about this vendor.
126
+ # - `open_balance` (Numeric): The opening balance of this vendor’s account. A positive number
127
+ # indicates money owed to this vendor.
128
+ # - `open_balance_date` (String): The date of the opening balance for this vendor.
129
+ # - `pager` (String)
130
+ # - `phone` (String): The telephone number.
131
+ # - `prefill_account_ref` (Array<Hash>)
132
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
133
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
134
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
135
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
136
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
137
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
138
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
139
+ # - `reporting_period` (one of "Monthly", "Quarterly"): Vendor reporting period for CA or UK.
140
+ # This can be monthly or quarterly.
141
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
142
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
143
+ # webhook already carries the request's `id`.
144
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
145
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
146
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
147
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
148
+ # `sales_tax_code_ref`, `full_name` is ignored.
149
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
150
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
151
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
152
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
153
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
154
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
155
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
156
+ # - `sales_tax_country` (one of "Australia", "Canada", "UK", "US"): The country that sales tax
157
+ # is collected for.
158
+ # - `sales_tax_return_ref` (Hash): Sales tax return information.
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 example
161
+ # 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 list
164
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
165
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
166
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
167
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
168
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
169
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
170
+ # Addr line prints as its own line and is returned in ShipAddressBlock or BillAddressBlock.
171
+ # - `addr1` (String): The first line of an address.
172
+ # - `addr2` (String): The second line of an address (if a second line is needed).
173
+ # - `addr3` (String): The third line of an address (if a third line is needed).
174
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
175
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
176
+ # - `city` (String): The city name in an address.
177
+ # - `country` (String): The country name in an address, or, in returned Host information
178
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
179
+ # (Possible values are US, CA, UK, and AU.)
180
+ # - `note` (String): In a BillAddress or `ship_address` aggregate, the Note field value is
181
+ # written at the bottom of the address in the form in which it appears, such as the
182
+ # invoice form.
183
+ # - `postal_code` (String): The postal code in an address.
184
+ # - `state` (String): The state name in an address.
185
+ # - `suffix` (String)
186
+ # - `tax_on_purchases_account_ref` (Hash): Account used for taxes on purchases in CA or UK.
187
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
188
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
189
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
190
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
191
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
192
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
193
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
194
+ # - `tax_on_sales_account_ref` (Hash): Account used for taxes on sales in CA or UK.
195
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
196
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
197
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
198
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
199
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
200
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
201
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
202
+ # - `tax_registration_number` (String): The tax registration number used in CA and UK.
203
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
204
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
205
+ # both `full_name` and `list_id`, `full_name` will be ignored.
206
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
207
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
208
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
209
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
210
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
211
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
212
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
213
+ # - `vendor_address` (Hash): If an address request fails, some combination of address fields
214
+ # might be too long.
215
+ # - `addr1` (String): The first line of an address.
216
+ # - `addr2` (String): The second line of an address (if a second line is needed).
217
+ # - `addr3` (String): The third line of an address (if a third line is needed).
218
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
219
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
220
+ # - `city` (String): The city name in an address.
221
+ # - `country` (String): The country name in an address, or, in returned Host information
222
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
223
+ # (Possible values are US, CA, UK, and AU.)
224
+ # - `note` (String): In a BillAddress or `ship_address` aggregate, the Note field value is
225
+ # written at the bottom of the address in the form in which it appears, such as the
226
+ # invoice form.
227
+ # - `postal_code` (String): The postal code in an address.
228
+ # - `state` (String): The state name in an address.
229
+ # - `vendor_tax_ident` (String): A character string that identifies a vendor.
230
+ # - `vendor_type_ref` (Hash): Vendor types allow business owners to categorize vendors in ways
231
+ # that are meaningful for their businesses. For example, a vendor type might indicate which
232
+ # industry a vendor represents, or which part of the country a vendor is in. A
233
+ # `vendor_type_ref` aggregate refers to one of the types on the VendorType list.
234
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
235
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
236
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
237
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
238
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
239
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
240
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
241
+ #
242
+ # @param connection_id [String]
243
+ # @param params [Hash] the fields above
244
+ # @param webhook_url [String] where QuBe Sync sends the answer
245
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
246
+ # @return [Hash] the queued request
247
+ # @see https://docs.qubesync.com/api-reference/v2/vendors/create-vendor
248
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
249
+ queue("vendor.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
250
+ end
251
+
252
+ # List vendors: GET /connections/{connection_id}/vendors (`vendor.query`).
253
+ #
254
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
255
+ # `iteration_state` `done`.
256
+ #
257
+ # Params, sent as the query string:
258
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
259
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
260
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
261
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
262
+ # `currency_filter`, `from_modified_date`, `max_returned`, `name_filter`,
263
+ # `name_range_filter`, `to_modified_date`, `total_balance_filter`). Members of a set combine
264
+ # with each other, not with the other choices.
265
+ # - `class_filter` (Hash): Filter according to class. Choose at most one of: `list_id`, or
266
+ # `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
267
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
268
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
269
+ # with the other choices.
270
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
271
+ # `full_name_with_children`.
272
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
273
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
274
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
275
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
276
+ # specified object and its descendants. For names that don’t have children,
277
+ # `full_name_with_children` is exactly the same as `full_name`.
278
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
279
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
280
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
281
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
282
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
283
+ # specified object and its descendants.
284
+ # - `currency_filter` (Hash): Filters by the specified currency. Choose at most one of:
285
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
286
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
287
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
288
+ # with the other choices.
289
+ # Give at most one of: `list_id`, or `full_name`.
290
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
291
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
292
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
293
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
294
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
295
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
296
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
297
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
298
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
299
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
300
+ # `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
301
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
302
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
303
+ # with the other choices.
304
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
305
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
306
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
307
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
308
+ # `currency_filter`, `from_modified_date`, `max_returned`, `name_filter`,
309
+ # `name_range_filter`, `to_modified_date`, `total_balance_filter`). Members of a set combine
310
+ # with each other, not with the other choices.
311
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
312
+ # "AdditionalNotesRet", "AltContact", "AltPhone", "Balance", "BillingRateRef", "Cc",
313
+ # "ClassRef", "CompanyName", "Contact", "ContactsRet", "CreditLimit", "CurrencyRef",
314
+ # "DataExtRet", "EditSequence", "Email", "ExternalGUID", "Fax", "FirstName", "IsActive",
315
+ # "IsSalesTaxAgency", "IsTaxAgency", "IsTaxOnTax", "IsTaxTrackedOnPurchases",
316
+ # "IsTaxTrackedOnSales", "IsVendorEligibleFor1099", "JobTitle", "LastName", "ListID",
317
+ # "MiddleName", "Mobile", "Name", "NameOnCheck", "Notes", "Pager", "Phone",
318
+ # "PrefillAccountRef", "ReportingPeriod", "SalesTaxCodeRef", "SalesTaxCountry",
319
+ # "SalesTaxReturnRef", "Salutation", "ShipAddress", "Suffix", "TaxOnPurchasesAccountRef",
320
+ # "TaxOnSalesAccountRef", "TaxRegistrationNumber", "TermsRef", "TimeCreated",
321
+ # "TimeModified", "VendorAddress", "VendorAddressBlock", "VendorTaxIdent", "VendorTypeRef">)
322
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
323
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
324
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
325
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
326
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
327
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
328
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
329
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
330
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
331
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
332
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `class_filter`,
333
+ # `currency_filter`, `from_modified_date`, `max_returned`, `name_filter`,
334
+ # `name_range_filter`, `to_modified_date`, `total_balance_filter`). Members of a set combine
335
+ # with each other, not with the other choices.
336
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
337
+ # count of how many objects could possibly be returned, use the `meta_data` query
338
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
339
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
340
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
341
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
342
+ # (`active_status`, `class_filter`, `currency_filter`, `from_modified_date`, `max_returned`,
343
+ # `name_filter`, `name_range_filter`, `to_modified_date`, `total_balance_filter`). Members
344
+ # of a set combine with each other, not with the other choices.
345
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
346
+ # `meta_data` attribute to control whether query responses include counts. Options are
347
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
348
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
349
+ # during processing.
350
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
351
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
352
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
353
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
354
+ # with the other choices.
355
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
356
+ # to match.
357
+ # - `name` (String, required): The string to match.
358
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
359
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
360
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
361
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
362
+ # with the other choices.
363
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
364
+ # omitted, the range will begin with first name on the list.
365
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
366
+ # the range will end with last name on the list.
367
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
368
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
369
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
370
+ # across apps. If you do share them, both apps must use the same `owner_id` and
371
+ # `data_ext_name`, because that pair uniquely identifies the extension.
372
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
373
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
374
+ # webhook already carries the request's `id`.
375
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
376
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
377
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
378
+ # `list_id`, or `full_name`, or the set (`active_status`, `class_filter`, `currency_filter`,
379
+ # `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
380
+ # `to_modified_date`, `total_balance_filter`). Members of a set combine with each other, not
381
+ # with the other choices.
382
+ # - `total_balance_filter` (Hash): Filters according to total balance. Total balance includes
383
+ # the balance for all subaccounts; for example, a customer’s TotalBalance would include all
384
+ # the jobs for that customer. Choose at most one of: `list_id`, or `full_name`, or the set
385
+ # (`active_status`, `class_filter`, `currency_filter`, `from_modified_date`, `max_returned`,
386
+ # `name_filter`, `name_range_filter`, `to_modified_date`, `total_balance_filter`). Members
387
+ # of a set combine with each other, not with the other choices.
388
+ # - `amount` (Numeric, required): The monetary amount to which Operator refers.
389
+ # - `operator` (one of "Equal", "GreaterThan", "GreaterThanEqual", "LessThan",
390
+ # "LessThanEqual", required): Indicates whether to filter for amounts that are less than,
391
+ # equal to or less than, exactly equal to, greater than, or equal to or greater than the
392
+ # given Amount.
393
+ #
394
+ # @param connection_id [String]
395
+ # @param params [Hash] the fields above
396
+ # @param webhook_url [String] where QuBe Sync sends the answer
397
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
398
+ # @return [Hash] the queued request
399
+ # @see https://docs.qubesync.com/api-reference/v2/vendors/list-vendors
400
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
401
+ queue("vendor.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
402
+ end
403
+
404
+ # Update vendor: PUT /connections/{connection_id}/vendors (`vendor.update`).
405
+ #
406
+ # QuickBooks answers in one webhook.
407
+ #
408
+ # Params, sent as the JSON body:
409
+ # - `account_number` (String): Account numbers appear in the QuickBooks chart of accounts,
410
+ # Account fields, and reports and graphs. If the IsUsingAccountNumber preference is false
411
+ # (that is, if the QuickBooks user has the account numbers Preference turned off), you can
412
+ # still set account numbers through the SDK, but the numbers won’t be visible in the user
413
+ # interface.
414
+ # - `additional_contact_ref` (Array<Hash>)
415
+ # - `contact_name` (String, required): The name of the contact.
416
+ # - `contact_value` (String, required): The value of the contact field.
417
+ # - `additional_notes_mod` (Array<Hash>)
418
+ # - `note` (String, required): In a BillAddress or `ship_address` aggregate, the Note field
419
+ # value is written at the bottom of the address in the form in which it appears, such as
420
+ # the invoice form.
421
+ # - `note_id` (Integer, required): The ID of the note.
422
+ # - `alt_contact` (String): The name of an alternate contact person for a vendor, customer, or
423
+ # “other name” entry.
424
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
425
+ # - `billing_rate_ref` (Hash): Billing rates are used to override the service item rate in a
426
+ # time transaction (TimeTrackingAdd) based on the employee or vendor performing the work.
427
+ # Billing rates are assigned to an employee or a vendor to specify overrides to service
428
+ # items.
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 example
431
+ # 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 list
434
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
435
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
436
+ # - `cc` (String): Email address that would be carbon copied or CC.
437
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
438
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
439
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
440
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
441
+ # override or clear it on individual lines.
442
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
443
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
444
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
445
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
446
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
447
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
448
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
449
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
450
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
451
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
452
+ # and pay stubs.)
453
+ # - `contact` (String): The name of a contact person for a customer or vendor.
454
+ # - `contacts_mod` (Array<Hash>)
455
+ # - `additional_contact_ref` (Array<Hash>)
456
+ # - `contact_name` (String, required): The name of the contact.
457
+ # - `contact_value` (String, required): The value of the contact field.
458
+ # - `edit_sequence` (String): `edit_sequence` is a server-generated revision token. It
459
+ # changes each time the object is updated. To modify an existing object, you must send the
460
+ # current `edit_sequence`. If your value is stale, the update is rejected to prevent
461
+ # overwriting newer changes.
462
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
463
+ # person on the “other names” list.
464
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
465
+ # “other names” list.
466
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
467
+ # “other names” list.
468
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
469
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
470
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
471
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
472
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
473
+ # the “other names” list.
474
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
475
+ # - `credit_limit` (Numeric): Set and returned as a positive number that indicates a
476
+ # customer’s or vendor’s credit limit. If no value has been defined, there is no credit
477
+ # limit.
478
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
479
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
480
+ # vary by settings and workflow.
481
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
482
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
483
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
484
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
485
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
486
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
487
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
488
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
489
+ # It changes each time the object is updated. To modify an existing object, you must send
490
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
491
+ # overwriting newer changes.
492
+ # - `email` (String): E-mail address.
493
+ # - `fax` (String): Fax number.
494
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
495
+ # “other names” list.
496
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
497
+ # "AdditionalNotesRet", "AltContact", "AltPhone", "Balance", "BillingRateRef", "Cc",
498
+ # "ClassRef", "CompanyName", "Contact", "ContactsRet", "CreditLimit", "CurrencyRef",
499
+ # "DataExtRet", "EditSequence", "Email", "ExternalGUID", "Fax", "FirstName", "IsActive",
500
+ # "IsSalesTaxAgency", "IsTaxAgency", "IsTaxOnTax", "IsTaxTrackedOnPurchases",
501
+ # "IsTaxTrackedOnSales", "IsVendorEligibleFor1099", "JobTitle", "LastName", "ListID",
502
+ # "MiddleName", "Mobile", "Name", "NameOnCheck", "Notes", "OwnerID", "Pager", "Phone",
503
+ # "PrefillAccountRef", "ReportingPeriod", "SalesTaxCodeRef", "SalesTaxCountry",
504
+ # "SalesTaxReturnRef", "Salutation", "ShipAddress", "Suffix", "TaxOnPurchasesAccountRef",
505
+ # "TaxOnSalesAccountRef", "TaxRegistrationNumber", "TermsRef", "TimeCreated",
506
+ # "TimeModified", "TxnID", "TxnNumber", "VendorAddress", "VendorAddressBlock",
507
+ # "VendorTaxIdent", "VendorTypeRef">)
508
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
509
+ # QuickBooks. The default value is true.
510
+ # - `is_sales_tax_agency` (Boolean): Indicates whether the entity is a sales tax agency.
511
+ # - `is_tax_on_tax` (Boolean): For vendor in CA or UK, is there tax charged on top of tax.
512
+ # - `is_tax_tracked_on_purchases` (Boolean): This flag is used for CA or UK and whether tax is
513
+ # tracked on purchases.
514
+ # - `is_tax_tracked_on_sales` (Boolean): This flag is used for CA or UK and whether tax is
515
+ # tracked on sales.
516
+ # - `is_vendor_eligible_for1099` (Boolean): If `is_vendor_eligible_for1099` is set to true,
517
+ # `vendor_tax_ident` and `vendor_address` are required in a vendor add request message.
518
+ # Otherwise, `vendor_tax_ident` and `vendor_address` are optional.
519
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
520
+ # “other names” list.
521
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
522
+ # “other names” list.
523
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
524
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
525
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
526
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
527
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
528
+ # “other names” list.
529
+ # - `mobile` (String)
530
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
531
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
532
+ # same Name in different branches because `full_name` remains distinct.
533
+ # - `name_on_check` (String): The vendor’s name as it will appear on checks sent to the
534
+ # vendor. (Corresponds in the QuickBooks user interface to the “Print on Check as” field of
535
+ # the Edit Vendor and New Vendor windows.)
536
+ # - `notes` (String): Additional information about this vendor.
537
+ # - `pager` (String)
538
+ # - `phone` (String): The telephone number.
539
+ # - `prefill_account_ref` (Array<Hash>)
540
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
541
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
542
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
543
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
544
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
545
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
546
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
547
+ # - `reporting_period` (one of "Monthly", "Quarterly"): Vendor reporting period for CA or UK.
548
+ # This can be monthly or quarterly.
549
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
550
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
551
+ # webhook already carries the request's `id`.
552
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
553
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
554
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
555
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
556
+ # `sales_tax_code_ref`, `full_name` is ignored.
557
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
558
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
559
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
560
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
561
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
562
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
563
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
564
+ # - `sales_tax_country` (one of "Australia", "Canada", "UK", "US"): The country that sales tax
565
+ # is collected for.
566
+ # - `sales_tax_return_ref` (Hash): Sales tax return information.
567
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
568
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
569
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
570
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
571
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
572
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
573
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
574
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
575
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
576
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
577
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
578
+ # Addr line prints as its own line and is returned in ShipAddressBlock or BillAddressBlock.
579
+ # - `addr1` (String): The first line of an address.
580
+ # - `addr2` (String): The second line of an address (if a second line is needed).
581
+ # - `addr3` (String): The third line of an address (if a third line is needed).
582
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
583
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
584
+ # - `city` (String): The city name in an address.
585
+ # - `country` (String): The country name in an address, or, in returned Host information
586
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
587
+ # (Possible values are US, CA, UK, and AU.)
588
+ # - `note` (String): In a BillAddress or `ship_address` aggregate, the Note field value is
589
+ # written at the bottom of the address in the form in which it appears, such as the
590
+ # invoice form.
591
+ # - `postal_code` (String): The postal code in an address.
592
+ # - `state` (String): The state name in an address.
593
+ # - `suffix` (String)
594
+ # - `tax_on_purchases_account_ref` (Hash): Account used for taxes on purchases in CA or UK.
595
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
596
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
597
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
598
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
599
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
600
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
601
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
602
+ # - `tax_on_sales_account_ref` (Hash): Account used for taxes on sales in CA or UK.
603
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
604
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
605
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
606
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
607
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
608
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
609
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
610
+ # - `tax_registration_number` (String): The tax registration number used in CA and UK.
611
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
612
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
613
+ # both `full_name` and `list_id`, `full_name` will be ignored.
614
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
615
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
616
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
617
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
618
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
619
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
620
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
621
+ # - `vendor_address` (Hash): If an address request fails, some combination of address fields
622
+ # might be too long.
623
+ # - `addr1` (String): The first line of an address.
624
+ # - `addr2` (String): The second line of an address (if a second line is needed).
625
+ # - `addr3` (String): The third line of an address (if a third line is needed).
626
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
627
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
628
+ # - `city` (String): The city name in an address.
629
+ # - `country` (String): The country name in an address, or, in returned Host information
630
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
631
+ # (Possible values are US, CA, UK, and AU.)
632
+ # - `note` (String): In a BillAddress or `ship_address` aggregate, the Note field value is
633
+ # written at the bottom of the address in the form in which it appears, such as the
634
+ # invoice form.
635
+ # - `postal_code` (String): The postal code in an address.
636
+ # - `state` (String): The state name in an address.
637
+ # - `vendor_tax_ident` (String): A character string that identifies a vendor.
638
+ # - `vendor_type_ref` (Hash): Vendor types allow business owners to categorize vendors in ways
639
+ # that are meaningful for their businesses. For example, a vendor type might indicate which
640
+ # industry a vendor represents, or which part of the country a vendor is in. A
641
+ # `vendor_type_ref` aggregate refers to one of the types on the VendorType list.
642
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
643
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
644
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
645
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
646
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
647
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
648
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
649
+ #
650
+ # @param connection_id [String]
651
+ # @param params [Hash] the fields above
652
+ # @param webhook_url [String] where QuBe Sync sends the answer
653
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
654
+ # @return [Hash] the queued request
655
+ # @see https://docs.qubesync.com/api-reference/v2/vendors/update-vendor
656
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
657
+ queue("vendor.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
658
+ end
659
+ end
660
+ end
661
+ end