conductor-node 11.10.0 → 12.0.0-beta.1

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 (510) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/LICENSE +201 -21
  3. package/README.md +330 -63
  4. package/_shims/MultipartBody.d.ts +9 -0
  5. package/_shims/MultipartBody.d.ts.map +1 -0
  6. package/_shims/MultipartBody.js +16 -0
  7. package/_shims/MultipartBody.js.map +1 -0
  8. package/_shims/MultipartBody.mjs +12 -0
  9. package/_shims/MultipartBody.mjs.map +1 -0
  10. package/_shims/README.md +46 -0
  11. package/_shims/auto/runtime-bun.d.ts +5 -0
  12. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  13. package/_shims/auto/runtime-bun.js +21 -0
  14. package/_shims/auto/runtime-bun.js.map +1 -0
  15. package/_shims/auto/runtime-bun.mjs +2 -0
  16. package/_shims/auto/runtime-bun.mjs.map +1 -0
  17. package/_shims/auto/runtime-node.d.ts +5 -0
  18. package/_shims/auto/runtime-node.d.ts.map +1 -0
  19. package/_shims/auto/runtime-node.js +21 -0
  20. package/_shims/auto/runtime-node.js.map +1 -0
  21. package/_shims/auto/runtime-node.mjs +2 -0
  22. package/_shims/auto/runtime-node.mjs.map +1 -0
  23. package/_shims/auto/runtime.d.ts +5 -0
  24. package/_shims/auto/runtime.d.ts.map +1 -0
  25. package/_shims/auto/runtime.js +21 -0
  26. package/_shims/auto/runtime.js.map +1 -0
  27. package/_shims/auto/runtime.mjs +2 -0
  28. package/_shims/auto/runtime.mjs.map +1 -0
  29. package/_shims/auto/types-node.d.ts +5 -0
  30. package/_shims/auto/types-node.d.ts.map +1 -0
  31. package/_shims/auto/types-node.js +21 -0
  32. package/_shims/auto/types-node.js.map +1 -0
  33. package/_shims/auto/types-node.mjs +2 -0
  34. package/_shims/auto/types-node.mjs.map +1 -0
  35. package/_shims/auto/types.d.ts +101 -0
  36. package/_shims/auto/types.js +3 -0
  37. package/_shims/auto/types.mjs +3 -0
  38. package/_shims/bun-runtime.d.ts +6 -0
  39. package/_shims/bun-runtime.d.ts.map +1 -0
  40. package/_shims/bun-runtime.js +14 -0
  41. package/_shims/bun-runtime.js.map +1 -0
  42. package/_shims/bun-runtime.mjs +10 -0
  43. package/_shims/bun-runtime.mjs.map +1 -0
  44. package/_shims/index.d.ts +81 -0
  45. package/_shims/index.js +13 -0
  46. package/_shims/index.mjs +7 -0
  47. package/_shims/manual-types.d.ts +12 -0
  48. package/_shims/manual-types.js +3 -0
  49. package/_shims/manual-types.mjs +3 -0
  50. package/_shims/node-runtime.d.ts +3 -0
  51. package/_shims/node-runtime.d.ts.map +1 -0
  52. package/_shims/node-runtime.js +89 -0
  53. package/_shims/node-runtime.js.map +1 -0
  54. package/_shims/node-runtime.mjs +56 -0
  55. package/_shims/node-runtime.mjs.map +1 -0
  56. package/_shims/node-types.d.ts +42 -0
  57. package/_shims/node-types.js +3 -0
  58. package/_shims/node-types.mjs +3 -0
  59. package/_shims/registry.d.ts +37 -0
  60. package/_shims/registry.d.ts.map +1 -0
  61. package/_shims/registry.js +41 -0
  62. package/_shims/registry.js.map +1 -0
  63. package/_shims/registry.mjs +37 -0
  64. package/_shims/registry.mjs.map +1 -0
  65. package/_shims/web-runtime.d.ts +5 -0
  66. package/_shims/web-runtime.d.ts.map +1 -0
  67. package/_shims/web-runtime.js +78 -0
  68. package/_shims/web-runtime.js.map +1 -0
  69. package/_shims/web-runtime.mjs +71 -0
  70. package/_shims/web-runtime.mjs.map +1 -0
  71. package/_shims/web-types.d.ts +83 -0
  72. package/_shims/web-types.js +3 -0
  73. package/_shims/web-types.mjs +3 -0
  74. package/core.d.ts +241 -0
  75. package/core.d.ts.map +1 -0
  76. package/core.js +914 -0
  77. package/core.js.map +1 -0
  78. package/core.mjs +882 -0
  79. package/core.mjs.map +1 -0
  80. package/error.d.ts +47 -0
  81. package/error.d.ts.map +1 -0
  82. package/error.js +113 -0
  83. package/error.js.map +1 -0
  84. package/error.mjs +97 -0
  85. package/error.mjs.map +1 -0
  86. package/index.d.mts +121 -0
  87. package/index.d.ts +121 -0
  88. package/index.d.ts.map +1 -0
  89. package/index.js +133 -0
  90. package/index.js.map +1 -0
  91. package/index.mjs +90 -0
  92. package/index.mjs.map +1 -0
  93. package/internal/qs/formats.d.ts +6 -0
  94. package/internal/qs/formats.d.ts.map +1 -0
  95. package/internal/qs/formats.js +11 -0
  96. package/internal/qs/formats.js.map +1 -0
  97. package/internal/qs/formats.mjs +8 -0
  98. package/internal/qs/formats.mjs.map +1 -0
  99. package/internal/qs/index.d.ts +10 -0
  100. package/internal/qs/index.d.ts.map +1 -0
  101. package/internal/qs/index.js +14 -0
  102. package/internal/qs/index.js.map +1 -0
  103. package/internal/qs/index.mjs +10 -0
  104. package/internal/qs/index.mjs.map +1 -0
  105. package/internal/qs/stringify.d.ts +3 -0
  106. package/internal/qs/stringify.d.ts.map +1 -0
  107. package/internal/qs/stringify.js +280 -0
  108. package/internal/qs/stringify.js.map +1 -0
  109. package/internal/qs/stringify.mjs +276 -0
  110. package/internal/qs/stringify.mjs.map +1 -0
  111. package/internal/qs/types.d.ts +57 -0
  112. package/internal/qs/types.d.ts.map +1 -0
  113. package/{dist/src/resources → internal/qs}/types.js +1 -0
  114. package/internal/qs/types.js.map +1 -0
  115. package/internal/qs/types.mjs +2 -0
  116. package/internal/qs/types.mjs.map +1 -0
  117. package/internal/qs/utils.d.ts +14 -0
  118. package/internal/qs/utils.d.ts.map +1 -0
  119. package/internal/qs/utils.js +229 -0
  120. package/internal/qs/utils.js.map +1 -0
  121. package/internal/qs/utils.mjs +217 -0
  122. package/internal/qs/utils.mjs.map +1 -0
  123. package/package.json +111 -35
  124. package/pagination.d.ts +18 -0
  125. package/pagination.d.ts.map +1 -0
  126. package/pagination.js +40 -0
  127. package/pagination.js.map +1 -0
  128. package/pagination.mjs +36 -0
  129. package/pagination.mjs.map +1 -0
  130. package/resource.d.ts +6 -0
  131. package/resource.d.ts.map +1 -0
  132. package/resource.js +11 -0
  133. package/resource.js.map +1 -0
  134. package/resource.mjs +7 -0
  135. package/resource.mjs.map +1 -0
  136. package/resources/auth-sessions.d.ts +79 -0
  137. package/resources/auth-sessions.d.ts.map +1 -0
  138. package/resources/auth-sessions.js +23 -0
  139. package/resources/auth-sessions.js.map +1 -0
  140. package/resources/auth-sessions.mjs +19 -0
  141. package/resources/auth-sessions.mjs.map +1 -0
  142. package/resources/end-users.d.ts +154 -0
  143. package/resources/end-users.d.ts.map +1 -0
  144. package/resources/end-users.js +48 -0
  145. package/resources/end-users.js.map +1 -0
  146. package/resources/end-users.mjs +44 -0
  147. package/resources/end-users.mjs.map +1 -0
  148. package/resources/index.d.ts +4 -0
  149. package/resources/index.d.ts.map +1 -0
  150. package/resources/index.js +11 -0
  151. package/resources/index.js.map +1 -0
  152. package/resources/index.mjs +5 -0
  153. package/resources/index.mjs.map +1 -0
  154. package/resources/qbd/accounts.d.ts +579 -0
  155. package/resources/qbd/accounts.d.ts.map +1 -0
  156. package/resources/qbd/accounts.js +54 -0
  157. package/resources/qbd/accounts.js.map +1 -0
  158. package/resources/qbd/accounts.mjs +50 -0
  159. package/resources/qbd/accounts.mjs.map +1 -0
  160. package/resources/qbd/bill-check-payments.d.ts +831 -0
  161. package/resources/qbd/bill-check-payments.d.ts.map +1 -0
  162. package/resources/qbd/bill-check-payments.js +70 -0
  163. package/resources/qbd/bill-check-payments.js.map +1 -0
  164. package/resources/qbd/bill-check-payments.mjs +65 -0
  165. package/resources/qbd/bill-check-payments.mjs.map +1 -0
  166. package/resources/qbd/bill-credit-card-payments.d.ts +641 -0
  167. package/resources/qbd/bill-credit-card-payments.d.ts.map +1 -0
  168. package/resources/qbd/bill-credit-card-payments.js +55 -0
  169. package/resources/qbd/bill-credit-card-payments.js.map +1 -0
  170. package/resources/qbd/bill-credit-card-payments.mjs +50 -0
  171. package/resources/qbd/bill-credit-card-payments.mjs.map +1 -0
  172. package/resources/qbd/bills.d.ts +2561 -0
  173. package/resources/qbd/bills.d.ts.map +1 -0
  174. package/resources/qbd/bills.js +69 -0
  175. package/resources/qbd/bills.js.map +1 -0
  176. package/resources/qbd/bills.mjs +64 -0
  177. package/resources/qbd/bills.mjs.map +1 -0
  178. package/resources/qbd/checks.d.ts +2528 -0
  179. package/resources/qbd/checks.d.ts.map +1 -0
  180. package/resources/qbd/checks.js +69 -0
  181. package/resources/qbd/checks.js.map +1 -0
  182. package/resources/qbd/checks.mjs +64 -0
  183. package/resources/qbd/checks.mjs.map +1 -0
  184. package/resources/qbd/classes.d.ts +289 -0
  185. package/resources/qbd/classes.d.ts.map +1 -0
  186. package/resources/qbd/classes.js +54 -0
  187. package/resources/qbd/classes.js.map +1 -0
  188. package/resources/qbd/classes.mjs +50 -0
  189. package/resources/qbd/classes.mjs.map +1 -0
  190. package/resources/qbd/credit-card-charges.d.ts +2236 -0
  191. package/resources/qbd/credit-card-charges.d.ts.map +1 -0
  192. package/resources/qbd/credit-card-charges.js +69 -0
  193. package/resources/qbd/credit-card-charges.js.map +1 -0
  194. package/resources/qbd/credit-card-charges.mjs +64 -0
  195. package/resources/qbd/credit-card-charges.mjs.map +1 -0
  196. package/resources/qbd/credit-card-credits.d.ts +2233 -0
  197. package/resources/qbd/credit-card-credits.d.ts.map +1 -0
  198. package/resources/qbd/credit-card-credits.js +69 -0
  199. package/resources/qbd/credit-card-credits.js.map +1 -0
  200. package/resources/qbd/credit-card-credits.mjs +64 -0
  201. package/resources/qbd/credit-card-credits.mjs.map +1 -0
  202. package/resources/qbd/credit-memos.d.ts +2649 -0
  203. package/resources/qbd/credit-memos.d.ts.map +1 -0
  204. package/resources/qbd/credit-memos.js +69 -0
  205. package/resources/qbd/credit-memos.js.map +1 -0
  206. package/resources/qbd/credit-memos.mjs +64 -0
  207. package/resources/qbd/credit-memos.mjs.map +1 -0
  208. package/resources/qbd/customers.d.ts +2106 -0
  209. package/resources/qbd/customers.d.ts.map +1 -0
  210. package/resources/qbd/customers.js +58 -0
  211. package/resources/qbd/customers.js.map +1 -0
  212. package/resources/qbd/customers.mjs +53 -0
  213. package/resources/qbd/customers.mjs.map +1 -0
  214. package/resources/qbd/date-driven-terms.d.ts +242 -0
  215. package/resources/qbd/date-driven-terms.d.ts.map +1 -0
  216. package/resources/qbd/date-driven-terms.js +43 -0
  217. package/resources/qbd/date-driven-terms.js.map +1 -0
  218. package/resources/qbd/date-driven-terms.mjs +39 -0
  219. package/resources/qbd/date-driven-terms.mjs.map +1 -0
  220. package/resources/qbd/discount-items.d.ts +576 -0
  221. package/resources/qbd/discount-items.d.ts.map +1 -0
  222. package/resources/qbd/discount-items.js +58 -0
  223. package/resources/qbd/discount-items.js.map +1 -0
  224. package/resources/qbd/discount-items.mjs +53 -0
  225. package/resources/qbd/discount-items.mjs.map +1 -0
  226. package/resources/qbd/employees.d.ts +1669 -0
  227. package/resources/qbd/employees.d.ts.map +1 -0
  228. package/resources/qbd/employees.js +58 -0
  229. package/resources/qbd/employees.js.map +1 -0
  230. package/resources/qbd/employees.mjs +53 -0
  231. package/resources/qbd/employees.mjs.map +1 -0
  232. package/resources/qbd/estimates.d.ts +2493 -0
  233. package/resources/qbd/estimates.d.ts.map +1 -0
  234. package/resources/qbd/estimates.js +69 -0
  235. package/resources/qbd/estimates.js.map +1 -0
  236. package/resources/qbd/estimates.mjs +64 -0
  237. package/resources/qbd/estimates.mjs.map +1 -0
  238. package/resources/qbd/index.d.ts +37 -0
  239. package/resources/qbd/index.d.ts.map +1 -0
  240. package/resources/qbd/index.js +105 -0
  241. package/resources/qbd/index.js.map +1 -0
  242. package/resources/qbd/index.mjs +38 -0
  243. package/resources/qbd/index.mjs.map +1 -0
  244. package/resources/qbd/inventory-adjustments.d.ts +814 -0
  245. package/resources/qbd/inventory-adjustments.d.ts.map +1 -0
  246. package/resources/qbd/inventory-adjustments.js +66 -0
  247. package/resources/qbd/inventory-adjustments.js.map +1 -0
  248. package/resources/qbd/inventory-adjustments.mjs +62 -0
  249. package/resources/qbd/inventory-adjustments.mjs.map +1 -0
  250. package/resources/qbd/inventory-assembly-items.d.ts +931 -0
  251. package/resources/qbd/inventory-assembly-items.d.ts.map +1 -0
  252. package/resources/qbd/inventory-assembly-items.js +54 -0
  253. package/resources/qbd/inventory-assembly-items.js.map +1 -0
  254. package/resources/qbd/inventory-assembly-items.mjs +49 -0
  255. package/resources/qbd/inventory-assembly-items.mjs.map +1 -0
  256. package/resources/qbd/inventory-items.d.ts +844 -0
  257. package/resources/qbd/inventory-items.d.ts.map +1 -0
  258. package/resources/qbd/inventory-items.js +58 -0
  259. package/resources/qbd/inventory-items.js.map +1 -0
  260. package/resources/qbd/inventory-items.mjs +53 -0
  261. package/resources/qbd/inventory-items.mjs.map +1 -0
  262. package/resources/qbd/inventory-sites.d.ts +477 -0
  263. package/resources/qbd/inventory-sites.d.ts.map +1 -0
  264. package/resources/qbd/inventory-sites.js +54 -0
  265. package/resources/qbd/inventory-sites.js.map +1 -0
  266. package/resources/qbd/inventory-sites.mjs +50 -0
  267. package/resources/qbd/inventory-sites.mjs.map +1 -0
  268. package/resources/qbd/invoices.d.ts +2873 -0
  269. package/resources/qbd/invoices.d.ts.map +1 -0
  270. package/resources/qbd/invoices.js +69 -0
  271. package/resources/qbd/invoices.js.map +1 -0
  272. package/resources/qbd/invoices.mjs +64 -0
  273. package/resources/qbd/invoices.mjs.map +1 -0
  274. package/resources/qbd/journal-entries.d.ts +856 -0
  275. package/resources/qbd/journal-entries.d.ts.map +1 -0
  276. package/resources/qbd/journal-entries.js +69 -0
  277. package/resources/qbd/journal-entries.js.map +1 -0
  278. package/resources/qbd/journal-entries.mjs +64 -0
  279. package/resources/qbd/journal-entries.mjs.map +1 -0
  280. package/resources/qbd/non-inventory-items.d.ts +950 -0
  281. package/resources/qbd/non-inventory-items.d.ts.map +1 -0
  282. package/resources/qbd/non-inventory-items.js +58 -0
  283. package/resources/qbd/non-inventory-items.js.map +1 -0
  284. package/resources/qbd/non-inventory-items.mjs +53 -0
  285. package/resources/qbd/non-inventory-items.mjs.map +1 -0
  286. package/resources/qbd/payroll-wage-items.d.ts +215 -0
  287. package/resources/qbd/payroll-wage-items.d.ts.map +1 -0
  288. package/resources/qbd/payroll-wage-items.js +47 -0
  289. package/resources/qbd/payroll-wage-items.js.map +1 -0
  290. package/resources/qbd/payroll-wage-items.mjs +42 -0
  291. package/resources/qbd/payroll-wage-items.mjs.map +1 -0
  292. package/resources/qbd/purchase-orders.d.ts +2554 -0
  293. package/resources/qbd/purchase-orders.d.ts.map +1 -0
  294. package/resources/qbd/purchase-orders.js +69 -0
  295. package/resources/qbd/purchase-orders.js.map +1 -0
  296. package/resources/qbd/purchase-orders.mjs +64 -0
  297. package/resources/qbd/purchase-orders.mjs.map +1 -0
  298. package/resources/qbd/qbd.d.ts +146 -0
  299. package/resources/qbd/qbd.d.ts.map +1 -0
  300. package/resources/qbd/qbd.js +202 -0
  301. package/resources/qbd/qbd.js.map +1 -0
  302. package/resources/qbd/qbd.mjs +175 -0
  303. package/resources/qbd/qbd.mjs.map +1 -0
  304. package/resources/qbd/receive-payments.d.ts +1282 -0
  305. package/resources/qbd/receive-payments.d.ts.map +1 -0
  306. package/resources/qbd/receive-payments.js +70 -0
  307. package/resources/qbd/receive-payments.js.map +1 -0
  308. package/resources/qbd/receive-payments.mjs +65 -0
  309. package/resources/qbd/receive-payments.mjs.map +1 -0
  310. package/resources/qbd/sales-orders.d.ts +2628 -0
  311. package/resources/qbd/sales-orders.d.ts.map +1 -0
  312. package/resources/qbd/sales-orders.js +69 -0
  313. package/resources/qbd/sales-orders.js.map +1 -0
  314. package/resources/qbd/sales-orders.mjs +64 -0
  315. package/resources/qbd/sales-orders.mjs.map +1 -0
  316. package/resources/qbd/sales-receipts.d.ts +3373 -0
  317. package/resources/qbd/sales-receipts.d.ts.map +1 -0
  318. package/resources/qbd/sales-receipts.js +69 -0
  319. package/resources/qbd/sales-receipts.js.map +1 -0
  320. package/resources/qbd/sales-receipts.mjs +64 -0
  321. package/resources/qbd/sales-receipts.mjs.map +1 -0
  322. package/resources/qbd/sales-representatives.d.ts +251 -0
  323. package/resources/qbd/sales-representatives.d.ts.map +1 -0
  324. package/resources/qbd/sales-representatives.js +54 -0
  325. package/resources/qbd/sales-representatives.js.map +1 -0
  326. package/resources/qbd/sales-representatives.mjs +50 -0
  327. package/resources/qbd/sales-representatives.mjs.map +1 -0
  328. package/resources/qbd/sales-tax-codes.d.ts +306 -0
  329. package/resources/qbd/sales-tax-codes.d.ts.map +1 -0
  330. package/resources/qbd/sales-tax-codes.js +54 -0
  331. package/resources/qbd/sales-tax-codes.js.map +1 -0
  332. package/resources/qbd/sales-tax-codes.mjs +50 -0
  333. package/resources/qbd/sales-tax-codes.mjs.map +1 -0
  334. package/resources/qbd/sales-tax-items.d.ts +458 -0
  335. package/resources/qbd/sales-tax-items.d.ts.map +1 -0
  336. package/resources/qbd/sales-tax-items.js +58 -0
  337. package/resources/qbd/sales-tax-items.js.map +1 -0
  338. package/resources/qbd/sales-tax-items.mjs +53 -0
  339. package/resources/qbd/sales-tax-items.mjs.map +1 -0
  340. package/resources/qbd/service-items.d.ts +923 -0
  341. package/resources/qbd/service-items.d.ts.map +1 -0
  342. package/resources/qbd/service-items.js +58 -0
  343. package/resources/qbd/service-items.js.map +1 -0
  344. package/resources/qbd/service-items.mjs +53 -0
  345. package/resources/qbd/service-items.mjs.map +1 -0
  346. package/resources/qbd/standard-terms.d.ts +225 -0
  347. package/resources/qbd/standard-terms.d.ts.map +1 -0
  348. package/resources/qbd/standard-terms.js +43 -0
  349. package/resources/qbd/standard-terms.js.map +1 -0
  350. package/resources/qbd/standard-terms.mjs +39 -0
  351. package/resources/qbd/standard-terms.mjs.map +1 -0
  352. package/resources/qbd/subtotal-items.d.ts +323 -0
  353. package/resources/qbd/subtotal-items.d.ts.map +1 -0
  354. package/resources/qbd/subtotal-items.js +58 -0
  355. package/resources/qbd/subtotal-items.js.map +1 -0
  356. package/resources/qbd/subtotal-items.mjs +53 -0
  357. package/resources/qbd/subtotal-items.mjs.map +1 -0
  358. package/resources/qbd/transfers.d.ts +269 -0
  359. package/resources/qbd/transfers.d.ts.map +1 -0
  360. package/resources/qbd/transfers.js +58 -0
  361. package/resources/qbd/transfers.js.map +1 -0
  362. package/resources/qbd/transfers.mjs +53 -0
  363. package/resources/qbd/transfers.mjs.map +1 -0
  364. package/resources/qbd/vendor-credits.d.ts +2298 -0
  365. package/resources/qbd/vendor-credits.d.ts.map +1 -0
  366. package/resources/qbd/vendor-credits.js +69 -0
  367. package/resources/qbd/vendor-credits.js.map +1 -0
  368. package/resources/qbd/vendor-credits.mjs +64 -0
  369. package/resources/qbd/vendor-credits.mjs.map +1 -0
  370. package/resources/qbd/vendors.d.ts +1677 -0
  371. package/resources/qbd/vendors.d.ts.map +1 -0
  372. package/resources/qbd/vendors.js +58 -0
  373. package/resources/qbd/vendors.js.map +1 -0
  374. package/resources/qbd/vendors.mjs +53 -0
  375. package/resources/qbd/vendors.mjs.map +1 -0
  376. package/shims/node.d.ts +30 -0
  377. package/shims/node.d.ts.map +1 -0
  378. package/shims/node.js +31 -0
  379. package/shims/node.js.map +1 -0
  380. package/shims/node.mjs +5 -0
  381. package/shims/node.mjs.map +1 -0
  382. package/shims/web.d.ts +26 -0
  383. package/shims/web.d.ts.map +1 -0
  384. package/shims/web.js +31 -0
  385. package/shims/web.js.map +1 -0
  386. package/shims/web.mjs +5 -0
  387. package/shims/web.mjs.map +1 -0
  388. package/src/_shims/MultipartBody.ts +9 -0
  389. package/src/_shims/README.md +46 -0
  390. package/src/_shims/auto/runtime-bun.ts +4 -0
  391. package/src/_shims/auto/runtime-node.ts +4 -0
  392. package/src/_shims/auto/runtime.ts +4 -0
  393. package/src/_shims/auto/types-node.ts +4 -0
  394. package/src/_shims/auto/types.d.ts +101 -0
  395. package/src/_shims/auto/types.js +3 -0
  396. package/src/_shims/auto/types.mjs +3 -0
  397. package/src/_shims/bun-runtime.ts +14 -0
  398. package/src/_shims/index.d.ts +81 -0
  399. package/src/_shims/index.js +13 -0
  400. package/src/_shims/index.mjs +7 -0
  401. package/src/_shims/manual-types.d.ts +12 -0
  402. package/src/_shims/manual-types.js +3 -0
  403. package/src/_shims/manual-types.mjs +3 -0
  404. package/src/_shims/node-runtime.ts +81 -0
  405. package/src/_shims/node-types.d.ts +42 -0
  406. package/src/_shims/node-types.js +3 -0
  407. package/src/_shims/node-types.mjs +3 -0
  408. package/src/_shims/registry.ts +67 -0
  409. package/src/_shims/web-runtime.ts +103 -0
  410. package/src/_shims/web-types.d.ts +83 -0
  411. package/src/_shims/web-types.js +3 -0
  412. package/src/_shims/web-types.mjs +3 -0
  413. package/src/core.ts +1208 -0
  414. package/src/error.ts +130 -0
  415. package/src/index.ts +227 -0
  416. package/src/internal/qs/LICENSE.md +13 -0
  417. package/src/internal/qs/README.md +3 -0
  418. package/src/internal/qs/formats.ts +9 -0
  419. package/src/internal/qs/index.ts +13 -0
  420. package/src/internal/qs/stringify.ts +388 -0
  421. package/src/internal/qs/types.ts +71 -0
  422. package/src/internal/qs/utils.ts +265 -0
  423. package/src/lib/.keep +4 -0
  424. package/src/pagination.ts +60 -0
  425. package/src/resource.ts +11 -0
  426. package/src/resources/auth-sessions.ts +99 -0
  427. package/src/resources/end-users.ts +216 -0
  428. package/src/resources/index.ts +14 -0
  429. package/src/resources/qbd/accounts.ts +797 -0
  430. package/src/resources/qbd/bill-check-payments.ts +1086 -0
  431. package/src/resources/qbd/bill-credit-card-payments.ts +851 -0
  432. package/src/resources/qbd/bills.ts +3039 -0
  433. package/src/resources/qbd/checks.ts +3003 -0
  434. package/src/resources/qbd/classes.ts +366 -0
  435. package/src/resources/qbd/credit-card-charges.ts +2646 -0
  436. package/src/resources/qbd/credit-card-credits.ts +2643 -0
  437. package/src/resources/qbd/credit-memos.ts +3157 -0
  438. package/src/resources/qbd/customers.ts +2518 -0
  439. package/src/resources/qbd/date-driven-terms.ts +314 -0
  440. package/src/resources/qbd/discount-items.ts +712 -0
  441. package/src/resources/qbd/employees.ts +2266 -0
  442. package/src/resources/qbd/estimates.ts +2975 -0
  443. package/src/resources/qbd/index.ts +346 -0
  444. package/src/resources/qbd/inventory-adjustments.ts +1008 -0
  445. package/src/resources/qbd/inventory-assembly-items.ts +1126 -0
  446. package/src/resources/qbd/inventory-items.ts +1026 -0
  447. package/src/resources/qbd/inventory-sites.ts +605 -0
  448. package/src/resources/qbd/invoices.ts +3398 -0
  449. package/src/resources/qbd/journal-entries.ts +1051 -0
  450. package/src/resources/qbd/non-inventory-items.ts +1138 -0
  451. package/src/resources/qbd/payroll-wage-items.ts +304 -0
  452. package/src/resources/qbd/purchase-orders.ts +3045 -0
  453. package/src/resources/qbd/qbd.ts +876 -0
  454. package/src/resources/qbd/receive-payments.ts +1609 -0
  455. package/src/resources/qbd/sales-orders.ts +3141 -0
  456. package/src/resources/qbd/sales-receipts.ts +3977 -0
  457. package/src/resources/qbd/sales-representatives.ts +340 -0
  458. package/src/resources/qbd/sales-tax-codes.ts +398 -0
  459. package/src/resources/qbd/sales-tax-items.ts +583 -0
  460. package/src/resources/qbd/service-items.ts +1105 -0
  461. package/src/resources/qbd/standard-terms.ts +295 -0
  462. package/src/resources/qbd/subtotal-items.ts +430 -0
  463. package/src/resources/qbd/transfers.ts +359 -0
  464. package/src/resources/qbd/vendor-credits.ts +2742 -0
  465. package/src/resources/qbd/vendors.ts +2017 -0
  466. package/src/shims/node.ts +50 -0
  467. package/src/shims/web.ts +50 -0
  468. package/src/tsconfig.json +11 -0
  469. package/src/uploads.ts +255 -0
  470. package/src/version.ts +1 -0
  471. package/uploads.d.ts +75 -0
  472. package/uploads.d.ts.map +1 -0
  473. package/uploads.js +171 -0
  474. package/uploads.js.map +1 -0
  475. package/uploads.mjs +158 -0
  476. package/uploads.mjs.map +1 -0
  477. package/version.d.ts +2 -0
  478. package/version.d.ts.map +1 -0
  479. package/version.js +5 -0
  480. package/version.js.map +1 -0
  481. package/version.mjs +2 -0
  482. package/version.mjs.map +1 -0
  483. package/dist/package.json +0 -48
  484. package/dist/src/Client.d.ts +0 -21
  485. package/dist/src/Client.js +0 -54
  486. package/dist/src/index.d.ts +0 -11
  487. package/dist/src/index.js +0 -59
  488. package/dist/src/integrations/BaseIntegration.d.ts +0 -9
  489. package/dist/src/integrations/BaseIntegration.js +0 -14
  490. package/dist/src/integrations/qbd/QbdIntegration.d.ts +0 -3120
  491. package/dist/src/integrations/qbd/QbdIntegration.js +0 -3147
  492. package/dist/src/integrations/qbd/qbdTypes.d.ts +0 -14076
  493. package/dist/src/integrations/qbd/qbdTypes.js +0 -2
  494. package/dist/src/interceptors/errorHandling.d.ts +0 -2
  495. package/dist/src/interceptors/errorHandling.js +0 -53
  496. package/dist/src/interceptors/logging.d.ts +0 -18
  497. package/dist/src/interceptors/logging.js +0 -70
  498. package/dist/src/resources/AuthSessionsResource.d.ts +0 -77
  499. package/dist/src/resources/AuthSessionsResource.js +0 -26
  500. package/dist/src/resources/BaseResource.d.ts +0 -6
  501. package/dist/src/resources/BaseResource.js +0 -9
  502. package/dist/src/resources/EndUsersResource.d.ts +0 -84
  503. package/dist/src/resources/EndUsersResource.js +0 -57
  504. package/dist/src/resources/types.d.ts +0 -40
  505. package/dist/src/utils/checkForUpdates.d.ts +0 -2
  506. package/dist/src/utils/checkForUpdates.js +0 -62
  507. package/dist/src/utils/env.d.ts +0 -1
  508. package/dist/src/utils/env.js +0 -15
  509. package/dist/src/utils/error.d.ts +0 -184
  510. package/dist/src/utils/error.js +0 -254
