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