conductor-node 11.10.1 → 12.0.0-beta.2

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