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