conductor-node 11.10.1 → 12.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE +201 -21
  3. package/README.md +336 -64
  4. package/_shims/MultipartBody.d.ts +9 -0
  5. package/_shims/MultipartBody.d.ts.map +1 -0
  6. package/_shims/MultipartBody.js +16 -0
  7. package/_shims/MultipartBody.js.map +1 -0
  8. package/_shims/MultipartBody.mjs +12 -0
  9. package/_shims/MultipartBody.mjs.map +1 -0
  10. package/_shims/README.md +46 -0
  11. package/_shims/auto/runtime-bun.d.ts +5 -0
  12. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  13. package/_shims/auto/runtime-bun.js +21 -0
  14. package/_shims/auto/runtime-bun.js.map +1 -0
  15. package/_shims/auto/runtime-bun.mjs +2 -0
  16. package/_shims/auto/runtime-bun.mjs.map +1 -0
  17. package/_shims/auto/runtime-node.d.ts +5 -0
  18. package/_shims/auto/runtime-node.d.ts.map +1 -0
  19. package/_shims/auto/runtime-node.js +21 -0
  20. package/_shims/auto/runtime-node.js.map +1 -0
  21. package/_shims/auto/runtime-node.mjs +2 -0
  22. package/_shims/auto/runtime-node.mjs.map +1 -0
  23. package/_shims/auto/runtime.d.ts +5 -0
  24. package/_shims/auto/runtime.d.ts.map +1 -0
  25. package/_shims/auto/runtime.js +21 -0
  26. package/_shims/auto/runtime.js.map +1 -0
  27. package/_shims/auto/runtime.mjs +2 -0
  28. package/_shims/auto/runtime.mjs.map +1 -0
  29. package/_shims/auto/types-node.d.ts +5 -0
  30. package/_shims/auto/types-node.d.ts.map +1 -0
  31. package/_shims/auto/types-node.js +21 -0
  32. package/_shims/auto/types-node.js.map +1 -0
  33. package/_shims/auto/types-node.mjs +2 -0
  34. package/_shims/auto/types-node.mjs.map +1 -0
  35. package/_shims/auto/types.d.ts +101 -0
  36. package/_shims/auto/types.js +3 -0
  37. package/_shims/auto/types.mjs +3 -0
  38. package/_shims/bun-runtime.d.ts +6 -0
  39. package/_shims/bun-runtime.d.ts.map +1 -0
  40. package/_shims/bun-runtime.js +14 -0
  41. package/_shims/bun-runtime.js.map +1 -0
  42. package/_shims/bun-runtime.mjs +10 -0
  43. package/_shims/bun-runtime.mjs.map +1 -0
  44. package/_shims/index.d.ts +81 -0
  45. package/_shims/index.js +13 -0
  46. package/_shims/index.mjs +7 -0
  47. package/_shims/manual-types.d.ts +12 -0
  48. package/_shims/manual-types.js +3 -0
  49. package/_shims/manual-types.mjs +3 -0
  50. package/_shims/node-runtime.d.ts +3 -0
  51. package/_shims/node-runtime.d.ts.map +1 -0
  52. package/_shims/node-runtime.js +89 -0
  53. package/_shims/node-runtime.js.map +1 -0
  54. package/_shims/node-runtime.mjs +56 -0
  55. package/_shims/node-runtime.mjs.map +1 -0
  56. package/_shims/node-types.d.ts +42 -0
  57. package/_shims/node-types.js +3 -0
  58. package/_shims/node-types.mjs +3 -0
  59. package/_shims/registry.d.ts +37 -0
  60. package/_shims/registry.d.ts.map +1 -0
  61. package/_shims/registry.js +41 -0
  62. package/_shims/registry.js.map +1 -0
  63. package/_shims/registry.mjs +37 -0
  64. package/_shims/registry.mjs.map +1 -0
  65. package/_shims/web-runtime.d.ts +5 -0
  66. package/_shims/web-runtime.d.ts.map +1 -0
  67. package/_shims/web-runtime.js +78 -0
  68. package/_shims/web-runtime.js.map +1 -0
  69. package/_shims/web-runtime.mjs +71 -0
  70. package/_shims/web-runtime.mjs.map +1 -0
  71. package/_shims/web-types.d.ts +83 -0
  72. package/_shims/web-types.js +3 -0
  73. package/_shims/web-types.mjs +3 -0
  74. package/core.d.ts +241 -0
  75. package/core.d.ts.map +1 -0
  76. package/core.js +914 -0
  77. package/core.js.map +1 -0
  78. package/core.mjs +882 -0
  79. package/core.mjs.map +1 -0
  80. package/error.d.ts +47 -0
  81. package/error.d.ts.map +1 -0
  82. package/error.js +113 -0
  83. package/error.js.map +1 -0
  84. package/error.mjs +97 -0
  85. package/error.mjs.map +1 -0
  86. package/index.d.mts +121 -0
  87. package/index.d.ts +121 -0
  88. package/index.d.ts.map +1 -0
  89. package/index.js +133 -0
  90. package/index.js.map +1 -0
  91. package/index.mjs +90 -0
  92. package/index.mjs.map +1 -0
  93. package/internal/qs/formats.d.ts +6 -0
  94. package/internal/qs/formats.d.ts.map +1 -0
  95. package/internal/qs/formats.js +11 -0
  96. package/internal/qs/formats.js.map +1 -0
  97. package/internal/qs/formats.mjs +8 -0
  98. package/internal/qs/formats.mjs.map +1 -0
  99. package/internal/qs/index.d.ts +10 -0
  100. package/internal/qs/index.d.ts.map +1 -0
  101. package/internal/qs/index.js +14 -0
  102. package/internal/qs/index.js.map +1 -0
  103. package/internal/qs/index.mjs +10 -0
  104. package/internal/qs/index.mjs.map +1 -0
  105. package/internal/qs/stringify.d.ts +3 -0
  106. package/internal/qs/stringify.d.ts.map +1 -0
  107. package/internal/qs/stringify.js +280 -0
  108. package/internal/qs/stringify.js.map +1 -0
  109. package/internal/qs/stringify.mjs +276 -0
  110. package/internal/qs/stringify.mjs.map +1 -0
  111. package/internal/qs/types.d.ts +57 -0
  112. package/internal/qs/types.d.ts.map +1 -0
  113. package/{dist/src/resources → internal/qs}/types.js +1 -0
  114. package/internal/qs/types.js.map +1 -0
  115. package/internal/qs/types.mjs +2 -0
  116. package/internal/qs/types.mjs.map +1 -0
  117. package/internal/qs/utils.d.ts +14 -0
  118. package/internal/qs/utils.d.ts.map +1 -0
  119. package/internal/qs/utils.js +229 -0
  120. package/internal/qs/utils.js.map +1 -0
  121. package/internal/qs/utils.mjs +217 -0
  122. package/internal/qs/utils.mjs.map +1 -0
  123. package/package.json +111 -35
  124. package/pagination.d.ts +18 -0
  125. package/pagination.d.ts.map +1 -0
  126. package/pagination.js +40 -0
  127. package/pagination.js.map +1 -0
  128. package/pagination.mjs +36 -0
  129. package/pagination.mjs.map +1 -0
  130. package/resource.d.ts +6 -0
  131. package/resource.d.ts.map +1 -0
  132. package/resource.js +11 -0
  133. package/resource.js.map +1 -0
  134. package/resource.mjs +7 -0
  135. package/resource.mjs.map +1 -0
  136. package/resources/auth-sessions.d.ts +79 -0
  137. package/resources/auth-sessions.d.ts.map +1 -0
  138. package/resources/auth-sessions.js +23 -0
  139. package/resources/auth-sessions.js.map +1 -0
  140. package/resources/auth-sessions.mjs +19 -0
  141. package/resources/auth-sessions.mjs.map +1 -0
  142. package/resources/end-users.d.ts +154 -0
  143. package/resources/end-users.d.ts.map +1 -0
  144. package/resources/end-users.js +48 -0
  145. package/resources/end-users.js.map +1 -0
  146. package/resources/end-users.mjs +44 -0
  147. package/resources/end-users.mjs.map +1 -0
  148. package/resources/index.d.ts +4 -0
  149. package/resources/index.d.ts.map +1 -0
  150. package/resources/index.js +11 -0
  151. package/resources/index.js.map +1 -0
  152. package/resources/index.mjs +5 -0
  153. package/resources/index.mjs.map +1 -0
  154. package/resources/qbd/accounts.d.ts +579 -0
  155. package/resources/qbd/accounts.d.ts.map +1 -0
  156. package/resources/qbd/accounts.js +54 -0
  157. package/resources/qbd/accounts.js.map +1 -0
  158. package/resources/qbd/accounts.mjs +50 -0
  159. package/resources/qbd/accounts.mjs.map +1 -0
  160. package/resources/qbd/bill-check-payments.d.ts +831 -0
  161. package/resources/qbd/bill-check-payments.d.ts.map +1 -0
  162. package/resources/qbd/bill-check-payments.js +70 -0
  163. package/resources/qbd/bill-check-payments.js.map +1 -0
  164. package/resources/qbd/bill-check-payments.mjs +65 -0
  165. package/resources/qbd/bill-check-payments.mjs.map +1 -0
  166. package/resources/qbd/bill-credit-card-payments.d.ts +641 -0
  167. package/resources/qbd/bill-credit-card-payments.d.ts.map +1 -0
  168. package/resources/qbd/bill-credit-card-payments.js +55 -0
  169. package/resources/qbd/bill-credit-card-payments.js.map +1 -0
  170. package/resources/qbd/bill-credit-card-payments.mjs +50 -0
  171. package/resources/qbd/bill-credit-card-payments.mjs.map +1 -0
  172. package/resources/qbd/bills.d.ts +2561 -0
  173. package/resources/qbd/bills.d.ts.map +1 -0
  174. package/resources/qbd/bills.js +69 -0
  175. package/resources/qbd/bills.js.map +1 -0
  176. package/resources/qbd/bills.mjs +64 -0
  177. package/resources/qbd/bills.mjs.map +1 -0
  178. package/resources/qbd/checks.d.ts +2528 -0
  179. package/resources/qbd/checks.d.ts.map +1 -0
  180. package/resources/qbd/checks.js +69 -0
  181. package/resources/qbd/checks.js.map +1 -0
  182. package/resources/qbd/checks.mjs +64 -0
  183. package/resources/qbd/checks.mjs.map +1 -0
  184. package/resources/qbd/classes.d.ts +289 -0
  185. package/resources/qbd/classes.d.ts.map +1 -0
  186. package/resources/qbd/classes.js +54 -0
  187. package/resources/qbd/classes.js.map +1 -0
  188. package/resources/qbd/classes.mjs +50 -0
  189. package/resources/qbd/classes.mjs.map +1 -0
  190. package/resources/qbd/credit-card-charges.d.ts +2236 -0
  191. package/resources/qbd/credit-card-charges.d.ts.map +1 -0
  192. package/resources/qbd/credit-card-charges.js +69 -0
  193. package/resources/qbd/credit-card-charges.js.map +1 -0
  194. package/resources/qbd/credit-card-charges.mjs +64 -0
  195. package/resources/qbd/credit-card-charges.mjs.map +1 -0
  196. package/resources/qbd/credit-card-credits.d.ts +2233 -0
  197. package/resources/qbd/credit-card-credits.d.ts.map +1 -0
  198. package/resources/qbd/credit-card-credits.js +69 -0
  199. package/resources/qbd/credit-card-credits.js.map +1 -0
  200. package/resources/qbd/credit-card-credits.mjs +64 -0
  201. package/resources/qbd/credit-card-credits.mjs.map +1 -0
  202. package/resources/qbd/credit-memos.d.ts +2649 -0
  203. package/resources/qbd/credit-memos.d.ts.map +1 -0
  204. package/resources/qbd/credit-memos.js +69 -0
  205. package/resources/qbd/credit-memos.js.map +1 -0
  206. package/resources/qbd/credit-memos.mjs +64 -0
  207. package/resources/qbd/credit-memos.mjs.map +1 -0
  208. package/resources/qbd/customers.d.ts +2106 -0
  209. package/resources/qbd/customers.d.ts.map +1 -0
  210. package/resources/qbd/customers.js +58 -0
  211. package/resources/qbd/customers.js.map +1 -0
  212. package/resources/qbd/customers.mjs +53 -0
  213. package/resources/qbd/customers.mjs.map +1 -0
  214. package/resources/qbd/date-driven-terms.d.ts +242 -0
  215. package/resources/qbd/date-driven-terms.d.ts.map +1 -0
  216. package/resources/qbd/date-driven-terms.js +43 -0
  217. package/resources/qbd/date-driven-terms.js.map +1 -0
  218. package/resources/qbd/date-driven-terms.mjs +39 -0
  219. package/resources/qbd/date-driven-terms.mjs.map +1 -0
  220. package/resources/qbd/discount-items.d.ts +576 -0
  221. package/resources/qbd/discount-items.d.ts.map +1 -0
  222. package/resources/qbd/discount-items.js +58 -0
  223. package/resources/qbd/discount-items.js.map +1 -0
  224. package/resources/qbd/discount-items.mjs +53 -0
  225. package/resources/qbd/discount-items.mjs.map +1 -0
  226. package/resources/qbd/employees.d.ts +1669 -0
  227. package/resources/qbd/employees.d.ts.map +1 -0
  228. package/resources/qbd/employees.js +58 -0
  229. package/resources/qbd/employees.js.map +1 -0
  230. package/resources/qbd/employees.mjs +53 -0
  231. package/resources/qbd/employees.mjs.map +1 -0
  232. package/resources/qbd/estimates.d.ts +2493 -0
  233. package/resources/qbd/estimates.d.ts.map +1 -0
  234. package/resources/qbd/estimates.js +69 -0
  235. package/resources/qbd/estimates.js.map +1 -0
  236. package/resources/qbd/estimates.mjs +64 -0
  237. package/resources/qbd/estimates.mjs.map +1 -0
  238. package/resources/qbd/index.d.ts +37 -0
  239. package/resources/qbd/index.d.ts.map +1 -0
  240. package/resources/qbd/index.js +105 -0
  241. package/resources/qbd/index.js.map +1 -0
  242. package/resources/qbd/index.mjs +38 -0
  243. package/resources/qbd/index.mjs.map +1 -0
  244. package/resources/qbd/inventory-adjustments.d.ts +814 -0
  245. package/resources/qbd/inventory-adjustments.d.ts.map +1 -0
  246. package/resources/qbd/inventory-adjustments.js +66 -0
  247. package/resources/qbd/inventory-adjustments.js.map +1 -0
  248. package/resources/qbd/inventory-adjustments.mjs +62 -0
  249. package/resources/qbd/inventory-adjustments.mjs.map +1 -0
  250. package/resources/qbd/inventory-assembly-items.d.ts +931 -0
  251. package/resources/qbd/inventory-assembly-items.d.ts.map +1 -0
  252. package/resources/qbd/inventory-assembly-items.js +54 -0
  253. package/resources/qbd/inventory-assembly-items.js.map +1 -0
  254. package/resources/qbd/inventory-assembly-items.mjs +49 -0
  255. package/resources/qbd/inventory-assembly-items.mjs.map +1 -0
  256. package/resources/qbd/inventory-items.d.ts +844 -0
  257. package/resources/qbd/inventory-items.d.ts.map +1 -0
  258. package/resources/qbd/inventory-items.js +58 -0
  259. package/resources/qbd/inventory-items.js.map +1 -0
  260. package/resources/qbd/inventory-items.mjs +53 -0
  261. package/resources/qbd/inventory-items.mjs.map +1 -0
  262. package/resources/qbd/inventory-sites.d.ts +477 -0
  263. package/resources/qbd/inventory-sites.d.ts.map +1 -0
  264. package/resources/qbd/inventory-sites.js +54 -0
  265. package/resources/qbd/inventory-sites.js.map +1 -0
  266. package/resources/qbd/inventory-sites.mjs +50 -0
  267. package/resources/qbd/inventory-sites.mjs.map +1 -0
  268. package/resources/qbd/invoices.d.ts +2873 -0
  269. package/resources/qbd/invoices.d.ts.map +1 -0
  270. package/resources/qbd/invoices.js +69 -0
  271. package/resources/qbd/invoices.js.map +1 -0
  272. package/resources/qbd/invoices.mjs +64 -0
  273. package/resources/qbd/invoices.mjs.map +1 -0
  274. package/resources/qbd/journal-entries.d.ts +856 -0
  275. package/resources/qbd/journal-entries.d.ts.map +1 -0
  276. package/resources/qbd/journal-entries.js +69 -0
  277. package/resources/qbd/journal-entries.js.map +1 -0
  278. package/resources/qbd/journal-entries.mjs +64 -0
  279. package/resources/qbd/journal-entries.mjs.map +1 -0
  280. package/resources/qbd/non-inventory-items.d.ts +950 -0
  281. package/resources/qbd/non-inventory-items.d.ts.map +1 -0
  282. package/resources/qbd/non-inventory-items.js +58 -0
  283. package/resources/qbd/non-inventory-items.js.map +1 -0
  284. package/resources/qbd/non-inventory-items.mjs +53 -0
  285. package/resources/qbd/non-inventory-items.mjs.map +1 -0
  286. package/resources/qbd/payroll-wage-items.d.ts +215 -0
  287. package/resources/qbd/payroll-wage-items.d.ts.map +1 -0
  288. package/resources/qbd/payroll-wage-items.js +47 -0
  289. package/resources/qbd/payroll-wage-items.js.map +1 -0
  290. package/resources/qbd/payroll-wage-items.mjs +42 -0
  291. package/resources/qbd/payroll-wage-items.mjs.map +1 -0
  292. package/resources/qbd/purchase-orders.d.ts +2554 -0
  293. package/resources/qbd/purchase-orders.d.ts.map +1 -0
  294. package/resources/qbd/purchase-orders.js +69 -0
  295. package/resources/qbd/purchase-orders.js.map +1 -0
  296. package/resources/qbd/purchase-orders.mjs +64 -0
  297. package/resources/qbd/purchase-orders.mjs.map +1 -0
  298. package/resources/qbd/qbd.d.ts +146 -0
  299. package/resources/qbd/qbd.d.ts.map +1 -0
  300. package/resources/qbd/qbd.js +202 -0
  301. package/resources/qbd/qbd.js.map +1 -0
  302. package/resources/qbd/qbd.mjs +175 -0
  303. package/resources/qbd/qbd.mjs.map +1 -0
  304. package/resources/qbd/receive-payments.d.ts +1282 -0
  305. package/resources/qbd/receive-payments.d.ts.map +1 -0
  306. package/resources/qbd/receive-payments.js +70 -0
  307. package/resources/qbd/receive-payments.js.map +1 -0
  308. package/resources/qbd/receive-payments.mjs +65 -0
  309. package/resources/qbd/receive-payments.mjs.map +1 -0
  310. package/resources/qbd/sales-orders.d.ts +2628 -0
  311. package/resources/qbd/sales-orders.d.ts.map +1 -0
  312. package/resources/qbd/sales-orders.js +69 -0
  313. package/resources/qbd/sales-orders.js.map +1 -0
  314. package/resources/qbd/sales-orders.mjs +64 -0
  315. package/resources/qbd/sales-orders.mjs.map +1 -0
  316. package/resources/qbd/sales-receipts.d.ts +3373 -0
  317. package/resources/qbd/sales-receipts.d.ts.map +1 -0
  318. package/resources/qbd/sales-receipts.js +69 -0
  319. package/resources/qbd/sales-receipts.js.map +1 -0
  320. package/resources/qbd/sales-receipts.mjs +64 -0
  321. package/resources/qbd/sales-receipts.mjs.map +1 -0
  322. package/resources/qbd/sales-representatives.d.ts +251 -0
  323. package/resources/qbd/sales-representatives.d.ts.map +1 -0
  324. package/resources/qbd/sales-representatives.js +54 -0
  325. package/resources/qbd/sales-representatives.js.map +1 -0
  326. package/resources/qbd/sales-representatives.mjs +50 -0
  327. package/resources/qbd/sales-representatives.mjs.map +1 -0
  328. package/resources/qbd/sales-tax-codes.d.ts +306 -0
  329. package/resources/qbd/sales-tax-codes.d.ts.map +1 -0
  330. package/resources/qbd/sales-tax-codes.js +54 -0
  331. package/resources/qbd/sales-tax-codes.js.map +1 -0
  332. package/resources/qbd/sales-tax-codes.mjs +50 -0
  333. package/resources/qbd/sales-tax-codes.mjs.map +1 -0
  334. package/resources/qbd/sales-tax-items.d.ts +458 -0
  335. package/resources/qbd/sales-tax-items.d.ts.map +1 -0
  336. package/resources/qbd/sales-tax-items.js +58 -0
  337. package/resources/qbd/sales-tax-items.js.map +1 -0
  338. package/resources/qbd/sales-tax-items.mjs +53 -0
  339. package/resources/qbd/sales-tax-items.mjs.map +1 -0
  340. package/resources/qbd/service-items.d.ts +923 -0
  341. package/resources/qbd/service-items.d.ts.map +1 -0
  342. package/resources/qbd/service-items.js +58 -0
  343. package/resources/qbd/service-items.js.map +1 -0
  344. package/resources/qbd/service-items.mjs +53 -0
  345. package/resources/qbd/service-items.mjs.map +1 -0
  346. package/resources/qbd/standard-terms.d.ts +225 -0
  347. package/resources/qbd/standard-terms.d.ts.map +1 -0
  348. package/resources/qbd/standard-terms.js +43 -0
  349. package/resources/qbd/standard-terms.js.map +1 -0
  350. package/resources/qbd/standard-terms.mjs +39 -0
  351. package/resources/qbd/standard-terms.mjs.map +1 -0
  352. package/resources/qbd/subtotal-items.d.ts +323 -0
  353. package/resources/qbd/subtotal-items.d.ts.map +1 -0
  354. package/resources/qbd/subtotal-items.js +58 -0
  355. package/resources/qbd/subtotal-items.js.map +1 -0
  356. package/resources/qbd/subtotal-items.mjs +53 -0
  357. package/resources/qbd/subtotal-items.mjs.map +1 -0
  358. package/resources/qbd/transfers.d.ts +269 -0
  359. package/resources/qbd/transfers.d.ts.map +1 -0
  360. package/resources/qbd/transfers.js +58 -0
  361. package/resources/qbd/transfers.js.map +1 -0
  362. package/resources/qbd/transfers.mjs +53 -0
  363. package/resources/qbd/transfers.mjs.map +1 -0
  364. package/resources/qbd/vendor-credits.d.ts +2298 -0
  365. package/resources/qbd/vendor-credits.d.ts.map +1 -0
  366. package/resources/qbd/vendor-credits.js +69 -0
  367. package/resources/qbd/vendor-credits.js.map +1 -0
  368. package/resources/qbd/vendor-credits.mjs +64 -0
  369. package/resources/qbd/vendor-credits.mjs.map +1 -0
  370. package/resources/qbd/vendors.d.ts +1677 -0
  371. package/resources/qbd/vendors.d.ts.map +1 -0
  372. package/resources/qbd/vendors.js +58 -0
  373. package/resources/qbd/vendors.js.map +1 -0
  374. package/resources/qbd/vendors.mjs +53 -0
  375. package/resources/qbd/vendors.mjs.map +1 -0
  376. package/shims/node.d.ts +30 -0
  377. package/shims/node.d.ts.map +1 -0
  378. package/shims/node.js +31 -0
  379. package/shims/node.js.map +1 -0
  380. package/shims/node.mjs +5 -0
  381. package/shims/node.mjs.map +1 -0
  382. package/shims/web.d.ts +26 -0
  383. package/shims/web.d.ts.map +1 -0
  384. package/shims/web.js +31 -0
  385. package/shims/web.js.map +1 -0
  386. package/shims/web.mjs +5 -0
  387. package/shims/web.mjs.map +1 -0
  388. package/src/_shims/MultipartBody.ts +9 -0
  389. package/src/_shims/README.md +46 -0
  390. package/src/_shims/auto/runtime-bun.ts +4 -0
  391. package/src/_shims/auto/runtime-node.ts +4 -0
  392. package/src/_shims/auto/runtime.ts +4 -0
  393. package/src/_shims/auto/types-node.ts +4 -0
  394. package/src/_shims/auto/types.d.ts +101 -0
  395. package/src/_shims/auto/types.js +3 -0
  396. package/src/_shims/auto/types.mjs +3 -0
  397. package/src/_shims/bun-runtime.ts +14 -0
  398. package/src/_shims/index.d.ts +81 -0
  399. package/src/_shims/index.js +13 -0
  400. package/src/_shims/index.mjs +7 -0
  401. package/src/_shims/manual-types.d.ts +12 -0
  402. package/src/_shims/manual-types.js +3 -0
  403. package/src/_shims/manual-types.mjs +3 -0
  404. package/src/_shims/node-runtime.ts +81 -0
  405. package/src/_shims/node-types.d.ts +42 -0
  406. package/src/_shims/node-types.js +3 -0
  407. package/src/_shims/node-types.mjs +3 -0
  408. package/src/_shims/registry.ts +67 -0
  409. package/src/_shims/web-runtime.ts +103 -0
  410. package/src/_shims/web-types.d.ts +83 -0
  411. package/src/_shims/web-types.js +3 -0
  412. package/src/_shims/web-types.mjs +3 -0
  413. package/src/core.ts +1208 -0
  414. package/src/error.ts +130 -0
  415. package/src/index.ts +227 -0
  416. package/src/internal/qs/LICENSE.md +13 -0
  417. package/src/internal/qs/README.md +3 -0
  418. package/src/internal/qs/formats.ts +9 -0
  419. package/src/internal/qs/index.ts +13 -0
  420. package/src/internal/qs/stringify.ts +388 -0
  421. package/src/internal/qs/types.ts +71 -0
  422. package/src/internal/qs/utils.ts +265 -0
  423. package/src/lib/.keep +4 -0
  424. package/src/pagination.ts +60 -0
  425. package/src/resource.ts +11 -0
  426. package/src/resources/auth-sessions.ts +99 -0
  427. package/src/resources/end-users.ts +216 -0
  428. package/src/resources/index.ts +14 -0
  429. package/src/resources/qbd/accounts.ts +797 -0
  430. package/src/resources/qbd/bill-check-payments.ts +1086 -0
  431. package/src/resources/qbd/bill-credit-card-payments.ts +851 -0
  432. package/src/resources/qbd/bills.ts +3039 -0
  433. package/src/resources/qbd/checks.ts +3003 -0
  434. package/src/resources/qbd/classes.ts +366 -0
  435. package/src/resources/qbd/credit-card-charges.ts +2646 -0
  436. package/src/resources/qbd/credit-card-credits.ts +2643 -0
  437. package/src/resources/qbd/credit-memos.ts +3157 -0
  438. package/src/resources/qbd/customers.ts +2518 -0
  439. package/src/resources/qbd/date-driven-terms.ts +314 -0
  440. package/src/resources/qbd/discount-items.ts +712 -0
  441. package/src/resources/qbd/employees.ts +2266 -0
  442. package/src/resources/qbd/estimates.ts +2975 -0
  443. package/src/resources/qbd/index.ts +346 -0
  444. package/src/resources/qbd/inventory-adjustments.ts +1008 -0
  445. package/src/resources/qbd/inventory-assembly-items.ts +1126 -0
  446. package/src/resources/qbd/inventory-items.ts +1026 -0
  447. package/src/resources/qbd/inventory-sites.ts +605 -0
  448. package/src/resources/qbd/invoices.ts +3398 -0
  449. package/src/resources/qbd/journal-entries.ts +1051 -0
  450. package/src/resources/qbd/non-inventory-items.ts +1138 -0
  451. package/src/resources/qbd/payroll-wage-items.ts +304 -0
  452. package/src/resources/qbd/purchase-orders.ts +3045 -0
  453. package/src/resources/qbd/qbd.ts +876 -0
  454. package/src/resources/qbd/receive-payments.ts +1609 -0
  455. package/src/resources/qbd/sales-orders.ts +3141 -0
  456. package/src/resources/qbd/sales-receipts.ts +3977 -0
  457. package/src/resources/qbd/sales-representatives.ts +340 -0
  458. package/src/resources/qbd/sales-tax-codes.ts +398 -0
  459. package/src/resources/qbd/sales-tax-items.ts +583 -0
  460. package/src/resources/qbd/service-items.ts +1105 -0
  461. package/src/resources/qbd/standard-terms.ts +295 -0
  462. package/src/resources/qbd/subtotal-items.ts +430 -0
  463. package/src/resources/qbd/transfers.ts +359 -0
  464. package/src/resources/qbd/vendor-credits.ts +2742 -0
  465. package/src/resources/qbd/vendors.ts +2017 -0
  466. package/src/shims/node.ts +50 -0
  467. package/src/shims/web.ts +50 -0
  468. package/src/tsconfig.json +11 -0
  469. package/src/uploads.ts +255 -0
  470. package/src/version.ts +1 -0
  471. package/uploads.d.ts +75 -0
  472. package/uploads.d.ts.map +1 -0
  473. package/uploads.js +171 -0
  474. package/uploads.js.map +1 -0
  475. package/uploads.mjs +158 -0
  476. package/uploads.mjs.map +1 -0
  477. package/version.d.ts +2 -0
  478. package/version.d.ts.map +1 -0
  479. package/version.js +5 -0
  480. package/version.js.map +1 -0
  481. package/version.mjs +2 -0
  482. package/version.mjs.map +1 -0
  483. package/dist/package.json +0 -48
  484. package/dist/src/Client.d.ts +0 -21
  485. package/dist/src/Client.js +0 -54
  486. package/dist/src/index.d.ts +0 -11
  487. package/dist/src/index.js +0 -59
  488. package/dist/src/integrations/BaseIntegration.d.ts +0 -9
  489. package/dist/src/integrations/BaseIntegration.js +0 -14
  490. package/dist/src/integrations/qbd/QbdIntegration.d.ts +0 -3120
  491. package/dist/src/integrations/qbd/QbdIntegration.js +0 -3147
  492. package/dist/src/integrations/qbd/qbdTypes.d.ts +0 -14076
  493. package/dist/src/integrations/qbd/qbdTypes.js +0 -2
  494. package/dist/src/interceptors/errorHandling.d.ts +0 -2
  495. package/dist/src/interceptors/errorHandling.js +0 -53
  496. package/dist/src/interceptors/logging.d.ts +0 -18
  497. package/dist/src/interceptors/logging.js +0 -70
  498. package/dist/src/resources/AuthSessionsResource.d.ts +0 -77
  499. package/dist/src/resources/AuthSessionsResource.js +0 -26
  500. package/dist/src/resources/BaseResource.d.ts +0 -6
  501. package/dist/src/resources/BaseResource.js +0 -9
  502. package/dist/src/resources/EndUsersResource.d.ts +0 -84
  503. package/dist/src/resources/EndUsersResource.js +0 -57
  504. package/dist/src/resources/types.d.ts +0 -40
  505. package/dist/src/utils/checkForUpdates.d.ts +0 -2
  506. package/dist/src/utils/checkForUpdates.js +0 -65
  507. package/dist/src/utils/env.d.ts +0 -1
  508. package/dist/src/utils/env.js +0 -15
  509. package/dist/src/utils/error.d.ts +0 -184
  510. package/dist/src/utils/error.js +0 -254
