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: a7db9609fdcaa63d
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c2cf7a3dfdee5f57
2
2
  // Schema view of module `purchase_stock` (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,6 +6,7 @@ import type { F } from '../../server/orm.js';
6
6
  export interface SchemaView {
7
7
  readonly 'account.tax': AccountTax;
8
8
  readonly 'approval.delegation': ApprovalDelegation;
9
+ readonly 'approval.event': ApprovalEvent;
9
10
  readonly 'approval.level': ApprovalLevel;
10
11
  readonly 'approval.link': ApprovalLink;
11
12
  readonly 'approval.policy': ApprovalPolicy;
@@ -32,14 +33,38 @@ export interface SchemaView {
32
33
  readonly 'oauth.code': OauthCode;
33
34
  readonly 'oauth.grant': OauthGrant;
34
35
  readonly 'oauth.token': OauthToken;
36
+ readonly 'product.attribute': ProductAttribute;
37
+ readonly 'product.attribute.value': ProductAttributeValue;
35
38
  readonly 'product.category': ProductCategory;
39
+ readonly 'product.pricelist': ProductPricelist;
40
+ readonly 'product.pricelist.rule': ProductPricelistRule;
36
41
  readonly 'product.product': ProductProduct;
42
+ readonly 'product.template': ProductTemplate;
43
+ readonly 'product.template.exclusion': ProductTemplateExclusion;
44
+ readonly 'product.template.line': ProductTemplateLine;
45
+ readonly 'product.vendor.price': ProductVendorPrice;
46
+ readonly 'purchase.agreement': PurchaseAgreement;
47
+ readonly 'purchase.agreement.line': PurchaseAgreementLine;
48
+ readonly 'purchase.comparison': PurchaseComparison;
49
+ readonly 'purchase.comparison.line': PurchaseComparisonLine;
37
50
  readonly 'purchase.order': PurchaseOrder;
38
51
  readonly 'purchase.order.line': PurchaseOrderLine;
52
+ readonly 'purchase.request': PurchaseRequest;
53
+ readonly 'purchase.request.line': PurchaseRequestLine;
54
+ readonly 'purchase.technical.comparison': PurchaseTechnicalComparison;
55
+ readonly 'purchase.technical.comparison.line': PurchaseTechnicalComparisonLine;
56
+ readonly 'purchase.tender': PurchaseTender;
57
+ readonly 'purchase.tender.line': PurchaseTenderLine;
58
+ readonly 'purchase.tender.response': PurchaseTenderResponse;
59
+ readonly 'purchase.tender.response.line': PurchaseTenderResponseLine;
60
+ readonly 'purchase.vendor.request': PurchaseVendorRequest;
61
+ readonly 'purchase.work.acceptance': PurchaseWorkAcceptance;
62
+ readonly 'purchase.work.acceptance.line': PurchaseWorkAcceptanceLine;
39
63
  readonly 'res.company': ResCompany;
40
64
  readonly 'res.currency': ResCurrency;
41
65
  readonly 'res.partner': ResPartner;
42
66
  readonly 'res.partner.tag': ResPartnerTag;
67
+ readonly 'res.segment': ResSegment;
43
68
  readonly 'res.users': ResUsers;
44
69
  readonly 'stock.count': StockCount;
45
70
  readonly 'stock.count.line': StockCountLine;
@@ -48,10 +73,13 @@ export interface SchemaView {
48
73
  readonly 'stock.lot.line': StockLotLine;
49
74
  readonly 'stock.move': StockMove;
50
75
  readonly 'stock.picking': StockPicking;
76
+ readonly 'stock.picking.charge': StockPickingCharge;
77
+ readonly 'stock.picking.extra': StockPickingExtra;
51
78
  readonly 'stock.putaway': StockPutaway;
52
79
  readonly 'stock.quant': StockQuant;
53
80
  readonly 'stock.reorder': StockReorder;
54
81
  readonly 'stock.reservation': StockReservation;
82
+ readonly 'stock.return.reason': StockReturnReason;
55
83
  readonly 'stock.scrap': StockScrap;
56
84
  readonly 'stock.warehouse': StockWarehouse;
57
85
  readonly 'storage.attachment': StorageAttachment;
@@ -109,6 +137,29 @@ export interface ApprovalDelegation {
109
137
  export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
110
138
  }
111
139
 
140
+ /** `approval.event` (owner: permissions). */
141
+ export interface ApprovalEvent {
142
+ readonly name: 'approval.event';
143
+ readonly fields: {
144
+ readonly id: F.Id<'approval.event'>;
145
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
146
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
147
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
148
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
149
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
150
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
151
+ readonly at: F.Datetime<{ readonly required: true }>;
152
+ readonly user: F.Many2one<'res.users'>;
153
+ readonly kind: F.Selection<'created' | 'started' | 'voted' | 'approved' | 'rejected' | 'sent_back' | 'cancelled' | 'skipped' | 'reminded' | 'escalated' | 'auto' | 'reassigned' | 'synced' | 'notified', { readonly required: true }>;
154
+ readonly note: F.Text;
155
+ };
156
+ readonly methods: ApprovalEventMethods;
157
+ }
158
+
159
+ /** Methods of `approval.event`: declared ones and transitions. */
160
+ export interface ApprovalEventMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.event'> {
161
+ }
162
+
112
163
  /** `approval.level` (owner: permissions). */
113
164
  export interface ApprovalLevel {
114
165
  readonly name: 'approval.level';
@@ -123,7 +174,9 @@ export interface ApprovalLevel {
123
174
  readonly sequence: F.Integer<{ readonly default: true }>;
124
175
  readonly name: F.Char<{ readonly required: true }>;
125
176
  readonly condition: F.Json;
126
- readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
177
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'department_head' | 'department_approvers' | 'employee' | 'field' | 'record', { readonly required: true; readonly default: true }>;
178
+ readonly extraUsers: F.Many2many<'res.users', { readonly required: true }>;
179
+ readonly backupUsers: F.Many2many<'res.users', { readonly required: true }>;
127
180
  readonly approverRole: F.Char;
128
181
  readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
129
182
  readonly approverField: F.Char;
@@ -177,11 +230,18 @@ export interface ApprovalPolicy {
177
230
  readonly targetModel: F.Char<{ readonly required: true }>;
178
231
  readonly sequence: F.Integer<{ readonly default: true }>;
179
232
  readonly company: F.Many2one<'res.company'>;
233
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
234
+ readonly segment: F.Many2one<'res.segment'>;
180
235
  readonly onApproved: F.Char;
181
236
  readonly onRejected: F.Char;
182
237
  readonly onSentBack: F.Char;
183
238
  readonly onWithdrawn: F.Char;
184
239
  readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
240
+ readonly condition: F.Json;
241
+ readonly whenNobody: F.Selection<'refuse' | 'admins' | 'skip', { readonly required: true; readonly default: true }>;
242
+ readonly skipDuplicates: F.Bool<{ readonly required: true; readonly default: true }>;
243
+ readonly syncPending: F.Selection<'off' | 'add' | 'replace', { readonly required: true; readonly default: true }>;
244
+ readonly notifyOnSync: F.Bool<{ readonly required: true; readonly default: true }>;
185
245
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
186
246
  };
187
247
  readonly methods: ApprovalPolicyMethods;
@@ -210,6 +270,7 @@ export interface ApprovalRequest {
210
270
  readonly company: F.Many2one<'res.company'>;
211
271
  readonly approverRole: F.Char;
212
272
  readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
273
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
213
274
  readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
214
275
  readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
215
276
  readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
@@ -217,6 +278,8 @@ export interface ApprovalRequest {
217
278
  readonly remindedAt: F.Datetime;
218
279
  readonly escalatedTo: F.Char;
219
280
  readonly escalatedAt: F.Datetime;
281
+ readonly startedAt: F.Datetime;
282
+ readonly explanation: F.Text;
220
283
  readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
221
284
  readonly requestedBy: F.Many2one<'res.users'>;
222
285
  readonly decidedBy: F.Many2one<'res.users'>;
@@ -247,6 +310,8 @@ export interface ApprovalVote {
247
310
  readonly at: F.Datetime<{ readonly required: true }>;
248
311
  readonly onBehalfOf: F.Many2one<'res.users'>;
249
312
  readonly ip: F.Char;
313
+ readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
314
+ readonly asBackup: F.Bool<{ readonly required: true; readonly default: true }>;
250
315
  };
251
316
  readonly methods: ApprovalVoteMethods;
252
317
  }
@@ -768,6 +833,53 @@ export interface OauthToken {
768
833
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
769
834
  }
770
835
 
836
+ /** `product.attribute` (owner: product). */
837
+ export interface ProductAttribute {
838
+ readonly name: 'product.attribute';
839
+ readonly fields: {
840
+ readonly id: F.Id<'product.attribute'>;
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 active: F.Bool<{ readonly required: true; readonly default: true }>;
847
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
848
+ readonly display: F.Selection<'list' | 'radio' | 'swatch' | 'size', { readonly required: true; readonly default: true }>;
849
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
850
+ readonly values: F.One2many<'product.attribute.value', { readonly required: true }>;
851
+ };
852
+ readonly methods: ProductAttributeMethods;
853
+ }
854
+
855
+ /** Methods of `product.attribute`: declared ones and transitions. */
856
+ export interface ProductAttributeMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute'> {
857
+ }
858
+
859
+ /** `product.attribute.value` (owner: product). */
860
+ export interface ProductAttributeValue {
861
+ readonly name: 'product.attribute.value';
862
+ readonly fields: {
863
+ readonly id: F.Id<'product.attribute.value'>;
864
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
865
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
866
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
867
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
868
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
869
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
870
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
871
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
872
+ readonly color: F.Char;
873
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
874
+ readonly extraPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
875
+ };
876
+ readonly methods: ProductAttributeValueMethods;
877
+ }
878
+
879
+ /** Methods of `product.attribute.value`: declared ones and transitions. */
880
+ export interface ProductAttributeValueMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute.value'> {
881
+ }
882
+
771
883
  /** `product.category` (owner: product). */
772
884
  export interface ProductCategory {
773
885
  readonly name: 'product.category';
@@ -781,6 +893,7 @@ export interface ProductCategory {
781
893
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
782
894
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
783
895
  readonly parent: F.Many2one<'product.category'>;
896
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
784
897
  };
785
898
  readonly methods: ProductCategoryMethods;
786
899
  }
@@ -789,6 +902,66 @@ export interface ProductCategory {
789
902
  export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
790
903
  }
791
904
 
905
+ /** `product.pricelist` (owner: product). */
906
+ export interface ProductPricelist {
907
+ readonly name: 'product.pricelist';
908
+ readonly fields: {
909
+ readonly id: F.Id<'product.pricelist'>;
910
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
911
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
912
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
913
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
914
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
915
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
916
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
917
+ readonly sequence: F.Integer<{ readonly default: true }>;
918
+ readonly currency: F.Many2one<'res.currency'>;
919
+ readonly company: F.Many2one<'res.company'>;
920
+ readonly rules: F.One2many<'product.pricelist.rule', { readonly required: true }>;
921
+ readonly note: F.Text;
922
+ };
923
+ readonly methods: ProductPricelistMethods;
924
+ }
925
+
926
+ /** Methods of `product.pricelist`: declared ones and transitions. */
927
+ export interface ProductPricelistMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist'> {
928
+ }
929
+
930
+ /** `product.pricelist.rule` (owner: product). */
931
+ export interface ProductPricelistRule {
932
+ readonly name: 'product.pricelist.rule';
933
+ readonly fields: {
934
+ readonly id: F.Id<'product.pricelist.rule'>;
935
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
936
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
937
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
938
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
939
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
940
+ readonly pricelist: F.Many2one<'product.pricelist', { readonly required: true }>;
941
+ readonly sequence: F.Integer<{ readonly default: true }>;
942
+ readonly appliesTo: F.Selection<'all' | 'category' | 'product', { readonly required: true; readonly default: true }>;
943
+ readonly product: F.Many2one<'product.product'>;
944
+ readonly category: F.Many2one<'product.category'>;
945
+ readonly minQuantity: F.Decimal<{ readonly default: true }>;
946
+ readonly dateFrom: F.DateOnly;
947
+ readonly dateTo: F.DateOnly;
948
+ readonly compute: F.Selection<'fixed' | 'discount' | 'formula', { readonly required: true; readonly default: true }>;
949
+ readonly fixedPrice: F.Decimal;
950
+ readonly base: F.Selection<'list' | 'cost' | 'pricelist', { readonly required: true; readonly default: true }>;
951
+ readonly basePricelist: F.Many2one<'product.pricelist'>;
952
+ readonly discount: F.Decimal<{ readonly default: true }>;
953
+ readonly surcharge: F.Decimal<{ readonly default: true }>;
954
+ readonly rounding: F.Decimal<{ readonly default: true }>;
955
+ readonly minMargin: F.Decimal;
956
+ readonly maxMargin: F.Decimal;
957
+ };
958
+ readonly methods: ProductPricelistRuleMethods;
959
+ }
960
+
961
+ /** Methods of `product.pricelist.rule`: declared ones and transitions. */
962
+ export interface ProductPricelistRuleMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist.rule'> {
963
+ }
964
+
792
965
  /** `product.product` (owner: product; extended by: stock). */
793
966
  export interface ProductProduct {
794
967
  readonly name: 'product.product';
@@ -804,8 +977,11 @@ export interface ProductProduct {
804
977
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
805
978
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
806
979
  readonly category: F.Many2one<'product.category'>;
980
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
807
981
  readonly uom: F.Many2one<'uom.uom'>;
808
982
  readonly barcode: F.Char;
983
+ readonly weight: F.Decimal;
984
+ readonly volume: F.Decimal;
809
985
  readonly image: F.Many2one<'storage.attachment'>;
810
986
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
811
987
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -816,6 +992,9 @@ export interface ProductProduct {
816
992
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
817
993
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
818
994
  readonly description: F.Text<{ readonly translate: true }>;
995
+ readonly template: F.Many2one<'product.template'>;
996
+ readonly attributeValues: F.Many2many<'product.attribute.value', { readonly required: true }>;
997
+ readonly followsTemplatePrice: F.Bool<{ readonly required: true; readonly default: true }>;
819
998
  readonly tracking: F.Selection<'none' | 'lot' | 'serial', { readonly required: true; readonly default: true }>; // stock
820
999
  readonly lots: F.One2many<'stock.lot', { readonly required: true }>; // stock
821
1000
  readonly quants: F.One2many<'stock.quant', { readonly required: true }>; // stock
@@ -830,6 +1009,244 @@ export interface ProductProduct {
830
1009
  export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../../stock/index.js').stockShutro, 'product.product'> {
831
1010
  }
832
1011
 
1012
+ /** `product.template` (owner: product). */
1013
+ export interface ProductTemplate {
1014
+ readonly name: 'product.template';
1015
+ readonly fields: {
1016
+ readonly id: F.Id<'product.template'>;
1017
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1018
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1019
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1020
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1021
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1022
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1023
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1024
+ readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1025
+ readonly category: F.Many2one<'product.category'>;
1026
+ readonly uom: F.Many2one<'uom.uom'>;
1027
+ readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1028
+ readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1029
+ readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
1030
+ readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
1031
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1032
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
1033
+ readonly image: F.Many2one<'storage.attachment'>;
1034
+ readonly description: F.Text<{ readonly translate: true }>;
1035
+ readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
1036
+ readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
1037
+ readonly variants: F.One2many<'product.product', { readonly required: true }>;
1038
+ readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1039
+ readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
1040
+ };
1041
+ readonly methods: ProductTemplateMethods;
1042
+ }
1043
+
1044
+ /** Methods of `product.template`: declared ones and transitions. */
1045
+ export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
1046
+ readonly 'generate': () => Promise<void>;
1047
+ }
1048
+
1049
+ /** `product.template.exclusion` (owner: product). */
1050
+ export interface ProductTemplateExclusion {
1051
+ readonly name: 'product.template.exclusion';
1052
+ readonly fields: {
1053
+ readonly id: F.Id<'product.template.exclusion'>;
1054
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1055
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1056
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1057
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1058
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1059
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1060
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1061
+ readonly note: F.Char;
1062
+ };
1063
+ readonly methods: ProductTemplateExclusionMethods;
1064
+ }
1065
+
1066
+ /** Methods of `product.template.exclusion`: declared ones and transitions. */
1067
+ export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
1068
+ }
1069
+
1070
+ /** `product.template.line` (owner: product). */
1071
+ export interface ProductTemplateLine {
1072
+ readonly name: 'product.template.line';
1073
+ readonly fields: {
1074
+ readonly id: F.Id<'product.template.line'>;
1075
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1076
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1077
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1078
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1079
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1080
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1081
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1082
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1083
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1084
+ };
1085
+ readonly methods: ProductTemplateLineMethods;
1086
+ }
1087
+
1088
+ /** Methods of `product.template.line`: declared ones and transitions. */
1089
+ export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
1090
+ }
1091
+
1092
+ /** `product.vendor.price` (owner: purchase). */
1093
+ export interface ProductVendorPrice {
1094
+ readonly name: 'product.vendor.price';
1095
+ readonly fields: {
1096
+ readonly id: F.Id<'product.vendor.price'>;
1097
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1098
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1099
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1100
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1101
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1102
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1103
+ readonly company: F.Many2one<'res.company', { readonly default: true }>;
1104
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1105
+ readonly product: F.Many2one<'product.product'>;
1106
+ readonly category: F.Many2one<'product.category'>;
1107
+ readonly vendorCode: F.Char;
1108
+ readonly vendorName: F.Char;
1109
+ readonly currency: F.Many2one<'res.currency'>;
1110
+ readonly minQuantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1111
+ readonly price: F.Decimal<{ readonly required: true }>;
1112
+ readonly dateFrom: F.DateOnly;
1113
+ readonly dateTo: F.DateOnly;
1114
+ readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
1115
+ readonly preferred: F.Bool<{ readonly required: true; readonly default: true }>;
1116
+ readonly sequence: F.Integer<{ readonly default: true }>;
1117
+ };
1118
+ readonly methods: ProductVendorPriceMethods;
1119
+ }
1120
+
1121
+ /** Methods of `product.vendor.price`: declared ones and transitions. */
1122
+ export interface ProductVendorPriceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'product.vendor.price'> {
1123
+ }
1124
+
1125
+ /** `purchase.agreement` (owner: purchase). */
1126
+ export interface PurchaseAgreement {
1127
+ readonly name: 'purchase.agreement';
1128
+ readonly fields: {
1129
+ readonly id: F.Id<'purchase.agreement'>;
1130
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1131
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1132
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1133
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1134
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1135
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1136
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1137
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1138
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1139
+ readonly kind: F.Selection<'blanket' | 'contract', { readonly required: true; readonly default: true }>;
1140
+ readonly reference: F.Char;
1141
+ readonly dateStart: F.DateOnly;
1142
+ readonly dateEnd: F.DateOnly;
1143
+ readonly currency: F.Many2one<'res.currency'>;
1144
+ readonly note: F.Text;
1145
+ readonly lines: F.One2many<'purchase.agreement.line', { readonly required: true }>;
1146
+ readonly orders: F.One2many<'purchase.order', { readonly required: true }>;
1147
+ readonly state: F.State<'draft' | 'confirmed' | 'closed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1148
+ };
1149
+ readonly methods: PurchaseAgreementMethods;
1150
+ }
1151
+
1152
+ /** Methods of `purchase.agreement`: declared ones and transitions. */
1153
+ export interface PurchaseAgreementMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement'> {
1154
+ readonly 'cancel': () => Promise<void>;
1155
+ readonly 'close': () => Promise<void>;
1156
+ readonly 'confirm': () => Promise<void>;
1157
+ readonly 'redraft': () => Promise<void>;
1158
+ }
1159
+
1160
+ /** `purchase.agreement.line` (owner: purchase). */
1161
+ export interface PurchaseAgreementLine {
1162
+ readonly name: 'purchase.agreement.line';
1163
+ readonly fields: {
1164
+ readonly id: F.Id<'purchase.agreement.line'>;
1165
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1166
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1167
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1168
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1169
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1170
+ readonly agreement: F.Many2one<'purchase.agreement', { readonly required: true }>;
1171
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1172
+ readonly name: F.Char;
1173
+ readonly quantity: F.Decimal;
1174
+ readonly uom: F.Many2one<'uom.uom'>;
1175
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1176
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1177
+ };
1178
+ readonly methods: PurchaseAgreementLineMethods;
1179
+ }
1180
+
1181
+ /** Methods of `purchase.agreement.line`: declared ones and transitions. */
1182
+ export interface PurchaseAgreementLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement.line'> {
1183
+ }
1184
+
1185
+ /** `purchase.comparison` (owner: purchase). */
1186
+ export interface PurchaseComparison {
1187
+ readonly name: 'purchase.comparison';
1188
+ readonly fields: {
1189
+ readonly id: F.Id<'purchase.comparison'>;
1190
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1191
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1192
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1193
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1194
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1195
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1196
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1197
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1198
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1199
+ readonly expiryDate: F.DateOnly;
1200
+ readonly dateDelivery: F.DateOnly;
1201
+ readonly multiVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1202
+ readonly note: F.Text;
1203
+ readonly lines: F.One2many<'purchase.comparison.line', { readonly required: true }>;
1204
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1205
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1206
+ };
1207
+ readonly methods: PurchaseComparisonMethods;
1208
+ }
1209
+
1210
+ /** Methods of `purchase.comparison`: declared ones and transitions. */
1211
+ export interface PurchaseComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison'> {
1212
+ readonly 'approve': () => Promise<void>;
1213
+ readonly 'cancel': () => Promise<void>;
1214
+ readonly 'confirm': () => Promise<void>;
1215
+ readonly 'fill': () => Promise<void>;
1216
+ readonly 'redraft': () => Promise<void>;
1217
+ readonly 'reject': () => Promise<void>;
1218
+ readonly 'submit': () => Promise<void>;
1219
+ }
1220
+
1221
+ /** `purchase.comparison.line` (owner: purchase). */
1222
+ export interface PurchaseComparisonLine {
1223
+ readonly name: 'purchase.comparison.line';
1224
+ readonly fields: {
1225
+ readonly id: F.Id<'purchase.comparison.line'>;
1226
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1227
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1228
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1229
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1230
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1231
+ readonly comparison: F.Many2one<'purchase.comparison', { readonly required: true }>;
1232
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
1233
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1234
+ readonly csQty: F.Decimal<{ readonly required: true; readonly default: true }>;
1235
+ readonly quote: F.Decimal<{ readonly required: true; readonly default: true }>;
1236
+ readonly nego1: F.Decimal;
1237
+ readonly nego2: F.Decimal;
1238
+ readonly finalPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1239
+ readonly total: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1240
+ readonly selected: F.Bool<{ readonly required: true; readonly default: true }>;
1241
+ readonly lowest: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
1242
+ };
1243
+ readonly methods: PurchaseComparisonLineMethods;
1244
+ }
1245
+
1246
+ /** Methods of `purchase.comparison.line`: declared ones and transitions. */
1247
+ export interface PurchaseComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison.line'> {
1248
+ }
1249
+
833
1250
  /** `purchase.order` (owner: purchase; extended by: purchase_stock). */
