shutro-erp 0.3.6 → 0.3.7

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 (623) hide show
  1. package/dist/account_asset/.kosh/bindings.js +1 -1
  2. package/dist/account_asset/.kosh/schema.d.ts +530 -8
  3. package/dist/account_asset/i18n/bn.d.ts +2 -0
  4. package/dist/account_asset/i18n/bn.js +97 -0
  5. package/dist/account_asset/index.js +2 -0
  6. package/dist/account_asset/module.d.ts +4899 -1445
  7. package/dist/account_budget/.kosh/bindings.js +1 -1
  8. package/dist/account_budget/.kosh/schema.d.ts +1130 -56
  9. package/dist/account_budget/i18n/bn.d.ts +2 -0
  10. package/dist/account_budget/i18n/bn.js +63 -0
  11. package/dist/account_budget/index.js +14 -0
  12. package/dist/account_budget/module.d.ts +17958 -4532
  13. package/dist/account_budget/module.js +15 -0
  14. package/dist/account_portal/.kosh/bindings.js +1 -1
  15. package/dist/account_portal/.kosh/schema.d.ts +530 -8
  16. package/dist/account_portal/i18n/bn.d.ts +2 -0
  17. package/dist/account_portal/i18n/bn.js +6 -0
  18. package/dist/account_portal/index.js +2 -0
  19. package/dist/account_portal/module.d.ts +5167 -1693
  20. package/dist/accounting/.kosh/bindings.js +1 -1
  21. package/dist/accounting/.kosh/schema.d.ts +530 -8
  22. package/dist/accounting/closing.js +1 -0
  23. package/dist/accounting/fiscal.d.ts +578 -0
  24. package/dist/accounting/fiscal.js +401 -0
  25. package/dist/accounting/followups.d.ts +618 -0
  26. package/dist/accounting/followups.js +420 -0
  27. package/dist/accounting/i18n/bn.d.ts +2 -0
  28. package/dist/accounting/i18n/bn.js +425 -0
  29. package/dist/accounting/index.d.ts +2 -0
  30. package/dist/accounting/index.js +649 -2
  31. package/dist/accounting/module.d.ts +4998 -1451
  32. package/dist/accounting/module.js +124 -18
  33. package/dist/accounting/statements.d.ts +878 -0
  34. package/dist/accounting/statements.js +728 -0
  35. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  36. package/dist/accounting/web/BankReconcilePage.js +138 -0
  37. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  38. package/dist/accounting/web/FollowupsPage.js +54 -0
  39. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  40. package/dist/accounting/web/PostingPreview.js +26 -0
  41. package/dist/accounting/web/index.d.ts +3 -0
  42. package/dist/accounting/web/index.js +9 -0
  43. package/dist/accounting/web/messages.js +140 -0
  44. package/dist/approvals/.kosh/bindings.js +1 -1
  45. package/dist/approvals/.kosh/schema.d.ts +272 -4
  46. package/dist/approvals/demo.d.ts +7 -0
  47. package/dist/approvals/demo.js +41 -0
  48. package/dist/approvals/i18n/bn.d.ts +2 -0
  49. package/dist/approvals/i18n/bn.js +133 -0
  50. package/dist/approvals/index.d.ts +19 -1
  51. package/dist/approvals/index.js +477 -7
  52. package/dist/approvals/mails.d.ts +7 -2
  53. package/dist/approvals/mails.js +8 -3
  54. package/dist/approvals/module.d.ts +2930 -1
  55. package/dist/approvals/module.js +468 -7
  56. package/dist/approvals/web/Config.d.ts +12 -0
  57. package/dist/approvals/web/Config.js +60 -0
  58. package/dist/approvals/web/Matrix.d.ts +9 -0
  59. package/dist/approvals/web/Matrix.js +26 -0
  60. package/dist/approvals/web/index.d.ts +3 -1
  61. package/dist/approvals/web/index.js +8 -1
  62. package/dist/approvals/web/messages.js +92 -0
  63. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  64. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  65. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  66. package/dist/approvals_purchase/i18n/bn.js +5 -0
  67. package/dist/approvals_purchase/index.d.ts +3 -0
  68. package/dist/approvals_purchase/index.js +47 -0
  69. package/dist/approvals_purchase/module.d.ts +12670 -0
  70. package/dist/approvals_purchase/module.js +84 -0
  71. package/dist/attendance/.kosh/bindings.js +1 -1
  72. package/dist/attendance/.kosh/schema.d.ts +59 -1
  73. package/dist/attendance/i18n/bn.d.ts +2 -0
  74. package/dist/attendance/i18n/bn.js +147 -0
  75. package/dist/attendance/index.js +3 -1
  76. package/dist/attendance/module.d.ts +452 -8
  77. package/dist/automation/engine.js +1 -1
  78. package/dist/calendar/.kosh/bindings.js +1 -1
  79. package/dist/calendar/.kosh/schema.d.ts +2 -1
  80. package/dist/calendar/i18n/bn.d.ts +2 -0
  81. package/dist/calendar/i18n/bn.js +80 -0
  82. package/dist/calendar/index.js +77 -0
  83. package/dist/calendar/module.d.ts +26 -0
  84. package/dist/calendar/module.js +14 -4
  85. package/dist/cli/apps.js +25 -5
  86. package/dist/cli/init.js +14 -4
  87. package/dist/cli/templates.d.ts +1 -1
  88. package/dist/cli/templates.js +34 -5
  89. package/dist/contacts/.kosh/bindings.js +1 -1
  90. package/dist/contacts/.kosh/schema.d.ts +2 -1
  91. package/dist/contacts/i18n/bn.d.ts +2 -0
  92. package/dist/contacts/i18n/bn.js +67 -0
  93. package/dist/contacts/index.js +3 -0
  94. package/dist/contacts/module.d.ts +42 -0
  95. package/dist/contacts/module.js +6 -1
  96. package/dist/crm/.kosh/bindings.js +1 -1
  97. package/dist/crm/.kosh/schema.d.ts +2 -1
  98. package/dist/crm/i18n/bn.d.ts +2 -0
  99. package/dist/crm/i18n/bn.js +80 -0
  100. package/dist/crm/index.js +22 -0
  101. package/dist/crm/module.d.ts +20 -0
  102. package/dist/crm/module.js +4 -2
  103. package/dist/documents/.kosh/bindings.js +1 -1
  104. package/dist/documents/.kosh/schema.d.ts +2 -1
  105. package/dist/documents/i18n/bn.d.ts +2 -0
  106. package/dist/documents/i18n/bn.js +83 -0
  107. package/dist/documents/index.js +128 -1
  108. package/dist/documents/module.d.ts +20 -0
  109. package/dist/documents/module.js +1 -0
  110. package/dist/event/.kosh/bindings.js +1 -1
  111. package/dist/event/.kosh/schema.d.ts +2 -1
  112. package/dist/event/i18n/bn.d.ts +2 -0
  113. package/dist/event/i18n/bn.js +101 -0
  114. package/dist/event/index.js +66 -0
  115. package/dist/event/module.d.ts +20 -0
  116. package/dist/event/module.js +8 -1
  117. package/dist/event_account/.kosh/bindings.js +1 -1
  118. package/dist/event_account/.kosh/schema.d.ts +530 -8
  119. package/dist/event_account/i18n/bn.d.ts +2 -0
  120. package/dist/event_account/i18n/bn.js +5 -0
  121. package/dist/event_account/index.js +2 -0
  122. package/dist/event_account/module.d.ts +4905 -1431
  123. package/dist/expense/.kosh/bindings.js +1 -1
  124. package/dist/expense/.kosh/schema.d.ts +323 -2
  125. package/dist/expense/i18n/bn.d.ts +2 -0
  126. package/dist/expense/i18n/bn.js +155 -0
  127. package/dist/expense/index.js +8 -1
  128. package/dist/expense/module.d.ts +2715 -694
  129. package/dist/expense/module.js +3 -1
  130. package/dist/expense_account/.kosh/bindings.js +1 -1
  131. package/dist/expense_account/.kosh/schema.d.ts +587 -8
  132. package/dist/expense_account/i18n/bn.d.ts +2 -0
  133. package/dist/expense_account/i18n/bn.js +15 -0
  134. package/dist/expense_account/index.js +2 -0
  135. package/dist/expense_account/module.d.ts +8094 -2619
  136. package/dist/helpdesk/.kosh/bindings.js +1 -1
  137. package/dist/helpdesk/.kosh/schema.d.ts +2 -1
  138. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  139. package/dist/helpdesk/i18n/bn.js +127 -0
  140. package/dist/helpdesk/index.js +2 -0
  141. package/dist/helpdesk/module.d.ts +20 -0
  142. package/dist/hr/.kosh/bindings.js +1 -1
  143. package/dist/hr/.kosh/schema.d.ts +59 -1
  144. package/dist/hr/demo.js +11 -1
  145. package/dist/hr/i18n/bn.d.ts +2 -0
  146. package/dist/hr/i18n/bn.js +126 -0
  147. package/dist/hr/index.d.ts +1 -1
  148. package/dist/hr/index.js +158 -12
  149. package/dist/hr/module.d.ts +932 -59
  150. package/dist/hr/module.js +114 -17
  151. package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
  152. package/dist/indent/.kosh/schema.d.ts +2084 -0
  153. package/dist/indent/demo.d.ts +7 -0
  154. package/dist/indent/demo.js +48 -0
  155. package/dist/indent/i18n/bn.d.ts +2 -0
  156. package/dist/indent/i18n/bn.js +143 -0
  157. package/dist/indent/index.d.ts +3 -0
  158. package/dist/indent/index.js +450 -0
  159. package/dist/{mrp → indent}/module.d.ts +7164 -3075
  160. package/dist/indent/module.js +792 -0
  161. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  162. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  163. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  164. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  165. package/dist/indent_purchase/i18n/bn.js +13 -0
  166. package/dist/indent_purchase/index.d.ts +3 -0
  167. package/dist/indent_purchase/index.js +61 -0
  168. package/dist/indent_purchase/module.d.ts +27950 -0
  169. package/dist/indent_purchase/module.js +163 -0
  170. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  171. package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
  172. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  173. package/dist/l10n_bd/i18n/bn.js +69 -0
  174. package/dist/l10n_bd/index.js +2 -0
  175. package/dist/l10n_bd/module.d.ts +5167 -1693
  176. package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
  177. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
  178. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  179. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  180. package/dist/l10n_bd_payroll/index.js +2 -0
  181. package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
  182. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  183. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  184. package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
  185. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  186. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  187. package/dist/l10n_bd_pos/index.d.ts +3 -0
  188. package/dist/l10n_bd_pos/index.js +111 -0
  189. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
  190. package/dist/l10n_bd_pos/module.js +43 -0
  191. package/dist/l10n_in/.kosh/bindings.js +1 -1
  192. package/dist/l10n_in/.kosh/schema.d.ts +530 -8
  193. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  194. package/dist/l10n_in/i18n/bn.js +95 -0
  195. package/dist/l10n_in/index.js +2 -0
  196. package/dist/l10n_in/module.d.ts +6703 -1652
  197. package/dist/l10n_in/module.js +25 -5
  198. package/dist/l10n_in/web/GstSettings.js +2 -2
  199. package/dist/mail/inbound/handle.js +2 -4
  200. package/dist/mail/inbound/models.js +5 -3
  201. package/dist/mail/index.d.ts +12 -1
  202. package/dist/mail/index.js +139 -2
  203. package/dist/mail/send.d.ts +56 -0
  204. package/dist/mail/send.js +394 -0
  205. package/dist/mail/web/SendButton.d.ts +9 -0
  206. package/dist/mail/web/SendButton.js +71 -0
  207. package/dist/mail/web/SendSelected.d.ts +8 -0
  208. package/dist/mail/web/SendSelected.js +33 -0
  209. package/dist/mail/web/index.d.ts +2 -0
  210. package/dist/mail/web/index.js +6 -0
  211. package/dist/mail/web/messages.js +36 -0
  212. package/dist/maintenance/.kosh/bindings.js +1 -1
  213. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  214. package/dist/maintenance/i18n/bn.d.ts +2 -0
  215. package/dist/maintenance/i18n/bn.js +132 -0
  216. package/dist/maintenance/index.js +85 -0
  217. package/dist/maintenance/module.d.ts +25 -0
  218. package/dist/maintenance/module.js +27 -9
  219. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  220. package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
  221. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  222. package/dist/maintenance_stock/i18n/bn.js +21 -0
  223. package/dist/maintenance_stock/index.js +2 -0
  224. package/dist/maintenance_stock/module.d.ts +5302 -1256
  225. package/dist/maintenance_stock/module.js +1 -0
  226. package/dist/modules-sdk/apps.d.ts +10 -0
  227. package/dist/modules-sdk/apps.js +32 -0
  228. package/dist/modules-sdk/index.d.ts +1 -1
  229. package/dist/modules-sdk/manifest.d.ts +68 -2
  230. package/dist/payment/.kosh/bindings.js +1 -1
  231. package/dist/payment/.kosh/schema.d.ts +530 -8
  232. package/dist/payment/i18n/bn.d.ts +2 -0
  233. package/dist/payment/i18n/bn.js +59 -0
  234. package/dist/payment/index.js +85 -0
  235. package/dist/payment/module.d.ts +5134 -1660
  236. package/dist/payment/module.js +17 -3
  237. package/dist/payment/settle.js +1 -0
  238. package/dist/payroll/.kosh/bindings.js +1 -1
  239. package/dist/payroll/.kosh/schema.d.ts +59 -1
  240. package/dist/payroll/i18n/bn.d.ts +2 -0
  241. package/dist/payroll/i18n/bn.js +206 -0
  242. package/dist/payroll/index.js +2 -0
  243. package/dist/payroll/module.d.ts +936 -48
  244. package/dist/payroll_account/.kosh/bindings.js +1 -1
  245. package/dist/payroll_account/.kosh/schema.d.ts +587 -8
  246. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  247. package/dist/payroll_account/i18n/bn.js +10 -0
  248. package/dist/payroll_account/index.js +2 -0
  249. package/dist/payroll_account/module.d.ts +7534 -3192
  250. package/dist/permissions/approvals.d.ts +97 -4
  251. package/dist/permissions/approvals.js +780 -31
  252. package/dist/permissions/index.d.ts +1 -1
  253. package/dist/permissions/index.js +2 -2
  254. package/dist/permissions/models.js +177 -5
  255. package/dist/permissions/routes.d.ts +3 -0
  256. package/dist/permissions/routes.js +36 -2
  257. package/dist/permissions/web/ApprovalPanel.js +43 -5
  258. package/dist/permissions/web/messages.js +52 -0
  259. package/dist/portal/.kosh/bindings.js +1 -1
  260. package/dist/portal/.kosh/schema.d.ts +2 -1
  261. package/dist/portal/documents.d.ts +3 -0
  262. package/dist/portal/documents.js +21 -1
  263. package/dist/portal/i18n/bn.d.ts +2 -0
  264. package/dist/portal/i18n/bn.js +33 -0
  265. package/dist/portal/index.js +2 -0
  266. package/dist/portal/module.d.ts +20 -0
  267. package/dist/portal/routes-documents.js +76 -0
  268. package/dist/pos/.kosh/bindings.js +1 -1
  269. package/dist/pos/.kosh/schema.d.ts +531 -8
  270. package/dist/pos/i18n/bn.d.ts +2 -0
  271. package/dist/pos/i18n/bn.js +133 -0
  272. package/dist/pos/index.js +83 -1
  273. package/dist/pos/module.d.ts +6888 -1777
  274. package/dist/pos/module.js +49 -5
  275. package/dist/pos/routes.js +80 -7
  276. package/dist/pos/web/Register.js +2 -5
  277. package/dist/pos_stock/.kosh/bindings.js +1 -1
  278. package/dist/pos_stock/.kosh/schema.d.ts +626 -9
  279. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  280. package/dist/pos_stock/i18n/bn.js +6 -0
  281. package/dist/pos_stock/index.js +2 -0
  282. package/dist/pos_stock/module.d.ts +10798 -3276
  283. package/dist/product/.kosh/bindings.js +1 -1
  284. package/dist/product/.kosh/schema.d.ts +202 -1
  285. package/dist/product/i18n/bn.d.ts +2 -0
  286. package/dist/product/i18n/bn.js +175 -0
  287. package/dist/product/index.d.ts +1 -0
  288. package/dist/product/index.js +288 -1
  289. package/dist/product/module.d.ts +1725 -0
  290. package/dist/product/module.js +66 -6
  291. package/dist/product/pricelist.d.ts +575 -0
  292. package/dist/product/pricelist.js +257 -0
  293. package/dist/product/variants.d.ts +908 -0
  294. package/dist/product/variants.js +251 -0
  295. package/dist/production/.kosh/bindings.d.ts +22 -0
  296. package/dist/production/.kosh/bindings.js +15 -0
  297. package/dist/production/.kosh/schema.d.ts +2345 -0
  298. package/dist/{mrp → production}/demo.d.ts +1 -1
  299. package/dist/{mrp → production}/demo.js +5 -5
  300. package/dist/production/depth.d.ts +790 -0
  301. package/dist/production/depth.js +262 -0
  302. package/dist/production/i18n/bn.d.ts +2 -0
  303. package/dist/production/i18n/bn.js +350 -0
  304. package/dist/production/index.d.ts +6 -0
  305. package/dist/production/index.js +1256 -0
  306. package/dist/production/module.d.ts +17327 -0
  307. package/dist/production/module.js +1333 -0
  308. package/dist/production/plan.d.ts +921 -0
  309. package/dist/production/plan.js +511 -0
  310. package/dist/production/schedule.d.ts +656 -0
  311. package/dist/production/schedule.js +309 -0
  312. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  313. package/dist/production_account/.kosh/bindings.js +15 -0
  314. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  315. package/dist/production_account/i18n/bn.d.ts +2 -0
  316. package/dist/production_account/i18n/bn.js +93 -0
  317. package/dist/production_account/index.d.ts +4 -0
  318. package/dist/production_account/index.js +246 -0
  319. package/dist/production_account/module.d.ts +1192 -0
  320. package/dist/{mrp_account → production_account}/module.js +72 -18
  321. package/dist/production_account/overhead.d.ts +1195 -0
  322. package/dist/production_account/overhead.js +554 -0
  323. package/dist/project/.kosh/bindings.js +1 -1
  324. package/dist/project/.kosh/schema.d.ts +65 -2
  325. package/dist/project/i18n/bn.d.ts +2 -0
  326. package/dist/project/i18n/bn.js +383 -0
  327. package/dist/project/index.js +123 -0
  328. package/dist/project/module.d.ts +20 -0
  329. package/dist/project/module.js +73 -14
  330. package/dist/project_account/.kosh/bindings.js +1 -1
  331. package/dist/project_account/.kosh/schema.d.ts +530 -8
  332. package/dist/project_account/i18n/bn.d.ts +2 -0
  333. package/dist/project_account/i18n/bn.js +6 -0
  334. package/dist/project_account/index.js +2 -0
  335. package/dist/project_account/module.d.ts +4926 -1452
  336. package/dist/project_portal/.kosh/bindings.js +1 -1
  337. package/dist/project_portal/.kosh/schema.d.ts +65 -2
  338. package/dist/project_portal/i18n/bn.d.ts +2 -0
  339. package/dist/project_portal/i18n/bn.js +6 -0
  340. package/dist/project_portal/index.js +2 -0
  341. package/dist/project_portal/module.d.ts +40 -0
  342. package/dist/project_purchase/.kosh/bindings.js +1 -1
  343. package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
  344. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  345. package/dist/project_purchase/i18n/bn.js +4 -0
  346. package/dist/project_purchase/index.js +2 -0
  347. package/dist/project_purchase/module.d.ts +17912 -4446
  348. package/dist/purchase/.kosh/bindings.js +1 -1
  349. package/dist/purchase/.kosh/schema.d.ts +813 -3
  350. package/dist/purchase/comparison.d.ts +993 -0
  351. package/dist/purchase/comparison.js +415 -0
  352. package/dist/purchase/extras.d.ts +1509 -0
  353. package/dist/purchase/extras.js +445 -0
  354. package/dist/purchase/i18n/bn.d.ts +2 -0
  355. package/dist/purchase/i18n/bn.js +413 -0
  356. package/dist/purchase/index.d.ts +5 -0
  357. package/dist/purchase/index.js +1280 -4
  358. package/dist/purchase/module.d.ts +7139 -398
  359. package/dist/purchase/module.js +295 -11
  360. package/dist/purchase/request.d.ts +696 -0
  361. package/dist/purchase/request.js +446 -0
  362. package/dist/purchase/tender.d.ts +1208 -0
  363. package/dist/purchase/tender.js +507 -0
  364. package/dist/purchase/vendorprice.d.ts +340 -0
  365. package/dist/purchase/vendorprice.js +153 -0
  366. package/dist/purchase_account/.kosh/bindings.js +1 -1
  367. package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
  368. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  369. package/dist/purchase_account/i18n/bn.js +22 -0
  370. package/dist/purchase_account/index.js +19 -0
  371. package/dist/purchase_account/module.d.ts +12276 -2247
  372. package/dist/purchase_account/module.js +241 -9
  373. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  374. package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
  375. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  376. package/dist/purchase_portal/i18n/bn.js +5 -0
  377. package/dist/purchase_portal/index.js +2 -0
  378. package/dist/purchase_portal/module.d.ts +6849 -353
  379. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  380. package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
  381. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  382. package/dist/purchase_stock/i18n/bn.js +19 -0
  383. package/dist/purchase_stock/index.d.ts +1 -1
  384. package/dist/purchase_stock/index.js +29 -0
  385. package/dist/purchase_stock/module.d.ts +12410 -1864
  386. package/dist/purchase_stock/module.js +81 -9
  387. package/dist/purchase_stock/scorecard.d.ts +22 -0
  388. package/dist/purchase_stock/scorecard.js +77 -0
  389. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  390. package/dist/purchase_stock/web/Scorecard.js +22 -0
  391. package/dist/purchase_stock/web/index.d.ts +11 -0
  392. package/dist/purchase_stock/web/index.js +16 -0
  393. package/dist/purchase_stock/web/messages.d.ts +2 -0
  394. package/dist/purchase_stock/web/messages.js +27 -0
  395. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  396. package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
  397. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  398. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  399. package/dist/purchase_stock_account/index.js +18 -0
  400. package/dist/purchase_stock_account/module.d.ts +7 -37995
  401. package/dist/purchase_stock_account/module.js +24 -3
  402. package/dist/recruitment/.kosh/bindings.js +1 -1
  403. package/dist/recruitment/.kosh/schema.d.ts +59 -1
  404. package/dist/recruitment/i18n/bn.d.ts +2 -0
  405. package/dist/recruitment/i18n/bn.js +93 -0
  406. package/dist/recruitment/index.js +64 -0
  407. package/dist/recruitment/module.d.ts +458 -8
  408. package/dist/recruitment/module.js +11 -3
  409. package/dist/reporting/documents.d.ts +5 -0
  410. package/dist/reporting/documents.js +11 -1
  411. package/dist/reporting/index.d.ts +1 -1
  412. package/dist/reporting/index.js +1 -1
  413. package/dist/reporting/web/CalendarView.d.ts +18 -5
  414. package/dist/reporting/web/CalendarView.js +163 -29
  415. package/dist/reporting/web/messages.js +18 -0
  416. package/dist/sale_account/.kosh/bindings.js +1 -1
  417. package/dist/sale_account/.kosh/schema.d.ts +642 -16
  418. package/dist/sale_account/i18n/bn.d.ts +2 -0
  419. package/dist/sale_account/i18n/bn.js +48 -0
  420. package/dist/sale_account/index.d.ts +1 -1
  421. package/dist/sale_account/index.js +102 -4
  422. package/dist/sale_account/module.d.ts +8254 -2212
  423. package/dist/sale_account/module.js +535 -46
  424. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_crm/.kosh/bindings.js +15 -0
  426. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
  427. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  428. package/dist/sale_crm/i18n/bn.js +9 -0
  429. package/dist/sale_crm/index.d.ts +7 -0
  430. package/dist/sale_crm/index.js +104 -0
  431. package/dist/sale_crm/module.d.ts +5609 -0
  432. package/dist/sale_crm/module.js +73 -0
  433. package/dist/sale_portal/.kosh/bindings.js +1 -1
  434. package/dist/sale_portal/.kosh/schema.d.ts +291 -4
  435. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  436. package/dist/sale_portal/i18n/bn.js +7 -0
  437. package/dist/sale_portal/index.js +10 -0
  438. package/dist/sale_portal/module.d.ts +2564 -294
  439. package/dist/sale_project/.kosh/bindings.js +1 -1
  440. package/dist/sale_project/.kosh/schema.d.ts +354 -5
  441. package/dist/sale_project/i18n/bn.d.ts +2 -0
  442. package/dist/sale_project/i18n/bn.js +12 -0
  443. package/dist/sale_project/index.js +2 -0
  444. package/dist/sale_project/module.d.ts +6249 -2402
  445. package/dist/sale_stock/.kosh/bindings.js +1 -1
  446. package/dist/sale_stock/.kosh/schema.d.ts +387 -5
  447. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  448. package/dist/sale_stock/i18n/bn.js +15 -0
  449. package/dist/sale_stock/index.js +2 -0
  450. package/dist/sale_stock/module.d.ts +8057 -1759
  451. package/dist/sale_stock/module.js +20 -3
  452. package/dist/sales/.kosh/bindings.js +1 -1
  453. package/dist/sales/.kosh/schema.d.ts +291 -4
  454. package/dist/sales/i18n/bn.d.ts +2 -0
  455. package/dist/sales/i18n/bn.js +128 -0
  456. package/dist/sales/index.js +120 -5
  457. package/dist/sales/module.d.ts +3567 -633
  458. package/dist/sales/module.js +306 -11
  459. package/dist/server/api/duplicate.d.ts +14 -0
  460. package/dist/server/api/duplicate.js +75 -0
  461. package/dist/server/api/explain.d.ts +70 -0
  462. package/dist/server/api/explain.js +111 -0
  463. package/dist/server/api/metadata.d.ts +2 -0
  464. package/dist/server/api/metadata.js +9 -0
  465. package/dist/server/api/openapi.js +15 -0
  466. package/dist/server/api/rest.d.ts +1 -0
  467. package/dist/server/api/rest.js +76 -12
  468. package/dist/server/api/views.js +1 -1
  469. package/dist/server/apps.d.ts +16 -1
  470. package/dist/server/apps.js +164 -2
  471. package/dist/server/auth/base.js +2 -0
  472. package/dist/server/auth/service.d.ts +8 -0
  473. package/dist/server/auth/service.js +19 -0
  474. package/dist/server/events.d.ts +13 -0
  475. package/dist/server/events.js +22 -0
  476. package/dist/server/i18n.d.ts +27 -0
  477. package/dist/server/i18n.js +143 -0
  478. package/dist/server/index.d.ts +2 -0
  479. package/dist/server/index.js +2 -0
  480. package/dist/server/server.js +6 -0
  481. package/dist/settings/company.d.ts +3 -1
  482. package/dist/settings/company.js +26 -5
  483. package/dist/settings/routes.d.ts +10 -0
  484. package/dist/settings/routes.js +19 -3
  485. package/dist/settings/web/AppsPage.d.ts +3 -2
  486. package/dist/settings/web/AppsPage.js +26 -8
  487. package/dist/settings/web/CompaniesPage.js +91 -6
  488. package/dist/settings/web/messages.js +64 -0
  489. package/dist/sign/.kosh/bindings.js +1 -1
  490. package/dist/sign/.kosh/schema.d.ts +2 -1
  491. package/dist/sign/i18n/bn.d.ts +2 -0
  492. package/dist/sign/i18n/bn.js +97 -0
  493. package/dist/sign/index.d.ts +15 -0
  494. package/dist/sign/index.js +129 -1
  495. package/dist/sign/module.d.ts +40 -0
  496. package/dist/sign/module.js +11 -2
  497. package/dist/stock/.kosh/bindings.js +1 -1
  498. package/dist/stock/.kosh/schema.d.ts +298 -2
  499. package/dist/stock/i18n/bn.d.ts +2 -0
  500. package/dist/stock/i18n/bn.js +311 -0
  501. package/dist/stock/index.d.ts +3 -1
  502. package/dist/stock/index.js +442 -3
  503. package/dist/stock/ledger.d.ts +78 -0
  504. package/dist/stock/ledger.js +582 -0
  505. package/dist/stock/module.d.ts +5280 -2044
  506. package/dist/stock/module.js +222 -23
  507. package/dist/stock/replenish.js +16 -1
  508. package/dist/stock/returns.d.ts +157 -0
  509. package/dist/stock/returns.js +163 -0
  510. package/dist/stock/web/Ledger.d.ts +9 -0
  511. package/dist/stock/web/Ledger.js +108 -0
  512. package/dist/stock/web/Operations.d.ts +8 -0
  513. package/dist/stock/web/Operations.js +33 -0
  514. package/dist/stock/web/ReturnButton.d.ts +7 -0
  515. package/dist/stock/web/ReturnButton.js +62 -0
  516. package/dist/stock/web/index.d.ts +3 -0
  517. package/dist/stock/web/index.js +9 -0
  518. package/dist/stock/web/messages.js +154 -0
  519. package/dist/stock_account/.kosh/bindings.js +1 -1
  520. package/dist/stock_account/.kosh/schema.d.ts +682 -9
  521. package/dist/stock_account/i18n/bn.d.ts +2 -0
  522. package/dist/stock_account/i18n/bn.js +73 -0
  523. package/dist/stock_account/index.d.ts +1 -0
  524. package/dist/stock_account/index.js +131 -3
  525. package/dist/stock_account/landed.d.ts +429 -0
  526. package/dist/stock_account/landed.js +335 -0
  527. package/dist/stock_account/module.d.ts +11247 -3363
  528. package/dist/stock_account/module.js +135 -6
  529. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  530. package/dist/stock_account/web/LandedPreview.js +23 -0
  531. package/dist/stock_account/web/index.d.ts +11 -0
  532. package/dist/stock_account/web/index.js +16 -0
  533. package/dist/stock_account/web/messages.d.ts +2 -0
  534. package/dist/stock_account/web/messages.js +27 -0
  535. package/dist/todo/i18n/bn.d.ts +2 -0
  536. package/dist/todo/i18n/bn.js +66 -0
  537. package/dist/todo/index.js +59 -0
  538. package/dist/todo/module.d.ts +5 -0
  539. package/dist/todo/module.js +5 -3
  540. package/dist/trade_finance/.kosh/bindings.js +1 -1
  541. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  542. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  543. package/dist/trade_finance/i18n/bn.js +162 -0
  544. package/dist/trade_finance/index.js +93 -0
  545. package/dist/trade_finance/module.d.ts +26 -0
  546. package/dist/trade_finance/module.js +27 -8
  547. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  548. package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
  549. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  550. package/dist/trade_finance_account/i18n/bn.js +27 -0
  551. package/dist/trade_finance_account/index.js +2 -0
  552. package/dist/trade_finance_account/module.d.ts +4906 -1432
  553. package/dist/trade_finance_account/module.js +1 -0
  554. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  555. package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
  556. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  557. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  558. package/dist/trade_finance_purchase/index.js +2 -0
  559. package/dist/trade_finance_purchase/module.d.ts +6909 -413
  560. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  561. package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
  562. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  563. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  564. package/dist/trade_finance_sale/index.js +2 -0
  565. package/dist/trade_finance_sale/module.d.ts +2601 -331
  566. package/dist/ui/api.d.ts +2 -0
  567. package/dist/ui/app.d.ts +9 -0
  568. package/dist/ui/app.js +24 -4
  569. package/dist/ui/components/AppIcon.js +2 -2
  570. package/dist/ui/components/Explain.d.ts +69 -0
  571. package/dist/ui/components/Explain.js +62 -0
  572. package/dist/ui/context.d.ts +8 -1
  573. package/dist/ui/context.js +34 -1
  574. package/dist/ui/i18n/messages.d.ts +36 -0
  575. package/dist/ui/i18n/messages.js +72 -0
  576. package/dist/ui/index.d.ts +2 -1
  577. package/dist/ui/index.js +1 -0
  578. package/dist/ui/registry.d.ts +14 -0
  579. package/dist/ui/registry.js +10 -0
  580. package/dist/ui/views/FormView.d.ts +6 -0
  581. package/dist/ui/views/FormView.js +47 -10
  582. package/dist/ui/views/ListView.d.ts +8 -0
  583. package/dist/ui/views/ListView.js +10 -3
  584. package/dist/ui/views/StatsRow.js +2 -1
  585. package/dist/views/extend.js +12 -0
  586. package/dist/views/types.d.ts +13 -2
  587. package/dist/views/validate.js +8 -1
  588. package/dist/website/.kosh/bindings.js +1 -1
  589. package/dist/website/.kosh/schema.d.ts +2 -1
  590. package/dist/website/i18n/bn.d.ts +2 -0
  591. package/dist/website/i18n/bn.js +113 -0
  592. package/dist/website/index.js +36 -0
  593. package/dist/website/module.d.ts +20 -0
  594. package/dist/website/module.js +29 -5
  595. package/dist/website_crm/.kosh/bindings.js +1 -1
  596. package/dist/website_crm/.kosh/schema.d.ts +2 -1
  597. package/dist/website_crm/i18n/bn.d.ts +2 -0
  598. package/dist/website_crm/i18n/bn.js +5 -0
  599. package/dist/website_crm/index.js +2 -0
  600. package/dist/website_crm/module.d.ts +40 -0
  601. package/dist/website_sale/.kosh/bindings.js +1 -1
  602. package/dist/website_sale/.kosh/schema.d.ts +642 -17
  603. package/dist/website_sale/i18n/bn.d.ts +2 -0
  604. package/dist/website_sale/i18n/bn.js +132 -0
  605. package/dist/website_sale/index.js +83 -1
  606. package/dist/website_sale/module.d.ts +18705 -5550
  607. package/dist/website_sale/module.js +32 -10
  608. package/dist/website_sale/shop.js +22 -9
  609. package/dist/website_sale_stock/.kosh/bindings.js +1 -1
  610. package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
  611. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  612. package/dist/website_sale_stock/i18n/bn.js +4 -0
  613. package/dist/website_sale_stock/index.js +2 -0
  614. package/dist/website_sale_stock/module.d.ts +10 -24997
  615. package/dist/website_sale_stock/module.js +7 -3
  616. package/package.json +36 -8
  617. package/dist/mrp/index.d.ts +0 -3
  618. package/dist/mrp/index.js +0 -393
  619. package/dist/mrp/module.js +0 -757
  620. package/dist/mrp_account/index.d.ts +0 -3
  621. package/dist/mrp_account/index.js +0 -22
  622. /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
  623. /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 12ed1cd9243b4281
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 70dff6019010b96d
2
2
  // Schema view of module `purchase_stock_account` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -6,7 +6,15 @@ import type { F } from '../../server/orm.js';
