conductor-node 11.10.1 → 12.0.0-beta.10

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