shutro-erp 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/dist/account_asset/.kosh/bindings.js +1 -1
  2. package/dist/account_asset/.kosh/schema.d.ts +530 -8
  3. package/dist/account_asset/i18n/bn.d.ts +2 -0
  4. package/dist/account_asset/i18n/bn.js +97 -0
  5. package/dist/account_asset/index.js +2 -0
  6. package/dist/account_asset/module.d.ts +4899 -1445
  7. package/dist/account_budget/.kosh/bindings.js +1 -1
  8. package/dist/account_budget/.kosh/schema.d.ts +1130 -56
  9. package/dist/account_budget/i18n/bn.d.ts +2 -0
  10. package/dist/account_budget/i18n/bn.js +63 -0
  11. package/dist/account_budget/index.js +14 -0
  12. package/dist/account_budget/module.d.ts +17958 -4532
  13. package/dist/account_budget/module.js +15 -0
  14. package/dist/account_portal/.kosh/bindings.js +1 -1
  15. package/dist/account_portal/.kosh/schema.d.ts +530 -8
  16. package/dist/account_portal/i18n/bn.d.ts +2 -0
  17. package/dist/account_portal/i18n/bn.js +6 -0
  18. package/dist/account_portal/index.js +2 -0
  19. package/dist/account_portal/module.d.ts +5167 -1693
  20. package/dist/accounting/.kosh/bindings.js +1 -1
  21. package/dist/accounting/.kosh/schema.d.ts +530 -8
  22. package/dist/accounting/closing.js +1 -0
  23. package/dist/accounting/fiscal.d.ts +578 -0
  24. package/dist/accounting/fiscal.js +401 -0
  25. package/dist/accounting/followups.d.ts +618 -0
  26. package/dist/accounting/followups.js +420 -0
  27. package/dist/accounting/i18n/bn.d.ts +2 -0
  28. package/dist/accounting/i18n/bn.js +425 -0
  29. package/dist/accounting/index.d.ts +2 -0
  30. package/dist/accounting/index.js +649 -2
  31. package/dist/accounting/module.d.ts +4998 -1451
  32. package/dist/accounting/module.js +124 -18
  33. package/dist/accounting/statements.d.ts +878 -0
  34. package/dist/accounting/statements.js +728 -0
  35. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  36. package/dist/accounting/web/BankReconcilePage.js +138 -0
  37. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  38. package/dist/accounting/web/FollowupsPage.js +54 -0
  39. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  40. package/dist/accounting/web/PostingPreview.js +26 -0
  41. package/dist/accounting/web/index.d.ts +3 -0
  42. package/dist/accounting/web/index.js +9 -0
  43. package/dist/accounting/web/messages.js +140 -0
  44. package/dist/approvals/.kosh/bindings.js +1 -1
  45. package/dist/approvals/.kosh/schema.d.ts +272 -4
  46. package/dist/approvals/demo.d.ts +7 -0
  47. package/dist/approvals/demo.js +41 -0
  48. package/dist/approvals/i18n/bn.d.ts +2 -0
  49. package/dist/approvals/i18n/bn.js +133 -0
  50. package/dist/approvals/index.d.ts +19 -1
  51. package/dist/approvals/index.js +477 -7
  52. package/dist/approvals/mails.d.ts +7 -2
  53. package/dist/approvals/mails.js +8 -3
  54. package/dist/approvals/module.d.ts +2930 -1
  55. package/dist/approvals/module.js +468 -7
  56. package/dist/approvals/web/Config.d.ts +12 -0
  57. package/dist/approvals/web/Config.js +60 -0
  58. package/dist/approvals/web/Matrix.d.ts +9 -0
  59. package/dist/approvals/web/Matrix.js +26 -0
  60. package/dist/approvals/web/index.d.ts +3 -1
  61. package/dist/approvals/web/index.js +8 -1
  62. package/dist/approvals/web/messages.js +92 -0
  63. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  64. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  65. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  66. package/dist/approvals_purchase/i18n/bn.js +5 -0
  67. package/dist/approvals_purchase/index.d.ts +3 -0
  68. package/dist/approvals_purchase/index.js +47 -0
  69. package/dist/approvals_purchase/module.d.ts +12670 -0
  70. package/dist/approvals_purchase/module.js +84 -0
  71. package/dist/attendance/.kosh/bindings.js +1 -1
  72. package/dist/attendance/.kosh/schema.d.ts +59 -1
  73. package/dist/attendance/i18n/bn.d.ts +2 -0
  74. package/dist/attendance/i18n/bn.js +147 -0
  75. package/dist/attendance/index.js +3 -1
  76. package/dist/attendance/module.d.ts +452 -8
  77. package/dist/automation/engine.js +1 -1
  78. package/dist/calendar/.kosh/bindings.js +1 -1
  79. package/dist/calendar/.kosh/schema.d.ts +2 -1
  80. package/dist/calendar/i18n/bn.d.ts +2 -0
  81. package/dist/calendar/i18n/bn.js +80 -0
  82. package/dist/calendar/index.js +77 -0
  83. package/dist/calendar/module.d.ts +26 -0
  84. package/dist/calendar/module.js +14 -4
  85. package/dist/cli/apps.js +25 -5
  86. package/dist/cli/init.js +14 -4
  87. package/dist/cli/templates.d.ts +1 -1
  88. package/dist/cli/templates.js +34 -5
  89. package/dist/contacts/.kosh/bindings.js +1 -1
  90. package/dist/contacts/.kosh/schema.d.ts +2 -1
  91. package/dist/contacts/i18n/bn.d.ts +2 -0
  92. package/dist/contacts/i18n/bn.js +67 -0
  93. package/dist/contacts/index.js +3 -0
  94. package/dist/contacts/module.d.ts +42 -0
  95. package/dist/contacts/module.js +6 -1
  96. package/dist/crm/.kosh/bindings.js +1 -1
  97. package/dist/crm/.kosh/schema.d.ts +2 -1
  98. package/dist/crm/i18n/bn.d.ts +2 -0
  99. package/dist/crm/i18n/bn.js +80 -0
  100. package/dist/crm/index.js +22 -0
  101. package/dist/crm/module.d.ts +20 -0
  102. package/dist/crm/module.js +4 -2
  103. package/dist/documents/.kosh/bindings.js +1 -1
  104. package/dist/documents/.kosh/schema.d.ts +2 -1
  105. package/dist/documents/i18n/bn.d.ts +2 -0
  106. package/dist/documents/i18n/bn.js +83 -0
  107. package/dist/documents/index.js +128 -1
  108. package/dist/documents/module.d.ts +20 -0
  109. package/dist/documents/module.js +1 -0
  110. package/dist/event/.kosh/bindings.js +1 -1
  111. package/dist/event/.kosh/schema.d.ts +2 -1
  112. package/dist/event/i18n/bn.d.ts +2 -0
  113. package/dist/event/i18n/bn.js +101 -0
  114. package/dist/event/index.js +66 -0
  115. package/dist/event/module.d.ts +20 -0
  116. package/dist/event/module.js +8 -1
  117. package/dist/event_account/.kosh/bindings.js +1 -1
  118. package/dist/event_account/.kosh/schema.d.ts +530 -8
  119. package/dist/event_account/i18n/bn.d.ts +2 -0
  120. package/dist/event_account/i18n/bn.js +5 -0
  121. package/dist/event_account/index.js +2 -0
  122. package/dist/event_account/module.d.ts +4905 -1431
  123. package/dist/expense/.kosh/bindings.js +1 -1
  124. package/dist/expense/.kosh/schema.d.ts +323 -2
  125. package/dist/expense/i18n/bn.d.ts +2 -0
  126. package/dist/expense/i18n/bn.js +155 -0
  127. package/dist/expense/index.js +8 -1
  128. package/dist/expense/module.d.ts +2715 -694
  129. package/dist/expense/module.js +3 -1
  130. package/dist/expense_account/.kosh/bindings.js +1 -1
  131. package/dist/expense_account/.kosh/schema.d.ts +587 -8
  132. package/dist/expense_account/i18n/bn.d.ts +2 -0
  133. package/dist/expense_account/i18n/bn.js +15 -0
  134. package/dist/expense_account/index.js +2 -0
  135. package/dist/expense_account/module.d.ts +8094 -2619
  136. package/dist/helpdesk/.kosh/bindings.js +1 -1
  137. package/dist/helpdesk/.kosh/schema.d.ts +2 -1
  138. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  139. package/dist/helpdesk/i18n/bn.js +127 -0
  140. package/dist/helpdesk/index.js +2 -0
  141. package/dist/helpdesk/module.d.ts +20 -0
  142. package/dist/hr/.kosh/bindings.js +1 -1
  143. package/dist/hr/.kosh/schema.d.ts +59 -1
  144. package/dist/hr/demo.js +11 -1
  145. package/dist/hr/i18n/bn.d.ts +2 -0
  146. package/dist/hr/i18n/bn.js +126 -0
  147. package/dist/hr/index.d.ts +1 -1
  148. package/dist/hr/index.js +158 -12
  149. package/dist/hr/module.d.ts +932 -59
  150. package/dist/hr/module.js +114 -17
  151. package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
  152. package/dist/indent/.kosh/schema.d.ts +2084 -0
  153. package/dist/indent/demo.d.ts +7 -0
  154. package/dist/indent/demo.js +48 -0
  155. package/dist/indent/i18n/bn.d.ts +2 -0
  156. package/dist/indent/i18n/bn.js +143 -0
  157. package/dist/indent/index.d.ts +3 -0
  158. package/dist/indent/index.js +450 -0
  159. package/dist/{mrp → indent}/module.d.ts +7164 -3075
  160. package/dist/indent/module.js +792 -0
  161. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  162. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  163. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  164. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  165. package/dist/indent_purchase/i18n/bn.js +13 -0
  166. package/dist/indent_purchase/index.d.ts +3 -0
  167. package/dist/indent_purchase/index.js +61 -0
  168. package/dist/indent_purchase/module.d.ts +27950 -0
  169. package/dist/indent_purchase/module.js +163 -0
  170. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  171. package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
  172. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  173. package/dist/l10n_bd/i18n/bn.js +69 -0
  174. package/dist/l10n_bd/index.js +2 -0
  175. package/dist/l10n_bd/module.d.ts +5167 -1693
  176. package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
  177. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
  178. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  179. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  180. package/dist/l10n_bd_payroll/index.js +2 -0
  181. package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
  182. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  183. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  184. package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
  185. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  186. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  187. package/dist/l10n_bd_pos/index.d.ts +3 -0
  188. package/dist/l10n_bd_pos/index.js +111 -0
  189. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
  190. package/dist/l10n_bd_pos/module.js +43 -0
  191. package/dist/l10n_in/.kosh/bindings.js +1 -1
  192. package/dist/l10n_in/.kosh/schema.d.ts +530 -8
  193. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  194. package/dist/l10n_in/i18n/bn.js +95 -0
  195. package/dist/l10n_in/index.js +2 -0
  196. package/dist/l10n_in/module.d.ts +6703 -1652
  197. package/dist/l10n_in/module.js +25 -5
  198. package/dist/l10n_in/web/GstSettings.js +2 -2
  199. package/dist/mail/inbound/handle.js +2 -4
  200. package/dist/mail/inbound/models.js +5 -3
  201. package/dist/mail/index.d.ts +12 -1
  202. package/dist/mail/index.js +139 -2
  203. package/dist/mail/send.d.ts +56 -0
  204. package/dist/mail/send.js +394 -0
  205. package/dist/mail/web/SendButton.d.ts +9 -0
  206. package/dist/mail/web/SendButton.js +71 -0
  207. package/dist/mail/web/SendSelected.d.ts +8 -0
  208. package/dist/mail/web/SendSelected.js +33 -0
  209. package/dist/mail/web/index.d.ts +2 -0
  210. package/dist/mail/web/index.js +6 -0
  211. package/dist/mail/web/messages.js +36 -0
  212. package/dist/maintenance/.kosh/bindings.js +1 -1
  213. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  214. package/dist/maintenance/i18n/bn.d.ts +2 -0
  215. package/dist/maintenance/i18n/bn.js +132 -0
  216. package/dist/maintenance/index.js +85 -0
  217. package/dist/maintenance/module.d.ts +25 -0
  218. package/dist/maintenance/module.js +27 -9
  219. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  220. package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
  221. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  222. package/dist/maintenance_stock/i18n/bn.js +21 -0
  223. package/dist/maintenance_stock/index.js +2 -0
  224. package/dist/maintenance_stock/module.d.ts +5302 -1256
  225. package/dist/maintenance_stock/module.js +1 -0
  226. package/dist/modules-sdk/apps.d.ts +10 -0
  227. package/dist/modules-sdk/apps.js +32 -0
  228. package/dist/modules-sdk/index.d.ts +1 -1
  229. package/dist/modules-sdk/manifest.d.ts +68 -2
  230. package/dist/payment/.kosh/bindings.js +1 -1
  231. package/dist/payment/.kosh/schema.d.ts +530 -8
  232. package/dist/payment/i18n/bn.d.ts +2 -0
  233. package/dist/payment/i18n/bn.js +59 -0
  234. package/dist/payment/index.js +85 -0
  235. package/dist/payment/module.d.ts +5134 -1660
  236. package/dist/payment/module.js +17 -3
  237. package/dist/payment/settle.js +1 -0
  238. package/dist/payroll/.kosh/bindings.js +1 -1
  239. package/dist/payroll/.kosh/schema.d.ts +59 -1
  240. package/dist/payroll/i18n/bn.d.ts +2 -0
  241. package/dist/payroll/i18n/bn.js +206 -0
  242. package/dist/payroll/index.js +2 -0
  243. package/dist/payroll/module.d.ts +936 -48
  244. package/dist/payroll_account/.kosh/bindings.js +1 -1
  245. package/dist/payroll_account/.kosh/schema.d.ts +587 -8
  246. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  247. package/dist/payroll_account/i18n/bn.js +10 -0
  248. package/dist/payroll_account/index.js +2 -0
  249. package/dist/payroll_account/module.d.ts +7534 -3192
  250. package/dist/permissions/approvals.d.ts +97 -4
  251. package/dist/permissions/approvals.js +780 -31
  252. package/dist/permissions/index.d.ts +1 -1
  253. package/dist/permissions/index.js +2 -2
  254. package/dist/permissions/models.js +177 -5
  255. package/dist/permissions/routes.d.ts +3 -0
  256. package/dist/permissions/routes.js +36 -2
  257. package/dist/permissions/web/ApprovalPanel.js +43 -5
  258. package/dist/permissions/web/messages.js +52 -0
  259. package/dist/portal/.kosh/bindings.js +1 -1
  260. package/dist/portal/.kosh/schema.d.ts +2 -1
  261. package/dist/portal/documents.d.ts +3 -0
  262. package/dist/portal/documents.js +21 -1
  263. package/dist/portal/i18n/bn.d.ts +2 -0
  264. package/dist/portal/i18n/bn.js +33 -0
  265. package/dist/portal/index.js +2 -0
  266. package/dist/portal/module.d.ts +20 -0
  267. package/dist/portal/routes-documents.js +76 -0
  268. package/dist/pos/.kosh/bindings.js +1 -1
  269. package/dist/pos/.kosh/schema.d.ts +531 -8
  270. package/dist/pos/i18n/bn.d.ts +2 -0
  271. package/dist/pos/i18n/bn.js +133 -0
  272. package/dist/pos/index.js +83 -1
  273. package/dist/pos/module.d.ts +6888 -1777
  274. package/dist/pos/module.js +49 -5
  275. package/dist/pos/routes.js +80 -7
  276. package/dist/pos/web/Register.js +2 -5
  277. package/dist/pos_stock/.kosh/bindings.js +1 -1
  278. package/dist/pos_stock/.kosh/schema.d.ts +626 -9
  279. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  280. package/dist/pos_stock/i18n/bn.js +6 -0
  281. package/dist/pos_stock/index.js +2 -0
  282. package/dist/pos_stock/module.d.ts +10798 -3276
  283. package/dist/product/.kosh/bindings.js +1 -1
  284. package/dist/product/.kosh/schema.d.ts +202 -1
  285. package/dist/product/i18n/bn.d.ts +2 -0
  286. package/dist/product/i18n/bn.js +175 -0
  287. package/dist/product/index.d.ts +1 -0
  288. package/dist/product/index.js +288 -1
  289. package/dist/product/module.d.ts +1725 -0
  290. package/dist/product/module.js +66 -6
  291. package/dist/product/pricelist.d.ts +575 -0
  292. package/dist/product/pricelist.js +257 -0
  293. package/dist/product/variants.d.ts +908 -0
  294. package/dist/product/variants.js +251 -0
  295. package/dist/production/.kosh/bindings.d.ts +22 -0
  296. package/dist/production/.kosh/bindings.js +15 -0
  297. package/dist/production/.kosh/schema.d.ts +2345 -0
  298. package/dist/{mrp → production}/demo.d.ts +1 -1
  299. package/dist/{mrp → production}/demo.js +5 -5
  300. package/dist/production/depth.d.ts +790 -0
  301. package/dist/production/depth.js +262 -0
  302. package/dist/production/i18n/bn.d.ts +2 -0
  303. package/dist/production/i18n/bn.js +350 -0
  304. package/dist/production/index.d.ts +6 -0
  305. package/dist/production/index.js +1256 -0
  306. package/dist/production/module.d.ts +17327 -0
  307. package/dist/production/module.js +1333 -0
  308. package/dist/production/plan.d.ts +921 -0
  309. package/dist/production/plan.js +511 -0
  310. package/dist/production/schedule.d.ts +656 -0
  311. package/dist/production/schedule.js +309 -0
  312. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  313. package/dist/production_account/.kosh/bindings.js +15 -0
  314. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  315. package/dist/production_account/i18n/bn.d.ts +2 -0
  316. package/dist/production_account/i18n/bn.js +93 -0
  317. package/dist/production_account/index.d.ts +4 -0
  318. package/dist/production_account/index.js +246 -0
  319. package/dist/production_account/module.d.ts +1192 -0
  320. package/dist/{mrp_account → production_account}/module.js +72 -18
  321. package/dist/production_account/overhead.d.ts +1195 -0
  322. package/dist/production_account/overhead.js +554 -0
  323. package/dist/project/.kosh/bindings.js +1 -1
  324. package/dist/project/.kosh/schema.d.ts +65 -2
  325. package/dist/project/i18n/bn.d.ts +2 -0
  326. package/dist/project/i18n/bn.js +383 -0
  327. package/dist/project/index.js +123 -0
  328. package/dist/project/module.d.ts +20 -0
  329. package/dist/project/module.js +73 -14
  330. package/dist/project_account/.kosh/bindings.js +1 -1
  331. package/dist/project_account/.kosh/schema.d.ts +530 -8
  332. package/dist/project_account/i18n/bn.d.ts +2 -0
  333. package/dist/project_account/i18n/bn.js +6 -0
  334. package/dist/project_account/index.js +2 -0
  335. package/dist/project_account/module.d.ts +4926 -1452
  336. package/dist/project_portal/.kosh/bindings.js +1 -1
  337. package/dist/project_portal/.kosh/schema.d.ts +65 -2
  338. package/dist/project_portal/i18n/bn.d.ts +2 -0
  339. package/dist/project_portal/i18n/bn.js +6 -0
  340. package/dist/project_portal/index.js +2 -0
  341. package/dist/project_portal/module.d.ts +40 -0
  342. package/dist/project_purchase/.kosh/bindings.js +1 -1
  343. package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
  344. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  345. package/dist/project_purchase/i18n/bn.js +4 -0
  346. package/dist/project_purchase/index.js +2 -0
  347. package/dist/project_purchase/module.d.ts +17912 -4446
  348. package/dist/purchase/.kosh/bindings.js +1 -1
  349. package/dist/purchase/.kosh/schema.d.ts +813 -3
  350. package/dist/purchase/comparison.d.ts +993 -0
  351. package/dist/purchase/comparison.js +415 -0
  352. package/dist/purchase/extras.d.ts +1509 -0
  353. package/dist/purchase/extras.js +445 -0
  354. package/dist/purchase/i18n/bn.d.ts +2 -0
  355. package/dist/purchase/i18n/bn.js +413 -0
  356. package/dist/purchase/index.d.ts +5 -0
  357. package/dist/purchase/index.js +1280 -4
  358. package/dist/purchase/module.d.ts +7139 -398
  359. package/dist/purchase/module.js +295 -11
  360. package/dist/purchase/request.d.ts +696 -0
  361. package/dist/purchase/request.js +446 -0
  362. package/dist/purchase/tender.d.ts +1208 -0
  363. package/dist/purchase/tender.js +507 -0
  364. package/dist/purchase/vendorprice.d.ts +340 -0
  365. package/dist/purchase/vendorprice.js +153 -0
  366. package/dist/purchase_account/.kosh/bindings.js +1 -1
  367. package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
  368. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  369. package/dist/purchase_account/i18n/bn.js +22 -0
  370. package/dist/purchase_account/index.js +19 -0
  371. package/dist/purchase_account/module.d.ts +12276 -2247
  372. package/dist/purchase_account/module.js +241 -9
  373. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  374. package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
  375. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  376. package/dist/purchase_portal/i18n/bn.js +5 -0
  377. package/dist/purchase_portal/index.js +2 -0
  378. package/dist/purchase_portal/module.d.ts +6849 -353
  379. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  380. package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
  381. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  382. package/dist/purchase_stock/i18n/bn.js +19 -0
  383. package/dist/purchase_stock/index.d.ts +1 -1
  384. package/dist/purchase_stock/index.js +29 -0
  385. package/dist/purchase_stock/module.d.ts +12410 -1864
  386. package/dist/purchase_stock/module.js +81 -9
  387. package/dist/purchase_stock/scorecard.d.ts +22 -0
  388. package/dist/purchase_stock/scorecard.js +77 -0
  389. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  390. package/dist/purchase_stock/web/Scorecard.js +22 -0
  391. package/dist/purchase_stock/web/index.d.ts +11 -0
  392. package/dist/purchase_stock/web/index.js +16 -0
  393. package/dist/purchase_stock/web/messages.d.ts +2 -0
  394. package/dist/purchase_stock/web/messages.js +27 -0
  395. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  396. package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
  397. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  398. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  399. package/dist/purchase_stock_account/index.js +18 -0
  400. package/dist/purchase_stock_account/module.d.ts +7 -37995
  401. package/dist/purchase_stock_account/module.js +24 -3
  402. package/dist/recruitment/.kosh/bindings.js +1 -1
  403. package/dist/recruitment/.kosh/schema.d.ts +59 -1
  404. package/dist/recruitment/i18n/bn.d.ts +2 -0
  405. package/dist/recruitment/i18n/bn.js +93 -0
  406. package/dist/recruitment/index.js +64 -0
  407. package/dist/recruitment/module.d.ts +458 -8
  408. package/dist/recruitment/module.js +11 -3
  409. package/dist/reporting/documents.d.ts +5 -0
  410. package/dist/reporting/documents.js +11 -1
  411. package/dist/reporting/index.d.ts +1 -1
  412. package/dist/reporting/index.js +1 -1
  413. package/dist/reporting/web/CalendarView.d.ts +18 -5
  414. package/dist/reporting/web/CalendarView.js +163 -29
  415. package/dist/reporting/web/messages.js +18 -0
  416. package/dist/sale_account/.kosh/bindings.js +1 -1
  417. package/dist/sale_account/.kosh/schema.d.ts +642 -16
  418. package/dist/sale_account/i18n/bn.d.ts +2 -0
  419. package/dist/sale_account/i18n/bn.js +48 -0
  420. package/dist/sale_account/index.d.ts +1 -1
  421. package/dist/sale_account/index.js +102 -4
  422. package/dist/sale_account/module.d.ts +8254 -2212
  423. package/dist/sale_account/module.js +535 -46
  424. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_crm/.kosh/bindings.js +15 -0
  426. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
  427. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  428. package/dist/sale_crm/i18n/bn.js +9 -0
  429. package/dist/sale_crm/index.d.ts +7 -0
  430. package/dist/sale_crm/index.js +104 -0
  431. package/dist/sale_crm/module.d.ts +5609 -0
  432. package/dist/sale_crm/module.js +73 -0
  433. package/dist/sale_portal/.kosh/bindings.js +1 -1
  434. package/dist/sale_portal/.kosh/schema.d.ts +291 -4
  435. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  436. package/dist/sale_portal/i18n/bn.js +7 -0
  437. package/dist/sale_portal/index.js +10 -0
  438. package/dist/sale_portal/module.d.ts +2564 -294
  439. package/dist/sale_project/.kosh/bindings.js +1 -1
  440. package/dist/sale_project/.kosh/schema.d.ts +354 -5
  441. package/dist/sale_project/i18n/bn.d.ts +2 -0
  442. package/dist/sale_project/i18n/bn.js +12 -0
  443. package/dist/sale_project/index.js +2 -0
  444. package/dist/sale_project/module.d.ts +6249 -2402
  445. package/dist/sale_stock/.kosh/bindings.js +1 -1
  446. package/dist/sale_stock/.kosh/schema.d.ts +387 -5
  447. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  448. package/dist/sale_stock/i18n/bn.js +15 -0
  449. package/dist/sale_stock/index.js +2 -0
  450. package/dist/sale_stock/module.d.ts +8057 -1759
  451. package/dist/sale_stock/module.js +20 -3
  452. package/dist/sales/.kosh/bindings.js +1 -1
  453. package/dist/sales/.kosh/schema.d.ts +291 -4
  454. package/dist/sales/i18n/bn.d.ts +2 -0
  455. package/dist/sales/i18n/bn.js +128 -0
  456. package/dist/sales/index.js +120 -5
  457. package/dist/sales/module.d.ts +3567 -633
  458. package/dist/sales/module.js +306 -11
  459. package/dist/server/api/duplicate.d.ts +14 -0
  460. package/dist/server/api/duplicate.js +75 -0
  461. package/dist/server/api/explain.d.ts +70 -0
  462. package/dist/server/api/explain.js +111 -0
  463. package/dist/server/api/metadata.d.ts +2 -0
  464. package/dist/server/api/metadata.js +9 -0
  465. package/dist/server/api/openapi.js +15 -0
  466. package/dist/server/api/rest.d.ts +1 -0
  467. package/dist/server/api/rest.js +76 -12
  468. package/dist/server/api/views.js +1 -1
  469. package/dist/server/apps.d.ts +16 -1
  470. package/dist/server/apps.js +164 -2
  471. package/dist/server/auth/base.js +2 -0
  472. package/dist/server/auth/service.d.ts +8 -0
  473. package/dist/server/auth/service.js +19 -0
  474. package/dist/server/events.d.ts +13 -0
  475. package/dist/server/events.js +22 -0
  476. package/dist/server/i18n.d.ts +27 -0
  477. package/dist/server/i18n.js +143 -0
  478. package/dist/server/index.d.ts +2 -0
  479. package/dist/server/index.js +2 -0
  480. package/dist/server/server.js +6 -0
  481. package/dist/settings/company.d.ts +3 -1
  482. package/dist/settings/company.js +26 -5
  483. package/dist/settings/routes.d.ts +10 -0
  484. package/dist/settings/routes.js +19 -3
  485. package/dist/settings/web/AppsPage.d.ts +3 -2
  486. package/dist/settings/web/AppsPage.js +26 -8
  487. package/dist/settings/web/CompaniesPage.js +91 -6
  488. package/dist/settings/web/messages.js +64 -0
  489. package/dist/sign/.kosh/bindings.js +1 -1
  490. package/dist/sign/.kosh/schema.d.ts +2 -1
  491. package/dist/sign/i18n/bn.d.ts +2 -0
  492. package/dist/sign/i18n/bn.js +97 -0
  493. package/dist/sign/index.d.ts +15 -0
  494. package/dist/sign/index.js +129 -1
  495. package/dist/sign/module.d.ts +40 -0
  496. package/dist/sign/module.js +11 -2
  497. package/dist/stock/.kosh/bindings.js +1 -1
  498. package/dist/stock/.kosh/schema.d.ts +298 -2
  499. package/dist/stock/i18n/bn.d.ts +2 -0
  500. package/dist/stock/i18n/bn.js +311 -0
  501. package/dist/stock/index.d.ts +3 -1
  502. package/dist/stock/index.js +442 -3
  503. package/dist/stock/ledger.d.ts +78 -0
  504. package/dist/stock/ledger.js +582 -0
  505. package/dist/stock/module.d.ts +5280 -2044
  506. package/dist/stock/module.js +222 -23
  507. package/dist/stock/replenish.js +16 -1
  508. package/dist/stock/returns.d.ts +157 -0
  509. package/dist/stock/returns.js +163 -0
  510. package/dist/stock/web/Ledger.d.ts +9 -0
  511. package/dist/stock/web/Ledger.js +108 -0
  512. package/dist/stock/web/Operations.d.ts +8 -0
  513. package/dist/stock/web/Operations.js +33 -0
  514. package/dist/stock/web/ReturnButton.d.ts +7 -0
  515. package/dist/stock/web/ReturnButton.js +62 -0
  516. package/dist/stock/web/index.d.ts +3 -0
  517. package/dist/stock/web/index.js +9 -0
  518. package/dist/stock/web/messages.js +154 -0
  519. package/dist/stock_account/.kosh/bindings.js +1 -1
  520. package/dist/stock_account/.kosh/schema.d.ts +682 -9
  521. package/dist/stock_account/i18n/bn.d.ts +2 -0
  522. package/dist/stock_account/i18n/bn.js +73 -0
  523. package/dist/stock_account/index.d.ts +1 -0
  524. package/dist/stock_account/index.js +131 -3
  525. package/dist/stock_account/landed.d.ts +429 -0
  526. package/dist/stock_account/landed.js +335 -0
  527. package/dist/stock_account/module.d.ts +11247 -3363
  528. package/dist/stock_account/module.js +135 -6
  529. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  530. package/dist/stock_account/web/LandedPreview.js +23 -0
  531. package/dist/stock_account/web/index.d.ts +11 -0
  532. package/dist/stock_account/web/index.js +16 -0
  533. package/dist/stock_account/web/messages.d.ts +2 -0
  534. package/dist/stock_account/web/messages.js +27 -0
  535. package/dist/todo/i18n/bn.d.ts +2 -0
  536. package/dist/todo/i18n/bn.js +66 -0
  537. package/dist/todo/index.js +59 -0
  538. package/dist/todo/module.d.ts +5 -0
  539. package/dist/todo/module.js +5 -3
  540. package/dist/trade_finance/.kosh/bindings.js +1 -1
  541. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  542. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  543. package/dist/trade_finance/i18n/bn.js +162 -0
  544. package/dist/trade_finance/index.js +93 -0
  545. package/dist/trade_finance/module.d.ts +26 -0
  546. package/dist/trade_finance/module.js +27 -8
  547. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  548. package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
  549. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  550. package/dist/trade_finance_account/i18n/bn.js +27 -0
  551. package/dist/trade_finance_account/index.js +2 -0
  552. package/dist/trade_finance_account/module.d.ts +4906 -1432
  553. package/dist/trade_finance_account/module.js +1 -0
  554. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  555. package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
  556. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  557. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  558. package/dist/trade_finance_purchase/index.js +2 -0
  559. package/dist/trade_finance_purchase/module.d.ts +6909 -413
  560. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  561. package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
  562. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  563. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  564. package/dist/trade_finance_sale/index.js +2 -0
  565. package/dist/trade_finance_sale/module.d.ts +2601 -331
  566. package/dist/ui/api.d.ts +2 -0
  567. package/dist/ui/app.d.ts +9 -0
  568. package/dist/ui/app.js +24 -4
  569. package/dist/ui/components/AppIcon.js +2 -2
  570. package/dist/ui/components/Explain.d.ts +69 -0
  571. package/dist/ui/components/Explain.js +62 -0
  572. package/dist/ui/context.d.ts +8 -1
  573. package/dist/ui/context.js +34 -1
  574. package/dist/ui/i18n/messages.d.ts +36 -0
  575. package/dist/ui/i18n/messages.js +72 -0
  576. package/dist/ui/index.d.ts +2 -1
  577. package/dist/ui/index.js +1 -0
  578. package/dist/ui/registry.d.ts +14 -0
  579. package/dist/ui/registry.js +10 -0
  580. package/dist/ui/views/FormView.d.ts +6 -0
  581. package/dist/ui/views/FormView.js +47 -10
  582. package/dist/ui/views/ListView.d.ts +8 -0
  583. package/dist/ui/views/ListView.js +10 -3
  584. package/dist/ui/views/StatsRow.js +2 -1
  585. package/dist/views/extend.js +12 -0
  586. package/dist/views/types.d.ts +13 -2
  587. package/dist/views/validate.js +8 -1
  588. package/dist/website/.kosh/bindings.js +1 -1
  589. package/dist/website/.kosh/schema.d.ts +2 -1
  590. package/dist/website/i18n/bn.d.ts +2 -0
  591. package/dist/website/i18n/bn.js +113 -0
  592. package/dist/website/index.js +36 -0
  593. package/dist/website/module.d.ts +20 -0
  594. package/dist/website/module.js +29 -5
  595. package/dist/website_crm/.kosh/bindings.js +1 -1
  596. package/dist/website_crm/.kosh/schema.d.ts +2 -1
  597. package/dist/website_crm/i18n/bn.d.ts +2 -0
  598. package/dist/website_crm/i18n/bn.js +5 -0
  599. package/dist/website_crm/index.js +2 -0
  600. package/dist/website_crm/module.d.ts +40 -0
  601. package/dist/website_sale/.kosh/bindings.js +1 -1
  602. package/dist/website_sale/.kosh/schema.d.ts +642 -17
  603. package/dist/website_sale/i18n/bn.d.ts +2 -0
  604. package/dist/website_sale/i18n/bn.js +132 -0
  605. package/dist/website_sale/index.js +83 -1
  606. package/dist/website_sale/module.d.ts +18705 -5550
  607. package/dist/website_sale/module.js +32 -10
  608. package/dist/website_sale/shop.js +22 -9
  609. package/dist/website_sale_stock/.kosh/bindings.js +1 -1
  610. package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
  611. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  612. package/dist/website_sale_stock/i18n/bn.js +4 -0
  613. package/dist/website_sale_stock/index.js +2 -0
  614. package/dist/website_sale_stock/module.d.ts +10 -24997
  615. package/dist/website_sale_stock/module.js +7 -3
  616. package/package.json +36 -8
  617. package/dist/mrp/index.d.ts +0 -3
  618. package/dist/mrp/index.js +0 -393
  619. package/dist/mrp/module.js +0 -757
  620. package/dist/mrp_account/index.d.ts +0 -3
  621. package/dist/mrp_account/index.js +0 -22
  622. /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
  623. /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 86cb3981e60d955c
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c0e9d4749f2265be
2
2
  // Bindings of module `sale_project`: import the definition API from here to get types scoped to what it can see.