6
6
  export interface SchemaView {
7
7
  readonly 'account.account': AccountAccount;
8
8
  readonly 'account.analytic': AccountAnalytic;
9
+ readonly 'account.bank.statement': AccountBankStatement;
10
+ readonly 'account.bank.statement.line': AccountBankStatementLine;
11
+ readonly 'account.fiscal.position': AccountFiscalPosition;
12
+ readonly 'account.fiscal.position.account': AccountFiscalPositionAccount;
13
+ readonly 'account.fiscal.position.tax': AccountFiscalPositionTax;
9
14
  readonly 'account.fiscal.year': AccountFiscalYear;
15
+ readonly 'account.followup': AccountFollowup;
16
+ readonly 'account.followup.level': AccountFollowupLevel;
17
+ readonly 'account.followup.sent': AccountFollowupSent;
10
18
  readonly 'account.full.reconcile': AccountFullReconcile;
11
19
  readonly 'account.journal': AccountJournal;
12
20
  readonly 'account.move': AccountMove;
@@ -16,10 +24,12 @@ export interface SchemaView {
16
24
  readonly 'account.payment.term': AccountPaymentTerm;
17
25
  readonly 'account.payment.term.line': AccountPaymentTermLine;
18
26
  readonly 'account.payment.withholding': AccountPaymentWithholding;
27
+ readonly 'account.reconcile.rule': AccountReconcileRule;
19
28
  readonly 'account.tax': AccountTax;
20
29
  readonly 'account.tax.component': AccountTaxComponent;
21
30
  readonly 'account.withholding': AccountWithholding;
22
31
  readonly 'approval.delegation': ApprovalDelegation;
32
+ readonly 'approval.event': ApprovalEvent;
23
33
  readonly 'approval.level': ApprovalLevel;
24
34
  readonly 'approval.link': ApprovalLink;
25
35
  readonly 'approval.policy': ApprovalPolicy;
@@ -46,10 +56,33 @@ export interface SchemaView {
46
56
  readonly 'oauth.code': OauthCode;
47
57
  readonly 'oauth.grant': OauthGrant;
48
58
  readonly 'oauth.token': OauthToken;
59
+ readonly 'product.attribute': ProductAttribute;
60
+ readonly 'product.attribute.value': ProductAttributeValue;
49
61
  readonly 'product.category': ProductCategory;
62
+ readonly 'product.pricelist': ProductPricelist;
63
+ readonly 'product.pricelist.rule': ProductPricelistRule;
50
64
  readonly 'product.product': ProductProduct;
65
+ readonly 'product.template': ProductTemplate;
66
+ readonly 'product.template.exclusion': ProductTemplateExclusion;
67
+ readonly 'product.template.line': ProductTemplateLine;
68
+ readonly 'product.vendor.price': ProductVendorPrice;
69
+ readonly 'purchase.agreement': PurchaseAgreement;
70
+ readonly 'purchase.agreement.line': PurchaseAgreementLine;
71
+ readonly 'purchase.comparison': PurchaseComparison;
72
+ readonly 'purchase.comparison.line': PurchaseComparisonLine;
51
73
  readonly 'purchase.order': PurchaseOrder;
52
74
  readonly 'purchase.order.line': PurchaseOrderLine;
75
+ readonly 'purchase.request': PurchaseRequest;
76
+ readonly 'purchase.request.line': PurchaseRequestLine;
77
+ readonly 'purchase.technical.comparison': PurchaseTechnicalComparison;
78
+ readonly 'purchase.technical.comparison.line': PurchaseTechnicalComparisonLine;
79
+ readonly 'purchase.tender': PurchaseTender;
80
+ readonly 'purchase.tender.line': PurchaseTenderLine;
81
+ readonly 'purchase.tender.response': PurchaseTenderResponse;
82
+ readonly 'purchase.tender.response.line': PurchaseTenderResponseLine;
83
+ readonly 'purchase.vendor.request': PurchaseVendorRequest;
84
+ readonly 'purchase.work.acceptance': PurchaseWorkAcceptance;
85
+ readonly 'purchase.work.acceptance.line': PurchaseWorkAcceptanceLine;
53
86
  readonly 'report.dashboard': ReportDashboard;
54
87
  readonly 'report.output': ReportOutput;
55
88
  readonly 'report.schedule': ReportSchedule;
@@ -61,18 +94,24 @@ export interface SchemaView {
61
94
  readonly 'res.currency.rate': ResCurrencyRate;
62
95
  readonly 'res.partner': ResPartner;
63
96
  readonly 'res.partner.tag': ResPartnerTag;
97
+ readonly 'res.segment': ResSegment;
64
98
  readonly 'res.users': ResUsers;
65
99
  readonly 'stock.count': StockCount;
66
100
  readonly 'stock.count.line': StockCountLine;
101
+ readonly 'stock.landed.cost': StockLandedCost;
102
+ readonly 'stock.landed.cost.line': StockLandedCostLine;
67
103
  readonly 'stock.location': StockLocation;
68
104
  readonly 'stock.lot': StockLot;
69
105
  readonly 'stock.lot.line': StockLotLine;
70
106
  readonly 'stock.move': StockMove;
71
107
  readonly 'stock.picking': StockPicking;
108
+ readonly 'stock.picking.charge': StockPickingCharge;
109
+ readonly 'stock.picking.extra': StockPickingExtra;
72
110
  readonly 'stock.putaway': StockPutaway;
73
111
  readonly 'stock.quant': StockQuant;
74
112
  readonly 'stock.reorder': StockReorder;
75
113
  readonly 'stock.reservation': StockReservation;
114
+ readonly 'stock.return.reason': StockReturnReason;
76
115
  readonly 'stock.scrap': StockScrap;
77
116
  readonly 'stock.valuation.layer': StockValuationLayer;
78
117
  readonly 'stock.warehouse': StockWarehouse;
@@ -130,6 +169,134 @@ export interface AccountAnalytic {
130
169
  export interface AccountAnalyticMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.analytic'> {
131
170
  }
132
171
 
172
+ /** `account.bank.statement` (owner: accounting). */
173
+ export interface AccountBankStatement {
174
+ readonly name: 'account.bank.statement';
175
+ readonly fields: {
176
+ readonly id: F.Id<'account.bank.statement'>;
177
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
178
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
179
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
180
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
181
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
182
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
183
+ readonly name: F.Char<{ readonly required: true }>;
184
+ readonly journal: F.Many2one<'account.journal', { readonly required: true }>;
185
+ readonly date: F.DateOnly<{ readonly required: true }>;
186
+ readonly balanceStart: F.Decimal<{ readonly default: true }>;
187
+ readonly balanceEnd: F.Decimal<{ readonly default: true }>;
188
+ readonly lines: F.One2many<'account.bank.statement.line', { readonly required: true }>;
189
+ readonly state: F.State<'open' | 'done', { readonly required: true; readonly readonly: true; readonly default: true }>;
190
+ };
191
+ readonly methods: AccountBankStatementMethods;
192
+ }
193
+
194
+ /** Methods of `account.bank.statement`: declared ones and transitions. */
195
+ export interface AccountBankStatementMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement'> {
196
+ readonly 'close': () => Promise<void>;
197
+ readonly 'reopen': () => Promise<void>;
198
+ }
199
+
200
+ /** `account.bank.statement.line` (owner: accounting). */
201
+ export interface AccountBankStatementLine {
202
+ readonly name: 'account.bank.statement.line';
203
+ readonly fields: {
204
+ readonly id: F.Id<'account.bank.statement.line'>;
205
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
206
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
207
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
208
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
209
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
210
+ readonly statement: F.Many2one<'account.bank.statement', { readonly required: true }>;
211
+ readonly date: F.DateOnly<{ readonly required: true }>;
212
+ readonly label: F.Char<{ readonly required: true }>;
213
+ readonly reference: F.Char;
214
+ readonly partner: F.Many2one<'res.partner'>;
215
+ readonly amount: F.Decimal<{ readonly required: true }>;
216
+ readonly uniqueKey: F.Char;
217
+ readonly payment: F.Many2one<'account.payment'>;
218
+ readonly move: F.Many2one<'account.move'>;
219
+ readonly rule: F.Many2one<'account.reconcile.rule'>;
220
+ readonly state: F.Selection<'open' | 'matched', { readonly required: true; readonly default: true }>;
221
+ };
222
+ readonly methods: AccountBankStatementLineMethods;
223
+ }
224
+
225
+ /** Methods of `account.bank.statement.line`: declared ones and transitions. */
226
+ export interface AccountBankStatementLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement.line'> {
227
+ }
228
+
229
+ /** `account.fiscal.position` (owner: accounting). */
230
+ export interface AccountFiscalPosition {
231
+ readonly name: 'account.fiscal.position';
232
+ readonly fields: {
233
+ readonly id: F.Id<'account.fiscal.position'>;
234
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
235
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
236
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
237
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
238
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
239
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
240
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
241
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
242
+ readonly sequence: F.Integer<{ readonly default: true }>;
243
+ readonly autoApply: F.Bool<{ readonly required: true; readonly default: true }>;
244
+ readonly countries: F.Char;
245
+ readonly states: F.Char;
246
+ readonly vatRequired: F.Selection<'any' | 'with' | 'without', { readonly required: true; readonly default: true }>;
247
+ readonly note: F.Text<{ readonly translate: true }>;
248
+ readonly taxes: F.One2many<'account.fiscal.position.tax', { readonly required: true }>;
249
+ readonly accounts: F.One2many<'account.fiscal.position.account', { readonly required: true }>;
250
+ };
251
+ readonly methods: AccountFiscalPositionMethods;
252
+ }
253
+
254
+ /** Methods of `account.fiscal.position`: declared ones and transitions. */
255
+ export interface AccountFiscalPositionMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position'> {
256
+ }
257
+
258
+ /** `account.fiscal.position.account` (owner: accounting). */
259
+ export interface AccountFiscalPositionAccount {
260
+ readonly name: 'account.fiscal.position.account';
261
+ readonly fields: {
262
+ readonly id: F.Id<'account.fiscal.position.account'>;
263
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
264
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
265
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
266
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
267
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
268
+ readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
269
+ readonly accountSrc: F.Many2one<'account.account', { readonly required: true }>;
270
+ readonly accountDest: F.Many2one<'account.account', { readonly required: true }>;
271
+ };
272
+ readonly methods: AccountFiscalPositionAccountMethods;
273
+ }
274
+
275
+ /** Methods of `account.fiscal.position.account`: declared ones and transitions. */
276
+ export interface AccountFiscalPositionAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.account'> {
277
+ }
278
+
279
+ /** `account.fiscal.position.tax` (owner: accounting). */
280
+ export interface AccountFiscalPositionTax {
281
+ readonly name: 'account.fiscal.position.tax';
282
+ readonly fields: {
283
+ readonly id: F.Id<'account.fiscal.position.tax'>;
284
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
285
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
286
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
287
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
288
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
289
+ readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
290
+ readonly taxSrc: F.Many2one<'account.tax', { readonly required: true }>;
291
+ readonly taxDest: F.Many2one<'account.tax'>;
292
+ };
293
+ readonly methods: AccountFiscalPositionTaxMethods;
294
+ }
295
+
296
+ /** Methods of `account.fiscal.position.tax`: declared ones and transitions. */
297
+ export interface AccountFiscalPositionTaxMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.tax'> {
298
+ }
299
+
133
300
  /** `account.fiscal.year` (owner: accounting). */
