shutro-erp 0.3.5 → 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 (768) hide show
  1. package/dist/account_asset/.kosh/bindings.js +15 -0
  2. package/dist/{mrp_account → account_asset}/.kosh/schema.d.ts +785 -614
  3. package/dist/account_asset/board.d.ts +61 -0
  4. package/dist/account_asset/board.js +86 -0
  5. package/dist/account_asset/books.d.ts +42 -0
  6. package/dist/account_asset/books.js +398 -0
  7. package/dist/account_asset/demo.d.ts +7 -0
  8. package/dist/account_asset/demo.js +72 -0
  9. package/dist/account_asset/i18n/bn.d.ts +2 -0
  10. package/dist/account_asset/i18n/bn.js +97 -0
  11. package/dist/account_asset/index.d.ts +9 -0
  12. package/dist/account_asset/index.js +337 -0
  13. package/dist/account_asset/module.d.ts +11076 -0
  14. package/dist/account_asset/module.js +230 -0
  15. package/dist/account_budget/.kosh/bindings.js +15 -0
  16. package/dist/account_budget/.kosh/schema.d.ts +2841 -0
  17. package/dist/account_budget/budget.d.ts +5 -0
  18. package/dist/account_budget/budget.js +142 -0
  19. package/dist/account_budget/demo.d.ts +6 -0
  20. package/dist/account_budget/demo.js +30 -0
  21. package/dist/account_budget/i18n/bn.d.ts +2 -0
  22. package/dist/account_budget/i18n/bn.js +63 -0
  23. package/dist/account_budget/index.d.ts +4 -0
  24. package/dist/account_budget/index.js +237 -0
  25. package/dist/account_budget/module.d.ts +27289 -0
  26. package/dist/account_budget/module.js +182 -0
  27. package/dist/account_portal/.kosh/bindings.js +1 -1
  28. package/dist/account_portal/.kosh/schema.d.ts +651 -10
  29. package/dist/account_portal/i18n/bn.d.ts +2 -0
  30. package/dist/account_portal/i18n/bn.js +6 -0
  31. package/dist/account_portal/index.js +2 -0
  32. package/dist/account_portal/module.d.ts +5212 -1592
  33. package/dist/accounting/.kosh/bindings.js +1 -1
  34. package/dist/accounting/.kosh/schema.d.ts +651 -10
  35. package/dist/accounting/closing.js +1 -0
  36. package/dist/accounting/fiscal.d.ts +578 -0
  37. package/dist/accounting/fiscal.js +401 -0
  38. package/dist/accounting/followups.d.ts +618 -0
  39. package/dist/accounting/followups.js +420 -0
  40. package/dist/accounting/i18n/bn.d.ts +2 -0
  41. package/dist/accounting/i18n/bn.js +425 -0
  42. package/dist/accounting/index.d.ts +3 -1
  43. package/dist/accounting/index.js +780 -5
  44. package/dist/accounting/module.d.ts +5386 -1543
  45. package/dist/accounting/module.js +155 -18
  46. package/dist/accounting/statements.d.ts +878 -0
  47. package/dist/accounting/statements.js +728 -0
  48. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  49. package/dist/accounting/web/BankReconcilePage.js +138 -0
  50. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  51. package/dist/accounting/web/FollowupsPage.js +54 -0
  52. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  53. package/dist/accounting/web/PostingPreview.js +26 -0
  54. package/dist/accounting/web/index.d.ts +3 -0
  55. package/dist/accounting/web/index.js +9 -0
  56. package/dist/accounting/web/messages.js +140 -0
  57. package/dist/approvals/.kosh/bindings.d.ts +22 -0
  58. package/dist/approvals/.kosh/bindings.js +15 -0
  59. package/dist/approvals/.kosh/schema.d.ts +879 -0
  60. package/dist/approvals/demo.d.ts +7 -0
  61. package/dist/approvals/demo.js +41 -0
  62. package/dist/approvals/i18n/bn.d.ts +2 -0
  63. package/dist/approvals/i18n/bn.js +133 -0
  64. package/dist/approvals/index.d.ts +36 -0
  65. package/dist/approvals/index.js +772 -0
  66. package/dist/approvals/mails.d.ts +30 -0
  67. package/dist/approvals/mails.js +87 -0
  68. package/dist/approvals/module.d.ts +2930 -0
  69. package/dist/approvals/module.js +473 -0
  70. package/dist/approvals/web/Config.d.ts +12 -0
  71. package/dist/approvals/web/Config.js +60 -0
  72. package/dist/approvals/web/History.d.ts +4 -0
  73. package/dist/approvals/web/History.js +13 -0
  74. package/dist/approvals/web/Inbox.d.ts +9 -0
  75. package/dist/approvals/web/Inbox.js +114 -0
  76. package/dist/approvals/web/Matrix.d.ts +9 -0
  77. package/dist/approvals/web/Matrix.js +26 -0
  78. package/dist/approvals/web/Mine.d.ts +7 -0
  79. package/dist/approvals/web/Mine.js +27 -0
  80. package/dist/approvals/web/index.d.ts +15 -0
  81. package/dist/approvals/web/index.js +29 -0
  82. package/dist/approvals/web/messages.d.ts +2 -0
  83. package/dist/approvals/web/messages.js +211 -0
  84. package/dist/approvals/web/shared.d.ts +59 -0
  85. package/dist/approvals/web/shared.js +46 -0
  86. package/dist/approvals_purchase/.kosh/bindings.d.ts +22 -0
  87. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  88. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  89. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  90. package/dist/approvals_purchase/i18n/bn.js +5 -0
  91. package/dist/approvals_purchase/index.d.ts +3 -0
  92. package/dist/approvals_purchase/index.js +47 -0
  93. package/dist/approvals_purchase/module.d.ts +12670 -0
  94. package/dist/approvals_purchase/module.js +84 -0
  95. package/dist/attendance/.kosh/bindings.d.ts +22 -0
  96. package/dist/attendance/.kosh/bindings.js +15 -0
  97. package/dist/attendance/.kosh/schema.d.ts +1106 -0
  98. package/dist/attendance/days.d.ts +96 -0
  99. package/dist/attendance/days.js +430 -0
  100. package/dist/attendance/demo.d.ts +7 -0
  101. package/dist/attendance/demo.js +58 -0
  102. package/dist/attendance/i18n/bn.d.ts +2 -0
  103. package/dist/attendance/i18n/bn.js +147 -0
  104. package/dist/attendance/index.d.ts +4 -0
  105. package/dist/attendance/index.js +515 -0
  106. package/dist/attendance/module.d.ts +4413 -0
  107. package/dist/attendance/module.js +412 -0
  108. package/dist/attendance/routes.d.ts +16 -0
  109. package/dist/attendance/routes.js +266 -0
  110. package/dist/attendance/web/Check.d.ts +8 -0
  111. package/dist/attendance/web/Check.js +40 -0
  112. package/dist/attendance/web/Kiosk.d.ts +8 -0
  113. package/dist/attendance/web/Kiosk.js +62 -0
  114. package/dist/attendance/web/PinButton.d.ts +7 -0
  115. package/dist/attendance/web/PinButton.js +29 -0
  116. package/dist/attendance/web/index.d.ts +13 -0
  117. package/dist/attendance/web/index.js +22 -0
  118. package/dist/attendance/web/messages.d.ts +2 -0
  119. package/dist/attendance/web/messages.js +61 -0
  120. package/dist/automation/engine.js +1 -1
  121. package/dist/calendar/.kosh/bindings.js +1 -1
  122. package/dist/calendar/.kosh/schema.d.ts +2 -1
  123. package/dist/calendar/i18n/bn.d.ts +2 -0
  124. package/dist/calendar/i18n/bn.js +80 -0
  125. package/dist/calendar/index.js +77 -0
  126. package/dist/calendar/module.d.ts +26 -0
  127. package/dist/calendar/module.js +14 -4
  128. package/dist/cli/apps.js +25 -5
  129. package/dist/cli/init.js +46 -4
  130. package/dist/cli/templates.d.ts +1 -1
  131. package/dist/cli/templates.js +123 -5
  132. package/dist/contacts/.kosh/bindings.js +1 -1
  133. package/dist/contacts/.kosh/schema.d.ts +2 -1
  134. package/dist/contacts/i18n/bn.d.ts +2 -0
  135. package/dist/contacts/i18n/bn.js +67 -0
  136. package/dist/contacts/index.js +3 -0
  137. package/dist/contacts/module.d.ts +42 -0
  138. package/dist/contacts/module.js +19 -3
  139. package/dist/crm/.kosh/bindings.js +1 -1
  140. package/dist/crm/.kosh/schema.d.ts +3 -1
  141. package/dist/crm/i18n/bn.d.ts +2 -0
  142. package/dist/crm/i18n/bn.js +80 -0
  143. package/dist/crm/index.js +22 -0
  144. package/dist/crm/module.d.ts +22 -0
  145. package/dist/crm/module.js +6 -3
  146. package/dist/documents/.kosh/bindings.d.ts +22 -0
  147. package/dist/documents/.kosh/bindings.js +15 -0
  148. package/dist/documents/.kosh/schema.d.ts +863 -0
  149. package/dist/documents/demo.d.ts +6 -0
  150. package/dist/documents/demo.js +22 -0
  151. package/dist/documents/documents.d.ts +98 -0
  152. package/dist/documents/documents.js +318 -0
  153. package/dist/documents/i18n/bn.d.ts +2 -0
  154. package/dist/documents/i18n/bn.js +83 -0
  155. package/dist/documents/index.d.ts +30 -0
  156. package/dist/documents/index.js +569 -0
  157. package/dist/documents/module.d.ts +2801 -0
  158. package/dist/documents/module.js +215 -0
  159. package/dist/documents/web/Versions.d.ts +7 -0
  160. package/dist/documents/web/Versions.js +45 -0
  161. package/dist/documents/web/index.d.ts +11 -0
  162. package/dist/documents/web/index.js +16 -0
  163. package/dist/documents/web/messages.d.ts +2 -0
  164. package/dist/documents/web/messages.js +21 -0
  165. package/dist/event/.kosh/bindings.js +1 -1
  166. package/dist/event/.kosh/schema.d.ts +2 -1
  167. package/dist/event/i18n/bn.d.ts +2 -0
  168. package/dist/event/i18n/bn.js +101 -0
  169. package/dist/event/index.js +66 -0
  170. package/dist/event/module.d.ts +20 -0
  171. package/dist/event/module.js +8 -1
  172. package/dist/event_account/.kosh/bindings.js +1 -1
  173. package/dist/event_account/.kosh/schema.d.ts +651 -10
  174. package/dist/event_account/i18n/bn.d.ts +2 -0
  175. package/dist/event_account/i18n/bn.js +5 -0
  176. package/dist/event_account/index.js +2 -0
  177. package/dist/event_account/module.d.ts +5133 -1513
  178. package/dist/expense/.kosh/bindings.d.ts +22 -0
  179. package/dist/expense/.kosh/bindings.js +15 -0
  180. package/dist/expense/.kosh/schema.d.ts +1620 -0
  181. package/dist/expense/demo.d.ts +7 -0
  182. package/dist/expense/demo.js +69 -0
  183. package/dist/expense/i18n/bn.d.ts +2 -0
  184. package/dist/expense/i18n/bn.js +155 -0
  185. package/dist/expense/index.d.ts +3 -0
  186. package/dist/expense/index.js +502 -0
  187. package/dist/expense/module.d.ts +6768 -0
  188. package/dist/expense/module.js +649 -0
  189. package/dist/expense_account/.kosh/bindings.d.ts +22 -0
  190. package/dist/expense_account/.kosh/bindings.js +15 -0
  191. package/dist/expense_account/.kosh/schema.d.ts +2515 -0
  192. package/dist/expense_account/i18n/bn.d.ts +2 -0
  193. package/dist/expense_account/i18n/bn.js +15 -0
  194. package/dist/expense_account/index.d.ts +3 -0
  195. package/dist/expense_account/index.js +76 -0
  196. package/dist/expense_account/module.d.ts +14628 -0
  197. package/dist/expense_account/module.js +318 -0
  198. package/dist/helpdesk/.kosh/bindings.d.ts +22 -0
  199. package/dist/helpdesk/.kosh/bindings.js +15 -0
  200. package/dist/helpdesk/.kosh/schema.d.ts +886 -0
  201. package/dist/helpdesk/demo.d.ts +7 -0
  202. package/dist/helpdesk/demo.js +65 -0
  203. package/dist/helpdesk/hours.d.ts +17 -0
  204. package/dist/helpdesk/hours.js +94 -0
  205. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  206. package/dist/helpdesk/i18n/bn.js +127 -0
  207. package/dist/helpdesk/index.d.ts +10 -0
  208. package/dist/helpdesk/index.js +463 -0
  209. package/dist/helpdesk/module.d.ts +2960 -0
  210. package/dist/helpdesk/module.js +326 -0
  211. package/dist/helpdesk/routes.d.ts +12 -0
  212. package/dist/helpdesk/routes.js +132 -0
  213. package/dist/helpdesk/sla.d.ts +37 -0
  214. package/dist/helpdesk/sla.js +226 -0
  215. package/dist/hr/.kosh/bindings.js +1 -1
  216. package/dist/hr/.kosh/schema.d.ts +59 -1
  217. package/dist/hr/demo.js +11 -1
  218. package/dist/hr/i18n/bn.d.ts +2 -0
  219. package/dist/hr/i18n/bn.js +126 -0
  220. package/dist/hr/index.d.ts +1 -1
  221. package/dist/hr/index.js +158 -12
  222. package/dist/hr/module.d.ts +932 -59
  223. package/dist/hr/module.js +114 -17
  224. package/dist/indent/.kosh/bindings.d.ts +22 -0
  225. package/dist/indent/.kosh/bindings.js +15 -0
  226. package/dist/indent/.kosh/schema.d.ts +2084 -0
  227. package/dist/indent/demo.d.ts +7 -0
  228. package/dist/indent/demo.js +48 -0
  229. package/dist/indent/i18n/bn.d.ts +2 -0
  230. package/dist/indent/i18n/bn.js +143 -0
  231. package/dist/indent/index.d.ts +3 -0
  232. package/dist/indent/index.js +450 -0
  233. package/dist/indent/module.d.ts +13424 -0
  234. package/dist/indent/module.js +792 -0
  235. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  236. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  237. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  238. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  239. package/dist/indent_purchase/i18n/bn.js +13 -0
  240. package/dist/indent_purchase/index.d.ts +3 -0
  241. package/dist/indent_purchase/index.js +61 -0
  242. package/dist/indent_purchase/module.d.ts +27950 -0
  243. package/dist/indent_purchase/module.js +163 -0
  244. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  245. package/dist/l10n_bd/.kosh/schema.d.ts +651 -10
  246. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  247. package/dist/l10n_bd/i18n/bn.js +69 -0
  248. package/dist/l10n_bd/index.js +2 -0
  249. package/dist/l10n_bd/module.d.ts +5212 -1592
  250. package/dist/l10n_bd_payroll/.kosh/bindings.d.ts +22 -0
  251. package/dist/l10n_bd_payroll/.kosh/bindings.js +15 -0
  252. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +2891 -0
  253. package/dist/l10n_bd_payroll/data.d.ts +47 -0
  254. package/dist/l10n_bd_payroll/data.js +347 -0
  255. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  256. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  257. package/dist/l10n_bd_payroll/index.d.ts +4 -0
  258. package/dist/l10n_bd_payroll/index.js +26 -0
  259. package/dist/l10n_bd_payroll/module.d.ts +17294 -0
  260. package/dist/l10n_bd_payroll/module.js +86 -0
  261. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  262. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  263. package/dist/l10n_bd_pos/.kosh/schema.d.ts +2341 -0
  264. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  265. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  266. package/dist/l10n_bd_pos/index.d.ts +3 -0
  267. package/dist/l10n_bd_pos/index.js +111 -0
  268. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +9047 -6981
  269. package/dist/l10n_bd_pos/module.js +43 -0
  270. package/dist/l10n_in/.kosh/bindings.js +1 -1
  271. package/dist/l10n_in/.kosh/schema.d.ts +651 -10
  272. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  273. package/dist/l10n_in/i18n/bn.js +95 -0
  274. package/dist/l10n_in/index.js +2 -0
  275. package/dist/l10n_in/module.d.ts +6778 -1580
  276. package/dist/l10n_in/module.js +25 -5
  277. package/dist/l10n_in/web/GstSettings.js +2 -2
  278. package/dist/mail/inbound/handle.js +8 -5
  279. package/dist/mail/inbound/models.js +5 -3
  280. package/dist/mail/index.d.ts +12 -1
  281. package/dist/mail/index.js +139 -2
  282. package/dist/mail/send.d.ts +56 -0
  283. package/dist/mail/send.js +394 -0
  284. package/dist/mail/web/SendButton.d.ts +9 -0
  285. package/dist/mail/web/SendButton.js +71 -0
  286. package/dist/mail/web/SendSelected.d.ts +8 -0
  287. package/dist/mail/web/SendSelected.js +33 -0
  288. package/dist/mail/web/index.d.ts +2 -0
  289. package/dist/mail/web/index.js +6 -0
  290. package/dist/mail/web/messages.js +36 -0
  291. package/dist/maintenance/.kosh/bindings.js +1 -1
  292. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  293. package/dist/maintenance/i18n/bn.d.ts +2 -0
  294. package/dist/maintenance/i18n/bn.js +132 -0
  295. package/dist/maintenance/index.js +85 -0
  296. package/dist/maintenance/module.d.ts +25 -0
  297. package/dist/maintenance/module.js +27 -9
  298. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  299. package/dist/maintenance_stock/.kosh/schema.d.ts +374 -3
  300. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  301. package/dist/maintenance_stock/i18n/bn.js +21 -0
  302. package/dist/maintenance_stock/index.js +2 -0
  303. package/dist/maintenance_stock/module.d.ts +6095 -1327
  304. package/dist/maintenance_stock/module.js +1 -0
  305. package/dist/modules-sdk/apps.d.ts +10 -0
  306. package/dist/modules-sdk/apps.js +32 -0
  307. package/dist/modules-sdk/index.d.ts +1 -1
  308. package/dist/modules-sdk/manifest.d.ts +105 -2
  309. package/dist/payment/.kosh/bindings.js +1 -1
  310. package/dist/payment/.kosh/schema.d.ts +653 -11
  311. package/dist/payment/i18n/bn.d.ts +2 -0
  312. package/dist/payment/i18n/bn.js +59 -0
  313. package/dist/payment/index.d.ts +41 -0
  314. package/dist/payment/index.js +216 -74
  315. package/dist/payment/module.d.ts +5353 -1675
  316. package/dist/payment/module.js +36 -6
  317. package/dist/payment/settle.js +11 -1
  318. package/dist/payroll/.kosh/bindings.d.ts +22 -0
  319. package/dist/payroll/.kosh/bindings.js +15 -0
  320. package/dist/payroll/.kosh/schema.d.ts +1448 -0
  321. package/dist/payroll/compute.d.ts +35 -0
  322. package/dist/payroll/compute.js +398 -0
  323. package/dist/payroll/demo.d.ts +55 -0
  324. package/dist/payroll/demo.js +121 -0
  325. package/dist/payroll/formula.d.ts +62 -0
  326. package/dist/payroll/formula.js +320 -0
  327. package/dist/payroll/i18n/bn.d.ts +2 -0
  328. package/dist/payroll/i18n/bn.js +206 -0
  329. package/dist/payroll/index.d.ts +230 -0
  330. package/dist/payroll/index.js +715 -0
  331. package/dist/{mrp → payroll}/module.d.ts +4294 -2624
  332. package/dist/payroll/module.js +606 -0
  333. package/dist/payroll/routes.d.ts +10 -0
  334. package/dist/payroll/routes.js +112 -0
  335. package/dist/payroll_account/.kosh/bindings.d.ts +22 -0
  336. package/dist/payroll_account/.kosh/bindings.js +15 -0
  337. package/dist/payroll_account/.kosh/schema.d.ts +2887 -0
  338. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  339. package/dist/payroll_account/i18n/bn.js +10 -0
  340. package/dist/payroll_account/index.d.ts +3 -0
  341. package/dist/payroll_account/index.js +42 -0
  342. package/dist/payroll_account/module.d.ts +16738 -0
  343. package/dist/payroll_account/module.js +256 -0
  344. package/dist/permissions/approvals.d.ts +227 -12
  345. package/dist/permissions/approvals.js +1421 -67
  346. package/dist/permissions/index.d.ts +1 -1
  347. package/dist/permissions/index.js +2 -2
  348. package/dist/permissions/models.js +364 -13
  349. package/dist/permissions/routes.d.ts +9 -1
  350. package/dist/permissions/routes.js +72 -5
  351. package/dist/permissions/web/ApprovalPanel.d.ts +5 -4
  352. package/dist/permissions/web/ApprovalPanel.js +75 -11
  353. package/dist/permissions/web/index.d.ts +6 -4
  354. package/dist/permissions/web/index.js +13 -4
  355. package/dist/permissions/web/messages.d.ts +2 -0
  356. package/dist/permissions/web/messages.js +95 -0
  357. package/dist/portal/.kosh/bindings.js +1 -1
  358. package/dist/portal/.kosh/schema.d.ts +2 -1
  359. package/dist/portal/documents.d.ts +3 -0
  360. package/dist/portal/documents.js +21 -1
  361. package/dist/portal/i18n/bn.d.ts +2 -0
  362. package/dist/portal/i18n/bn.js +33 -0
  363. package/dist/portal/index.js +3 -1
  364. package/dist/portal/module.d.ts +20 -0
  365. package/dist/portal/routes-documents.js +76 -0
  366. package/dist/pos/.kosh/bindings.js +1 -1
  367. package/dist/pos/.kosh/schema.d.ts +652 -10
  368. package/dist/pos/i18n/bn.d.ts +2 -0
  369. package/dist/pos/i18n/bn.js +133 -0
  370. package/dist/pos/index.js +87 -1
  371. package/dist/pos/module.d.ts +6967 -1709
  372. package/dist/pos/module.js +49 -5
  373. package/dist/pos/routes.js +80 -7
  374. package/dist/pos/web/Register.js +2 -5
  375. package/dist/pos_stock/.kosh/bindings.js +1 -1
  376. package/dist/pos_stock/.kosh/schema.d.ts +822 -12
  377. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  378. package/dist/pos_stock/i18n/bn.js +6 -0
  379. package/dist/pos_stock/index.js +2 -0
  380. package/dist/pos_stock/module.d.ts +11241 -2851
  381. package/dist/product/.kosh/bindings.js +1 -1
  382. package/dist/product/.kosh/schema.d.ts +203 -1
  383. package/dist/product/i18n/bn.d.ts +2 -0
  384. package/dist/product/i18n/bn.js +175 -0
  385. package/dist/product/index.d.ts +1 -0
  386. package/dist/product/index.js +301 -1
  387. package/dist/product/module.d.ts +1727 -0
  388. package/dist/product/module.js +67 -6
  389. package/dist/product/pricelist.d.ts +575 -0
  390. package/dist/product/pricelist.js +257 -0
  391. package/dist/product/variants.d.ts +908 -0
  392. package/dist/product/variants.js +251 -0
  393. package/dist/production/.kosh/bindings.d.ts +22 -0
  394. package/dist/production/.kosh/bindings.js +15 -0
  395. package/dist/production/.kosh/schema.d.ts +2345 -0
  396. package/dist/{mrp → production}/demo.d.ts +1 -1
  397. package/dist/{mrp → production}/demo.js +5 -5
  398. package/dist/production/depth.d.ts +790 -0
  399. package/dist/production/depth.js +262 -0
  400. package/dist/production/i18n/bn.d.ts +2 -0
  401. package/dist/production/i18n/bn.js +350 -0
  402. package/dist/production/index.d.ts +6 -0
  403. package/dist/production/index.js +1256 -0
  404. package/dist/production/module.d.ts +17327 -0
  405. package/dist/production/module.js +1333 -0
  406. package/dist/production/plan.d.ts +921 -0
  407. package/dist/production/plan.js +511 -0
  408. package/dist/production/schedule.d.ts +656 -0
  409. package/dist/production/schedule.js +309 -0
  410. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  411. package/dist/production_account/.kosh/bindings.js +15 -0
  412. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  413. package/dist/production_account/i18n/bn.d.ts +2 -0
  414. package/dist/production_account/i18n/bn.js +93 -0
  415. package/dist/production_account/index.d.ts +4 -0
  416. package/dist/production_account/index.js +246 -0
  417. package/dist/production_account/module.d.ts +1192 -0
  418. package/dist/{mrp_account → production_account}/module.js +72 -18
  419. package/dist/production_account/overhead.d.ts +1195 -0
  420. package/dist/production_account/overhead.js +554 -0
  421. package/dist/project/.kosh/bindings.js +1 -1
  422. package/dist/project/.kosh/schema.d.ts +735 -1
  423. package/dist/project/i18n/bn.d.ts +2 -0
  424. package/dist/project/i18n/bn.js +383 -0
  425. package/dist/project/index.d.ts +3 -1
  426. package/dist/project/index.js +1024 -14
  427. package/dist/project/module.d.ts +9912 -390
  428. package/dist/project/module.js +1590 -14
  429. package/dist/project/routes.d.ts +44 -0
  430. package/dist/project/routes.js +314 -0
  431. package/dist/project/schedule.d.ts +72 -0
  432. package/dist/project/schedule.js +192 -0
  433. package/dist/project/web/Refresh.d.ts +8 -0
  434. package/dist/project/web/Refresh.js +29 -0
  435. package/dist/project/web/Schedule.d.ts +9 -0
  436. package/dist/project/web/Schedule.js +93 -0
  437. package/dist/project/web/Structure.d.ts +8 -0
  438. package/dist/project/web/Structure.js +86 -0
  439. package/dist/project/web/Workload.d.ts +8 -0
  440. package/dist/project/web/Workload.js +43 -0
  441. package/dist/project/web/index.d.ts +14 -0
  442. package/dist/project/web/index.js +25 -0
  443. package/dist/project/web/messages.d.ts +2 -0
  444. package/dist/project/web/messages.js +85 -0
  445. package/dist/project_account/.kosh/bindings.d.ts +22 -0
  446. package/dist/project_account/.kosh/bindings.js +15 -0
  447. package/dist/project_account/.kosh/schema.d.ts +2763 -0
  448. package/dist/project_account/i18n/bn.d.ts +2 -0
  449. package/dist/project_account/i18n/bn.js +6 -0
  450. package/dist/project_account/index.d.ts +3 -0
  451. package/dist/project_account/index.js +29 -0
  452. package/dist/project_account/module.d.ts +15013 -0
  453. package/dist/project_account/module.js +76 -0
  454. package/dist/project_portal/.kosh/bindings.js +1 -1
  455. package/dist/project_portal/.kosh/schema.d.ts +735 -1
  456. package/dist/project_portal/i18n/bn.d.ts +2 -0
  457. package/dist/project_portal/i18n/bn.js +6 -0
  458. package/dist/project_portal/index.js +2 -0
  459. package/dist/project_portal/module.d.ts +4796 -87
  460. package/dist/project_purchase/.kosh/bindings.d.ts +22 -0
  461. package/dist/project_purchase/.kosh/bindings.js +15 -0
  462. package/dist/project_purchase/.kosh/schema.d.ts +3393 -0
  463. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  464. package/dist/project_purchase/i18n/bn.js +4 -0
  465. package/dist/project_purchase/index.d.ts +9 -0
  466. package/dist/project_purchase/index.js +24 -0
  467. package/dist/project_purchase/module.d.ts +38613 -0
  468. package/dist/project_purchase/module.js +56 -0
  469. package/dist/purchase/.kosh/bindings.js +1 -1
  470. package/dist/purchase/.kosh/schema.d.ts +908 -5
  471. package/dist/purchase/comparison.d.ts +993 -0
  472. package/dist/purchase/comparison.js +415 -0
  473. package/dist/purchase/extras.d.ts +1509 -0
  474. package/dist/purchase/extras.js +445 -0
  475. package/dist/purchase/i18n/bn.d.ts +2 -0
  476. package/dist/purchase/i18n/bn.js +413 -0
  477. package/dist/purchase/index.d.ts +5 -0
  478. package/dist/purchase/index.js +1280 -4
  479. package/dist/purchase/module.d.ts +7147 -395
  480. package/dist/purchase/module.js +303 -10
  481. package/dist/purchase/request.d.ts +696 -0
  482. package/dist/purchase/request.js +446 -0
  483. package/dist/purchase/tender.d.ts +1208 -0
  484. package/dist/purchase/tender.js +507 -0
  485. package/dist/purchase/vendorprice.d.ts +340 -0
  486. package/dist/purchase/vendorprice.js +153 -0
  487. package/dist/purchase_account/.kosh/bindings.js +1 -1
  488. package/dist/purchase_account/.kosh/schema.d.ts +1209 -16
  489. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  490. package/dist/purchase_account/i18n/bn.js +22 -0
  491. package/dist/purchase_account/index.js +20 -0
  492. package/dist/purchase_account/module.d.ts +12232 -2028
  493. package/dist/purchase_account/module.js +252 -9
  494. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  495. package/dist/purchase_portal/.kosh/schema.d.ts +908 -5
  496. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  497. package/dist/purchase_portal/i18n/bn.js +5 -0
  498. package/dist/purchase_portal/index.js +2 -0
  499. package/dist/purchase_portal/module.d.ts +6853 -352
  500. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  501. package/dist/purchase_stock/.kosh/schema.d.ts +1096 -21
  502. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  503. package/dist/purchase_stock/i18n/bn.js +19 -0
  504. package/dist/purchase_stock/index.d.ts +2 -2
  505. package/dist/purchase_stock/index.js +38 -2
  506. package/dist/purchase_stock/module.d.ts +12930 -1612
  507. package/dist/purchase_stock/module.js +317 -9
  508. package/dist/purchase_stock/scorecard.d.ts +22 -0
  509. package/dist/purchase_stock/scorecard.js +77 -0
  510. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  511. package/dist/purchase_stock/web/Scorecard.js +22 -0
  512. package/dist/purchase_stock/web/index.d.ts +11 -0
  513. package/dist/purchase_stock/web/index.js +16 -0
  514. package/dist/purchase_stock/web/messages.d.ts +2 -0
  515. package/dist/purchase_stock/web/messages.js +27 -0
  516. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  517. package/dist/purchase_stock_account/.kosh/schema.d.ts +1444 -20
  518. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  519. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  520. package/dist/purchase_stock_account/index.js +18 -0
  521. package/dist/purchase_stock_account/module.d.ts +7 -35346
  522. package/dist/purchase_stock_account/module.js +35 -8
  523. package/dist/recruitment/.kosh/bindings.js +1 -1
  524. package/dist/recruitment/.kosh/schema.d.ts +60 -1
  525. package/dist/recruitment/i18n/bn.d.ts +2 -0
  526. package/dist/recruitment/i18n/bn.js +93 -0
  527. package/dist/recruitment/index.js +64 -0
  528. package/dist/recruitment/module.d.ts +460 -8
  529. package/dist/recruitment/module.js +13 -4
  530. package/dist/reporting/documents.d.ts +5 -0
  531. package/dist/reporting/documents.js +11 -1
  532. package/dist/reporting/index.d.ts +1 -1
  533. package/dist/reporting/index.js +1 -1
  534. package/dist/reporting/web/CalendarView.d.ts +18 -5
  535. package/dist/reporting/web/CalendarView.js +163 -29
  536. package/dist/reporting/web/messages.js +18 -0
  537. package/dist/sale_account/.kosh/bindings.js +1 -1
  538. package/dist/sale_account/.kosh/schema.d.ts +763 -18
  539. package/dist/sale_account/i18n/bn.d.ts +2 -0
  540. package/dist/sale_account/i18n/bn.js +48 -0
  541. package/dist/sale_account/index.d.ts +1 -1
  542. package/dist/sale_account/index.js +102 -4
  543. package/dist/sale_account/module.d.ts +8241 -2052
  544. package/dist/sale_account/module.js +535 -46
  545. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  546. package/dist/sale_crm/.kosh/bindings.js +15 -0
  547. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +391 -494
  548. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  549. package/dist/sale_crm/i18n/bn.js +9 -0
  550. package/dist/sale_crm/index.d.ts +7 -0
  551. package/dist/sale_crm/index.js +104 -0
  552. package/dist/sale_crm/module.d.ts +5609 -0
  553. package/dist/sale_crm/module.js +73 -0
  554. package/dist/sale_portal/.kosh/bindings.js +1 -1
  555. package/dist/sale_portal/.kosh/schema.d.ts +292 -4
  556. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  557. package/dist/sale_portal/i18n/bn.js +7 -0
  558. package/dist/sale_portal/index.js +10 -0
  559. package/dist/sale_portal/module.d.ts +2563 -292
  560. package/dist/sale_project/.kosh/bindings.js +1 -1
  561. package/dist/sale_project/.kosh/schema.d.ts +1025 -4
  562. package/dist/sale_project/i18n/bn.d.ts +2 -0
  563. package/dist/sale_project/i18n/bn.js +12 -0
  564. package/dist/sale_project/index.js +2 -0
  565. package/dist/sale_project/module.d.ts +9280 -762
  566. package/dist/sale_project/module.js +17 -1
  567. package/dist/sale_stock/.kosh/bindings.js +1 -1
  568. package/dist/sale_stock/.kosh/schema.d.ts +463 -6
  569. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  570. package/dist/sale_stock/i18n/bn.js +15 -0
  571. package/dist/sale_stock/index.js +2 -0
  572. package/dist/sale_stock/module.d.ts +8355 -1334
  573. package/dist/sale_stock/module.js +20 -3
  574. package/dist/sales/.kosh/bindings.js +1 -1
  575. package/dist/sales/.kosh/schema.d.ts +292 -4
  576. package/dist/sales/i18n/bn.d.ts +2 -0
  577. package/dist/sales/i18n/bn.js +128 -0
  578. package/dist/sales/index.js +124 -5
  579. package/dist/sales/module.d.ts +3568 -633
  580. package/dist/sales/module.js +306 -11
  581. package/dist/server/api/duplicate.d.ts +14 -0
  582. package/dist/server/api/duplicate.js +75 -0
  583. package/dist/server/api/explain.d.ts +70 -0
  584. package/dist/server/api/explain.js +111 -0
  585. package/dist/server/api/metadata.d.ts +2 -0
  586. package/dist/server/api/metadata.js +9 -0
  587. package/dist/server/api/openapi.js +15 -0
  588. package/dist/server/api/rest.d.ts +1 -0
  589. package/dist/server/api/rest.js +76 -12
  590. package/dist/server/api/views.js +1 -1
  591. package/dist/server/apps.d.ts +16 -1
  592. package/dist/server/apps.js +164 -2
  593. package/dist/server/auth/base.js +2 -0
  594. package/dist/server/auth/service.d.ts +8 -0
  595. package/dist/server/auth/service.js +19 -0
  596. package/dist/server/events.d.ts +13 -0
  597. package/dist/server/events.js +22 -0
  598. package/dist/server/i18n.d.ts +27 -0
  599. package/dist/server/i18n.js +143 -0
  600. package/dist/server/index.d.ts +2 -0
  601. package/dist/server/index.js +2 -0
  602. package/dist/server/server.js +6 -0
  603. package/dist/settings/company.d.ts +3 -1
  604. package/dist/settings/company.js +26 -5
  605. package/dist/settings/routes.d.ts +10 -0
  606. package/dist/settings/routes.js +19 -3
  607. package/dist/settings/web/AppsPage.d.ts +3 -2
  608. package/dist/settings/web/AppsPage.js +26 -8
  609. package/dist/settings/web/CompaniesPage.js +91 -6
  610. package/dist/settings/web/messages.js +64 -0
  611. package/dist/sign/.kosh/bindings.d.ts +22 -0
  612. package/dist/{mrp → sign}/.kosh/bindings.js +2 -2
  613. package/dist/sign/.kosh/schema.d.ts +991 -0
  614. package/dist/sign/i18n/bn.d.ts +2 -0
  615. package/dist/sign/i18n/bn.js +97 -0
  616. package/dist/sign/index.d.ts +29 -0
  617. package/dist/sign/index.js +478 -0
  618. package/dist/sign/module.d.ts +4518 -0
  619. package/dist/sign/module.js +167 -0
  620. package/dist/sign/sign.d.ts +82 -0
  621. package/dist/sign/sign.js +474 -0
  622. package/dist/stock/.kosh/bindings.js +1 -1
  623. package/dist/stock/.kosh/schema.d.ts +374 -3
  624. package/dist/stock/demo.d.ts +2 -1
  625. package/dist/stock/demo.js +28 -1
  626. package/dist/stock/i18n/bn.d.ts +2 -0
  627. package/dist/stock/i18n/bn.js +311 -0
  628. package/dist/stock/index.d.ts +4 -1
  629. package/dist/stock/index.js +674 -6
  630. package/dist/stock/ledger.d.ts +78 -0
  631. package/dist/stock/ledger.js +582 -0
  632. package/dist/stock/module.d.ts +6142 -1380
  633. package/dist/stock/module.js +780 -26
  634. package/dist/stock/replenish.d.ts +38 -0
  635. package/dist/stock/replenish.js +191 -0
  636. package/dist/stock/returns.d.ts +157 -0
  637. package/dist/stock/returns.js +163 -0
  638. package/dist/stock/web/Ledger.d.ts +9 -0
  639. package/dist/stock/web/Ledger.js +108 -0
  640. package/dist/stock/web/Operations.d.ts +8 -0
  641. package/dist/stock/web/Operations.js +33 -0
  642. package/dist/stock/web/Replenishment.d.ts +8 -0
  643. package/dist/stock/web/Replenishment.js +84 -0
  644. package/dist/stock/web/ReturnButton.d.ts +7 -0
  645. package/dist/stock/web/ReturnButton.js +62 -0
  646. package/dist/stock/web/index.d.ts +7 -2
  647. package/dist/stock/web/index.js +15 -2
  648. package/dist/stock/web/messages.js +206 -0
  649. package/dist/stock_account/.kosh/bindings.js +1 -1
  650. package/dist/stock_account/.kosh/schema.d.ts +878 -12
  651. package/dist/stock_account/i18n/bn.d.ts +2 -0
  652. package/dist/stock_account/i18n/bn.js +73 -0
  653. package/dist/stock_account/index.d.ts +1 -0
  654. package/dist/stock_account/index.js +141 -3
  655. package/dist/stock_account/landed.d.ts +429 -0
  656. package/dist/stock_account/landed.js +335 -0
  657. package/dist/stock_account/module.d.ts +12143 -3391
  658. package/dist/stock_account/module.js +135 -6
  659. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  660. package/dist/stock_account/web/LandedPreview.js +23 -0
  661. package/dist/stock_account/web/index.d.ts +11 -0
  662. package/dist/stock_account/web/index.js +16 -0
  663. package/dist/stock_account/web/messages.d.ts +2 -0
  664. package/dist/stock_account/web/messages.js +27 -0
  665. package/dist/todo/i18n/bn.d.ts +2 -0
  666. package/dist/todo/i18n/bn.js +66 -0
  667. package/dist/todo/index.js +59 -0
  668. package/dist/todo/module.d.ts +5 -0
  669. package/dist/todo/module.js +5 -3
  670. package/dist/trade_finance/.kosh/bindings.js +1 -1
  671. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  672. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  673. package/dist/trade_finance/i18n/bn.js +162 -0
  674. package/dist/trade_finance/index.js +95 -0
  675. package/dist/trade_finance/module.d.ts +26 -0
  676. package/dist/trade_finance/module.js +29 -8
  677. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  678. package/dist/trade_finance_account/.kosh/schema.d.ts +651 -10
  679. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  680. package/dist/trade_finance_account/i18n/bn.js +27 -0
  681. package/dist/trade_finance_account/index.js +3 -0
  682. package/dist/trade_finance_account/module.d.ts +5129 -1509
  683. package/dist/trade_finance_account/module.js +2 -0
  684. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  685. package/dist/trade_finance_purchase/.kosh/schema.d.ts +908 -5
  686. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  687. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  688. package/dist/trade_finance_purchase/index.js +2 -0
  689. package/dist/trade_finance_purchase/module.d.ts +6909 -408
  690. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  691. package/dist/trade_finance_sale/.kosh/schema.d.ts +292 -4
  692. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  693. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  694. package/dist/trade_finance_sale/index.js +2 -0
  695. package/dist/trade_finance_sale/module.d.ts +2602 -331
  696. package/dist/ui/api.d.ts +2 -0
  697. package/dist/ui/app.d.ts +9 -0
  698. package/dist/ui/app.js +47 -15
  699. package/dist/ui/components/AppIcon.js +9 -2
  700. package/dist/ui/components/Explain.d.ts +69 -0
  701. package/dist/ui/components/Explain.js +62 -0
  702. package/dist/ui/context.d.ts +8 -1
  703. package/dist/ui/context.js +34 -1
  704. package/dist/ui/i18n/messages.d.ts +40 -0
  705. package/dist/ui/i18n/messages.js +80 -0
  706. package/dist/ui/index.d.ts +2 -1
  707. package/dist/ui/index.js +1 -0
  708. package/dist/ui/registry.d.ts +14 -0
  709. package/dist/ui/registry.js +10 -0
  710. package/dist/ui/views/FormView.d.ts +6 -0
  711. package/dist/ui/views/FormView.js +51 -12
  712. package/dist/ui/views/KanbanView.js +9 -1
  713. package/dist/ui/views/ListView.d.ts +8 -0
  714. package/dist/ui/views/ListView.js +14 -5
  715. package/dist/ui/views/StatsRow.js +2 -1
  716. package/dist/ui/views/widgets.js +7 -1
  717. package/dist/views/extend.js +12 -0
  718. package/dist/views/types.d.ts +13 -2
  719. package/dist/views/validate.js +8 -1
  720. package/dist/website/.kosh/bindings.js +1 -1
  721. package/dist/website/.kosh/schema.d.ts +2 -1
  722. package/dist/website/i18n/bn.d.ts +2 -0
  723. package/dist/website/i18n/bn.js +113 -0
  724. package/dist/website/index.js +37 -0
  725. package/dist/website/module.d.ts +20 -0
  726. package/dist/website/module.js +30 -5
  727. package/dist/website_crm/.kosh/bindings.js +1 -1
  728. package/dist/website_crm/.kosh/schema.d.ts +3 -1
  729. package/dist/website_crm/i18n/bn.d.ts +2 -0
  730. package/dist/website_crm/i18n/bn.js +5 -0
  731. package/dist/website_crm/index.js +2 -0
  732. package/dist/website_crm/module.d.ts +41 -0
  733. package/dist/website_sale/.kosh/bindings.d.ts +22 -0
  734. package/dist/website_sale/.kosh/bindings.js +15 -0
  735. package/dist/website_sale/.kosh/schema.d.ts +2909 -0
  736. package/dist/website_sale/couriers.d.ts +50 -0
  737. package/dist/website_sale/couriers.js +59 -0
  738. package/dist/website_sale/demo.d.ts +7 -0
  739. package/dist/website_sale/demo.js +90 -0
  740. package/dist/website_sale/growth.d.ts +31 -0
  741. package/dist/website_sale/growth.js +163 -0
  742. package/dist/website_sale/i18n/bn.d.ts +2 -0
  743. package/dist/website_sale/i18n/bn.js +132 -0
  744. package/dist/website_sale/index.d.ts +49 -0
  745. package/dist/website_sale/index.js +620 -0
  746. package/dist/website_sale/module.d.ts +35182 -0
  747. package/dist/website_sale/module.js +419 -0
  748. package/dist/website_sale/shipments.d.ts +16 -0
  749. package/dist/website_sale/shipments.js +113 -0
  750. package/dist/website_sale/shop.d.ts +81 -0
  751. package/dist/website_sale/shop.js +662 -0
  752. package/dist/website_sale_stock/.kosh/bindings.d.ts +22 -0
  753. package/dist/website_sale_stock/.kosh/bindings.js +15 -0
  754. package/dist/website_sale_stock/.kosh/schema.d.ts +3400 -0
  755. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  756. package/dist/website_sale_stock/i18n/bn.js +4 -0
  757. package/dist/website_sale_stock/index.d.ts +9 -0
  758. package/dist/website_sale_stock/index.js +22 -0
  759. package/dist/website_sale_stock/module.d.ts +11 -0
  760. package/dist/website_sale_stock/module.js +32 -0
  761. package/package.json +117 -8
  762. package/dist/mrp/index.d.ts +0 -3
  763. package/dist/mrp/index.js +0 -392
  764. package/dist/mrp/module.js +0 -695
  765. package/dist/mrp_account/index.d.ts +0 -3
  766. package/dist/mrp_account/index.js +0 -22
  767. /package/dist/{mrp → account_asset}/.kosh/bindings.d.ts +0 -0
  768. /package/dist/{mrp_account → account_budget}/.kosh/bindings.d.ts +0 -0
