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,577 @@
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 employee operations, reached as `client.employee`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Employee < Base
9
+ # Create employee: POST /connections/{connection_id}/employees (`employee.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 ShipAddress 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
+ # - `adjusted_service_date` (String): Adjusted service date for the employee.
27
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
28
+ # - `billing_rate_ref` (Hash): Billing rates are used to override the service item rate in a
29
+ # time transaction (TimeTrackingAdd) based on the employee or vendor performing the work.
30
+ # Billing rates are assigned to an employee or a vendor to specify overrides to service
31
+ # items.
32
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
33
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
34
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
35
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
36
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
37
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
38
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
39
+ # - `birth_date` (String): Date of birth.
40
+ # - `department` (String): The name of the department in the employment job details section.
41
+ # - `description` (String): The description details in the employment job details section.
42
+ # - `disability_desc` (String): Description of employee’s disablitily.
43
+ # - `disabled` (one of "No", "Yes"): Is employee disabled?
44
+ # - `email` (String): E-mail address.
45
+ # - `emergency_contacts` (Hash): Emergency Contact information for the employee.
46
+ # - `primary_contact` (Hash): Primary emergency contact information for the employee.
47
+ # - `contact_name` (String, required): The name of the contact.
48
+ # - `contact_value` (String, required): The value of the contact field.
49
+ # - `relation` (one of "Brother", "Daughter", "Father", "Friend", "Mother", "Other",
50
+ # "Partner", "Sister", "Son", "Spouse"): Relationship of emergency contact information
51
+ # to the employee.
52
+ # - `secondary_contact` (Hash): Secondary emergency contact information for the employee.
53
+ # - `contact_name` (String, required): The name of the contact.
54
+ # - `contact_value` (String, required): The value of the contact field.
55
+ # - `relation` (one of "Brother", "Daughter", "Father", "Friend", "Mother", "Other",
56
+ # "Partner", "Sister", "Son", "Spouse"): Relationship of emergency contact information
57
+ # to the employee.
58
+ # - `employee_address` (Hash): If an address request fails, some combination of address fields
59
+ # might be too long. If you use payroll, you must specify the employee’s city, state (or
60
+ # province), ZIP (or postal) code, and at least one line of the street address. (Note that
61
+ # the State element has restrictions when it’s used in the `employee_address` aggregate. For
62
+ # more information, click State in the table.)
63
+ # - `addr1` (String): The first line of an address.
64
+ # - `addr2` (String): The second line of an address (if a second line is needed).
65
+ # - `addr3` (String)
66
+ # - `addr4` (String)
67
+ # - `city` (String): The city name in an address.
68
+ # - `country` (String)
69
+ # - `postal_code` (String): The postal code in an address.
70
+ # - `state` (String): When it appears in the `employee_address` aggregate, the State element
71
+ # acts like an ENUMTYPE with the following possible values: None, AA (military), AE
72
+ # (military), AK, AL, AP (military), AR, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IA, ID, IL,
73
+ # IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK,
74
+ # OR, PA, PR, RI, SC, SD, TN, TX, UT, VA, VT, WA, WI, WV, and WY.
75
+ # - `employee_payroll_info` (Hash): Pay information for this employee.
76
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
77
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
78
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
79
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
80
+ # override or clear it on individual lines.
81
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
82
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
83
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
84
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
85
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
86
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
87
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
88
+ # - `clear_earnings` (Boolean): If `clear_earnings` is set to true, the earnings will be
89
+ # deleted for this employee. Choose at most one of: `clear_earnings`, or `earnings`.
90
+ # - `earnings` (Array<Hash>): Choose at most one of: `clear_earnings`, or `earnings`.
91
+ # - `payroll_item_wage_ref` (Hash, required): Each payroll wage item describes and names a
92
+ # payment scheme, for example, Regular Pay or Overtime Pay. A `payroll_item_wage_ref`
93
+ # aggregate refers to one of these wage items. In a request, if a
94
+ # `payroll_item_wage_ref` aggregate includes both `full_name` and `list_id`, `full_name`
95
+ # will be ignored.
96
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
97
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
98
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
99
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
100
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
101
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
102
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
103
+ # - `rate` (Numeric): Indicates the price of something. Choose at most one of: `rate`, or
104
+ # `rate_percent`.
105
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at
106
+ # most one of: `rate`, or `rate_percent`.
107
+ # - `pay_period` (one of "Biweekly", "Daily", "Monthly", "Quarterly", "Semimonthly",
108
+ # "Weekly", "Yearly"): Indicates how often employees are paid. If you include a blank
109
+ # `pay_period` element in an EmployeeMod message, you’ll receive an error. The default
110
+ # value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
111
+ # - `sick_hours` (Hash): Describes how “sick time” is accrued for this employee, along with
112
+ # how many sick hours the employee has accrued.
113
+ # - `accrual_period` (one of "BeginningOfYear", "EveryHourOnPaycheck", "EveryPaycheck"):
114
+ # Indicates how an employee accrues time off. If you include a blank `accrual_period`
115
+ # element in an EmployeeMod message, you’ll receive an error. The default value is
116
+ # whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
117
+ # - `accrual_start_date` (String): When used in the `sick_hours` or `vacation_hours`
118
+ # aggregates, refers to the date on which sick leave or vacation hours in the current
119
+ # year began to accrue.
120
+ # - `hours_accrued` (String): The number of hours that the employee will accrue per
121
+ # accrual period. The default value is whatever the QuickBooks user has set in the
122
+ # QuickBooks Employee Preferences.
123
+ # - `hours_available` (String): The total number of hours currently available for the
124
+ # employee to use. If this value is empty, it will default to 0.
125
+ # - `hours_used` (String): When used in the `sick_hours` or `vacation_hours` aggregates,
126
+ # refers to the number of sick leave or vacation hours used in the current year.
127
+ # - `is_resetting_hours_each_new_year` (Boolean): Indicates whether or not the hours
128
+ # accrued resets to zero at the beginning of the new year. If you include a blank
129
+ # `is_resetting_hours_each_new_year` element in an EmployeeMod message, you’ll receive
130
+ # an error.
131
+ # - `maximum_hours` (String): The maximum number of hours that the employee can accrue.
132
+ # (QuickBooks itself doesn’t enforce this limit, however. `hours_available` can be
133
+ # greater than `maximum_hours`.) The default value is whatever the QuickBooks user has
134
+ # set in the QuickBooks Employee Preferences.
135
+ # - `use_time_data_to_create_paychecks` (one of "DoNotUseTimeData", "NotSet",
136
+ # "UseTimeData"): Indicates whether time data is used to create paychecks for this
137
+ # employee.
138
+ # - `vacation_hours` (Hash): Describes how vacation time is accrued for this employee, along
139
+ # with how many vacation hours the employee has accrued.
140
+ # - `accrual_period` (one of "BeginningOfYear", "EveryHourOnPaycheck", "EveryPaycheck"):
141
+ # Indicates how an employee accrues time off. If you include a blank `accrual_period`
142
+ # element in an EmployeeMod message, you’ll receive an error. The default value is
143
+ # whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
144
+ # - `accrual_start_date` (String): When used in the `sick_hours` or `vacation_hours`
145
+ # aggregates, refers to the date on which sick leave or vacation hours in the current
146
+ # year began to accrue.
147
+ # - `hours_accrued` (String): The number of hours that the employee will accrue per
148
+ # accrual period. The default value is whatever the QuickBooks user has set in the
149
+ # QuickBooks Employee Preferences.
150
+ # - `hours_available` (String): The total number of hours currently available for the
151
+ # employee to use. If this value is empty, it will default to 0.
152
+ # - `hours_used` (String): When used in the `sick_hours` or `vacation_hours` aggregates,
153
+ # refers to the number of sick leave or vacation hours used in the current year.
154
+ # - `is_resetting_hours_each_new_year` (Boolean): Indicates whether or not the hours
155
+ # accrued resets to zero at the beginning of the new year. If you include a blank
156
+ # `is_resetting_hours_each_new_year` element in an EmployeeMod message, you’ll receive
157
+ # an error.
158
+ # - `maximum_hours` (String): The maximum number of hours that the employee can accrue.
159
+ # (QuickBooks itself doesn’t enforce this limit, however. `hours_available` can be
160
+ # greater than `maximum_hours`.) The default value is whatever the QuickBooks user has
161
+ # set in the QuickBooks Employee Preferences.
162
+ # - `employee_type` (one of "Officer", "Owner", "Regular", "Statutory"): `employee_type` can
163
+ # affect payroll taxes for an employee. A statutory employee is a person who is defined as
164
+ # an employee by statute. Usually an owner or partner will be on the Other Names list, but
165
+ # if they are on the Employee list, their `employee_type` will be Owner.
166
+ # - `ethnicity` (one of "AmericianIndian", "Asian", "Black", "Hawaiian", "Hispanic",
167
+ # "TwoOrMoreRaces", "White"): Ethnicity of employee from AmericianIndian, Asian, Black,
168
+ # Hawaiian, Hispanic, White, TwoOrMoreRaces
169
+ # - `exempt` (one of "Exempt", "NonExempt"): Exempt or Non-exempt status of the employee.
170
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
171
+ # - `fax` (String): Fax number.
172
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
173
+ # “other names” list.
174
+ # - `gender` (one of "Female", "Male"): The gender of this employee.
175
+ # - `hired_date` (String): An employee’s date of hire.
176
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
177
+ # "AdditionalNotesRet", "AdjustedServiceDate", "AltPhone", "BillingRateRef", "BirthDate",
178
+ # "DataExtRet", "Department", "Description", "DisabilityDesc", "Disabled", "EditSequence",
179
+ # "Email", "EmergencyContacts", "EmployeeAddress", "EmployeePayrollInfo", "EmployeeType",
180
+ # "Ethnicity", "Exempt", "ExternalGUID", "Fax", "FirstName", "Gender", "HiredDate",
181
+ # "IsActive", "JobTitle", "KeyEmployee", "LastName", "ListID", "MiddleName",
182
+ # "MilitaryStatus", "Mobile", "Name", "Notes", "OnFile", "OriginalHireDate", "OwnerID",
183
+ # "Pager", "PagerPIN", "PartOrFullTime", "Phone", "PrintAs", "ReleasedDate", "SSN",
184
+ # "Salutation", "Suffix", "SupervisorRef", "TargetBonus", "TimeCreated", "TimeModified",
185
+ # "TxnID", "TxnNumber", "USCitizen", "USVeteran", "WorkAuthExpireDate">)
186
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
187
+ # QuickBooks. The default value is true.
188
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
189
+ # “other names” list.
190
+ # - `key_employee` (one of "No", "Yes"): Is employee a key or critical employee.
191
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
192
+ # “other names” list.
193
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
194
+ # “other names” list.
195
+ # - `military_status` (one of "Active", "Reserve"): Military status if the employee is a US
196
+ # veteran.
197
+ # - `mobile` (String): Mobile telephone number.
198
+ # - `name` (String): A concatenation of `first_name`, `middle_name`, and `last_name`.
199
+ # - `notes` (String): Additional information.
200
+ # - `on_file` (one of "No", "Yes"): Is the employee’s I-9 on file?
201
+ # - `original_hire_date` (String): Original hire date the employee was hired.
202
+ # - `pager` (String): The pager number.
203
+ # - `pager_pin` (String): A personal identification number for this employee’s pager.
204
+ # - `part_or_full_time` (one of "FullTime", "PartTime"): Full or Part time status of the
205
+ # employee.
206
+ # - `phone` (String): The telephone number.
207
+ # - `print_as` (String): By default within QuickBooks, the `print_as` element is the same as
208
+ # the Name element.
209
+ # - `released_date` (String): The date on which this person’s employment with the company
210
+ # ended.
211
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
212
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
213
+ # webhook already carries the request's `id`.
214
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
215
+ # - `ssn` (String): Social security number. When you add an SSN value to an employee record,
216
+ # it doesn’t have to include dashes; for example, either 123-45-6789 or 123456789 would be
217
+ # valid.
218
+ # - `suffix` (String)
219
+ # - `supervisor_ref` (Hash): The name of a customer, vendor, employee, or person on the “other
220
+ # names” list in the employment job details section.
221
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
222
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
223
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
224
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
225
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
226
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
227
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
228
+ # - `target_bonus` (Numeric): The target bonus amount in the employment job details section.
229
+ # - `us_citizen` (one of "No", "Yes"): Is employee a US citizen?
230
+ # - `us_veteran` (one of "No", "Yes"): Is employee a US veteran?
231
+ # - `work_auth_expire_date` (String): Date the employee’s work authorization expires.
232
+ #
233
+ # @param connection_id [String]
234
+ # @param params [Hash] the fields above
235
+ # @param webhook_url [String] where QuBe Sync sends the answer
236
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
237
+ # @return [Hash] the queued request
238
+ # @see https://docs.qubesync.com/api-reference/v2/employees/create-employee
239
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
240
+ queue("employee.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
241
+ end
242
+
243
+ # List employees: GET /connections/{connection_id}/employees (`employee.query`).
244
+ #
245
+ # QuickBooks answers in one webhook.
246
+ #
247
+ # Params, sent as the query string:
248
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
249
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
250
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
251
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
252
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
253
+ # combine with each other, not with the other choices.
254
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
255
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
256
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
257
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
258
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
259
+ # each other, not with the other choices.
260
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
261
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
262
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
263
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
264
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
265
+ # combine with each other, not with the other choices.
266
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
267
+ # "AdditionalNotesRet", "AdjustedServiceDate", "AltPhone", "BillingRateRef", "BirthDate",
268
+ # "DataExtRet", "Department", "Description", "DisabilityDesc", "Disabled", "EditSequence",
269
+ # "Email", "EmergencyContacts", "EmployeeAddress", "EmployeePayrollInfo", "EmployeeType",
270
+ # "Ethnicity", "Exempt", "ExternalGUID", "Fax", "FirstName", "Gender", "HiredDate",
271
+ # "IsActive", "JobTitle", "KeyEmployee", "LastName", "ListID", "MiddleName",
272
+ # "MilitaryStatus", "Mobile", "Name", "Notes", "OnFile", "OriginalHireDate", "Pager",
273
+ # "PagerPIN", "PartOrFullTime", "Phone", "PrintAs", "ReleasedDate", "SSN", "Salutation",
274
+ # "Suffix", "SupervisorRef", "TargetBonus", "TimeCreated", "TimeModified", "USCitizen",
275
+ # "USVeteran", "WorkAuthExpireDate">)
276
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
277
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
278
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
279
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
280
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
281
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
282
+ # combine with each other, not with the other choices.
283
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
284
+ # count of how many objects could possibly be returned, use the `meta_data` query
285
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
286
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
287
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
288
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
289
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
290
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
291
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
292
+ # combine with each other, not with the other choices.
293
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
294
+ # `meta_data` attribute to control whether query responses include counts. Options are
295
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
296
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
297
+ # during processing.
298
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
299
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
300
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
301
+ # combine with each other, not with the other choices.
302
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
303
+ # to match.
304
+ # - `name` (String, required): The string to match.
305
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
306
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
307
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
308
+ # combine with each other, not with the other choices.
309
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
310
+ # omitted, the range will begin with first name on the list.
311
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
312
+ # the range will end with last name on the list.
313
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
314
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
315
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
316
+ # across apps. If you do share them, both apps must use the same `owner_id` and
317
+ # `data_ext_name`, because that pair uniquely identifies the extension.
318
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
319
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
320
+ # webhook already carries the request's `id`.
321
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
322
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
323
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
324
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
325
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
326
+ # combine with each other, not with the other choices.
327
+ #
328
+ # @param connection_id [String]
329
+ # @param params [Hash] the fields above
330
+ # @param webhook_url [String] where QuBe Sync sends the answer
331
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
332
+ # @return [Hash] the queued request
333
+ # @see https://docs.qubesync.com/api-reference/v2/employees/list-employees
334
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
335
+ queue("employee.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
336
+ end
337
+
338
+ # Update employee: PUT /connections/{connection_id}/employees (`employee.update`).
339
+ #
340
+ # QuickBooks answers in one webhook.
341
+ #
342
+ # Params, sent as the JSON body:
343
+ # - `account_number` (String): Account numbers appear in the QuickBooks chart of accounts,
344
+ # Account fields, and reports and graphs. If the IsUsingAccountNumber preference is false
345
+ # (that is, if the QuickBooks user has the account numbers Preference turned off), you can
346
+ # still set account numbers through the SDK, but the numbers won’t be visible in the user
347
+ # interface.
348
+ # - `additional_contact_ref` (Array<Hash>)
349
+ # - `contact_name` (String, required): The name of the contact.
350
+ # - `contact_value` (String, required): The value of the contact field.
351
+ # - `additional_notes_mod` (Array<Hash>)
352
+ # - `note` (String, required): In a BillAddress or ShipAddress aggregate, the Note field
353
+ # value is written at the bottom of the address in the form in which it appears, such as
354
+ # the invoice form.
355
+ # - `note_id` (Integer, required): The ID of the note.
356
+ # - `adjusted_service_date` (String): Adjusted service date for the employee.
357
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
358
+ # - `billing_rate_ref` (Hash): Billing rates are used to override the service item rate in a
359
+ # time transaction (TimeTrackingAdd) based on the employee or vendor performing the work.
360
+ # Billing rates are assigned to an employee or a vendor to specify overrides to service
361
+ # items.
362
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
363
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
364
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
365
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
366
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
367
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
368
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
369
+ # - `birth_date` (String): Date of birth.
370
+ # - `department` (String): The name of the department in the employment job details section.
371
+ # - `description` (String): The description details in the employment job details section.
372
+ # - `disability_desc` (String): Description of employee’s disablitily.
373
+ # - `disabled` (one of "No", "Yes"): Is employee disabled?
374
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
375
+ # It changes each time the object is updated. To modify an existing object, you must send
376
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
377
+ # overwriting newer changes.
378
+ # - `email` (String): E-mail address.
379
+ # - `emergency_contacts` (Hash): Emergency Contact information for the employee.
380
+ # - `primary_contact` (Hash): Primary emergency contact information for the employee.
381
+ # - `contact_name` (String, required): The name of the contact.
382
+ # - `contact_value` (String, required): The value of the contact field.
383
+ # - `relation` (one of "Brother", "Daughter", "Father", "Friend", "Mother", "Other",
384
+ # "Partner", "Sister", "Son", "Spouse"): Relationship of emergency contact information
385
+ # to the employee.
386
+ # - `secondary_contact` (Hash): Secondary emergency contact information for the employee.
387
+ # - `contact_name` (String, required): The name of the contact.
388
+ # - `contact_value` (String, required): The value of the contact field.
389
+ # - `relation` (one of "Brother", "Daughter", "Father", "Friend", "Mother", "Other",
390
+ # "Partner", "Sister", "Son", "Spouse"): Relationship of emergency contact information
391
+ # to the employee.
392
+ # - `employee_address` (Hash): If an address request fails, some combination of address fields
393
+ # might be too long. If you use payroll, you must specify the employee’s city, state (or
394
+ # province), ZIP (or postal) code, and at least one line of the street address. (Note that
395
+ # the State element has restrictions when it’s used in the `employee_address` aggregate. For
396
+ # more information, click State in the table.)
397
+ # - `addr1` (String): The first line of an address.
398
+ # - `addr2` (String): The second line of an address (if a second line is needed).
399
+ # - `addr3` (String)
400
+ # - `addr4` (String)
401
+ # - `city` (String): The city name in an address.
402
+ # - `country` (String)
403
+ # - `postal_code` (String): The postal code in an address.
404
+ # - `state` (String): When it appears in the `employee_address` aggregate, the State element
405
+ # acts like an ENUMTYPE with the following possible values: None, AA (military), AE
406
+ # (military), AK, AL, AP (military), AR, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IA, ID, IL,
407
+ # IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK,
408
+ # OR, PA, PR, RI, SC, SD, TN, TX, UT, VA, VT, WA, WI, WV, and WY.
409
+ # - `employee_payroll_info_mod` (Hash): Pay information for this employee.
410
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
411
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
412
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
413
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
414
+ # override or clear it on individual lines.
415
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
416
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
417
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
418
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
419
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
420
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
421
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
422
+ # - `clear_earnings` (Boolean): If `clear_earnings` is set to true, the earnings will be
423
+ # deleted for this employee. Choose at most one of: `clear_earnings`, or `earnings`.
424
+ # - `earnings` (Array<Hash>): Choose at most one of: `clear_earnings`, or `earnings`.
425
+ # - `payroll_item_wage_ref` (Hash, required): Each payroll wage item describes and names a
426
+ # payment scheme, for example, Regular Pay or Overtime Pay. A `payroll_item_wage_ref`
427
+ # aggregate refers to one of these wage items. In a request, if a
428
+ # `payroll_item_wage_ref` aggregate includes both `full_name` and `list_id`, `full_name`
429
+ # will be ignored.
430
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
431
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
432
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
433
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object.
434
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
435
+ # within a list type, not globally across all lists. If both `full_name` and `list_id`
436
+ # are supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
437
+ # - `rate` (Numeric): Indicates the price of something. Choose at most one of: `rate`, or
438
+ # `rate_percent`.
439
+ # - `rate_percent` (Numeric): Indicates the price of something as a percent. Choose at
440
+ # most one of: `rate`, or `rate_percent`.
441
+ # - `pay_period` (one of "Biweekly", "Daily", "Monthly", "Quarterly", "Semimonthly",
442
+ # "Weekly", "Yearly"): Indicates how often employees are paid. If you include a blank
443
+ # `pay_period` element in an EmployeeMod message, you’ll receive an error. The default
444
+ # value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
445
+ # - `sick_hours` (Hash): Describes how “sick time” is accrued for this employee, along with
446
+ # how many sick hours the employee has accrued.
447
+ # - `accrual_period` (one of "BeginningOfYear", "EveryHourOnPaycheck", "EveryPaycheck"):
448
+ # Indicates how an employee accrues time off. If you include a blank `accrual_period`
449
+ # element in an EmployeeMod message, you’ll receive an error. The default value is
450
+ # whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
451
+ # - `accrual_start_date` (String): When used in the `sick_hours` or `vacation_hours`
452
+ # aggregates, refers to the date on which sick leave or vacation hours in the current
453
+ # year began to accrue.
454
+ # - `hours_accrued` (String): The number of hours that the employee will accrue per
455
+ # accrual period. The default value is whatever the QuickBooks user has set in the
456
+ # QuickBooks Employee Preferences.
457
+ # - `hours_available` (String): The total number of hours currently available for the
458
+ # employee to use. If this value is empty, it will default to 0.
459
+ # - `hours_used` (String): When used in the `sick_hours` or `vacation_hours` aggregates,
460
+ # refers to the number of sick leave or vacation hours used in the current year.
461
+ # - `is_resetting_hours_each_new_year` (Boolean): Indicates whether or not the hours
462
+ # accrued resets to zero at the beginning of the new year. If you include a blank
463
+ # `is_resetting_hours_each_new_year` element in an EmployeeMod message, you’ll receive
464
+ # an error.
465
+ # - `maximum_hours` (String): The maximum number of hours that the employee can accrue.
466
+ # (QuickBooks itself doesn’t enforce this limit, however. `hours_available` can be
467
+ # greater than `maximum_hours`.) The default value is whatever the QuickBooks user has
468
+ # set in the QuickBooks Employee Preferences.
469
+ # - `use_time_data_to_create_paychecks` (one of "DoNotUseTimeData", "NotSet",
470
+ # "UseTimeData"): Indicates whether time data is used to create paychecks for this
471
+ # employee.
472
+ # - `vacation_hours` (Hash): Describes how vacation time is accrued for this employee, along
473
+ # with how many vacation hours the employee has accrued.
474
+ # - `accrual_period` (one of "BeginningOfYear", "EveryHourOnPaycheck", "EveryPaycheck"):
475
+ # Indicates how an employee accrues time off. If you include a blank `accrual_period`
476
+ # element in an EmployeeMod message, you’ll receive an error. The default value is
477
+ # whatever the QuickBooks user has set in the QuickBooks Employee Preferences.
478
+ # - `accrual_start_date` (String): When used in the `sick_hours` or `vacation_hours`
479
+ # aggregates, refers to the date on which sick leave or vacation hours in the current
480
+ # year began to accrue.
481
+ # - `hours_accrued` (String): The number of hours that the employee will accrue per
482
+ # accrual period. The default value is whatever the QuickBooks user has set in the
483
+ # QuickBooks Employee Preferences.
484
+ # - `hours_available` (String): The total number of hours currently available for the
485
+ # employee to use. If this value is empty, it will default to 0.
486
+ # - `hours_used` (String): When used in the `sick_hours` or `vacation_hours` aggregates,
487
+ # refers to the number of sick leave or vacation hours used in the current year.
488
+ # - `is_resetting_hours_each_new_year` (Boolean): Indicates whether or not the hours
489
+ # accrued resets to zero at the beginning of the new year. If you include a blank
490
+ # `is_resetting_hours_each_new_year` element in an EmployeeMod message, you’ll receive
491
+ # an error.
492
+ # - `maximum_hours` (String): The maximum number of hours that the employee can accrue.
493
+ # (QuickBooks itself doesn’t enforce this limit, however. `hours_available` can be
494
+ # greater than `maximum_hours`.) The default value is whatever the QuickBooks user has
495
+ # set in the QuickBooks Employee Preferences.
496
+ # - `employee_type` (one of "Officer", "Owner", "Regular", "Statutory"): `employee_type` can
497
+ # affect payroll taxes for an employee. A statutory employee is a person who is defined as
498
+ # an employee by statute. Usually an owner or partner will be on the Other Names list, but
499
+ # if they are on the Employee list, their `employee_type` will be Owner.
500
+ # - `ethnicity` (one of "AmericianIndian", "Asian", "Black", "Hawaiian", "Hispanic",
501
+ # "TwoOrMoreRaces", "White"): Ethnicity of employee from AmericianIndian, Asian, Black,
502
+ # Hawaiian, Hispanic, White, TwoOrMoreRaces.
503
+ # - `exempt` (one of "Exempt", "NonExempt"): Exempt or Non-exempt status of the employee.
504
+ # - `fax` (String): Fax number.
505
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
506
+ # “other names” list.
507
+ # - `hired_date` (String): An employee’s date of hire.
508
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
509
+ # "AdditionalNotesRet", "AdjustedServiceDate", "AltPhone", "BillingRateRef", "BirthDate",
510
+ # "DataExtRet", "Department", "Description", "DisabilityDesc", "Disabled", "EditSequence",
511
+ # "Email", "EmergencyContacts", "EmployeeAddress", "EmployeePayrollInfo", "EmployeeType",
512
+ # "Ethnicity", "Exempt", "ExternalGUID", "Fax", "FirstName", "Gender", "HiredDate",
513
+ # "IsActive", "JobTitle", "KeyEmployee", "LastName", "ListID", "MiddleName",
514
+ # "MilitaryStatus", "Mobile", "Name", "Notes", "OnFile", "OriginalHireDate", "OwnerID",
515
+ # "Pager", "PagerPIN", "PartOrFullTime", "Phone", "PrintAs", "ReleasedDate", "SSN",
516
+ # "Salutation", "Suffix", "SupervisorRef", "TargetBonus", "TimeCreated", "TimeModified",
517
+ # "TxnID", "TxnNumber", "USCitizen", "USVeteran", "WorkAuthExpireDate">)
518
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
519
+ # QuickBooks. The default value is true.
520
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
521
+ # “other names” list.
522
+ # - `key_employee` (one of "No", "Yes"): Is employee a key or critical employee.
523
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
524
+ # “other names” list.
525
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
526
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
527
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
528
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
529
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
530
+ # “other names” list.
531
+ # - `military_status` (one of "Active", "Reserve"): Military status if the employee is a US
532
+ # veteran.
533
+ # - `mobile` (String): Mobile telephone number.
534
+ # - `name` (String): A concatenation of `first_name`, `middle_name`, and `last_name`.
535
+ # - `notes` (String): Additional information.
536
+ # - `on_file` (one of "No", "Yes"): Is the employee’s I-9 on file?
537
+ # - `original_hire_date` (String): Original hire date the employee was hired.
538
+ # - `pager` (String): The pager number.
539
+ # - `pager_pin` (String): A personal identification number for this employee’s pager.
540
+ # - `part_or_full_time` (one of "FullTime", "PartTime"): Full or Part time status of the
541
+ # employee.
542
+ # - `phone` (String): The telephone number.
543
+ # - `print_as` (String): By default within QuickBooks, the `print_as` element is the same as
544
+ # the Name element.
545
+ # - `released_date` (String): The date on which this person’s employment with the company
546
+ # ended.
547
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
548
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
549
+ # webhook already carries the request's `id`.
550
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
551
+ # - `suffix` (String)
552
+ # - `supervisor_ref` (Hash): The name of a customer, vendor, employee, or person on the “other
553
+ # names” list in the employment job details section.
554
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
555
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
556
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
557
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
558
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
559
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
560
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
561
+ # - `target_bonus` (Numeric): The target bonus amount in the employment job details section.
562
+ # - `us_citizen` (one of "No", "Yes"): Is employee a US citizen?
563
+ # - `us_veteran` (one of "No", "Yes"): Is employee a US veteran?
564
+ # - `work_auth_expire_date` (String): Date the employee’s work authorization expires.
565
+ #
566
+ # @param connection_id [String]
567
+ # @param params [Hash] the fields above
568
+ # @param webhook_url [String] where QuBe Sync sends the answer
569
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
570
+ # @return [Hash] the queued request
571
+ # @see https://docs.qubesync.com/api-reference/v2/employees/update-employee
572
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
573
+ queue("employee.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
574
+ end
575
+ end
576
+ end
577
+ end