134
301
  export interface AccountFiscalYear {
135
302
  readonly name: 'account.fiscal.year';
@@ -156,6 +323,84 @@ export interface AccountFiscalYear {
156
323
  export interface AccountFiscalYearMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.year'> {
157
324
  }
158
325
 
326
+ /** `account.followup` (owner: accounting). */
327
+ export interface AccountFollowup {
328
+ readonly name: 'account.followup';
329
+ readonly fields: {
330
+ readonly id: F.Id<'account.followup'>;
331
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
332
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
333
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
334
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
335
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
336
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
337
+ readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
338
+ readonly level: F.Many2one<'account.followup.level'>;
339
+ readonly sentAt: F.Datetime;
340
+ readonly pausedUntil: F.DateOnly;
341
+ readonly pauseNote: F.Char;
342
+ };
343
+ readonly methods: AccountFollowupMethods;
344
+ }
345
+
346
+ /** Methods of `account.followup`: declared ones and transitions. */
347
+ export interface AccountFollowupMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup'> {
348
+ }
349
+
350
+ /** `account.followup.level` (owner: accounting). */
351
+ export interface AccountFollowupLevel {
352
+ readonly name: 'account.followup.level';
353
+ readonly fields: {
354
+ readonly id: F.Id<'account.followup.level'>;
355
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
356
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
357
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
358
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
359
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
360
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
361
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
362
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
363
+ readonly days: F.Integer<{ readonly required: true; readonly default: true }>;
364
+ readonly sendEmail: F.Bool<{ readonly required: true; readonly default: true }>;
365
+ readonly sendSms: F.Bool<{ readonly required: true; readonly default: true }>;
366
+ readonly sendWhatsapp: F.Bool<{ readonly required: true; readonly default: true }>;
367
+ readonly subject: F.Char<{ readonly required: true; readonly translate: true }>;
368
+ readonly body: F.Text<{ readonly required: true; readonly translate: true }>;
369
+ readonly shortText: F.Char<{ readonly translate: true }>;
370
+ readonly blockSales: F.Bool<{ readonly required: true; readonly default: true }>;
371
+ };
372
+ readonly methods: AccountFollowupLevelMethods;
373
+ }
374
+
375
+ /** Methods of `account.followup.level`: declared ones and transitions. */
376
+ export interface AccountFollowupLevelMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.level'> {
377
+ }
378
+
379
+ /** `account.followup.sent` (owner: accounting). */
380
+ export interface AccountFollowupSent {
381
+ readonly name: 'account.followup.sent';
382
+ readonly fields: {
383
+ readonly id: F.Id<'account.followup.sent'>;
384
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
385
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
386
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
387
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
388
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
389
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
390
+ readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
391
+ readonly level: F.Many2one<'account.followup.level'>;
392
+ readonly amount: F.Char;
393
+ readonly invoices: F.Many2many<'account.move', { readonly required: true }>;
394
+ readonly channels: F.Char;
395
+ readonly automatic: F.Bool<{ readonly required: true; readonly default: true }>;
396
+ };
397
+ readonly methods: AccountFollowupSentMethods;
398
+ }
399
+
400
+ /** Methods of `account.followup.sent`: declared ones and transitions. */
401
+ export interface AccountFollowupSentMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.sent'> {
402
+ }
403
+
159
404
  /** `account.full.reconcile` (owner: accounting). */
