conductor-node 11.10.0 → 12.0.0-beta.1

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