@@ -1,3147 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseIntegration_1 = __importDefault(require("../../integrations/BaseIntegration"));
7
- const error_1 = require("../../utils/error");
8
- class QbdIntegration extends BaseIntegration_1.default {
9
- /**
10
- * An account represents a financial account, allowing customization like
11
- * sub-accounting, account numbering, and initial balance setting.
12
- */
13
- account = {
14
- /**
15
- * Perform the same activities as a user does in the QB New Account form,
16
- * which can be accessed in QB by selecting "Lists" → "Chart of Accounts" →
17
- * "Accounts" → "New".
18
- *
19
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AccountAdd
20
- */
21
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { AccountAddRq: { AccountAdd: params } }, "AccountAddRs", "AccountRet"),
22
- /**
23
- * Modifies an account.
24
- *
25
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AccountMod
26
- */
27
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { AccountModRq: { AccountMod: params } }, "AccountModRs", "AccountRet"),
28
- /**
29
- * `AccountQuery` is a list query that returns data for all accounts that
30
- * match the provided filter criteria. Notice that it returns only data
31
- * internal to the account itself. It does not return any data about
32
- * transactions involving the account. It does, however, return the parent
33
- * account, if there is one. You can search across all accounts or you can
34
- * specify an account type and search only those.
35
- *
36
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AccountQuery
37
- */
38
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { AccountQueryRq: params }, "AccountQueryRs", "AccountRet"),
39
- };
40
- /**
41
- * A credit card refund transaction is a transaction that represents a
42
- * refund of a credit card charge.
43
- */
44
- arRefundCreditCard = {
45
- /**
46
- * Adds a credit card refund transaction that is linked to one or more
47
- * QuickBooks credit memo transactions. You can link the credit card refund
48
- * to one or more of those credit transactions.
49
- *
50
- * Notice that this provides functionality over and above what the UI
51
- * provides, which currently allows a user to link only one credit card
52
- * refund to one credit transaction.
53
- *
54
- * See more:
55
- * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ARRefundCreditCardAdd
56
- */
57
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ARRefundCreditCardAddRq: { ARRefundCreditCardAdd: params } }, "ARRefundCreditCardAddRs", "ARRefundCreditCardRet"),
58
- /**
59
- * Retrieves the specified credit card refund transaction or transactions.
60
- *
61
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ARRefundCreditCardQuery
62
- */
63
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ARRefundCreditCardQueryRq: params }, "ARRefundCreditCardQueryRs", "ARRefundCreditCardRet"),
64
- };
65
- /**
66
- * A bill is a transaction that represents a request-for-payment from a vendor
67
- * for goods or services that it has provided.
68
- */
69
- bill = {
70
- /**
71
- * This API provides the functionality of the QuickBooks “Enter Bills” form,
72
- * which is used when the QuickBooks user owes money to a vendor, either
73
- * through expenses incurred by the vendor (specified in the Expenses tab
74
- * within the Enter Bills form), or through receiving items (specified in
75
- * the Items tab within the Enter Bills form). When a bill is added,
76
- * QuickBooks enters the billed amount into the `AccountsPayable` register.
77
- *
78
- * The Enter Bills form can be reached in the QuickBooks UI by selecting
79
- * "Vendors" -> "Enter Bills", or by clicking on the Bill icon on the main
80
- * menubar. Notice that the `ExpenseLineAdd` aggregate maps to a line item
81
- * inside the Expense tab in the Enter Bills form, and the `ItemLineAdd`
82
- * aggregate maps to a line item inside the Item tab.
83
- *
84
- * If you are receiving items against one or more open `PurchaseOrders` for
85
- * the vendor, you can use the `LinkToTxnID` element (links in all line
86
- * items from a `PurchaseOrder`) and/or the `LinkToTxn` aggregate within a
87
- * line item (links in a specific `PurchaseOrder` line item).
88
- * - See the chapter on handling receive payment and bill payment in the QB
89
- * SDK Programmer’s Guide for complete details and rules: "The Life Cycle
90
- * of Inventory Items and Effects of Sales and Purchases".
91
- *
92
- * The value of inventory is set when an inventory item is created or
93
- * bought. QuickBooks uses cost averaging and decreases the value of the
94
- * inventory asset account at the price when the sale is recorded.
95
- *
96
- * So, lets say a company starts carrying widgets as inventory items. First
97
- * the inventory item must be created in QuickBooks. If the widgets are
98
- * already in inventory based on a purchase made that will not be recorded
99
- * in QuickBooks, the user or application would add the inventory item
100
- * description along with the quantity on hand and the value (total purchase
101
- * price) of the quantity on hand. If the purchase is to be recorded in
102
- * QuickBooks the inventory item would be created with quantity and value of
103
- * 0 (zero). Then a bill would be added to QB which would increase the
104
- * inventory quantity and value. Lets say we bought 10 widgets for $100.
105
- * QuickBooks would then consider each widget to be worth $10. The next day
106
- * a customer buys 5 widgets for $20 each. A sales receipt or invoice is
107
- * created for the purchase, the quantity of widgets is reduced by 5, to 5
108
- * and the value is reduced by $50 to $50. The inventory asset account is
109
- * reduced by $50 and the undeposited funds or accounts receivable account
110
- * is increased by $100. It appears that widgets will be a big seller, so
111
- * the small business owner goes out and buys 10 more widgets. However, the
112
- * supplier has also noticed a widget buying trend, so he’s increased the
113
- * price to $25 each. So now our quantity is increased from 5 to 15 and the
114
- * value is increased from $50 to $300, so they are considered to be worth
115
- * $20 each. After purchasing the widgets another customer decides to buy 10
116
- * widgets but the price has been raised to $50 each. After the sales
117
- * receipt or invoice is entered, the inventory is reduced to 5 and the
118
- * value
119
- *
120
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillAdd
121
- */
122
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillAddRq: { BillAdd: params } }, "BillAddRs", "BillRet"),
123
- /**
124
- * Edit an existing Bill, similar to editing a Bill in the Enter Bills form
125
- * in the QuickBooks UI.
126
- *
127
- * Notice that you cannot link a `PurchaseOrder` to an existing Bill using
128
- * the `BillMod` request. You can link to a `PurchaseOrder` only in new
129
- * Bills, using `BillAdd`.
130
- *
131
- * Notice also that some fields in a `BillMod` request cannot be cleared. If
132
- * any of the following fields is included in a bill modify request, it must
133
- * contain a value:
134
- * - `VendorRef`
135
- * - `APAccountRef`
136
- * - `TxnDate`
137
- * - `DueDate`
138
- * - `ClearExpenseLines`
139
- * - `ClearItemLines`
140
- *
141
- * Within` ExpenseLineMod`:
142
- * - `Amount`
143
- * - `BillableStatus`
144
- *
145
- * Within `ItemLineMod` or `ItemGroupMod`:
146
- * - `ItemRef`
147
- * - `Quantity`
148
- * - `Cost`
149
- * - `Amount`
150
- * - `BillableStatus`
151
- * - `OverrideItemAccountRef`
152
- *
153
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillMod
154
- */
155
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillModRq: { BillMod: params } }, "BillModRs", "BillRet"),
156
- /**
157
- * Provides functionality found in the Find/Advanced-Find window to find
158
- * bills that are to be paid by check. The Find/Advanced-Find windows can be
159
- * reached by clicking the Find button on the main QuickBooks menubar, by
160
- * selecting "Edit" -> "Find", or simply by using the shortcut CTRL-F. Notice that
161
- * you can use the `metaData` attribute inside the query tag if you want
162
- * only a count of the bills that will be returned from the query. If you
163
- * know the bill’s transaction ID or reference number, you could use these,
164
- * or search by transaction date, or search by the date where the bill was
165
- * last modified. You can search for paid/unpaid bills by using the
166
- * `PaidStatus` flag.
167
- *
168
- * If you need additional filters, you can use the entity filter to search
169
- * for bills from a specific vendor or vendor sub (using the
170
- * `ListIDWithChildren` or `FullNameWithChildren` tags). You can also search
171
- * for bills entered against a particular account (the `APAccountRef`
172
- * specified in the originating `BillAdd` request). You can specify all
173
- * subaccounts by using the various `*WithChildren` tags. For example, to
174
- * find all bills entered against Checking where you have multiple checking
175
- * accounts, you would use the `ListIDWithChildren` or
176
- * `FullNameWithChildren` tags inside your AccountFilter tags. You can
177
- * filter on the `RefNumber` or `RefNumber` range. Notice that all of these
178
- * filters can be used together (ANDed) if desired.
179
- *
180
- * If you want bill line items returned from the query, you must use the
181
- * `IncludeLineItems` tag. Notice that you don’t specify line item groups.
182
- * If line item groups were set up for the line items, the returned line
183
- * items are automatically segregated by group.
184
- *
185
- * You can get all of the linked transactions such as `PurchaseOrders` and
186
- * Credits by using the `IncludeLinkedTxns` tag. You can get public data
187
- * extensions (these are custom data whose fields can be displayed in
188
- * QuickBooks) by supplying the OwnerID tag set to 0. To get private data
189
- * extensions (custom data not displayable in QuickBooks) you must use the
190
- * `OwnerID` tag set to the known GUID value. You must know the GUID value
191
- * in order to access private data extensions.
192
- *
193
- * To prevent the return of too much data, you can use `MaxReturned` to
194
- * limit the total number of bills returned from the query. In addition, you
195
- * can limit the type of data that is returned for each bill, using
196
- * `IncludeRetElement`. Finally, you can specify whether each bill contains
197
- * line items using the `IncludeLineItems`, which by default is False (no
198
- * line item data).
199
- *
200
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillQuery
201
- */
202
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { BillQueryRq: params }, "BillQueryRs", "BillRet"),
203
- };
204
- /**
205
- * A billing rate is a predefined cost rate assigned to vendors or employees.
206
- */
207
- billingRate = {
208
- /**
209
- * Adds a billing rate to the billing rate level list.
210
- *
211
- * After a billing rate is created, it can be assigned to an employee or
212
- * vendor (`VendorAdd`/`VendorMod`, `EmployeeAdd`/`EmployeeMod`) via the
213
- * `BillingRateRef` element in the appropriate request. Then, once the
214
- * billing rate is assigned to an employee or vendor, if you use that
215
- * employee or vendor in a time transaction (`TimeTrackingAdd`), then the
216
- * billing rate will override the rate specified by the service item used in
217
- * the time transaction.
218
- *
219
- * Use `FixedBillingRate` to override all service items with a fixed rate.
220
- * Use `BillingRatePerItem` to override a specific service item. If you want
221
- * to specify more than one service item, you’ll need to use one
222
- * `BillingRatePerItem` aggregate for each service item.
223
- *
224
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillingRateAdd
225
- */
226
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillingRateAddRq: { BillingRateAdd: params } }, "BillingRateAddRs", "BillingRateRet"),
227
- /**
228
- * Returns all billing rates, or billing rates filtered by modified date, or
229
- * filtered by billing rate name, or filtered by the service item referenced
230
- * in the billing rate.
231
- *
232
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillingRateQuery
233
- */
234
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { BillingRateQueryRq: params }, "BillingRateQueryRs", "BillingRateRet"),
235
- };
236
- /**
237
- * A bill payment check is a transaction that represents a payment by check
238
- * for a bill.
239
- */
240
- billPaymentCheck = {
241
- /**
242
- * Adds a bill payment check.
243
- *
244
- * A `BillPaymentCheckAdd` request must include either `PaymentAmount`,
245
- * `SetCredit`, or `DiscountAmount` (or more than one of these). If none of
246
- * these three is included, the SDK will return an error.
247
- *
248
- * Also, the `AppliedToTxnAdd` aggregate needs both the `TxnID` and the
249
- * payment amount if you are not using the `SetCredit` sub-aggregate or
250
- * QuickBooks won’t have an amount to apply. If you are using the
251
- * `SetCredit` sub-aggregate, you’ll need to set the amount in the
252
- * `AppliedAmount` field.
253
- *
254
- * `BillPaymentCheckAdd` provides the functionality found in the Pay Bills
255
- * form in the QuickBooks UI. You can reach this form by selecting
256
- * Retail->Pay Bills from the main QuickBooks menubar. `BillPayment` is
257
- * described in detail in the chapter on handling receive payment and bill
258
- * payment in the QB SDK Programmer’s Guide. Notice that the request
259
- * requires one (but not more than one!) `BillPaymentCheckAdd` sub
260
- * aggregate, which is provided to support the SDK macro feature in this
261
- * request. Notice that you can supply only one of these sub aggregates in
262
- * the request. If you want to pay multiple bills, you must issue a separate
263
- * request for each bill pay.
264
- *
265
- * If you are using more than one A/P account, make sure that the
266
- * `APAccountRef` in the `BillPaymentCheckAdd` matches the `APAccountRef`
267
- * that was used when the `Bill` was originally added. That is, the `Bill`
268
- * was entered in a particular account payable: use that same account
269
- * payable when you pay the bill using this request.
270
- *
271
- * Notice that although you can set the `IsToBePrinted` flag, you cannot
272
- * print checks using the SDK.
273
- *
274
- * Notice that you set the check number, if desired, using the `RefNumber`
275
- * tags.
276
- *
277
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillPaymentCheckAdd
278
- */
279
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillPaymentCheckAddRq: { BillPaymentCheckAdd: params } }, "BillPaymentCheckAddRs", "BillPaymentCheckRet"),
280
- /**
281
- * Modifies the specified bill payment check.
282
- *
283
- * Note: the `AppliedToTxnMod` aggregate needs both the `TxnID` and the
284
- * payment amount if you are not using the `SetCredit` sub-aggregate or
285
- * QuickBooks won’t have an amount to apply. If you are using the
286
- * `SetCredit` sub-aggregate, you’ll need to set the amount in the
287
- * `AppliedAmount` field.
288
- *
289
- * Generally, this is what you can do with `BillPaymentCheckMod`:
290
- * - Modify or clear the `RefNumber` or Memo.
291
- * - Modify (not clear) the `TxnDate`.
292
- * - Modify (not clear) the `BankAccountRef`
293
- * - Modify (not clear) the `IsToBePrinted` flag.
294
- * - For a bill payment check transaction that has been applied to several
295
- * existing bills, redistribute the payment amounts applied to the bills.
296
- * - Change the discount amount applied to particular bill.
297
- * - You CANNOT change the credit amount applied to a particular bill. NOT
298
- * SUPPORTED!
299
- * - Apply the payment amount to a different bill. Apply a discount, and a
300
- * credit. The existing distribution is cleared, except for any credit
301
- * that may have been applied.
302
- * - Use a `BillPaymentCheckMod` to simply apply an additional credit to a
303
- * bill. Additional payment amount is available as a credit
304
- *
305
- * Other things you need to know: When a `BillPaymentCheckMod` request is
306
- * processed, if the `AppliedToTxnMod` aggregate is specified, then the
307
- * existing payments and discounts will be cleared (but not the credits).
308
- * The original payment amount will be redistributed according to the
309
- * `AppliedToTxnMod` aggregates (0 or more) contained in the
310
- * `BillPaymentCheckMod` request. The `AppliedToTxnMod` aggregate may
311
- * specify discounts, just as does the `AppliedToTxnAdd` aggregate. These
312
- * discounts will replace any original discounts. Credits may also be
313
- * specified. But if so, then the credits will be additional credits, and
314
- * will not affect any credits that were originally applied. The existing
315
- * payments and discounts will be cleared only if `AppliedToTxnMod` is
316
- * specified in the request. This will allow clients to modify other
317
- * information without modifying the distribution of the payment.
318
- *
319
- * In summary, in the `BillPaymentCheckMod` request, in the
320
- * `AppliedToTxnMod` aggregate, discounts replace those given in the
321
- * original payment. However credits simply add to any credits that may have
322
- * been applied before.
323
- *
324
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillPaymentCheckMod
325
- */
326
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillPaymentCheckModRq: { BillPaymentCheckMod: params } }, "BillPaymentCheckModRs", "BillPaymentCheckRet"),
327
- /**
328
- * Returns bill payment check transactions based on the supplied query
329
- * criteria.
330
- *
331
- * Provides functionality found in the Find/Advanced-Find window to find
332
- * bill payments paid by check. The Find/Advanced-Find windows can be
333
- * reached by clicking the Find button on the main QuickBooks menubar, by
334
- * selecting "Edit" -> "Find", or simply by using the shortcut CTRL-F. Notice that
335
- * you can use the `metaData` attribute inside the query tag if you want
336
- * only a count of the bill payments that will be returned from the query.
337
- *
338
- * If you know the bill payment transaction ID or reference number, you
339
- * could use these, or search by transaction date, or search by the date
340
- * where the bill was last modified.
341
- *
342
- * If you need additional filters, you can use the entity filter to search
343
- * for bills from a specific vendor or vendor sub (using the
344
- * `ListIDWithChildren` or `FullNameWithChildren` tags). You can also search
345
- * for bills entered against a particular account (the `APAccountRef`
346
- * specified in the originating `BillAdd` request). You can specify all
347
- * subaccounts by using the various `*WithChildren` tags. For example, to
348
- * find all bills entered against Checking where you have multiple checking
349
- * accounts, you would use the `ListIDWithChildren` or
350
- * `FullNameWithChildren` tags inside your `AccountFilter` tags. Finally,
351
- * you can filter on the `RefNumber` or `RefNumber` range. Notice that all
352
- * of these filters can be used together (ANDed) if desired.
353
- *
354
- * To prevent the return of too much data, you can use `MaxReturned` to
355
- * limit the total number of bills returned from the query. In addition, you
356
- * can limit the type of data that is returned for each bill, using
357
- * `IncludeRetElement`. Finally, you can specify whether each bill contains
358
- * line items using the `IncludeLineItems`, which by default is `False` (no
359
- * line item data).
360
- *
361
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillPaymentCheckQuery
362
- */
363
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { BillPaymentCheckQueryRq: params }, "BillPaymentCheckQueryRs", "BillPaymentCheckRet"),
364
- };
365
- /**
366
- * A bill payment credit card is a transaction that represents a payment by
367
- * credit card for a bill.
368
- */
369
- billPaymentCreditCard = {
370
- /**
371
- * Adds a bill payment credit card.
372
- *
373
- * A `BillPaymentCreditCardAdd` request must include either `PaymentAmount`,
374
- * `SetCredit`, or `DiscountAmount` (or more than one of these). If none of
375
- * these three is included, the SDK will return an error.
376
- *
377
- * `BillPaymentCreditCardAdd` provides functionality found in the Pay Bills
378
- * form in the QuickBooks UI. You can reach this form by selecting "Retail"
379
- * -> "Pay Bills" from the main QuickBooks menubar. `BillPayment` is
380
- * described in detail in the chapter on handling receive payment and bill
381
- * payment in the QB SDK Programmer’s Guide. Notice that the request
382
- * requires one (but not more than one!) `BillPaymentCreditCardAdd`
383
- * sub-aggregate. Notice that you can supply only one of these
384
- * sub-aggregates in the request. If you want to pay multiple bills, you
385
- * must issue a separate request for each bill pay.
386
- *
387
- * If you are using more than one A/P account, make sure that the
388
- * `APAccountRef` in the `BillPaymentCreditCardAdd` matches the
389
- * `APAccountRef` that was used when the `Bill` was originally added. That
390
- * is, the `Bill` was entered in a particular account payable: use that same
391
- * account payable when you pay the bill using this request.
392
- *
393
- * Notice that although you can set the `IsToBePrinted` flag, you cannot
394
- * print checks using the SDK.
395
- *
396
- * Finally, notice that it is possible to issue this request using only
397
- * `SetCredit` to apply an existing credit to the bill. However, if you do
398
- * this, you should be aware that no transaction ID is generated. The credit
399
- * and the bill simply are linked.
400
- *
401
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillPaymentCreditCardAdd
402
- */
403
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BillPaymentCreditCardAddRq: { BillPaymentCreditCardAdd: params } }, "BillPaymentCreditCardAddRs", "BillPaymentCreditCardRet"),
404
- /**
405
- * Returns bill payment credit card transactions based on the supplied query
406
- * criteria.
407
- *
408
- * Provides functionality found in the Find/Advanced Find window to find
409
- * bill payments that were paid by credit card. The Find/Advanced Find
410
- * windows can be reached by clicking the Find button on the main QuickBooks
411
- * menubar, by selecting "Edit" -> "Find", or simply by using the shortcut
412
- * CTRL-F. Notice that you can use the metaData attribute inside the query
413
- * tag if you want only a count of the bill payments that will be returned
414
- * from the query.
415
- *
416
- * If you know the bill’s transaction ID or reference number, you could use
417
- * these, or search by transaction date, or search by the date where the
418
- * bill was last modified.
419
- *
420
- * Important: If you made a bill payment by credit card, and ONLY applied a
421
- * credit using `SetCredit` (no funds were applied other than the credit),
422
- * then that payment will not be returned in this query because it is not
423
- * considered a separate transaction and has no `TxnID`. To get that kind of
424
- * payment, you must do a `BillQuery` on the original bill and specify
425
- * `IncludeLinkedTxns`. Any applied credit will be linked directly to the
426
- * bill.
427
- *
428
- * If you need additional filters, you can use the entity filter to search
429
- * for bills from a specific vendor or vendor sub (using the
430
- * `ListIDWithChildren` or `FullNameWithChildren` tags). You can also search
431
- * for bills entered against a particular account (the `APAccountRef`
432
- * specified in the originating `BillAdd` request). You can specify all
433
- * subaccounts by using the various *WithChildren tags. For example, to find
434
- * all bills entered against Checking where you have multiple checking
435
- * accounts, you would use the `ListIDWithChildren` or
436
- * `FullNameWithChildren` tags inside your AccountFilter tags. Finally, you
437
- * can filter on the `RefNumber` or `RefNumber` range. Notice that all of
438
- * these filters can be used together (ANDed) if desired.
439
- *
440
- * To prevent the return of too much data, you can use `MaxReturned` to
441
- * limit the total number of bills returned from the query. In addition, you
442
- * can limit the type of data that is returned for each bill, using
443
- * `IncludeRetElement`.
444
- *
445
- * Finally, you can specify whether each bill contains line items using the
446
- * `IncludeLineItems`, which by default is `False` (no line item data).
447
- *
448
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillPaymentCreditCardQuery
449
- */
450
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { BillPaymentCreditCardQueryRq: params }, "BillPaymentCreditCardQueryRs", "BillPaymentCreditCardRet"),
451
- };
452
- /**
453
- * A build assembly represents an inventory item created from other inventory
454
- * items or assemblies.
455
- */
456
- buildAssembly = {
457
- /**
458
- * Adds a build assembly transaction to QuickBooks, where the specified
459
- * quantity of the specified inventory assembly item is built. If there are
460
- * insufficient quantities of items required for the build, you can have the
461
- * build marked as a pending build by using setting `MarkPendingIfRequired`
462
- * to `True`. (If you don’t and there aren’t enough quantities on hand for
463
- * the build, this request will fail.) If successful, this request results
464
- * in the decrementing of the quantities on hand amounts of each item used
465
- * in the build, and the incrementing of the on hand quantities of the built
466
- * assembly item.
467
- *
468
- * This request is supported only in Premier and Enterprise.
469
- *
470
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyAdd
471
- */
472
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BuildAssemblyAddRq: { BuildAssemblyAdd: params } }, "BuildAssemblyAddRs", "BuildAssemblyRet"),
473
- /**
474
- * Modifies an existing build assembly transaction in the QuickBooks
475
- * company.
476
- *
477
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyMod
478
- */
479
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BuildAssemblyModRq: { BuildAssemblyMod: params } }, "BuildAssemblyModRs", "BuildAssemblyRet"),
480
- /**
481
- * Filters build assembly transactions by the specified filter criteria.
482
- *
483
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyQuery
484
- */
485
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { BuildAssemblyQueryRq: params }, "BuildAssemblyQueryRs", "BuildAssemblyRet"),
486
- };
487
- /**
488
- * A charge contains information about a statement charge. (A credit card
489
- * charge, on the other hand, refers to a credit card charge incurred by the
490
- * QuickBooks user.)
491
- */
492
- charge = {
493
- /**
494
- * Adds a customer charge. A `Charge` contains information about a statement
495
- * charge. (A `CreditCardCharge` object, on the other hand, refers to a
496
- * credit card charge incurred by the QuickBooks user.)
497
- *
498
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeAdd
499
- */
500
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ChargeAddRq: { ChargeAdd: params } }, "ChargeAddRs", "ChargeRet"),
501
- /**
502
- * Modifies the specified charge.
503
- *
504
- * Some fields in a `ChargeMod` request cannot be cleared. If any of the
505
- * following fields is included in a charge modify request, it must contain
506
- * a value:
507
- * - `CustomerRef`
508
- * - `TxnDate`
509
- * - `ItemRef`
510
- * - `Quantity`
511
- * - `Rate`
512
- * - `Amount`
513
- * - `ARAccountRef`
514
- * - `OverrideItemAccountRef`
515
- *
516
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeMod
517
- */
518
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ChargeModRq: { ChargeMod: params } }, "ChargeModRs", "ChargeRet"),
519
- /**
520
- * Returns information about statement charges.
521
- *
522
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeQuery
523
- */
524
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ChargeQueryRq: params }, "ChargeQueryRs", "ChargeRet"),
525
- };
526
- /**
527
- * A check is a transaction that represents a paper check.
528
- */
529
- check = {
530
- /**
531
- * The amount of a check is the total of the amounts assigned to expense
532
- * lines and item lines. You can write a check for:
533
- * - Any expense that you track through expense accounts.
534
- * - The following types of items: fixed asset, non-inventory part, service,
535
- * and other charge.
536
- * - Putting money into your petty cash account.
537
- * - Inventory part items (if you use the inventory/purchase order feature).
538
- *
539
- * You cannot use a `CheckAdd` for any of the following:
540
- * - Paying a bill by check; instead, use a `BillPaymentCheckAdd`.
541
- * - Paying employees or create paychecks.
542
- * - Paying payroll taxes and liabilities.
543
- * - Paying sales tax.
544
- * - Paying for received items.
545
- *
546
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CheckAdd
547
- */
548
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CheckAddRq: { CheckAdd: params } }, "CheckAddRs", "CheckRet"),
549
- /**
550
- * Modifies an existing Check. Notice that you cannot use this to modify
551
- * `BillPaymentChecks`.
552
- *
553
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CheckMod
554
- */
555
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CheckModRq: { CheckMod: params } }, "CheckModRs", "CheckRet"),
556
- /**
557
- * Returns certain types of checks based on the supplied query criteria.
558
- * Note that `BillPaymentChecks`, payroll checks, and liability checks are
559
- * not returned.
560
- *
561
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CheckQuery
562
- */
563
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CheckQueryRq: params }, "CheckQueryRs", "CheckRet"),
564
- };
565
- /**
566
- * Classes can be used to separate transactions into meaningful categories.
567
- * (For example, transactions could be classified according to department,
568
- * business location, or type of work.)
569
- */
570
- class = {
571
- /**
572
- * Classes can be used to separate transactions into meaningful categories.
573
- * (For example, transactions could be classified according to department,
574
- * business location, or type of work.) In QuickBooks, class tracking is off
575
- * by default.
576
- *
577
- * A `ClassRef` aggregate refers to one of these named classes. For example,
578
- * in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class
579
- * into which the timed activity falls. If a `ClassRef` aggregate includes
580
- * both `FullName` and `ListID`, `FullName` will be ignored.
581
- *
582
- * In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole
583
- * invoice, that same `ClassRef` is automatically used in the line items. If
584
- * you want to clear that (that is, have NO `ClassRef` for the line item,
585
- * you can clear it in the line item by simply not specifying it in the line
586
- * item.
587
- *
588
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ClassAdd
589
- */
590
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ClassAddRq: { ClassAdd: params } }, "ClassAddRs", "ClassRet"),
591
- /**
592
- * Modifies the specified class.
593
- *
594
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ClassMod
595
- */
596
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ClassModRq: { ClassMod: params } }, "ClassModRs", "ClassRet"),
597
- /**
598
- * Queries for existing classes.
599
- *
600
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ClassQuery
601
- */
602
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ClassQueryRq: params }, "ClassQueryRs", "ClassRet"),
603
- };
604
- /**
605
- * The company refers to the end-user's business entity within QuickBooks
606
- * Desktop.
607
- */
608
- company = {
609
- /**
610
- * Returns detailed information about a QuickBooks company file, such as the
611
- * company’s address and legal name, certain preferences that are set, and
612
- * any services that the company is subscribed to, such as payroll,
613
- * QuickBooks Merchant Services, and so forth.
614
- *
615
- * Company information cannot be added or modified through the SDK, only
616
- * through the QuickBooks user interface
617
- *
618
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CompanyQuery
619
- */
620
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CompanyQueryRq: params }, "CompanyQueryRs", "CompanyRet"),
621
- };
622
- /**
623
- * A credit card charge is a general charge incurred when a QuickBooks user
624
- * makes a purchase using a credit card. Credit card charges for purchases can
625
- * be tracked as expenses (in expense accounts) or as items.
626
- */
627
- creditCardCharge = {
628
- /**
629
- * A credit card charge is a general charge incurred when a QuickBooks user
630
- * makes a purchase using a credit card. Credit card charges for purchases
631
- * can be tracked as expenses (in expense accounts) or as items.
632
- *
633
- * The current balance on the credit card becomes part of the accounts
634
- * payable balance. If a balance is carried on the credit card across time,
635
- * finance or interest charges can be tracked in QuickBooks.
636
- *
637
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeAdd
638
- */
639
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditCardChargeAddRq: { CreditCardChargeAdd: params } }, "CreditCardChargeAddRs", "CreditCardChargeRet"),
640
- /**
641
- * The Credit Card charge mod request allows you to modify an existing
642
- * credit card charge transaction using the SDK. You can modify most of the
643
- * fields that can be modified in the QuickBooks UI. That is, this request
644
- * can be used to modify Purchased from, date, credit card and modify lines
645
- * from the item table and the expense table.
646
- *
647
- * The following list describes what you can and cannot due with this
648
- * request:
649
- * - You can modify or clear the following fields: Ref Num and Memo
650
- * - You can modify (not clear) transaction date
651
- * - You can change the credit card account to support the scenario where
652
- * the credit card transaction was created and posted to the wrong credit
653
- * card account (impacts your accounting).
654
- * - You can modify the Purchase from field (Payee Name) to change the Payee
655
- * Name on the credit card transaction to a different name (employee, job,
656
- * customer, vendor, other name). This field cannot be cleared since it is
657
- * required by QB business logic
658
- * - You cannot modify the amount due directly! (However the amount due will
659
- * change when you modify the transaction lines.)
660
- * - You cannot change a Charge to a Credit.
661
- * - You cannot Void the charge. Use TxnVoid instead.
662
- * - You can clear the entire expense table or the entire item table, but
663
- * you cannot clear both tables at the same time.
664
- *
665
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeMod
666
- */
667
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditCardChargeModRq: { CreditCardChargeMod: params } }, "CreditCardChargeModRs", "CreditCardChargeRet"),
668
- /**
669
- * Queries for the specified credit card charge or charges.
670
- *
671
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeQuery
672
- */
673
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CreditCardChargeQueryRq: params }, "CreditCardChargeQueryRs", "CreditCardChargeRet"),
674
- };
675
- /**
676
- * A credit card credit is a credit card refund issued to a customer.
677
- */
678
- creditCardCredit = {
679
- /**
680
- * If a QuickBooks user returns merchandise and receives credit, the credit
681
- * is entered in QuickBooks and assigned to the appropriate expense account.
682
- * Typically, the assigned expense account reflects the same account,
683
- * customer, and class that were assigned when the merchandise was first
684
- * purchased. (The original purchase would be described by a
685
- * `CreditCardCharge` message.)
686
- *
687
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditAdd
688
- */
689
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditCardCreditAddRq: { CreditCardCreditAdd: params } }, "CreditCardCreditAddRs", "CreditCardCreditRet"),
690
- /**
691
- * The Credit Card credit mod request allows you to modify an existing
692
- * credit card credit transaction using the SDK. You can modify most of the
693
- * fields that can be modified in the QuickBooks UI. That is, this request
694
- * can be used to modify Purchased from, date, credit card and modify lines
695
- * from the item table and the expense table.
696
- *
697
- * The following list describes what you can and cannot due with this
698
- * request:
699
- * - You can modify or clear the following fields: Ref Num and Memo
700
- * - You can modify (not clear) transaction date
701
- * - You can change the credit card account to support the scenario where
702
- * the credit card transaction was created and posted to the wrong credit
703
- * card account (impacts your accounting).
704
- * - You can modify the Purchase from field (Payee Name) to change the Payee
705
- * Name on the credit card transaction to a different name (employee, job,
706
- * customer, vendor, other name). This field cannot be cleared since it is
707
- * required by QB business logic
708
- * - You cannot modify the amount due directly! (However the amount due will
709
- * change when you modify the transaction lines.)
710
- * - You cannot change a Credit to a Charge.
711
- * - You cannot Void the credit. Use TxnVoid instead.
712
- * - You can clear the entire expense table or the entire item table, but
713
- * you cannot clear both tables at the same time.
714
- *
715
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditMod
716
- */
717
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditCardCreditModRq: { CreditCardCreditMod: params } }, "CreditCardCreditModRs", "CreditCardCreditRet"),
718
- /**
719
- * Queries for the specified credit or set of credits.
720
- *
721
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditQuery
722
- */
723
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CreditCardCreditQueryRq: params }, "CreditCardCreditQueryRs", "CreditCardCreditRet"),
724
- };
725
- /**
726
- * A credit memo specifies an amount that you owe your customer for some
727
- * reason, such as overpayment against an invoice, returned merchandise, or
728
- * for some pre-payment. It reduces a customer’s outstanding balance.
729
- *
730
- * Do not confuse a credit memo with a vendor credit, which specifies an
731
- * amount that a vendor owes you.
732
- */
733
- creditMemo = {
734
- /**
735
- * Adds a credit memo. A credit memo specifies an amount that you owe your
736
- * customer for some reason, such as overpayment against an invoice,
737
- * returned merchandise, or for some pre-payment. It reduces a customer’s
738
- * outstanding balance. The `CreditMemo` doesn’t actually get applied until
739
- * is referenced in a `ReceivePayment` transaction inside the `SetCredit`
740
- * aggregate.
741
- *
742
- * The `CreditMemo` should not be confused with a `VendorCredit`, which
743
- * specifies an amount that a vendor owes you.
744
- *
745
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditMemoAdd
746
- */
747
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditMemoAddRq: { CreditMemoAdd: params } }, "CreditMemoAddRs", "CreditMemoRet"),
748
- /**
749
- * Modifies an existing credit memo.
750
- *
751
- * Some fields in a CreditMemoMod request cannot be cleared. If any of the
752
- * following fields is included in a credit-memo modify request, it must
753
- * contain a value:
754
- * - `CustomerRef`
755
- * - `ARAccountRef`
756
- * - `TemplateRef`
757
- * - `TxnDate`
758
- * - `IsPending`
759
- * - `DueDate`
760
- * - `ShipDate`
761
- * - `ItemSalesTaxRef`
762
- * - `IsToBePrinted`
763
- *
764
- * Within `CreditMemoLineMod` or `CreditMemoLineGroupMod`:
765
- * - `ItemRef`
766
- * - `Quantity`
767
- * - `Rate`
768
- * - `Amount`
769
- * - `SalesTaxCodeRef`
770
- * - `OverrideItemAccountRef`
771
- *
772
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditMemoMod
773
- */
774
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CreditMemoModRq: { CreditMemoMod: params } }, "CreditMemoModRs", "CreditMemoRet"),
775
- /**
776
- * Queries for the specified credit memo or set of credit memos.
777
- *
778
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditMemoQuery
779
- */
780
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CreditMemoQueryRq: params }, "CreditMemoQueryRs", "CreditMemoRet"),
781
- };
782
- /**
783
- * A currency is custom currency defined by the user.
784
- */
785
- currency = {
786
- /**
787
- * Adds a user-defined currency with the specified name and currency code.
788
- *
789
- * Currencies created by users are distinguished from the built-in QB
790
- * currencies in the `CurrencyRet` object: they are identified as
791
- * user-defined. User-defined currencies do not get their exchange rates
792
- * updated automatically by QuickBooks. You’ll always need to manually
793
- * update the exchange rates. However, other than this, these type of
794
- * currencies function within QB in the same way as the built-in currencies.
795
- * If you have not used a user-defined currency in a transaction, you can
796
- * delete it using `ListDel`. You cannot delete the built-in QB currencies.
797
- *
798
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CurrencyAdd
799
- */
800
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CurrencyAddRq: { CurrencyAdd: params } }, "CurrencyAddRs", "CurrencyRet"),
801
- /**
802
- * Modifies an existing currency.
803
- *
804
- * This request is used primarily for changing the `IsActive` status of the
805
- * built-in QuickBooks currencies. However, it can also be used to modify
806
- * anything in user-defined currencies. When used on a built-in currency,
807
- * this request cannot modify name or currency code, neither of which can be
808
- * modified in the UI either.
809
- *
810
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CurrencyMod
811
- */
812
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CurrencyModRq: { CurrencyMod: params } }, "CurrencyModRs", "CurrencyRet"),
813
- /**
814
- * Queries for built-in and user-defined currencies.
815
- *
816
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CurrencyQuery
817
- */
818
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CurrencyQueryRq: params }, "CurrencyQueryRs", "CurrencyRet"),
819
- };
820
- /**
821
- * Customers refer to both the QuickBooks user’s customers and the individual
822
- * jobs that are being performed for them.
823
- */
824
- customer = {
825
- /**
826
- * The customer list includes information about the QuickBooks user’s
827
- * customers and the individual jobs that are being performed for them. A
828
- * `CustomerRef` aggregate refers to one of the customers (or customer jobs)
829
- * on the list. In a request, if a `CustomerRef` aggregate includes both
830
- * `FullName` and `ListID`, `FullName` will be ignored. Special cases to
831
- * note:
832
- *
833
- * - In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers
834
- * to the customer or customer job to which the payment is credited.
835
- *
836
- * - In a `TimeTracking` request, CustomerRef refers to the customer or
837
- * customer job to which this time could be billed. If `IsBillable` is set
838
- * to true, `CustomerRef` is required in `TimeTrackingAdd`.
839
- *
840
- * - In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P
841
- * account, `CustomerRef` must refer to a vendor (not to a customer). If
842
- * `AccountRef` refers to any other type of account, the `CustomerRef`
843
- * must refer to a customer.
844
- *
845
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerAdd
846
- */
847
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CustomerAddRq: { CustomerAdd: params } }, "CustomerAddRs", "CustomerRet"),
848
- /**
849
- * Modifies the customer record.
850
- *
851
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerMod
852
- */
853
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CustomerModRq: { CustomerMod: params } }, "CustomerModRs", "CustomerRet"),
854
- /**
855
- * Returns data for the specified customers.
856
- *
857
- * Important: We highly recommend that you use the `IncludeRetElement` tag
858
- * in your `CustomerQuery` to include any data you want but do NOT include
859
- * the `ShipAddress` data in the `Response`, unless you need to get the
860
- * shipping address for a particular customer. Excluding the shipping
861
- * address data will significantly improve the performance of the
862
- * `CustomerQuery`.
863
- *
864
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerQuery
865
- */
866
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CustomerQueryRq: params }, "CustomerQueryRs", "CustomerRet"),
867
- };
868
- /**
869
- * Customer types allow business owners to categorize customers in ways that
870
- * are meaningful for their businesses. For example, a customer type might
871
- * indicate which industry a customer represents, or which part of the country
872
- * a customer is in.
873
- */
874
- customerType = {
875
- /**
876
- * Customer types allow business owners to categorize customers in ways that
877
- * are meaningful for their businesses. For example, a customer type might
878
- * indicate which industry a customer represents, or which part of the
879
- * country a customer is in.
880
- *
881
- * A `CustomerTypeRef` aggregate refers to one of the types on the
882
- * CustomerType list. In a request, if a `CustomerTypeRef` aggregate
883
- * includes both `FullName` and `ListID`, `FullName` will be ignored.
884
- *
885
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerTypeAdd
886
- */
887
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CustomerTypeAddRq: { CustomerTypeAdd: params } }, "CustomerTypeAddRs", "CustomerTypeRet"),
888
- /**
889
- * Queries for the specified customer type or set of types.
890
- *
891
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerTypeQuery
892
- */
893
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { CustomerTypeQueryRq: params }, "CustomerTypeQueryRs", "CustomerTypeRet"),
894
- };
895
- /**
896
- * A data extension is a custom field that you can add to a list object,
897
- * transaction, or transaction line item.
898
- */
899
- dataExt = {
900
- /**
901
- * Writes data to one data extension (i.e., custom field in QuickBooks).
902
- * This request can only be invoked if a data extension definition has
903
- * already been defined for the target object type. That is, before you can
904
- * perform the `DataExtAdd` on a particular customer, say John Henry, the
905
- * data extension must already be defined for the `Customer` object. Notice
906
- * that a data extension definition can be defined in either of two ways:
907
- * via `DataExtDefAdd` as already described, or via the QuickBooks UI by the
908
- * user specifying a custom field. Only custom fields can be defined through
909
- * the UI, not private data extensions.
910
- *
911
- * `DataExtAdd` adds a custom field (if `OwnerID` is set to 0) or a private
912
- * data extension (if `OwnerID` is set to a GUID) containing the specified
913
- * value. The custom field or private data extension and value is added to
914
- * the specified list object, or transaction, or transaction line item.
915
- *
916
- * `DataExtAdd` will return error 3180 if you invoke this on a custom data
917
- * ext definition that has been deleted and then re-added from the UI. (You
918
- * can’t re-add a deleted data ext def via the SDK.) However, you can use
919
- * `DataExtMod` to write data to that re-added data ext def.
920
- *
921
- * Important: If you want to perform a `DataExtAdd` on a transaction line
922
- * item, you should use custom fields instead of private data extensions
923
- * because only custom field data will be returned in queries. Currently,
924
- * private data is not returned.
925
- *
926
- * Both `DataExtAdd` and `DataExtMod` cause a Modify event to be generated
927
- * for the parent object. For example invoking one of these on a `Customer`
928
- * causes a `Customer` Modify event. The Time Modified value for that parent
929
- * object is also updated.
930
- *
931
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DataExtAdd
932
- */
933
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { DataExtAddRq: { DataExtAdd: params } }, "DataExtAddRs", "DataExtRet"),
934
- /**
935
- * This request can only be invoked if a data extension definition has
936
- * already been added to the target object (for example, the customer John
937
- * Henry) by a `DataExtDefAdd` or by the user specifying a custom field
938
- * value for that object via the QuickBooks UI.
939
- *
940
- * If you want to clear the data extension value (to make the custom field
941
- * or private extension blank), you must use `DataExtDel`. The `DataExtMod`
942
- * request cannot be used to clear the field.
943
- *
944
- * Both `DataExtAdd` and `DataExtMod` cause a Modify event to be generated
945
- * for the parent object. For example invoking one of these on a `Customer`
946
- * causes a `Customer` Modify event. The Time Modified value for that parent
947
- * object is also updated.
948
- *
949
- * Notice that the Mod operation does not support macros like `DataExtAdd`
950
- * does.
951
- *
952
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DataExtMod
953
- */
954
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { DataExtModRq: { DataExtMod: params } }, "DataExtModRs", "DataExtRet"),
955
- };
956
- /**
957
- * Date-driven terms show the day of the month by which payment is due and can
958
- * include a discount for early payment. Payments with standard terms, on the
959
- * other hand, are due within a certain number of days.
960
- */
961
- dateDrivenTerms = {
962
- /**
963
- * Date-driven terms show the day of the month by which payment is due and
964
- * can include a discount for early payment. For example, the following
965
- * date-driven term means that payment is due on the 30th of the month, with
966
- * a 1% discount if payment is made by the 10th: "1% 10 Net 30".
967
- *
968
- * Payments with standard terms, on the other hand, are due within a certain
969
- * number of days.
970
- *
971
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DateDrivenTermsAdd
972
- */
973
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { DateDrivenTermsAddRq: { DateDrivenTermsAdd: params } }, "DateDrivenTermsAddRs", "DateDrivenTermsRet"),
974
- /**
975
- * Queries for the specified date-driven terms or set of terms.
976
- *
977
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DateDrivenTermsQuery
978
- */
979
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { DateDrivenTermsQueryRq: params }, "DateDrivenTermsQueryRs", "DateDrivenTermsRet"),
980
- };
981
- /**
982
- * A deposit is a non-posting transaction that you can use to group payments
983
- * together. You can also use a deposit to deposit payments directly into a
984
- * QuickBooks bank account.
985
- */
986
- deposit = {
987
- /**
988
- * After you receive payments from customers (see `ReceivePayment`), you can
989
- * use the `DepositAdd` request to either deposit each payment directly into
990
- * a QuickBooks bank account or you can group payments together. You can
991
- * also choose the method you prefer for depositing payments.
992
- *
993
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DepositAdd
994
- */
995
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { DepositAddRq: { DepositAdd: params } }, "DepositAddRs", "DepositRet"),
996
- /**
997
- * Modifies an existing deposit.
998
- *
999
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DepositMod
1000
- */
1001
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { DepositModRq: { DepositMod: params } }, "DepositModRs", "DepositRet"),
1002
- /**
1003
- * This request searches for deposits that match the supplied filters.
1004
- *
1005
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/DepositQuery
1006
- */
1007
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { DepositQueryRq: params }, "DepositQueryRs", "DepositRet"),
1008
- };
1009
- /**
1010
- * An employee is a person who works for a company. An employee can be a
1011
- * salaried employee, an hourly employee, or a contractor. An employee can
1012
- * also be a vendor.
1013
- */
1014
- employee = {
1015
- /**
1016
- * Adds an employee with personal data about the employee as well as certain
1017
- * payroll-related data.
1018
- *
1019
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EmployeeAdd
1020
- */
1021
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { EmployeeAddRq: { EmployeeAdd: params } }, "EmployeeAddRs", "EmployeeRet"),
1022
- /**
1023
- * Modifies an existing employee.
1024
- *
1025
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EmployeeMod
1026
- */
1027
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { EmployeeModRq: { EmployeeMod: params } }, "EmployeeModRs", "EmployeeRet"),
1028
- /**
1029
- * Returns employee data.
1030
- *
1031
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EmployeeQuery
1032
- */
1033
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { EmployeeQueryRq: params }, "EmployeeQueryRs", "EmployeeRet"),
1034
- };
1035
- /**
1036
- * A QuickBooks estimate is a description of a sale that the QuickBooks user
1037
- * proposes to make to a current or prospective customer. An estimate might
1038
- * also be called a “bid” or a “proposal.” In QuickBooks, estimates and
1039
- * invoices use similar fields, and an estimate can be converted into an
1040
- * invoice after the customer accepts the estimate.
1041
- *
1042
- * An estimate is a non-posting transaction, so it does not affect a company’s
1043
- * balance sheet or income statement.
1044
- */
1045
- estimate = {
1046
- /**
1047
- * Adds an estimate. A QuickBooks estimate is a description of a sale that
1048
- * the QuickBooks user proposes to make to a current or prospective
1049
- * customer. An estimate might also be called a “bid” or a “proposal.” In
1050
- * QuickBooks, estimates and invoices use similar fields, and an estimate
1051
- * can be converted into an invoice after the customer accepts the estimate.
1052
- *
1053
- * An estimate is a non-posting transaction, so it does not affect a
1054
- * company’s balance sheet or income statement.
1055
- *
1056
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateAdd
1057
- */
1058
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { EstimateAddRq: { EstimateAdd: params } }, "EstimateAddRs", "EstimateRet"),
1059
- /**
1060
- * Modifies the specified estimate.
1061
- *
1062
- * Some fields in an `EstimateMod` request cannot be cleared. If any of the
1063
- * following fields is included in an estimate modify request, it must
1064
- * contain a value:
1065
- * - `CustomerRef`
1066
- * - `TemplateRef`
1067
- * - `TxnDate`
1068
- * - `IsActive`
1069
- * - `CreateChangeOrder`
1070
- * - `DueDate`
1071
- * - `ItemSalesTaxRef`
1072
- *
1073
- * Within `EstimateLineMod` or `EstimateLineGroupMod`:
1074
- * - `ItemRef`
1075
- * - `Quantity`
1076
- * - `Rate`
1077
- * - `Amount`>
1078
- * - `SalesTaxCodeRef`
1079
- * - `Markup`
1080
- *
1081
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateMod
1082
- */
1083
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { EstimateModRq: { EstimateMod: params } }, "EstimateModRs", "EstimateRet"),
1084
- /**
1085
- * Queries for the specified estimate or set of estimates.
1086
- *
1087
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateQuery
1088
- */
1089
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { EstimateQueryRq: params }, "EstimateQueryRs", "EstimateRet"),
1090
- };
1091
- /**
1092
- * An inventory adjustment is a non-posting transaction that you can use to
1093
- * adjust the quantity or value of an inventory item
1094
- */
1095
- inventoryAdjustment = {
1096
- /**
1097
- * Adds an inventory adjustment.
1098
- *
1099
- * If the following conditions aren’t met, you will receive an error if you
1100
- * try to add an inventory adjustment through the SDK:
1101
- * - The QuickBooks company file must be open in single-user mode, unless
1102
- * you are using QuickBooks Enterprise edition, which allows multi-user
1103
- * mode for this request. (This is also true in the user interface: you
1104
- * cannot adjust the inventory while the company file is open in
1105
- * multi-user mode, again except for Enterprise.)
1106
- * - The inventory adjustment form must be closed in the QuickBooks user
1107
- * interface.
1108
- *
1109
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentAdd
1110
- */
1111
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InventoryAdjustmentAddRq: { InventoryAdjustmentAdd: params } }, "InventoryAdjustmentAddRs", "InventoryAdjustmentRet"),
1112
- /**
1113
- * Modifies an inventory adjustment.
1114
- *
1115
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentMod
1116
- */
1117
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InventoryAdjustmentModRq: { InventoryAdjustmentMod: params } }, "InventoryAdjustmentModRs", "InventoryAdjustmentRet"),
1118
- /**
1119
- * Queries for the specified inventory adjustment or set of inventory
1120
- * adjustments.
1121
- *
1122
- * You cannot query an inventory adjustment while the inventory adjustment
1123
- * form is open in the QuickBooks user interface.
1124
- *
1125
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentQuery
1126
- */
1127
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { InventoryAdjustmentQueryRq: params }, "InventoryAdjustmentQueryRs", "InventoryAdjustmentRet"),
1128
- };
1129
- /**
1130
- * An inventory site is a location where inventory is stored. For example, a
1131
- * company might have a warehouse, a stockroom, and a showroom, each of which
1132
- * is an inventory site.
1133
- */
1134
- inventorySite = {
1135
- /**
1136
- * Adds an inventory site.
1137
- *
1138
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteAdd
1139
- */
1140
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InventorySiteAddRq: { InventorySiteAdd: params } }, "InventorySiteAddRs", "InventorySiteRet"),
1141
- /**
1142
- * Modifies an inventory site.
1143
- *
1144
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteMod
1145
- */
1146
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InventorySiteModRq: { InventorySiteMod: params } }, "InventorySiteModRs", "InventorySiteRet"),
1147
- /**
1148
- * Queries for the specified inventory site or set of inventory sites.
1149
- *
1150
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteQuery
1151
- */
1152
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { InventorySiteQueryRq: params }, "InventorySiteQueryRs", "InventorySiteRet"),
1153
- };
1154
- /**
1155
- * An invoice records the amount owed by a customer who purchased goods or
1156
- * services but did not pay in full at the time of the sale. If full payment
1157
- * is received at the time of the sale, it is recorded as a sales receipt, not
1158
- * an invoice.
1159
- *
1160
- * In QuickBooks, invoices and estimates use similar fields, and an estimate
1161
- * can be converted into an invoice after the customer accepts the estimate.
1162
- * However, in the SDK, there is currently no ability to create an invoice
1163
- * directly from an estimate (you cannot link an invoice to an estimate).
1164
- */
1165
- invoice = {
1166
- /**
1167
- * Adds an invoice.
1168
- *
1169
- * An invoice records the amount owed by a customer who purchased goods or
1170
- * services but did not pay in full at the time of the sale. If full payment
1171
- * is received at the time of the sale, it is recorded as a sales receipt,
1172
- * not an invoice.
1173
- *
1174
- * In QuickBooks, invoices and estimates use similar fields, and an estimate
1175
- * can be converted into an invoice after the customer accepts the estimate.
1176
- * However, in the SDK, there is currently no ability to create an invoice
1177
- * directly from an estimate (you cannot link an invoice to an estimate).
1178
- *
1179
- * If you Add an invoice that has an inventory item on it, QB will
1180
- * automatically calculate COGS and post it to the COGS account. (The
1181
- * inventory item will need to be setup to post to the COGS account and must
1182
- * have a unit cost in it.) However, notice that such an `InvoiceAdd` has
1183
- * sales prices, not cost, so the Add is not impacting the cost of the item.
1184
- * The cost of the item is only affected by purchases (bills and item
1185
- * receipts) sales and inventory adjustments.
1186
- *
1187
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceAdd
1188
- */
1189
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InvoiceAddRq: { InvoiceAdd: params } }, "InvoiceAddRs", "InvoiceRet"),
1190
- /**
1191
- * Modifies an existing invoice. If you are modifying existing line items,
1192
- * supply an `InvoiceLineMod` and `TxnLineID` for each line you want to
1193
- * modify. If you want to add a new line, supply an `InvoiceLineMod` with
1194
- * its `TxnLineID` value set to -1.
1195
- *
1196
- * Some fields in an `InvoiceMod` request cannot be cleared. If any of the
1197
- * following fields is included in an invoice modify request, it must
1198
- * contain a value:
1199
- * - `CustomerRef`
1200
- * - `ARAccountRef`
1201
- * - `TemplateRef`
1202
- * - `TxnDate`
1203
- * - `IsPending`
1204
- * - `DueDate`
1205
- * - `ItemSalesTaxRef`
1206
- * - `ShipDate`
1207
- * - `IsToBePrinted`
1208
- *
1209
- * Within `InvoiceLineMod` or `InvoiceLineGroupMod`:
1210
- * - `ItemRef`
1211
- * - `Quantity`
1212
- * - `Rate`
1213
- * - `Amount`
1214
- * - `SalesTaxCodeRef`
1215
- * - `OverrideItemAccountRef`
1216
- *
1217
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceMod
1218
- */
1219
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { InvoiceModRq: { InvoiceMod: params } }, "InvoiceModRs", "InvoiceRet"),
1220
- /**
1221
- * Returns invoice data.
1222
- *
1223
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceQuery
1224
- */
1225
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { InvoiceQueryRq: params }, "InvoiceQueryRs", "InvoiceRet"),
1226
- };
1227
- /**
1228
- * A discount item is a percentage or a fixed amount that will be subtracted
1229
- * from a total or subtotal.
1230
- */
1231
- itemDiscount = {
1232
- /**
1233
- * Adds a discount item. A discount item is a percentage or a fixed amount
1234
- * that will be subtracted from a total or subtotal. Items should be
1235
- * subtotaled (using an `ItemSubtotal` item) before a discount item is
1236
- * applied to them, because a discount only acts on the line that is
1237
- * directly above it. A discount item is different from a discount for early
1238
- * payment, which is represented as part of a `StandardTerms` object or
1239
- * DateDrivenTerms object. Note: When you specify an `ItemDiscount` item in
1240
- * any transaction (by using an `ItemRef`), do not specify a `Quantity` in
1241
- * the transaction. If you do, you will receive an error.
1242
- *
1243
- * Be Sharp WhenUsing Flat Discounts: Flat rate discounts are treated VERY
1244
- * differently vs. percentage discounts. A percentage discount only applies
1245
- * to the line right above it, so all of the tax implications for discounts
1246
- * apply ONLY to that line (Note that the story gets more complicated here
1247
- * for group items, subtotal lines, etc). A flat rate discount applies to
1248
- * EVERY line that is recorded above the discount. Thus, the $10.00 off you
1249
- * see is applied equally to the $100.00 Nontaxable target and the $100.00
1250
- * Taxable target. Thus, the sales tax for the 10.00 discount totals up to
1251
- * -$5.00. Therefore, for the desired behavior, the user must fill out the
1252
- * invoice like this: Item $100.00 Non Item $100.00 Tax Discount $20.00 Tax
1253
- * In this scenario, the $20.00 discount is properly distributed to be half
1254
- * taxed and half not taxed, so the taxable amount for the discount line is
1255
- * only -$10.00. The moral of the story: Non-Taxable Discounts are VERY
1256
- * dangerous. You should almost never use them unless discounts in your
1257
- * state are never applied to sales tax.
1258
- *
1259
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountAdd
1260
- */
1261
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemDiscountAddRq: { ItemDiscountAdd: params } }, "ItemDiscountAddRs", "ItemDiscountRet"),
1262
- /**
1263
- * Modifies a discount item.
1264
- *
1265
- * You can modify the account ref, using the `AccountRef` aggregate and the
1266
- * `ApplyAccountRefToExistingTxns` boolean. You need to use the
1267
- * `ApplyAccountRefToExistingTxns` boolean because the QuickBooks UI
1268
- * displays a prompt asking whether the change should apply to existing
1269
- * transactions or not. Specifying True for the boolean basically dismisses
1270
- * this with a “Yes” answer, allowing your changes to be made and changes
1271
- * any existing transactions that use the item with that `AccountRef`.
1272
- * Specifying “False” means that the mod will not take affect if there are
1273
- * existing transactions. Setting this to “True” should be used with caution
1274
- * and normally only after some user has indicated that they want those
1275
- * changes made to all those existing transactions! If any affected
1276
- * transactions are protected by a closing date and password, the
1277
- * `AccountRef` changes will not be made and so the Mod request will return
1278
- * an error without making the requested Mod.
1279
- *
1280
- * Be Sharp When Using Flat Discounts: Flat rate discounts are treated VERY
1281
- * differently vs. percentage discounts. A percentage discount only applies
1282
- * to the line right above it, so all of the tax implications for discounts
1283
- * apply ONLY to that line (Note that the story gets more complicated here
1284
- * for group items, subtotal lines, etc). A flat rate discount applies to
1285
- * EVERY line that is recorded above the discount. Thus, the $10.00 off you
1286
- * see is applied equally to the $100.00 Nontaxable target and the $100.00
1287
- * Taxable target. Thus, the sales tax for the 10.00 discount totals up to
1288
- * -$5.00. Therefore, for the desired behavior, the user must fill out the
1289
- * invoice like this: Item $100.00 Non Item $100.00 Tax Discount $20.00 Tax
1290
- * In this scenario, the $20.00 discount is properly distributed to be half
1291
- * taxed and half not taxed, so the taxable amount for the discount line is
1292
- * only -$10.00. The moral of the story: Non-Taxable Discounts are VERY
1293
- * dangerous. You should almost never use them unless discounts in your
1294
- * state are never applied to sales tax.
1295
- *
1296
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountMod
1297
- */
1298
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemDiscountModRq: { ItemDiscountMod: params } }, "ItemDiscountModRs", "ItemDiscountRet"),
1299
- /**
1300
- * Queries for the specified discount item or set of items.
1301
- *
1302
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountQuery
1303
- */
1304
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemDiscountQueryRq: params }, "ItemDiscountQueryRs", "ItemDiscountRet"),
1305
- };
1306
- /**
1307
- * Fixed-asset items represent assets that will benefit a business for longer
1308
- * than one year. The purchase price of these fixed assets is typically
1309
- * expensed over a period of years, rather than in the year the purchase was
1310
- * made.
1311
- */
1312
- itemFixedAsset = {
1313
- /**
1314
- * Adds a fixed-asset item. Fixed-asset items represent assets that will
1315
- * benefit a business for longer than one year. The purchase price of these
1316
- * fixed assets is typically expensed over a period of years, rather than in
1317
- * the year the purchase was made.
1318
- *
1319
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetAdd
1320
- */
1321
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemFixedAssetAddRq: { ItemFixedAssetAdd: params } }, "ItemFixedAssetAddRs", "ItemFixedAssetRet"),
1322
- /**
1323
- * Modifies a fixed asset item. Fixed-asset items represent assets that will
1324
- * benefit a business for longer than one year. The purchase price of these
1325
- * fixed assets is typically expensed over a period of years, rather than in
1326
- * the year the purchase was made.
1327
- *
1328
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetMod
1329
- */
1330
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemFixedAssetModRq: { ItemFixedAssetMod: params } }, "ItemFixedAssetModRs", "ItemFixedAssetRet"),
1331
- /**
1332
- * Queries for the specified fixed-asset item or set of fixed asset items.
1333
- *
1334
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetQuery
1335
- */
1336
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemFixedAssetQueryRq: params }, "ItemFixedAssetQueryRs", "ItemFixedAssetRet"),
1337
- };
1338
- /**
1339
- * An item group represents items that are grouped together for fast entry.
1340
- */
1341
- itemGroup = {
1342
- /**
1343
- * Adds an item group. `ItemGroup` objects represent items that are grouped
1344
- * together for fast entry, and an `ItemGroupRef` aggregate refers to one of
1345
- * these item groups. In a request, if an `ItemGroupRef` aggregate includes
1346
- * both `FullName` and `ListID`, `FullName` will be ignored. You can use an
1347
- * `ItemGroupQuery` request to get information about all the item groups
1348
- * that are set up in the QuickBooks file.
1349
- *
1350
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemGroupAdd
1351
- */
1352
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemGroupAddRq: { ItemGroupAdd: params } }, "ItemGroupAddRs", "ItemGroupRet"),
1353
- /**
1354
- * Modifies an item group.
1355
- *
1356
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemGroupMod
1357
- */
1358
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemGroupModRq: { ItemGroupMod: params } }, "ItemGroupModRs", "ItemGroupRet"),
1359
- /**
1360
- * An `ItemGroupQuery` request will return information about all the item
1361
- * groups that are set up in the QuickBooks file.
1362
- *
1363
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/itemgroupquery
1364
- */
1365
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemGroupQueryRq: params }, "ItemGroupQueryRs", "ItemGroupRet"),
1366
- };
1367
- /**
1368
- * An inventory item is any merchandise or part that a business purchases,
1369
- * tracks as inventory, and then resells.
1370
- */
1371
- itemInventory = {
1372
- /**
1373
- * Adds an inventory item. An inventory item is any merchandise or part that
1374
- * a business purchases, tracks as inventory, and then resells. In
1375
- * QuickBooks, information about an inventory item is grouped into three
1376
- * categories:
1377
- * 1. Purchase Information includes `PurchaseDesc`, `PurchaseCost`,
1378
- * `COGSAccountRef`, and `PrefVendorRef`.
1379
- * 2. Sales Information includes `SalesDesc`, `SalesPrice`, and
1380
- * `SalesTaxCodeRef`.
1381
- * 3. Inventory Information includes `AssetAccountRef`, `ReorderPoint`,
1382
- * `QuantityOnHand`, `TotalValue`, and `InventoryDate`.
1383
- *
1384
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAdd
1385
- */
1386
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemInventoryAddRq: { ItemInventoryAdd: params } }, "ItemInventoryAddRs", "ItemInventoryRet"),
1387
- /**
1388
- * Modifies an inventory item.
1389
- *
1390
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryMod
1391
- */
1392
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemInventoryModRq: { ItemInventoryMod: params } }, "ItemInventoryModRs", "ItemInventoryRet"),
1393
- /**
1394
- * Queries for the specified inventory item or set of items.
1395
- *
1396
- * Notice that certain modifications to the item can be caused by other
1397
- * transactions, such as `ItemReceipts` where the item’s on hand quantity is
1398
- * increased. Modifications through these transactions do not result in
1399
- * changing the `TimeModified` stamp (only the `Mod` operation will do
1400
- * that), but those changes will be detected when you use the
1401
- * `FromModifiedDate`/`ToModifiedDate` filters in your query. Notice that
1402
- * you cannot get an inventory asset value from QuickBooks using this query.
1403
- * Instead, you need to use the General Summary Report query (which
1404
- * currently doesn’t include Assembly Items). Suppose you needed a way to
1405
- * search for the amount on hand of items that have had their amount changed
1406
- * since a certain date. Again, you would not use this query, but a
1407
- * `GeneralDetailReportQuery` that has its `GeneralDetailReportType` set to
1408
- * “InventoryValuationDetail”. This will tell you which items changed by how
1409
- * much. Also, suppose you wanted the on-hand quantity from QB as of a
1410
- * specific date. You would use a General Summary Report of the type
1411
- * Inventory Valuation Summary. (Again, this report doesn’t include
1412
- * Inventory Assemblies.)
1413
- *
1414
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryQuery
1415
- */
1416
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemInventoryQueryRq: params }, "ItemInventoryQueryRs", "ItemInventoryRet"),
1417
- };
1418
- /**
1419
- * An inventory assembly item is an item that is assembled or manufactured
1420
- * from other inventory items. The items and/or assemblies that make up the
1421
- * assembly are called components.
1422
- */
1423
- itemInventoryAssembly = {
1424
- /**
1425
- * Adds an inventory assembly item, which is an item that is assembled or
1426
- * manufactured from other inventory items. The items and/or assemblies that
1427
- * make up the assembly are called components.
1428
- *
1429
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyAdd
1430
- */
1431
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemInventoryAssemblyAddRq: { ItemInventoryAssemblyAdd: params } }, "ItemInventoryAssemblyAddRs", "ItemInventoryAssemblyRet"),
1432
- /**
1433
- * Modifies an inventory assembly item. If you are adding components to the
1434
- * assembly, remember that the component items and/or assemblies that make
1435
- * up the assembly are limited in number.
1436
- *
1437
- * You can modify the income account ref, using the `IncomeAccountRef`
1438
- * aggregate and the `ApplyIncomeAccountRefToExistingTxns` boolean. You need
1439
- * to use the `ApplyIncomeAccountRefToExistingTxns` boolean because the
1440
- * QuickBooks UI displays a prompt asking whether the change should apply to
1441
- * existing transactions or not. Specifying `True` for the boolean basically
1442
- * dismisses this with a “Yes” answer, allowing your changes to be made and
1443
- * changes any existing transactions that use the item with that AccountRef.
1444
- * Specifying “False” means that the mod will not take affect if there are
1445
- * existing transactions. Setting this to “True” should be used with caution
1446
- * and normally only after some user has indicated that they want those
1447
- * changes made to all those existing transactions! If any affected
1448
- * transactions are protected by a closing date and password, the
1449
- * `IncomeAccountRef` changes will not be made and so the Mod request will
1450
- * return an error without making the requested Mod.
1451
- *
1452
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyMod
1453
- */
1454
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemInventoryAssemblyModRq: { ItemInventoryAssemblyMod: params } }, "ItemInventoryAssemblyModRs", "ItemInventoryAssemblyRet"),
1455
- /**
1456
- * Queries for the specified inventory assembly item or set of assembly
1457
- * items.
1458
- *
1459
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyQuery
1460
- */
1461
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemInventoryAssemblyQueryRq: params }, "ItemInventoryAssemblyQueryRs", "ItemInventoryAssemblyRet"),
1462
- };
1463
- /**
1464
- * A non-inventory item is any material or part that a business buys but does
1465
- * not keep on hand as inventory. There are two types of non-inventory items:
1466
- * 1. Materials or parts that are part of the business’s overhead (for
1467
- * example, office supplies
1468
- * 2. Materials or parts that the business buys to finish a specific job and
1469
- * then charges back to the customer.
1470
- */
1471
- itemNonInventory = {
1472
- /**
1473
- * Adds a non-inventory item, which is any material or part that a business
1474
- * buys but does not keep on hand as inventory. There are two types of
1475
- * non-inventory items:
1476
- * 1. Materials or parts that are part of the business’s overhead (for
1477
- * example, office supplies
1478
- * 2. Materials or parts that the business buys to finish a specific job and
1479
- * then charges back to the customer.
1480
- *
1481
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryAdd
1482
- */
1483
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemNonInventoryAddRq: { ItemNonInventoryAdd: params } }, "ItemNonInventoryAddRs", "ItemNonInventoryRet"),
1484
- /**
1485
- * Modifies a non inventory item.
1486
- *
1487
- * About `SalesOrPurchaseMod` versus `SalesAndPurchaseMod` in an
1488
- * `ItemNonInventoryMod` request: You cannot change the reimbursable status
1489
- * of a non-inventory item through the SDK. For example, if a non-inventory
1490
- * item is marked as non-reimbursable in QuickBooks, you cannot send a
1491
- * modify request that includes a `SalesAndPurchaseMod` aggregate.
1492
- * Similarly, if you send an `ItemNonInventoryAdd` request that includes a
1493
- * `SalesOrPurchase` aggregate, you cannot later modify that item using a
1494
- * `SalesAndPurchaseMod` aggregate.
1495
- *
1496
- * You can modify the various account references using the appropriate
1497
- * account reference aggregate and the matching Apply Account
1498
- * `RefToExistingTxns` boolean. You need to use the boolean when you change
1499
- * an account ref because the QuickBooks UI displays a prompt asking whether
1500
- * the change should apply to existing transactions or not. Specifying True
1501
- * for the boolean basically dismisses this with a “Yes” answer, allowing
1502
- * your changes to be made and changes any existing transactions that use
1503
- * the item with that `AccountRef`. Specifying “False” means that the mod
1504
- * will not take affect if there are existing transactions. Setting this to
1505
- * “True” should be used with caution and normally only after some user has
1506
- * indicated that they want those changes made to all those existing
1507
- * transactions! If any affected transactions are protected by a closing
1508
- * date and password, the `AccountRef` changes will not be made and so the
1509
- * Mod request will return an error without making the requested Mod.
1510
- *
1511
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryMod
1512
- */
1513
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemNonInventoryModRq: { ItemNonInventoryMod: params } }, "ItemNonInventoryModRs", "ItemNonInventoryRet"),
1514
- /**
1515
- * Queries for the specified non-inventory item or set of items.
1516
- *
1517
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryQuery
1518
- */
1519
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemNonInventoryQueryRq: params }, "ItemNonInventoryQueryRs", "ItemNonInventoryRet"),
1520
- };
1521
- /**
1522
- * An other charge item are miscellaneous charges that do not fall into the
1523
- * categories of service, labor, materials, or parts. Examples include
1524
- * delivery charges, setup fees, and service charges.
1525
- */
1526
- itemOtherCharge = {
1527
- /**
1528
- * Adds an other charge item, which are miscellaneous charges that do not
1529
- * fall into the categories of service, labor, materials, or parts. Examples
1530
- * include delivery charges, setup fees, and service charges.
1531
- *
1532
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeAdd
1533
- */
1534
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemOtherChargeAddRq: { ItemOtherChargeAdd: params } }, "ItemOtherChargeAddRs", "ItemOtherChargeRet"),
1535
- /**
1536
- * Modifies an other charge item.
1537
- *
1538
- * About `SalesOrPurchaseMod` versus `SalesAndPurchaseMod` in an
1539
- * `ItemOtherChargeMod` request: You cannot change the reimbursable status
1540
- * of an other-charge item through the SDK. For example, if an other-charge
1541
- * item is marked as non-reimbursable in QuickBooks, you cannot send a
1542
- * modify request that includes a `SalesAndPurchaseMod` aggregate.
1543
- * Similarly, if you send an `ItemOtherChargeAdd` request that includes a
1544
- * SalesOrPurchase aggregate, you cannot later modify that item using a
1545
- * `SalesAndPurchaseMod` aggregate.
1546
- *
1547
- * You can modify the various account references using the appropriate
1548
- * account reference aggregate and the matching Apply Account
1549
- * `RefToExistingTxns` boolean. You need to use the boolean when you change
1550
- * an account ref because the QuickBooks UI displays a prompt asking whether
1551
- * the change should apply to existing transactions or not. Specifying
1552
- * `True` for the boolean basically dismisses this with a “Yes” answer,
1553
- * allowing your changes to be made and changes any existing transactions
1554
- * that use the item with that AccountRef. Specifying “False” means that the
1555
- * mod will not take affect if there are existing transactions. Setting this
1556
- * to “True” should be used with caution and normally only after some user
1557
- * has indicated that they want those changes made to all those existing
1558
- * transactions! If any affected transactions are protected by a closing
1559
- * date and password, the AccountRef changes will not be made and so the Mod
1560
- * request will return an error without making the requested Mod.
1561
- *
1562
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeMod
1563
- */
1564
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemOtherChargeModRq: { ItemOtherChargeMod: params } }, "ItemOtherChargeModRs", "ItemOtherChargeRet"),
1565
- /**
1566
- * Queries for the specified other charge item or set of items.
1567
- *
1568
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeQuery
1569
- */
1570
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemOtherChargeQueryRq: params }, "ItemOtherChargeQueryRs", "ItemOtherChargeRet"),
1571
- };
1572
- /**
1573
- * A payment item is a type of item that is used to record a payment that is
1574
- * received from a customer.
1575
- */
1576
- itemPayment = {
1577
- /**
1578
- * Adds an item payment or set of payments. You can use this request to
1579
- * create a payment for a customer or vendor.
1580
- *
1581
- * For an `ItemPaymentAdd` request, you can “set” the “Group with
1582
- * undeposited funds” radio button in QuickBooks either by not specifying
1583
- * `DepositToAccountRef` at all, or by specifying the special
1584
- * UndepositedFunds account for the `DepositToAccountRef`.
1585
- *
1586
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentAdd
1587
- */
1588
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemPaymentAddRq: { ItemPaymentAdd: params } }, "ItemPaymentAddRs", "ItemPaymentRet"),
1589
- /**
1590
- * Modifies an item payment.
1591
- *
1592
- * For an `ItemPaymentMod` request, you can “set” the “Group with
1593
- * undeposited funds” radio button in QuickBooks by either attempting to
1594
- * clear the DepositToAccountRef, or by specifying the account whose
1595
- * `SpecialAccountType` is `UndepositedFunds` for the `DepositToAccountRef`.
1596
- *
1597
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentMod
1598
- */
1599
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemPaymentModRq: { ItemPaymentMod: params } }, "ItemPaymentModRs", "ItemPaymentRet"),
1600
- /**
1601
- * Queries for the specified item payment or set of payments.
1602
- *
1603
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentQuery
1604
- */
1605
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemPaymentQueryRq: params }, "ItemPaymentQueryRs", "ItemPaymentRet"),
1606
- };
1607
- /**
1608
- * An item receipt transaction is a transaction entered in QuickBooks when a
1609
- * shipment is received from a vendor.
1610
- */
1611
- itemReceipt = {
1612
- /**
1613
- * Adds an item receipt transaction, which is a transaction entered in
1614
- * QuickBooks when a shipment is received from a vendor. If you use
1615
- * `PurchaseOrders` to order from the vendor, you can link the item receipt
1616
- * to purchase order to receive the items against the purchase orders to
1617
- * automatically update (and eventually close) the purchase orders. This
1618
- * linking also saves you having to re-create line items as they are pulled
1619
- * in automatically from the purchase order. You can do this linking only in
1620
- * the item receipt add, not in the mod.
1621
- *
1622
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptAdd
1623
- */
1624
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemReceiptAddRq: { ItemReceiptAdd: params } }, "ItemReceiptAddRs", "ItemReceiptRet"),
1625
- /**
1626
- * Modifies an existing item receipt.
1627
- *
1628
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptMod
1629
- */
1630
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemReceiptModRq: { ItemReceiptMod: params } }, "ItemReceiptModRs", "ItemReceiptRet"),
1631
- /**
1632
- * An item receipt transaction is entered in QuickBooks when a shipment is
1633
- * received from a vendor.
1634
- *
1635
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptQuery
1636
- */
1637
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemReceiptQueryRq: params }, "ItemReceiptQueryRs", "ItemReceiptRet"),
1638
- };
1639
- /**
1640
- * A sales-tax item is an item used to calculate a single sales tax that is
1641
- * collected at a specified rate and paid to a single agency.
1642
- */
1643
- itemSalesTax = {
1644
- /**
1645
- * Adds a sales-tax item, which is an item used to calculate a single sales
1646
- * tax that is collected at a specified rate and paid to a single agency.
1647
- * (Compare with the `ItemSalesTaxGroupAdd` message.)
1648
- *
1649
- * An `ItemSalesTaxRef` aggregate refers to an item on this list. In a
1650
- * request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and
1651
- * `ListID`, `FullName` will be ignored. Taxes can be reflected in
1652
- * transaction line items.
1653
- *
1654
- * The following information refers to invoices specifically, but it also
1655
- * applies to sales receipts. Generally it's best to assign a tax item or
1656
- * tax group item to an invoice and allow QuickBooks to apply the same tax
1657
- * to all taxable items on the invoice. However in some situations multiple
1658
- * tax combinations are required, so this method doesn’t work. In this case
1659
- * one must use techniques to apply the taxes in the invoice itself as line
1660
- * items. Using lines to apply taxes isn’t always straight forward. When
1661
- * applying taxes as line items, only single tax items can be used, tax
1662
- * groups can only be used for the entire invoice. If you have multiple
1663
- * taxes which apply to all taxable items, and one or more other taxes that
1664
- * only apply to some of the items on an invoice its better to use a tax
1665
- * group which applies to the entire invoice for the taxes which applies to
1666
- * all taxable items and then apply the other taxes in the invoice itself.
1667
- * One applies a tax or tax group to an entire invoice by using the
1668
- * `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax
1669
- * line to multiple items in an invoice, but the tax is only applied
1670
- * automatically for the first tax line after the subtotal line. Any other
1671
- * tax lines which need to be applied to the subtotal line must supply their
1672
- * own amount. If you don’t supply an amount the amount comes out as zero
1673
- * and the tax line is useless. When one does supply an amount, the amount
1674
- * of tax on the subtotal also shows up in the rate column for that tax
1675
- * line. There isn’t any way for the rate to show up as anything other than
1676
- * the amount of the tax. If you have a complicated tax situation where no
1677
- * single tax applies to all taxable items on the invoice, you must choose a
1678
- * zero percent tax to apply for the entire invoice. It is recommended to
1679
- * name such a tax item “Tax Calculated On Invoice” so that it’s clear that
1680
- * the tax is not being applied by QuickBooks on the entire invoice.
1681
- *
1682
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxAdd
1683
- */
1684
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSalesTaxAddRq: { ItemSalesTaxAdd: params } }, "ItemSalesTaxAddRs", "ItemSalesTaxRet"),
1685
- /**
1686
- * Modifies an existing sales-tax item.
1687
- *
1688
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxMod
1689
- */
1690
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSalesTaxModRq: { ItemSalesTaxMod: params } }, "ItemSalesTaxModRs", "ItemSalesTaxRet"),
1691
- /**
1692
- * Queries for the specified sales-tax item or set of items.
1693
- *
1694
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxQuery
1695
- */
1696
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemSalesTaxQueryRq: params }, "ItemSalesTaxQueryRs", "ItemSalesTaxRet"),
1697
- };
1698
- /**
1699
- * A sales-tax group item is an item used for calculating two or more sales
1700
- * taxes grouped together and applied to the same sale. For example, local and
1701
- * state taxes could be tracked separately but applied to a sale as one tax.
1702
- */
1703
- itemSalesTaxGroup = {
1704
- /**
1705
- * Adds a sales-tax group item, which is an item used for calculating two or
1706
- * more sales taxes grouped together and applied to the same sale. For
1707
- * example, local and state taxes could be tracked separately but applied to
1708
- * a sale as one tax. (Compare with the `ItemSalesTaxAdd` message.)
1709
- *
1710
- * Taxes can be reflected in transaction line items The following
1711
- * information refers to invoices specifically, but it also applies to sales
1712
- * receipts. Generally its best to assign a tax item or tax group item to an
1713
- * invoice and allow QuickBooks to apply the same tax to all taxable items
1714
- * on the invoice. However in some situations multiple tax combinations are
1715
- * required, so this method doesn’t work. In this case one must use
1716
- * techniques to apply the taxes in the invoice itself as line items. Using
1717
- * lines to apply taxes isn’t always straight forward. When applying taxes
1718
- * as line items, only single tax items can be used, tax groups can only be
1719
- * used for the entire invoice. If you have multiple taxes which apply to
1720
- * all taxable items, and one or more other taxes that only apply to some of
1721
- * the items on an invoice its better to use a tax group which applies to
1722
- * the entire invoice for the taxes which applies to all taxable items and
1723
- * then apply the other taxes in the invoice itself. One applies a tax or
1724
- * tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate.
1725
- * One can use subtotals to apply a single tax line to multiple items in an
1726
- * invoice, but the tax is only applied automatically for the first tax line
1727
- * after the subtotal line. Any other tax lines which need to be applied to
1728
- * the subtotal line must supply their own amount. If you don’t supply an
1729
- * amount the amount comes out as zero and the tax line is useless. When one
1730
- * does supply an amount, the amount of tax on the subtotal also shows up in
1731
- * the rate column for that tax line. There isn’t any way for the rate to
1732
- * show up as anything other than the amount of the tax. If you have a
1733
- * complicated tax situation where no single tax applies to all taxable
1734
- * items on the invoice, you must choose a zero percent tax to apply for the
1735
- * entire invoice. It is recommended to name such a tax item “Tax Calculated
1736
- * On Invoice” so that it’s clear that the tax is not being applied by
1737
- * QuickBooks on the entire invoice.
1738
- *
1739
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupAdd
1740
- */
1741
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSalesTaxGroupAddRq: { ItemSalesTaxGroupAdd: params } }, "ItemSalesTaxGroupAddRs", "ItemSalesTaxGroupRet"),
1742
- /**
1743
- * Modifies an existing sales-tax group item.
1744
- *
1745
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupMod
1746
- */
1747
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSalesTaxGroupModRq: { ItemSalesTaxGroupMod: params } }, "ItemSalesTaxGroupModRs", "ItemSalesTaxGroupRet"),
1748
- /**
1749
- * Queries for the specified sales-tax group item or set of group items.
1750
- *
1751
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupQuery
1752
- */
1753
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemSalesTaxGroupQueryRq: params }, "ItemSalesTaxGroupQueryRs", "ItemSalesTaxGroupRet"),
1754
- };
1755
- /**
1756
- * A service item is an item that refers to services that a business charges
1757
- * for or purchases. Examples include specialized labor, consulting hours, and
1758
- * professional fees.
1759
- */
1760
- itemService = {
1761
- /**
1762
- * Adds a service item, which is an item that refers to services that a
1763
- * business charges for or purchases. Examples include specialized labor,
1764
- * consulting hours, and professional fees. An `ItemServiceRef` aggregate
1765
- * refers to an item on the ItemService list. In a request, if an
1766
- * `ItemServiceRef` aggregate includes both `FullName` and `ListID`,
1767
- * `FullName` will be ignored.
1768
- *
1769
- * In a `TimeTracking` message, `ItemServiceRef` refers to the type of work.
1770
- * If no `CustomerRef` is specified, then `ItemServiceRef` is not needed. If
1771
- * `IsBillable` is set to true, then `TimeTrackingAdd` must include both
1772
- * `ItemServiceRef` and `CustomerRef`.
1773
- *
1774
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemServiceAdd
1775
- */
1776
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemServiceAddRq: { ItemServiceAdd: params } }, "ItemServiceAddRs", "ItemServiceRet"),
1777
- /**
1778
- * Modifies an existing service item.
1779
- *
1780
- * About `SalesOrPurchaseMod` versus `SalesAndPurchaseMod` in an
1781
- * `ItemServiceMod` request:
1782
- * - You cannot change the reimbursable status of a service item through the
1783
- * SDK. For example, if a service item is marked as non-reimbursable in
1784
- * QuickBooks, you cannot send a modify request that includes a
1785
- * `SalesAndPurchaseMod` aggregate. Similarly, if you send an
1786
- * `ItemServiceAdd` request that includes a `SalesOrPurchase` aggregate,
1787
- * you cannot later modify that item using a `SalesAndPurchaseMod`
1788
- * aggregate.
1789
- * - You can modify the various account references using the appropriate
1790
- * account reference aggregate and the matching `RefToExistingTxns`
1791
- * boolean. You need to use the boolean when you change an account ref
1792
- * because the QuickBooks UI displays a prompt asking whether the change
1793
- * should apply to existing transactions or not.
1794
- * - Specifying `False` means that the mod will not take affect if there
1795
- * are existing transactions.
1796
- * - Specifying `True` for the boolean basically dismisses this with a
1797
- * “Yes” answer, allowing your changes to be made and changes any
1798
- * existing transactions that use the item with that `AccountRef`.
1799
- * Setting this to `True` should be used with caution and normally only
1800
- * after some user has indicated that they want those changes made to
1801
- * all those existing transactions! If any affected transactions are
1802
- * protected by a closing date and password, the `AccountRef` changes
1803
- * will not be made and so the `Mod` request will return an error
1804
- * without making the requested `Mod`.
1805
- *
1806
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemServiceMod
1807
- */
1808
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemServiceModRq: { ItemServiceMod: params } }, "ItemServiceModRs", "ItemServiceRet"),
1809
- /**
1810
- * Queries for the specified service item or set of items.
1811
- *
1812
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemServiceQuery
1813
- */
1814
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemServiceQueryRq: params }, "ItemServiceQueryRs", "ItemServiceRet"),
1815
- };
1816
- itemSites = {
1817
- /**
1818
- * Queries for the specified items at the specified inventory site.
1819
- *
1820
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSitesQuery
1821
- */
1822
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemSitesQueryRq: params }, "ItemSitesQueryRs", "ItemSitesRet"),
1823
- };
1824
- /**
1825
- * A subtotal item is used on a sales form to add up the amounts of the item
1826
- * lines above it, up to the previous subtotal.
1827
- */
1828
- itemSubtotal = {
1829
- /**
1830
- * Adds a subtotal item. On a sales form, a subtotal item will add up the
1831
- * amounts of the item lines above it, up to the previous subtotal. Items
1832
- * must be subtotaled before a discount is applied (using `ItemDiscount`),
1833
- * because a discount applies only to the line that is directly above it.
1834
- *
1835
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalAdd
1836
- */
1837
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSubtotalAddRq: { ItemSubtotalAdd: params } }, "ItemSubtotalAddRs", "ItemSubtotalRet"),
1838
- /**
1839
- * Modifies an existing subtotal item.
1840
- *
1841
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalMod
1842
- */
1843
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ItemSubtotalModRq: { ItemSubtotalMod: params } }, "ItemSubtotalModRs", "ItemSubtotalRet"),
1844
- /**
1845
- * Queries for the specified subtotal item or set of items.
1846
- *
1847
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalQuery
1848
- */
1849
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemSubtotalQueryRq: params }, "ItemSubtotalQueryRs", "ItemSubtotalRet"),
1850
- };
1851
- /**
1852
- * A job type can be used to separate jobs into any categories that are
1853
- * meaningful to the business.
1854
- */
1855
- jobType = {
1856
- /**
1857
- * Adds a job type. A job type can be used to separate jobs into any
1858
- * categories that are meaningful to the business.
1859
- *
1860
- * A `JobTypeRef` aggregate refers to a job type on the `JobType` list. In a
1861
- * request, if a `JobTypeRef` aggregate includes both `FullName` and
1862
- * `ListID`, `FullName` will be ignored.
1863
- *
1864
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobTypeAdd
1865
- */
1866
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { JobTypeAddRq: { JobTypeAdd: params } }, "JobTypeAddRs", "JobTypeRet"),
1867
- /**
1868
- * Queries for the specified job type or set of job types.
1869
- *
1870
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobTypeQuery
1871
- */
1872
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { JobTypeQueryRq: params }, "JobTypeQueryRs", "JobTypeRet"),
1873
- };
1874
- /**
1875
- * A journal entry is used for recording transactions directly in the general
1876
- * journal, particularly for activities like depreciation. It requires paired
1877
- * credit and debit lines in one request to balance the monetary amounts.
1878
- */
1879
- journalEntry = {
1880
- /**
1881
- * The debit and credit lines can be intermingled. A credit line can legally
1882
- * come first in the journal entry add.
1883
- *
1884
- * In traditional accounting, transactions are entered into the general
1885
- * journal and categorized exclusively by account. In QuickBooks, most
1886
- * transactions can be categorized either by account or by type (invoice,
1887
- * check, and so on). For a few activities in QuickBooks, you must use the
1888
- * general journal directly, for example for recording depreciation. Notice
1889
- * that you must supply the credit line and a corresponding debit line in
1890
- * the same request. It will not work to supply them in two distinct
1891
- * requests. You can supply as many credit lines and debit lines in one
1892
- * single request as you want so long as the total monetary amount from the
1893
- * credits equals the total monetary amount from the debits in that request.
1894
- *
1895
- * Finally, DO NOT supply negative sign for the monetary amounts. QuickBooks
1896
- * does that for you. If you do supply the negative sign, amounts will add
1897
- * instead of cancel and you’ll get a runtime error.
1898
- *
1899
- * Querying for Condensed Transactions: If you need the query to return
1900
- * condensed transactions, you can do this by using either an `Entity` or
1901
- * `Account` filter in the journal query request. Alternatively, you could
1902
- * use the The generic `TransactionQuery`, which can return condensed
1903
- * transactions.
1904
- *
1905
- * If the transaction is a home currency adjustment, QuickBooks will ignore
1906
- * the `IsAmountsEnteredInHomeCurrency`, `CurrencyRef`, and `ExchangeRate`
1907
- * elements.
1908
- *
1909
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JournalEntryAdd
1910
- */
1911
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { JournalEntryAddRq: { JournalEntryAdd: params } }, "JournalEntryAddRs", "JournalEntryRet"),
1912
- /**
1913
- * Modifies a journal entry.
1914
- *
1915
- * If the transaction is a home currency adjustment, QuickBooks will ignore
1916
- * the `IsAmountsEnteredInHomeCurrency`, `CurrencyRef`, and `ExchangeRate`
1917
- * elements.
1918
- *
1919
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JournalEntryMod
1920
- */
1921
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { JournalEntryModRq: { JournalEntryMod: params } }, "JournalEntryModRs", "JournalEntryRet"),
1922
- /**
1923
- * In traditional accounting, transactions are entered into the general
1924
- * journal and categorized exclusively by account. In QuickBooks, most
1925
- * transactions can be categorized either by account or by type (invoice,
1926
- * check, and so on). For a few activities in QuickBooks, you must use the
1927
- * general journal directly, for example for recording depreciation. Notice
1928
- * that you must supply the credit line and a corresponding debit line in
1929
- * the same request. It will not work to supply them in two distinct
1930
- * requests. You can supply as many credit lines and debit lines in one
1931
- * single request as you want so long as the total monetary amount from the
1932
- * credits equals the total monetary amount from the debits in that request.
1933
- *
1934
- * Finally, DO NOT supply negative sign for the monetary amounts. QuickBooks
1935
- * does that for you. If you do supply the negative sign, amounts will add
1936
- * instead of cancel and you’ll get a runtime error.
1937
- *
1938
- * Querying for Condensed Transactions: If you need the query to return
1939
- * condensed transactions, you can do this by using either an `Entity` or
1940
- * `Account` filter in the journal query request. Alternatively, you could
1941
- * use the The generic `TransactionQuery`, which can return condensed
1942
- * transactions.
1943
- *
1944
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JournalEntryQuery
1945
- */
1946
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { JournalEntryQueryRq: params }, "JournalEntryQueryRs", "JournalEntryRet"),
1947
- };
1948
- /**
1949
- * A lead is a potential customer or sales opportunity that a business might
1950
- * have.
1951
- */
1952
- lead = {
1953
- /**
1954
- * Adds a lead.
1955
- *
1956
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/LeadAdd
1957
- */
1958
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { LeadAddRq: { LeadAdd: params } }, "LeadAddRs", "LeadRet"),
1959
- /**
1960
- * Modifies an existing lead.
1961
- *
1962
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/LeadMod
1963
- */
1964
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { LeadModRq: { LeadMod: params } }, "LeadModRs", "LeadRet"),
1965
- /**
1966
- * Queries for the specified lead or set of leads.
1967
- *
1968
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/LeadQuery
1969
- */
1970
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { LeadQueryRq: params }, "LeadQueryRs", "LeadRet"),
1971
- };
1972
- /**
1973
- * A list element is a record in a list, such as an `Account`, `Customer`, or
1974
- * `Employee`.
1975
- */
1976
- listDeleted = {
1977
- /**
1978
- * Returns all list elements deleted within the last 90 days, grouped
1979
- * according to object type.
1980
- *
1981
- * If you are synchronizing deletes, you might want to specify `ListDelType`
1982
- * elements in order of dependency; for example, first specify a
1983
- * `ListDelType` of `Item`, then specify a `ListDelType` of `Vendor`. This
1984
- * way the SDK will return `Item` deletes before `Vendor` deletes (both in
1985
- * order of real delete times). `Item` depends on (refers to) to `Vendor`,
1986
- * so by having the `Item` deletes returned first you avoid a dependency
1987
- * problem.
1988
- *
1989
- * By default, the records of each type are returned in ascending order,
1990
- * according to the “real” delete time. For example: If list object A is
1991
- * deleted at 10 a.m. and list object B is deleted at 11 a.m., the query
1992
- * request will return A first, then B.
1993
- *
1994
- * See more:
1995
- * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ListDeletedQuery
1996
- */
1997
- query: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ListDeletedQueryRq: params }, "ListDeletedQueryRs", "ListDeletedRet"),
1998
- };
1999
- /**
2000
- * The “other names” list contains any names that do not appear on customer,
2001
- * vendor, or employee lists.
2002
- */
2003
- otherName = {
2004
- /**
2005
- * Adds an other name. In QuickBooks, the “other names” list contains any
2006
- * names that do not appear on customer, vendor, or employee lists.
2007
- *
2008
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/OtherNameAdd
2009
- */
2010
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { OtherNameAddRq: { OtherNameAdd: params } }, "OtherNameAddRs", "OtherNameRet"),
2011
- /**
2012
- * Modifies an existing other name.
2013
- *
2014
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/OtherNameMod
2015
- */
2016
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { OtherNameModRq: { OtherNameMod: params } }, "OtherNameModRs", "OtherNameRet"),
2017
- /**
2018
- * Queries for the specified other name or set of other names.
2019
- *
2020
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/OtherNameQuery
2021
- */
2022
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { OtherNameQueryRq: params }, "OtherNameQueryRs", "OtherNameRet"),
2023
- };
2024
- /**
2025
- * A payment method is a method of payment that a business accepts, such as
2026
- * cash, check, or credit card.
2027
- */
2028
- paymentMethod = {
2029
- /**
2030
- * Adds a payment method, which is the way a customer pays for goods or
2031
- * services, for example, cash, check, or Master Card.
2032
- *
2033
- * A `PaymentMethodRef` aggregate refers to an item on the `PaymentMethod`
2034
- * list. In a request, if a `PaymentMethodRef` aggregate includes both
2035
- * `FullName` and `ListID`, `FullName` will be ignored.
2036
- *
2037
- * In a `SalesReceiptAdd`, `ReceivePaymentAdd`, or `ARRefundCreditCard`
2038
- * request that contains credit card transaction data supplied from QBMS
2039
- * transaction responses, you must specify the payment method, and the
2040
- * payment method must be a credit card type.
2041
- *
2042
- * See more:
2043
- * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodAdd
2044
- */
2045
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PaymentMethodAddRq: { PaymentMethodAdd: params } }, "PaymentMethodAddRs", "PaymentMethodRet"),
2046
- /**
2047
- * Queries for the specified payment method or set of payment methods.
2048
- *
2049
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodQuery
2050
- */
2051
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { PaymentMethodQueryRq: params }, "PaymentMethodQueryRs", "PaymentMethodRet"),
2052
- };
2053
- /**
2054
- * A payroll wage item describes and names a payment scheme, for example,
2055
- * Regular Pay or Overtime Pay.
2056
- */
2057
- payrollItemWage = {
2058
- /**
2059
- * Adds a payroll wage item. Each payroll wage item describes and names a
2060
- * payment scheme, for example, Regular Pay or Overtime Pay. A
2061
- * `PayrollItemWageRef` aggregate refers to one of these wage items. In a
2062
- * request, if a `PayrollItemWageRef` aggregate includes both `FullName` and
2063
- * `ListID`, `FullName` will be ignored.
2064
- *
2065
- * Within QuickBooks, a timesheet can specify a payroll wage item only if
2066
- * the following criteria are met:
2067
- * - The name on the timesheet (which corresponds to the EntityRef in the
2068
- * `TimeTracking` object) is on the QuickBooks Employee list, and
2069
- * - The “Use time data to create paychecks” preference is turned on in the
2070
- * QuickBooks Payroll Info window that provides detailed employee
2071
- * information employee.
2072
- *
2073
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollItemWageAdd
2074
- */
2075
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PayrollItemWageAddRq: { PayrollItemWageAdd: params } }, "PayrollItemWageAddRs", "PayrollItemWageRet"),
2076
- /**
2077
- * Queries for the specified payroll wage item or set of items.
2078
- *
2079
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollItemWageQuery
2080
- */
2081
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { PayrollItemWageQueryRq: params }, "PayrollItemWageQueryRs", "PayrollItemWageRet"),
2082
- };
2083
- /**
2084
- * A price level is used to specify custom pricing for specific customers.
2085
- * Once you create a price level for a customer, QuickBooks will automatically
2086
- * use the custom price in new invoices, sales receipts, sales orders or
2087
- * credit memos for that customer.
2088
- */
2089
- priceLevel = {
2090
- /**
2091
- * Adds a price level. You can use price levels to specify custom pricing
2092
- * for specific customers.
2093
- *
2094
- * Once you create a price level for a customer, QuickBooks will
2095
- * automatically use the custom price in new invoices, sales receipts, sales
2096
- * orders or credit memos for that customer. You can override this automatic
2097
- * feature, however, when you create the invoices, sales receipts, etc.) The
2098
- * user can now specify a price level on line items in the following
2099
- * supported sales transactions: invoices, sales receipts, credit memos, and
2100
- * sales orders. Notice that the response data for the affected sales
2101
- * transaction does not list the price level that was used. The response
2102
- * simply lists the Rate for the item, which was set using the price level.
2103
- * The `CurrencyRef` should only be used with “per item” price levels.
2104
- *
2105
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelAdd
2106
- */
2107
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PriceLevelAddRq: { PriceLevelAdd: params } }, "PriceLevelAddRs", "PriceLevelRet"),
2108
- /**
2109
- * Modifies a price level.
2110
- *
2111
- * The `CurrencyRef` should only be used with “per item” price levels.
2112
- *
2113
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelMod
2114
- */
2115
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PriceLevelModRq: { PriceLevelMod: params } }, "PriceLevelModRs", "PriceLevelRet"),
2116
- /**
2117
- * Queries for the specified price level or set of price levels.
2118
- *
2119
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelQuery
2120
- */
2121
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { PriceLevelQueryRq: params }, "PriceLevelQueryRs", "PriceLevelRet"),
2122
- };
2123
- /**
2124
- * A purchase order is an order submitted to a vendor.
2125
- */
2126
- purchaseOrder = {
2127
- /**
2128
- * Adds a purchase order, which is an order submitted to a vendor. You can
2129
- * use ItemReceiptAdd to receive items against a purchase order as items
2130
- * arrive from the vendor. A purchase order is a non-posting transaction, so
2131
- * it does not affect a company’s balance sheet or income statement.
2132
- *
2133
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderQuery
2134
- */
2135
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PurchaseOrderAddRq: { PurchaseOrderAdd: params } }, "PurchaseOrderAddRs", "PurchaseOrderRet"),
2136
- /**
2137
- * Modifies a purchase order.
2138
- *
2139
- * Some fields in a `PurchaseOrderMod` request cannot be cleared. If any of
2140
- * the following fields is included in a purchase order modify request, it
2141
- * must contain a value:
2142
- * - `TemplateRef`
2143
- * - `TxnDate`
2144
- * - `DueDate`
2145
- * - `ExpectedDate`
2146
- * - `IsManuallyClosed`
2147
- * - `IsToBePrinted`
2148
- *
2149
- * Within `PurchaseOrderLineMod` or `PurchaseOrderLineGroupMod`:
2150
- * - `ItemRef`
2151
- * - `Quantity`
2152
- * - `Rate`
2153
- * - `Amount`
2154
- * - `IsManuallyClosed`
2155
- * - `OverrideItemAccountRef`
2156
- *
2157
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderMod
2158
- */
2159
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PurchaseOrderModRq: { PurchaseOrderMod: params } }, "PurchaseOrderModRs", "PurchaseOrderRet"),
2160
- /**
2161
- * Queries for the specified purchase order or set of orders.
2162
- *
2163
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderQuery
2164
- */
2165
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { PurchaseOrderQueryRq: params }, "PurchaseOrderQueryRs", "PurchaseOrderRet"),
2166
- };
2167
- /**
2168
- * A receive payment transaction is used for one or more of these purposes:
2169
- * 1. To record a customer’s payment against an invoice for one or more jobs,
2170
- * 2. To set a discount (for early payment, for example),
2171
- * 3. To set a credit (from previously returned merchandise, for example).
2172
- *
2173
- * If full payment is received at the time of sale, it is recorded using a
2174
- * sales receipt transaction, not a receive payments transaction.
2175
- */
2176
- receivePayment = {
2177
- /**
2178
- * Receives a customer payment into QuickBooks. A receive payment
2179
- * transaction is used for one or more of these purposes:
2180
- * 1. To record a customer’s payment against an invoice for one or more
2181
- * jobs,
2182
- * 2. To set a discount (for early payment, for example),
2183
- * 3. To set a credit (from previously returned merchandise, for example).
2184
- *
2185
- * If full payment is received at the time of sale, it is recorded using a
2186
- * sales receipt transaction, not a receive payments transaction.
2187
- *
2188
- * Notice that access to sensitive data permissions are not required to use
2189
- * this request. However, if the application does not have access to
2190
- * sensitive data permission, then the response returned will not contain
2191
- * certain sensitive data. For example, even if credit card data is supplied
2192
- * in the `ReceivePaymentAdd` request via the `CreditCardTxnInfo` aggregate,
2193
- * the response will not contain the corresponding aggregate.
2194
- *
2195
- * This request can be used to record QBMS credit card transaction data, via
2196
- * the `CreditCardTxnInfo` aggregate. You can record charges and also
2197
- * authorizations. (You can later respond to a QBMS capture of authorized
2198
- * charges by doing a `ReceivePaymentMod` and changing the
2199
- * `CreditCardTxnType` to “Charge”.) Notice that the reconciliation data
2200
- * fields (`ReconBatchID`, `PaymentGroupingCode`, `PaymentStatus`,
2201
- * `TxnAuthorizationTime`, `TxnAuthorizationStamp`, `ClientTransID`) are
2202
- * optional ONLY if the `CreditCardTxnType` is “Authorization”. If the type
2203
- * is “Charge”, then those reconciliation fields must be supplied or you
2204
- * will get a runtime error.
2205
- *
2206
- * IMPORTANT: In a `SalesReceiptAdd` or `ReceivePaymentAdd` request that
2207
- * contains credit card transaction data supplied from QBMS transaction
2208
- * responses, you must specify the payment method (using the
2209
- * `PaymentMethodRef` aggregate).
2210
- *
2211
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentAdd
2212
- */
2213
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ReceivePaymentAddRq: { ReceivePaymentAdd: params } }, "ReceivePaymentAddRs", "ReceivePaymentRet"),
2214
- /**
2215
- * Modifies a receive payment transaction.
2216
- *
2217
- * If you save QBMS credit card data in your `ReceivePayments`, this Mod
2218
- * request allows you to capture a previously authorized credit card charge.
2219
- * The way this works is that the ReceivePaymentAdd would contain the QBMS
2220
- * `CreditCardTxnInfo` aggregate with the `CreditCardTxnType` set to
2221
- * “Authorization,” which causes QB to internally mark the transaction as
2222
- * pending. When the capture transaction is performed later, in QBMS, that
2223
- * capture transaction can be saved into QuickBooks via this Mod request, as
2224
- * you are modifying the original `ReceivePayment` but changing its
2225
- * `CreditCardTxnType` from ”Authorization” to “Capture.” This mod operation
2226
- * results in the removal of the pending status and the posting of this
2227
- * receive payment.
2228
- *
2229
- * Notice that the reconciliation data fields (`ReconBatchID`,
2230
- * `PaymentGroupingCode`, `PaymentStatus`, `TxnAuthorizationTime`,
2231
- * `TxnAuthorizationStamp`, `ClientTransID`) are optional ONLY if the
2232
- * `CreditCardTxnType` is “Authorization” because authorizations don’t have
2233
- * such data. If the type is “Charge”, then those reconciliation fields must
2234
- * be supplied or you will get a runtime error.
2235
- *
2236
- * The following list describes what you can and can’t do with this request.
2237
- * - Modify `RefNumber` or `Memo`.
2238
- * - Modify (not clear) the `CustomerRef` field for a payment that was not
2239
- * electronically processed.
2240
- * - Modify (not clear) the `ARAccountRef`.
2241
- * - Modify (not clear) the `TxnDate`.
2242
- * - Modify or clear the `TotalAmount`.
2243
- * - Modify or clear the `PaymentMethodRef`.
2244
- * - Modify, (not clear) the `DepositToAccountRef`
2245
- * - Change the payment amount applied to an invoice. For a receive payment
2246
- * transaction that has been applied to several existing invoices,
2247
- * redistribute the payment amounts applied to the invoices.
2248
- * - Change the discount amount applied to particular invoice.
2249
- * - You cannot change the credit amount applied to an invoice.
2250
- * - Apply the payment to a different invoice, including a discount and a
2251
- * credit. Apply the payment amount to a different invoice. Apply a
2252
- * discount, and a credit. The existing distribution is cleared, except
2253
- * for any credit that may have been applied.
2254
- * - Modify QBMS credit card information.
2255
- * - You cannot auto apply payment.
2256
- * - Apply an additional credit to an invoice.
2257
- *
2258
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentMod
2259
- */
2260
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ReceivePaymentModRq: { ReceivePaymentMod: params } }, "ReceivePaymentModRs", "ReceivePaymentRet"),
2261
- /**
2262
- * Queries for the specified receive payment or set of payments.
2263
- *
2264
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentQuery
2265
- */
2266
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ReceivePaymentQueryRq: params }, "ReceivePaymentQueryRs", "ReceivePaymentRet"),
2267
- };
2268
- /**
2269
- * A report in QuickBooks Desktop is a tool that allows users to generate
2270
- * detailed financial statements and overviews, such as Profit and Loss
2271
- * statements or General Ledger detail reports, tailored to their specific
2272
- * needs.
2273
- */
2274
- report = {
2275
- /**
2276
- * Generates an aging report, which tracks outstanding invoices (in accounts
2277
- * receivable accounts) and unpaid bills (in accounts payable accounts).
2278
- *
2279
- * Note that you could use a collections report instead of the aging query,
2280
- * if that better suited your needs.
2281
- *
2282
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/AgingReportQuery
2283
- */
2284
- aging: async (endUserId, params) => this.sendRequestWrapper(endUserId, { AgingReportQueryRq: params }, "AgingReportQueryRs", "ReportRet"),
2285
- /**
2286
- * Generates budget reports similar to the budget report functionality that
2287
- * is available within the QuickBooks UI. (From the main QB menubar select
2288
- * Reports->Budgets & Forecasts.)
2289
- *
2290
- * Note: the graphing functionality, forecasts, and memorized reports that
2291
- * are available through the UI are not supported by the SDK.
2292
- *
2293
- * Notice that if you simply use the default instead of specifying the
2294
- * Fiscal Year, the `ReportPeriod` defaults to “year to date.” You cannot
2295
- * change the default to “This Fiscal Year.”
2296
- *
2297
- * There can only be one balance sheet budget for each fiscal year, one
2298
- * profit and loss (P&L) by account budget per fiscal year, and one profit
2299
- * and loss (P&L) by account and customer budget per fiscal year. Hence the
2300
- * `FiscalYear` element is key in specifying which budget you want. Notice
2301
- * that there are two “views” into each of the two budget categories: the
2302
- * Overview, which shows the budget itself, and the Actual, which shows how
2303
- * expenditures are currently running against the budget.
2304
- *
2305
- * All of the budget reports supported in the UI are supported in the SDK,
2306
- * although the UI and SDK nomenclature differs slightly. The UI shows
2307
- * Budget Overview and Budget Vs Actual as choices in the selection list,
2308
- * with Balance Sheet and P&L as subchoices in a subsequent selection list,
2309
- * already filtered by Accounts, or Accounts and Classes, or Accounts and
2310
- * Customers, if these are available.
2311
- *
2312
- * In comparison, you choose the budget view you want via the SDK
2313
- * `BudgetSummaryType` element, which has these possible values:
2314
- * - `BalanceSheetBudgetOverview`
2315
- * - `BalanceSheetBudgetVsActual`
2316
- * - `ProfitAndLossBudgetOverview`
2317
- * - `ProfitAndLossBudgetVsActual`
2318
- *
2319
- * Then you specify any additional filtering by the Budget Criterion value
2320
- * you specify (`Accounts`, `AccountsAndCustomers`, or
2321
- * `AccountsAndClasses`). Notice that before you can obtain a Budget report,
2322
- * the “target” budget must be defined in QuickBooks, via the UI, because
2323
- * you cannot create a budget via the SDK.
2324
- *
2325
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BudgetSummaryReportQuery
2326
- */
2327
- budgetSummary: async (endUserId, params) => this.sendRequestWrapper(endUserId, { BudgetSummaryReportQueryRq: params }, "BudgetSummaryReportQueryRs", "ReportRet"),
2328
- /**
2329
- * A Custom Transaction Detail report gives you complete control over the
2330
- * content of the report. It does not have any default values and consists
2331
- * entirely of customized data. You must specify all the include columns for
2332
- * the transactions you want returned in the report.
2333
- *
2334
- * If you want complete control over the report content, you will be
2335
- * interested in both the custom summary report and the custom transaction
2336
- * detail report. Custom reports do not make any assumptions about the data
2337
- * you are interested in–they require you to specify exactly what data you
2338
- * want included in the report. Your application has to select the row and
2339
- * column axes, and it controls the output using common customization
2340
- * parameters for dates and filters. For the custom transaction detail
2341
- * report, you must specify all the include columns for the transactions you
2342
- * want returned in the report. For these reports, you are also required to
2343
- * specify a date element a `DateMacro` or a custom date range).
2344
- *
2345
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomDetailReportQuery
2346
- */
2347
- customDetail: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CustomDetailReportQueryRq: params }, "CustomDetailReportQueryRs", "ReportRet"),
2348
- /**
2349
- * A custom summary report gives you complete control over the content of
2350
- * the report. It does not have any default values and consists entirely of
2351
- * customized data.
2352
- *
2353
- * If you want complete control over the report content, you will be
2354
- * interested in both the custom summary report and the custom transaction
2355
- * detail report. Custom reports do not make any assumptions about the data
2356
- * you are interested in–they require you to specify exactly what data you
2357
- * want included in the report. Your application has to select the row and
2358
- * column axes, and it controls the output using common customization
2359
- * parameters for dates and filters. For the custom transaction detail
2360
- * report, you must specify all the include columns for the transactions you
2361
- * want returned in the report. For these reports, you are also required to
2362
- * specify a date element a ``DateMacro`` or a custom date range).
2363
- *
2364
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomSummaryReportQuery
2365
- */
2366
- customSummary: async (endUserId, params) => this.sendRequestWrapper(endUserId, { CustomSummaryReportQueryRq: params }, "CustomSummaryReportQueryRs", "ReportRet"),
2367
- /**
2368
- * You use this report query to get any of the supported QuickBooks detail
2369
- * reports, which you specify in the `GeneralDetailReportType`. You can
2370
- * optionally display the report within QB by setting `DisplayReport` to
2371
- * True.
2372
- *
2373
- * You can also use this detail report to get information not obtainable
2374
- * from various SDK queries. For example, suppose you wanted the cleared
2375
- * status from a `BillPaymentCheck`; the `BillPaymentCheckQuery` wouldn’t
2376
- * have this info, but you could use this general detail report and specify
2377
- * the column `ClearedStatus` to find that information.
2378
- *
2379
- * Also, if you wanted to query the accounts receivable directly, you could
2380
- * do a General Detail Report Query with the report type set to Open
2381
- * Invoices.
2382
- *
2383
- * You could also use this report if you needed to run a report on all
2384
- * invoice changes made in a specific day, and only include changes to
2385
- * invoices from a given past month, if the audit trail is on in QuickBooks.
2386
- * You would use a `GeneralDetailReport` query with the report type set to
2387
- * `AuditTrail`.
2388
- *
2389
- * Notice that if a line is paid, `PaidStatus == “X”`. If a line is not
2390
- * paid, no entry for `PaidStatus` is returned.
2391
- *
2392
- * However, in the same report run within the QB GUI, the following behavior
2393
- * is observed: This differs from the UI, where if the line is paid, an
2394
- * entry of “Paid” is displayed and if the line is not paid, an entry of
2395
- * “Unpaid” is displayed.
2396
- *
2397
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/GeneralDetailReportQuery
2398
- */
2399
- generalDetail: async (endUserId, params) => this.sendRequestWrapper(endUserId, { GeneralDetailReportQueryRq: params }, "GeneralDetailReportQueryRs", "ReportRet"),
2400
- /**
2401
- * The General Summary Reports category is the largest category for summary
2402
- * reports. In addition to common customizations, the reports within this
2403
- * category can be customized by the number of columns that are returned and
2404
- * by period comparisons for the data in the report.
2405
- *
2406
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/GeneralSummaryReportQuery
2407
- */
2408
- generalSummary: async (endUserId, params) => this.sendRequestWrapper(endUserId, { GeneralSummaryReportQueryRq: params }, "GeneralSummaryReportQueryRs", "ReportRet"),
2409
- /**
2410
- * Queries for a job report, which includes both summary and transaction
2411
- * detail reports. The reports can be customized only by date range, by
2412
- * column summarization, and by common filters. Some job reports require a
2413
- * `customer:job` reference in order to work.
2414
- *
2415
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobReportQuery
2416
- */
2417
- job: async (endUserId, params) => this.sendRequestWrapper(endUserId, { JobReportQueryRq: params }, "JobReportQueryRs", "ReportRet"),
2418
- /**
2419
- * This report returns information from any of three QuickBooks payroll
2420
- * reports:
2421
- * - Payroll summary report: This report shows the total wages, taxes
2422
- * withheld, deductions from net pay, additions to net pay, and
2423
- * employer-paid taxes and contributions for each employee on the payroll.
2424
- * - Employee earnings summary report: This report shows information similar
2425
- * to the payroll summary report, but in a different layout. The report
2426
- * has a row for each employee and a column for each payroll item.
2427
- * - Payroll liability balances report: This report lists the payroll
2428
- * liabilities the QuickBooks company owes to various agencies, such as
2429
- * the federal government, your state government, insurance plan
2430
- * administrators, labor unions, etc. The report covers unpaid liabilities
2431
- * incurred during the period of time shown in the From and To fields. If
2432
- * the company paid a liability incurred within the date range of the
2433
- * report, the report omits that liability, even if the payment occurred
2434
- * after the ending date of the report.
2435
- *
2436
- * Payroll Summary Reports can be generated if your application is accessing
2437
- * a company file that is currently signed up for a subscription to a
2438
- * payroll service. (If your application is not signed up, it will receive
2439
- * an error when it attempts to generate a report in this category.)
2440
- *
2441
- * The restrictions noted above about payroll reports requiring the use of
2442
- * the Intuit Payroll service do not apply to the QuickBooks sample
2443
- * companies. You can still test out these reports on the sample companies
2444
- * without subscribing to the payroll service. For all other companies,
2445
- * however, the company must be subscribed.
2446
- *
2447
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollSummaryReportQuery
2448
- */
2449
- payrollSummary: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PayrollSummaryReportQueryRq: params }, "PayrollSummaryReportQueryRs", "ReportRet"),
2450
- /**
2451
- * Returns information from any of five QuickBooks payroll reports:
2452
- * - Employee state taxes detail report
2453
- * - Payroll item detail report (lists the payroll transactions on which
2454
- * each payroll item appears)
2455
- * - Payroll detail review report (provides detailed information about how
2456
- * QuickBooks calculates tax amounts on employee paychecks and in
2457
- * year-to-date transactions)
2458
- * - Payroll transaction detail report (shows the line-item detail that
2459
- * appears on each payroll transaction)
2460
- * - Payroll transactions by payee report (lists payroll transactions,
2461
- * grouping them by payee)
2462
- *
2463
- * Payroll Summary Reports can be generated if your application is accessing
2464
- * a company file that is currently signed up for a subscription to a
2465
- * payroll service. (If your application is not signed up, it will receive
2466
- * an error when it attempts to generate a report in this category.)
2467
- *
2468
- * The restrictions noted above about payroll reports requiring the use of
2469
- * the Intuit Payroll service do not apply to the QuickBooks sample
2470
- * companies. You can still test out these reports on the sample companies
2471
- * without subscribing to the payroll service. For all other companies,
2472
- * however, the company must be subscribed.
2473
- *
2474
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollDetailReportQuery
2475
- */
2476
- payrollDetail: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PayrollDetailReportQueryRq: params }, "PayrollDetailReportQueryRs", "ReportRet"),
2477
- /**
2478
- * The Time Reports category includes summary and detail reports related by
2479
- * time. Summarized columns can be customized in these reports.
2480
- *
2481
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeReportQuery
2482
- */
2483
- time: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TimeReportQueryRq: params }, "TimeReportQueryRs", "ReportRet"),
2484
- };
2485
- /**
2486
- * A sales order tracks inventory that is on back order for a customer. In
2487
- * QuickBooks, sales orders and invoices use similar fields, and a sales order
2488
- * can be “converted” into an invoice (by linking the invoice to the sales
2489
- * order) once the inventory is in stock.
2490
- */
2491
- salesOrder = {
2492
- /**
2493
- * Adds a sales order.
2494
- *
2495
- * A sales order tracks inventory that is on back order for a customer. In
2496
- * QuickBooks, sales orders and invoices use similar fields, and a sales
2497
- * order can be “converted” into an invoice (by linking the invoice to the
2498
- * sales order) once the inventory is in stock.
2499
- *
2500
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesOrderAdd
2501
- */
2502
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesOrderAddRq: { SalesOrderAdd: params } }, "SalesOrderAddRs", "SalesOrderRet"),
2503
- /**
2504
- * Modifies a sales order.
2505
- *
2506
- * Some fields in a `SalesOrderMod` request cannot be cleared. If any of the
2507
- * following fields is included in a sales-order modify request, it must
2508
- * contain a value:
2509
- * - `CustomerRef`
2510
- * - `TemplateRef`
2511
- * - `TxnDate`
2512
- * - `DueDate`
2513
- * - `ShipDate`
2514
- * - `ItemSalesTaxRef`
2515
- * - `IsManuallyClosed`
2516
- * - `IsToBePrinted`
2517
- *
2518
- * Within `SalesOrderLineMod` or `SalesOrderLineGroupMod`:
2519
- * - `ItemRef`
2520
- * - `Quantity`
2521
- * - `Rate`
2522
- * - `Amount`
2523
- * - `SalesTaxCodeRef`
2524
- * - `IsManuallyClosed`
2525
- *
2526
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesOrderMod
2527
- */
2528
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesOrderModRq: { SalesOrderMod: params } }, "SalesOrderModRs", "SalesOrderRet"),
2529
- /**
2530
- * Queries for the specified sales order or set of sales orders.
2531
- *
2532
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesOrderQuery
2533
- */
2534
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { SalesOrderQueryRq: params }, "SalesOrderQueryRs", "SalesOrderRet"),
2535
- };
2536
- /**
2537
- * Sales receipts include payments by cash, check, or credit card.
2538
- */
2539
- salesReceipt = {
2540
- /**
2541
- * Adds a sales receipt to QuickBooks.
2542
- *
2543
- * Notice that access to sensitive data permissions are not required to use
2544
- * this request. However, if the application does not have access to
2545
- * sensitive data permission, then the response returned will not contain
2546
- * certain sensitive data. For example, even if credit card data is supplied
2547
- * in the `SalesReceiptAdd` request via the `CreditCardTxnInfo` aggregate,
2548
- * the response will not contain the corresponding aggregate.
2549
- *
2550
- * Sales receipts are used to record point-of-sale payments. Sales receipts
2551
- * include payments by cash, check, or credit card. Note: If full payment is
2552
- * not received at the time of the sale, do not use a sales receipt.
2553
- * Instead, use an invoice transaction and record the partial payment using
2554
- * a payment item.
2555
- *
2556
- * IMPORTANT: In a `SalesReceiptAdd` or `ReceivePaymentAdd` request that
2557
- * contains credit card transaction data supplied from QBMS transaction
2558
- * responses, you must specify the payment method (using the
2559
- * `PaymentMethodRef` aggregate).
2560
- *
2561
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptAdd
2562
- */
2563
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesReceiptAddRq: { SalesReceiptAdd: params } }, "SalesReceiptAddRs", "SalesReceiptRet"),
2564
- /**
2565
- * Modifies an existing Sales receipt.
2566
- *
2567
- * IMPORTANT: In a `SalesReceiptMod` request that contains credit card
2568
- * transaction data supplied from QBMS transaction responses, you cannot
2569
- * change the total amount recorded in the sale.
2570
- *
2571
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptMod
2572
- */
2573
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesReceiptModRq: { SalesReceiptMod: params } }, "SalesReceiptModRs", "SalesReceiptRet"),
2574
- /**
2575
- * Queries for the specified sales receipt or set of receipts.
2576
- *
2577
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptQuery
2578
- */
2579
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { SalesReceiptQueryRq: params }, "SalesReceiptQueryRs", "SalesReceiptRet"),
2580
- };
2581
- /**
2582
- * A sales rep is a sales representative listed on sales forms.
2583
- */
2584
- salesRep = {
2585
- /**
2586
- * Adds a sales rep.
2587
- *
2588
- * The sales representative must be on the Employee, Vendor, or Other Names
2589
- * list within QuickBooks. Sales representative’s names and initials appear
2590
- * on the Rep drop-down list on QuickBooks sales forms.
2591
- *
2592
- * A `SalesRepRef` refers to a person on the `SalesRep` list. In a request,
2593
- * if a `SalesRepRef` aggregate includes both `FullName` and `ListID`,
2594
- * `FullName` will be ignored.
2595
- *
2596
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepAdd
2597
- */
2598
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesRepAddRq: { SalesRepAdd: params } }, "SalesRepAddRs", "SalesRepRet"),
2599
- /**
2600
- * Modifies a sales rep record.
2601
- *
2602
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepMod
2603
- */
2604
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesRepModRq: { SalesRepMod: params } }, "SalesRepModRs", "SalesRepRet"),
2605
- /**
2606
- * Queries for the specified sales rep or set of reps.
2607
- *
2608
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepQuery
2609
- */
2610
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { SalesRepQueryRq: params }, "SalesRepQueryRs", "SalesRepRet"),
2611
- };
2612
- /**
2613
- * A sales tax code helps categorize items on a sales form as taxable or
2614
- * non-taxable, detailing reasons and associating tax codes with customers,
2615
- * items, or transactions.
2616
- */
2617
- salesTaxCode = {
2618
- /**
2619
- * Adds a sales tax code.
2620
- *
2621
- * Each item on a sales form is assigned a sales-tax code that indicates
2622
- * whether the item is taxable or non-taxable, and why. Two general codes,
2623
- * which can be modified but not deleted, appear on the sales-tax code list
2624
- * by default:
2625
- * - Non-taxable `(Name = NON; Desc = Non-Taxable; IsTaxable = false)`
2626
- * - Taxable `(Name = TAX; Desc = Taxable; IsTaxable = true)`
2627
- *
2628
- * A sales-tax code can be deleted only if it is no longer associated with
2629
- * any customer, item, or transaction. If the “Do You Charge Sales Tax?”
2630
- * preference within QuickBooks is set to No, QuickBooks will assign the
2631
- * default non-taxable sales-tax code to all sales.
2632
- *
2633
- * A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In
2634
- * a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and
2635
- * `ListID`, `FullName` will be ignored. In a Customer message,
2636
- * `SalesTaxCodeRef` refers to the sales-tax code that will be used for
2637
- * items related to this customer. In an ItemInventory message,
2638
- * `SalesTaxCodeRef` refers to the type of sales tax that will be charged
2639
- * for this item, if it is a taxable item and if sales tax is set up within
2640
- * QuickBooks.
2641
- *
2642
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxCodeAdd
2643
- */
2644
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesTaxCodeAddRq: { SalesTaxCodeAdd: params } }, "SalesTaxCodeAddRs", "SalesTaxCodeRet"),
2645
- /**
2646
- * Modifies the specified sales tax code, subject to a few limitations. You
2647
- * cannot use it to change a tax code’s `IsTaxable` property after the code
2648
- * has been used in any transaction. For the default QuickBooks taxable
2649
- * (Tax) and exempt (Non) tax codes, you can’t use this request to change
2650
- * the `IsTaxable` property at all, even before any transactions.
2651
- *
2652
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxCodeMod
2653
- */
2654
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesTaxCodeModRq: { SalesTaxCodeMod: params } }, "SalesTaxCodeModRs", "SalesTaxCodeRet"),
2655
- /**
2656
- * Queries for the specified sales tax code or set of codes.
2657
- *
2658
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxCodeQuery
2659
- */
2660
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { SalesTaxCodeQueryRq: params }, "SalesTaxCodeQueryRs", "SalesTaxCodeRet"),
2661
- };
2662
- /**
2663
- * A sales tax payment check is a payment made for sales tax owed (for
2664
- * example, to a state sales tax authority).
2665
- */
2666
- salesTaxPaymentCheck = {
2667
- /**
2668
- * Adds a payment made for sales tax owed (for example, to a state sales tax
2669
- * authority).
2670
- *
2671
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxPaymentCheckAdd
2672
- */
2673
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesTaxPaymentCheckAddRq: { SalesTaxPaymentCheckAdd: params } }, "SalesTaxPaymentCheckAddRs", "SalesTaxPaymentCheckRet"),
2674
- /**
2675
- * Modifies an existing sales tax payment check.
2676
- *
2677
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxPaymentCheckMod
2678
- */
2679
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { SalesTaxPaymentCheckModRq: { SalesTaxPaymentCheckMod: params } }, "SalesTaxPaymentCheckModRs", "SalesTaxPaymentCheckRet"),
2680
- /**
2681
- * Queries for payments that have been made for sales tax owed (for example,
2682
- * to a state sales tax authority).
2683
- *
2684
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesTaxPaymentCheckQuery
2685
- */
2686
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { SalesTaxPaymentCheckQueryRq: params }, "SalesTaxPaymentCheckQueryRs", "SalesTaxPaymentCheckRet"),
2687
- };
2688
- /**
2689
- * Standard terms show the number of days within which payment is due and can
2690
- * include a discount for early payment. Payments with date-driven terms, on
2691
- * the other hand, are due by a certain date.
2692
- */
2693
- standardTerms = {
2694
- /**
2695
- * Adds a standard term. Standard terms show the number of days within which
2696
- * payment is due and can include a discount for early payment. For example,
2697
- * the following standard term means that payment is due in 30 days, with a
2698
- * 1% discount if payment is made within 10 days: "1% 10 Net 30".
2699
- *
2700
- * Payments with date-driven terms, on the other hand, are due by a certain
2701
- * date.
2702
- *
2703
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/StandardTermsAdd
2704
- */
2705
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { StandardTermsAddRq: { StandardTermsAdd: params } }, "StandardTermsAddRs", "StandardTermsRet"),
2706
- /**
2707
- * Queries for the specified standard term or set of terms.
2708
- *
2709
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/StandardTermsQuery
2710
- */
2711
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { StandardTermsQueryRq: params }, "StandardTermsQueryRs", "StandardTermsRet"),
2712
- };
2713
- /**
2714
- * The time-tracking object facilitates payroll and invoicing based on work
2715
- * hours, assignable to vendors, employees, or others.
2716
- */
2717
- timeTracking = {
2718
- /**
2719
- * This request adds a time tracking transaction to QuickBooks, mirroring
2720
- * the time-tracking feature available in the QuickBooks UI. The time
2721
- * tracking feature allows a QuickBooks user to base payroll or invoices on
2722
- * time worked. You can add time-tracking information to any vendor,
2723
- * employee, or person on the Other Names list in QuickBooks.
2724
- *
2725
- * If `IsBillable` is set to true, both `CustomerRef` and `ItemServiceRef`
2726
- * are required. There is no link between an invoice and the time entries.
2727
- * However, when you do the invoicing from QuickBooks, QuickBooks does mark
2728
- * the time entries as “billed.” If you don’t record the time entries as
2729
- * billed properly, then you get into a user workflow issue where every time
2730
- * the user creates an invoice for a customer, QB pops up a dialog asking if
2731
- * they want to bill the un-billed time (which you already billed from your
2732
- * app).
2733
- *
2734
- * See more:
2735
- * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingAdd
2736
- */
2737
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TimeTrackingAddRq: { TimeTrackingAdd: params } }, "TimeTrackingAddRs", "TimeTrackingRet"),
2738
- /**
2739
- * Modifies a time tracking transaction.
2740
- *
2741
- * This allows you to modify time entry and mark time entered as billed.
2742
- * Applications using qbXML spec levels less than 6.0 aren’t able to Modify
2743
- * a time tracking transaction. However, those applications can achieve the
2744
- * results of a modify operation by deleting the time tracking transaction
2745
- * (using `TxnDelRq`) and then re-adding it with the desired values. You can
2746
- * do this only if no other downstream transactions have used that
2747
- * particular time tracking transaction. (Otherwise, the `TxnDel` request
2748
- * will fail.) This differs slightly from the UI, which allows these
2749
- * transactions to be edited directly. However, even in the UI, modifying a
2750
- * time tracking transaction does not result in changes to any downstream
2751
- * transactions that use it. There is no link between an invoice and the
2752
- * time entries. However when you do the invoicing from QuickBooks,
2753
- * QuickBooks does mark the time entries as “billed.” If you don’t record
2754
- * the time entries as billed properly, then you get into a user workflow
2755
- * issue where every time the user creates an invoice for a customer, QB
2756
- * pops up a dialog asking if they want to bill the un-billed time (which
2757
- * you already billed from your app). That’s why beginning with QB2007 and
2758
- * qbXML spec 6.0 we added support for the “BillableStatus” field *and* add
2759
- * `TimeTrackingMod` so that you can mark the time as billed when you create
2760
- * an invoice for it.
2761
- *
2762
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingMod
2763
- */
2764
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TimeTrackingModRq: { TimeTrackingMod: params } }, "TimeTrackingModRs", "TimeTrackingRet"),
2765
- /**
2766
- * The time-tracking transactions that are returned in this query include
2767
- * time tracking information that was entered into QuickBooks manually or
2768
- * gathered using the QuickBooks “Timer” or “Stopwatch.” Note that the
2769
- * QuickBooks Timer application can run on its own without QuickBooks, but
2770
- * the QuickBooks SDK cannot access the Timer data directly. The Timer data
2771
- * must be imported into QuickBooks before it is accessible via the SDK.)
2772
- *
2773
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingQuery
2774
- */
2775
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TimeTrackingQueryRq: params }, "TimeTrackingQueryRs", "TimeTrackingRet"),
2776
- };
2777
- /**
2778
- * A general transaction is a superset of all transaction types in QuickBooks
2779
- * Desktop.
2780
- */
2781
- transaction = {
2782
- /**
2783
- * Queries for transactions across different transaction types. In contrast
2784
- * to the other transaction-specific queries, this query only returns data
2785
- * common to all transactions, such as `TxnID`, type, dates, accountRef, and
2786
- * so on. This query does return condensed transactions.
2787
- *
2788
- * Accordingly, if additional and more transaction-specific data is
2789
- * required, a subsequent call to the desired query can be used to get that
2790
- * transaction-specific data. For example, this method can be used to
2791
- * present all transactions in a certain date range, then the user can
2792
- * select a particular transaction, say an invoice transaction. In response
2793
- * to this choice, you could do an `InvoiceQuery` to pull up all of the
2794
- * invoice data.
2795
- *
2796
- * You should be aware that permissions are obeyed in this query. So, if you
2797
- * set the transaction type filter to “All” (or if you don’t set it at all),
2798
- * the query will be searching only those transaction types that are
2799
- * permissible types for the user currently logged in. Accordingly, if
2800
- * instead of “all,” you specify a transaction type that the currently
2801
- * logged in user is not permitted to access, you will get a runtime error,
2802
- * even if other permissible transaction types were specified as well.
2803
- *
2804
- * Finally, the transaction query is subject to sensitive data access level
2805
- * restrictions and payroll subscription status.
2806
- *
2807
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransactionQuery
2808
- */
2809
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TransactionQueryRq: params }, "TransactionQueryRs", "TransactionRet"),
2810
- /**
2811
- * Deleting a transaction removes it completely and irreversibly. (Using a
2812
- * `TxnVoid` request to void a transaction, on the other hand, sets its
2813
- * amount to zero but keeps a record of it in QuickBooks.)
2814
- *
2815
- * If you try to delete or void a transaction while it is in use, you will
2816
- * get an error. You will also get an error if you try to delete or void a
2817
- * transaction (say a sales receipt) while a linked transaction (such as a
2818
- * deposit) is in use. If you try to delete or void a transaction that was
2819
- * created before the company’s closing date, you might or might not get an
2820
- * error, depending on the permissions and passwords that are set in
2821
- * QuickBooks.
2822
- *
2823
- * The mode in which a QuickBooks company file is open (single-user or
2824
- * multi-user) does not impact your application’s ability to delete
2825
- * transaction objects from it. (List objects can only be deleted if the
2826
- * company file is open in single-user mode.)
2827
- *
2828
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TxnDel
2829
- */
2830
- delete: async (endUserId, params) =>
2831
- // Call `this.sendRequest()` instead of `this.sendRequestWrapper()`
2832
- // because `TxnDel` has a unique input and output structure.
2833
- this.sendRequest(endUserId, "quickbooks_desktop", {
2834
- TxnDelRq: params,
2835
- }),
2836
- /**
2837
- * Voiding a transaction sets its amount to zero but keeps a record of it in
2838
- * QuickBooks. (Using `TxnDel` to delete a transaction, on the other hand,
2839
- * removes the transaction completely.)
2840
- *
2841
- * If you try to void or delete a transaction while it is in use, you will
2842
- * get an error. You will also get an error if you try to void or delete a
2843
- * transaction (say a sales receipt) while a linked transaction (such as a
2844
- * deposit) is in use. If you try to void or delete a transaction that was
2845
- * created before the company’s closing date, you might or might not get an
2846
- * error, depending on the permissions and passwords that are set in
2847
- * QuickBooks.
2848
- *
2849
- * The mode in which a QuickBooks company file is open (single-user or
2850
- * multi-user) does not impact your application’s ability to void
2851
- * transaction objects in it.
2852
- *
2853
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TxnVoid
2854
- */
2855
- void: async (endUserId, params) =>
2856
- // Call `this.sendRequest()` instead of `this.sendRequestWrapper()`
2857
- // because `TxnVoid` has a unique input and output structure.
2858
- this.sendRequest(endUserId, "quickbooks_desktop", {
2859
- TxnVoidRq: params,
2860
- }),
2861
- };
2862
- /**
2863
- * A transfer is a transaction that moves money from one account to another
2864
- * account.
2865
- */
2866
- transfer = {
2867
- /**
2868
- * Adds a transfer transaction.
2869
- *
2870
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferAdd
2871
- */
2872
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TransferAddRq: { TransferAdd: params } }, "TransferAddRs", "TransferRet"),
2873
- /**
2874
- * Modifies a transfer transaction.
2875
- *
2876
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferMod
2877
- */
2878
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TransferModRq: { TransferMod: params } }, "TransferModRs", "TransferRet"),
2879
- /**
2880
- * Queries for the specified transfer or set of transfers.
2881
- *
2882
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferQuery
2883
- */
2884
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TransferQueryRq: params }, "TransferQueryRs", "TransferRet"),
2885
- };
2886
- /**
2887
- * An inventory transfer is the movement of inventory between two inventory
2888
- * sites.
2889
- */
2890
- transferInventory = {
2891
- /**
2892
- * Adds a transfer inventory transaction.
2893
- *
2894
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryAdd
2895
- */
2896
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TransferInventoryAddRq: { TransferInventoryAdd: params } }, "TransferInventoryAddRs", "TransferInventoryRet"),
2897
- /**
2898
- * Modifies a transfer inventory transaction.
2899
- *
2900
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryMod
2901
- */
2902
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TransferInventoryModRq: { TransferInventoryMod: params } }, "TransferInventoryModRs", "TransferInventoryRet"),
2903
- /**
2904
- * Queries for the specified transfer inventory transaction or set of
2905
- * transfer inventory transactions.
2906
- *
2907
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryQuery
2908
- */
2909
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TransferInventoryQueryRq: params }, "TransferInventoryQueryRs", "TransferInventoryRet"),
2910
- };
2911
- /**
2912
- * Query deleted transaction elements, such as invoices, bills, and checks.
2913
- */
2914
- txnDeleted = {
2915
- /**
2916
- * Returns all transaction elements deleted within the last 90 days, grouped
2917
- * according to object type.
2918
- *
2919
- * For example, if the request specifies `TxnDelType` elements of `Bill` and
2920
- * then `Check`, it will return all the `Bill` deletes first, then all the
2921
- * `Check` deletes.
2922
- *
2923
- * By default, the records are returned in ascending order, according to the
2924
- * “real” delete time. For example:
2925
- * - If transaction A is deleted at 10 a.m. and B is deleted at 11 a.m., the
2926
- * query request will return A first, then B.
2927
- * - However, if the QuickBooks user moves the clock back before deleting B
2928
- * (for example, B is deleted at 9 a.m.), the query will still return
2929
- * first A then B, because B was deleted after A in “real” time.
2930
- *
2931
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TxnDeletedQuery
2932
- */
2933
- query: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TxnDeletedQueryRq: params }, "TxnDeletedQueryRs", "TxnDeletedRet"),
2934
- };
2935
- /**
2936
- * A vehicle is used to add, select, and manage vehicles for tracking and
2937
- * billing mileage.
2938
- */
2939
- vehicle = {
2940
- /**
2941
- * Adds a vehicle to the vehicle list for use in `VehicleMileage`
2942
- * transactions. Each vehicle name must be unique.
2943
- *
2944
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VehicleAdd
2945
- */
2946
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VehicleAddRq: { VehicleAdd: params } }, "VehicleAddRs", "VehicleRet"),
2947
- /**
2948
- * Modifies a vehicle already in the vehicle list. Any modification,
2949
- * including changing the name, will cause corresponding changes in existing
2950
- * `VehicleMileage` transactions and in reports.
2951
- *
2952
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VehicleMod
2953
- */
2954
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VehicleModRq: { VehicleMod: params } }, "VehicleModRs", "VehicleRet"),
2955
- /**
2956
- * Queries for the specified vehicle or set of vehicles.
2957
- *
2958
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VehicleQuery
2959
- */
2960
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { VehicleQueryRq: params }, "VehicleQueryRs", "VehicleRet"),
2961
- };
2962
- /**
2963
- * Vehicle mileage records a mileage transaction for a specified vehicle,
2964
- * using provided or calculated miles.
2965
- */
2966
- vehicleMileage = {
2967
- /**
2968
- * Adds a vehicle mileage transaction. involving the specified vehicle for
2969
- * the specified total miles or optionally for the QuickBooks calculated
2970
- * total miles if you supply the odometer start and end.
2971
- *
2972
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VehicleMileageAdd
2973
- */
2974
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VehicleMileageAddRq: { VehicleMileageAdd: params } }, "VehicleMileageAddRs", "VehicleMileageRet"),
2975
- /**
2976
- * Queries for the specified vehicle mileage transaction or set of vehicle
2977
- * mileage transactions.
2978
- *
2979
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VehicleMileageQuery
2980
- */
2981
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { VehicleMileageQueryRq: params }, "VehicleMileageQueryRs", "VehicleMileageRet"),
2982
- };
2983
- /**
2984
- * A vendor is any person or company from whom a small business owner buys
2985
- * goods and services. (Banks and tax agencies usually are included on the
2986
- * vendor list.) A company’s vendor list contains information such as account
2987
- * balance and contact information about each vendor.
2988
- */
2989
- vendor = {
2990
- /**
2991
- * Adds a vendor.
2992
- *
2993
- * A vendor is any person or company from whom a small business owner buys
2994
- * goods and services. (Banks and tax agencies usually are included on the
2995
- * vendor list.) A company’s vendor list contains information such as
2996
- * account balance and contact information about each vendor. A `VendorRef`
2997
- * aggregate refers to one of the vendors on the list. In a request, if a
2998
- * `VendorRef` aggregate includes both `FullName` and `ListID`, `FullName`
2999
- * will be ignored.
3000
- *
3001
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorAdd
3002
- */
3003
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VendorAddRq: { VendorAdd: params } }, "VendorAddRs", "VendorRet"),
3004
- /**
3005
- * Modifies a vendor.
3006
- *
3007
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorMod
3008
- */
3009
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VendorModRq: { VendorMod: params } }, "VendorModRs", "VendorRet"),
3010
- /**
3011
- * Queries for the specified vendor or set of vendors.
3012
- *
3013
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorQuery
3014
- */
3015
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { VendorQueryRq: params }, "VendorQueryRs", "VendorRet"),
3016
- };
3017
- /**
3018
- * A vendor credit is also known as a “bill credit”. That is, it is a credit
3019
- * that a vendor owes you because you overpaid your bill, returned
3020
- * merchandise, or for some other reason.
3021
- */
3022
- vendorCredit = {
3023
- /**
3024
- * Adds a vendor credit.
3025
- *
3026
- * A vendor credit is also known as a “bill credit”. That is, it is a credit
3027
- * that a vendor owes you because you overpaid your bill, returned
3028
- * merchandise, or for some other reason. The `VendorCredit` is referenced
3029
- * in a BilPayment transaction, inside the `SetCredit` aggregate.
3030
- *
3031
- * A `VendorCredit` should not be confused with a Credit Memo, which is
3032
- * something you owe your customer and which is referenced in a
3033
- * `ReceivePayment` request.
3034
- *
3035
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorCreditAdd
3036
- */
3037
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VendorCreditAddRq: { VendorCreditAdd: params } }, "VendorCreditAddRs", "VendorCreditRet"),
3038
- /**
3039
- * Modifies a vendor credit. Be careful! If you modify ANY line item, you
3040
- * must fully re-construct the line item table as you want it because if you
3041
- * edit even a single line item, any line item that is NOT in the vendor
3042
- * credit mod will be omitted. For full details, see the QB SDK Programmer’s
3043
- * Guide chapter on modifying and deleting transactions and list objects.
3044
- *
3045
- * A vendor credit is also known as a “bill credit”. That is, it is a credit
3046
- * that a vendor owes you because you overpaid your bill, returned
3047
- * merchandise, or for some other reason. The `VendorCredit` is referenced
3048
- * in a BilPayment transaction, inside the `SetCredit` aggregate.
3049
- *
3050
- * A `VendorCredit` should not be confused with a Credit Memo, which is
3051
- * something you owe your customer and which is referenced in a
3052
- * `ReceivePayment` request.
3053
- *
3054
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorCreditMod
3055
- */
3056
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VendorCreditModRq: { VendorCreditMod: params } }, "VendorCreditModRs", "VendorCreditRet"),
3057
- /**
3058
- * Queries for the specified vendor credit or set of credits.
3059
- *
3060
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorCreditQuery
3061
- */
3062
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { VendorCreditQueryRq: params }, "VendorCreditQueryRs", "VendorCreditRet"),
3063
- };
3064
- /**
3065
- * A vendor type allows business owners to categorize vendors in ways that are
3066
- * meaningful for their businesses. For example, a vendor type might indicate
3067
- * which industry a vendor represents, or which part of the country a vendor
3068
- * is in.
3069
- */
3070
- vendorType = {
3071
- /**
3072
- * Adds a vendor type. A vendor type allows business owners to categorize
3073
- * vendors in ways that are meaningful for their businesses. For example, a
3074
- * vendor type might indicate which industry a vendor represents, or which
3075
- * part of the country a vendor is in.
3076
- *
3077
- * A `VendorTypeRef` aggregate refers to one of the types on the
3078
- * `VendorType` list. In a request, if a `VendorTypeRef` aggregate includes
3079
- * both `FullName` and `ListID`, `FullName` will be ignored.
3080
- *
3081
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorTypeAdd
3082
- */
3083
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { VendorTypeAddRq: { VendorTypeAdd: params } }, "VendorTypeAddRs", "VendorTypeRet"),
3084
- /**
3085
- * Queries for the specified vendor type or set of types.
3086
- *
3087
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/VendorTypeQuery
3088
- */
3089
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { VendorTypeQueryRq: params }, "VendorTypeQueryRs", "VendorTypeRet"),
3090
- };
3091
- /**
3092
- * A workers comp code categorizes occupations based on risk, determining
3093
- * insurance premiums for workers' compensation coverage.
3094
- */
3095
- workersCompCode = {
3096
- /**
3097
- * Adds a workers’ compensation code with one or more rate entries (each
3098
- * rate entry has an effective date and a rate). You can assign effective
3099
- * dates in the past, present or future. However, only one future date will
3100
- * be used. If a future date exists and you write a new one (using the Mod
3101
- * request) then the most recently written code wins; if you have multiple
3102
- * future dates in the Add request, the last one wins.
3103
- *
3104
- * This request requires the company to be subscribed to Intuit Payroll
3105
- * service. Also, you cannot currently assign codes to employees in the SDK;
3106
- * you have to use the UI to do that.
3107
- *
3108
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/WorkersCompCodeAdd
3109
- */
3110
- add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { WorkersCompCodeAddRq: { WorkersCompCodeAdd: params } }, "WorkersCompCodeAddRs", "WorkersCompCodeRet"),
3111
- /**
3112
- * Modifies an existing workers’ compensation code. Notice that if a future
3113
- * date exists and you write a new one (using the Mod request) then the most
3114
- * recently written code wins.
3115
- *
3116
- * This request requires the company to be subscribed to Intuit Payroll
3117
- * service. Also, you cannot currently assign codes to employees in the SDK;
3118
- * you have to use the UI to do that.
3119
- *
3120
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/WorkersCompCodeMod
3121
- */
3122
- mod: async (endUserId, params) => this.sendRequestWrapper(endUserId, { WorkersCompCodeModRq: { WorkersCompCodeMod: params } }, "WorkersCompCodeModRs", "WorkersCompCodeRet"),
3123
- /**
3124
- * Queries for the workers’ compensation codes specified in the query
3125
- * filter; you can filter by name, modified date, and effective date.
3126
- *
3127
- * This request requires the company to be subscribed to Intuit Payroll
3128
- * service.
3129
- *
3130
- * See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/WorkersCompCodeQuery
3131
- */
3132
- query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { WorkersCompCodeQueryRq: params }, "WorkersCompCodeQueryRs", "WorkersCompCodeRet"),
3133
- };
3134
- async sendRequestWrapper(endUserId, params, responseWrapperKey, responseBodyKey) {
3135
- const response = (await this.sendRequest(endUserId, "quickbooks_desktop", params));
3136
- const responseBody = response[responseWrapperKey]?.[responseBodyKey];
3137
- if (responseBody === undefined) {
3138
- throw new error_1.ConductorIntegrationError({
3139
- message: "No response received from QuickBooks Desktop.",
3140
- userFacingMessage: "No response received from QuickBooks Desktop.",
3141
- code: "QBD_NO_RESPONSE",
3142
- });
3143
- }
3144
- return responseBody;
3145
- }
3146
- }
3147
- exports.default = QbdIntegration;