3
3
  export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
4
4
  import { definitions } from '../../server/orm.js';
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 86cb3981e60d955c
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c0e9d4749f2265be
2
2
  // Schema view of module `sale_project` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -6,6 +6,7 @@ import type { F } from '../../server/orm.js';
6
6
  export interface SchemaView {
7
7
  readonly 'account.tax': AccountTax;
8
8
  readonly 'approval.delegation': ApprovalDelegation;
9
+ readonly 'approval.event': ApprovalEvent;
9
10
  readonly 'approval.level': ApprovalLevel;
10
11
  readonly 'approval.link': ApprovalLink;
11
12
  readonly 'approval.policy': ApprovalPolicy;
@@ -32,8 +33,15 @@ export interface SchemaView {
32
33
  readonly 'oauth.code': OauthCode;
33
34
  readonly 'oauth.grant': OauthGrant;
34
35
  readonly 'oauth.token': OauthToken;
36
+ readonly 'product.attribute': ProductAttribute;
37
+ readonly 'product.attribute.value': ProductAttributeValue;
35
38
  readonly 'product.category': ProductCategory;
39
+ readonly 'product.pricelist': ProductPricelist;
40
+ readonly 'product.pricelist.rule': ProductPricelistRule;
36
41
  readonly 'product.product': ProductProduct;
42
+ readonly 'product.template': ProductTemplate;
43
+ readonly 'product.template.exclusion': ProductTemplateExclusion;
44
+ readonly 'product.template.line': ProductTemplateLine;
37
45
  readonly 'project.budget.line': ProjectBudgetLine;
38
46
  readonly 'project.change': ProjectChange;
39
47
  readonly 'project.issue': ProjectIssue;
@@ -56,9 +64,13 @@ export interface SchemaView {
56
64
  readonly 'res.currency': ResCurrency;
57
65
  readonly 'res.partner': ResPartner;
58
66
  readonly 'res.partner.tag': ResPartnerTag;
67
+ readonly 'res.segment': ResSegment;
59
68
  readonly 'res.users': ResUsers;
60
69
  readonly 'sale.order': SaleOrder;
61
70
  readonly 'sale.order.line': SaleOrderLine;
71
+ readonly 'sale.order.option': SaleOrderOption;
72
+ readonly 'sale.order.template': SaleOrderTemplate;
73
+ readonly 'sale.order.template.line': SaleOrderTemplateLine;
62
74
  readonly 'storage.attachment': StorageAttachment;
63
75
  readonly 'uom.uom': UomUom;
64
76
  }
@@ -114,6 +126,29 @@ export interface ApprovalDelegation {
114
126
  export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
115
127
  }
116
128
 
129
+ /** `approval.event` (owner: permissions). */
130
+ export interface ApprovalEvent {
131
+ readonly name: 'approval.event';
132
+ readonly fields: {
133
+ readonly id: F.Id<'approval.event'>;
134
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
135
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
136
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
137
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
138
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
139
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
140
+ readonly at: F.Datetime<{ readonly required: true }>;
141
+ readonly user: F.Many2one<'res.users'>;
142
+ readonly kind: F.Selection<'created' | 'started' | 'voted' | 'approved' | 'rejected' | 'sent_back' | 'cancelled' | 'skipped' | 'reminded' | 'escalated' | 'auto' | 'reassigned' | 'synced' | 'notified', { readonly required: true }>;
143
+ readonly note: F.Text;
144
+ };
145
+ readonly methods: ApprovalEventMethods;
146
+ }
147
+
148
+ /** Methods of `approval.event`: declared ones and transitions. */
149
+ export interface ApprovalEventMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.event'> {
150
+ }
151
+
117
152
  /** `approval.level` (owner: permissions). */
118
153
  export interface ApprovalLevel {
119
154
  readonly name: 'approval.level';
@@ -128,7 +163,9 @@ export interface ApprovalLevel {
128
163
  readonly sequence: F.Integer<{ readonly default: true }>;
129
164
  readonly name: F.Char<{ readonly required: true }>;
130
165
  readonly condition: F.Json;
131
- readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
166
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'department_head' | 'department_approvers' | 'employee' | 'field' | 'record', { readonly required: true; readonly default: true }>;
167
+ readonly extraUsers: F.Many2many<'res.users', { readonly required: true }>;
168
+ readonly backupUsers: F.Many2many<'res.users', { readonly required: true }>;
132
169
  readonly approverRole: F.Char;
133
170
  readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
134
171
  readonly approverField: F.Char;
@@ -182,11 +219,18 @@ export interface ApprovalPolicy {
182
219
  readonly targetModel: F.Char<{ readonly required: true }>;
183
220
  readonly sequence: F.Integer<{ readonly default: true }>;
184
221
  readonly company: F.Many2one<'res.company'>;
222
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
223
+ readonly segment: F.Many2one<'res.segment'>;
185
224
  readonly onApproved: F.Char;
186
225
  readonly onRejected: F.Char;
187
226
  readonly onSentBack: F.Char;
188
227
  readonly onWithdrawn: F.Char;
189
228
  readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
229
+ readonly condition: F.Json;
230
+ readonly whenNobody: F.Selection<'refuse' | 'admins' | 'skip', { readonly required: true; readonly default: true }>;
231
+ readonly skipDuplicates: F.Bool<{ readonly required: true; readonly default: true }>;
232
+ readonly syncPending: F.Selection<'off' | 'add' | 'replace', { readonly required: true; readonly default: true }>;
233
+ readonly notifyOnSync: F.Bool<{ readonly required: true; readonly default: true }>;
190
234
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
191
235
  };
192
236
  readonly methods: ApprovalPolicyMethods;
@@ -215,6 +259,7 @@ export interface ApprovalRequest {
215
259
  readonly company: F.Many2one<'res.company'>;
216
260
  readonly approverRole: F.Char;
217
261
  readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
262
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
218
263
  readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
219
264
  readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
220
265
  readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
@@ -222,6 +267,8 @@ export interface ApprovalRequest {
222
267
  readonly remindedAt: F.Datetime;
223
268
  readonly escalatedTo: F.Char;
224
269
  readonly escalatedAt: F.Datetime;
270
+ readonly startedAt: F.Datetime;
271
+ readonly explanation: F.Text;
225
272
  readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
226
273
  readonly requestedBy: F.Many2one<'res.users'>;
227
274
  readonly decidedBy: F.Many2one<'res.users'>;
@@ -252,6 +299,8 @@ export interface ApprovalVote {
252
299
  readonly at: F.Datetime<{ readonly required: true }>;
253
300
  readonly onBehalfOf: F.Many2one<'res.users'>;
254
301
  readonly ip: F.Char;
302
+ readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
303
+ readonly asBackup: F.Bool<{ readonly required: true; readonly default: true }>;
255
304
  };
256
305
  readonly methods: ApprovalVoteMethods;
257
306
  }
@@ -773,6 +822,53 @@ export interface OauthToken {
773
822
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
774
823
  }
775
824
 
825
+ /** `product.attribute` (owner: product). */
826
+ export interface ProductAttribute {
827
+ readonly name: 'product.attribute';
828
+ readonly fields: {
829
+ readonly id: F.Id<'product.attribute'>;
830
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
831
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
832
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
833
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
834
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
835
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
836
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
837
+ readonly display: F.Selection<'list' | 'radio' | 'swatch' | 'size', { readonly required: true; readonly default: true }>;
838
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
839
+ readonly values: F.One2many<'product.attribute.value', { readonly required: true }>;
840
+ };
841
+ readonly methods: ProductAttributeMethods;
842
+ }
843
+
844
+ /** Methods of `product.attribute`: declared ones and transitions. */
845
+ export interface ProductAttributeMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute'> {
846
+ }
847
+
848
+ /** `product.attribute.value` (owner: product). */
849
+ export interface ProductAttributeValue {
850
+ readonly name: 'product.attribute.value';
851
+ readonly fields: {
852
+ readonly id: F.Id<'product.attribute.value'>;
853
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
854
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
855
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
856
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
857
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
858
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
859
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
860
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
861
+ readonly color: F.Char;
862
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
863
+ readonly extraPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
864
+ };
865
+ readonly methods: ProductAttributeValueMethods;
866
+ }
867
+
868
+ /** Methods of `product.attribute.value`: declared ones and transitions. */
869
+ export interface ProductAttributeValueMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute.value'> {
870
+ }
871
+
776
872
  /** `product.category` (owner: product). */
777
873
  export interface ProductCategory {
778
874
  readonly name: 'product.category';
@@ -786,6 +882,7 @@ export interface ProductCategory {
786
882
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
787
883
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
788
884
  readonly parent: F.Many2one<'product.category'>;
885
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
789
886
  };
790
887
  readonly methods: ProductCategoryMethods;
791
888
  }
@@ -794,6 +891,66 @@ export interface ProductCategory {
794
891
  export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
795
892
  }
796
893
 
894
+ /** `product.pricelist` (owner: product). */
895
+ export interface ProductPricelist {
896
+ readonly name: 'product.pricelist';
897
+ readonly fields: {
898
+ readonly id: F.Id<'product.pricelist'>;
899
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
900
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
901
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
902
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
903
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
904
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
905
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
906
+ readonly sequence: F.Integer<{ readonly default: true }>;
907
+ readonly currency: F.Many2one<'res.currency'>;
908
+ readonly company: F.Many2one<'res.company'>;
909
+ readonly rules: F.One2many<'product.pricelist.rule', { readonly required: true }>;
910
+ readonly note: F.Text;
911
+ };
912
+ readonly methods: ProductPricelistMethods;
913
+ }
914
+
915
+ /** Methods of `product.pricelist`: declared ones and transitions. */
916
+ export interface ProductPricelistMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist'> {
917
+ }
918
+
919
+ /** `product.pricelist.rule` (owner: product). */
920
+ export interface ProductPricelistRule {
921
+ readonly name: 'product.pricelist.rule';
922
+ readonly fields: {
923
+ readonly id: F.Id<'product.pricelist.rule'>;
924
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
925
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
926
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
927
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
928
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
929
+ readonly pricelist: F.Many2one<'product.pricelist', { readonly required: true }>;
930
+ readonly sequence: F.Integer<{ readonly default: true }>;
931
+ readonly appliesTo: F.Selection<'all' | 'category' | 'product', { readonly required: true; readonly default: true }>;
932
+ readonly product: F.Many2one<'product.product'>;
933
+ readonly category: F.Many2one<'product.category'>;
934
+ readonly minQuantity: F.Decimal<{ readonly default: true }>;
935
+ readonly dateFrom: F.DateOnly;
936
+ readonly dateTo: F.DateOnly;
937
+ readonly compute: F.Selection<'fixed' | 'discount' | 'formula', { readonly required: true; readonly default: true }>;
938
+ readonly fixedPrice: F.Decimal;
939
+ readonly base: F.Selection<'list' | 'cost' | 'pricelist', { readonly required: true; readonly default: true }>;
940
+ readonly basePricelist: F.Many2one<'product.pricelist'>;
941
+ readonly discount: F.Decimal<{ readonly default: true }>;
942
+ readonly surcharge: F.Decimal<{ readonly default: true }>;
943
+ readonly rounding: F.Decimal<{ readonly default: true }>;
944
+ readonly minMargin: F.Decimal;
945
+ readonly maxMargin: F.Decimal;
946
+ };
947
+ readonly methods: ProductPricelistRuleMethods;
948
+ }
949
+
950
+ /** Methods of `product.pricelist.rule`: declared ones and transitions. */
951
+ export interface ProductPricelistRuleMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist.rule'> {
952
+ }
953
+
797
954
  /** `product.product` (owner: product; extended by: sale_project). */
