conductor-node 11.10.0 → 12.0.0-beta.1

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