160
405
  export interface AccountFullReconcile {
161
406
  readonly name: 'account.full.reconcile';
@@ -193,6 +438,8 @@ export interface AccountJournal {
193
438
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
194
439
  readonly type: F.Selection<'sale' | 'purchase' | 'cash' | 'bank' | 'general', { readonly required: true; readonly default: true }>;
195
440
  readonly defaultAccount: F.Many2one<'account.account'>;
441
+ readonly bankFeed: F.Char;
442
+ readonly bankFeedCursor: F.Char;
196
443
  };
197
444
  readonly methods: AccountJournalMethods;
198
445
  }
@@ -234,6 +481,7 @@ export interface AccountMove {
234
481
  readonly dateDue: F.DateOnly;
235
482
  readonly paymentDetails: F.Text<{ readonly readonly: true; readonly compute: true }>;
236
483
  readonly paymentTerm: F.Many2one<'account.payment.term'>;
484
+ readonly fiscalPosition: F.Many2one<'account.fiscal.position'>;
237
485
  readonly invoiceOrigin: F.Char;
238
486
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
239
487
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -262,7 +510,7 @@ export interface AccountMoveMethods extends F.Methods<typeof import('../../accou
262
510
  readonly 'submit': () => Promise<void>;
263
511
  }
264
512
 
265
- /** `account.move.line` (owner: accounting). */
513
+ /** `account.move.line` (owner: accounting; extended by: purchase_account). */
266
514
  export interface AccountMoveLine {
267
515
  readonly name: 'account.move.line';
268
516
  readonly fields: {
@@ -308,12 +556,14 @@ export interface AccountMoveLine {
308
556
  readonly amountResidual: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
309
557
  readonly amountResidualCurrency: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
310
558
  readonly reconciled: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
559
+ readonly purchaseLine: F.Many2one<'purchase.order.line'>; // purchase_account
560
+ readonly matchNote: F.Char<{ readonly readonly: true; readonly compute: true }>; // purchase_account
311
561
  };
312
562
  readonly methods: AccountMoveLineMethods;
313
563
  }
314
564
 
315
565
  /** Methods of `account.move.line`: declared ones and transitions. */
316
- export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'> {
566
+ export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'account.move.line'> {
317
567
  }
318
568
 
319
569
  /** `account.partial.reconcile` (owner: accounting). */
@@ -442,6 +692,38 @@ export interface AccountPaymentWithholding {
442
692
  export interface AccountPaymentWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.payment.withholding'> {
443
693
  }
444
694
 
695
+ /** `account.reconcile.rule` (owner: accounting). */
696
+ export interface AccountReconcileRule {
697
+ readonly name: 'account.reconcile.rule';
698
+ readonly fields: {
699
+ readonly id: F.Id<'account.reconcile.rule'>;
700
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
701
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
702
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
703
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
704
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
705
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
706
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
707
+ readonly name: F.Char<{ readonly required: true }>;
708
+ readonly sequence: F.Integer<{ readonly default: true }>;
709
+ readonly journals: F.Many2many<'account.journal', { readonly required: true }>;
710
+ readonly labelContains: F.Char;
711
+ readonly direction: F.Selection<'both' | 'in' | 'out', { readonly required: true; readonly default: true }>;
712
+ readonly amountMin: F.Decimal;
713
+ readonly amountMax: F.Decimal;
714
+ readonly partner: F.Many2one<'res.partner'>;
715
+ readonly outcome: F.Selection<'match' | 'write_off' | 'suggest', { readonly required: true; readonly default: true }>;
716
+ readonly writeOffAccount: F.Many2one<'account.account'>;
717
+ readonly writeOffLabel: F.Char;
718
+ readonly hits: F.Integer<{ readonly default: true }>;
719
+ };
720
+ readonly methods: AccountReconcileRuleMethods;
721
+ }
722
+
723
+ /** Methods of `account.reconcile.rule`: declared ones and transitions. */
724
+ export interface AccountReconcileRuleMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.reconcile.rule'> {
725
+ }
726
+
445
727
  /** `account.tax` (owner: product; extended by: accounting). */
446
728
  export interface AccountTax {
447
729
  readonly name: 'account.tax';
@@ -551,6 +833,29 @@ export interface ApprovalDelegation {
551
833
  export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
552
834
  }
553
835
 
836
+ /** `approval.event` (owner: permissions). */
837
+ export interface ApprovalEvent {
838
+ readonly name: 'approval.event';
839
+ readonly fields: {
840
+ readonly id: F.Id<'approval.event'>;
841
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
842
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
843
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
844
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
845
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
846
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
847
+ readonly at: F.Datetime<{ readonly required: true }>;
848
+ readonly user: F.Many2one<'res.users'>;
849
+ readonly kind: F.Selection<'created' | 'started' | 'voted' | 'approved' | 'rejected' | 'sent_back' | 'cancelled' | 'skipped' | 'reminded' | 'escalated' | 'auto' | 'reassigned' | 'synced' | 'notified', { readonly required: true }>;
850
+ readonly note: F.Text;
851
+ };
852
+ readonly methods: ApprovalEventMethods;
853
+ }
854
+
855
+ /** Methods of `approval.event`: declared ones and transitions. */
856
+ export interface ApprovalEventMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.event'> {
857
+ }
858
+
554
859
  /** `approval.level` (owner: permissions). */
555
860
  export interface ApprovalLevel {
556
861
  readonly name: 'approval.level';
@@ -565,7 +870,9 @@ export interface ApprovalLevel {
565
870
  readonly sequence: F.Integer<{ readonly default: true }>;
566
871
  readonly name: F.Char<{ readonly required: true }>;
567
872
  readonly condition: F.Json;
568
- readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
873
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'department_head' | 'department_approvers' | 'employee' | 'field' | 'record', { readonly required: true; readonly default: true }>;
874
+ readonly extraUsers: F.Many2many<'res.users', { readonly required: true }>;
875
+ readonly backupUsers: F.Many2many<'res.users', { readonly required: true }>;
569
876
  readonly approverRole: F.Char;
570
877
  readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
571
878
  readonly approverField: F.Char;
@@ -619,11 +926,18 @@ export interface ApprovalPolicy {
619
926
  readonly targetModel: F.Char<{ readonly required: true }>;
620
927
  readonly sequence: F.Integer<{ readonly default: true }>;
621
928
  readonly company: F.Many2one<'res.company'>;
929
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
930
+ readonly segment: F.Many2one<'res.segment'>;
622
931
  readonly onApproved: F.Char;
623
932
  readonly onRejected: F.Char;
624
933
  readonly onSentBack: F.Char;
625
934
  readonly onWithdrawn: F.Char;
626
935
  readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
936
+ readonly condition: F.Json;
937
+ readonly whenNobody: F.Selection<'refuse' | 'admins' | 'skip', { readonly required: true; readonly default: true }>;
938
+ readonly skipDuplicates: F.Bool<{ readonly required: true; readonly default: true }>;
939
+ readonly syncPending: F.Selection<'off' | 'add' | 'replace', { readonly required: true; readonly default: true }>;
940
+ readonly notifyOnSync: F.Bool<{ readonly required: true; readonly default: true }>;
627
941
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
628
942
  };
629
943
  readonly methods: ApprovalPolicyMethods;
@@ -652,6 +966,7 @@ export interface ApprovalRequest {
652
966
  readonly company: F.Many2one<'res.company'>;
653
967
  readonly approverRole: F.Char;
654
968
  readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
969
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
655
970
  readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
656
971
  readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
657
972
  readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
@@ -659,6 +974,8 @@ export interface ApprovalRequest {
659
974
  readonly remindedAt: F.Datetime;
660
975
  readonly escalatedTo: F.Char;
661
976
  readonly escalatedAt: F.Datetime;
977
+ readonly startedAt: F.Datetime;
978
+ readonly explanation: F.Text;
662
979
  readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
663
980
  readonly requestedBy: F.Many2one<'res.users'>;
664
981
  readonly decidedBy: F.Many2one<'res.users'>;
@@ -689,6 +1006,8 @@ export interface ApprovalVote {
689
1006
  readonly at: F.Datetime<{ readonly required: true }>;
690
1007
  readonly onBehalfOf: F.Many2one<'res.users'>;
691
1008
  readonly ip: F.Char;
1009
+ readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
1010
+ readonly asBackup: F.Bool<{ readonly required: true; readonly default: true }>;
692
1011
  };
693
1012
  readonly methods: ApprovalVoteMethods;
694
1013
  }
@@ -1210,7 +1529,54 @@ export interface OauthToken {
1210
1529
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
1211
1530
  }
1212
1531
 
1213
- /** `product.category` (owner: product; extended by: stock_account). */
1532
+ /** `product.attribute` (owner: product). */
1533
+ export interface ProductAttribute {
1534
+ readonly name: 'product.attribute';
1535
+ readonly fields: {
1536
+ readonly id: F.Id<'product.attribute'>;
1537
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1538
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1539
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1540
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1541
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1542
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1543
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1544
+ readonly display: F.Selection<'list' | 'radio' | 'swatch' | 'size', { readonly required: true; readonly default: true }>;
1545
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1546
+ readonly values: F.One2many<'product.attribute.value', { readonly required: true }>;
1547
+ };
1548
+ readonly methods: ProductAttributeMethods;
1549
+ }
1550
+
1551
+ /** Methods of `product.attribute`: declared ones and transitions. */
1552
+ export interface ProductAttributeMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute'> {
1553
+ }
1554
+
1555
+ /** `product.attribute.value` (owner: product). */
1556
+ export interface ProductAttributeValue {
1557
+ readonly name: 'product.attribute.value';
1558
+ readonly fields: {
1559
+ readonly id: F.Id<'product.attribute.value'>;
1560
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1561
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1562
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1563
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1564
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1565
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1566
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1567
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1568
+ readonly color: F.Char;
1569
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1570
+ readonly extraPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1571
+ };
1572
+ readonly methods: ProductAttributeValueMethods;
1573
+ }
1574
+
1575
+ /** Methods of `product.attribute.value`: declared ones and transitions. */
1576
+ export interface ProductAttributeValueMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute.value'> {
1577
+ }
1578
+
1579
+ /** `product.category` (owner: product; extended by: accounting, stock_account). */
1214
1580
  export interface ProductCategory {
1215
1581
  readonly name: 'product.category';
1216
1582
  readonly fields: {
@@ -1223,6 +1589,9 @@ export interface ProductCategory {
1223
1589
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1224
1590
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1225
1591
  readonly parent: F.Many2one<'product.category'>;
1592
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
1593
+ readonly incomeAccount: F.Many2one<'account.account'>; // accounting
1594
+ readonly expenseAccount: F.Many2one<'account.account'>; // accounting
1226
1595
  readonly costMethod: F.Selection<'average' | 'fifo'>; // stock_account
1227
1596
  readonly stockValuationAccount: F.Many2one<'account.account'>; // stock_account
1228
1597
  readonly stockCogsAccount: F.Many2one<'account.account'>; // stock_account
@@ -1231,10 +1600,70 @@ export interface ProductCategory {
1231
1600
  }
1232
1601
 
1233
1602
  /** Methods of `product.category`: declared ones and transitions. */
1234
- export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'>, F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'product.category'> {
1603
+ export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.category'>, F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'product.category'> {
1604
+ }
1605
+
1606
+ /** `product.pricelist` (owner: product). */
1607
+ export interface ProductPricelist {
1608
+ readonly name: 'product.pricelist';
1609
+ readonly fields: {
1610
+ readonly id: F.Id<'product.pricelist'>;
1611
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1612
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1613
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1614
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1615
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1616
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1617
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1618
+ readonly sequence: F.Integer<{ readonly default: true }>;
1619
+ readonly currency: F.Many2one<'res.currency'>;
1620
+ readonly company: F.Many2one<'res.company'>;
1621
+ readonly rules: F.One2many<'product.pricelist.rule', { readonly required: true }>;
1622
+ readonly note: F.Text;
1623
+ };
1624
+ readonly methods: ProductPricelistMethods;
1625
+ }
1626
+
1627
+ /** Methods of `product.pricelist`: declared ones and transitions. */
1628
+ export interface ProductPricelistMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist'> {
1629
+ }
1630
+
1631
+ /** `product.pricelist.rule` (owner: product). */
1632
+ export interface ProductPricelistRule {
1633
+ readonly name: 'product.pricelist.rule';
1634
+ readonly fields: {
1635
+ readonly id: F.Id<'product.pricelist.rule'>;
1636
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1637
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1638
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1639
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1640
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1641
+ readonly pricelist: F.Many2one<'product.pricelist', { readonly required: true }>;
1642
+ readonly sequence: F.Integer<{ readonly default: true }>;
1643
+ readonly appliesTo: F.Selection<'all' | 'category' | 'product', { readonly required: true; readonly default: true }>;
1644
+ readonly product: F.Many2one<'product.product'>;
1645
+ readonly category: F.Many2one<'product.category'>;
1646
+ readonly minQuantity: F.Decimal<{ readonly default: true }>;
1647
+ readonly dateFrom: F.DateOnly;
1648
+ readonly dateTo: F.DateOnly;
1649
+ readonly compute: F.Selection<'fixed' | 'discount' | 'formula', { readonly required: true; readonly default: true }>;
1650
+ readonly fixedPrice: F.Decimal;
1651
+ readonly base: F.Selection<'list' | 'cost' | 'pricelist', { readonly required: true; readonly default: true }>;
1652
+ readonly basePricelist: F.Many2one<'product.pricelist'>;
1653
+ readonly discount: F.Decimal<{ readonly default: true }>;
1654
+ readonly surcharge: F.Decimal<{ readonly default: true }>;
1655
+ readonly rounding: F.Decimal<{ readonly default: true }>;
1656
+ readonly minMargin: F.Decimal;
1657
+ readonly maxMargin: F.Decimal;
1658
+ };
1659
+ readonly methods: ProductPricelistRuleMethods;
1660
+ }
1661
+
1662
+ /** Methods of `product.pricelist.rule`: declared ones and transitions. */
1663
+ export interface ProductPricelistRuleMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist.rule'> {
1235
1664
  }
1236
1665
 
1237
- /** `product.product` (owner: product; extended by: stock, stock_account). */
1666
+ /** `product.product` (owner: product; extended by: accounting, stock, stock_account, stock_account). */
1238
1667
  export interface ProductProduct {
1239
1668
  readonly name: 'product.product';
1240
1669
  readonly fields: {
@@ -1249,8 +1678,11 @@ export interface ProductProduct {
1249
1678
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
1250
1679
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1251
1680
  readonly category: F.Many2one<'product.category'>;
1681
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
1252
1682
  readonly uom: F.Many2one<'uom.uom'>;
1253
1683
  readonly barcode: F.Char;
1684
+ readonly weight: F.Decimal;
1685
+ readonly volume: F.Decimal;
1254
1686
  readonly image: F.Many2one<'storage.attachment'>;
1255
1687
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1256
1688
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -1261,12 +1693,19 @@ export interface ProductProduct {
1261
1693
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
1262
1694
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
1263
1695
  readonly description: F.Text<{ readonly translate: true }>;
1696
+ readonly template: F.Many2one<'product.template'>;
1697
+ readonly attributeValues: F.Many2many<'product.attribute.value', { readonly required: true }>;
1698
+ readonly followsTemplatePrice: F.Bool<{ readonly required: true; readonly default: true }>;
1699
+ readonly incomeAccount: F.Many2one<'account.account'>; // accounting
1700
+ readonly expenseAccount: F.Many2one<'account.account'>; // accounting
1264
1701
  readonly tracking: F.Selection<'none' | 'lot' | 'serial', { readonly required: true; readonly default: true }>; // stock
1265
1702
  readonly lots: F.One2many<'stock.lot', { readonly required: true }>; // stock
1266
1703
  readonly quants: F.One2many<'stock.quant', { readonly required: true }>; // stock
1267
1704
  readonly qtyOnHand: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // stock
1268
1705
  readonly qtyReserved: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // stock
1269
1706
  readonly qtyAvailable: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // stock
1707
+ readonly landedCost: F.Bool<{ readonly required: true; readonly default: true }>; // stock_account
1708
+ readonly landedSplit: F.Selection<'quantity' | 'weight' | 'volume' | 'value' | 'equal', { readonly default: true }>; // stock_account
1270
1709
  readonly costMethod: F.Selection<'average' | 'fifo'>; // stock_account
1271
1710
  readonly valuationLayers: F.One2many<'stock.valuation.layer', { readonly required: true }>; // stock_account
1272
1711
  };
@@ -1274,80 +1713,337 @@ export interface ProductProduct {
1274
1713
  }
1275
1714
 
1276
1715
  /** Methods of `product.product`: declared ones and transitions. */
1277
- export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../../stock/index.js').stockShutro, 'product.product'>, F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'product.product'> {
1716
+ export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.product'>, F.Methods<typeof import('../../stock/index.js').stockShutro, 'product.product'>, F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'product.product'>, F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'product.product'> {
1278
1717
  }
1279
1718
 
1280
- /** `purchase.order` (owner: purchase; extended by: purchase_account, purchase_stock). */
1281
- export interface PurchaseOrder {
1282
- readonly name: 'purchase.order';
1719
+ /** `product.template` (owner: product). */
1720
+ export interface ProductTemplate {
1721
+ readonly name: 'product.template';
1283
1722
  readonly fields: {
1284
- readonly id: F.Id<'purchase.order'>;
1723
+ readonly id: F.Id<'product.template'>;
1285
1724
  readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1286
1725
  readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1287
1726
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1288
1727
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1289
1728
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1290
- readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1291
- readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1292
- readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1293
- readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
1294
- readonly partnerReference: F.Char;
1295
- readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1296
- readonly dateOrder: F.DateOnly<{ readonly required: true; readonly default: true }>;
1297
- readonly datePlanned: F.DateOnly;
1298
- readonly origin: F.Char;
1299
- readonly note: F.Text;
1300
- readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
1301
- readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1302
- readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1303
- readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1304
- readonly state: F.State<'draft' | 'sent' | 'to_approve' | 'purchase' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1305
- readonly bills: F.One2many<'account.move', { readonly required: true }>; // purchase_account
1306
- readonly billState: F.Selection<'no' | 'to_bill' | 'billed', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_account
1307
- readonly receipts: F.One2many<'stock.picking', { readonly required: true }>; // purchase_stock
1308
- readonly dropship: F.Bool<{ readonly required: true; readonly default: true }>; // purchase_stock
1309
- readonly warehouse: F.Many2one<'stock.warehouse'>; // purchase_stock
1310
- readonly receiptState: F.Selection<'nothing' | 'to_receive' | 'partial' | 'received', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
1729
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1730
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1731
+ readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1732
+ readonly category: F.Many2one<'product.category'>;
1733
+ readonly uom: F.Many2one<'uom.uom'>;
1734
+ readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1735
+ readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1736
+ readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
1737
+ readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
1738
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1739
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
1740
+ readonly image: F.Many2one<'storage.attachment'>;
1741
+ readonly description: F.Text<{ readonly translate: true }>;
1742
+ readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
1743
+ readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
1744
+ readonly variants: F.One2many<'product.product', { readonly required: true }>;
1745
+ readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1746
+ readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
1311
1747
  };
1312
- readonly methods: PurchaseOrderMethods;
1748
+ readonly methods: ProductTemplateMethods;
1313
1749
  }
1314
1750
 
1315
- /** Methods of `purchase.order`: declared ones and transitions. */
1316
- export interface PurchaseOrderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order'>, F.Methods<typeof import('../../purchase_stock/index.js').purchaseStockShutro, 'purchase.order'> {
1317
- readonly 'bill': () => Promise<void>;
1318
- readonly 'cancel': () => Promise<void>;
1319
- readonly 'confirm': () => Promise<void>;
1320
- readonly 'lock': () => Promise<void>;
1321
- readonly 'redraft': () => Promise<void>;
1322
- readonly 'reject': () => Promise<void>;
1323
- readonly 'send': () => Promise<void>;
1324
- readonly 'submit': () => Promise<void>;
1325
- readonly 'unlock': () => Promise<void>;
1751
+ /** Methods of `product.template`: declared ones and transitions. */
1752
+ export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
1753
+ readonly 'generate': () => Promise<void>;
1326
1754
  }
1327
1755
 
1328
- /** `purchase.order.line` (owner: purchase; extended by: purchase_account, purchase_stock). */
1329
- export interface PurchaseOrderLine {
1330
- readonly name: 'purchase.order.line';
1756
+ /** `product.template.exclusion` (owner: product). */
1757
+ export interface ProductTemplateExclusion {
1758
+ readonly name: 'product.template.exclusion';
1331
1759
  readonly fields: {
1332
- readonly id: F.Id<'purchase.order.line'>;
1760
+ readonly id: F.Id<'product.template.exclusion'>;
1333
1761
  readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1334
1762
  readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1335
1763
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1336
1764
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1337
1765
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1338
- readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
1339
- readonly product: F.Many2one<'product.product', { readonly required: true }>;
1340
- readonly name: F.Char<{ readonly required: true }>;
1341
- readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1342
- readonly uom: F.Many2one<'uom.uom'>;
1766
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1767
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1768
+ readonly note: F.Char;
1769
+ };
1770
+ readonly methods: ProductTemplateExclusionMethods;
1771
+ }
1772
+
1773
+ /** Methods of `product.template.exclusion`: declared ones and transitions. */
1774
+ export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
1775
+ }
1776
+
1777
+ /** `product.template.line` (owner: product). */
1778
+ export interface ProductTemplateLine {
1779
+ readonly name: 'product.template.line';
1780
+ readonly fields: {
1781
+ readonly id: F.Id<'product.template.line'>;
1782
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1783
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1784
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1785
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1786
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1787
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1788
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1789
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1790
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1791
+ };
1792
+ readonly methods: ProductTemplateLineMethods;
1793
+ }
1794
+
1795
+ /** Methods of `product.template.line`: declared ones and transitions. */
1796
+ export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
1797
+ }
1798
+
1799
+ /** `product.vendor.price` (owner: purchase). */
1800
+ export interface ProductVendorPrice {
1801
+ readonly name: 'product.vendor.price';
1802
+ readonly fields: {
1803
+ readonly id: F.Id<'product.vendor.price'>;
1804
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1805
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1806
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1807
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1808
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1809
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1810
+ readonly company: F.Many2one<'res.company', { readonly default: true }>;
1811
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1812
+ readonly product: F.Many2one<'product.product'>;
1813
+ readonly category: F.Many2one<'product.category'>;
1814
+ readonly vendorCode: F.Char;
1815
+ readonly vendorName: F.Char;
1816
+ readonly currency: F.Many2one<'res.currency'>;
1817
+ readonly minQuantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1818
+ readonly price: F.Decimal<{ readonly required: true }>;
1819
+ readonly dateFrom: F.DateOnly;
1820
+ readonly dateTo: F.DateOnly;
1821
+ readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
1822
+ readonly preferred: F.Bool<{ readonly required: true; readonly default: true }>;
1823
+ readonly sequence: F.Integer<{ readonly default: true }>;
1824
+ };
1825
+ readonly methods: ProductVendorPriceMethods;
1826
+ }
1827
+
1828
+ /** Methods of `product.vendor.price`: declared ones and transitions. */
1829
+ export interface ProductVendorPriceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'product.vendor.price'> {
1830
+ }
1831
+
1832
+ /** `purchase.agreement` (owner: purchase). */
1833
+ export interface PurchaseAgreement {
1834
+ readonly name: 'purchase.agreement';
1835
+ readonly fields: {
1836
+ readonly id: F.Id<'purchase.agreement'>;
1837
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1838
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1839
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1840
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1841
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1842
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1843
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1844
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1845
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1846
+ readonly kind: F.Selection<'blanket' | 'contract', { readonly required: true; readonly default: true }>;
1847
+ readonly reference: F.Char;
1848
+ readonly dateStart: F.DateOnly;
1849
+ readonly dateEnd: F.DateOnly;
1850
+ readonly currency: F.Many2one<'res.currency'>;
1851
+ readonly note: F.Text;
1852
+ readonly lines: F.One2many<'purchase.agreement.line', { readonly required: true }>;
1853
+ readonly orders: F.One2many<'purchase.order', { readonly required: true }>;
1854
+ readonly state: F.State<'draft' | 'confirmed' | 'closed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1855
+ };
1856
+ readonly methods: PurchaseAgreementMethods;
1857
+ }
1858
+
1859
+ /** Methods of `purchase.agreement`: declared ones and transitions. */
1860
+ export interface PurchaseAgreementMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement'> {
1861
+ readonly 'cancel': () => Promise<void>;
1862
+ readonly 'close': () => Promise<void>;
1863
+ readonly 'confirm': () => Promise<void>;
1864
+ readonly 'redraft': () => Promise<void>;
1865
+ }
1866
+
1867
+ /** `purchase.agreement.line` (owner: purchase). */
1868
+ export interface PurchaseAgreementLine {
1869
+ readonly name: 'purchase.agreement.line';
1870
+ readonly fields: {
1871
+ readonly id: F.Id<'purchase.agreement.line'>;
1872
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1873
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1874
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1875
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1876
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1877
+ readonly agreement: F.Many2one<'purchase.agreement', { readonly required: true }>;
1878
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1879
+ readonly name: F.Char;
1880
+ readonly quantity: F.Decimal;
1881
+ readonly uom: F.Many2one<'uom.uom'>;
1343
1882
  readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1883
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1884
+ };
1885
+ readonly methods: PurchaseAgreementLineMethods;
1886
+ }
1887
+
1888
+ /** Methods of `purchase.agreement.line`: declared ones and transitions. */
1889
+ export interface PurchaseAgreementLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement.line'> {
1890
+ }
1891
+
1892
+ /** `purchase.comparison` (owner: purchase). */
1893
+ export interface PurchaseComparison {
1894
+ readonly name: 'purchase.comparison';
1895
+ readonly fields: {
1896
+ readonly id: F.Id<'purchase.comparison'>;
1897
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1898
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1899
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1900
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1901
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1902
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1903
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1904
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1905
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1906
+ readonly expiryDate: F.DateOnly;
1907
+ readonly dateDelivery: F.DateOnly;
1908
+ readonly multiVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1909
+ readonly note: F.Text;
1910
+ readonly lines: F.One2many<'purchase.comparison.line', { readonly required: true }>;
1911
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1912
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1913
+ };
1914
+ readonly methods: PurchaseComparisonMethods;
1915
+ }
1916
+
1917
+ /** Methods of `purchase.comparison`: declared ones and transitions. */
1918
+ export interface PurchaseComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison'> {
1919
+ readonly 'approve': () => Promise<void>;
1920
+ readonly 'cancel': () => Promise<void>;
1921
+ readonly 'confirm': () => Promise<void>;
1922
+ readonly 'fill': () => Promise<void>;
1923
+ readonly 'redraft': () => Promise<void>;
1924
+ readonly 'reject': () => Promise<void>;
1925
+ readonly 'submit': () => Promise<void>;
1926
+ }
1927
+
1928
+ /** `purchase.comparison.line` (owner: purchase). */
1929
+ export interface PurchaseComparisonLine {
1930
+ readonly name: 'purchase.comparison.line';
1931
+ readonly fields: {
1932
+ readonly id: F.Id<'purchase.comparison.line'>;
1933
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1934
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1935
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1936
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1937
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1938
+ readonly comparison: F.Many2one<'purchase.comparison', { readonly required: true }>;
1939
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
1940
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1941
+ readonly csQty: F.Decimal<{ readonly required: true; readonly default: true }>;
1942
+ readonly quote: F.Decimal<{ readonly required: true; readonly default: true }>;
1943
+ readonly nego1: F.Decimal;
1944
+ readonly nego2: F.Decimal;
1945
+ readonly finalPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1946
+ readonly total: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1947
+ readonly selected: F.Bool<{ readonly required: true; readonly default: true }>;
1948
+ readonly lowest: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
1949
+ };
1950
+ readonly methods: PurchaseComparisonLineMethods;
1951
+ }
1952
+
1953
+ /** Methods of `purchase.comparison.line`: declared ones and transitions. */
1954
+ export interface PurchaseComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison.line'> {
1955
+ }
1956
+
1957
+ /** `purchase.order` (owner: purchase; extended by: purchase_account, purchase_stock, purchase_stock_account). */
1958
+ export interface PurchaseOrder {
1959
+ readonly name: 'purchase.order';
1960
+ readonly fields: {
1961
+ readonly id: F.Id<'purchase.order'>;
1962
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1963
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1964
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1965
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1966
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1967
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1968
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1969
+ readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1970
+ readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
1971
+ readonly partnerReference: F.Char;
1972
+ readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1973
+ readonly dateOrder: F.DateOnly<{ readonly required: true; readonly default: true }>;
1974
+ readonly datePlanned: F.DateOnly;
1975
+ readonly origin: F.Char;
1976
+ readonly note: F.Text;
1977
+ readonly poType: F.Selection<'general' | 'service' | 'capital', { readonly required: true; readonly default: true }>;
1978
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
1979
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
1980
+ readonly agreement: F.Many2one<'purchase.agreement'>;
1981
+ readonly acceptances: F.One2many<'purchase.work.acceptance', { readonly required: true }>;
1982
+ readonly acceptanceCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1983
+ readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
1984
+ readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1985
+ readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1986
+ readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1987
+ readonly state: F.State<'draft' | 'sent' | 'to_approve' | 'purchase' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1988
+ readonly bills: F.One2many<'account.move', { readonly required: true }>; // purchase_account
1989
+ readonly billState: F.Selection<'no' | 'to_bill' | 'billed', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_account
1990
+ readonly receipts: F.One2many<'stock.picking', { readonly required: true }>; // purchase_stock
1991
+ readonly vendorOnTime: F.Char<{ readonly readonly: true; readonly compute: true }>; // purchase_stock
1992
+ readonly dropship: F.Bool<{ readonly required: true; readonly default: true }>; // purchase_stock
1993
+ readonly warehouse: F.Many2one<'stock.warehouse'>; // purchase_stock
1994
+ readonly receiptState: F.Selection<'nothing' | 'to_receive' | 'partial' | 'received', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
1995
+ readonly estimatedLandedCost: F.Decimal<{ readonly default: true }>; // purchase_stock_account
1996
+ readonly estimatedTotalCost: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock_account
1997
+ };
1998
+ readonly methods: PurchaseOrderMethods;
1999
+ }
2000
+
2001
+ /** Methods of `purchase.order`: declared ones and transitions. */
2002
+ export interface PurchaseOrderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order'>, F.Methods<typeof import('../../purchase_stock/index.js').purchaseStockShutro, 'purchase.order'>, F.Methods<typeof import('../module.js').purchaseStockAccountShutro, 'purchase.order'> {
2003
+ readonly 'bill': () => Promise<void>;
2004
+ readonly 'cancel': () => Promise<void>;
2005
+ readonly 'confirm': () => Promise<void>;
2006
+ readonly 'lock': () => Promise<void>;
2007
+ readonly 'redraft': () => Promise<void>;
2008
+ readonly 'refund': () => Promise<void>;
2009
+ readonly 'reject': () => Promise<void>;
2010
+ readonly 'send': () => Promise<void>;
2011
+ readonly 'submit': () => Promise<void>;
2012
+ readonly 'unlock': () => Promise<void>;
2013
+ }
2014
+
2015
+ /** `purchase.order.line` (owner: purchase; extended by: purchase_account, purchase_account, purchase_stock). */
2016
+ export interface PurchaseOrderLine {
2017
+ readonly name: 'purchase.order.line';
2018
+ readonly fields: {
2019
+ readonly id: F.Id<'purchase.order.line'>;
2020
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2021
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2022
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2023
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2024
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2025
+ readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
2026
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2027
+ readonly name: F.Char<{ readonly required: true }>;
2028
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2029
+ readonly uom: F.Many2one<'uom.uom'>;
2030
+ readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
2031
+ readonly manualPrice: F.Decimal;
2032
+ readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2033
+ readonly vendorCode: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1344
2034
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1345
2035
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
1346
2036
  readonly datePlanned: F.DateOnly;
2037
+ readonly acceptanceLines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
2038
+ readonly qtyAccepted: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2039
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
1347
2040
  readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1348
2041
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1349
2042
  readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1350
2043
  readonly analytic: F.Many2one<'account.analytic'>; // purchase_account
2044
+ readonly billLines: F.One2many<'account.move.line', { readonly required: true }>; // purchase_account
2045
+ readonly qtyBilled: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_account
2046
+ readonly qtyReturned: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
1351
2047
  readonly moves: F.One2many<'stock.move', { readonly required: true }>; // purchase_stock
1352
2048
  readonly qtyReceived: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
1353
2049
  };
@@ -1355,7 +2051,367 @@ export interface PurchaseOrderLine {
1355
2051
  }
1356
2052
 
1357
2053
  /** Methods of `purchase.order.line`: declared ones and transitions. */
1358
- export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_stock/index.js').purchaseStockShutro, 'purchase.order.line'> {
2054
+ export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_stock/index.js').purchaseStockShutro, 'purchase.order.line'> {
2055
+ }
2056
+
2057
+ /** `purchase.request` (owner: purchase). */
2058
+ export interface PurchaseRequest {
2059
+ readonly name: 'purchase.request';
2060
+ readonly fields: {
2061
+ readonly id: F.Id<'purchase.request'>;
2062
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2063
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2064
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2065
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2066
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2067
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2068
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2069
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
2070
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
2071
+ readonly dateRequired: F.DateOnly<{ readonly required: true; readonly default: true }>;
2072
+ readonly priority: F.Selection<'normal' | 'high' | 'urgent' | 'critical', { readonly required: true; readonly default: true }>;
2073
+ readonly vendor: F.Many2one<'res.partner'>;
2074
+ readonly purpose: F.Text;
2075
+ readonly lines: F.One2many<'purchase.request.line', { readonly required: true }>;
2076
+ readonly amountEstimate: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2077
+ readonly rejectReason: F.Char;
2078
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'done' | 'rejected' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2079
+ };
2080
+ readonly methods: PurchaseRequestMethods;
2081
+ }
2082
+
2083
+ /** Methods of `purchase.request`: declared ones and transitions. */
2084
+ export interface PurchaseRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request'> {
2085
+ readonly 'approve': () => Promise<void>;
2086
+ readonly 'cancel': () => Promise<void>;
2087
+ readonly 'close': () => Promise<void>;
2088
+ readonly 'redraft': () => Promise<void>;
2089
+ readonly 'reject': () => Promise<void>;
2090
+ readonly 'rfq': () => Promise<void>;
2091
+ readonly 'submit': () => Promise<void>;
2092
+ readonly 'tender': () => Promise<void>;
2093
+ }
2094
+
2095
+ /** `purchase.request.line` (owner: purchase). */
2096
+ export interface PurchaseRequestLine {
2097
+ readonly name: 'purchase.request.line';
2098
+ readonly fields: {
2099
+ readonly id: F.Id<'purchase.request.line'>;
2100
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2101
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2102
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2103
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2104
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2105
+ readonly request: F.Many2one<'purchase.request', { readonly required: true }>;
2106
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2107
+ readonly name: F.Char;
2108
+ readonly uom: F.Many2one<'uom.uom'>;
2109
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2110
+ readonly qtyApproved: F.Decimal;
2111
+ readonly dateRequired: F.DateOnly;
2112
+ readonly buyers: F.Many2many<'res.users', { readonly required: true }>;
2113
+ readonly purchaseLines: F.One2many<'purchase.order.line', { readonly required: true }>;
2114
+ readonly tenderLines: F.One2many<'purchase.tender.line', { readonly required: true }>;
2115
+ readonly qtyOnRfq: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2116
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2117
+ readonly qtyRemaining: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2118
+ readonly status: F.Selection<'draft' | 'to_approve' | 'approved' | 'rfq' | 'ordered' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
2119
+ };
2120
+ readonly methods: PurchaseRequestLineMethods;
2121
+ }
2122
+
2123
+ /** Methods of `purchase.request.line`: declared ones and transitions. */
2124
+ export interface PurchaseRequestLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request.line'> {
2125
+ }
2126
+
2127
+ /** `purchase.technical.comparison` (owner: purchase). */
2128
+ export interface PurchaseTechnicalComparison {
2129
+ readonly name: 'purchase.technical.comparison';
2130
+ readonly fields: {
2131
+ readonly id: F.Id<'purchase.technical.comparison'>;
2132
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2133
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2134
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2135
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2136
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2137
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2138
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2139
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
2140
+ readonly engineer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
2141
+ readonly kind: F.Selection<'simple' | 'detailed', { readonly required: true; readonly default: true }>;
2142
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
2143
+ readonly remarks: F.Text;
2144
+ readonly lines: F.One2many<'purchase.technical.comparison.line', { readonly required: true }>;
2145
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2146
+ };
2147
+ readonly methods: PurchaseTechnicalComparisonMethods;
2148
+ }
2149
+
2150
+ /** Methods of `purchase.technical.comparison`: declared ones and transitions. */
2151
+ export interface PurchaseTechnicalComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison'> {
2152
+ readonly 'approve': () => Promise<void>;
2153
+ readonly 'cancel': () => Promise<void>;
2154
+ readonly 'confirm': () => Promise<void>;
2155
+ readonly 'fill': () => Promise<void>;
2156
+ readonly 'redraft': () => Promise<void>;
2157
+ readonly 'submit': () => Promise<void>;
2158
+ }
2159
+
2160
+ /** `purchase.technical.comparison.line` (owner: purchase). */
2161
+ export interface PurchaseTechnicalComparisonLine {
2162
+ readonly name: 'purchase.technical.comparison.line';
2163
+ readonly fields: {
2164
+ readonly id: F.Id<'purchase.technical.comparison.line'>;
2165
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2166
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2167
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2168
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2169
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2170
+ readonly comparison: F.Many2one<'purchase.technical.comparison', { readonly required: true }>;
2171
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
2172
+ readonly score: F.Decimal<{ readonly required: true; readonly default: true }>;
2173
+ readonly meetsSpecifications: F.Bool<{ readonly required: true; readonly default: true }>;
2174
+ readonly note: F.Char;
2175
+ };
2176
+ readonly methods: PurchaseTechnicalComparisonLineMethods;
2177
+ }
2178
+
2179
+ /** Methods of `purchase.technical.comparison.line`: declared ones and transitions. */
2180
+ export interface PurchaseTechnicalComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison.line'> {
2181
+ }
2182
+
2183
+ /** `purchase.tender` (owner: purchase). */
2184
+ export interface PurchaseTender {
2185
+ readonly name: 'purchase.tender';
2186
+ readonly fields: {
2187
+ readonly id: F.Id<'purchase.tender'>;
2188
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2189
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2190
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2191
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2192
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2193
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2194
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2195
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
2196
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
2197
+ readonly deadline: F.DateOnly<{ readonly required: true }>;
2198
+ readonly dateDelivery: F.DateOnly;
2199
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
2200
+ readonly topic: F.Char;
2201
+ readonly vendors: F.Many2many<'res.partner', { readonly required: true }>;
2202
+ readonly currency: F.Many2one<'res.currency'>;
2203
+ readonly paymentTerms: F.Char;
2204
+ readonly technical: F.Bool<{ readonly required: true; readonly default: true }>;
2205
+ readonly note: F.Text;
2206
+ readonly request: F.Many2one<'purchase.request'>;
2207
+ readonly lines: F.One2many<'purchase.tender.line', { readonly required: true }>;
2208
+ readonly responses: F.One2many<'purchase.tender.response', { readonly required: true }>;
2209
+ readonly responseCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2210
+ readonly state: F.State<'draft' | 'sent' | 'received' | 'comparing' | 'selected' | 'ordered' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2211
+ };
2212
+ readonly methods: PurchaseTenderMethods;
2213
+ }
2214
+
2215
+ /** Methods of `purchase.tender`: declared ones and transitions. */
2216
+ export interface PurchaseTenderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender'> {
2217
+ readonly 'cancel': () => Promise<void>;
2218
+ readonly 'close': () => Promise<void>;
2219
+ readonly 'compare': () => Promise<void>;
2220
+ readonly 'order': () => Promise<void>;
2221
+ readonly 'redraft': () => Promise<void>;
2222
+ readonly 'select': () => Promise<void>;
2223
+ readonly 'send': () => Promise<void>;
2224
+ }
2225
+
2226
+ /** `purchase.tender.line` (owner: purchase). */
2227
+ export interface PurchaseTenderLine {
2228
+ readonly name: 'purchase.tender.line';
2229
+ readonly fields: {
2230
+ readonly id: F.Id<'purchase.tender.line'>;
2231
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2232
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2233
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2234
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2235
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2236
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
2237
+ readonly sequence: F.Integer<{ readonly default: true }>;
2238
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2239
+ readonly name: F.Char;
2240
+ readonly uom: F.Many2one<'uom.uom'>;
2241
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2242
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
2243
+ };
2244
+ readonly methods: PurchaseTenderLineMethods;
2245
+ }
2246
+
2247
+ /** Methods of `purchase.tender.line`: declared ones and transitions. */
2248
+ export interface PurchaseTenderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.line'> {
2249
+ }
2250
+
2251
+ /** `purchase.tender.response` (owner: purchase). */
2252
+ export interface PurchaseTenderResponse {
2253
+ readonly name: 'purchase.tender.response';
2254
+ readonly fields: {
2255
+ readonly id: F.Id<'purchase.tender.response'>;
2256
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2257
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2258
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2259
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2260
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2261
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2262
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2263
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
2264
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
2265
+ readonly responseDate: F.Datetime;
2266
+ readonly dateDelivery: F.DateOnly;
2267
+ readonly paymentTerms: F.Char;
2268
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
2269
+ readonly technicalRank: F.Integer<{ readonly default: true }>;
2270
+ readonly remark: F.Text;
2271
+ readonly lines: F.One2many<'purchase.tender.response.line', { readonly required: true }>;
2272
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2273
+ readonly tokenHash: F.Char;
2274
+ readonly tokenExpiresAt: F.Datetime;
2275
+ readonly state: F.State<'invited' | 'quoted' | 'submitted' | 'not_responded' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
2276
+ };
2277
+ readonly methods: PurchaseTenderResponseMethods;
2278
+ }
2279
+
2280
+ /** Methods of `purchase.tender.response`: declared ones and transitions. */
2281
+ export interface PurchaseTenderResponseMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response'> {
2282
+ readonly 'quote': () => Promise<void>;
2283
+ readonly 'reject': () => Promise<void>;
2284
+ readonly 'reopen': () => Promise<void>;
2285
+ readonly 'submit': () => Promise<void>;
2286
+ readonly 'unanswered': () => Promise<void>;
2287
+ }
2288
+
2289
+ /** `purchase.tender.response.line` (owner: purchase). */
2290
+ export interface PurchaseTenderResponseLine {
2291
+ readonly name: 'purchase.tender.response.line';
2292
+ readonly fields: {
2293
+ readonly id: F.Id<'purchase.tender.response.line'>;
2294
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2295
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2296
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2297
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2298
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2299
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
2300
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
2301
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2302
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2303
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
2304
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2305
+ readonly note: F.Char;
2306
+ };
2307
+ readonly methods: PurchaseTenderResponseLineMethods;
2308
+ }
2309
+
2310
+ /** Methods of `purchase.tender.response.line`: declared ones and transitions. */
2311
+ export interface PurchaseTenderResponseLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response.line'> {
2312
+ }
2313
+
2314
+ /** `purchase.vendor.request` (owner: purchase). */
2315
+ export interface PurchaseVendorRequest {
2316
+ readonly name: 'purchase.vendor.request';
2317
+ readonly fields: {
2318
+ readonly id: F.Id<'purchase.vendor.request'>;
2319
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2320
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2321
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2322
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2323
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2324
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2325
+ readonly name: F.Char<{ readonly required: true }>;
2326
+ readonly kind: F.Selection<'vendor' | 'contractor' | 'service', { readonly required: true; readonly default: true }>;
2327
+ readonly street: F.Char;
2328
+ readonly street2: F.Char;
2329
+ readonly city: F.Char;
2330
+ readonly zip: F.Char;
2331
+ readonly country: F.Char<{ readonly default: true }>;
2332
+ readonly nid: F.Char;
2333
+ readonly tradeLicense: F.Char;
2334
+ readonly proprietorName: F.Char;
2335
+ readonly proprietorMobile: F.Char;
2336
+ readonly email: F.Char;
2337
+ readonly phone: F.Char;
2338
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
2339
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
2340
+ readonly partner: F.Many2one<'res.partner'>;
2341
+ readonly rejectReason: F.Char;
2342
+ readonly note: F.Text;
2343
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
2344
+ };
2345
+ readonly methods: PurchaseVendorRequestMethods;
2346
+ }
2347
+
2348
+ /** Methods of `purchase.vendor.request`: declared ones and transitions. */
2349
+ export interface PurchaseVendorRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.vendor.request'> {
2350
+ readonly 'approve': () => Promise<void>;
2351
+ readonly 'redraft': () => Promise<void>;
2352
+ readonly 'reject': () => Promise<void>;
2353
+ readonly 'submit': () => Promise<void>;
2354
+ }
2355
+
2356
+ /** `purchase.work.acceptance` (owner: purchase). */
2357
+ export interface PurchaseWorkAcceptance {
2358
+ readonly name: 'purchase.work.acceptance';
2359
+ readonly fields: {
2360
+ readonly id: F.Id<'purchase.work.acceptance'>;
2361
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2362
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2363
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2364
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2365
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2366
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2367
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2368
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
2369
+ readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
2370
+ readonly responsible: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
2371
+ readonly invoiceReference: F.Char;
2372
+ readonly dueDate: F.DateOnly<{ readonly required: true; readonly default: true }>;
2373
+ readonly acceptedOn: F.DateOnly;
2374
+ readonly currency: F.Many2one<'res.currency'>;
2375
+ readonly note: F.Text;
2376
+ readonly lines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
2377
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2378
+ readonly state: F.State<'draft' | 'accepted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2379
+ };
2380
+ readonly methods: PurchaseWorkAcceptanceMethods;
2381
+ }
2382
+
2383
+ /** Methods of `purchase.work.acceptance`: declared ones and transitions. */
2384
+ export interface PurchaseWorkAcceptanceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance'> {
2385
+ readonly 'accept': () => Promise<void>;
2386
+ readonly 'cancel': () => Promise<void>;
2387
+ readonly 'fill': () => Promise<void>;
2388
+ readonly 'redraft': () => Promise<void>;
2389
+ }
2390
+
2391
+ /** `purchase.work.acceptance.line` (owner: purchase). */
2392
+ export interface PurchaseWorkAcceptanceLine {
2393
+ readonly name: 'purchase.work.acceptance.line';
2394
+ readonly fields: {
2395
+ readonly id: F.Id<'purchase.work.acceptance.line'>;
2396
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2397
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2398
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2399
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2400
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2401
+ readonly acceptance: F.Many2one<'purchase.work.acceptance', { readonly required: true }>;
2402
+ readonly orderLine: F.Many2one<'purchase.order.line', { readonly required: true }>;
2403
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2404
+ readonly name: F.Char;
2405
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2406
+ readonly uom: F.Many2one<'uom.uom'>;
2407
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
2408
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2409
+ };
2410
+ readonly methods: PurchaseWorkAcceptanceLineMethods;
2411
+ }
2412
+
2413
+ /** Methods of `purchase.work.acceptance.line`: declared ones and transitions. */
2414
+ export interface PurchaseWorkAcceptanceLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance.line'> {
1359
2415
  }
