conductor-node 11.10.1 → 12.0.0-beta.2

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 +54 -0
  2. package/LICENSE +201 -21
  3. package/README.md +336 -64
  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 -65
  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,3141 @@
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 SalesOrders extends APIResource {
8
+ /**
9
+ * Creates a new sales order.
10
+ */
11
+ create(params: SalesOrderCreateParams, options?: Core.RequestOptions): Core.APIPromise<SalesOrder> {
12
+ const { conductorEndUserId, ...body } = params;
13
+ return this._client.post('/quickbooks-desktop/sales-orders', {
14
+ body,
15
+ ...options,
16
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
17
+ });
18
+ }
19
+
20
+ /**
21
+ * Retrieves a sales order by ID.
22
+ */
23
+ retrieve(
24
+ id: string,
25
+ params: SalesOrderRetrieveParams,
26
+ options?: Core.RequestOptions,
27
+ ): Core.APIPromise<SalesOrder> {
28
+ const { conductorEndUserId } = params;
29
+ return this._client.get(`/quickbooks-desktop/sales-orders/${id}`, {
30
+ ...options,
31
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
32
+ });
33
+ }
34
+
35
+ /**
36
+ * Updates an existing sales order.
37
+ */
38
+ update(
39
+ id: string,
40
+ params: SalesOrderUpdateParams,
41
+ options?: Core.RequestOptions,
42
+ ): Core.APIPromise<SalesOrder> {
43
+ const { conductorEndUserId, ...body } = params;
44
+ return this._client.post(`/quickbooks-desktop/sales-orders/${id}`, {
45
+ body,
46
+ ...options,
47
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
48
+ });
49
+ }
50
+
51
+ /**
52
+ * Returns a list of sales orders. Use the `cursor` parameter to paginate through
53
+ * the results.
54
+ */
55
+ list(
56
+ params: SalesOrderListParams,
57
+ options?: Core.RequestOptions,
58
+ ): Core.PagePromise<SalesOrdersCursorPage, SalesOrder> {
59
+ const { conductorEndUserId, ...query } = params;
60
+ return this._client.getAPIList('/quickbooks-desktop/sales-orders', SalesOrdersCursorPage, {
61
+ query,
62
+ ...options,
63
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
64
+ });
65
+ }
66
+
67
+ /**
68
+ * Permanently deletes a a sales order. The deletion will fail if the sales order
69
+ * is currently in use or has any linked transactions that are in use.
70
+ */
71
+ delete(
72
+ id: string,
73
+ params: SalesOrderDeleteParams,
74
+ options?: Core.RequestOptions,
75
+ ): Core.APIPromise<SalesOrderDeleteResponse> {
76
+ const { conductorEndUserId } = params;
77
+ return this._client.delete(`/quickbooks-desktop/sales-orders/${id}`, {
78
+ ...options,
79
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
80
+ });
81
+ }
82
+ }
83
+
84
+ export class SalesOrdersCursorPage extends CursorPage<SalesOrder> {}
85
+
86
+ export interface SalesOrder {
87
+ /**
88
+ * The unique identifier assigned by QuickBooks to this sales order. This ID is
89
+ * unique across all transaction types.
90
+ */
91
+ id: string;
92
+
93
+ /**
94
+ * The sales order's billing address.
95
+ */
96
+ billingAddress: SalesOrder.BillingAddress | null;
97
+
98
+ /**
99
+ * The sales order's class. Classes can be used to categorize objects into
100
+ * meaningful segments, such as department, location, or type of work. In
101
+ * QuickBooks, class tracking is off by default. A class defined here is
102
+ * automatically used in this sales order's line items unless overridden at the
103
+ * line item level.
104
+ */
105
+ class: SalesOrder.Class | null;
106
+
107
+ /**
108
+ * The date and time when this sales order was created, in ISO 8601 format
109
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
110
+ * in QuickBooks.
111
+ */
112
+ createdAt: string;
113
+
114
+ /**
115
+ * The sales order's currency. For built-in currencies, the name and code are
116
+ * standard international values. For user-defined currencies, all values are
117
+ * editable.
118
+ */
119
+ currency: SalesOrder.Currency | null;
120
+
121
+ /**
122
+ * The customer or customer-job associated with this sales order.
123
+ */
124
+ customer: SalesOrder.Customer;
125
+
126
+ /**
127
+ * The message to display to the customer on the sales order.
128
+ */
129
+ customerMessage: SalesOrder.CustomerMessage | null;
130
+
131
+ /**
132
+ * The custom fields for the sales order object, added as user-defined data
133
+ * extensions, not included in the standard QuickBooks object.
134
+ */
135
+ customFields: Array<SalesOrder.CustomField>;
136
+
137
+ /**
138
+ * The predefined template in QuickBooks that determines the layout and formatting
139
+ * for this sales order when printed or displayed.
140
+ */
141
+ documentTemplate: SalesOrder.DocumentTemplate | null;
142
+
143
+ /**
144
+ * The date by which this sales order must be paid, in ISO 8601 format
145
+ * (YYYY-MM-DD).
146
+ */
147
+ dueDate: string | null;
148
+
149
+ /**
150
+ * The market exchange rate between this sales order's currency and the home
151
+ * currency in QuickBooks at the time of this transaction. Represented as a decimal
152
+ * value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
153
+ */
154
+ exchangeRate: number | null;
155
+
156
+ /**
157
+ * A globally unique identifier (GUID) you, the developer, can provide for tracking
158
+ * this object in your external system. This field is immutable and can only be set
159
+ * during object creation.
160
+ */
161
+ externalId: string | null;
162
+
163
+ /**
164
+ * Indicates whether all items in this sales order have been invoiced.
165
+ */
166
+ isFullyInvoiced: boolean | null;
167
+
168
+ /**
169
+ * Indicates whether this sales order has been manually marked as closed, even if
170
+ * it has not been invoiced.
171
+ */
172
+ isManuallyClosed: boolean;
173
+
174
+ /**
175
+ * Indicates whether this sales order is included in the queue of documents for
176
+ * QuickBooks to email to the customer.
177
+ */
178
+ isQueuedForEmail: boolean | null;
179
+
180
+ /**
181
+ * Indicates whether this sales order is included in the queue of documents for
182
+ * QuickBooks to print.
183
+ */
184
+ isQueuedForPrint: boolean | null;
185
+
186
+ /**
187
+ * The sales order's line item groups, each representing a predefined set of
188
+ * related items.
189
+ */
190
+ lineGroups: Array<SalesOrder.LineGroup>;
191
+
192
+ /**
193
+ * The sales order's line items, each representing a single product or service
194
+ * ordered.
195
+ */
196
+ lines: Array<SalesOrder.Line>;
197
+
198
+ /**
199
+ * The sales order's linked transactions, such as payments applied, credits used,
200
+ * or associated purchase orders.
201
+ *
202
+ * **IMPORTANT**: You must specify the parameter `includeLinkedTransactions` when
203
+ * fetching a list of sales orders to receive this field because it is not returned
204
+ * by default.
205
+ */
206
+ linkedTransactions: Array<SalesOrder.LinkedTransaction>;
207
+
208
+ /**
209
+ * A memo or note for this sales order.
210
+ */
211
+ memo: string | null;
212
+
213
+ /**
214
+ * The type of object. This value is always `"qbd_sales_order"`.
215
+ */
216
+ objectType: 'qbd_sales_order';
217
+
218
+ /**
219
+ * A built-in custom field for additional information specific to this sales order.
220
+ * Unlike the user-defined fields in the `customFields` array, this is a standard
221
+ * QuickBooks field that exists for all sales orders for convenience. Developers
222
+ * often use this field for tracking information that doesn't fit into other
223
+ * standard QuickBooks fields. Unlike `otherCustomField1` and `otherCustomField2`,
224
+ * which are line item fields, this exists at the transaction level. Hidden by
225
+ * default in the QuickBooks UI.
226
+ */
227
+ otherCustomField: string | null;
228
+
229
+ /**
230
+ * The customer's Purchase Order (PO) number associated with this sales order. This
231
+ * field is often used to cross-reference the sales order with the customer's
232
+ * purchasing system.
233
+ */
234
+ purchaseOrderNumber: string | null;
235
+
236
+ /**
237
+ * The case-sensitive user-defined reference number for this sales order, which can
238
+ * be used to identify the transaction in QuickBooks. This value is not required to
239
+ * be unique and can be arbitrarily changed by the QuickBooks user.
240
+ */
241
+ refNumber: string | null;
242
+
243
+ /**
244
+ * The current QuickBooks-assigned revision number of this sales order object,
245
+ * which changes each time the object is modified. When updating this object, you
246
+ * must provide the most recent `revisionNumber` to ensure you're working with the
247
+ * latest data; otherwise, the update will return an error.
248
+ */
249
+ revisionNumber: string;
250
+
251
+ /**
252
+ * The type of the sales channel for this sales order.
253
+ */
254
+ salesChannelName: 'blank' | 'ecommerce' | null;
255
+
256
+ /**
257
+ * The sales order's sales representative. Sales representatives can be employees,
258
+ * vendors, or other names in QuickBooks.
259
+ */
260
+ salesRepresentative: SalesOrder.SalesRepresentative | null;
261
+
262
+ /**
263
+ * The name of the sales store for this sales order.
264
+ */
265
+ salesStoreName: string | null;
266
+
267
+ /**
268
+ * The type of the sales store for this sales order.
269
+ */
270
+ salesStoreType: string | null;
271
+
272
+ /**
273
+ * The sales-tax code for this sales order, determining whether it is taxable or
274
+ * non-taxable. This can be overridden at the transaction-line level.
275
+ *
276
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
277
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
278
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
279
+ * non-taxable code to all sales.
280
+ */
281
+ salesTaxCode: SalesOrder.SalesTaxCode | null;
282
+
283
+ /**
284
+ * The sales-tax item used to calculate the actual tax amount for this sales
285
+ * order's transactions by applying a specific tax rate collected for a single tax
286
+ * agency. Unlike `salesTaxCode`, which only indicates general taxability, this
287
+ * field drives the actual tax calculation and reporting.
288
+ */
289
+ salesTaxItem: SalesOrder.SalesTaxItem | null;
290
+
291
+ /**
292
+ * The sales tax percentage applied to this sales order, represented as a decimal
293
+ * string.
294
+ */
295
+ salesTaxPercentage: string | null;
296
+
297
+ /**
298
+ * The total amount of sales tax charged for this sales order, represented as a
299
+ * decimal string.
300
+ */
301
+ salesTaxTotal: string;
302
+
303
+ /**
304
+ * The origin location from where the product associated with this sales order is
305
+ * shipped. This is the point at which ownership and liability for goods transfer
306
+ * from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field,
307
+ * which stands for "freight on board". This field is informational and has no
308
+ * accounting implications.
309
+ */
310
+ shipmentOrigin: string | null;
311
+
312
+ /**
313
+ * The sales order's shipping address.
314
+ */
315
+ shippingAddress: SalesOrder.ShippingAddress | null;
316
+
317
+ /**
318
+ * The date when the products or services for this sales order were shipped or are
319
+ * expected to be shipped, in ISO 8601 format (YYYY-MM-DD).
320
+ */
321
+ shippingDate: string | null;
322
+
323
+ /**
324
+ * The shipping method used for this sales order, such as standard mail or
325
+ * overnight delivery.
326
+ */
327
+ shippingMethod: SalesOrder.ShippingMethod | null;
328
+
329
+ /**
330
+ * The subtotal of this sales order, which is the sum of all sales order lines
331
+ * before taxes and payments are applied, represented as a decimal string.
332
+ */
333
+ subtotal: string;
334
+
335
+ /**
336
+ * The sales order's payment terms, defining when payment is due and any applicable
337
+ * discounts.
338
+ */
339
+ terms: SalesOrder.Terms | null;
340
+
341
+ /**
342
+ * The total monetary amount of this sales order, equivalent to the sum of the
343
+ * amounts in `lines` and `lineGroups`, represented as a decimal string.
344
+ */
345
+ totalAmount: string;
346
+
347
+ /**
348
+ * The total monetary amount of this sales order converted to the home currency of
349
+ * the QuickBooks company file. Represented as a decimal string.
350
+ */
351
+ totalAmountInHomeCurrency: string | null;
352
+
353
+ /**
354
+ * The date of this sales order, in ISO 8601 format (YYYY-MM-DD).
355
+ */
356
+ transactionDate: string;
357
+
358
+ /**
359
+ * The date and time when this sales order was last updated, in ISO 8601 format
360
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
361
+ * in QuickBooks.
362
+ */
363
+ updatedAt: string;
364
+ }
365
+
366
+ export namespace SalesOrder {
367
+ /**
368
+ * The sales order's billing address.
369
+ */
370
+ export interface BillingAddress {
371
+ /**
372
+ * The city, district, suburb, town, or village name of the address.
373
+ */
374
+ city: string | null;
375
+
376
+ /**
377
+ * The country name of the address.
378
+ */
379
+ country: string | null;
380
+
381
+ /**
382
+ * The first line of the address (e.g., street, PO Box, or company name).
383
+ */
384
+ line1: string | null;
385
+
386
+ /**
387
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
388
+ * building).
389
+ */
390
+ line2: string | null;
391
+
392
+ /**
393
+ * The third line of the address, if needed.
394
+ */
395
+ line3: string | null;
396
+
397
+ /**
398
+ * The fourth line of the address, if needed.
399
+ */
400
+ line4: string | null;
401
+
402
+ /**
403
+ * The fifth line of the address, if needed.
404
+ */
405
+ line5: string | null;
406
+
407
+ /**
408
+ * A note written at the bottom of the address in the form in which it appears,
409
+ * such as the invoice form.
410
+ */
411
+ note: string | null;
412
+
413
+ /**
414
+ * The postal code or ZIP code of the address.
415
+ */
416
+ postalCode: string | null;
417
+
418
+ /**
419
+ * The state, county, province, or region name of the address.
420
+ */
421
+ state: string | null;
422
+ }
423
+
424
+ /**
425
+ * The sales order's class. Classes can be used to categorize objects into
426
+ * meaningful segments, such as department, location, or type of work. In
427
+ * QuickBooks, class tracking is off by default. A class defined here is
428
+ * automatically used in this sales order's line items unless overridden at the
429
+ * line item level.
430
+ */
431
+ export interface Class {
432
+ /**
433
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
434
+ * across all objects of the same type, but not across different QuickBooks object
435
+ * types.
436
+ */
437
+ id: string | null;
438
+
439
+ /**
440
+ * The fully-qualified unique name for this object, formed by combining the names
441
+ * of its parent objects with its own `name`, separated by colons. Not
442
+ * case-sensitive.
443
+ */
444
+ fullName: string | null;
445
+ }
446
+
447
+ /**
448
+ * The sales order's currency. For built-in currencies, the name and code are
449
+ * standard international values. For user-defined currencies, all values are
450
+ * editable.
451
+ */
452
+ export interface Currency {
453
+ /**
454
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
455
+ * across all objects of the same type, but not across different QuickBooks object
456
+ * types.
457
+ */
458
+ id: string | null;
459
+
460
+ /**
461
+ * The fully-qualified unique name for this object, formed by combining the names
462
+ * of its parent objects with its own `name`, separated by colons. Not
463
+ * case-sensitive.
464
+ */
465
+ fullName: string | null;
466
+ }
467
+
468
+ /**
469
+ * The customer or customer-job associated with this sales order.
470
+ */
471
+ export interface Customer {
472
+ /**
473
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
474
+ * across all objects of the same type, but not across different QuickBooks object
475
+ * types.
476
+ */
477
+ id: string | null;
478
+
479
+ /**
480
+ * The fully-qualified unique name for this object, formed by combining the names
481
+ * of its parent objects with its own `name`, separated by colons. Not
482
+ * case-sensitive.
483
+ */
484
+ fullName: string | null;
485
+ }
486
+
487
+ /**
488
+ * The message to display to the customer on the sales order.
489
+ */
490
+ export interface CustomerMessage {
491
+ /**
492
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
493
+ * across all objects of the same type, but not across different QuickBooks object
494
+ * types.
495
+ */
496
+ id: string | null;
497
+
498
+ /**
499
+ * The fully-qualified unique name for this object, formed by combining the names
500
+ * of its parent objects with its own `name`, separated by colons. Not
501
+ * case-sensitive.
502
+ */
503
+ fullName: string | null;
504
+ }
505
+
506
+ export interface CustomField {
507
+ /**
508
+ * The name of the custom field, unique for the specified `ownerId`. For public
509
+ * custom fields, this name is visible as a label in the QuickBooks UI.
510
+ */
511
+ name: string;
512
+
513
+ /**
514
+ * The identifier of the owner of the custom field, which QuickBooks internally
515
+ * calls a "data extension". For public custom fields visible in the UI, such as
516
+ * those added by the QuickBooks user, this is always "0". For private custom
517
+ * fields that are only visible to the application that created them, this is a
518
+ * valid GUID identifying the owning application. Internally, Conductor always
519
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
520
+ * objects.
521
+ */
522
+ ownerId: string;
523
+
524
+ /**
525
+ * The data type of this custom field.
526
+ */
527
+ type:
528
+ | 'amount_type'
529
+ | 'date_time_type'
530
+ | 'integer_type'
531
+ | 'percent_type'
532
+ | 'price_type'
533
+ | 'quantity_type'
534
+ | 'string_1024_type'
535
+ | 'string_255_type';
536
+
537
+ /**
538
+ * The value of this custom field. The maximum length depends on the field's data
539
+ * type.
540
+ */
541
+ value: string;
542
+ }
543
+
544
+ /**
545
+ * The predefined template in QuickBooks that determines the layout and formatting
546
+ * for this sales order when printed or displayed.
547
+ */
548
+ export interface DocumentTemplate {
549
+ /**
550
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
551
+ * across all objects of the same type, but not across different QuickBooks object
552
+ * types.
553
+ */
554
+ id: string | null;
555
+
556
+ /**
557
+ * The fully-qualified unique name for this object, formed by combining the names
558
+ * of its parent objects with its own `name`, separated by colons. Not
559
+ * case-sensitive.
560
+ */
561
+ fullName: string | null;
562
+ }
563
+
564
+ export interface LineGroup {
565
+ /**
566
+ * The unique identifier assigned by QuickBooks to this sales order line group.
567
+ * This ID is unique across all transaction line types.
568
+ */
569
+ id: string;
570
+
571
+ /**
572
+ * The custom fields for the sales order line group object, added as user-defined
573
+ * data extensions, not included in the standard QuickBooks object.
574
+ */
575
+ customFields: Array<LineGroup.CustomField>;
576
+
577
+ /**
578
+ * A description of this sales order line group.
579
+ */
580
+ description: string | null;
581
+
582
+ /**
583
+ * The sales order line group's item group, representing a predefined set of items
584
+ * bundled because they are commonly purchased together or grouped for faster
585
+ * entry.
586
+ */
587
+ itemGroup: LineGroup.ItemGroup;
588
+
589
+ /**
590
+ * The sales order line group's line items, each representing a single product or
591
+ * service ordered.
592
+ */
593
+ lines: Array<LineGroup.Line>;
594
+
595
+ /**
596
+ * The type of object. This value is always `"qbd_sales_order_line_group"`.
597
+ */
598
+ objectType: 'qbd_sales_order_line_group';
599
+
600
+ /**
601
+ * Specifies an alternative unit-of-measure set when updating this sales order line
602
+ * group's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
603
+ * select units from a different set than the item's default unit-of-measure set,
604
+ * which remains unchanged on the item itself. The override applies only to this
605
+ * specific line. For example, you can sell an item typically measured in volume
606
+ * units using weight units in a specific transaction by specifying a different
607
+ * unit-of-measure set with this field.
608
+ */
609
+ overrideUnitOfMeasureSet: LineGroup.OverrideUnitOfMeasureSet | null;
610
+
611
+ /**
612
+ * The quantity of the item group associated with this sales order line group. This
613
+ * field cannot be cleared.
614
+ *
615
+ * **NOTE**: Do not use this field if the associated item group is a discount item
616
+ * group.
617
+ */
618
+ quantity: number | null;
619
+
620
+ /**
621
+ * Indicates whether the individual items in this sales order line group and their
622
+ * separate amounts appear on printed forms.
623
+ */
624
+ shouldPrintItemsInGroup: boolean;
625
+
626
+ /**
627
+ * The total monetary amount of this sales order line group, equivalent to the sum
628
+ * of the amounts in `lines`, represented as a decimal string.
629
+ */
630
+ totalAmount: string;
631
+
632
+ /**
633
+ * The unit-of-measure used for the `quantity` in this sales order line group. Must
634
+ * be a valid unit within the item's available units of measure.
635
+ */
636
+ unitOfMeasure: string | null;
637
+ }
638
+
639
+ export namespace LineGroup {
640
+ export interface CustomField {
641
+ /**
642
+ * The name of the custom field, unique for the specified `ownerId`. For public
643
+ * custom fields, this name is visible as a label in the QuickBooks UI.
644
+ */
645
+ name: string;
646
+
647
+ /**
648
+ * The identifier of the owner of the custom field, which QuickBooks internally
649
+ * calls a "data extension". For public custom fields visible in the UI, such as
650
+ * those added by the QuickBooks user, this is always "0". For private custom
651
+ * fields that are only visible to the application that created them, this is a
652
+ * valid GUID identifying the owning application. Internally, Conductor always
653
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
654
+ * objects.
655
+ */
656
+ ownerId: string;
657
+
658
+ /**
659
+ * The data type of this custom field.
660
+ */
661
+ type:
662
+ | 'amount_type'
663
+ | 'date_time_type'
664
+ | 'integer_type'
665
+ | 'percent_type'
666
+ | 'price_type'
667
+ | 'quantity_type'
668
+ | 'string_1024_type'
669
+ | 'string_255_type';
670
+
671
+ /**
672
+ * The value of this custom field. The maximum length depends on the field's data
673
+ * type.
674
+ */
675
+ value: string;
676
+ }
677
+
678
+ /**
679
+ * The sales order line group's item group, representing a predefined set of items
680
+ * bundled because they are commonly purchased together or grouped for faster
681
+ * entry.
682
+ */
683
+ export interface ItemGroup {
684
+ /**
685
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
686
+ * across all objects of the same type, but not across different QuickBooks object
687
+ * types.
688
+ */
689
+ id: string | null;
690
+
691
+ /**
692
+ * The fully-qualified unique name for this object, formed by combining the names
693
+ * of its parent objects with its own `name`, separated by colons. Not
694
+ * case-sensitive.
695
+ */
696
+ fullName: string | null;
697
+ }
698
+
699
+ export interface Line {
700
+ /**
701
+ * The unique identifier assigned by QuickBooks to this sales order line. This ID
702
+ * is unique across all transaction line types.
703
+ */
704
+ id: string;
705
+
706
+ /**
707
+ * The monetary amount of this sales order line, represented as a decimal string.
708
+ * If both `quantity` and `rate` are specified but not `amount`, QuickBooks will
709
+ * use them to calculate `amount`. If `amount`, `rate`, and `quantity` are all
710
+ * unspecified, then QuickBooks will calculate `amount` based on a `quantity` of
711
+ * `1` and the suggested `rate`. This field cannot be cleared.
712
+ */
713
+ amount: string | null;
714
+
715
+ /**
716
+ * The sales order line's class. Classes can be used to categorize objects into
717
+ * meaningful segments, such as department, location, or type of work. In
718
+ * QuickBooks, class tracking is off by default. If a class is specified for the
719
+ * entire parent transaction, it is automatically applied to all sales order lines
720
+ * unless overridden here, at the transaction line level.
721
+ */
722
+ class: Line.Class | null;
723
+
724
+ /**
725
+ * The custom fields for the sales order line object, added as user-defined data
726
+ * extensions, not included in the standard QuickBooks object.
727
+ */
728
+ customFields: Array<Line.CustomField>;
729
+
730
+ /**
731
+ * A description of this sales order line.
732
+ */
733
+ description: string | null;
734
+
735
+ /**
736
+ * The expiration date for the serial number or lot number of the item associated
737
+ * with this sales order line, in ISO 8601 format (YYYY-MM-DD). This is
738
+ * particularly relevant for perishable or time-sensitive inventory items. Note
739
+ * that this field is only supported on QuickBooks Desktop 2023 or later.
740
+ */
741
+ expirationDate: string | null;
742
+
743
+ /**
744
+ * The site location where inventory for the item associated with this sales order
745
+ * line is stored.
746
+ */
747
+ inventorySite: Line.InventorySite | null;
748
+
749
+ /**
750
+ * The specific location (e.g., bin or shelf) within the inventory site where the
751
+ * item associated with this sales order line is stored.
752
+ */
753
+ inventorySiteLocation: Line.InventorySiteLocation | null;
754
+
755
+ /**
756
+ * Indicates whether this sales order line has been manually marked as closed, even
757
+ * if it has not been invoiced.
758
+ */
759
+ isManuallyClosed: boolean;
760
+
761
+ /**
762
+ * The item associated with this sales order line. This can refer to any good or
763
+ * service that the business buys or sells, including item types such as a service
764
+ * item, inventory item, or special calculation item like a discount item or
765
+ * sales-tax item.
766
+ */
767
+ item: Line.Item | null;
768
+
769
+ /**
770
+ * The lot number of the item associated with this sales order line. Used for
771
+ * tracking groups of inventory items that are purchased or manufactured together.
772
+ */
773
+ lotNumber: string | null;
774
+
775
+ /**
776
+ * The type of object. This value is always `"qbd_sales_order_line"`.
777
+ */
778
+ objectType: 'qbd_sales_order_line';
779
+
780
+ /**
781
+ * A built-in custom field for additional information specific to this sales order
782
+ * line. Unlike the user-defined fields in the `customFields` array, this is a
783
+ * standard QuickBooks field that exists for all sales order lines for convenience.
784
+ * Developers often use this field for tracking information that doesn't fit into
785
+ * other standard QuickBooks fields. Hidden by default in the QuickBooks UI.
786
+ */
787
+ otherCustomField1: string | null;
788
+
789
+ /**
790
+ * A second built-in custom field for additional information specific to this sales
791
+ * order line. Unlike the user-defined fields in the `customFields` array, this is
792
+ * a standard QuickBooks field that exists for all sales order lines for
793
+ * convenience. Like `otherCustomField1`, developers often use this field for
794
+ * tracking information that doesn't fit into other standard QuickBooks fields.
795
+ * Hidden by default in the QuickBooks UI.
796
+ */
797
+ otherCustomField2: string | null;
798
+
799
+ /**
800
+ * Specifies an alternative unit-of-measure set when updating this sales order
801
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
802
+ * select units from a different set than the item's default unit-of-measure set,
803
+ * which remains unchanged on the item itself. The override applies only to this
804
+ * specific line. For example, you can sell an item typically measured in volume
805
+ * units using weight units in a specific transaction by specifying a different
806
+ * unit-of-measure set with this field.
807
+ */
808
+ overrideUnitOfMeasureSet: Line.OverrideUnitOfMeasureSet | null;
809
+
810
+ /**
811
+ * The quantity of the item associated with this sales order line. This field
812
+ * cannot be cleared.
813
+ *
814
+ * **NOTE**: Do not use this field if the associated item is a discount item.
815
+ */
816
+ quantity: number | null;
817
+
818
+ /**
819
+ * The number of units of this sales order line's `quantity` that have been
820
+ * invoiced.
821
+ */
822
+ quantityInvoiced: number | null;
823
+
824
+ /**
825
+ * The price per unit for this sales order line. If both `rate` and `amount` are
826
+ * specified, `rate` will be ignored. If both `quantity` and `amount` are specified
827
+ * but not `rate`, QuickBooks will use them to calculate `rate`. Represented as a
828
+ * decimal string. This field cannot be cleared.
829
+ */
830
+ rate: string | null;
831
+
832
+ /**
833
+ * The price of this sales order line expressed as a percentage. Typically used for
834
+ * discount or markup items.
835
+ */
836
+ ratePercent: string | null;
837
+
838
+ /**
839
+ * The sales-tax code for this sales order line, determining whether it is taxable
840
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
841
+ * transaction or the associated item.
842
+ *
843
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
844
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
845
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
846
+ * non-taxable code to all sales.
847
+ */
848
+ salesTaxCode: Line.SalesTaxCode | null;
849
+
850
+ /**
851
+ * The serial number of the item associated with this sales order line. This is
852
+ * used for tracking individual units of serialized inventory items.
853
+ */
854
+ serialNumber: string | null;
855
+
856
+ /**
857
+ * The unit-of-measure used for the `quantity` in this sales order line. Must be a
858
+ * valid unit within the item's available units of measure.
859
+ */
860
+ unitOfMeasure: string | null;
861
+ }
862
+
863
+ export namespace Line {
864
+ /**
865
+ * The sales order line's class. Classes can be used to categorize objects into
866
+ * meaningful segments, such as department, location, or type of work. In
867
+ * QuickBooks, class tracking is off by default. If a class is specified for the
868
+ * entire parent transaction, it is automatically applied to all sales order lines
869
+ * unless overridden here, at the transaction line level.
870
+ */
871
+ export interface Class {
872
+ /**
873
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
874
+ * across all objects of the same type, but not across different QuickBooks object
875
+ * types.
876
+ */
877
+ id: string | null;
878
+
879
+ /**
880
+ * The fully-qualified unique name for this object, formed by combining the names
881
+ * of its parent objects with its own `name`, separated by colons. Not
882
+ * case-sensitive.
883
+ */
884
+ fullName: string | null;
885
+ }
886
+
887
+ export interface CustomField {
888
+ /**
889
+ * The name of the custom field, unique for the specified `ownerId`. For public
890
+ * custom fields, this name is visible as a label in the QuickBooks UI.
891
+ */
892
+ name: string;
893
+
894
+ /**
895
+ * The identifier of the owner of the custom field, which QuickBooks internally
896
+ * calls a "data extension". For public custom fields visible in the UI, such as
897
+ * those added by the QuickBooks user, this is always "0". For private custom
898
+ * fields that are only visible to the application that created them, this is a
899
+ * valid GUID identifying the owning application. Internally, Conductor always
900
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
901
+ * objects.
902
+ */
903
+ ownerId: string;
904
+
905
+ /**
906
+ * The data type of this custom field.
907
+ */
908
+ type:
909
+ | 'amount_type'
910
+ | 'date_time_type'
911
+ | 'integer_type'
912
+ | 'percent_type'
913
+ | 'price_type'
914
+ | 'quantity_type'
915
+ | 'string_1024_type'
916
+ | 'string_255_type';
917
+
918
+ /**
919
+ * The value of this custom field. The maximum length depends on the field's data
920
+ * type.
921
+ */
922
+ value: string;
923
+ }
924
+
925
+ /**
926
+ * The site location where inventory for the item associated with this sales order
927
+ * line is stored.
928
+ */
929
+ export interface InventorySite {
930
+ /**
931
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
932
+ * across all objects of the same type, but not across different QuickBooks object
933
+ * types.
934
+ */
935
+ id: string | null;
936
+
937
+ /**
938
+ * The fully-qualified unique name for this object, formed by combining the names
939
+ * of its parent objects with its own `name`, separated by colons. Not
940
+ * case-sensitive.
941
+ */
942
+ fullName: string | null;
943
+ }
944
+
945
+ /**
946
+ * The specific location (e.g., bin or shelf) within the inventory site where the
947
+ * item associated with this sales order line is stored.
948
+ */
949
+ export interface InventorySiteLocation {
950
+ /**
951
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
952
+ * across all objects of the same type, but not across different QuickBooks object
953
+ * types.
954
+ */
955
+ id: string | null;
956
+
957
+ /**
958
+ * The fully-qualified unique name for this object, formed by combining the names
959
+ * of its parent objects with its own `name`, separated by colons. Not
960
+ * case-sensitive.
961
+ */
962
+ fullName: string | null;
963
+ }
964
+
965
+ /**
966
+ * The item associated with this sales order line. This can refer to any good or
967
+ * service that the business buys or sells, including item types such as a service
968
+ * item, inventory item, or special calculation item like a discount item or
969
+ * sales-tax item.
970
+ */
971
+ export interface Item {
972
+ /**
973
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
974
+ * across all objects of the same type, but not across different QuickBooks object
975
+ * types.
976
+ */
977
+ id: string | null;
978
+
979
+ /**
980
+ * The fully-qualified unique name for this object, formed by combining the names
981
+ * of its parent objects with its own `name`, separated by colons. Not
982
+ * case-sensitive.
983
+ */
984
+ fullName: string | null;
985
+ }
986
+
987
+ /**
988
+ * Specifies an alternative unit-of-measure set when updating this sales order
989
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
990
+ * select units from a different set than the item's default unit-of-measure set,
991
+ * which remains unchanged on the item itself. The override applies only to this
992
+ * specific line. For example, you can sell an item typically measured in volume
993
+ * units using weight units in a specific transaction by specifying a different
994
+ * unit-of-measure set with this field.
995
+ */
996
+ export interface OverrideUnitOfMeasureSet {
997
+ /**
998
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
999
+ * across all objects of the same type, but not across different QuickBooks object
1000
+ * types.
1001
+ */
1002
+ id: string | null;
1003
+
1004
+ /**
1005
+ * The fully-qualified unique name for this object, formed by combining the names
1006
+ * of its parent objects with its own `name`, separated by colons. Not
1007
+ * case-sensitive.
1008
+ */
1009
+ fullName: string | null;
1010
+ }
1011
+
1012
+ /**
1013
+ * The sales-tax code for this sales order line, determining whether it is taxable
1014
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
1015
+ * transaction or the associated item.
1016
+ *
1017
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1018
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1019
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1020
+ * non-taxable code to all sales.
1021
+ */
1022
+ export interface SalesTaxCode {
1023
+ /**
1024
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1025
+ * across all objects of the same type, but not across different QuickBooks object
1026
+ * types.
1027
+ */
1028
+ id: string | null;
1029
+
1030
+ /**
1031
+ * The fully-qualified unique name for this object, formed by combining the names
1032
+ * of its parent objects with its own `name`, separated by colons. Not
1033
+ * case-sensitive.
1034
+ */
1035
+ fullName: string | null;
1036
+ }
1037
+ }
1038
+
1039
+ /**
1040
+ * Specifies an alternative unit-of-measure set when updating this sales order line
1041
+ * group's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
1042
+ * select units from a different set than the item's default unit-of-measure set,
1043
+ * which remains unchanged on the item itself. The override applies only to this
1044
+ * specific line. For example, you can sell an item typically measured in volume
1045
+ * units using weight units in a specific transaction by specifying a different
1046
+ * unit-of-measure set with this field.
1047
+ */
1048
+ export interface OverrideUnitOfMeasureSet {
1049
+ /**
1050
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1051
+ * across all objects of the same type, but not across different QuickBooks object
1052
+ * types.
1053
+ */
1054
+ id: string | null;
1055
+
1056
+ /**
1057
+ * The fully-qualified unique name for this object, formed by combining the names
1058
+ * of its parent objects with its own `name`, separated by colons. Not
1059
+ * case-sensitive.
1060
+ */
1061
+ fullName: string | null;
1062
+ }
1063
+ }
1064
+
1065
+ export interface Line {
1066
+ /**
1067
+ * The unique identifier assigned by QuickBooks to this sales order line. This ID
1068
+ * is unique across all transaction line types.
1069
+ */
1070
+ id: string;
1071
+
1072
+ /**
1073
+ * The monetary amount of this sales order line, represented as a decimal string.
1074
+ * If both `quantity` and `rate` are specified but not `amount`, QuickBooks will
1075
+ * use them to calculate `amount`. If `amount`, `rate`, and `quantity` are all
1076
+ * unspecified, then QuickBooks will calculate `amount` based on a `quantity` of
1077
+ * `1` and the suggested `rate`. This field cannot be cleared.
1078
+ */
1079
+ amount: string | null;
1080
+
1081
+ /**
1082
+ * The sales order line's class. Classes can be used to categorize objects into
1083
+ * meaningful segments, such as department, location, or type of work. In
1084
+ * QuickBooks, class tracking is off by default. If a class is specified for the
1085
+ * entire parent transaction, it is automatically applied to all sales order lines
1086
+ * unless overridden here, at the transaction line level.
1087
+ */
1088
+ class: Line.Class | null;
1089
+
1090
+ /**
1091
+ * The custom fields for the sales order line object, added as user-defined data
1092
+ * extensions, not included in the standard QuickBooks object.
1093
+ */
1094
+ customFields: Array<Line.CustomField>;
1095
+
1096
+ /**
1097
+ * A description of this sales order line.
1098
+ */
1099
+ description: string | null;
1100
+
1101
+ /**
1102
+ * The expiration date for the serial number or lot number of the item associated
1103
+ * with this sales order line, in ISO 8601 format (YYYY-MM-DD). This is
1104
+ * particularly relevant for perishable or time-sensitive inventory items. Note
1105
+ * that this field is only supported on QuickBooks Desktop 2023 or later.
1106
+ */
1107
+ expirationDate: string | null;
1108
+
1109
+ /**
1110
+ * The site location where inventory for the item associated with this sales order
1111
+ * line is stored.
1112
+ */
1113
+ inventorySite: Line.InventorySite | null;
1114
+
1115
+ /**
1116
+ * The specific location (e.g., bin or shelf) within the inventory site where the
1117
+ * item associated with this sales order line is stored.
1118
+ */
1119
+ inventorySiteLocation: Line.InventorySiteLocation | null;
1120
+
1121
+ /**
1122
+ * Indicates whether this sales order line has been manually marked as closed, even
1123
+ * if it has not been invoiced.
1124
+ */
1125
+ isManuallyClosed: boolean;
1126
+
1127
+ /**
1128
+ * The item associated with this sales order line. This can refer to any good or
1129
+ * service that the business buys or sells, including item types such as a service
1130
+ * item, inventory item, or special calculation item like a discount item or
1131
+ * sales-tax item.
1132
+ */
1133
+ item: Line.Item | null;
1134
+
1135
+ /**
1136
+ * The lot number of the item associated with this sales order line. Used for
1137
+ * tracking groups of inventory items that are purchased or manufactured together.
1138
+ */
1139
+ lotNumber: string | null;
1140
+
1141
+ /**
1142
+ * The type of object. This value is always `"qbd_sales_order_line"`.
1143
+ */
1144
+ objectType: 'qbd_sales_order_line';
1145
+
1146
+ /**
1147
+ * A built-in custom field for additional information specific to this sales order
1148
+ * line. Unlike the user-defined fields in the `customFields` array, this is a
1149
+ * standard QuickBooks field that exists for all sales order lines for convenience.
1150
+ * Developers often use this field for tracking information that doesn't fit into
1151
+ * other standard QuickBooks fields. Hidden by default in the QuickBooks UI.
1152
+ */
1153
+ otherCustomField1: string | null;
1154
+
1155
+ /**
1156
+ * A second built-in custom field for additional information specific to this sales
1157
+ * order line. Unlike the user-defined fields in the `customFields` array, this is
1158
+ * a standard QuickBooks field that exists for all sales order lines for
1159
+ * convenience. Like `otherCustomField1`, developers often use this field for
1160
+ * tracking information that doesn't fit into other standard QuickBooks fields.
1161
+ * Hidden by default in the QuickBooks UI.
1162
+ */
1163
+ otherCustomField2: string | null;
1164
+
1165
+ /**
1166
+ * Specifies an alternative unit-of-measure set when updating this sales order
1167
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
1168
+ * select units from a different set than the item's default unit-of-measure set,
1169
+ * which remains unchanged on the item itself. The override applies only to this
1170
+ * specific line. For example, you can sell an item typically measured in volume
1171
+ * units using weight units in a specific transaction by specifying a different
1172
+ * unit-of-measure set with this field.
1173
+ */
1174
+ overrideUnitOfMeasureSet: Line.OverrideUnitOfMeasureSet | null;
1175
+
1176
+ /**
1177
+ * The quantity of the item associated with this sales order line. This field
1178
+ * cannot be cleared.
1179
+ *
1180
+ * **NOTE**: Do not use this field if the associated item is a discount item.
1181
+ */
1182
+ quantity: number | null;
1183
+
1184
+ /**
1185
+ * The number of units of this sales order line's `quantity` that have been
1186
+ * invoiced.
1187
+ */
1188
+ quantityInvoiced: number | null;
1189
+
1190
+ /**
1191
+ * The price per unit for this sales order line. If both `rate` and `amount` are
1192
+ * specified, `rate` will be ignored. If both `quantity` and `amount` are specified
1193
+ * but not `rate`, QuickBooks will use them to calculate `rate`. Represented as a
1194
+ * decimal string. This field cannot be cleared.
1195
+ */
1196
+ rate: string | null;
1197
+
1198
+ /**
1199
+ * The price of this sales order line expressed as a percentage. Typically used for
1200
+ * discount or markup items.
1201
+ */
1202
+ ratePercent: string | null;
1203
+
1204
+ /**
1205
+ * The sales-tax code for this sales order line, determining whether it is taxable
1206
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
1207
+ * transaction or the associated item.
1208
+ *
1209
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1210
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1211
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1212
+ * non-taxable code to all sales.
1213
+ */
1214
+ salesTaxCode: Line.SalesTaxCode | null;
1215
+
1216
+ /**
1217
+ * The serial number of the item associated with this sales order line. This is
1218
+ * used for tracking individual units of serialized inventory items.
1219
+ */
1220
+ serialNumber: string | null;
1221
+
1222
+ /**
1223
+ * The unit-of-measure used for the `quantity` in this sales order line. Must be a
1224
+ * valid unit within the item's available units of measure.
1225
+ */
1226
+ unitOfMeasure: string | null;
1227
+ }
1228
+
1229
+ export namespace Line {
1230
+ /**
1231
+ * The sales order line's class. Classes can be used to categorize objects into
1232
+ * meaningful segments, such as department, location, or type of work. In
1233
+ * QuickBooks, class tracking is off by default. If a class is specified for the
1234
+ * entire parent transaction, it is automatically applied to all sales order lines
1235
+ * unless overridden here, at the transaction line level.
1236
+ */
1237
+ export interface Class {
1238
+ /**
1239
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1240
+ * across all objects of the same type, but not across different QuickBooks object
1241
+ * types.
1242
+ */
1243
+ id: string | null;
1244
+
1245
+ /**
1246
+ * The fully-qualified unique name for this object, formed by combining the names
1247
+ * of its parent objects with its own `name`, separated by colons. Not
1248
+ * case-sensitive.
1249
+ */
1250
+ fullName: string | null;
1251
+ }
1252
+
1253
+ export interface CustomField {
1254
+ /**
1255
+ * The name of the custom field, unique for the specified `ownerId`. For public
1256
+ * custom fields, this name is visible as a label in the QuickBooks UI.
1257
+ */
1258
+ name: string;
1259
+
1260
+ /**
1261
+ * The identifier of the owner of the custom field, which QuickBooks internally
1262
+ * calls a "data extension". For public custom fields visible in the UI, such as
1263
+ * those added by the QuickBooks user, this is always "0". For private custom
1264
+ * fields that are only visible to the application that created them, this is a
1265
+ * valid GUID identifying the owning application. Internally, Conductor always
1266
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
1267
+ * objects.
1268
+ */
1269
+ ownerId: string;
1270
+
1271
+ /**
1272
+ * The data type of this custom field.
1273
+ */
1274
+ type:
1275
+ | 'amount_type'
1276
+ | 'date_time_type'
1277
+ | 'integer_type'
1278
+ | 'percent_type'
1279
+ | 'price_type'
1280
+ | 'quantity_type'
1281
+ | 'string_1024_type'
1282
+ | 'string_255_type';
1283
+
1284
+ /**
1285
+ * The value of this custom field. The maximum length depends on the field's data
1286
+ * type.
1287
+ */
1288
+ value: string;
1289
+ }
1290
+
1291
+ /**
1292
+ * The site location where inventory for the item associated with this sales order
1293
+ * line is stored.
1294
+ */
1295
+ export interface InventorySite {
1296
+ /**
1297
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1298
+ * across all objects of the same type, but not across different QuickBooks object
1299
+ * types.
1300
+ */
1301
+ id: string | null;
1302
+
1303
+ /**
1304
+ * The fully-qualified unique name for this object, formed by combining the names
1305
+ * of its parent objects with its own `name`, separated by colons. Not
1306
+ * case-sensitive.
1307
+ */
1308
+ fullName: string | null;
1309
+ }
1310
+
1311
+ /**
1312
+ * The specific location (e.g., bin or shelf) within the inventory site where the
1313
+ * item associated with this sales order line is stored.
1314
+ */
1315
+ export interface InventorySiteLocation {
1316
+ /**
1317
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1318
+ * across all objects of the same type, but not across different QuickBooks object
1319
+ * types.
1320
+ */
1321
+ id: string | null;
1322
+
1323
+ /**
1324
+ * The fully-qualified unique name for this object, formed by combining the names
1325
+ * of its parent objects with its own `name`, separated by colons. Not
1326
+ * case-sensitive.
1327
+ */
1328
+ fullName: string | null;
1329
+ }
1330
+
1331
+ /**
1332
+ * The item associated with this sales order line. This can refer to any good or
1333
+ * service that the business buys or sells, including item types such as a service
1334
+ * item, inventory item, or special calculation item like a discount item or
1335
+ * sales-tax item.
1336
+ */
1337
+ export interface Item {
1338
+ /**
1339
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1340
+ * across all objects of the same type, but not across different QuickBooks object
1341
+ * types.
1342
+ */
1343
+ id: string | null;
1344
+
1345
+ /**
1346
+ * The fully-qualified unique name for this object, formed by combining the names
1347
+ * of its parent objects with its own `name`, separated by colons. Not
1348
+ * case-sensitive.
1349
+ */
1350
+ fullName: string | null;
1351
+ }
1352
+
1353
+ /**
1354
+ * Specifies an alternative unit-of-measure set when updating this sales order
1355
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
1356
+ * select units from a different set than the item's default unit-of-measure set,
1357
+ * which remains unchanged on the item itself. The override applies only to this
1358
+ * specific line. For example, you can sell an item typically measured in volume
1359
+ * units using weight units in a specific transaction by specifying a different
1360
+ * unit-of-measure set with this field.
1361
+ */
1362
+ export interface OverrideUnitOfMeasureSet {
1363
+ /**
1364
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1365
+ * across all objects of the same type, but not across different QuickBooks object
1366
+ * types.
1367
+ */
1368
+ id: string | null;
1369
+
1370
+ /**
1371
+ * The fully-qualified unique name for this object, formed by combining the names
1372
+ * of its parent objects with its own `name`, separated by colons. Not
1373
+ * case-sensitive.
1374
+ */
1375
+ fullName: string | null;
1376
+ }
1377
+
1378
+ /**
1379
+ * The sales-tax code for this sales order line, determining whether it is taxable
1380
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
1381
+ * transaction or the associated item.
1382
+ *
1383
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1384
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1385
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1386
+ * non-taxable code to all sales.
1387
+ */
1388
+ export interface SalesTaxCode {
1389
+ /**
1390
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1391
+ * across all objects of the same type, but not across different QuickBooks object
1392
+ * types.
1393
+ */
1394
+ id: string | null;
1395
+
1396
+ /**
1397
+ * The fully-qualified unique name for this object, formed by combining the names
1398
+ * of its parent objects with its own `name`, separated by colons. Not
1399
+ * case-sensitive.
1400
+ */
1401
+ fullName: string | null;
1402
+ }
1403
+ }
1404
+
1405
+ export interface LinkedTransaction {
1406
+ /**
1407
+ * The unique identifier assigned by QuickBooks to this linked transaction. This ID
1408
+ * is unique across all transaction types.
1409
+ */
1410
+ id: string;
1411
+
1412
+ /**
1413
+ * The monetary amount of this linked transaction, represented as a decimal string.
1414
+ */
1415
+ amount: string | null;
1416
+
1417
+ /**
1418
+ * Indicates the nature of the link between the transactions: `amount` denotes an
1419
+ * amount-based link (e.g., an invoice linked to a payment), and `quantity` denotes
1420
+ * a quantity-based link (e.g., an invoice created from a sales order based on the
1421
+ * quantity of items received).
1422
+ */
1423
+ linkType: 'amount' | 'quantity' | null;
1424
+
1425
+ /**
1426
+ * The type of object. This value is always `"qbd_linked_transaction"`.
1427
+ */
1428
+ objectType: 'qbd_linked_transaction';
1429
+
1430
+ /**
1431
+ * The case-sensitive user-defined reference number for this linked transaction,
1432
+ * which can be used to identify the transaction in QuickBooks. This value is not
1433
+ * required to be unique and can be arbitrarily changed by the QuickBooks user.
1434
+ */
1435
+ refNumber: string | null;
1436
+
1437
+ /**
1438
+ * The date of this linked transaction, in ISO 8601 format (YYYY-MM-DD).
1439
+ */
1440
+ transactionDate: string;
1441
+
1442
+ /**
1443
+ * The type of transaction for this linked transaction.
1444
+ */
1445
+ transactionType:
1446
+ | 'ar_refund_credit_card'
1447
+ | 'bill'
1448
+ | 'bill_payment_check'
1449
+ | 'bill_payment_credit_card'
1450
+ | 'build_assembly'
1451
+ | 'charge'
1452
+ | 'check'
1453
+ | 'credit_card_charge'
1454
+ | 'credit_card_credit'
1455
+ | 'credit_memo'
1456
+ | 'deposit'
1457
+ | 'estimate'
1458
+ | 'inventory_adjustment'
1459
+ | 'invoice'
1460
+ | 'item_receipt'
1461
+ | 'journal_entry'
1462
+ | 'liability_adjustment'
1463
+ | 'paycheck'
1464
+ | 'payroll_liability_check'
1465
+ | 'purchase_order'
1466
+ | 'receive_payment'
1467
+ | 'sales_order'
1468
+ | 'sales_receipt'
1469
+ | 'sales_tax_payment_check'
1470
+ | 'transfer'
1471
+ | 'vendor_credit'
1472
+ | 'ytd_adjustment';
1473
+ }
1474
+
1475
+ /**
1476
+ * The sales order's sales representative. Sales representatives can be employees,
1477
+ * vendors, or other names in QuickBooks.
1478
+ */
1479
+ export interface SalesRepresentative {
1480
+ /**
1481
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1482
+ * across all objects of the same type, but not across different QuickBooks object
1483
+ * types.
1484
+ */
1485
+ id: string | null;
1486
+
1487
+ /**
1488
+ * The fully-qualified unique name for this object, formed by combining the names
1489
+ * of its parent objects with its own `name`, separated by colons. Not
1490
+ * case-sensitive.
1491
+ */
1492
+ fullName: string | null;
1493
+ }
1494
+
1495
+ /**
1496
+ * The sales-tax code for this sales order, determining whether it is taxable or
1497
+ * non-taxable. This can be overridden at the transaction-line level.
1498
+ *
1499
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1500
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1501
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1502
+ * non-taxable code to all sales.
1503
+ */
1504
+ export interface SalesTaxCode {
1505
+ /**
1506
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1507
+ * across all objects of the same type, but not across different QuickBooks object
1508
+ * types.
1509
+ */
1510
+ id: string | null;
1511
+
1512
+ /**
1513
+ * The fully-qualified unique name for this object, formed by combining the names
1514
+ * of its parent objects with its own `name`, separated by colons. Not
1515
+ * case-sensitive.
1516
+ */
1517
+ fullName: string | null;
1518
+ }
1519
+
1520
+ /**
1521
+ * The sales-tax item used to calculate the actual tax amount for this sales
1522
+ * order's transactions by applying a specific tax rate collected for a single tax
1523
+ * agency. Unlike `salesTaxCode`, which only indicates general taxability, this
1524
+ * field drives the actual tax calculation and reporting.
1525
+ */
1526
+ export interface SalesTaxItem {
1527
+ /**
1528
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1529
+ * across all objects of the same type, but not across different QuickBooks object
1530
+ * types.
1531
+ */
1532
+ id: string | null;
1533
+
1534
+ /**
1535
+ * The fully-qualified unique name for this object, formed by combining the names
1536
+ * of its parent objects with its own `name`, separated by colons. Not
1537
+ * case-sensitive.
1538
+ */
1539
+ fullName: string | null;
1540
+ }
1541
+
1542
+ /**
1543
+ * The sales order's shipping address.
1544
+ */
1545
+ export interface ShippingAddress {
1546
+ /**
1547
+ * The city, district, suburb, town, or village name of the address.
1548
+ */
1549
+ city: string | null;
1550
+
1551
+ /**
1552
+ * The country name of the address.
1553
+ */
1554
+ country: string | null;
1555
+
1556
+ /**
1557
+ * The first line of the address (e.g., street, PO Box, or company name).
1558
+ */
1559
+ line1: string | null;
1560
+
1561
+ /**
1562
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
1563
+ * building).
1564
+ */
1565
+ line2: string | null;
1566
+
1567
+ /**
1568
+ * The third line of the address, if needed.
1569
+ */
1570
+ line3: string | null;
1571
+
1572
+ /**
1573
+ * The fourth line of the address, if needed.
1574
+ */
1575
+ line4: string | null;
1576
+
1577
+ /**
1578
+ * The fifth line of the address, if needed.
1579
+ */
1580
+ line5: string | null;
1581
+
1582
+ /**
1583
+ * A note written at the bottom of the address in the form in which it appears,
1584
+ * such as the invoice form.
1585
+ */
1586
+ note: string | null;
1587
+
1588
+ /**
1589
+ * The postal code or ZIP code of the address.
1590
+ */
1591
+ postalCode: string | null;
1592
+
1593
+ /**
1594
+ * The state, county, province, or region name of the address.
1595
+ */
1596
+ state: string | null;
1597
+ }
1598
+
1599
+ /**
1600
+ * The shipping method used for this sales order, such as standard mail or
1601
+ * overnight delivery.
1602
+ */
1603
+ export interface ShippingMethod {
1604
+ /**
1605
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1606
+ * across all objects of the same type, but not across different QuickBooks object
1607
+ * types.
1608
+ */
1609
+ id: string | null;
1610
+
1611
+ /**
1612
+ * The fully-qualified unique name for this object, formed by combining the names
1613
+ * of its parent objects with its own `name`, separated by colons. Not
1614
+ * case-sensitive.
1615
+ */
1616
+ fullName: string | null;
1617
+ }
1618
+
1619
+ /**
1620
+ * The sales order's payment terms, defining when payment is due and any applicable
1621
+ * discounts.
1622
+ */
1623
+ export interface Terms {
1624
+ /**
1625
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
1626
+ * across all objects of the same type, but not across different QuickBooks object
1627
+ * types.
1628
+ */
1629
+ id: string | null;
1630
+
1631
+ /**
1632
+ * The fully-qualified unique name for this object, formed by combining the names
1633
+ * of its parent objects with its own `name`, separated by colons. Not
1634
+ * case-sensitive.
1635
+ */
1636
+ fullName: string | null;
1637
+ }
1638
+ }
1639
+
1640
+ export interface SalesOrderDeleteResponse {
1641
+ /**
1642
+ * The QuickBooks-assigned unique identifier of the deleted sales order.
1643
+ */
1644
+ id: string;
1645
+
1646
+ /**
1647
+ * Indicates whether the sales order was deleted.
1648
+ */
1649
+ deleted: boolean;
1650
+
1651
+ /**
1652
+ * The type of object. This value is always `"qbd_sales_order"`.
1653
+ */
1654
+ objectType: 'qbd_sales_order';
1655
+
1656
+ /**
1657
+ * The case-sensitive user-defined reference number of the deleted sales order.
1658
+ */
1659
+ refNumber: string | null;
1660
+ }
1661
+
1662
+ export interface SalesOrderCreateParams {
1663
+ /**
1664
+ * Body param: The customer or customer-job associated with this sales order.
1665
+ */
1666
+ customerId: string;
1667
+
1668
+ /**
1669
+ * Body param: The date of this sales order, in ISO 8601 format (YYYY-MM-DD).
1670
+ */
1671
+ transactionDate: string;
1672
+
1673
+ /**
1674
+ * Header param: The ID of the EndUser to receive this request (e.g.,
1675
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
1676
+ */
1677
+ conductorEndUserId: string;
1678
+
1679
+ /**
1680
+ * Body param: The sales order's billing address.
1681
+ */
1682
+ billingAddress?: SalesOrderCreateParams.BillingAddress;
1683
+
1684
+ /**
1685
+ * Body param: The sales order's class. Classes can be used to categorize objects
1686
+ * into meaningful segments, such as department, location, or type of work. In
1687
+ * QuickBooks, class tracking is off by default. A class defined here is
1688
+ * automatically used in this sales order's line items unless overridden at the
1689
+ * line item level.
1690
+ */
1691
+ classId?: string;
1692
+
1693
+ /**
1694
+ * Body param: The message to display to the customer on the sales order.
1695
+ */
1696
+ customerMessageId?: string;
1697
+
1698
+ /**
1699
+ * Body param: The predefined template in QuickBooks that determines the layout and
1700
+ * formatting for this sales order when printed or displayed.
1701
+ */
1702
+ documentTemplateId?: string;
1703
+
1704
+ /**
1705
+ * Body param: The date by which this sales order must be paid, in ISO 8601 format
1706
+ * (YYYY-MM-DD).
1707
+ */
1708
+ dueDate?: string;
1709
+
1710
+ /**
1711
+ * Body param: The market exchange rate between this sales order's currency and the
1712
+ * home currency in QuickBooks at the time of this transaction. Represented as a
1713
+ * decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
1714
+ */
1715
+ exchangeRate?: number;
1716
+
1717
+ /**
1718
+ * Body param: A globally unique identifier (GUID) you, the developer, can provide
1719
+ * for tracking this object in your external system. This field is immutable and
1720
+ * can only be set during object creation.
1721
+ *
1722
+ * **IMPORTANT**: This field must be formatted as a valid GUID; otherwise,
1723
+ * QuickBooks will return an error.
1724
+ */
1725
+ externalId?: string;
1726
+
1727
+ /**
1728
+ * Body param: Indicates whether this sales order has been manually marked as
1729
+ * closed, even if it has not been invoiced.
1730
+ */
1731
+ isManuallyClosed?: boolean;
1732
+
1733
+ /**
1734
+ * Body param: Indicates whether this sales order is included in the queue of
1735
+ * documents for QuickBooks to email to the customer.
1736
+ */
1737
+ isQueuedForEmail?: boolean;
1738
+
1739
+ /**
1740
+ * Body param: Indicates whether this sales order is included in the queue of
1741
+ * documents for QuickBooks to print.
1742
+ */
1743
+ isQueuedForPrint?: boolean;
1744
+
1745
+ /**
1746
+ * Body param: The sales order's line item groups, each representing a predefined
1747
+ * set of related items.
1748
+ *
1749
+ * **IMPORTANT**: You must specify `lines`, `lineGroups`, or both when creating a
1750
+ * sales order.
1751
+ */
1752
+ lineGroups?: Array<SalesOrderCreateParams.LineGroup>;
1753
+
1754
+ /**
1755
+ * Body param: The sales order's line items, each representing a single product or
1756
+ * service ordered.
1757
+ *
1758
+ * **IMPORTANT**: You must specify `lines`, `lineGroups`, or both when creating a
1759
+ * sales order.
1760
+ */
1761
+ lines?: Array<SalesOrderCreateParams.Line>;
1762
+
1763
+ /**
1764
+ * Body param: A memo or note for this sales order.
1765
+ */
1766
+ memo?: string;
1767
+
1768
+ /**
1769
+ * Body param: A built-in custom field for additional information specific to this
1770
+ * sales order. Unlike the user-defined fields in the `customFields` array, this is
1771
+ * a standard QuickBooks field that exists for all sales orders for convenience.
1772
+ * Developers often use this field for tracking information that doesn't fit into
1773
+ * other standard QuickBooks fields. Unlike `otherCustomField1` and
1774
+ * `otherCustomField2`, which are line item fields, this exists at the transaction
1775
+ * level. Hidden by default in the QuickBooks UI.
1776
+ */
1777
+ otherCustomField?: string;
1778
+
1779
+ /**
1780
+ * Body param: The customer's Purchase Order (PO) number associated with this sales
1781
+ * order. This field is often used to cross-reference the sales order with the
1782
+ * customer's purchasing system.
1783
+ */
1784
+ purchaseOrderNumber?: string;
1785
+
1786
+ /**
1787
+ * Body param: The case-sensitive user-defined reference number for this sales
1788
+ * order, which can be used to identify the transaction in QuickBooks. This value
1789
+ * is not required to be unique and can be arbitrarily changed by the QuickBooks
1790
+ * user. When left blank in this create request, this field will be left blank in
1791
+ * QuickBooks (i.e., it does _not_ auto-increment).
1792
+ */
1793
+ refNumber?: string;
1794
+
1795
+ /**
1796
+ * Body param: The type of the sales channel for this sales order.
1797
+ */
1798
+ salesChannelName?: 'blank' | 'ecommerce';
1799
+
1800
+ /**
1801
+ * Body param: The sales order's sales representative. Sales representatives can be
1802
+ * employees, vendors, or other names in QuickBooks.
1803
+ */
1804
+ salesRepresentativeId?: string;
1805
+
1806
+ /**
1807
+ * Body param: The name of the sales store for this sales order.
1808
+ */
1809
+ salesStoreName?: string;
1810
+
1811
+ /**
1812
+ * Body param: The type of the sales store for this sales order.
1813
+ */
1814
+ salesStoreType?: string;
1815
+
1816
+ /**
1817
+ * Body param: The sales-tax code for this sales order, determining whether it is
1818
+ * taxable or non-taxable. This can be overridden at the transaction-line level.
1819
+ *
1820
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
1821
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
1822
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
1823
+ * non-taxable code to all sales.
1824
+ */
1825
+ salesTaxCodeId?: string;
1826
+
1827
+ /**
1828
+ * Body param: The sales-tax item used to calculate the actual tax amount for this
1829
+ * sales order's transactions by applying a specific tax rate collected for a
1830
+ * single tax agency. Unlike `salesTaxCode`, which only indicates general
1831
+ * taxability, this field drives the actual tax calculation and reporting.
1832
+ */
1833
+ salesTaxItemId?: string;
1834
+
1835
+ /**
1836
+ * Body param: The origin location from where the product associated with this
1837
+ * sales order is shipped. This is the point at which ownership and liability for
1838
+ * goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB"
1839
+ * for this field, which stands for "freight on board". This field is informational
1840
+ * and has no accounting implications.
1841
+ */
1842
+ shipmentOrigin?: string;
1843
+
1844
+ /**
1845
+ * Body param: The sales order's shipping address.
1846
+ */
1847
+ shippingAddress?: SalesOrderCreateParams.ShippingAddress;
1848
+
1849
+ /**
1850
+ * Body param: The date when the products or services for this sales order were
1851
+ * shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).
1852
+ */
1853
+ shippingDate?: string;
1854
+
1855
+ /**
1856
+ * Body param: The shipping method used for this sales order, such as standard mail
1857
+ * or overnight delivery.
1858
+ */
1859
+ shippingMethodId?: string;
1860
+
1861
+ /**
1862
+ * Body param: The sales order's payment terms, defining when payment is due and
1863
+ * any applicable discounts.
1864
+ */
1865
+ termsId?: string;
1866
+ }
1867
+
1868
+ export namespace SalesOrderCreateParams {
1869
+ /**
1870
+ * The sales order's billing address.
1871
+ */
1872
+ export interface BillingAddress {
1873
+ /**
1874
+ * The city, district, suburb, town, or village name of the address.
1875
+ *
1876
+ * Maximum length: 31 characters.
1877
+ */
1878
+ city?: string;
1879
+
1880
+ /**
1881
+ * The country name of the address.
1882
+ */
1883
+ country?: string;
1884
+
1885
+ /**
1886
+ * The first line of the address (e.g., street, PO Box, or company name).
1887
+ *
1888
+ * Maximum length: 41 characters.
1889
+ */
1890
+ line1?: string;
1891
+
1892
+ /**
1893
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
1894
+ * building).
1895
+ *
1896
+ * Maximum length: 41 characters.
1897
+ */
1898
+ line2?: string;
1899
+
1900
+ /**
1901
+ * The third line of the address, if needed.
1902
+ *
1903
+ * Maximum length: 41 characters.
1904
+ */
1905
+ line3?: string;
1906
+
1907
+ /**
1908
+ * The fourth line of the address, if needed.
1909
+ *
1910
+ * Maximum length: 41 characters.
1911
+ */
1912
+ line4?: string;
1913
+
1914
+ /**
1915
+ * The fifth line of the address, if needed.
1916
+ *
1917
+ * Maximum length: 41 characters.
1918
+ */
1919
+ line5?: string;
1920
+
1921
+ /**
1922
+ * A note written at the bottom of the address in the form in which it appears,
1923
+ * such as the invoice form.
1924
+ */
1925
+ note?: string;
1926
+
1927
+ /**
1928
+ * The postal code or ZIP code of the address.
1929
+ *
1930
+ * Maximum length: 13 characters.
1931
+ */
1932
+ postalCode?: string;
1933
+
1934
+ /**
1935
+ * The state, county, province, or region name of the address.
1936
+ *
1937
+ * Maximum length: 21 characters.
1938
+ */
1939
+ state?: string;
1940
+ }
1941
+
1942
+ export interface LineGroup {
1943
+ /**
1944
+ * The sales order line group's item group, representing a predefined set of items
1945
+ * bundled because they are commonly purchased together or grouped for faster
1946
+ * entry.
1947
+ */
1948
+ itemGroupId: string;
1949
+
1950
+ /**
1951
+ * The custom fields for the sales order line group object, added as user-defined
1952
+ * data extensions, not included in the standard QuickBooks object.
1953
+ */
1954
+ customFields?: Array<LineGroup.CustomField>;
1955
+
1956
+ /**
1957
+ * The site location where inventory for the item group associated with this sales
1958
+ * order line group is stored.
1959
+ */
1960
+ inventorySiteId?: string;
1961
+
1962
+ /**
1963
+ * The specific location (e.g., bin or shelf) within the inventory site where the
1964
+ * item group associated with this sales order line group is stored.
1965
+ */
1966
+ inventorySiteLocationId?: string;
1967
+
1968
+ /**
1969
+ * The quantity of the item group associated with this sales order line group. This
1970
+ * field cannot be cleared.
1971
+ *
1972
+ * **NOTE**: Do not use this field if the associated item group is a discount item
1973
+ * group.
1974
+ */
1975
+ quantity?: number;
1976
+
1977
+ /**
1978
+ * The unit-of-measure used for the `quantity` in this sales order line group. Must
1979
+ * be a valid unit within the item's available units of measure.
1980
+ */
1981
+ unitOfMeasure?: string;
1982
+ }
1983
+
1984
+ export namespace LineGroup {
1985
+ export interface CustomField {
1986
+ /**
1987
+ * The name of the custom field, unique for the specified `ownerId`. For public
1988
+ * custom fields, this name is visible as a label in the QuickBooks UI.
1989
+ */
1990
+ name: string;
1991
+
1992
+ /**
1993
+ * The identifier of the owner of the custom field, which QuickBooks internally
1994
+ * calls a "data extension". For public custom fields visible in the UI, such as
1995
+ * those added by the QuickBooks user, this is always "0". For private custom
1996
+ * fields that are only visible to the application that created them, this is a
1997
+ * valid GUID identifying the owning application. Internally, Conductor always
1998
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
1999
+ * objects.
2000
+ */
2001
+ ownerId: string;
2002
+
2003
+ /**
2004
+ * The value of this custom field. The maximum length depends on the field's data
2005
+ * type.
2006
+ */
2007
+ value: string;
2008
+ }
2009
+ }
2010
+
2011
+ export interface Line {
2012
+ /**
2013
+ * The monetary amount of this sales order line, represented as a decimal string.
2014
+ * If both `quantity` and `rate` are specified but not `amount`, QuickBooks will
2015
+ * use them to calculate `amount`. If `amount`, `rate`, and `quantity` are all
2016
+ * unspecified, then QuickBooks will calculate `amount` based on a `quantity` of
2017
+ * `1` and the suggested `rate`. This field cannot be cleared.
2018
+ */
2019
+ amount?: string;
2020
+
2021
+ /**
2022
+ * The sales order line's class. Classes can be used to categorize objects into
2023
+ * meaningful segments, such as department, location, or type of work. In
2024
+ * QuickBooks, class tracking is off by default. If a class is specified for the
2025
+ * entire parent transaction, it is automatically applied to all sales order lines
2026
+ * unless overridden here, at the transaction line level.
2027
+ */
2028
+ classId?: string;
2029
+
2030
+ /**
2031
+ * The custom fields for the sales order line object, added as user-defined data
2032
+ * extensions, not included in the standard QuickBooks object.
2033
+ */
2034
+ customFields?: Array<Line.CustomField>;
2035
+
2036
+ /**
2037
+ * A description of this sales order line.
2038
+ */
2039
+ description?: string;
2040
+
2041
+ /**
2042
+ * The site location where inventory for the item associated with this sales order
2043
+ * line is stored.
2044
+ */
2045
+ inventorySiteId?: string;
2046
+
2047
+ /**
2048
+ * The specific location (e.g., bin or shelf) within the inventory site where the
2049
+ * item associated with this sales order line is stored.
2050
+ */
2051
+ inventorySiteLocationId?: string;
2052
+
2053
+ /**
2054
+ * Indicates whether this sales order line has been manually marked as closed, even
2055
+ * if it has not been invoiced.
2056
+ */
2057
+ isManuallyClosed?: boolean;
2058
+
2059
+ /**
2060
+ * The item associated with this sales order line. This can refer to any good or
2061
+ * service that the business buys or sells, including item types such as a service
2062
+ * item, inventory item, or special calculation item like a discount item or
2063
+ * sales-tax item.
2064
+ */
2065
+ itemId?: string;
2066
+
2067
+ /**
2068
+ * The lot number of the item associated with this sales order line. Used for
2069
+ * tracking groups of inventory items that are purchased or manufactured together.
2070
+ */
2071
+ lotNumber?: string;
2072
+
2073
+ /**
2074
+ * A built-in custom field for additional information specific to this sales order
2075
+ * line. Unlike the user-defined fields in the `customFields` array, this is a
2076
+ * standard QuickBooks field that exists for all sales order lines for convenience.
2077
+ * Developers often use this field for tracking information that doesn't fit into
2078
+ * other standard QuickBooks fields. Hidden by default in the QuickBooks UI.
2079
+ */
2080
+ otherCustomField1?: string;
2081
+
2082
+ /**
2083
+ * A second built-in custom field for additional information specific to this sales
2084
+ * order line. Unlike the user-defined fields in the `customFields` array, this is
2085
+ * a standard QuickBooks field that exists for all sales order lines for
2086
+ * convenience. Like `otherCustomField1`, developers often use this field for
2087
+ * tracking information that doesn't fit into other standard QuickBooks fields.
2088
+ * Hidden by default in the QuickBooks UI.
2089
+ */
2090
+ otherCustomField2?: string;
2091
+
2092
+ /**
2093
+ * The price level applied to this sales order line. This overrides any price level
2094
+ * set on the corresponding customer. The resulting sales order line will not show
2095
+ * this price level, only the final `rate` calculated from it.
2096
+ */
2097
+ priceLevelId?: string;
2098
+
2099
+ /**
2100
+ * Specifies how to resolve price rule conflicts when adding or modifying this
2101
+ * sales order line.
2102
+ */
2103
+ priceRuleConflictStrategy?: 'base_price' | 'zero';
2104
+
2105
+ /**
2106
+ * The quantity of the item associated with this sales order line. This field
2107
+ * cannot be cleared.
2108
+ *
2109
+ * **NOTE**: Do not use this field if the associated item is a discount item.
2110
+ */
2111
+ quantity?: number;
2112
+
2113
+ /**
2114
+ * The price per unit for this sales order line. If both `rate` and `amount` are
2115
+ * specified, `rate` will be ignored. If both `quantity` and `amount` are specified
2116
+ * but not `rate`, QuickBooks will use them to calculate `rate`. Represented as a
2117
+ * decimal string. This field cannot be cleared.
2118
+ */
2119
+ rate?: string;
2120
+
2121
+ /**
2122
+ * The price of this sales order line expressed as a percentage. Typically used for
2123
+ * discount or markup items.
2124
+ */
2125
+ ratePercent?: string;
2126
+
2127
+ /**
2128
+ * The sales-tax code for this sales order line, determining whether it is taxable
2129
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
2130
+ * transaction or the associated item.
2131
+ *
2132
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
2133
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
2134
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
2135
+ * non-taxable code to all sales.
2136
+ */
2137
+ salesTaxCodeId?: string;
2138
+
2139
+ /**
2140
+ * The serial number of the item associated with this sales order line. This is
2141
+ * used for tracking individual units of serialized inventory items.
2142
+ */
2143
+ serialNumber?: string;
2144
+
2145
+ /**
2146
+ * The unit-of-measure used for the `quantity` in this sales order line. Must be a
2147
+ * valid unit within the item's available units of measure.
2148
+ */
2149
+ unitOfMeasure?: string;
2150
+ }
2151
+
2152
+ export namespace Line {
2153
+ export interface CustomField {
2154
+ /**
2155
+ * The name of the custom field, unique for the specified `ownerId`. For public
2156
+ * custom fields, this name is visible as a label in the QuickBooks UI.
2157
+ */
2158
+ name: string;
2159
+
2160
+ /**
2161
+ * The identifier of the owner of the custom field, which QuickBooks internally
2162
+ * calls a "data extension". For public custom fields visible in the UI, such as
2163
+ * those added by the QuickBooks user, this is always "0". For private custom
2164
+ * fields that are only visible to the application that created them, this is a
2165
+ * valid GUID identifying the owning application. Internally, Conductor always
2166
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
2167
+ * objects.
2168
+ */
2169
+ ownerId: string;
2170
+
2171
+ /**
2172
+ * The value of this custom field. The maximum length depends on the field's data
2173
+ * type.
2174
+ */
2175
+ value: string;
2176
+ }
2177
+ }
2178
+
2179
+ /**
2180
+ * The sales order's shipping address.
2181
+ */
2182
+ export interface ShippingAddress {
2183
+ /**
2184
+ * The city, district, suburb, town, or village name of the address.
2185
+ *
2186
+ * Maximum length: 31 characters.
2187
+ */
2188
+ city?: string;
2189
+
2190
+ /**
2191
+ * The country name of the address.
2192
+ */
2193
+ country?: string;
2194
+
2195
+ /**
2196
+ * The first line of the address (e.g., street, PO Box, or company name).
2197
+ *
2198
+ * Maximum length: 41 characters.
2199
+ */
2200
+ line1?: string;
2201
+
2202
+ /**
2203
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
2204
+ * building).
2205
+ *
2206
+ * Maximum length: 41 characters.
2207
+ */
2208
+ line2?: string;
2209
+
2210
+ /**
2211
+ * The third line of the address, if needed.
2212
+ *
2213
+ * Maximum length: 41 characters.
2214
+ */
2215
+ line3?: string;
2216
+
2217
+ /**
2218
+ * The fourth line of the address, if needed.
2219
+ *
2220
+ * Maximum length: 41 characters.
2221
+ */
2222
+ line4?: string;
2223
+
2224
+ /**
2225
+ * The fifth line of the address, if needed.
2226
+ *
2227
+ * Maximum length: 41 characters.
2228
+ */
2229
+ line5?: string;
2230
+
2231
+ /**
2232
+ * A note written at the bottom of the address in the form in which it appears,
2233
+ * such as the invoice form.
2234
+ */
2235
+ note?: string;
2236
+
2237
+ /**
2238
+ * The postal code or ZIP code of the address.
2239
+ *
2240
+ * Maximum length: 13 characters.
2241
+ */
2242
+ postalCode?: string;
2243
+
2244
+ /**
2245
+ * The state, county, province, or region name of the address.
2246
+ *
2247
+ * Maximum length: 21 characters.
2248
+ */
2249
+ state?: string;
2250
+ }
2251
+ }
2252
+
2253
+ export interface SalesOrderRetrieveParams {
2254
+ /**
2255
+ * The ID of the EndUser to receive this request (e.g.,
2256
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
2257
+ */
2258
+ conductorEndUserId: string;
2259
+ }
2260
+
2261
+ export interface SalesOrderUpdateParams {
2262
+ /**
2263
+ * Body param: The current QuickBooks-assigned revision number of the sales order
2264
+ * object you are updating, which you can get by fetching the object first. Provide
2265
+ * the most recent `revisionNumber` to ensure you're working with the latest data;
2266
+ * otherwise, the update will return an error.
2267
+ */
2268
+ revisionNumber: string;
2269
+
2270
+ /**
2271
+ * Header param: The ID of the EndUser to receive this request (e.g.,
2272
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
2273
+ */
2274
+ conductorEndUserId: string;
2275
+
2276
+ /**
2277
+ * Body param: The sales order's billing address.
2278
+ */
2279
+ billingAddress?: SalesOrderUpdateParams.BillingAddress;
2280
+
2281
+ /**
2282
+ * Body param: The sales order's class. Classes can be used to categorize objects
2283
+ * into meaningful segments, such as department, location, or type of work. In
2284
+ * QuickBooks, class tracking is off by default. A class defined here is
2285
+ * automatically used in this sales order's line items unless overridden at the
2286
+ * line item level.
2287
+ */
2288
+ classId?: string;
2289
+
2290
+ /**
2291
+ * Body param: The customer or customer-job associated with this sales order.
2292
+ */
2293
+ customerId?: string;
2294
+
2295
+ /**
2296
+ * Body param: The message to display to the customer on the sales order.
2297
+ */
2298
+ customerMessageId?: string;
2299
+
2300
+ /**
2301
+ * Body param: The predefined template in QuickBooks that determines the layout and
2302
+ * formatting for this sales order when printed or displayed.
2303
+ */
2304
+ documentTemplateId?: string;
2305
+
2306
+ /**
2307
+ * Body param: The date by which this sales order must be paid, in ISO 8601 format
2308
+ * (YYYY-MM-DD).
2309
+ */
2310
+ dueDate?: string;
2311
+
2312
+ /**
2313
+ * Body param: The market exchange rate between this sales order's currency and the
2314
+ * home currency in QuickBooks at the time of this transaction. Represented as a
2315
+ * decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
2316
+ */
2317
+ exchangeRate?: number;
2318
+
2319
+ /**
2320
+ * Body param: Indicates whether this sales order has been manually marked as
2321
+ * closed, even if it has not been invoiced.
2322
+ */
2323
+ isManuallyClosed?: boolean;
2324
+
2325
+ /**
2326
+ * Body param: Indicates whether this sales order is included in the queue of
2327
+ * documents for QuickBooks to email to the customer.
2328
+ */
2329
+ isQueuedForEmail?: boolean;
2330
+
2331
+ /**
2332
+ * Body param: Indicates whether this sales order is included in the queue of
2333
+ * documents for QuickBooks to print.
2334
+ */
2335
+ isQueuedForPrint?: boolean;
2336
+
2337
+ /**
2338
+ * Body param: The sales order's line item groups, each representing a predefined
2339
+ * set of related items.
2340
+ *
2341
+ * **IMPORTANT**:
2342
+ *
2343
+ * 1. Including this array in your update request will **REPLACE** all existing
2344
+ * line item groups for the sales order with this array. To keep any existing
2345
+ * line item groups, you must include them in this array even if they have not
2346
+ * changed. **Any line item groups not included will be removed.**
2347
+ *
2348
+ * 2. To add a new line item group, include it here with the `id` field set to
2349
+ * `-1`.
2350
+ *
2351
+ * 3. If you do not wish to modify any line item groups, omit this field entirely
2352
+ * to keep them unchanged.
2353
+ */
2354
+ lineGroups?: Array<SalesOrderUpdateParams.LineGroup>;
2355
+
2356
+ /**
2357
+ * Body param: The sales order's line items, each representing a single product or
2358
+ * service ordered.
2359
+ *
2360
+ * **IMPORTANT**:
2361
+ *
2362
+ * 1. Including this array in your update request will **REPLACE** all existing
2363
+ * line items for the sales order with this array. To keep any existing line
2364
+ * items, you must include them in this array even if they have not changed.
2365
+ * **Any line items not included will be removed.**
2366
+ *
2367
+ * 2. To add a new line item, include it here with the `id` field set to `-1`.
2368
+ *
2369
+ * 3. If you do not wish to modify any line items, omit this field entirely to keep
2370
+ * them unchanged.
2371
+ */
2372
+ lines?: Array<SalesOrderUpdateParams.Line>;
2373
+
2374
+ /**
2375
+ * Body param: A memo or note for this sales order.
2376
+ */
2377
+ memo?: string;
2378
+
2379
+ /**
2380
+ * Body param: A built-in custom field for additional information specific to this
2381
+ * sales order. Unlike the user-defined fields in the `customFields` array, this is
2382
+ * a standard QuickBooks field that exists for all sales orders for convenience.
2383
+ * Developers often use this field for tracking information that doesn't fit into
2384
+ * other standard QuickBooks fields. Unlike `otherCustomField1` and
2385
+ * `otherCustomField2`, which are line item fields, this exists at the transaction
2386
+ * level. Hidden by default in the QuickBooks UI.
2387
+ */
2388
+ otherCustomField?: string;
2389
+
2390
+ /**
2391
+ * Body param: The customer's Purchase Order (PO) number associated with this sales
2392
+ * order. This field is often used to cross-reference the sales order with the
2393
+ * customer's purchasing system.
2394
+ */
2395
+ purchaseOrderNumber?: string;
2396
+
2397
+ /**
2398
+ * Body param: The case-sensitive user-defined reference number for this sales
2399
+ * order, which can be used to identify the transaction in QuickBooks. This value
2400
+ * is not required to be unique and can be arbitrarily changed by the QuickBooks
2401
+ * user.
2402
+ */
2403
+ refNumber?: string;
2404
+
2405
+ /**
2406
+ * Body param: The type of the sales channel for this sales order.
2407
+ */
2408
+ salesChannelName?: 'blank' | 'ecommerce';
2409
+
2410
+ /**
2411
+ * Body param: The sales order's sales representative. Sales representatives can be
2412
+ * employees, vendors, or other names in QuickBooks.
2413
+ */
2414
+ salesRepresentativeId?: string;
2415
+
2416
+ /**
2417
+ * Body param: The name of the sales store for this sales order.
2418
+ */
2419
+ salesStoreName?: string;
2420
+
2421
+ /**
2422
+ * Body param: The type of the sales store for this sales order.
2423
+ */
2424
+ salesStoreType?: string;
2425
+
2426
+ /**
2427
+ * Body param: The sales-tax code for this sales order, determining whether it is
2428
+ * taxable or non-taxable. This can be overridden at the transaction-line level.
2429
+ *
2430
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
2431
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
2432
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
2433
+ * non-taxable code to all sales.
2434
+ */
2435
+ salesTaxCodeId?: string;
2436
+
2437
+ /**
2438
+ * Body param: The sales-tax item used to calculate the actual tax amount for this
2439
+ * sales order's transactions by applying a specific tax rate collected for a
2440
+ * single tax agency. Unlike `salesTaxCode`, which only indicates general
2441
+ * taxability, this field drives the actual tax calculation and reporting.
2442
+ */
2443
+ salesTaxItemId?: string;
2444
+
2445
+ /**
2446
+ * Body param: The origin location from where the product associated with this
2447
+ * sales order is shipped. This is the point at which ownership and liability for
2448
+ * goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB"
2449
+ * for this field, which stands for "freight on board". This field is informational
2450
+ * and has no accounting implications.
2451
+ */
2452
+ shipmentOrigin?: string;
2453
+
2454
+ /**
2455
+ * Body param: The sales order's shipping address.
2456
+ */
2457
+ shippingAddress?: SalesOrderUpdateParams.ShippingAddress;
2458
+
2459
+ /**
2460
+ * Body param: The date when the products or services for this sales order were
2461
+ * shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).
2462
+ */
2463
+ shippingDate?: string;
2464
+
2465
+ /**
2466
+ * Body param: The shipping method used for this sales order, such as standard mail
2467
+ * or overnight delivery.
2468
+ */
2469
+ shippingMethodId?: string;
2470
+
2471
+ /**
2472
+ * Body param: The sales order's payment terms, defining when payment is due and
2473
+ * any applicable discounts.
2474
+ */
2475
+ termsId?: string;
2476
+
2477
+ /**
2478
+ * Body param: The date of this sales order, in ISO 8601 format (YYYY-MM-DD).
2479
+ */
2480
+ transactionDate?: string;
2481
+ }
2482
+
2483
+ export namespace SalesOrderUpdateParams {
2484
+ /**
2485
+ * The sales order's billing address.
2486
+ */
2487
+ export interface BillingAddress {
2488
+ /**
2489
+ * The city, district, suburb, town, or village name of the address.
2490
+ *
2491
+ * Maximum length: 31 characters.
2492
+ */
2493
+ city?: string;
2494
+
2495
+ /**
2496
+ * The country name of the address.
2497
+ */
2498
+ country?: string;
2499
+
2500
+ /**
2501
+ * The first line of the address (e.g., street, PO Box, or company name).
2502
+ *
2503
+ * Maximum length: 41 characters.
2504
+ */
2505
+ line1?: string;
2506
+
2507
+ /**
2508
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
2509
+ * building).
2510
+ *
2511
+ * Maximum length: 41 characters.
2512
+ */
2513
+ line2?: string;
2514
+
2515
+ /**
2516
+ * The third line of the address, if needed.
2517
+ *
2518
+ * Maximum length: 41 characters.
2519
+ */
2520
+ line3?: string;
2521
+
2522
+ /**
2523
+ * The fourth line of the address, if needed.
2524
+ *
2525
+ * Maximum length: 41 characters.
2526
+ */
2527
+ line4?: string;
2528
+
2529
+ /**
2530
+ * The fifth line of the address, if needed.
2531
+ *
2532
+ * Maximum length: 41 characters.
2533
+ */
2534
+ line5?: string;
2535
+
2536
+ /**
2537
+ * A note written at the bottom of the address in the form in which it appears,
2538
+ * such as the invoice form.
2539
+ */
2540
+ note?: string;
2541
+
2542
+ /**
2543
+ * The postal code or ZIP code of the address.
2544
+ *
2545
+ * Maximum length: 13 characters.
2546
+ */
2547
+ postalCode?: string;
2548
+
2549
+ /**
2550
+ * The state, county, province, or region name of the address.
2551
+ *
2552
+ * Maximum length: 21 characters.
2553
+ */
2554
+ state?: string;
2555
+ }
2556
+
2557
+ export interface LineGroup {
2558
+ /**
2559
+ * The QuickBooks-assigned unique identifier of an existing sales order line group
2560
+ * you wish to retain or update.
2561
+ *
2562
+ * **IMPORTANT**: Set this field to `-1` for new sales order line groups you wish
2563
+ * to add.
2564
+ */
2565
+ id: string;
2566
+
2567
+ /**
2568
+ * The sales order line group's item group, representing a predefined set of items
2569
+ * bundled because they are commonly purchased together or grouped for faster
2570
+ * entry.
2571
+ */
2572
+ itemGroupId?: string;
2573
+
2574
+ /**
2575
+ * The sales order line group's line items, each representing a single product or
2576
+ * service ordered.
2577
+ *
2578
+ * **IMPORTANT**:
2579
+ *
2580
+ * 1. Including this array in your update request will **REPLACE** all existing
2581
+ * line items for the sales order line group with this array. To keep any
2582
+ * existing line items, you must include them in this array even if they have
2583
+ * not changed. **Any line items not included will be removed.**
2584
+ *
2585
+ * 2. To add a new line item, include it here with the `id` field set to `-1`.
2586
+ *
2587
+ * 3. If you do not wish to modify any line items, omit this field entirely to keep
2588
+ * them unchanged.
2589
+ */
2590
+ lines?: Array<LineGroup.Line>;
2591
+
2592
+ /**
2593
+ * Specifies an alternative unit-of-measure set when updating this sales order line
2594
+ * group's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
2595
+ * select units from a different set than the item's default unit-of-measure set,
2596
+ * which remains unchanged on the item itself. The override applies only to this
2597
+ * specific line. For example, you can sell an item typically measured in volume
2598
+ * units using weight units in a specific transaction by specifying a different
2599
+ * unit-of-measure set with this field.
2600
+ */
2601
+ overrideUnitOfMeasureSetId?: string;
2602
+
2603
+ /**
2604
+ * The quantity of the item group associated with this sales order line group. This
2605
+ * field cannot be cleared.
2606
+ *
2607
+ * **NOTE**: Do not use this field if the associated item group is a discount item
2608
+ * group.
2609
+ */
2610
+ quantity?: number;
2611
+
2612
+ /**
2613
+ * The unit-of-measure used for the `quantity` in this sales order line group. Must
2614
+ * be a valid unit within the item's available units of measure.
2615
+ */
2616
+ unitOfMeasure?: string;
2617
+ }
2618
+
2619
+ export namespace LineGroup {
2620
+ export interface Line {
2621
+ /**
2622
+ * The QuickBooks-assigned unique identifier of an existing sales order line you
2623
+ * wish to retain or update.
2624
+ *
2625
+ * **IMPORTANT**: Set this field to `-1` for new sales order lines you wish to add.
2626
+ */
2627
+ id: string;
2628
+
2629
+ /**
2630
+ * The monetary amount of this sales order line, represented as a decimal string.
2631
+ * If both `quantity` and `rate` are specified but not `amount`, QuickBooks will
2632
+ * use them to calculate `amount`. If `amount`, `rate`, and `quantity` are all
2633
+ * unspecified, then QuickBooks will calculate `amount` based on a `quantity` of
2634
+ * `1` and the suggested `rate`. This field cannot be cleared.
2635
+ */
2636
+ amount?: string;
2637
+
2638
+ /**
2639
+ * The sales order line's class. Classes can be used to categorize objects into
2640
+ * meaningful segments, such as department, location, or type of work. In
2641
+ * QuickBooks, class tracking is off by default. If a class is specified for the
2642
+ * entire parent transaction, it is automatically applied to all sales order lines
2643
+ * unless overridden here, at the transaction line level.
2644
+ */
2645
+ classId?: string;
2646
+
2647
+ /**
2648
+ * A description of this sales order line.
2649
+ */
2650
+ description?: string;
2651
+
2652
+ /**
2653
+ * The site location where inventory for the item associated with this sales order
2654
+ * line is stored.
2655
+ */
2656
+ inventorySiteId?: string;
2657
+
2658
+ /**
2659
+ * The specific location (e.g., bin or shelf) within the inventory site where the
2660
+ * item associated with this sales order line is stored.
2661
+ */
2662
+ inventorySiteLocationId?: string;
2663
+
2664
+ /**
2665
+ * Indicates whether this sales order line has been manually marked as closed, even
2666
+ * if it has not been invoiced.
2667
+ */
2668
+ isManuallyClosed?: boolean;
2669
+
2670
+ /**
2671
+ * The item associated with this sales order line. This can refer to any good or
2672
+ * service that the business buys or sells, including item types such as a service
2673
+ * item, inventory item, or special calculation item like a discount item or
2674
+ * sales-tax item.
2675
+ */
2676
+ itemId?: string;
2677
+
2678
+ /**
2679
+ * The lot number of the item associated with this sales order line. Used for
2680
+ * tracking groups of inventory items that are purchased or manufactured together.
2681
+ */
2682
+ lotNumber?: string;
2683
+
2684
+ /**
2685
+ * A built-in custom field for additional information specific to this sales order
2686
+ * line. Unlike the user-defined fields in the `customFields` array, this is a
2687
+ * standard QuickBooks field that exists for all sales order lines for convenience.
2688
+ * Developers often use this field for tracking information that doesn't fit into
2689
+ * other standard QuickBooks fields. Hidden by default in the QuickBooks UI.
2690
+ */
2691
+ otherCustomField1?: string;
2692
+
2693
+ /**
2694
+ * A second built-in custom field for additional information specific to this sales
2695
+ * order line. Unlike the user-defined fields in the `customFields` array, this is
2696
+ * a standard QuickBooks field that exists for all sales order lines for
2697
+ * convenience. Like `otherCustomField1`, developers often use this field for
2698
+ * tracking information that doesn't fit into other standard QuickBooks fields.
2699
+ * Hidden by default in the QuickBooks UI.
2700
+ */
2701
+ otherCustomField2?: string;
2702
+
2703
+ /**
2704
+ * Specifies an alternative unit-of-measure set when updating this sales order
2705
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
2706
+ * select units from a different set than the item's default unit-of-measure set,
2707
+ * which remains unchanged on the item itself. The override applies only to this
2708
+ * specific line. For example, you can sell an item typically measured in volume
2709
+ * units using weight units in a specific transaction by specifying a different
2710
+ * unit-of-measure set with this field.
2711
+ */
2712
+ overrideUnitOfMeasureSetId?: string;
2713
+
2714
+ /**
2715
+ * The price level applied to this sales order line. This overrides any price level
2716
+ * set on the corresponding customer. The resulting sales order line will not show
2717
+ * this price level, only the final `rate` calculated from it.
2718
+ */
2719
+ priceLevelId?: string;
2720
+
2721
+ /**
2722
+ * Specifies how to resolve price rule conflicts when adding or modifying this
2723
+ * sales order line.
2724
+ */
2725
+ priceRuleConflictStrategy?: 'base_price' | 'zero';
2726
+
2727
+ /**
2728
+ * The quantity of the item associated with this sales order line. This field
2729
+ * cannot be cleared.
2730
+ *
2731
+ * **NOTE**: Do not use this field if the associated item is a discount item.
2732
+ */
2733
+ quantity?: number;
2734
+
2735
+ /**
2736
+ * The price per unit for this sales order line. If both `rate` and `amount` are
2737
+ * specified, `rate` will be ignored. If both `quantity` and `amount` are specified
2738
+ * but not `rate`, QuickBooks will use them to calculate `rate`. Represented as a
2739
+ * decimal string. This field cannot be cleared.
2740
+ */
2741
+ rate?: string;
2742
+
2743
+ /**
2744
+ * The price of this sales order line expressed as a percentage. Typically used for
2745
+ * discount or markup items.
2746
+ */
2747
+ ratePercent?: string;
2748
+
2749
+ /**
2750
+ * The sales-tax code for this sales order line, determining whether it is taxable
2751
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
2752
+ * transaction or the associated item.
2753
+ *
2754
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
2755
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
2756
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
2757
+ * non-taxable code to all sales.
2758
+ */
2759
+ salesTaxCodeId?: string;
2760
+
2761
+ /**
2762
+ * The serial number of the item associated with this sales order line. This is
2763
+ * used for tracking individual units of serialized inventory items.
2764
+ */
2765
+ serialNumber?: string;
2766
+
2767
+ /**
2768
+ * The unit-of-measure used for the `quantity` in this sales order line. Must be a
2769
+ * valid unit within the item's available units of measure.
2770
+ */
2771
+ unitOfMeasure?: string;
2772
+ }
2773
+ }
2774
+
2775
+ export interface Line {
2776
+ /**
2777
+ * The QuickBooks-assigned unique identifier of an existing sales order line you
2778
+ * wish to retain or update.
2779
+ *
2780
+ * **IMPORTANT**: Set this field to `-1` for new sales order lines you wish to add.
2781
+ */
2782
+ id: string;
2783
+
2784
+ /**
2785
+ * The monetary amount of this sales order line, represented as a decimal string.
2786
+ * If both `quantity` and `rate` are specified but not `amount`, QuickBooks will
2787
+ * use them to calculate `amount`. If `amount`, `rate`, and `quantity` are all
2788
+ * unspecified, then QuickBooks will calculate `amount` based on a `quantity` of
2789
+ * `1` and the suggested `rate`. This field cannot be cleared.
2790
+ */
2791
+ amount?: string;
2792
+
2793
+ /**
2794
+ * The sales order line's class. Classes can be used to categorize objects into
2795
+ * meaningful segments, such as department, location, or type of work. In
2796
+ * QuickBooks, class tracking is off by default. If a class is specified for the
2797
+ * entire parent transaction, it is automatically applied to all sales order lines
2798
+ * unless overridden here, at the transaction line level.
2799
+ */
2800
+ classId?: string;
2801
+
2802
+ /**
2803
+ * A description of this sales order line.
2804
+ */
2805
+ description?: string;
2806
+
2807
+ /**
2808
+ * The site location where inventory for the item associated with this sales order
2809
+ * line is stored.
2810
+ */
2811
+ inventorySiteId?: string;
2812
+
2813
+ /**
2814
+ * The specific location (e.g., bin or shelf) within the inventory site where the
2815
+ * item associated with this sales order line is stored.
2816
+ */
2817
+ inventorySiteLocationId?: string;
2818
+
2819
+ /**
2820
+ * Indicates whether this sales order line has been manually marked as closed, even
2821
+ * if it has not been invoiced.
2822
+ */
2823
+ isManuallyClosed?: boolean;
2824
+
2825
+ /**
2826
+ * The item associated with this sales order line. This can refer to any good or
2827
+ * service that the business buys or sells, including item types such as a service
2828
+ * item, inventory item, or special calculation item like a discount item or
2829
+ * sales-tax item.
2830
+ */
2831
+ itemId?: string;
2832
+
2833
+ /**
2834
+ * The lot number of the item associated with this sales order line. Used for
2835
+ * tracking groups of inventory items that are purchased or manufactured together.
2836
+ */
2837
+ lotNumber?: string;
2838
+
2839
+ /**
2840
+ * A built-in custom field for additional information specific to this sales order
2841
+ * line. Unlike the user-defined fields in the `customFields` array, this is a
2842
+ * standard QuickBooks field that exists for all sales order lines for convenience.
2843
+ * Developers often use this field for tracking information that doesn't fit into
2844
+ * other standard QuickBooks fields. Hidden by default in the QuickBooks UI.
2845
+ */
2846
+ otherCustomField1?: string;
2847
+
2848
+ /**
2849
+ * A second built-in custom field for additional information specific to this sales
2850
+ * order line. Unlike the user-defined fields in the `customFields` array, this is
2851
+ * a standard QuickBooks field that exists for all sales order lines for
2852
+ * convenience. Like `otherCustomField1`, developers often use this field for
2853
+ * tracking information that doesn't fit into other standard QuickBooks fields.
2854
+ * Hidden by default in the QuickBooks UI.
2855
+ */
2856
+ otherCustomField2?: string;
2857
+
2858
+ /**
2859
+ * Specifies an alternative unit-of-measure set when updating this sales order
2860
+ * line's `unitOfMeasure` field (e.g., "pound" or "kilogram"). This allows you to
2861
+ * select units from a different set than the item's default unit-of-measure set,
2862
+ * which remains unchanged on the item itself. The override applies only to this
2863
+ * specific line. For example, you can sell an item typically measured in volume
2864
+ * units using weight units in a specific transaction by specifying a different
2865
+ * unit-of-measure set with this field.
2866
+ */
2867
+ overrideUnitOfMeasureSetId?: string;
2868
+
2869
+ /**
2870
+ * The price level applied to this sales order line. This overrides any price level
2871
+ * set on the corresponding customer. The resulting sales order line will not show
2872
+ * this price level, only the final `rate` calculated from it.
2873
+ */
2874
+ priceLevelId?: string;
2875
+
2876
+ /**
2877
+ * Specifies how to resolve price rule conflicts when adding or modifying this
2878
+ * sales order line.
2879
+ */
2880
+ priceRuleConflictStrategy?: 'base_price' | 'zero';
2881
+
2882
+ /**
2883
+ * The quantity of the item associated with this sales order line. This field
2884
+ * cannot be cleared.
2885
+ *
2886
+ * **NOTE**: Do not use this field if the associated item is a discount item.
2887
+ */
2888
+ quantity?: number;
2889
+
2890
+ /**
2891
+ * The price per unit for this sales order line. If both `rate` and `amount` are
2892
+ * specified, `rate` will be ignored. If both `quantity` and `amount` are specified
2893
+ * but not `rate`, QuickBooks will use them to calculate `rate`. Represented as a
2894
+ * decimal string. This field cannot be cleared.
2895
+ */
2896
+ rate?: string;
2897
+
2898
+ /**
2899
+ * The price of this sales order line expressed as a percentage. Typically used for
2900
+ * discount or markup items.
2901
+ */
2902
+ ratePercent?: string;
2903
+
2904
+ /**
2905
+ * The sales-tax code for this sales order line, determining whether it is taxable
2906
+ * or non-taxable. If set, this overrides any sales-tax codes defined on the parent
2907
+ * transaction or the associated item.
2908
+ *
2909
+ * Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes
2910
+ * can also be created in QuickBooks. If QuickBooks is not set up to charge sales
2911
+ * tax (via the "Do You Charge Sales Tax?" preference), it will assign the default
2912
+ * non-taxable code to all sales.
2913
+ */
2914
+ salesTaxCodeId?: string;
2915
+
2916
+ /**
2917
+ * The serial number of the item associated with this sales order line. This is
2918
+ * used for tracking individual units of serialized inventory items.
2919
+ */
2920
+ serialNumber?: string;
2921
+
2922
+ /**
2923
+ * The unit-of-measure used for the `quantity` in this sales order line. Must be a
2924
+ * valid unit within the item's available units of measure.
2925
+ */
2926
+ unitOfMeasure?: string;
2927
+ }
2928
+
2929
+ /**
2930
+ * The sales order's shipping address.
2931
+ */
2932
+ export interface ShippingAddress {
2933
+ /**
2934
+ * The city, district, suburb, town, or village name of the address.
2935
+ *
2936
+ * Maximum length: 31 characters.
2937
+ */
2938
+ city?: string;
2939
+
2940
+ /**
2941
+ * The country name of the address.
2942
+ */
2943
+ country?: string;
2944
+
2945
+ /**
2946
+ * The first line of the address (e.g., street, PO Box, or company name).
2947
+ *
2948
+ * Maximum length: 41 characters.
2949
+ */
2950
+ line1?: string;
2951
+
2952
+ /**
2953
+ * The second line of the address, if needed (e.g., apartment, suite, unit, or
2954
+ * building).
2955
+ *
2956
+ * Maximum length: 41 characters.
2957
+ */
2958
+ line2?: string;
2959
+
2960
+ /**
2961
+ * The third line of the address, if needed.
2962
+ *
2963
+ * Maximum length: 41 characters.
2964
+ */
2965
+ line3?: string;
2966
+
2967
+ /**
2968
+ * The fourth line of the address, if needed.
2969
+ *
2970
+ * Maximum length: 41 characters.
2971
+ */
2972
+ line4?: string;
2973
+
2974
+ /**
2975
+ * The fifth line of the address, if needed.
2976
+ *
2977
+ * Maximum length: 41 characters.
2978
+ */
2979
+ line5?: string;
2980
+
2981
+ /**
2982
+ * A note written at the bottom of the address in the form in which it appears,
2983
+ * such as the invoice form.
2984
+ */
2985
+ note?: string;
2986
+
2987
+ /**
2988
+ * The postal code or ZIP code of the address.
2989
+ *
2990
+ * Maximum length: 13 characters.
2991
+ */
2992
+ postalCode?: string;
2993
+
2994
+ /**
2995
+ * The state, county, province, or region name of the address.
2996
+ *
2997
+ * Maximum length: 21 characters.
2998
+ */
2999
+ state?: string;
3000
+ }
3001
+ }
3002
+
3003
+ export interface SalesOrderListParams extends CursorPageParams {
3004
+ /**
3005
+ * Header param: The ID of the EndUser to receive this request (e.g.,
3006
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
3007
+ */
3008
+ conductorEndUserId: string;
3009
+
3010
+ /**
3011
+ * Query param: Filter for sales orders in these currencies.
3012
+ */
3013
+ currencyIds?: Array<string>;
3014
+
3015
+ /**
3016
+ * Query param: Filter for sales orders created for these customers.
3017
+ */
3018
+ customerIds?: Array<string>;
3019
+
3020
+ /**
3021
+ * Query param: Filter for specific sales orders by their QuickBooks-assigned
3022
+ * unique identifier(s).
3023
+ *
3024
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
3025
+ * query parameters for this request.
3026
+ *
3027
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
3028
+ * request will return an error.
3029
+ */
3030
+ ids?: Array<string>;
3031
+
3032
+ /**
3033
+ * Query param: Whether to include line items in the response. Defaults to `true`.
3034
+ */
3035
+ includeLineItems?: boolean;
3036
+
3037
+ /**
3038
+ * Query param: Whether to include linked transactions in the response. Defaults to
3039
+ * `false`. For example, a payment linked to the corresponding sales order.
3040
+ */
3041
+ includeLinkedTransactions?: boolean;
3042
+
3043
+ /**
3044
+ * Query param: Filter for sales orders whose `refNumber` contains this substring.
3045
+ * NOTE: If you use this parameter, you cannot also use `refNumberStartsWith` or
3046
+ * `refNumberEndsWith`.
3047
+ */
3048
+ refNumberContains?: string;
3049
+
3050
+ /**
3051
+ * Query param: Filter for sales orders whose `refNumber` ends with this substring.
3052
+ * NOTE: If you use this parameter, you cannot also use `refNumberContains` or
3053
+ * `refNumberStartsWith`.
3054
+ */
3055
+ refNumberEndsWith?: string;
3056
+
3057
+ /**
3058
+ * Query param: Filter for sales orders whose `refNumber` is greater than or equal
3059
+ * to this value. If omitted, the range will begin with the first number of the
3060
+ * list. Uses a numerical comparison for values that contain only digits;
3061
+ * otherwise, uses a lexicographical comparison.
3062
+ */
3063
+ refNumberFrom?: string;
3064
+
3065
+ /**
3066
+ * Query param: Filter for specific sales orders by their ref-number(s),
3067
+ * case-sensitive. In QuickBooks, ref-numbers are not required to be unique and can
3068
+ * be arbitrarily changed by the QuickBooks user.
3069
+ *
3070
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
3071
+ * query parameters for this request.
3072
+ *
3073
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
3074
+ * request will return an error.
3075
+ */
3076
+ refNumbers?: Array<string>;
3077
+
3078
+ /**
3079
+ * Query param: Filter for sales orders whose `refNumber` starts with this
3080
+ * substring. NOTE: If you use this parameter, you cannot also use
3081
+ * `refNumberContains` or `refNumberEndsWith`.
3082
+ */
3083
+ refNumberStartsWith?: string;
3084
+
3085
+ /**
3086
+ * Query param: Filter for sales orders whose `refNumber` is less than or equal to
3087
+ * this value. If omitted, the range will end with the last number of the list.
3088
+ * Uses a numerical comparison for values that contain only digits; otherwise, uses
3089
+ * a lexicographical comparison.
3090
+ */
3091
+ refNumberTo?: string;
3092
+
3093
+ /**
3094
+ * Query param: Filter for sales orders created on or after this date, in ISO 8601
3095
+ * format (YYYY-MM-DD).
3096
+ */
3097
+ transactionDateFrom?: string;
3098
+
3099
+ /**
3100
+ * Query param: Filter for sales orders created on or before this date, in ISO 8601
3101
+ * format (YYYY-MM-DD).
3102
+ */
3103
+ transactionDateTo?: string;
3104
+
3105
+ /**
3106
+ * Query param: Filter for sales orders updated on or after this date and time, in
3107
+ * ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD),
3108
+ * the time is assumed to be 00:00:00 of that day.
3109
+ */
3110
+ updatedAfter?: string;
3111
+
3112
+ /**
3113
+ * Query param: Filter for sales orders updated on or before this date and time, in
3114
+ * ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD),
3115
+ * the time is assumed to be 23:59:59 of that day.
3116
+ */
3117
+ updatedBefore?: string;
3118
+ }
3119
+
3120
+ export interface SalesOrderDeleteParams {
3121
+ /**
3122
+ * The ID of the EndUser to receive this request (e.g.,
3123
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
3124
+ */
3125
+ conductorEndUserId: string;
3126
+ }
3127
+
3128
+ SalesOrders.SalesOrdersCursorPage = SalesOrdersCursorPage;
3129
+
3130
+ export declare namespace SalesOrders {
3131
+ export {
3132
+ type SalesOrder as SalesOrder,
3133
+ type SalesOrderDeleteResponse as SalesOrderDeleteResponse,
3134
+ SalesOrdersCursorPage as SalesOrdersCursorPage,
3135
+ type SalesOrderCreateParams as SalesOrderCreateParams,
3136
+ type SalesOrderRetrieveParams as SalesOrderRetrieveParams,
3137
+ type SalesOrderUpdateParams as SalesOrderUpdateParams,
3138
+ type SalesOrderListParams as SalesOrderListParams,
3139
+ type SalesOrderDeleteParams as SalesOrderDeleteParams,
3140
+ };
3141
+ }