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