834
1251
  export interface PurchaseOrder {
835
1252
  readonly name: 'purchase.order';
@@ -850,12 +1267,19 @@ export interface PurchaseOrder {
850
1267
  readonly datePlanned: F.DateOnly;
851
1268
  readonly origin: F.Char;
852
1269
  readonly note: F.Text;
1270
+ readonly poType: F.Selection<'general' | 'service' | 'capital', { readonly required: true; readonly default: true }>;
1271
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
1272
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
1273
+ readonly agreement: F.Many2one<'purchase.agreement'>;
1274
+ readonly acceptances: F.One2many<'purchase.work.acceptance', { readonly required: true }>;
1275
+ readonly acceptanceCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
853
1276
  readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
854
1277
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
855
1278
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
856
1279
  readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
857
1280
  readonly state: F.State<'draft' | 'sent' | 'to_approve' | 'purchase' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
858
1281
  readonly receipts: F.One2many<'stock.picking', { readonly required: true }>; // purchase_stock
1282
+ readonly vendorOnTime: F.Char<{ readonly readonly: true; readonly compute: true }>; // purchase_stock
859
1283
  readonly dropship: F.Bool<{ readonly required: true; readonly default: true }>; // purchase_stock
860
1284
  readonly warehouse: F.Many2one<'stock.warehouse'>; // purchase_stock
861
1285
  readonly receiptState: F.Selection<'nothing' | 'to_receive' | 'partial' | 'received', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
@@ -890,13 +1314,20 @@ export interface PurchaseOrderLine {
890
1314
  readonly name: F.Char<{ readonly required: true }>;
891
1315
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
892
1316
  readonly uom: F.Many2one<'uom.uom'>;
893
- readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1317
+ readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
1318
+ readonly manualPrice: F.Decimal;
1319
+ readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1320
+ readonly vendorCode: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
894
1321
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
895
1322
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
896
1323
  readonly datePlanned: F.DateOnly;
1324
+ readonly acceptanceLines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
1325
+ readonly qtyAccepted: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1326
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
897
1327
  readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
898
1328
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
899
1329
  readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1330
+ readonly qtyReturned: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
900
1331
  readonly moves: F.One2many<'stock.move', { readonly required: true }>; // purchase_stock
901
1332
  readonly qtyReceived: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
902
1333
  };
@@ -907,6 +1338,366 @@ export interface PurchaseOrderLine {
907
1338
  export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'>, F.Methods<typeof import('../module.js').purchaseStockShutro, 'purchase.order.line'> {
908
1339
  }
909
1340
 
1341
+ /** `purchase.request` (owner: purchase). */
1342
+ export interface PurchaseRequest {
1343
+ readonly name: 'purchase.request';
1344
+ readonly fields: {
1345
+ readonly id: F.Id<'purchase.request'>;
1346
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1347
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1348
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1349
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1350
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1351
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1352
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1353
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1354
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1355
+ readonly dateRequired: F.DateOnly<{ readonly required: true; readonly default: true }>;
1356
+ readonly priority: F.Selection<'normal' | 'high' | 'urgent' | 'critical', { readonly required: true; readonly default: true }>;
1357
+ readonly vendor: F.Many2one<'res.partner'>;
1358
+ readonly purpose: F.Text;
1359
+ readonly lines: F.One2many<'purchase.request.line', { readonly required: true }>;
1360
+ readonly amountEstimate: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1361
+ readonly rejectReason: F.Char;
1362
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'done' | 'rejected' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1363
+ };
1364
+ readonly methods: PurchaseRequestMethods;
1365
+ }
1366
+
1367
+ /** Methods of `purchase.request`: declared ones and transitions. */
1368
+ export interface PurchaseRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request'> {
1369
+ readonly 'approve': () => Promise<void>;
1370
+ readonly 'cancel': () => Promise<void>;
1371
+ readonly 'close': () => Promise<void>;
1372
+ readonly 'redraft': () => Promise<void>;
1373
+ readonly 'reject': () => Promise<void>;
1374
+ readonly 'rfq': () => Promise<void>;
1375
+ readonly 'submit': () => Promise<void>;
1376
+ readonly 'tender': () => Promise<void>;
1377
+ }
1378
+
1379
+ /** `purchase.request.line` (owner: purchase). */
1380
+ export interface PurchaseRequestLine {
1381
+ readonly name: 'purchase.request.line';
1382
+ readonly fields: {
1383
+ readonly id: F.Id<'purchase.request.line'>;
1384
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1385
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1386
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1387
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1388
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1389
+ readonly request: F.Many2one<'purchase.request', { readonly required: true }>;
1390
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1391
+ readonly name: F.Char;
1392
+ readonly uom: F.Many2one<'uom.uom'>;
1393
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1394
+ readonly qtyApproved: F.Decimal;
1395
+ readonly dateRequired: F.DateOnly;
1396
+ readonly buyers: F.Many2many<'res.users', { readonly required: true }>;
1397
+ readonly purchaseLines: F.One2many<'purchase.order.line', { readonly required: true }>;
1398
+ readonly tenderLines: F.One2many<'purchase.tender.line', { readonly required: true }>;
1399
+ readonly qtyOnRfq: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1400
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1401
+ readonly qtyRemaining: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1402
+ readonly status: F.Selection<'draft' | 'to_approve' | 'approved' | 'rfq' | 'ordered' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1403
+ };
1404
+ readonly methods: PurchaseRequestLineMethods;
1405
+ }
1406
+
1407
+ /** Methods of `purchase.request.line`: declared ones and transitions. */
1408
+ export interface PurchaseRequestLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request.line'> {
1409
+ }
1410
+
1411
+ /** `purchase.technical.comparison` (owner: purchase). */
1412
+ export interface PurchaseTechnicalComparison {
1413
+ readonly name: 'purchase.technical.comparison';
1414
+ readonly fields: {
1415
+ readonly id: F.Id<'purchase.technical.comparison'>;
1416
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1417
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1418
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1419
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1420
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1421
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1422
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1423
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1424
+ readonly engineer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1425
+ readonly kind: F.Selection<'simple' | 'detailed', { readonly required: true; readonly default: true }>;
1426
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1427
+ readonly remarks: F.Text;
1428
+ readonly lines: F.One2many<'purchase.technical.comparison.line', { readonly required: true }>;
1429
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1430
+ };
1431
+ readonly methods: PurchaseTechnicalComparisonMethods;
1432
+ }
1433
+
1434
+ /** Methods of `purchase.technical.comparison`: declared ones and transitions. */
1435
+ export interface PurchaseTechnicalComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison'> {
1436
+ readonly 'approve': () => Promise<void>;
1437
+ readonly 'cancel': () => Promise<void>;
1438
+ readonly 'confirm': () => Promise<void>;
1439
+ readonly 'fill': () => Promise<void>;
1440
+ readonly 'redraft': () => Promise<void>;
1441
+ readonly 'submit': () => Promise<void>;
1442
+ }
1443
+
1444
+ /** `purchase.technical.comparison.line` (owner: purchase). */
1445
+ export interface PurchaseTechnicalComparisonLine {
1446
+ readonly name: 'purchase.technical.comparison.line';
1447
+ readonly fields: {
1448
+ readonly id: F.Id<'purchase.technical.comparison.line'>;
1449
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1450
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1451
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1452
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1453
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1454
+ readonly comparison: F.Many2one<'purchase.technical.comparison', { readonly required: true }>;
1455
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1456
+ readonly score: F.Decimal<{ readonly required: true; readonly default: true }>;
1457
+ readonly meetsSpecifications: F.Bool<{ readonly required: true; readonly default: true }>;
1458
+ readonly note: F.Char;
1459
+ };
1460
+ readonly methods: PurchaseTechnicalComparisonLineMethods;
1461
+ }
1462
+
1463
+ /** Methods of `purchase.technical.comparison.line`: declared ones and transitions. */
1464
+ export interface PurchaseTechnicalComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison.line'> {
1465
+ }
1466
+
1467
+ /** `purchase.tender` (owner: purchase). */
1468
+ export interface PurchaseTender {
1469
+ readonly name: 'purchase.tender';
1470
+ readonly fields: {
1471
+ readonly id: F.Id<'purchase.tender'>;
1472
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1473
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1474
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1475
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1476
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1477
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1478
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1479
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1480
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1481
+ readonly deadline: F.DateOnly<{ readonly required: true }>;
1482
+ readonly dateDelivery: F.DateOnly;
1483
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
1484
+ readonly topic: F.Char;
1485
+ readonly vendors: F.Many2many<'res.partner', { readonly required: true }>;
1486
+ readonly currency: F.Many2one<'res.currency'>;
1487
+ readonly paymentTerms: F.Char;
1488
+ readonly technical: F.Bool<{ readonly required: true; readonly default: true }>;
1489
+ readonly note: F.Text;
1490
+ readonly request: F.Many2one<'purchase.request'>;
1491
+ readonly lines: F.One2many<'purchase.tender.line', { readonly required: true }>;
1492
+ readonly responses: F.One2many<'purchase.tender.response', { readonly required: true }>;
1493
+ readonly responseCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1494
+ readonly state: F.State<'draft' | 'sent' | 'received' | 'comparing' | 'selected' | 'ordered' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1495
+ };
1496
+ readonly methods: PurchaseTenderMethods;
1497
+ }
1498
+
1499
+ /** Methods of `purchase.tender`: declared ones and transitions. */
1500
+ export interface PurchaseTenderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender'> {
1501
+ readonly 'cancel': () => Promise<void>;
1502
+ readonly 'close': () => Promise<void>;
1503
+ readonly 'compare': () => Promise<void>;
1504
+ readonly 'order': () => Promise<void>;
1505
+ readonly 'redraft': () => Promise<void>;
1506
+ readonly 'select': () => Promise<void>;
1507
+ readonly 'send': () => Promise<void>;
1508
+ }
1509
+
1510
+ /** `purchase.tender.line` (owner: purchase). */
1511
+ export interface PurchaseTenderLine {
1512
+ readonly name: 'purchase.tender.line';
1513
+ readonly fields: {
1514
+ readonly id: F.Id<'purchase.tender.line'>;
1515
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1516
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1517
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1518
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1519
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1520
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1521
+ readonly sequence: F.Integer<{ readonly default: true }>;
1522
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1523
+ readonly name: F.Char;
1524
+ readonly uom: F.Many2one<'uom.uom'>;
1525
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1526
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
1527
+ };
1528
+ readonly methods: PurchaseTenderLineMethods;
1529
+ }
1530
+
1531
+ /** Methods of `purchase.tender.line`: declared ones and transitions. */
1532
+ export interface PurchaseTenderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.line'> {
1533
+ }
1534
+
1535
+ /** `purchase.tender.response` (owner: purchase). */
1536
+ export interface PurchaseTenderResponse {
1537
+ readonly name: 'purchase.tender.response';
1538
+ readonly fields: {
1539
+ readonly id: F.Id<'purchase.tender.response'>;
1540
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1541
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1542
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1543
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1544
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1545
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1546
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1547
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1548
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1549
+ readonly responseDate: F.Datetime;
1550
+ readonly dateDelivery: F.DateOnly;
1551
+ readonly paymentTerms: F.Char;
1552
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
1553
+ readonly technicalRank: F.Integer<{ readonly default: true }>;
1554
+ readonly remark: F.Text;
1555
+ readonly lines: F.One2many<'purchase.tender.response.line', { readonly required: true }>;
1556
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1557
+ readonly tokenHash: F.Char;
1558
+ readonly tokenExpiresAt: F.Datetime;
1559
+ readonly state: F.State<'invited' | 'quoted' | 'submitted' | 'not_responded' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
1560
+ };
1561
+ readonly methods: PurchaseTenderResponseMethods;
1562
+ }
1563
+
1564
+ /** Methods of `purchase.tender.response`: declared ones and transitions. */
1565
+ export interface PurchaseTenderResponseMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response'> {
1566
+ readonly 'quote': () => Promise<void>;
1567
+ readonly 'reject': () => Promise<void>;
1568
+ readonly 'reopen': () => Promise<void>;
1569
+ readonly 'submit': () => Promise<void>;
1570
+ readonly 'unanswered': () => Promise<void>;
1571
+ }
1572
+
1573
+ /** `purchase.tender.response.line` (owner: purchase). */
1574
+ export interface PurchaseTenderResponseLine {
1575
+ readonly name: 'purchase.tender.response.line';
1576
+ readonly fields: {
1577
+ readonly id: F.Id<'purchase.tender.response.line'>;
1578
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1579
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1580
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1581
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1582
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1583
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1584
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
1585
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1586
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1587
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1588
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1589
+ readonly note: F.Char;
1590
+ };
1591
+ readonly methods: PurchaseTenderResponseLineMethods;
1592
+ }
1593
+
1594
+ /** Methods of `purchase.tender.response.line`: declared ones and transitions. */
1595
+ export interface PurchaseTenderResponseLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response.line'> {
1596
+ }
1597
+
1598
+ /** `purchase.vendor.request` (owner: purchase). */
1599
+ export interface PurchaseVendorRequest {
1600
+ readonly name: 'purchase.vendor.request';
1601
+ readonly fields: {
1602
+ readonly id: F.Id<'purchase.vendor.request'>;
1603
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1604
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1605
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1606
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1607
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1608
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1609
+ readonly name: F.Char<{ readonly required: true }>;
1610
+ readonly kind: F.Selection<'vendor' | 'contractor' | 'service', { readonly required: true; readonly default: true }>;
1611
+ readonly street: F.Char;
1612
+ readonly street2: F.Char;
1613
+ readonly city: F.Char;
1614
+ readonly zip: F.Char;
1615
+ readonly country: F.Char<{ readonly default: true }>;
1616
+ readonly nid: F.Char;
1617
+ readonly tradeLicense: F.Char;
1618
+ readonly proprietorName: F.Char;
1619
+ readonly proprietorMobile: F.Char;
1620
+ readonly email: F.Char;
1621
+ readonly phone: F.Char;
1622
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1623
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1624
+ readonly partner: F.Many2one<'res.partner'>;
1625
+ readonly rejectReason: F.Char;
1626
+ readonly note: F.Text;
1627
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
1628
+ };
1629
+ readonly methods: PurchaseVendorRequestMethods;
1630
+ }
1631
+
1632
+ /** Methods of `purchase.vendor.request`: declared ones and transitions. */
1633
+ export interface PurchaseVendorRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.vendor.request'> {
1634
+ readonly 'approve': () => Promise<void>;
1635
+ readonly 'redraft': () => Promise<void>;
1636
+ readonly 'reject': () => Promise<void>;
1637
+ readonly 'submit': () => Promise<void>;
1638
+ }
1639
+
1640
+ /** `purchase.work.acceptance` (owner: purchase). */
1641
+ export interface PurchaseWorkAcceptance {
1642
+ readonly name: 'purchase.work.acceptance';
1643
+ readonly fields: {
1644
+ readonly id: F.Id<'purchase.work.acceptance'>;
1645
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1646
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1647
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1648
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1649
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1650
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1651
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1652
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1653
+ readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
1654
+ readonly responsible: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1655
+ readonly invoiceReference: F.Char;
1656
+ readonly dueDate: F.DateOnly<{ readonly required: true; readonly default: true }>;
1657
+ readonly acceptedOn: F.DateOnly;
1658
+ readonly currency: F.Many2one<'res.currency'>;
1659
+ readonly note: F.Text;
1660
+ readonly lines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
1661
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1662
+ readonly state: F.State<'draft' | 'accepted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1663
+ };
1664
+ readonly methods: PurchaseWorkAcceptanceMethods;
1665
+ }
1666
+
1667
+ /** Methods of `purchase.work.acceptance`: declared ones and transitions. */
1668
+ export interface PurchaseWorkAcceptanceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance'> {
1669
+ readonly 'accept': () => Promise<void>;
1670
+ readonly 'cancel': () => Promise<void>;
1671
+ readonly 'fill': () => Promise<void>;
1672
+ readonly 'redraft': () => Promise<void>;
1673
+ }
1674
+
1675
+ /** `purchase.work.acceptance.line` (owner: purchase). */
1676
+ export interface PurchaseWorkAcceptanceLine {
1677
+ readonly name: 'purchase.work.acceptance.line';
1678
+ readonly fields: {
1679
+ readonly id: F.Id<'purchase.work.acceptance.line'>;
1680
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1681
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1682
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1683
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1684
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1685
+ readonly acceptance: F.Many2one<'purchase.work.acceptance', { readonly required: true }>;
1686
+ readonly orderLine: F.Many2one<'purchase.order.line', { readonly required: true }>;
1687
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1688
+ readonly name: F.Char;
1689
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1690
+ readonly uom: F.Many2one<'uom.uom'>;
1691
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1692
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1693
+ };
1694
+ readonly methods: PurchaseWorkAcceptanceLineMethods;
1695
+ }
1696
+
1697
+ /** Methods of `purchase.work.acceptance.line`: declared ones and transitions. */
1698
+ export interface PurchaseWorkAcceptanceLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance.line'> {
1699
+ }
1700
+
910
1701
  /** `res.company` (owner: base; extended by: contacts, purchase). */
