conductor-node 11.10.1 → 12.0.0-beta.2

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