conductor-node 12.43.0 → 13.1.0

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