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