798
955
  export interface ProductProduct {
799
956
  readonly name: 'product.product';
@@ -809,8 +966,11 @@ export interface ProductProduct {
809
966
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
810
967
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
811
968
  readonly category: F.Many2one<'product.category'>;
969
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
812
970
  readonly uom: F.Many2one<'uom.uom'>;
813
971
  readonly barcode: F.Char;
972
+ readonly weight: F.Decimal;
973
+ readonly volume: F.Decimal;
814
974
  readonly image: F.Many2one<'storage.attachment'>;
815
975
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
816
976
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -821,6 +981,9 @@ export interface ProductProduct {
821
981
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
822
982
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
823
983
  readonly description: F.Text<{ readonly translate: true }>;
984
+ readonly template: F.Many2one<'product.template'>;
985
+ readonly attributeValues: F.Many2many<'product.attribute.value', { readonly required: true }>;
986
+ readonly followsTemplatePrice: F.Bool<{ readonly required: true; readonly default: true }>;
824
987
  readonly serviceTracking: F.Selection<'none' | 'task' | 'project', { readonly required: true; readonly default: true }>; // sale_project
825
988
  readonly project: F.Many2one<'project.project'>; // sale_project
826
989
  };
@@ -831,6 +994,86 @@ export interface ProductProduct {
831
994
  export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../module.js').saleProjectShutro, 'product.product'> {
832
995
  }
833
996
 
997
+ /** `product.template` (owner: product). */
998
+ export interface ProductTemplate {
999
+ readonly name: 'product.template';
1000
+ readonly fields: {
1001
+ readonly id: F.Id<'product.template'>;
1002
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1003
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1004
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1005
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1006
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1007
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1008
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1009
+ readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1010
+ readonly category: F.Many2one<'product.category'>;
1011
+ readonly uom: F.Many2one<'uom.uom'>;
1012
+ readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1013
+ readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1014
+ readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
1015
+ readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
1016
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1017
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
1018
+ readonly image: F.Many2one<'storage.attachment'>;
1019
+ readonly description: F.Text<{ readonly translate: true }>;
1020
+ readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
1021
+ readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
1022
+ readonly variants: F.One2many<'product.product', { readonly required: true }>;
1023
+ readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1024
+ readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
1025
+ };
1026
+ readonly methods: ProductTemplateMethods;
1027
+ }
1028
+
1029
+ /** Methods of `product.template`: declared ones and transitions. */
1030
+ export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
1031
+ readonly 'generate': () => Promise<void>;
1032
+ }
1033
+
1034
+ /** `product.template.exclusion` (owner: product). */
1035
+ export interface ProductTemplateExclusion {
1036
+ readonly name: 'product.template.exclusion';
1037
+ readonly fields: {
1038
+ readonly id: F.Id<'product.template.exclusion'>;
1039
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1040
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1041
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1042
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1043
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1044
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1045
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1046
+ readonly note: F.Char;
1047
+ };
1048
+ readonly methods: ProductTemplateExclusionMethods;
1049
+ }
1050
+
1051
+ /** Methods of `product.template.exclusion`: declared ones and transitions. */
1052
+ export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
1053
+ }
1054
+
1055
+ /** `product.template.line` (owner: product). */
1056
+ export interface ProductTemplateLine {
1057
+ readonly name: 'product.template.line';
1058
+ readonly fields: {
1059
+ readonly id: F.Id<'product.template.line'>;
1060
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1061
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1062
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1063
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1064
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1065
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1066
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1067
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1068
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1069
+ };
1070
+ readonly methods: ProductTemplateLineMethods;
1071
+ }
1072
+
1073
+ /** Methods of `product.template.line`: declared ones and transitions. */
1074
+ export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
1075
+ }
1076
+
834
1077
  /** `project.budget.line` (owner: project). */
