conductor-node 11.10.1 → 12.0.0-beta.1

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