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