835
1078
  export interface ProjectBudgetLine {
836
1079
  readonly name: 'project.budget.line';
@@ -1481,7 +1724,7 @@ export interface ResCurrency {
1481
1724
  export interface ResCurrencyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.currency'> {
1482
1725
  }
1483
1726
 
1484
- /** `res.partner` (owner: contacts). */
1727
+ /** `res.partner` (owner: contacts; extended by: sales). */
1485
1728
  export interface ResPartner {
1486
1729
  readonly name: 'res.partner';
1487
1730
  readonly fields: {
@@ -1502,6 +1745,7 @@ export interface ResPartner {
1502
1745
  readonly parent: F.Many2one<'res.partner'>;
1503
1746
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
1504
1747
  readonly email: F.Char;
1748
+ readonly lang: F.Selection<'en' | 'bn'>;
1505
1749
  readonly phone: F.Char;
1506
1750
  readonly mobile: F.Char;
1507
1751
  readonly website: F.Char;
@@ -1515,12 +1759,13 @@ export interface ResPartner {
1515
1759
  readonly isVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1516
1760
  readonly currency: F.Many2one<'res.currency'>;
1517
1761
  readonly notes: F.Text;
1762
+ readonly pricelist: F.Many2one<'product.pricelist'>; // sales
1518
1763
  };
1519
1764
  readonly methods: ResPartnerMethods;
1520
1765
  }
1521
1766
 
1522
1767
  /** Methods of `res.partner`: declared ones and transitions. */
1523
- export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'> {
1768
+ export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../sales/index.js').salesShutro, 'res.partner'> {
1524
1769
  }
1525
1770
 
1526
1771
  /** `res.partner.tag` (owner: contacts). */
@@ -1542,6 +1787,29 @@ export interface ResPartnerTag {
1542
1787
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1543
1788
  }
1544
1789
 
1790
+ /** `res.segment` (owner: permissions). */
1791
+ export interface ResSegment {
1792
+ readonly name: 'res.segment';
1793
+ readonly fields: {
1794
+ readonly id: F.Id<'res.segment'>;
1795
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1796
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1797
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1798
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1799
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1800
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1801
+ readonly name: F.Char<{ readonly required: true }>;
1802
+ readonly code: F.Char;
1803
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
1804
+ readonly note: F.Text;
1805
+ };
1806
+ readonly methods: ResSegmentMethods;
1807
+ }
1808
+
1809
+ /** Methods of `res.segment`: declared ones and transitions. */
1810
+ export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
1811
+ }
1812
+
1545
1813
  /** `res.users` (owner: base). */
1546
1814
  export interface ResUsers {
1547
1815
  readonly name: 'res.users';
@@ -1584,12 +1852,17 @@ export interface SaleOrder {
1584
1852
  readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1585
1853
  readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1586
1854
  readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
1855
+ readonly partnerInvoice: F.Many2one<'res.partner'>;
1856
+ readonly partnerShipping: F.Many2one<'res.partner'>;
1857
+ readonly pricelist: F.Many2one<'product.pricelist'>;
1587
1858
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1588
1859
  readonly dateOrder: F.DateOnly<{ readonly required: true; readonly default: true }>;
1589
1860
  readonly validityDate: F.DateOnly;
1590
1861
  readonly clientReference: F.Char;
1591
1862
  readonly note: F.Text;
1592
1863
  readonly lines: F.One2many<'sale.order.line', { readonly required: true }>;
1864
+ readonly template: F.Many2one<'sale.order.template'>;
1865
+ readonly options: F.One2many<'sale.order.option', { readonly required: true }>;
1593
1866
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1594
1867
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1595
1868
  readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -1606,6 +1879,7 @@ export interface SaleOrder {
1606
1879
  export interface SaleOrderMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order'>, F.Methods<typeof import('../module.js').saleProjectShutro, 'sale.order'> {
1607
1880
  readonly 'cancel': () => Promise<void>;
1608
1881
  readonly 'confirm': () => Promise<void>;
1882
+ readonly 'fill': () => Promise<void>;
1609
1883
  readonly 'lock': () => Promise<void>;
1610
1884
  readonly 'redraft': () => Promise<void>;
1611
1885
  readonly 'send': () => Promise<void>;
@@ -1627,7 +1901,9 @@ export interface SaleOrderLine {
1627
1901
  readonly name: F.Char<{ readonly required: true }>;
1628
1902
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1629
1903
  readonly uom: F.Many2one<'uom.uom'>;
1630
- readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1904
+ readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
1905
+ readonly manualPrice: F.Decimal;
1906
+ readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1631
1907
  readonly discount: F.Decimal<{ readonly required: true; readonly default: true }>;
1632
1908
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1633
1909
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
@@ -1643,6 +1919,79 @@ export interface SaleOrderLine {
1643
1919
  export interface SaleOrderLineMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.line'> {
1644
1920
  }
1645
1921
 
1922
+ /** `sale.order.option` (owner: sales). */
1923
+ export interface SaleOrderOption {
1924
+ readonly name: 'sale.order.option';
1925
+ readonly fields: {
1926
+ readonly id: F.Id<'sale.order.option'>;
1927
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1928
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1929
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1930
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1931
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1932
+ readonly order: F.Many2one<'sale.order', { readonly required: true }>;
1933
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1934
+ readonly name: F.Char<{ readonly required: true }>;
1935
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1936
+ readonly priceUnit: F.Decimal;
1937
+ readonly line: F.Many2one<'sale.order.line'>;
1938
+ readonly state: F.State<'offered' | 'added', { readonly required: true; readonly readonly: true; readonly default: true }>;
1939
+ };
1940
+ readonly methods: SaleOrderOptionMethods;
1941
+ }
1942
+
1943
+ /** Methods of `sale.order.option`: declared ones and transitions. */
1944
+ export interface SaleOrderOptionMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.option'> {
1945
+ readonly 'add': () => Promise<void>;
1946
+ }
1947
+
1948
+ /** `sale.order.template` (owner: sales). */
1949
+ export interface SaleOrderTemplate {
1950
+ readonly name: 'sale.order.template';
1951
+ readonly fields: {
1952
+ readonly id: F.Id<'sale.order.template'>;
1953
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1954
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1955
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1956
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1957
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1958
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1959
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1960
+ readonly validityDays: F.Integer<{ readonly default: true }>;
1961
+ readonly note: F.Text;
1962
+ readonly lines: F.One2many<'sale.order.template.line', { readonly required: true }>;
1963
+ };
1964
+ readonly methods: SaleOrderTemplateMethods;
1965
+ }
1966
+
1967
+ /** Methods of `sale.order.template`: declared ones and transitions. */
1968
+ export interface SaleOrderTemplateMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.template'> {
1969
+ }
1970
+
1971
+ /** `sale.order.template.line` (owner: sales). */
1972
+ export interface SaleOrderTemplateLine {
1973
+ readonly name: 'sale.order.template.line';
1974
+ readonly fields: {
1975
+ readonly id: F.Id<'sale.order.template.line'>;
1976
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1977
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1978
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1979
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1980
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1981
+ readonly template: F.Many2one<'sale.order.template', { readonly required: true }>;
1982
+ readonly sequence: F.Integer<{ readonly default: true }>;
1983
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1984
+ readonly name: F.Char<{ readonly required: true }>;
1985
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1986
+ readonly optional: F.Bool<{ readonly required: true; readonly default: true }>;
1987
+ };
1988
+ readonly methods: SaleOrderTemplateLineMethods;
1989
+ }
1990
+
1991
+ /** Methods of `sale.order.template.line`: declared ones and transitions. */
1992
+ export interface SaleOrderTemplateLineMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.template.line'> {
1993
+ }
1994
+
1646
1995
  /** `storage.attachment` (owner: storage). */
1647
1996
  export interface StorageAttachment {
1648
1997
  readonly name: 'storage.attachment';
@@ -0,0 +1,2 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export declare const bn: Readonly<Record<string, string>>;
@@ -0,0 +1,12 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export const bn = {
3
+ 'A project of its own': 'নিজস্ব একটি প্রকল্প',
4
+ 'A task in a project': 'একটি প্রকল্পে একটি কাজ',
5
+ Nothing: 'কিছু না',
6
+ 'On sale confirmation': 'বিক্রয় নিশ্চিত হলে',
7
+ 'Order line': 'অর্ডার লাইন',
8
+ 'Project for the tasks': 'কাজগুলোর প্রকল্প',
9
+ 'Sales order': 'বিক্রয় আদেশ',
10
+ 'Sales to projects': 'বিক্রয় থেকে প্রকল্প',
11
+ Tasks: 'কাজ',
12
+ };
@@ -27,6 +27,8 @@ export const saleProject = defineModule({
27
27
  hooks: { demo: saleProjectDemo },
28
28
  depends: [sales, project, product],
29
29
  bridge: [sales, project],
30
+ // Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
31
+ i18n: { bn: () => import('./i18n/bn.js') },
30
32
  accessLevels: {
31
33
  user: { label: 'Sales to projects', groups: ['sale_project.user'] },
32
34
  },