conductor-node 11.10.1 → 12.0.0-beta.1

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