@@ -0,0 +1,2518 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../resource';
4
+ import * as Core from '../../core';
5
+ import { CursorPage, type CursorPageParams } from '../../pagination';
6
+
7
+ export class Customers extends APIResource {
8
+ /**
9
+ * Creates a new customer.
10
+ */
11
+ create(params: CustomerCreateParams, options?: Core.RequestOptions): Core.APIPromise<Customer> {
12
+ const { conductorEndUserId, ...body } = params;
13
+ return this._client.post('/quickbooks-desktop/customers', {
14
+ body,
15
+ ...options,
16
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
17
+ });
18
+ }
19
+
20
+ /**
21
+ * Retrieves a customer by ID.
22
+ */
23
+ retrieve(
24
+ id: string,
25
+ params: CustomerRetrieveParams,
26
+ options?: Core.RequestOptions,
27
+ ): Core.APIPromise<Customer> {
28
+ const { conductorEndUserId } = params;
29
+ return this._client.get(`/quickbooks-desktop/customers/${id}`, {
30
+ ...options,
31
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
32
+ });
33
+ }
34
+
35
+ /**
36
+ * Updates an existing customer.
37
+ */
38
+ update(id: string, params: CustomerUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Customer> {
39
+ const { conductorEndUserId, ...body } = params;
40
+ return this._client.post(`/quickbooks-desktop/customers/${id}`, {
41
+ body,
42
+ ...options,
43
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
44
+ });
45
+ }
46
+
47
+ /**
48
+ * Returns a list of customers. Use the `cursor` parameter to paginate through the
49
+ * results.
50
+ */
51
+ list(
52
+ params: CustomerListParams,
53
+ options?: Core.RequestOptions,
54
+ ): Core.PagePromise<CustomersCursorPage, Customer> {
55
+ const { conductorEndUserId, ...query } = params;
56
+ return this._client.getAPIList('/quickbooks-desktop/customers', CustomersCursorPage, {
57
+ query,
58
+ ...options,
59
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
60
+ });
61
+ }
62
+ }
63
+
64
+ export class CustomersCursorPage extends CursorPage<Customer> {}
65
+
66
+ export interface Customer {
67
+ /**
68
+ * The unique identifier assigned by QuickBooks to this customer. This ID is unique
69
+ * across all customers but not across different QuickBooks object types.
70
+ */
71
+ id: string;
72
+
73
+ /**
74
+ * The customer's account number, which appears in the QuickBooks chart of
75
+ * accounts, reports, and graphs.
76
+ *
77
+ * Note that if the "Use Account Numbers" preference is turned off in QuickBooks,
78
+ * the account number may not be visible in the user interface, but it can still be
79
+ * set and retrieved through the API.
80
+ */
81
+ accountNumber: string | null;
82
+
83
+ /**
84
+ * Additional alternate contacts for this customer.
85
+ */
86
+ additionalContacts: Array<Customer.AdditionalContact>;
87
+
88
+ /**
89
+ * Additional notes about this customer.
90
+ */
91
+ additionalNotes: Array<Customer.AdditionalNote>;
92
+
93
+ /**
94
+ * The name of a alternate contact person for this customer.
95
+ */
96
+ alternateContact: string | null;
97
+
98
+ /**
99
+ * The customer's alternate telephone number.
100
+ */
101
+ alternatePhone: string | null;
102
+
103
+ /**
104
+ * A list of additional shipping addresses for this customer. Useful when the
105
+ * customer has multiple shipping locations.
106
+ */
107
+ alternateShippingAddresses: Array<Customer.AlternateShippingAddress>;
108
+
109
+ /**
110
+ * The current balance owed by this customer, excluding balances from any jobs
111
+ * (i.e., sub-customers), represented as a decimal string. Compare with
112
+ * `totalBalance`. A positive number indicates money owed by the customer.
113
+ */
114
+ balance: string | null;
115
+
116
+ /**
117
+ * The customer's billing address.
118
+ */
119
+ billingAddress: Customer.BillingAddress | null;
120
+
121
+ /**
122
+ * An email address to carbon copy (CC) on communications with this customer.
123
+ */
124
+ ccEmail: string | null;
125
+
126
+ /**
127
+ * The customer's class. Classes can be used to categorize objects into meaningful
128
+ * segments, such as department, location, or type of work. In QuickBooks, class
129
+ * tracking is off by default.
130
+ */
131
+ class: Customer.Class | null;
132
+
133
+ /**
134
+ * The name of the company associated with this customer. This name is used on
135
+ * invoices, checks, and other forms.
136
+ */
137
+ companyName: string | null;
138
+
139
+ /**
140
+ * The name of the primary contact person for this customer.
141
+ */
142
+ contact: string | null;
143
+
144
+ /**
145
+ * The date and time when this customer was created, in ISO 8601 format
146
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
147
+ * in QuickBooks.
148
+ */
149
+ createdAt: string;
150
+
151
+ /**
152
+ * The customer's credit card information, including card type, number, and
153
+ * expiration date, used for processing credit card payments.
154
+ */
155
+ creditCard: Customer.CreditCard | null;
156
+
157
+ /**
158
+ * The customer's credit limit, represented as a decimal string. This is the
159
+ * maximum amount of money this customer can spend before being billed. If `null`,
160
+ * there is no credit limit.
161
+ */
162
+ creditLimit: string | null;
163
+
164
+ /**
165
+ * The customer's currency. For built-in currencies, the name and code are standard
166
+ * international values. For user-defined currencies, all values are editable.
167
+ */
168
+ currency: Customer.Currency | null;
169
+
170
+ /**
171
+ * Additional custom contact fields for this customer, such as phone numbers or
172
+ * email addresses.
173
+ */
174
+ customContactFields: Array<Customer.CustomContactField>;
175
+
176
+ /**
177
+ * The customer's type, used for categorizing customers into meaningful segments,
178
+ * such as industry or region.
179
+ */
180
+ customerType: Customer.CustomerType | null;
181
+
182
+ /**
183
+ * The custom fields for the customer object, added as user-defined data
184
+ * extensions, not included in the standard QuickBooks object.
185
+ */
186
+ customFields: Array<Customer.CustomField>;
187
+
188
+ /**
189
+ * The customer's email address.
190
+ */
191
+ email: string | null;
192
+
193
+ /**
194
+ * A globally unique identifier (GUID) you, the developer, can provide for tracking
195
+ * this object in your external system. This field is immutable and can only be set
196
+ * during object creation.
197
+ */
198
+ externalId: string | null;
199
+
200
+ /**
201
+ * The customer's fax number.
202
+ */
203
+ fax: string | null;
204
+
205
+ /**
206
+ * The first name of the contact person for this customer.
207
+ */
208
+ firstName: string | null;
209
+
210
+ /**
211
+ * The case-insensitive fully-qualified unique name of this customer, formed by
212
+ * combining the names of its hierarchical parent objects with its own `name`,
213
+ * separated by colons. For example, if a customer is under "ABC Corporation" and
214
+ * has the `name` "Website Redesign Project", its `fullName` would be "ABC
215
+ * Corporation:Website Redesign Project".
216
+ *
217
+ * **NOTE**: Unlike `name`, `fullName` is guaranteed to be unique across all
218
+ * customer objects. However, `fullName` can still be arbitrarily changed by the
219
+ * QuickBooks user when they modify the underlying `name` field.
220
+ *
221
+ * **IMPORTANT**: If this object is a job (i.e., a sub-customer), this value would
222
+ * likely be the job's `name` prefixed by the customer's `name`.
223
+ */
224
+ fullName: string;
225
+
226
+ /**
227
+ * Indicates whether this customer is active. Inactive objects are typically hidden
228
+ * from views and reports in QuickBooks. Defaults to `true`.
229
+ */
230
+ isActive: boolean;
231
+
232
+ /**
233
+ * A brief description of this customer's job, if this object is a job (i.e.,
234
+ * sub-customer).
235
+ */
236
+ jobDescription: string | null;
237
+
238
+ /**
239
+ * The actual completion date of this customer's job, if applicable, in ISO 8601
240
+ * format (YYYY-MM-DD).
241
+ */
242
+ jobEndDate: string | null;
243
+
244
+ /**
245
+ * The projected completion date for this customer's job, if applicable, in ISO
246
+ * 8601 format (YYYY-MM-DD).
247
+ */
248
+ jobProjectedEndDate: string | null;
249
+
250
+ /**
251
+ * The date when work on this customer's job began, if applicable, in ISO 8601
252
+ * format (YYYY-MM-DD).
253
+ */
254
+ jobStartDate: string | null;
255
+
256
+ /**
257
+ * The status of this customer's job, if this object is a job (i.e., sub-customer).
258
+ */
259
+ jobStatus: 'awarded' | 'closed' | 'in_progress' | 'none' | 'not_awarded' | 'pending' | null;
260
+
261
+ /**
262
+ * The job title of the contact person for this customer.
263
+ */
264
+ jobTitle: string | null;
265
+
266
+ /**
267
+ * The type or category of this customer's job, if this object is a job (i.e.,
268
+ * sub-customer). Useful for classifying into meaningful segments (e.g., repair,
269
+ * installation, consulting).
270
+ */
271
+ jobType: Customer.JobType | null;
272
+
273
+ /**
274
+ * The last name of the contact person for this customer.
275
+ */
276
+ lastName: string | null;
277
+
278
+ /**
279
+ * The middle name of the contact person for this customer.
280
+ */
281
+ middleName: string | null;
282
+
283
+ /**
284
+ * The case-insensitive name of this customer. Not guaranteed to be unique because
285
+ * it does not include the names of its hierarchical parent objects like `fullName`
286
+ * does. For example, two customers could both have the `name` "Website Redesign
287
+ * Project", but they could have unique `fullName` values, such as "ABC
288
+ * Corporation:Website Redesign Project" and "Baker:Website Redesign Project".
289
+ */
290
+ name: string;
291
+
292
+ /**
293
+ * A note or comment about this customer.
294
+ */
295
+ note: string | null;
296
+
297
+ /**
298
+ * The type of object. This value is always `"qbd_customer"`.
299
+ */
300
+ objectType: 'qbd_customer';
301
+
302
+ /**
303
+ * The parent customer one level above this one in the hierarchy. For example, if
304
+ * this customer has a `fullName` of "ABC Corporation:Website Redesign Project",
305
+ * its parent has a `fullName` of "ABC Corporation". If this customer is at the top
306
+ * level, this field will be `null`.
307
+ */
308
+ parent: Customer.Parent | null;
309
+
310
+ /**
311
+ * The customer's primary telephone number.
312
+ */
313
+ phone: string | null;
314
+
315
+ /**
316
+ * The preferred method for delivering invoices and other documents to this
317
+ * customer.
318
+ */
319
+ preferredDeliveryMethod: 'email' | 'mail' | 'none' | null;
320
+
321
+ /**
322
+ * The customer's preferred payment method (e.g., cash, check, credit card).
323
+ */
324
+ preferredPaymentMethod: Customer.PreferredPaymentMethod | null;
325
+
326
+ /**
327
+ * The customer's custom price level that QuickBooks automatically applies to
328
+ * calculate item rates in new transactions (e.g., invoices, sales receipts, sales
329
+ * orders, and credit memos) for this customer. While applied automatically, this
330
+ * can be overridden when creating individual transactions. Note that transactions
331
+ * will not show the price level itself, only the final `rate` calculated from it.
332
+ */
333
+ priceLevel: Customer.PriceLevel | null;
334
+
335
+ /**
336
+ * The customer's resale number, used if the customer is purchasing items for
337
+ * resale. This number does not affect sales tax calculations or reports in
338
+ * QuickBooks.
339
+ */
340
+ resaleNumber: string | null;
341
+
342
+ /**
343
+ * The current QuickBooks-assigned revision number of this customer object, which
344
+ * changes each time the object is modified. When updating this object, you must
345
+ * provide the most recent `revisionNumber` to ensure you're working with the
346
+ * latest data; otherwise, the update will return an error.
347
+ */
348
+ revisionNumber: string;
349
+
350
+ /**
351
+ * The customer's sales representative. Sales representatives can be employees,
352
+ * vendors, or other names in QuickBooks.
353
+ */
354
+ salesRepresentative: Customer.SalesRepresentative | null;
355
+
356
+ /**
357
+ * The default sales-tax code for transactions with this customer, determining
358
+ * whether the transactions are taxable or non-taxable. This can be overridden at
359
+ * the transaction or transaction-line level.
360
+ *
361
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
362
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
363
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
364
+ * non-taxable code to all sales.
365
+ */
366
+ salesTaxCode: Customer.SalesTaxCode | null;
367
+
368
+ /**
369
+ * The country for which sales tax is collected for this customer.
370
+ */
371
+ salesTaxCountry: 'australia' | 'canada' | 'uk' | 'us' | null;
372
+
373
+ /**
374
+ * The sales-tax item used to calculate the actual tax amount for this customer's
375
+ * transactions by applying a specific tax rate collected for a single tax agency.
376
+ * Unlike `salesTaxCode`, which only indicates general taxability, this field
377
+ * drives the actual tax calculation and reporting.
378
+ */
379
+ salesTaxItem: Customer.SalesTaxItem | null;
380
+
381
+ /**
382
+ * The formal salutation title that precedes the name of the contact person for
383
+ * this customer, such as "Mr.", "Ms.", or "Dr.".
384
+ */
385
+ salutation: string | null;
386
+
387
+ /**
388
+ * The customer's shipping address.
389
+ */
390
+ shippingAddress: Customer.ShippingAddress | null;
391
+
392
+ /**
393
+ * The depth level of this customer in the hierarchy. A top-level customer has a
394
+ * `sublevel` of 0; each subsequent sublevel increases this number by 1. For
395
+ * example, a customer with a `fullName` of "ABC Corporation:Website Redesign
396
+ * Project" would have a `sublevel` of 1. When `sublevel` is 0, this object is a
397
+ * customer; when `sublevel` is greater than 0, this object is typically a job
398
+ * (i.e., a sub-customer).
399
+ */
400
+ sublevel: number;
401
+
402
+ /**
403
+ * The customer's tax registration number, for use in Canada or the UK.
404
+ */
405
+ taxRegistrationNumber: string | null;
406
+
407
+ /**
408
+ * The customer's payment terms, defining when payment is due and any applicable
409
+ * discounts.
410
+ */
411
+ terms: Customer.Terms | null;
412
+
413
+ /**
414
+ * The combined balance of this customer and all of this customer's jobs (i.e.,
415
+ * sub-customers), represented as a decimal string. If there are no sub-customers,
416
+ * `totalBalance` and `balance` are equal. A positive number indicates money owed
417
+ * by the customer.
418
+ */
419
+ totalBalance: string | null;
420
+
421
+ /**
422
+ * The date and time when this customer was last updated, in ISO 8601 format
423
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
424
+ * in QuickBooks.
425
+ */
426
+ updatedAt: string;
427
+ }
428
+
429
+ export namespace Customer {
430
+ export interface AdditionalContact {
431
+ /**
432
+ * The unique identifier assigned by QuickBooks to this contact. This ID is unique
433
+ * across all contacts but not across different QuickBooks object types.
434
+ */
435
+ id: string;
436
+
437
+ /**
438
+ * The date and time when this contact was created, in ISO 8601 format
439
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
440
+ * in QuickBooks.
441
+ */
442
+ createdAt: string;
443
+
444
+ /**
445
+ * Additional custom contact fields for this contact, such as phone numbers or
446
+ * email addresses.
447
+ */
448
+ customContactFields: Array<AdditionalContact.CustomContactField>;
449
+
450
+ /**
451
+ * The contact's first name.
452
+ */
453
+ firstName: string;
454
+
455
+ /**
456
+ * The contact's job title.
457
+ */
458
+ jobTitle: string | null;
459
+
460
+ /**
461
+ * The contact's last name.
462
+ */
463
+ lastName: string | null;
464
+
465
+ /**
466
+ * The contact's middle name.
467
+ */
468
+ middleName: string | null;
469
+
470
+ /**
471
+ * The contact's full name.
472
+ */
473
+ name: string | null;
474
+
475
+ /**
476
+ * The type of object. This value is always `"qbd_contact"`.
477
+ */
478
+ objectType: 'qbd_contact';
479
+
480
+ /**
481
+ * The current QuickBooks-assigned revision number of this contact object, which
482
+ * changes each time the object is modified. When updating this object, you must
483
+ * provide the most recent `revisionNumber` to ensure you're working with the
484
+ * latest data; otherwise, the update will return an error.
485
+ */
486
+ revisionNumber: string;
487
+
488
+ /**
489
+ * The contact's formal salutation title that precedes their name, such as "Mr.",
490
+ * "Ms.", or "Dr.".
491
+ */
492
+ salutation: string | null;
493
+
494
+ /**
495
+ * The date and time when this contact was last updated, in ISO 8601 format
496
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
497
+ * in QuickBooks.
498
+ */
499
+ updatedAt: string;
500
+ }
501
+
502
+ export namespace AdditionalContact {
503
+ export interface CustomContactField {
504
+ /**
505
+ * The name of the contact field (e.g., "old address", "secondary phone").
506
+ */
507
+ name: string;
508
+
509
+ /**
510
+ * The value of the contact field.
511
+ */
512
+ value: string;
513
+ }
514
+ }
515
+
516
+ export interface AdditionalNote {
517
+ /**
518
+ * The auto-incrementing identifier assigned by QuickBooks to this note.
519
+ */
520
+ id: number;
521
+
522
+ /**
523
+ * The date this note was last updated, in ISO 8601 format (YYYY-MM-DD).
524
+ */
525
+ date: string;
526
+
527
+ /**
528
+ * The text of this note.
529
+ */
530
+ note: string;
531
+ }
532
+
533
+ export interface AlternateShippingAddress {
534
+ /**
535
+ * The city, district, suburb, town, or village name of the shipping address.
536
+ */
537
+ city: string | null;
538
+
539
+ /**
540
+ * The country name of the shipping address.
541
+ */
542
+ country: string | null;
543
+
544
+ /**
545
+ * Indicates whether this shipping address is the default shipping address.
546
+ */
547
+ isDefaultShippingAddress: boolean | null;
548
+
549
+ /**
550
+ * The first line of the shipping address (e.g., street, PO Box, or company name).
551
+ */
552
+ line1: string | null;
553
+
554
+ /**
555
+ * The second line of the shipping address, if needed (e.g., apartment, suite,
556
+ * unit, or building).
557
+ */
558
+ line2: string | null;
559
+
560
+ /**
561
+ * The third line of the shipping address, if needed.
562
+ */
563
+ line3: string | null;
564
+
565
+ /**
566
+ * The fourth line of the shipping address, if needed.
567
+ */
568
+ line4: string | null;
569
+
570
+ /**
571
+ * The fifth line of the shipping address, if needed.
572
+ */
573
+ line5: string | null;
574
+
575
+ /**
576
+ * The case-insensitive unique name of this shipping address, unique across all
577
+ * shipping addresses.
578
+ *
579
+ * **NOTE**: Shipping addresses do not have a `fullName` field because they are not
580
+ * hierarchical objects, which is why `name` is unique for them but not for objects
581
+ * that have parents.
582
+ */
583
+ name: string;
584
+
585
+ /**
586
+ * A note written at the bottom of the shipping address in the form in which it
587
+ * appears, such as the invoice form.
588
+ */
589
+ note: string | null;
590
+
591
+ /**
592
+ * The postal code or ZIP code of the shipping address.
593
+ */
594
+ postalCode: string | null;
595
+
596
+ /**
597
+ * The state, county, province, or region name of the shipping address.
598
+ */
599
+ state: string | null;
600
+ }
601
+
602
+ /**
603
+ * The customer's billing address.
604
+ */
605
+ export interface BillingAddress {
606
+ /**
607
+ * The city, district, suburb, town, or village name of the address.
608
+ */
609
+ city: string | null;
610
+
611
+ /**
612
+ * The country name of the address.
613
+ */
614
+ country: string | null;
615
+
616
+ /**
617
+ * The first line of the address (e.g., street, PO Box, or company name).
618
+ */
619
+ line1: string | null;
620
+
621
+ /**
622
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
623
+ * building).
624
+ */
625
+ line2: string | null;
626
+
627
+ /**
628
+ * The third line of the address, if needed.
629
+ */
630
+ line3: string | null;
631
+
632
+ /**
633
+ * The fourth line of the address, if needed.
634
+ */
635
+ line4: string | null;
636
+
637
+ /**
638
+ * The fifth line of the address, if needed.
639
+ */
640
+ line5: string | null;
641
+
642
+ /**
643
+ * A note written at the bottom of the address in the form in which it appears,
644
+ * such as the invoice form.
645
+ */
646
+ note: string | null;
647
+
648
+ /**
649
+ * The postal code or ZIP code of the address.
650
+ */
651
+ postalCode: string | null;
652
+
653
+ /**
654
+ * The state, county, province, or region name of the address.
655
+ */
656
+ state: string | null;
657
+ }
658
+
659
+ /**
660
+ * The customer's class. Classes can be used to categorize objects into meaningful
661
+ * segments, such as department, location, or type of work. In QuickBooks, class
662
+ * tracking is off by default.
663
+ */
664
+ export interface Class {
665
+ /**
666
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
667
+ * across all objects of the same type, but not across different QuickBooks object
668
+ * types.
669
+ */
670
+ id: string | null;
671
+
672
+ /**
673
+ * The fully-qualified unique name for this object, formed by combining the names
674
+ * of its parent objects with its own `name`, separated by colons. Not
675
+ * case-sensitive.
676
+ */
677
+ fullName: string | null;
678
+ }
679
+
680
+ /**
681
+ * The customer's credit card information, including card type, number, and
682
+ * expiration date, used for processing credit card payments.
683
+ */
684
+ export interface CreditCard {
685
+ /**
686
+ * The card's billing address.
687
+ */
688
+ address: string | null;
689
+
690
+ /**
691
+ * The month when the credit card expires.
692
+ */
693
+ expirationMonth: number | null;
694
+
695
+ /**
696
+ * The year when the credit card expires.
697
+ */
698
+ expirationYear: number | null;
699
+
700
+ /**
701
+ * The cardholder's name on the card.
702
+ */
703
+ name: string | null;
704
+
705
+ /**
706
+ * The credit card number. Must be masked with lower case "x" and no dashes.
707
+ */
708
+ number: string | null;
709
+
710
+ /**
711
+ * The card's billing address ZIP or postal code.
712
+ */
713
+ postalCode: string | null;
714
+ }
715
+
716
+ /**
717
+ * The customer's currency. For built-in currencies, the name and code are standard
718
+ * international values. For user-defined currencies, all values are editable.
719
+ */
720
+ export interface Currency {
721
+ /**
722
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
723
+ * across all objects of the same type, but not across different QuickBooks object
724
+ * types.
725
+ */
726
+ id: string | null;
727
+
728
+ /**
729
+ * The fully-qualified unique name for this object, formed by combining the names
730
+ * of its parent objects with its own `name`, separated by colons. Not
731
+ * case-sensitive.
732
+ */
733
+ fullName: string | null;
734
+ }
735
+
736
+ export interface CustomContactField {
737
+ /**
738
+ * The name of the contact field (e.g., "old address", "secondary phone").
739
+ */
740
+ name: string;
741
+
742
+ /**
743
+ * The value of the contact field.
744
+ */
745
+ value: string;
746
+ }
747
+
748
+ /**
749
+ * The customer's type, used for categorizing customers into meaningful segments,
750
+ * such as industry or region.
751
+ */
752
+ export interface CustomerType {
753
+ /**
754
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
755
+ * across all objects of the same type, but not across different QuickBooks object
756
+ * types.
757
+ */
758
+ id: string | null;
759
+
760
+ /**
761
+ * The fully-qualified unique name for this object, formed by combining the names
762
+ * of its parent objects with its own `name`, separated by colons. Not
763
+ * case-sensitive.
764
+ */
765
+ fullName: string | null;
766
+ }
767
+
768
+ export interface CustomField {
769
+ /**
770
+ * The name of the custom field, unique for the specified `ownerId`. For public
771
+ * custom fields, this name is visible as a label in the QuickBooks UI.
772
+ */
773
+ name: string;
774
+
775
+ /**
776
+ * The identifier of the owner of the custom field, which QuickBooks internally
777
+ * calls a "data extension". For public custom fields visible in the UI, such as
778
+ * those added by the QuickBooks user, this is always "0". For private custom
779
+ * fields that are only visible to the application that created them, this is a
780
+ * valid GUID identifying the owning application. Internally, Conductor always
781
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
782
+ * objects.
783
+ */
784
+ ownerId: string;
785
+
786
+ /**
787
+ * The data type of this custom field.
788
+ */
789
+ type:
790
+ | 'amount_type'
791
+ | 'date_time_type'
792
+ | 'integer_type'
793
+ | 'percent_type'
794
+ | 'price_type'
795
+ | 'quantity_type'
796
+ | 'string_1024_type'
797
+ | 'string_255_type';
798
+
799
+ /**
800
+ * The value of this custom field. The maximum length depends on the field's data
801
+ * type.
802
+ */
803
+ value: string;
804
+ }
805
+
806
+ /**
807
+ * The type or category of this customer's job, if this object is a job (i.e.,
808
+ * sub-customer). Useful for classifying into meaningful segments (e.g., repair,
809
+ * installation, consulting).
810
+ */
811
+ export interface JobType {
812
+ /**
813
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
814
+ * across all objects of the same type, but not across different QuickBooks object
815
+ * types.
816
+ */
817
+ id: string | null;
818
+
819
+ /**
820
+ * The fully-qualified unique name for this object, formed by combining the names
821
+ * of its parent objects with its own `name`, separated by colons. Not
822
+ * case-sensitive.
823
+ */
824
+ fullName: string | null;
825
+ }
826
+
827
+ /**
828
+ * The parent customer one level above this one in the hierarchy. For example, if
829
+ * this customer has a `fullName` of "ABC Corporation:Website Redesign Project",
830
+ * its parent has a `fullName` of "ABC Corporation". If this customer is at the top
831
+ * level, this field will be `null`.
832
+ */
833
+ export interface Parent {
834
+ /**
835
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
836
+ * across all objects of the same type, but not across different QuickBooks object
837
+ * types.
838
+ */
839
+ id: string | null;
840
+
841
+ /**
842
+ * The fully-qualified unique name for this object, formed by combining the names
843
+ * of its parent objects with its own `name`, separated by colons. Not
844
+ * case-sensitive.
845
+ */
846
+ fullName: string | null;
847
+ }
848
+
849
+ /**
850
+ * The customer's preferred payment method (e.g., cash, check, credit card).
851
+ */
852
+ export interface PreferredPaymentMethod {
853
+ /**
854
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
855
+ * across all objects of the same type, but not across different QuickBooks object
856
+ * types.
857
+ */
858
+ id: string | null;
859
+
860
+ /**
861
+ * The fully-qualified unique name for this object, formed by combining the names
862
+ * of its parent objects with its own `name`, separated by colons. Not
863
+ * case-sensitive.
864
+ */
865
+ fullName: string | null;
866
+ }
867
+
868
+ /**
869
+ * The customer's custom price level that QuickBooks automatically applies to
870
+ * calculate item rates in new transactions (e.g., invoices, sales receipts, sales
871
+ * orders, and credit memos) for this customer. While applied automatically, this
872
+ * can be overridden when creating individual transactions. Note that transactions
873
+ * will not show the price level itself, only the final `rate` calculated from it.
874
+ */
875
+ export interface PriceLevel {
876
+ /**
877
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
878
+ * across all objects of the same type, but not across different QuickBooks object
879
+ * types.
880
+ */
881
+ id: string | null;
882
+
883
+ /**
884
+ * The fully-qualified unique name for this object, formed by combining the names
885
+ * of its parent objects with its own `name`, separated by colons. Not
886
+ * case-sensitive.
887
+ */
888
+ fullName: string | null;
889
+ }
890
+
891
+ /**
892
+ * The customer's sales representative. Sales representatives can be employees,
893
+ * vendors, or other names in QuickBooks.
894
+ */
895
+ export interface SalesRepresentative {
896
+ /**
897
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
898
+ * across all objects of the same type, but not across different QuickBooks object
899
+ * types.
900
+ */
901
+ id: string | null;
902
+
903
+ /**
904
+ * The fully-qualified unique name for this object, formed by combining the names
905
+ * of its parent objects with its own `name`, separated by colons. Not
906
+ * case-sensitive.
907
+ */
908
+ fullName: string | null;
909
+ }
910
+
911
+ /**
912
+ * The default sales-tax code for transactions with this customer, determining
913
+ * whether the transactions are taxable or non-taxable. This can be overridden at
914
+ * the transaction or transaction-line level.
915
+ *
916
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
917
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
918
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
919
+ * non-taxable code to all sales.
920
+ */
921
+ export interface SalesTaxCode {
922
+ /**
923
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
924
+ * across all objects of the same type, but not across different QuickBooks object
925
+ * types.
926
+ */
927
+ id: string | null;
928
+
929
+ /**
930
+ * The fully-qualified unique name for this object, formed by combining the names
931
+ * of its parent objects with its own `name`, separated by colons. Not
932
+ * case-sensitive.
933
+ */
934
+ fullName: string | null;
935
+ }
936
+
937
+ /**
938
+ * The sales-tax item used to calculate the actual tax amount for this customer's
939
+ * transactions by applying a specific tax rate collected for a single tax agency.
940
+ * Unlike `salesTaxCode`, which only indicates general taxability, this field
941
+ * drives the actual tax calculation and reporting.
942
+ */
943
+ export interface SalesTaxItem {
944
+ /**
945
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
946
+ * across all objects of the same type, but not across different QuickBooks object
947
+ * types.
948
+ */
949
+ id: string | null;
950
+
951
+ /**
952
+ * The fully-qualified unique name for this object, formed by combining the names
953
+ * of its parent objects with its own `name`, separated by colons. Not
954
+ * case-sensitive.
955
+ */
956
+ fullName: string | null;
957
+ }
958
+
959
+ /**
960
+ * The customer's shipping address.
961
+ */
962
+ export interface ShippingAddress {
963
+ /**
964
+ * The city, district, suburb, town, or village name of the address.
965
+ */
966
+ city: string | null;
967
+
968
+ /**
969
+ * The country name of the address.
970
+ */
971
+ country: string | null;
972
+
973
+ /**
974
+ * The first line of the address (e.g., street, PO Box, or company name).
975
+ */
976
+ line1: string | null;
977
+
978
+ /**
979
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
980
+ * building).
981
+ */
982
+ line2: string | null;
983
+
984
+ /**
985
+ * The third line of the address, if needed.
986
+ */
987
+ line3: string | null;
988
+
989
+ /**
990
+ * The fourth line of the address, if needed.
991
+ */
992
+ line4: string | null;
993
+
994
+ /**
995
+ * The fifth line of the address, if needed.
996
+ */
997
+ line5: string | null;
998
+
999
+ /**
1000
+ * A note written at the bottom of the address in the form in which it appears,
1001
+ * such as the invoice form.
1002
+ */
1003
+ note: string | null;
1004
+
1005
+ /**
1006
+ * The postal code or ZIP code of the address.
1007
+ */
1008
+ postalCode: string | null;
1009
+
1010
+ /**
1011
+ * The state, county, province, or region name of the address.
1012
+ */
1013
+ state: string | null;
1014
+ }
1015
+
1016
+ /**
1017
+ * The customer's payment terms, defining when payment is due and any applicable
1018
+ * discounts.
1019
+ */
1020
+ export interface Terms {
1021
+ /**
1022
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1023
+ * across all objects of the same type, but not across different QuickBooks object
1024
+ * types.
1025
+ */
1026
+ id: string | null;
1027
+
1028
+ /**
1029
+ * The fully-qualified unique name for this object, formed by combining the names
1030
+ * of its parent objects with its own `name`, separated by colons. Not
1031
+ * case-sensitive.
1032
+ */
1033
+ fullName: string | null;
1034
+ }
1035
+ }
1036
+
1037
+ export interface CustomerCreateParams {
1038
+ /**
1039
+ * Body param: The case-insensitive name of this customer. Not guaranteed to be
1040
+ * unique because it does not include the names of its hierarchical parent objects
1041
+ * like `fullName` does. For example, two customers could both have the `name`
1042
+ * "Website Redesign Project", but they could have unique `fullName` values, such
1043
+ * as "ABC Corporation:Website Redesign Project" and "Baker:Website Redesign
1044
+ * Project".
1045
+ *
1046
+ * Maximum length: 41 characters.
1047
+ */
1048
+ name: string;
1049
+
1050
+ /**
1051
+ * Header param: The ID of the EndUser to receive this request (e.g.,
1052
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
1053
+ */
1054
+ conductorEndUserId: string;
1055
+
1056
+ /**
1057
+ * Body param: The customer's account number, which appears in the QuickBooks chart
1058
+ * of accounts, reports, and graphs.
1059
+ *
1060
+ * Note that if the "Use Account Numbers" preference is turned off in QuickBooks,
1061
+ * the account number may not be visible in the user interface, but it can still be
1062
+ * set and retrieved through the API.
1063
+ */
1064
+ accountNumber?: string;
1065
+
1066
+ /**
1067
+ * Body param: Additional alternate contacts for this customer.
1068
+ */
1069
+ additionalContacts?: Array<CustomerCreateParams.AdditionalContact>;
1070
+
1071
+ /**
1072
+ * Body param: Additional notes about this customer.
1073
+ */
1074
+ additionalNotes?: Array<CustomerCreateParams.AdditionalNote>;
1075
+
1076
+ /**
1077
+ * Body param: The name of a alternate contact person for this customer.
1078
+ */
1079
+ alternateContact?: string;
1080
+
1081
+ /**
1082
+ * Body param: The customer's alternate telephone number.
1083
+ */
1084
+ alternatePhone?: string;
1085
+
1086
+ /**
1087
+ * Body param: A list of additional shipping addresses for this customer. Useful
1088
+ * when the customer has multiple shipping locations.
1089
+ */
1090
+ alternateShippingAddresses?: Array<CustomerCreateParams.AlternateShippingAddress>;
1091
+
1092
+ /**
1093
+ * Body param: The customer's billing address.
1094
+ */
1095
+ billingAddress?: CustomerCreateParams.BillingAddress;
1096
+
1097
+ /**
1098
+ * Body param: An email address to carbon copy (CC) on communications with this
1099
+ * customer.
1100
+ */
1101
+ ccEmail?: string;
1102
+
1103
+ /**
1104
+ * Body param: The customer's class. Classes can be used to categorize objects into
1105
+ * meaningful segments, such as department, location, or type of work. In
1106
+ * QuickBooks, class tracking is off by default.
1107
+ */
1108
+ classId?: string;
1109
+
1110
+ /**
1111
+ * Body param: The name of the company associated with this customer. This name is
1112
+ * used on invoices, checks, and other forms.
1113
+ */
1114
+ companyName?: string;
1115
+
1116
+ /**
1117
+ * Body param: The name of the primary contact person for this customer.
1118
+ */
1119
+ contact?: string;
1120
+
1121
+ /**
1122
+ * Body param: The customer's credit card information, including card type, number,
1123
+ * and expiration date, used for processing credit card payments.
1124
+ */
1125
+ creditCard?: CustomerCreateParams.CreditCard;
1126
+
1127
+ /**
1128
+ * Body param: The customer's credit limit, represented as a decimal string. This
1129
+ * is the maximum amount of money this customer can spend before being billed. If
1130
+ * `null`, there is no credit limit.
1131
+ */
1132
+ creditLimit?: string;
1133
+
1134
+ /**
1135
+ * Body param: The customer's currency. For built-in currencies, the name and code
1136
+ * are standard international values. For user-defined currencies, all values are
1137
+ * editable.
1138
+ */
1139
+ currencyId?: string;
1140
+
1141
+ /**
1142
+ * Body param: Additional custom contact fields for this customer, such as phone
1143
+ * numbers or email addresses.
1144
+ */
1145
+ customContactFields?: Array<CustomerCreateParams.CustomContactField>;
1146
+
1147
+ /**
1148
+ * Body param: The customer's type, used for categorizing customers into meaningful
1149
+ * segments, such as industry or region.
1150
+ */
1151
+ customerTypeId?: string;
1152
+
1153
+ /**
1154
+ * Body param: The customer's email address.
1155
+ */
1156
+ email?: string;
1157
+
1158
+ /**
1159
+ * Body param: A globally unique identifier (GUID) you, the developer, can provide
1160
+ * for tracking this object in your external system. This field is immutable and
1161
+ * can only be set during object creation.
1162
+ *
1163
+ * **IMPORTANT**: This field must be formatted as a valid GUID; otherwise,
1164
+ * QuickBooks will return an error.
1165
+ */
1166
+ externalId?: string;
1167
+
1168
+ /**
1169
+ * Body param: The customer's fax number.
1170
+ */
1171
+ fax?: string;
1172
+
1173
+ /**
1174
+ * Body param: The first name of the contact person for this customer.
1175
+ *
1176
+ * Maximum length: 25 characters.
1177
+ */
1178
+ firstName?: string;
1179
+
1180
+ /**
1181
+ * Body param: Indicates whether this customer is active. Inactive objects are
1182
+ * typically hidden from views and reports in QuickBooks. Defaults to `true`.
1183
+ */
1184
+ isActive?: boolean;
1185
+
1186
+ /**
1187
+ * Body param: A brief description of this customer's job, if this object is a job
1188
+ * (i.e., sub-customer).
1189
+ */
1190
+ jobDescription?: string;
1191
+
1192
+ /**
1193
+ * Body param: The actual completion date of this customer's job, if applicable, in
1194
+ * ISO 8601 format (YYYY-MM-DD).
1195
+ */
1196
+ jobEndDate?: string;
1197
+
1198
+ /**
1199
+ * Body param: The projected completion date for this customer's job, if
1200
+ * applicable, in ISO 8601 format (YYYY-MM-DD).
1201
+ */
1202
+ jobProjectedEndDate?: string;
1203
+
1204
+ /**
1205
+ * Body param: The date when work on this customer's job began, if applicable, in
1206
+ * ISO 8601 format (YYYY-MM-DD).
1207
+ */
1208
+ jobStartDate?: string;
1209
+
1210
+ /**
1211
+ * Body param: The status of this customer's job, if this object is a job (i.e.,
1212
+ * sub-customer).
1213
+ */
1214
+ jobStatus?: 'awarded' | 'closed' | 'in_progress' | 'none' | 'not_awarded' | 'pending';
1215
+
1216
+ /**
1217
+ * Body param: The job title of the contact person for this customer.
1218
+ */
1219
+ jobTitle?: string;
1220
+
1221
+ /**
1222
+ * Body param: The type or category of this customer's job, if this object is a job
1223
+ * (i.e., sub-customer). Useful for classifying into meaningful segments (e.g.,
1224
+ * repair, installation, consulting).
1225
+ */
1226
+ jobTypeId?: string;
1227
+
1228
+ /**
1229
+ * Body param: The last name of the contact person for this customer.
1230
+ *
1231
+ * Maximum length: 25 characters.
1232
+ */
1233
+ lastName?: string;
1234
+
1235
+ /**
1236
+ * Body param: The middle name of the contact person for this customer.
1237
+ *
1238
+ * Maximum length: 5 characters.
1239
+ */
1240
+ middleName?: string;
1241
+
1242
+ /**
1243
+ * Body param: A note or comment about this customer.
1244
+ */
1245
+ note?: string;
1246
+
1247
+ /**
1248
+ * Body param: The opening balance of this customer's account, indicating the
1249
+ * amount owed by this customer, represented as a decimal string.
1250
+ */
1251
+ openingBalance?: string;
1252
+
1253
+ /**
1254
+ * Body param: The date of the opening balance of this customer, in ISO 8601 format
1255
+ * (YYYY-MM-DD).
1256
+ */
1257
+ openingBalanceDate?: string;
1258
+
1259
+ /**
1260
+ * Body param: The parent customer one level above this one in the hierarchy. For
1261
+ * example, if this customer has a `fullName` of "ABC Corporation:Website Redesign
1262
+ * Project", its parent has a `fullName` of "ABC Corporation". If this customer is
1263
+ * at the top level, this field will be `null`.
1264
+ */
1265
+ parentId?: string;
1266
+
1267
+ /**
1268
+ * Body param: The customer's primary telephone number.
1269
+ */
1270
+ phone?: string;
1271
+
1272
+ /**
1273
+ * Body param: The preferred method for delivering invoices and other documents to
1274
+ * this customer.
1275
+ */
1276
+ preferredDeliveryMethod?: 'email' | 'mail' | 'none';
1277
+
1278
+ /**
1279
+ * Body param: The customer's preferred payment method (e.g., cash, check, credit
1280
+ * card).
1281
+ */
1282
+ preferredPaymentMethodId?: string;
1283
+
1284
+ /**
1285
+ * Body param: The customer's custom price level that QuickBooks automatically
1286
+ * applies to calculate item rates in new transactions (e.g., invoices, sales
1287
+ * receipts, sales orders, and credit memos) for this customer. While applied
1288
+ * automatically, this can be overridden when creating individual transactions.
1289
+ * Note that transactions will not show the price level itself, only the final
1290
+ * `rate` calculated from it.
1291
+ */
1292
+ priceLevelId?: string;
1293
+
1294
+ /**
1295
+ * Body param: The customer's resale number, used if the customer is purchasing
1296
+ * items for resale. This number does not affect sales tax calculations or reports
1297
+ * in QuickBooks.
1298
+ */
1299
+ resaleNumber?: string;
1300
+
1301
+ /**
1302
+ * Body param: The customer's sales representative. Sales representatives can be
1303
+ * employees, vendors, or other names in QuickBooks.
1304
+ */
1305
+ salesRepresentativeId?: string;
1306
+
1307
+ /**
1308
+ * Body param: The default sales-tax code for transactions with this customer,
1309
+ * determining whether the transactions are taxable or non-taxable. This can be
1310
+ * overridden at the transaction or transaction-line level.
1311
+ *
1312
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1313
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1314
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1315
+ * non-taxable code to all sales.
1316
+ */
1317
+ salesTaxCodeId?: string;
1318
+
1319
+ /**
1320
+ * Body param: The country for which sales tax is collected for this customer.
1321
+ */
1322
+ salesTaxCountry?: 'australia' | 'canada' | 'uk' | 'us';
1323
+
1324
+ /**
1325
+ * Body param: The sales-tax item used to calculate the actual tax amount for this
1326
+ * customer's transactions by applying a specific tax rate collected for a single
1327
+ * tax agency. Unlike `salesTaxCode`, which only indicates general taxability, this
1328
+ * field drives the actual tax calculation and reporting.
1329
+ */
1330
+ salesTaxItemId?: string;
1331
+
1332
+ /**
1333
+ * Body param: The formal salutation title that precedes the name of the contact
1334
+ * person for this customer, such as "Mr.", "Ms.", or "Dr.".
1335
+ */
1336
+ salutation?: string;
1337
+
1338
+ /**
1339
+ * Body param: The customer's shipping address.
1340
+ */
1341
+ shippingAddress?: CustomerCreateParams.ShippingAddress;
1342
+
1343
+ /**
1344
+ * Body param: The customer's tax registration number, for use in Canada or the UK.
1345
+ */
1346
+ taxRegistrationNumber?: string;
1347
+
1348
+ /**
1349
+ * Body param: The customer's payment terms, defining when payment is due and any
1350
+ * applicable discounts.
1351
+ */
1352
+ termsId?: string;
1353
+ }
1354
+
1355
+ export namespace CustomerCreateParams {
1356
+ export interface AdditionalContact {
1357
+ /**
1358
+ * The contact's first name.
1359
+ *
1360
+ * Maximum length: 25 characters.
1361
+ */
1362
+ firstName: string;
1363
+
1364
+ /**
1365
+ * Additional custom contact fields for this contact, such as phone numbers or
1366
+ * email addresses.
1367
+ */
1368
+ customContactFields?: Array<AdditionalContact.CustomContactField>;
1369
+
1370
+ /**
1371
+ * The contact's job title.
1372
+ */
1373
+ jobTitle?: string;
1374
+
1375
+ /**
1376
+ * The contact's last name.
1377
+ *
1378
+ * Maximum length: 25 characters.
1379
+ */
1380
+ lastName?: string;
1381
+
1382
+ /**
1383
+ * The contact's middle name.
1384
+ *
1385
+ * Maximum length: 5 characters.
1386
+ */
1387
+ middleName?: string;
1388
+
1389
+ /**
1390
+ * The contact's formal salutation title that precedes their name, such as "Mr.",
1391
+ * "Ms.", or "Dr.".
1392
+ */
1393
+ salutation?: string;
1394
+ }
1395
+
1396
+ export namespace AdditionalContact {
1397
+ export interface CustomContactField {
1398
+ /**
1399
+ * The name of the contact field (e.g., "old address", "secondary phone").
1400
+ */
1401
+ name: string;
1402
+
1403
+ /**
1404
+ * The value of the contact field.
1405
+ */
1406
+ value: string;
1407
+ }
1408
+ }
1409
+
1410
+ export interface AdditionalNote {
1411
+ /**
1412
+ * The text of this note.
1413
+ */
1414
+ note: string;
1415
+ }
1416
+
1417
+ export interface AlternateShippingAddress {
1418
+ /**
1419
+ * The case-insensitive unique name of this shipping address, unique across all
1420
+ * shipping addresses.
1421
+ *
1422
+ * **NOTE**: Shipping addresses do not have a `fullName` field because they are not
1423
+ * hierarchical objects, which is why `name` is unique for them but not for objects
1424
+ * that have parents.
1425
+ *
1426
+ * Maximum length: 41 characters.
1427
+ */
1428
+ name: string;
1429
+
1430
+ /**
1431
+ * The city, district, suburb, town, or village name of the shipping address.
1432
+ *
1433
+ * Maximum length: 31 characters.
1434
+ */
1435
+ city?: string;
1436
+
1437
+ /**
1438
+ * The country name of the shipping address.
1439
+ */
1440
+ country?: string;
1441
+
1442
+ /**
1443
+ * Indicates whether this shipping address is the default shipping address.
1444
+ */
1445
+ isDefaultShippingAddress?: boolean;
1446
+
1447
+ /**
1448
+ * The first line of the shipping address (e.g., street, PO Box, or company name).
1449
+ *
1450
+ * Maximum length: 41 characters.
1451
+ */
1452
+ line1?: string;
1453
+
1454
+ /**
1455
+ * The second line of the shipping address, if needed (e.g., apartment, suite,
1456
+ * unit, or building).
1457
+ *
1458
+ * Maximum length: 41 characters.
1459
+ */
1460
+ line2?: string;
1461
+
1462
+ /**
1463
+ * The third line of the shipping address, if needed.
1464
+ *
1465
+ * Maximum length: 41 characters.
1466
+ */
1467
+ line3?: string;
1468
+
1469
+ /**
1470
+ * The fourth line of the shipping address, if needed.
1471
+ *
1472
+ * Maximum length: 41 characters.
1473
+ */
1474
+ line4?: string;
1475
+
1476
+ /**
1477
+ * The fifth line of the shipping address, if needed.
1478
+ *
1479
+ * Maximum length: 41 characters.
1480
+ */
1481
+ line5?: string;
1482
+
1483
+ /**
1484
+ * A note written at the bottom of the shipping address in the form in which it
1485
+ * appears, such as the invoice form.
1486
+ */
1487
+ note?: string;
1488
+
1489
+ /**
1490
+ * The postal code or ZIP code of the shipping address.
1491
+ *
1492
+ * Maximum length: 13 characters.
1493
+ */
1494
+ postalCode?: string;
1495
+
1496
+ /**
1497
+ * The state, county, province, or region name of the shipping address.
1498
+ *
1499
+ * Maximum length: 21 characters.
1500
+ */
1501
+ state?: string;
1502
+ }
1503
+
1504
+ /**
1505
+ * The customer's billing address.
1506
+ */
1507
+ export interface BillingAddress {
1508
+ /**
1509
+ * The city, district, suburb, town, or village name of the address.
1510
+ *
1511
+ * Maximum length: 31 characters.
1512
+ */
1513
+ city?: string;
1514
+
1515
+ /**
1516
+ * The country name of the address.
1517
+ */
1518
+ country?: string;
1519
+
1520
+ /**
1521
+ * The first line of the address (e.g., street, PO Box, or company name).
1522
+ *
1523
+ * Maximum length: 41 characters.
1524
+ */
1525
+ line1?: string;
1526
+
1527
+ /**
1528
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
1529
+ * building).
1530
+ *
1531
+ * Maximum length: 41 characters.
1532
+ */
1533
+ line2?: string;
1534
+
1535
+ /**
1536
+ * The third line of the address, if needed.
1537
+ *
1538
+ * Maximum length: 41 characters.
1539
+ */
1540
+ line3?: string;
1541
+
1542
+ /**
1543
+ * The fourth line of the address, if needed.
1544
+ *
1545
+ * Maximum length: 41 characters.
1546
+ */
1547
+ line4?: string;
1548
+
1549
+ /**
1550
+ * The fifth line of the address, if needed.
1551
+ *
1552
+ * Maximum length: 41 characters.
1553
+ */
1554
+ line5?: string;
1555
+
1556
+ /**
1557
+ * A note written at the bottom of the address in the form in which it appears,
1558
+ * such as the invoice form.
1559
+ */
1560
+ note?: string;
1561
+
1562
+ /**
1563
+ * The postal code or ZIP code of the address.
1564
+ *
1565
+ * Maximum length: 13 characters.
1566
+ */
1567
+ postalCode?: string;
1568
+
1569
+ /**
1570
+ * The state, county, province, or region name of the address.
1571
+ *
1572
+ * Maximum length: 21 characters.
1573
+ */
1574
+ state?: string;
1575
+ }
1576
+
1577
+ /**
1578
+ * The customer's credit card information, including card type, number, and
1579
+ * expiration date, used for processing credit card payments.
1580
+ */
1581
+ export interface CreditCard {
1582
+ /**
1583
+ * The card's billing address.
1584
+ */
1585
+ address?: string;
1586
+
1587
+ /**
1588
+ * The month when the credit card expires.
1589
+ */
1590
+ expirationMonth?: number;
1591
+
1592
+ /**
1593
+ * The year when the credit card expires.
1594
+ */
1595
+ expirationYear?: number;
1596
+
1597
+ /**
1598
+ * The cardholder's name on the card.
1599
+ */
1600
+ name?: string;
1601
+
1602
+ /**
1603
+ * The credit card number. Must be masked with lower case "x" and no dashes.
1604
+ */
1605
+ number?: string;
1606
+
1607
+ /**
1608
+ * The card's billing address ZIP or postal code.
1609
+ */
1610
+ postalCode?: string;
1611
+ }
1612
+
1613
+ export interface CustomContactField {
1614
+ /**
1615
+ * The name of the contact field (e.g., "old address", "secondary phone").
1616
+ */
1617
+ name: string;
1618
+
1619
+ /**
1620
+ * The value of the contact field.
1621
+ */
1622
+ value: string;
1623
+ }
1624
+
1625
+ /**
1626
+ * The customer's shipping address.
1627
+ */
1628
+ export interface ShippingAddress {
1629
+ /**
1630
+ * The city, district, suburb, town, or village name of the address.
1631
+ *
1632
+ * Maximum length: 31 characters.
1633
+ */
1634
+ city?: string;
1635
+
1636
+ /**
1637
+ * The country name of the address.
1638
+ */
1639
+ country?: string;
1640
+
1641
+ /**
1642
+ * The first line of the address (e.g., street, PO Box, or company name).
1643
+ *
1644
+ * Maximum length: 41 characters.
1645
+ */
1646
+ line1?: string;
1647
+
1648
+ /**
1649
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
1650
+ * building).
1651
+ *
1652
+ * Maximum length: 41 characters.
1653
+ */
1654
+ line2?: string;
1655
+
1656
+ /**
1657
+ * The third line of the address, if needed.
1658
+ *
1659
+ * Maximum length: 41 characters.
1660
+ */
1661
+ line3?: string;
1662
+
1663
+ /**
1664
+ * The fourth line of the address, if needed.
1665
+ *
1666
+ * Maximum length: 41 characters.
1667
+ */
1668
+ line4?: string;
1669
+
1670
+ /**
1671
+ * The fifth line of the address, if needed.
1672
+ *
1673
+ * Maximum length: 41 characters.
1674
+ */
1675
+ line5?: string;
1676
+
1677
+ /**
1678
+ * A note written at the bottom of the address in the form in which it appears,
1679
+ * such as the invoice form.
1680
+ */
1681
+ note?: string;
1682
+
1683
+ /**
1684
+ * The postal code or ZIP code of the address.
1685
+ *
1686
+ * Maximum length: 13 characters.
1687
+ */
1688
+ postalCode?: string;
1689
+
1690
+ /**
1691
+ * The state, county, province, or region name of the address.
1692
+ *
1693
+ * Maximum length: 21 characters.
1694
+ */
1695
+ state?: string;
1696
+ }
1697
+ }
1698
+
1699
+ export interface CustomerRetrieveParams {
1700
+ /**
1701
+ * The ID of the EndUser to receive this request (e.g.,
1702
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
1703
+ */
1704
+ conductorEndUserId: string;
1705
+ }
1706
+
1707
+ export interface CustomerUpdateParams {
1708
+ /**
1709
+ * Body param: The current QuickBooks-assigned revision number of the customer
1710
+ * object you are updating, which you can get by fetching the object first. Provide
1711
+ * the most recent `revisionNumber` to ensure you're working with the latest data;
1712
+ * otherwise, the update will return an error.
1713
+ */
1714
+ revisionNumber: string;
1715
+
1716
+ /**
1717
+ * Header param: The ID of the EndUser to receive this request (e.g.,
1718
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
1719
+ */
1720
+ conductorEndUserId: string;
1721
+
1722
+ /**
1723
+ * Body param: The customer's account number, which appears in the QuickBooks chart
1724
+ * of accounts, reports, and graphs.
1725
+ *
1726
+ * Note that if the "Use Account Numbers" preference is turned off in QuickBooks,
1727
+ * the account number may not be visible in the user interface, but it can still be
1728
+ * set and retrieved through the API.
1729
+ */
1730
+ accountNumber?: string;
1731
+
1732
+ /**
1733
+ * Body param: Additional alternate contacts for this customer.
1734
+ */
1735
+ additionalContacts?: Array<CustomerUpdateParams.AdditionalContact>;
1736
+
1737
+ /**
1738
+ * Body param: Additional notes about this customer.
1739
+ */
1740
+ additionalNotes?: Array<CustomerUpdateParams.AdditionalNote>;
1741
+
1742
+ /**
1743
+ * Body param: The name of a alternate contact person for this customer.
1744
+ */
1745
+ alternateContact?: string;
1746
+
1747
+ /**
1748
+ * Body param: The customer's alternate telephone number.
1749
+ */
1750
+ alternatePhone?: string;
1751
+
1752
+ /**
1753
+ * Body param: A list of additional shipping addresses for this customer. Useful
1754
+ * when the customer has multiple shipping locations.
1755
+ */
1756
+ alternateShippingAddresses?: Array<CustomerUpdateParams.AlternateShippingAddress>;
1757
+
1758
+ /**
1759
+ * Body param: The customer's billing address.
1760
+ */
1761
+ billingAddress?: CustomerUpdateParams.BillingAddress;
1762
+
1763
+ /**
1764
+ * Body param: An email address to carbon copy (CC) on communications with this
1765
+ * customer.
1766
+ */
1767
+ ccEmail?: string;
1768
+
1769
+ /**
1770
+ * Body param: The customer's class. Classes can be used to categorize objects into
1771
+ * meaningful segments, such as department, location, or type of work. In
1772
+ * QuickBooks, class tracking is off by default.
1773
+ */
1774
+ classId?: string;
1775
+
1776
+ /**
1777
+ * Body param: The name of the company associated with this customer. This name is
1778
+ * used on invoices, checks, and other forms.
1779
+ */
1780
+ companyName?: string;
1781
+
1782
+ /**
1783
+ * Body param: The name of the primary contact person for this customer.
1784
+ */
1785
+ contact?: string;
1786
+
1787
+ /**
1788
+ * Body param: The customer's credit card information, including card type, number,
1789
+ * and expiration date, used for processing credit card payments.
1790
+ */
1791
+ creditCard?: CustomerUpdateParams.CreditCard;
1792
+
1793
+ /**
1794
+ * Body param: The customer's credit limit, represented as a decimal string. This
1795
+ * is the maximum amount of money this customer can spend before being billed. If
1796
+ * `null`, there is no credit limit.
1797
+ */
1798
+ creditLimit?: string;
1799
+
1800
+ /**
1801
+ * Body param: The customer's currency. For built-in currencies, the name and code
1802
+ * are standard international values. For user-defined currencies, all values are
1803
+ * editable.
1804
+ */
1805
+ currencyId?: string;
1806
+
1807
+ /**
1808
+ * Body param: Additional custom contact fields for this customer, such as phone
1809
+ * numbers or email addresses.
1810
+ */
1811
+ customContactFields?: Array<CustomerUpdateParams.CustomContactField>;
1812
+
1813
+ /**
1814
+ * Body param: The customer's type, used for categorizing customers into meaningful
1815
+ * segments, such as industry or region.
1816
+ */
1817
+ customerTypeId?: string;
1818
+
1819
+ /**
1820
+ * Body param: The customer's email address.
1821
+ */
1822
+ email?: string;
1823
+
1824
+ /**
1825
+ * Body param: The customer's fax number.
1826
+ */
1827
+ fax?: string;
1828
+
1829
+ /**
1830
+ * Body param: The first name of the contact person for this customer.
1831
+ *
1832
+ * Maximum length: 25 characters.
1833
+ */
1834
+ firstName?: string;
1835
+
1836
+ /**
1837
+ * Body param: Indicates whether this customer is active. Inactive objects are
1838
+ * typically hidden from views and reports in QuickBooks. Defaults to `true`.
1839
+ */
1840
+ isActive?: boolean;
1841
+
1842
+ /**
1843
+ * Body param: A brief description of this customer's job, if this object is a job
1844
+ * (i.e., sub-customer).
1845
+ */
1846
+ jobDescription?: string;
1847
+
1848
+ /**
1849
+ * Body param: The actual completion date of this customer's job, if applicable, in
1850
+ * ISO 8601 format (YYYY-MM-DD).
1851
+ */
1852
+ jobEndDate?: string;
1853
+
1854
+ /**
1855
+ * Body param: The projected completion date for this customer's job, if
1856
+ * applicable, in ISO 8601 format (YYYY-MM-DD).
1857
+ */
1858
+ jobProjectedEndDate?: string;
1859
+
1860
+ /**
1861
+ * Body param: The date when work on this customer's job began, if applicable, in
1862
+ * ISO 8601 format (YYYY-MM-DD).
1863
+ */
1864
+ jobStartDate?: string;
1865
+
1866
+ /**
1867
+ * Body param: The status of this customer's job, if this object is a job (i.e.,
1868
+ * sub-customer).
1869
+ */
1870
+ jobStatus?: 'awarded' | 'closed' | 'in_progress' | 'none' | 'not_awarded' | 'pending';
1871
+
1872
+ /**
1873
+ * Body param: The job title of the contact person for this customer.
1874
+ */
1875
+ jobTitle?: string;
1876
+
1877
+ /**
1878
+ * Body param: The type or category of this customer's job, if this object is a job
1879
+ * (i.e., sub-customer). Useful for classifying into meaningful segments (e.g.,
1880
+ * repair, installation, consulting).
1881
+ */
1882
+ jobTypeId?: string;
1883
+
1884
+ /**
1885
+ * Body param: The last name of the contact person for this customer.
1886
+ *
1887
+ * Maximum length: 25 characters.
1888
+ */
1889
+ lastName?: string;
1890
+
1891
+ /**
1892
+ * Body param: The middle name of the contact person for this customer.
1893
+ *
1894
+ * Maximum length: 5 characters.
1895
+ */
1896
+ middleName?: string;
1897
+
1898
+ /**
1899
+ * Body param: The case-insensitive name of this customer. Not guaranteed to be
1900
+ * unique because it does not include the names of its hierarchical parent objects
1901
+ * like `fullName` does. For example, two customers could both have the `name`
1902
+ * "Website Redesign Project", but they could have unique `fullName` values, such
1903
+ * as "ABC Corporation:Website Redesign Project" and "Baker:Website Redesign
1904
+ * Project".
1905
+ *
1906
+ * Maximum length: 41 characters.
1907
+ */
1908
+ name?: string;
1909
+
1910
+ /**
1911
+ * Body param: A note or comment about this customer.
1912
+ */
1913
+ note?: string;
1914
+
1915
+ /**
1916
+ * Body param: The parent customer one level above this one in the hierarchy. For
1917
+ * example, if this customer has a `fullName` of "ABC Corporation:Website Redesign
1918
+ * Project", its parent has a `fullName` of "ABC Corporation". If this customer is
1919
+ * at the top level, this field will be `null`.
1920
+ */
1921
+ parentId?: string;
1922
+
1923
+ /**
1924
+ * Body param: The customer's primary telephone number.
1925
+ */
1926
+ phone?: string;
1927
+
1928
+ /**
1929
+ * Body param: The preferred method for delivering invoices and other documents to
1930
+ * this customer.
1931
+ */
1932
+ preferredDeliveryMethod?: 'email' | 'mail' | 'none';
1933
+
1934
+ /**
1935
+ * Body param: The customer's preferred payment method (e.g., cash, check, credit
1936
+ * card).
1937
+ */
1938
+ preferredPaymentMethodId?: string;
1939
+
1940
+ /**
1941
+ * Body param: The customer's custom price level that QuickBooks automatically
1942
+ * applies to calculate item rates in new transactions (e.g., invoices, sales
1943
+ * receipts, sales orders, and credit memos) for this customer. While applied
1944
+ * automatically, this can be overridden when creating individual transactions.
1945
+ * Note that transactions will not show the price level itself, only the final
1946
+ * `rate` calculated from it.
1947
+ */
1948
+ priceLevelId?: string;
1949
+
1950
+ /**
1951
+ * Body param: The customer's resale number, used if the customer is purchasing
1952
+ * items for resale. This number does not affect sales tax calculations or reports
1953
+ * in QuickBooks.
1954
+ */
1955
+ resaleNumber?: string;
1956
+
1957
+ /**
1958
+ * Body param: The customer's sales representative. Sales representatives can be
1959
+ * employees, vendors, or other names in QuickBooks.
1960
+ */
1961
+ salesRepresentativeId?: string;
1962
+
1963
+ /**
1964
+ * Body param: The default sales-tax code for transactions with this customer,
1965
+ * determining whether the transactions are taxable or non-taxable. This can be
1966
+ * overridden at the transaction or transaction-line level.
1967
+ *
1968
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1969
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1970
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1971
+ * non-taxable code to all sales.
1972
+ */
1973
+ salesTaxCodeId?: string;
1974
+
1975
+ /**
1976
+ * Body param: The country for which sales tax is collected for this customer.
1977
+ */
1978
+ salesTaxCountry?: 'australia' | 'canada' | 'uk' | 'us';
1979
+
1980
+ /**
1981
+ * Body param: The sales-tax item used to calculate the actual tax amount for this
1982
+ * customer's transactions by applying a specific tax rate collected for a single
1983
+ * tax agency. Unlike `salesTaxCode`, which only indicates general taxability, this
1984
+ * field drives the actual tax calculation and reporting.
1985
+ */
1986
+ salesTaxItemId?: string;
1987
+
1988
+ /**
1989
+ * Body param: The formal salutation title that precedes the name of the contact
1990
+ * person for this customer, such as "Mr.", "Ms.", or "Dr.".
1991
+ */
1992
+ salutation?: string;
1993
+
1994
+ /**
1995
+ * Body param: The customer's shipping address.
1996
+ */
1997
+ shippingAddress?: CustomerUpdateParams.ShippingAddress;
1998
+
1999
+ /**
2000
+ * Body param: The customer's tax registration number, for use in Canada or the UK.
2001
+ */
2002
+ taxRegistrationNumber?: string;
2003
+
2004
+ /**
2005
+ * Body param: The customer's payment terms, defining when payment is due and any
2006
+ * applicable discounts.
2007
+ */
2008
+ termsId?: string;
2009
+ }
2010
+
2011
+ export namespace CustomerUpdateParams {
2012
+ export interface AdditionalContact {
2013
+ /**
2014
+ * The QuickBooks-assigned unique identifier of the contact to update.
2015
+ */
2016
+ id: string;
2017
+
2018
+ /**
2019
+ * The current QuickBooks-assigned revision number of the contact object you are
2020
+ * updating, which you can get by fetching the object first. Provide the most
2021
+ * recent `revisionNumber` to ensure you're working with the latest data;
2022
+ * otherwise, the update will return an error.
2023
+ */
2024
+ revisionNumber: string;
2025
+
2026
+ /**
2027
+ * Additional custom contact fields for this contact, such as phone numbers or
2028
+ * email addresses.
2029
+ */
2030
+ customContactFields?: Array<AdditionalContact.CustomContactField>;
2031
+
2032
+ /**
2033
+ * The contact's first name.
2034
+ *
2035
+ * Maximum length: 25 characters.
2036
+ */
2037
+ firstName?: string;
2038
+
2039
+ /**
2040
+ * The contact's job title.
2041
+ */
2042
+ jobTitle?: string;
2043
+
2044
+ /**
2045
+ * The contact's last name.
2046
+ *
2047
+ * Maximum length: 25 characters.
2048
+ */
2049
+ lastName?: string;
2050
+
2051
+ /**
2052
+ * The contact's middle name.
2053
+ *
2054
+ * Maximum length: 5 characters.
2055
+ */
2056
+ middleName?: string;
2057
+
2058
+ /**
2059
+ * The contact's formal salutation title that precedes their name, such as "Mr.",
2060
+ * "Ms.", or "Dr.".
2061
+ */
2062
+ salutation?: string;
2063
+ }
2064
+
2065
+ export namespace AdditionalContact {
2066
+ export interface CustomContactField {
2067
+ /**
2068
+ * The name of the contact field (e.g., "old address", "secondary phone").
2069
+ */
2070
+ name: string;
2071
+
2072
+ /**
2073
+ * The value of the contact field.
2074
+ */
2075
+ value: string;
2076
+ }
2077
+ }
2078
+
2079
+ export interface AdditionalNote {
2080
+ /**
2081
+ * The ID of the note to update.
2082
+ */
2083
+ id: number;
2084
+
2085
+ /**
2086
+ * The text of this note.
2087
+ */
2088
+ note?: string;
2089
+ }
2090
+
2091
+ export interface AlternateShippingAddress {
2092
+ /**
2093
+ * The case-insensitive unique name of this shipping address, unique across all
2094
+ * shipping addresses.
2095
+ *
2096
+ * **NOTE**: Shipping addresses do not have a `fullName` field because they are not
2097
+ * hierarchical objects, which is why `name` is unique for them but not for objects
2098
+ * that have parents.
2099
+ *
2100
+ * Maximum length: 41 characters.
2101
+ */
2102
+ name: string;
2103
+
2104
+ /**
2105
+ * The city, district, suburb, town, or village name of the shipping address.
2106
+ *
2107
+ * Maximum length: 31 characters.
2108
+ */
2109
+ city?: string;
2110
+
2111
+ /**
2112
+ * The country name of the shipping address.
2113
+ */
2114
+ country?: string;
2115
+
2116
+ /**
2117
+ * Indicates whether this shipping address is the default shipping address.
2118
+ */
2119
+ isDefaultShippingAddress?: boolean;
2120
+
2121
+ /**
2122
+ * The first line of the shipping address (e.g., street, PO Box, or company name).
2123
+ *
2124
+ * Maximum length: 41 characters.
2125
+ */
2126
+ line1?: string;
2127
+
2128
+ /**
2129
+ * The second line of the shipping address, if needed (e.g., apartment, suite,
2130
+ * unit, or building).
2131
+ *
2132
+ * Maximum length: 41 characters.
2133
+ */
2134
+ line2?: string;
2135
+
2136
+ /**
2137
+ * The third line of the shipping address, if needed.
2138
+ *
2139
+ * Maximum length: 41 characters.
2140
+ */
2141
+ line3?: string;
2142
+
2143
+ /**
2144
+ * The fourth line of the shipping address, if needed.
2145
+ *
2146
+ * Maximum length: 41 characters.
2147
+ */
2148
+ line4?: string;
2149
+
2150
+ /**
2151
+ * The fifth line of the shipping address, if needed.
2152
+ *
2153
+ * Maximum length: 41 characters.
2154
+ */
2155
+ line5?: string;
2156
+
2157
+ /**
2158
+ * A note written at the bottom of the shipping address in the form in which it
2159
+ * appears, such as the invoice form.
2160
+ */
2161
+ note?: string;
2162
+
2163
+ /**
2164
+ * The postal code or ZIP code of the shipping address.
2165
+ *
2166
+ * Maximum length: 13 characters.
2167
+ */
2168
+ postalCode?: string;
2169
+
2170
+ /**
2171
+ * The state, county, province, or region name of the shipping address.
2172
+ *
2173
+ * Maximum length: 21 characters.
2174
+ */
2175
+ state?: string;
2176
+ }
2177
+
2178
+ /**
2179
+ * The customer's billing address.
2180
+ */
2181
+ export interface BillingAddress {
2182
+ /**
2183
+ * The city, district, suburb, town, or village name of the address.
2184
+ *
2185
+ * Maximum length: 31 characters.
2186
+ */
2187
+ city?: string;
2188
+
2189
+ /**
2190
+ * The country name of the address.
2191
+ */
2192
+ country?: string;
2193
+
2194
+ /**
2195
+ * The first line of the address (e.g., street, PO Box, or company name).
2196
+ *
2197
+ * Maximum length: 41 characters.
2198
+ */
2199
+ line1?: string;
2200
+
2201
+ /**
2202
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
2203
+ * building).
2204
+ *
2205
+ * Maximum length: 41 characters.
2206
+ */
2207
+ line2?: string;
2208
+
2209
+ /**
2210
+ * The third line of the address, if needed.
2211
+ *
2212
+ * Maximum length: 41 characters.
2213
+ */
2214
+ line3?: string;
2215
+
2216
+ /**
2217
+ * The fourth line of the address, if needed.
2218
+ *
2219
+ * Maximum length: 41 characters.
2220
+ */
2221
+ line4?: string;
2222
+
2223
+ /**
2224
+ * The fifth line of the address, if needed.
2225
+ *
2226
+ * Maximum length: 41 characters.
2227
+ */
2228
+ line5?: string;
2229
+
2230
+ /**
2231
+ * A note written at the bottom of the address in the form in which it appears,
2232
+ * such as the invoice form.
2233
+ */
2234
+ note?: string;
2235
+
2236
+ /**
2237
+ * The postal code or ZIP code of the address.
2238
+ *
2239
+ * Maximum length: 13 characters.
2240
+ */
2241
+ postalCode?: string;
2242
+
2243
+ /**
2244
+ * The state, county, province, or region name of the address.
2245
+ *
2246
+ * Maximum length: 21 characters.
2247
+ */
2248
+ state?: string;
2249
+ }
2250
+
2251
+ /**
2252
+ * The customer's credit card information, including card type, number, and
2253
+ * expiration date, used for processing credit card payments.
2254
+ */
2255
+ export interface CreditCard {
2256
+ /**
2257
+ * The card's billing address.
2258
+ */
2259
+ address?: string;
2260
+
2261
+ /**
2262
+ * The month when the credit card expires.
2263
+ */
2264
+ expirationMonth?: number;
2265
+
2266
+ /**
2267
+ * The year when the credit card expires.
2268
+ */
2269
+ expirationYear?: number;
2270
+
2271
+ /**
2272
+ * The cardholder's name on the card.
2273
+ */
2274
+ name?: string;
2275
+
2276
+ /**
2277
+ * The credit card number. Must be masked with lower case "x" and no dashes.
2278
+ */
2279
+ number?: string;
2280
+
2281
+ /**
2282
+ * The card's billing address ZIP or postal code.
2283
+ */
2284
+ postalCode?: string;
2285
+ }
2286
+
2287
+ export interface CustomContactField {
2288
+ /**
2289
+ * The name of the contact field (e.g., "old address", "secondary phone").
2290
+ */
2291
+ name: string;
2292
+
2293
+ /**
2294
+ * The value of the contact field.
2295
+ */
2296
+ value: string;
2297
+ }
2298
+
2299
+ /**
2300
+ * The customer's shipping address.
2301
+ */
2302
+ export interface ShippingAddress {
2303
+ /**
2304
+ * The city, district, suburb, town, or village name of the address.
2305
+ *
2306
+ * Maximum length: 31 characters.
2307
+ */
2308
+ city?: string;
2309
+
2310
+ /**
2311
+ * The country name of the address.
2312
+ */
2313
+ country?: string;
2314
+
2315
+ /**
2316
+ * The first line of the address (e.g., street, PO Box, or company name).
2317
+ *
2318
+ * Maximum length: 41 characters.
2319
+ */
2320
+ line1?: string;
2321
+
2322
+ /**
2323
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
2324
+ * building).
2325
+ *
2326
+ * Maximum length: 41 characters.
2327
+ */
2328
+ line2?: string;
2329
+
2330
+ /**
2331
+ * The third line of the address, if needed.
2332
+ *
2333
+ * Maximum length: 41 characters.
2334
+ */
2335
+ line3?: string;
2336
+
2337
+ /**
2338
+ * The fourth line of the address, if needed.
2339
+ *
2340
+ * Maximum length: 41 characters.
2341
+ */
2342
+ line4?: string;
2343
+
2344
+ /**
2345
+ * The fifth line of the address, if needed.
2346
+ *
2347
+ * Maximum length: 41 characters.
2348
+ */
2349
+ line5?: string;
2350
+
2351
+ /**
2352
+ * A note written at the bottom of the address in the form in which it appears,
2353
+ * such as the invoice form.
2354
+ */
2355
+ note?: string;
2356
+
2357
+ /**
2358
+ * The postal code or ZIP code of the address.
2359
+ *
2360
+ * Maximum length: 13 characters.
2361
+ */
2362
+ postalCode?: string;
2363
+
2364
+ /**
2365
+ * The state, county, province, or region name of the address.
2366
+ *
2367
+ * Maximum length: 21 characters.
2368
+ */
2369
+ state?: string;
2370
+ }
2371
+ }
2372
+
2373
+ export interface CustomerListParams extends CursorPageParams {
2374
+ /**
2375
+ * Header param: The ID of the EndUser to receive this request (e.g.,
2376
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
2377
+ */
2378
+ conductorEndUserId: string;
2379
+
2380
+ /**
2381
+ * Query param: Filter for customers of these classes. A class is a way end-users
2382
+ * can categorize customers in QuickBooks.
2383
+ */
2384
+ classIds?: Array<string>;
2385
+
2386
+ /**
2387
+ * Query param: Filter for customers in these currencies.
2388
+ */
2389
+ currencyIds?: Array<string>;
2390
+
2391
+ /**
2392
+ * Query param: Filter for specific customers by their full-name(s),
2393
+ * case-insensitive. Like `id`, `fullName` is a unique identifier for a customer,
2394
+ * formed by by combining the names of its parent objects with its own `name`,
2395
+ * separated by colons. For example, if a customer is under "ABC Corporation" and
2396
+ * has the `name` "Website Redesign Project", its `fullName` would be "ABC
2397
+ * Corporation:Website Redesign Project".
2398
+ *
2399
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
2400
+ * query parameters for this request.
2401
+ *
2402
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
2403
+ * request will return an error.
2404
+ */
2405
+ fullNames?: Array<string>;
2406
+
2407
+ /**
2408
+ * Query param: Filter for specific customers by their QuickBooks-assigned unique
2409
+ * identifier(s).
2410
+ *
2411
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
2412
+ * query parameters for this request.
2413
+ *
2414
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
2415
+ * request will return an error.
2416
+ */
2417
+ ids?: Array<string>;
2418
+
2419
+ /**
2420
+ * Query param: Filter for customers whose `name` contains this substring,
2421
+ * case-insensitive. NOTE: If you use this parameter, you cannot also use
2422
+ * `nameStartsWith` or `nameEndsWith`.
2423
+ */
2424
+ nameContains?: string;
2425
+
2426
+ /**
2427
+ * Query param: Filter for customers whose `name` ends with this substring,
2428
+ * case-insensitive. NOTE: If you use this parameter, you cannot also use
2429
+ * `nameContains` or `nameStartsWith`.
2430
+ */
2431
+ nameEndsWith?: string;
2432
+
2433
+ /**
2434
+ * Query param: Filter for customers whose `name` is alphabetically greater than or
2435
+ * equal to this value.
2436
+ */
2437
+ nameFrom?: string;
2438
+
2439
+ /**
2440
+ * Query param: Filter for customers whose `name` starts with this substring,
2441
+ * case-insensitive. NOTE: If you use this parameter, you cannot also use
2442
+ * `nameContains` or `nameEndsWith`.
2443
+ */
2444
+ nameStartsWith?: string;
2445
+
2446
+ /**
2447
+ * Query param: Filter for customers whose `name` is alphabetically less than or
2448
+ * equal to this value.
2449
+ */
2450
+ nameTo?: string;
2451
+
2452
+ /**
2453
+ * Query param: Filter for customers that are active, inactive, or both.
2454
+ */
2455
+ status?: 'active' | 'all' | 'inactive';
2456
+
2457
+ /**
2458
+ * Query param: Filter for customers whose `totalBalance` equals this amount,
2459
+ * represented as a decimal string. You can only use one total-balance filter at a
2460
+ * time.
2461
+ */
2462
+ totalBalance?: string;
2463
+
2464
+ /**
2465
+ * Query param: Filter for customers whose `totalBalance` is greater than this
2466
+ * amount, represented as a decimal string. You can only use one total-balance
2467
+ * filter at a time.
2468
+ */
2469
+ totalBalanceGreaterThan?: string;
2470
+
2471
+ /**
2472
+ * Query param: Filter for customers whose `totalBalance` is greater than or equal
2473
+ * to this amount, represented as a decimal string. You can only use one
2474
+ * total-balance filter at a time.
2475
+ */
2476
+ totalBalanceGreaterThanOrEqualTo?: string;
2477
+
2478
+ /**
2479
+ * Query param: Filter for customers whose `totalBalance` is less than this amount,
2480
+ * represented as a decimal string. You can only use one total-balance filter at a
2481
+ * time.
2482
+ */
2483
+ totalBalanceLessThan?: string;
2484
+
2485
+ /**
2486
+ * Query param: Filter for customers whose `totalBalance` is less than or equal to
2487
+ * this amount, represented as a decimal string. You can only use one total-balance
2488
+ * filter at a time.
2489
+ */
2490
+ totalBalanceLessThanOrEqualTo?: string;
2491
+
2492
+ /**
2493
+ * Query param: Filter for customers updated on or after this date and time, in ISO
2494
+ * 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the
2495
+ * time is assumed to be 00:00:00 of that day.
2496
+ */
2497
+ updatedAfter?: string;
2498
+
2499
+ /**
2500
+ * Query param: Filter for customers updated on or before this date and time, in
2501
+ * ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD),
2502
+ * the time is assumed to be 23:59:59 of that day.
2503
+ */
2504
+ updatedBefore?: string;
2505
+ }
2506
+
2507
+ Customers.CustomersCursorPage = CustomersCursorPage;
2508
+
2509
+ export declare namespace Customers {
2510
+ export {
2511
+ type Customer as Customer,
2512
+ CustomersCursorPage as CustomersCursorPage,
2513
+ type CustomerCreateParams as CustomerCreateParams,
2514
+ type CustomerRetrieveParams as CustomerRetrieveParams,
2515
+ type CustomerUpdateParams as CustomerUpdateParams,
2516
+ type CustomerListParams as CustomerListParams,
2517
+ };
2518
+ }