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