1360
2416
 
1361
2417
  /** `report.dashboard` (owner: reporting). */
@@ -1604,7 +2660,7 @@ export interface ResCurrencyRate {
1604
2660
  export interface ResCurrencyRateMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.currency.rate'> {
1605
2661
  }
1606
2662
 
1607
- /** `res.partner` (owner: contacts; extended by: accounting). */
2663
+ /** `res.partner` (owner: contacts; extended by: accounting, accounting). */
1608
2664
  export interface ResPartner {
1609
2665
  readonly name: 'res.partner';
1610
2666
  readonly fields: {
@@ -1625,6 +2681,7 @@ export interface ResPartner {
1625
2681
  readonly parent: F.Many2one<'res.partner'>;
1626
2682
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
1627
2683
  readonly email: F.Char;
2684
+ readonly lang: F.Selection<'en' | 'bn'>;
1628
2685
  readonly phone: F.Char;
1629
2686
  readonly mobile: F.Char;
1630
2687
  readonly website: F.Char;
@@ -1638,13 +2695,17 @@ export interface ResPartner {
1638
2695
  readonly isVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1639
2696
  readonly currency: F.Many2one<'res.currency'>;
1640
2697
  readonly notes: F.Text;
2698
+ readonly sendInvoicesByEmail: F.Bool<{ readonly required: true; readonly default: true }>; // accounting
1641
2699
  readonly withholdings: F.Many2many<'account.withholding', { readonly required: true }>; // accounting
2700
+ readonly receivableAccount: F.Many2one<'account.account'>; // accounting
2701
+ readonly payableAccount: F.Many2one<'account.account'>; // accounting
2702
+ readonly fiscalPosition: F.Many2one<'account.fiscal.position'>; // accounting
1642
2703
  };
1643
2704
  readonly methods: ResPartnerMethods;
1644
2705
  }
1645
2706
 
1646
2707
  /** Methods of `res.partner`: declared ones and transitions. */
1647
- export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
2708
+ export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
1648
2709
  }
1649
2710
 
1650
2711
  /** `res.partner.tag` (owner: contacts). */
@@ -1666,6 +2727,29 @@ export interface ResPartnerTag {
1666
2727
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1667
2728
  }
1668
2729
 
2730
+ /** `res.segment` (owner: permissions). */
2731
+ export interface ResSegment {
2732
+ readonly name: 'res.segment';
2733
+ readonly fields: {
2734
+ readonly id: F.Id<'res.segment'>;
2735
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2736
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2737
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2738
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2739
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2740
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2741
+ readonly name: F.Char<{ readonly required: true }>;
2742
+ readonly code: F.Char;
2743
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
2744
+ readonly note: F.Text;
2745
+ };
2746
+ readonly methods: ResSegmentMethods;
2747
+ }
2748
+
2749
+ /** Methods of `res.segment`: declared ones and transitions. */
2750
+ export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
2751
+ }
2752
+
1669
2753
  /** `res.users` (owner: base). */