911
1702
  export interface ResCompany {
912
1703
  readonly name: 'res.company';
@@ -980,6 +1771,7 @@ export interface ResPartner {
980
1771
  readonly parent: F.Many2one<'res.partner'>;
981
1772
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
982
1773
  readonly email: F.Char;
1774
+ readonly lang: F.Selection<'en' | 'bn'>;
983
1775
  readonly phone: F.Char;
984
1776
  readonly mobile: F.Char;
985
1777
  readonly website: F.Char;
@@ -1020,6 +1812,29 @@ export interface ResPartnerTag {
1020
1812
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1021
1813
  }
1022
1814
 
1815
+ /** `res.segment` (owner: permissions). */
1816
+ export interface ResSegment {
1817
+ readonly name: 'res.segment';
1818
+ readonly fields: {
1819
+ readonly id: F.Id<'res.segment'>;
1820
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1821
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1822
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1823
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1824
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1825
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1826
+ readonly name: F.Char<{ readonly required: true }>;
1827
+ readonly code: F.Char;
1828
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
1829
+ readonly note: F.Text;
1830
+ };
1831
+ readonly methods: ResSegmentMethods;
1832
+ }
1833
+
1834
+ /** Methods of `res.segment`: declared ones and transitions. */
1835
+ export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
1836
+ }
1837
+
1023
1838
  /** `res.users` (owner: base). */
1024
1839
  export interface ResUsers {
1025
1840
  readonly name: 'res.users';
@@ -1120,7 +1935,8 @@ export interface StockLocation {
1120
1935
  readonly parentPath: F.Char<{ readonly readonly: true }>;
1121
1936
  readonly children: F.One2many<'stock.location', { readonly required: true }>;
1122
1937
  readonly warehouse: F.Many2one<'stock.warehouse'>;
1123
- readonly usage: F.Selection<'internal' | 'vendor' | 'customer' | 'adjustment' | 'production' | 'transit', { readonly required: true; readonly default: true }>;
1938
+ readonly usage: F.Selection<'internal' | 'vendor' | 'customer' | 'adjustment' | 'production' | 'transit' | 'consumption', { readonly required: true; readonly default: true }>;
1939
+ readonly transit: F.Bool<{ readonly required: true; readonly default: true }>;
1124
1940
  readonly step: F.Selection<'input' | 'quality' | 'packing' | 'output'>;
1125
1941
  readonly fullName: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1126
1942
  };
@@ -1198,6 +2014,8 @@ export interface StockMove {
1198
2014
  readonly uom: F.Many2one<'uom.uom'>;
1199
2015
  readonly productQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1200
2016
  readonly quantityDone: F.Decimal;
2017
+ readonly returnOf: F.Many2one<'stock.move'>;
2018
+ readonly returns: F.One2many<'stock.move', { readonly required: true }>;
1201
2019
  readonly doneQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1202
2020
  readonly restrictLot: F.Many2one<'stock.lot'>;
1203
2021
  readonly procurement: F.Char;
@@ -1237,8 +2055,29 @@ export interface StockPicking {
1237
2055
  readonly moves: F.One2many<'stock.move', { readonly required: true }>;
1238
2056
  readonly lotLines: F.One2many<'stock.lot.line', { readonly required: true }>;
1239
2057
  readonly count: F.Many2one<'stock.count'>;
2058
+ readonly responsible: F.Many2one<'res.users'>;
2059
+ readonly carrier: F.Char;
2060
+ readonly trackingRef: F.Char;
2061
+ readonly weight: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2062
+ readonly vehicleNumber: F.Char;
2063
+ readonly driverName: F.Char;
2064
+ readonly driverMobile: F.Char;
2065
+ readonly transporter: F.Many2one<'res.partner'>;
2066
+ readonly transportDate: F.DateOnly;
2067
+ readonly gateIn: F.Datetime;
2068
+ readonly gateOut: F.Datetime;
2069
+ readonly freightAmount: F.Decimal;
2070
+ readonly deductFromSupplier: F.Bool<{ readonly required: true; readonly default: true }>;
2071
+ readonly supplierDeduction: F.Decimal;
2072
+ readonly charges: F.One2many<'stock.picking.charge', { readonly required: true }>;
2073
+ readonly extras: F.One2many<'stock.picking.extra', { readonly required: true }>;
2074
+ readonly gateNote: F.Text;
2075
+ readonly remarks: F.Text;
1240
2076
  readonly backorderOf: F.Many2one<'stock.picking'>;
1241
2077
  readonly backorders: F.One2many<'stock.picking', { readonly required: true }>;
2078
+ readonly returnOf: F.Many2one<'stock.picking'>;
2079
+ readonly returns: F.One2many<'stock.picking', { readonly required: true }>;
2080
+ readonly returnReason: F.Many2one<'stock.return.reason'>;
1242
2081
  readonly next: F.Many2one<'stock.picking'>;
1243
2082
  readonly previousSteps: F.One2many<'stock.picking', { readonly required: true }>;
1244
2083
  readonly availability: F.Selection<'none' | 'partial' | 'full', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -1259,6 +2098,51 @@ export interface StockPickingMethods extends F.Methods<typeof import('../../stoc
1259
2098
  readonly 'validate': () => Promise<void>;
1260
2099
  }
1261
2100
 
2101
+ /** `stock.picking.charge` (owner: stock). */
2102
+ export interface StockPickingCharge {
2103
+ readonly name: 'stock.picking.charge';
2104
+ readonly fields: {
2105
+ readonly id: F.Id<'stock.picking.charge'>;
2106
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2107
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2108
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2109
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2110
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2111
+ readonly picking: F.Many2one<'stock.picking', { readonly required: true }>;
2112
+ readonly name: F.Char<{ readonly required: true }>;
2113
+ readonly kind: F.Selection<'addition' | 'deduction', { readonly required: true; readonly default: true }>;
2114
+ readonly amount: F.Decimal<{ readonly required: true; readonly default: true }>;
2115
+ };
2116
+ readonly methods: StockPickingChargeMethods;
2117
+ }
2118
+
2119
+ /** Methods of `stock.picking.charge`: declared ones and transitions. */
2120
+ export interface StockPickingChargeMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.picking.charge'> {
2121
+ }
2122
+
2123
+ /** `stock.picking.extra` (owner: stock). */
2124
+ export interface StockPickingExtra {
2125
+ readonly name: 'stock.picking.extra';
2126
+ readonly fields: {
2127
+ readonly id: F.Id<'stock.picking.extra'>;
2128
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2129
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2130
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2131
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2132
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2133
+ readonly picking: F.Many2one<'stock.picking', { readonly required: true }>;
2134
+ readonly product: F.Many2one<'product.product'>;
2135
+ readonly name: F.Char<{ readonly required: true }>;
2136
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2137
+ readonly note: F.Char;
2138
+ };
2139
+ readonly methods: StockPickingExtraMethods;
2140
+ }
2141
+
2142
+ /** Methods of `stock.picking.extra`: declared ones and transitions. */
2143
+ export interface StockPickingExtraMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.picking.extra'> {
2144
+ }
2145
+
1262
2146
  /** `stock.putaway` (owner: stock). */
1263
2147
  export interface StockPutaway {
1264
2148
  readonly name: 'stock.putaway';
@@ -1371,6 +2255,28 @@ export interface StockReservation {
1371
2255
  export interface StockReservationMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.reservation'> {
1372
2256
  }
1373
2257
 
2258
+ /** `stock.return.reason` (owner: stock). */
2259
+ export interface StockReturnReason {
2260
+ readonly name: 'stock.return.reason';
2261
+ readonly fields: {
2262
+ readonly id: F.Id<'stock.return.reason'>;
2263
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2264
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2265
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2266
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2267
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2268
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2269
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
2270
+ readonly sequence: F.Integer<{ readonly default: true }>;
2271
+ readonly code: F.Char;
2272
+ };
2273
+ readonly methods: StockReturnReasonMethods;
2274
+ }
2275
+
2276
+ /** Methods of `stock.return.reason`: declared ones and transitions. */
2277
+ export interface StockReturnReasonMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.return.reason'> {
2278
+ }
2279
+
1374
2280
  /** `stock.scrap` (owner: stock). */
1375
2281
  export interface StockScrap {
1376
2282
  readonly name: 'stock.scrap';