@@ -1,13 +1,17 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: d9f8e844230b1ef6
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
 
5
5
  /** Model name → model type (RFC 0002 §7.7). */
6
6
  export interface SchemaView {
7
7
  readonly 'account.tax': AccountTax;
8
+ readonly 'approval.delegation': ApprovalDelegation;
9
+ readonly 'approval.event': ApprovalEvent;
8
10
  readonly 'approval.level': ApprovalLevel;
11
+ readonly 'approval.link': ApprovalLink;
9
12
  readonly 'approval.policy': ApprovalPolicy;
10
13
  readonly 'approval.request': ApprovalRequest;
14
+ readonly 'approval.vote': ApprovalVote;
11
15
  readonly 'audit.event': AuditEvent;
12
16
  readonly 'auth.api_key': AuthApiKey;
13
17
  readonly 'auth.credential': AuthCredential;
@@ -29,14 +33,38 @@ export interface SchemaView {
29
33
  readonly 'oauth.code': OauthCode;
30
34
  readonly 'oauth.grant': OauthGrant;
31
35
  readonly 'oauth.token': OauthToken;
36
+ readonly 'product.attribute': ProductAttribute;
37
+ readonly 'product.attribute.value': ProductAttributeValue;
32
38
  readonly 'product.category': ProductCategory;
39
+ readonly 'product.pricelist': ProductPricelist;
40
+ readonly 'product.pricelist.rule': ProductPricelistRule;
33
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;
34
50
  readonly 'purchase.order': PurchaseOrder;
35
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;
36
63
  readonly 'res.company': ResCompany;
37
64
  readonly 'res.currency': ResCurrency;
38
65
  readonly 'res.partner': ResPartner;
39
66
  readonly 'res.partner.tag': ResPartnerTag;
67
+ readonly 'res.segment': ResSegment;
40
68
  readonly 'res.users': ResUsers;
41
69
  readonly 'stock.count': StockCount;
42
70
  readonly 'stock.count.line': StockCountLine;
@@ -45,8 +73,13 @@ export interface SchemaView {
45
73
  readonly 'stock.lot.line': StockLotLine;
46
74
  readonly 'stock.move': StockMove;
47
75
  readonly 'stock.picking': StockPicking;
76
+ readonly 'stock.picking.charge': StockPickingCharge;
77
+ readonly 'stock.picking.extra': StockPickingExtra;
78
+ readonly 'stock.putaway': StockPutaway;
48
79
  readonly 'stock.quant': StockQuant;
80
+ readonly 'stock.reorder': StockReorder;
49
81
  readonly 'stock.reservation': StockReservation;
82
+ readonly 'stock.return.reason': StockReturnReason;
50
83
  readonly 'stock.scrap': StockScrap;
51
84
  readonly 'stock.warehouse': StockWarehouse;
52
85
  readonly 'storage.attachment': StorageAttachment;
@@ -81,6 +114,52 @@ export interface AccountTax {
81
114
  export interface AccountTaxMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'account.tax'> {
82
115
  }
83
116
 
117
+ /** `approval.delegation` (owner: permissions). */
118
+ export interface ApprovalDelegation {
119
+ readonly name: 'approval.delegation';
120
+ readonly fields: {
121
+ readonly id: F.Id<'approval.delegation'>;
122
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
123
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
124
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
125
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
126
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
127
+ readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
128
+ readonly delegate: F.Many2one<'res.users', { readonly required: true }>;
129
+ readonly dateFrom: F.DateOnly<{ readonly required: true }>;
130
+ readonly dateTo: F.DateOnly<{ readonly required: true }>;
131
+ readonly note: F.Char;
132
+ };
133
+ readonly methods: ApprovalDelegationMethods;
134
+ }
135
+
136
+ /** Methods of `approval.delegation`: declared ones and transitions. */
137
+ export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
138
+ }
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
+
84
163
  /** `approval.level` (owner: permissions). */
85
164
  export interface ApprovalLevel {
86
165
  readonly name: 'approval.level';
@@ -95,7 +174,16 @@ export interface ApprovalLevel {
95
174
  readonly sequence: F.Integer<{ readonly default: true }>;
96
175
  readonly name: F.Char<{ readonly required: true }>;
97
176
  readonly condition: F.Json;
98
- readonly approverRole: F.Char<{ readonly required: 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 }>;
180
+ readonly approverRole: F.Char;
181
+ readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
182
+ readonly approverField: F.Char;
183
+ readonly quorum: F.Selection<'any' | 'all' | 'count', { readonly required: true; readonly default: true }>;
184
+ readonly quorumCount: F.Integer;
185
+ readonly deadlineHours: F.Integer;
186
+ readonly escalateRole: F.Char;
99
187
  };
100
188
  readonly methods: ApprovalLevelMethods;
101
189
  }
@@ -104,6 +192,29 @@ export interface ApprovalLevel {
104
192
  export interface ApprovalLevelMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.level'> {
105
193
  }
106
194
 
195
+ /** `approval.link` (owner: permissions). */
196
+ export interface ApprovalLink {
197
+ readonly name: 'approval.link';
198
+ readonly fields: {
199
+ readonly id: F.Id<'approval.link'>;
200
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
201
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
202
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
203
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
204
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
205
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
206
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
207
+ readonly tokenHash: F.Char<{ readonly required: true }>;
208
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
209
+ readonly usedAt: F.Datetime;
210
+ };
211
+ readonly methods: ApprovalLinkMethods;
212
+ }
213
+
214
+ /** Methods of `approval.link`: declared ones and transitions. */
215
+ export interface ApprovalLinkMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.link'> {
216
+ }
217
+
107
218
  /** `approval.policy` (owner: permissions). */
108
219
  export interface ApprovalPolicy {
109
220
  readonly name: 'approval.policy';
@@ -119,8 +230,18 @@ export interface ApprovalPolicy {
119
230
  readonly targetModel: F.Char<{ readonly required: true }>;
120
231
  readonly sequence: F.Integer<{ readonly default: true }>;
121
232
  readonly company: F.Many2one<'res.company'>;
233
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
234
+ readonly segment: F.Many2one<'res.segment'>;
122
235
  readonly onApproved: F.Char;
123
236
  readonly onRejected: F.Char;
237
+ readonly onSentBack: F.Char;
238
+ readonly onWithdrawn: F.Char;
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 }>;
124
245
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
125
246
  };
126
247
  readonly methods: ApprovalPolicyMethods;
@@ -147,8 +268,19 @@ export interface ApprovalRequest {
147
268
  readonly targetModel: F.Char<{ readonly required: true }>;
148
269
  readonly targetId: F.Integer<{ readonly required: true }>;
149
270
  readonly company: F.Many2one<'res.company'>;
150
- readonly approverRole: F.Char<{ readonly required: true }>;
151
- readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'cancelled', { readonly required: true; readonly default: true }>;
271
+ readonly approverRole: F.Char;
272
+ readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
273
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
274
+ readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
275
+ readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
276
+ readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
277
+ readonly dueAt: F.Datetime;
278
+ readonly remindedAt: F.Datetime;
279
+ readonly escalatedTo: F.Char;
280
+ readonly escalatedAt: F.Datetime;
281
+ readonly startedAt: F.Datetime;
282
+ readonly explanation: F.Text;
283
+ readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
152
284
  readonly requestedBy: F.Many2one<'res.users'>;
153
285
  readonly decidedBy: F.Many2one<'res.users'>;
154
286
  readonly decidedAt: F.Datetime;
@@ -161,6 +293,33 @@ export interface ApprovalRequest {
161
293
  export interface ApprovalRequestMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.request'> {
162
294
  }
163
295
 
296
+ /** `approval.vote` (owner: permissions). */
297
+ export interface ApprovalVote {
298
+ readonly name: 'approval.vote';
299
+ readonly fields: {
300
+ readonly id: F.Id<'approval.vote'>;
301
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
302
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
303
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
304
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
305
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
306
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
307
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
308
+ readonly decision: F.Selection<'approve' | 'reject' | 'send_back', { readonly required: true }>;
309
+ readonly comment: F.Text;
310
+ readonly at: F.Datetime<{ readonly required: true }>;
311
+ readonly onBehalfOf: F.Many2one<'res.users'>;
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 }>;
315
+ };
316
+ readonly methods: ApprovalVoteMethods;
317
+ }
318
+
319
+ /** Methods of `approval.vote`: declared ones and transitions. */
320
+ export interface ApprovalVoteMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.vote'> {
321
+ }
322
+
164
323
  /** `audit.event` (owner: base). */
165
324
  export interface AuditEvent {
166
325
  readonly name: 'audit.event';
@@ -674,6 +833,53 @@ export interface OauthToken {
674
833
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
675
834
  }
676
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
+
677
883
  /** `product.category` (owner: product). */
678
884
  export interface ProductCategory {
679
885
  readonly name: 'product.category';
@@ -684,8 +890,10 @@ export interface ProductCategory {
684
890
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
685
891
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
686
892
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
893
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
687
894
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
688
895
  readonly parent: F.Many2one<'product.category'>;
896
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
689
897
  };
690
898
  readonly methods: ProductCategoryMethods;
691
899
  }
@@ -694,6 +902,66 @@ export interface ProductCategory {
694
902
  export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
695
903
  }
696
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
+
697
965
  /** `product.product` (owner: product; extended by: stock). */
698
966
  export interface ProductProduct {
699
967
  readonly name: 'product.product';
@@ -709,8 +977,11 @@ export interface ProductProduct {
709
977
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
710
978
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
711
979
  readonly category: F.Many2one<'product.category'>;
980
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
712
981
  readonly uom: F.Many2one<'uom.uom'>;
713
982
  readonly barcode: F.Char;
983
+ readonly weight: F.Decimal;
984
+ readonly volume: F.Decimal;
714
985
  readonly image: F.Many2one<'storage.attachment'>;
715
986
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
716
987
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -721,6 +992,9 @@ export interface ProductProduct {
721
992
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
722
993
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
723
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 }>;
724
998
  readonly tracking: F.Selection<'none' | 'lot' | 'serial', { readonly required: true; readonly default: true }>; // stock
725
999
  readonly lots: F.One2many<'stock.lot', { readonly required: true }>; // stock
726
1000
  readonly quants: F.One2many<'stock.quant', { readonly required: true }>; // stock
@@ -735,6 +1009,244 @@ export interface ProductProduct {
735
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'> {
736
1010
  }
737
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
+
738
1250
  /** `purchase.order` (owner: purchase; extended by: purchase_stock). */
739
1251
  export interface PurchaseOrder {
740
1252
  readonly name: 'purchase.order';
@@ -755,12 +1267,21 @@ export interface PurchaseOrder {
755
1267
  readonly datePlanned: F.DateOnly;
756
1268
  readonly origin: F.Char;
757
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 }>;
758
1276
  readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
759
1277
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
760
1278
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
761
1279
  readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
762
1280
  readonly state: F.State<'draft' | 'sent' | 'to_approve' | 'purchase' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
763
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
1283
+ readonly dropship: F.Bool<{ readonly required: true; readonly default: true }>; // purchase_stock
1284
+ readonly warehouse: F.Many2one<'stock.warehouse'>; // purchase_stock
764
1285
  readonly receiptState: F.Selection<'nothing' | 'to_receive' | 'partial' | 'received', { readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
765
1286
  };
766
1287
  readonly methods: PurchaseOrderMethods;
@@ -793,13 +1314,20 @@ export interface PurchaseOrderLine {
793
1314
  readonly name: F.Char<{ readonly required: true }>;
794
1315
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
795
1316
  readonly uom: F.Many2one<'uom.uom'>;
796
- 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 }>;
797
1321
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
798
1322
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
799
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'>;
800
1327
  readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
801
1328
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
802
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
803
1331
  readonly moves: F.One2many<'stock.move', { readonly required: true }>; // purchase_stock
804
1332
  readonly qtyReceived: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_stock
805
1333
  };
@@ -810,26 +1338,386 @@ export interface PurchaseOrderLine {
810
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'> {
811
1339
  }
812
1340
 
813
- /** `res.company` (owner: base; extended by: contacts, purchase). */
814
- export interface ResCompany {
815
- readonly name: 'res.company';
1341
+ /** `purchase.request` (owner: purchase). */
1342
+ export interface PurchaseRequest {
1343
+ readonly name: 'purchase.request';
816
1344
  readonly fields: {
817
- readonly id: F.Id<'res.company'>;
1345
+ readonly id: F.Id<'purchase.request'>;
818
1346
  readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
819
1347
  readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
820
1348
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
821
1349
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
822
1350
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
823
- readonly name: F.Char<{ readonly required: true }>;
824
- readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
825
- readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
826
- readonly accentColor: F.Char;
827
- readonly street: F.Char;
828
- readonly city: F.Char;
829
- readonly zip: F.Char;
830
- readonly email: F.Char;
831
- readonly phone: F.Char;
832
- readonly website: F.Char;
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
+
1701
+ /** `res.company` (owner: base; extended by: contacts, purchase). */
1702
+ export interface ResCompany {
1703
+ readonly name: 'res.company';
1704
+ readonly fields: {
1705
+ readonly id: F.Id<'res.company'>;
1706
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1707
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1708
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1709
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1710
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1711
+ readonly name: F.Char<{ readonly required: true }>;
1712
+ readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1713
+ readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
1714
+ readonly accentColor: F.Char;
1715
+ readonly street: F.Char;
1716
+ readonly city: F.Char;
1717
+ readonly zip: F.Char;
1718
+ readonly email: F.Char;
1719
+ readonly phone: F.Char;
1720
+ readonly website: F.Char;
833
1721
  readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
834
1722
  readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
835
1723
  readonly purchaseTerms: F.Text; // purchase
@@ -883,6 +1771,7 @@ export interface ResPartner {
883
1771
  readonly parent: F.Many2one<'res.partner'>;
884
1772
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
885
1773
  readonly email: F.Char;
1774
+ readonly lang: F.Selection<'en' | 'bn'>;
886
1775
  readonly phone: F.Char;
887
1776
  readonly mobile: F.Char;
888
1777
  readonly website: F.Char;
@@ -923,6 +1812,29 @@ export interface ResPartnerTag {
923
1812
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
924
1813
  }
925
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
+
926
1838
  /** `res.users` (owner: base). */
927
1839
  export interface ResUsers {
928
1840
  readonly name: 'res.users';
@@ -1023,7 +1935,9 @@ export interface StockLocation {
1023
1935
  readonly parentPath: F.Char<{ readonly readonly: true }>;
1024
1936
  readonly children: F.One2many<'stock.location', { readonly required: true }>;
1025
1937
  readonly warehouse: F.Many2one<'stock.warehouse'>;
1026
- 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 }>;
1940
+ readonly step: F.Selection<'input' | 'quality' | 'packing' | 'output'>;
1027
1941
  readonly fullName: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1028
1942
  };
1029
1943
  readonly methods: StockLocationMethods;
@@ -1043,6 +1957,7 @@ export interface StockLot {
1043
1957
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1044
1958
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1045
1959
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1960
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1046
1961
  readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1047
1962
  readonly name: F.Char<{ readonly required: true }>;
1048
1963
  readonly product: F.Many2one<'product.product', { readonly required: true }>;
@@ -1099,8 +2014,12 @@ export interface StockMove {
1099
2014
  readonly uom: F.Many2one<'uom.uom'>;
1100
2015
  readonly productQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1101
2016
  readonly quantityDone: F.Decimal;
2017
+ readonly returnOf: F.Many2one<'stock.move'>;
2018
+ readonly returns: F.One2many<'stock.move', { readonly required: true }>;
1102
2019
  readonly doneQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1103
2020
  readonly restrictLot: F.Many2one<'stock.lot'>;
2021
+ readonly procurement: F.Char;
2022
+ readonly destination: F.Many2one<'stock.location'>;
1104
2023
  readonly reservations: F.One2many<'stock.reservation', { readonly required: true }>;
1105
2024
  readonly reserved: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1106
2025
  readonly purchaseLine: F.Many2one<'purchase.order.line'>; // purchase_stock
@@ -1124,7 +2043,7 @@ export interface StockPicking {
1124
2043
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1125
2044
  readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1126
2045
  readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1127
- readonly kind: F.Selection<'receipt' | 'delivery' | 'internal' | 'adjustment' | 'production', { readonly required: true; readonly default: true }>;
2046
+ readonly kind: F.Selection<'receipt' | 'delivery' | 'internal' | 'adjustment' | 'production' | 'dropship', { readonly required: true; readonly default: true }>;
1128
2047
  readonly partner: F.Many2one<'res.partner'>;
1129
2048
  readonly warehouse: F.Many2one<'stock.warehouse'>;
1130
2049
  readonly source: F.Many2one<'stock.location', { readonly required: true }>;
@@ -1136,8 +2055,31 @@ export interface StockPicking {
1136
2055
  readonly moves: F.One2many<'stock.move', { readonly required: true }>;
1137
2056
  readonly lotLines: F.One2many<'stock.lot.line', { readonly required: true }>;
1138
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;
1139
2076
  readonly backorderOf: F.Many2one<'stock.picking'>;
1140
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'>;
2081
+ readonly next: F.Many2one<'stock.picking'>;
2082
+ readonly previousSteps: F.One2many<'stock.picking', { readonly required: true }>;
1141
2083
  readonly availability: F.Selection<'none' | 'partial' | 'full', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1142
2084
  readonly status: F.Selection<'draft' | 'waiting' | 'ready' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1143
2085
  readonly state: F.State<'draft' | 'confirmed' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
@@ -1156,6 +2098,76 @@ export interface StockPickingMethods extends F.Methods<typeof import('../../stoc
1156
2098
  readonly 'validate': () => Promise<void>;
1157
2099
  }
1158
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
+
2146
+ /** `stock.putaway` (owner: stock). */
2147
+ export interface StockPutaway {
2148
+ readonly name: 'stock.putaway';
2149
+ readonly fields: {
2150
+ readonly id: F.Id<'stock.putaway'>;
2151
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2152
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2153
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2154
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2155
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2156
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2157
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2158
+ readonly location: F.Many2one<'stock.location', { readonly required: true }>;
2159
+ readonly product: F.Many2one<'product.product'>;
2160
+ readonly category: F.Many2one<'product.category'>;
2161
+ readonly destination: F.Many2one<'stock.location', { readonly required: true }>;
2162
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
2163
+ };
2164
+ readonly methods: StockPutawayMethods;
2165
+ }
2166
+
2167
+ /** Methods of `stock.putaway`: declared ones and transitions. */
2168
+ export interface StockPutawayMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.putaway'> {
2169
+ }
2170
+
1159
2171
  /** `stock.quant` (owner: stock). */
1160
2172
  export interface StockQuant {
1161
2173
  readonly name: 'stock.quant';
@@ -1182,6 +2194,45 @@ export interface StockQuant {
1182
2194
  export interface StockQuantMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.quant'> {
1183
2195
  }
1184
2196
 
2197
+ /** `stock.reorder` (owner: stock; extended by: purchase_stock). */
2198
+ export interface StockReorder {
2199
+ readonly name: 'stock.reorder';
2200
+ readonly fields: {
2201
+ readonly id: F.Id<'stock.reorder'>;
2202
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2203
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2204
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2205
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2206
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2207
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2208
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
2209
+ readonly name: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
2210
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2211
+ readonly warehouse: F.Many2one<'stock.warehouse', { readonly required: true }>;
2212
+ readonly minimum: F.Decimal<{ readonly required: true; readonly default: true }>;
2213
+ readonly maximum: F.Decimal<{ readonly required: true; readonly default: true }>;
2214
+ readonly multiple: F.Decimal<{ readonly required: true; readonly default: true }>;
2215
+ readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
2216
+ readonly method: F.Selection<'buy' | 'make' | 'transfer' | 'dropship', { readonly required: true; readonly default: true }>;
2217
+ readonly trigger: F.Selection<'minmax' | 'order', { readonly required: true; readonly default: true }>;
2218
+ readonly vendor: F.Many2one<'res.partner'>;
2219
+ readonly sourceWarehouse: F.Many2one<'stock.warehouse'>;
2220
+ readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
2221
+ readonly snoozedUntil: F.DateOnly;
2222
+ readonly onHand: F.Decimal;
2223
+ readonly forecast: F.Decimal;
2224
+ readonly proposed: F.Decimal;
2225
+ readonly explanation: F.Text;
2226
+ readonly refreshedAt: F.Datetime;
2227
+ readonly lastOrder: F.Char;
2228
+ };
2229
+ readonly methods: StockReorderMethods;
2230
+ }
2231
+
2232
+ /** Methods of `stock.reorder`: declared ones and transitions. */
2233
+ export interface StockReorderMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.reorder'>, F.Methods<typeof import('../module.js').purchaseStockShutro, 'stock.reorder'> {
2234
+ }
2235
+
1185
2236
  /** `stock.reservation` (owner: stock). */
1186
2237
  export interface StockReservation {
1187
2238
  readonly name: 'stock.reservation';
@@ -1204,6 +2255,28 @@ export interface StockReservation {
1204
2255
  export interface StockReservationMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.reservation'> {
1205
2256
  }
1206
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
+
1207
2280
  /** `stock.scrap` (owner: stock). */
1208
2281
  export interface StockScrap {
1209
2282
  readonly name: 'stock.scrap';
@@ -1251,6 +2324,8 @@ export interface StockWarehouse {
1251
2324
  readonly code: F.Char<{ readonly required: true }>;
1252
2325
  readonly locations: F.One2many<'stock.location', { readonly required: true }>;
1253
2326
  readonly address: F.Many2one<'res.partner'>;
2327
+ readonly receptionSteps: F.Selection<'one' | 'two' | 'three', { readonly required: true; readonly default: true }>;
2328
+ readonly deliverySteps: F.Selection<'one' | 'two' | 'three', { readonly required: true; readonly default: true }>;
1254
2329
  };
1255
2330
  readonly methods: StockWarehouseMethods;
1256
2331
  }