1670
2754
  export interface ResUsers {
1671
2755
  readonly name: 'res.users';
@@ -1749,6 +2833,59 @@ export interface StockCountLine {
1749
2833
  export interface StockCountLineMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.count.line'> {
1750
2834
  }
1751
2835
 
2836
+ /** `stock.landed.cost` (owner: stock_account). */
2837
+ export interface StockLandedCost {
2838
+ readonly name: 'stock.landed.cost';
2839
+ readonly fields: {
2840
+ readonly id: F.Id<'stock.landed.cost'>;
2841
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2842
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2843
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2844
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2845
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2846
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2847
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
2848
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
2849
+ readonly pickings: F.Many2many<'stock.picking', { readonly required: true }>;
2850
+ readonly lines: F.One2many<'stock.landed.cost.line', { readonly required: true }>;
2851
+ readonly vendorBill: F.Many2one<'account.move'>;
2852
+ readonly move: F.Many2one<'account.move'>;
2853
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2854
+ readonly note: F.Text;
2855
+ readonly state: F.State<'draft' | 'posted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2856
+ };
2857
+ readonly methods: StockLandedCostMethods;
2858
+ }
2859
+
2860
+ /** Methods of `stock.landed.cost`: declared ones and transitions. */
2861
+ export interface StockLandedCostMethods extends F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'stock.landed.cost'> {
2862
+ readonly 'cancel': () => Promise<void>;
2863
+ readonly 'post': () => Promise<void>;
2864
+ }
2865
+
2866
+ /** `stock.landed.cost.line` (owner: stock_account). */
2867
+ export interface StockLandedCostLine {
2868
+ readonly name: 'stock.landed.cost.line';
2869
+ readonly fields: {
2870
+ readonly id: F.Id<'stock.landed.cost.line'>;
2871
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2872
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2873
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2874
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2875
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2876
+ readonly cost: F.Many2one<'stock.landed.cost', { readonly required: true }>;
2877
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2878
+ readonly name: F.Char;
2879
+ readonly amount: F.Decimal<{ readonly required: true; readonly default: true }>;
2880
+ readonly split: F.Selection<'quantity' | 'weight' | 'volume' | 'value' | 'equal', { readonly required: true; readonly default: true }>;
2881
+ };
2882
+ readonly methods: StockLandedCostLineMethods;
2883
+ }
2884
+
2885
+ /** Methods of `stock.landed.cost.line`: declared ones and transitions. */
2886
+ export interface StockLandedCostLineMethods extends F.Methods<typeof import('../../stock_account/index.js').stockAccountShutro, 'stock.landed.cost.line'> {
2887
+ }
2888
+
1752
2889
  /** `stock.location` (owner: stock). */
1753
2890
  export interface StockLocation {
1754
2891
  readonly name: 'stock.location';
@@ -1766,7 +2903,8 @@ export interface StockLocation {
1766
2903
  readonly parentPath: F.Char<{ readonly readonly: true }>;
1767
2904
  readonly children: F.One2many<'stock.location', { readonly required: true }>;
1768
2905
  readonly warehouse: F.Many2one<'stock.warehouse'>;
1769
- readonly usage: F.Selection<'internal' | 'vendor' | 'customer' | 'adjustment' | 'production' | 'transit', { readonly required: true; readonly default: true }>;
2906
+ readonly usage: F.Selection<'internal' | 'vendor' | 'customer' | 'adjustment' | 'production' | 'transit' | 'consumption', { readonly required: true; readonly default: true }>;
2907
+ readonly transit: F.Bool<{ readonly required: true; readonly default: true }>;
1770
2908
  readonly step: F.Selection<'input' | 'quality' | 'packing' | 'output'>;
1771
2909
  readonly fullName: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1772
2910
  };
@@ -1844,6 +2982,8 @@ export interface StockMove {
1844
2982
  readonly uom: F.Many2one<'uom.uom'>;
1845
2983
  readonly productQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1846
2984
  readonly quantityDone: F.Decimal;
2985
+ readonly returnOf: F.Many2one<'stock.move'>;
2986
+ readonly returns: F.One2many<'stock.move', { readonly required: true }>;
1847
2987
  readonly doneQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1848
2988
  readonly restrictLot: F.Many2one<'stock.lot'>;
1849
2989
  readonly procurement: F.Char;
@@ -1883,8 +3023,29 @@ export interface StockPicking {
1883
3023
  readonly moves: F.One2many<'stock.move', { readonly required: true }>;
1884
3024
  readonly lotLines: F.One2many<'stock.lot.line', { readonly required: true }>;
1885
3025
  readonly count: F.Many2one<'stock.count'>;
3026
+ readonly responsible: F.Many2one<'res.users'>;
3027
+ readonly carrier: F.Char;
3028
+ readonly trackingRef: F.Char;
3029
+ readonly weight: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
3030
+ readonly vehicleNumber: F.Char;
3031
+ readonly driverName: F.Char;
3032
+ readonly driverMobile: F.Char;
3033
+ readonly transporter: F.Many2one<'res.partner'>;
3034
+ readonly transportDate: F.DateOnly;
3035
+ readonly gateIn: F.Datetime;
3036
+ readonly gateOut: F.Datetime;
3037
+ readonly freightAmount: F.Decimal;
3038
+ readonly deductFromSupplier: F.Bool<{ readonly required: true; readonly default: true }>;
3039
+ readonly supplierDeduction: F.Decimal;
3040
+ readonly charges: F.One2many<'stock.picking.charge', { readonly required: true }>;
3041
+ readonly extras: F.One2many<'stock.picking.extra', { readonly required: true }>;
3042
+ readonly gateNote: F.Text;
3043
+ readonly remarks: F.Text;
1886
3044
  readonly backorderOf: F.Many2one<'stock.picking'>;
1887
3045
  readonly backorders: F.One2many<'stock.picking', { readonly required: true }>;
3046
+ readonly returnOf: F.Many2one<'stock.picking'>;
3047
+ readonly returns: F.One2many<'stock.picking', { readonly required: true }>;
3048
+ readonly returnReason: F.Many2one<'stock.return.reason'>;
1888
3049
  readonly next: F.Many2one<'stock.picking'>;
1889
3050
  readonly previousSteps: F.One2many<'stock.picking', { readonly required: true }>;
1890
3051
  readonly availability: F.Selection<'none' | 'partial' | 'full', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -1906,6 +3067,51 @@ export interface StockPickingMethods extends F.Methods<typeof import('../../stoc
1906
3067
  readonly 'validate': () => Promise<void>;
1907
3068
  }
1908
3069
 
3070
+ /** `stock.picking.charge` (owner: stock). */
3071
+ export interface StockPickingCharge {
3072
+ readonly name: 'stock.picking.charge';
3073
+ readonly fields: {
3074
+ readonly id: F.Id<'stock.picking.charge'>;
3075
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3076
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3077
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
3078
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
3079
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
3080
+ readonly picking: F.Many2one<'stock.picking', { readonly required: true }>;
3081
+ readonly name: F.Char<{ readonly required: true }>;
3082
+ readonly kind: F.Selection<'addition' | 'deduction', { readonly required: true; readonly default: true }>;
3083
+ readonly amount: F.Decimal<{ readonly required: true; readonly default: true }>;
3084
+ };
3085
+ readonly methods: StockPickingChargeMethods;
3086
+ }
3087
+
3088
+ /** Methods of `stock.picking.charge`: declared ones and transitions. */
3089
+ export interface StockPickingChargeMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.picking.charge'> {
3090
+ }
3091
+
3092
+ /** `stock.picking.extra` (owner: stock). */
3093
+ export interface StockPickingExtra {
3094
+ readonly name: 'stock.picking.extra';
3095
+ readonly fields: {
3096
+ readonly id: F.Id<'stock.picking.extra'>;
3097
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3098
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3099
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
3100
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
3101
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
3102
+ readonly picking: F.Many2one<'stock.picking', { readonly required: true }>;
3103
+ readonly product: F.Many2one<'product.product'>;
3104
+ readonly name: F.Char<{ readonly required: true }>;
3105
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
3106
+ readonly note: F.Char;
3107
+ };
3108
+ readonly methods: StockPickingExtraMethods;
3109
+ }
3110
+
3111
+ /** Methods of `stock.picking.extra`: declared ones and transitions. */
3112
+ export interface StockPickingExtraMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.picking.extra'> {
3113
+ }
3114
+
1909
3115
  /** `stock.putaway` (owner: stock). */
1910
3116
  export interface StockPutaway {
1911
3117
  readonly name: 'stock.putaway';
@@ -2018,6 +3224,28 @@ export interface StockReservation {
2018
3224
  export interface StockReservationMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.reservation'> {
2019
3225
  }
2020
3226
 
3227
+ /** `stock.return.reason` (owner: stock). */
3228
+ export interface StockReturnReason {
3229
+ readonly name: 'stock.return.reason';
3230
+ readonly fields: {
3231
+ readonly id: F.Id<'stock.return.reason'>;
3232
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3233
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
3234
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
3235
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
3236
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
3237
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
3238
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
3239
+ readonly sequence: F.Integer<{ readonly default: true }>;
3240
+ readonly code: F.Char;
3241
+ };
3242
+ readonly methods: StockReturnReasonMethods;
3243
+ }
3244
+
3245
+ /** Methods of `stock.return.reason`: declared ones and transitions. */
3246
+ export interface StockReturnReasonMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.return.reason'> {
3247
+ }
3248
+
2021
3249
  /** `stock.scrap` (owner: stock). */
2022
3250
  export interface StockScrap {
2023
3251
  readonly name: 'stock.scrap';