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: 727eb416f9160ee0
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 2eaf61fbc22ee075
2
2
  // Schema view of module `trade_finance_purchase` (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 'storage.attachment': StorageAttachment;
42
70
  readonly 'trade.lc': TradeLc;
@@ -75,6 +103,52 @@ export interface AccountTax {
75
103
  export interface AccountTaxMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'account.tax'> {
76
104
  }
77
105
 
106
+ /** `approval.delegation` (owner: permissions). */
107
+ export interface ApprovalDelegation {
108
+ readonly name: 'approval.delegation';
109
+ readonly fields: {
110
+ readonly id: F.Id<'approval.delegation'>;
111
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
112
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
113
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
114
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
115
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
116
+ readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
117
+ readonly delegate: F.Many2one<'res.users', { readonly required: true }>;
118
+ readonly dateFrom: F.DateOnly<{ readonly required: true }>;
119
+ readonly dateTo: F.DateOnly<{ readonly required: true }>;
120
+ readonly note: F.Char;
121
+ };
122
+ readonly methods: ApprovalDelegationMethods;
123
+ }
124
+
125
+ /** Methods of `approval.delegation`: declared ones and transitions. */
126
+ export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
127
+ }
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
+
78
152
  /** `approval.level` (owner: permissions). */
79
153
  export interface ApprovalLevel {
80
154
  readonly name: 'approval.level';
@@ -89,7 +163,16 @@ export interface ApprovalLevel {
89
163
  readonly sequence: F.Integer<{ readonly default: true }>;
90
164
  readonly name: F.Char<{ readonly required: true }>;
91
165
  readonly condition: F.Json;
92
- readonly approverRole: F.Char<{ readonly required: 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 }>;
169
+ readonly approverRole: F.Char;
170
+ readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
171
+ readonly approverField: F.Char;
172
+ readonly quorum: F.Selection<'any' | 'all' | 'count', { readonly required: true; readonly default: true }>;
173
+ readonly quorumCount: F.Integer;
174
+ readonly deadlineHours: F.Integer;
175
+ readonly escalateRole: F.Char;
93
176
  };
94
177
  readonly methods: ApprovalLevelMethods;
95
178
  }
@@ -98,6 +181,29 @@ export interface ApprovalLevel {
98
181
  export interface ApprovalLevelMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.level'> {
99
182
  }
100
183
 
184
+ /** `approval.link` (owner: permissions). */
185
+ export interface ApprovalLink {
186
+ readonly name: 'approval.link';
187
+ readonly fields: {
188
+ readonly id: F.Id<'approval.link'>;
189
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
190
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
191
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
192
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
193
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
194
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
195
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
196
+ readonly tokenHash: F.Char<{ readonly required: true }>;
197
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
198
+ readonly usedAt: F.Datetime;
199
+ };
200
+ readonly methods: ApprovalLinkMethods;
201
+ }
202
+
203
+ /** Methods of `approval.link`: declared ones and transitions. */
204
+ export interface ApprovalLinkMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.link'> {
205
+ }
206
+
101
207
  /** `approval.policy` (owner: permissions). */
102
208
  export interface ApprovalPolicy {
103
209
  readonly name: 'approval.policy';
@@ -113,8 +219,18 @@ export interface ApprovalPolicy {
113
219
  readonly targetModel: F.Char<{ readonly required: true }>;
114
220
  readonly sequence: F.Integer<{ readonly default: true }>;
115
221
  readonly company: F.Many2one<'res.company'>;
222
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
223
+ readonly segment: F.Many2one<'res.segment'>;
116
224
  readonly onApproved: F.Char;
117
225
  readonly onRejected: F.Char;
226
+ readonly onSentBack: F.Char;
227
+ readonly onWithdrawn: F.Char;
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 }>;
118
234
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
119
235
  };
120
236
  readonly methods: ApprovalPolicyMethods;
@@ -141,8 +257,19 @@ export interface ApprovalRequest {
141
257
  readonly targetModel: F.Char<{ readonly required: true }>;
142
258
  readonly targetId: F.Integer<{ readonly required: true }>;
143
259
  readonly company: F.Many2one<'res.company'>;
144
- readonly approverRole: F.Char<{ readonly required: true }>;
145
- readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'cancelled', { readonly required: true; readonly default: true }>;
260
+ readonly approverRole: F.Char;
261
+ readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
262
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
263
+ readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
264
+ readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
265
+ readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
266
+ readonly dueAt: F.Datetime;
267
+ readonly remindedAt: F.Datetime;
268
+ readonly escalatedTo: F.Char;
269
+ readonly escalatedAt: F.Datetime;
270
+ readonly startedAt: F.Datetime;
271
+ readonly explanation: F.Text;
272
+ readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
146
273
  readonly requestedBy: F.Many2one<'res.users'>;
147
274
  readonly decidedBy: F.Many2one<'res.users'>;
148
275
  readonly decidedAt: F.Datetime;
@@ -155,6 +282,33 @@ export interface ApprovalRequest {
155
282
  export interface ApprovalRequestMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.request'> {
156
283
  }
157
284
 
285
+ /** `approval.vote` (owner: permissions). */
286
+ export interface ApprovalVote {
287
+ readonly name: 'approval.vote';
288
+ readonly fields: {
289
+ readonly id: F.Id<'approval.vote'>;
290
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
291
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
292
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
293
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
294
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
295
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
296
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
297
+ readonly decision: F.Selection<'approve' | 'reject' | 'send_back', { readonly required: true }>;
298
+ readonly comment: F.Text;
299
+ readonly at: F.Datetime<{ readonly required: true }>;
300
+ readonly onBehalfOf: F.Many2one<'res.users'>;
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 }>;
304
+ };
305
+ readonly methods: ApprovalVoteMethods;
306
+ }
307
+
308
+ /** Methods of `approval.vote`: declared ones and transitions. */
309
+ export interface ApprovalVoteMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.vote'> {
310
+ }
311
+
158
312
  /** `audit.event` (owner: base). */
159
313
  export interface AuditEvent {
160
314
  readonly name: 'audit.event';
@@ -668,6 +822,53 @@ export interface OauthToken {
668
822
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
669
823
  }
670
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
+
671
872
  /** `product.category` (owner: product). */
672
873
  export interface ProductCategory {
673
874
  readonly name: 'product.category';
@@ -678,8 +879,10 @@ export interface ProductCategory {
678
879
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
679
880
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
680
881
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
882
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
681
883
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
682
884
  readonly parent: F.Many2one<'product.category'>;
885
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
683
886
  };
684
887
  readonly methods: ProductCategoryMethods;
685
888
  }
@@ -688,6 +891,66 @@ export interface ProductCategory {
688
891
  export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
689
892
  }
690
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
+
691
954
  /** `product.product` (owner: product). */
692
955
  export interface ProductProduct {
693
956
  readonly name: 'product.product';
@@ -703,8 +966,11 @@ export interface ProductProduct {
703
966
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
704
967
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
705
968
  readonly category: F.Many2one<'product.category'>;
969
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
706
970
  readonly uom: F.Many2one<'uom.uom'>;
707
971
  readonly barcode: F.Char;
972
+ readonly weight: F.Decimal;
973
+ readonly volume: F.Decimal;
708
974
  readonly image: F.Many2one<'storage.attachment'>;
709
975
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
710
976
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -715,6 +981,9 @@ export interface ProductProduct {
715
981
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
716
982
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
717
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 }>;
718
987
  };
719
988
  readonly methods: ProductProductMethods;
720
989
  }
@@ -723,6 +992,244 @@ export interface ProductProduct {
723
992
  export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'> {
724
993
  }
725
994
 
995
+ /** `product.template` (owner: product). */
996
+ export interface ProductTemplate {
997
+ readonly name: 'product.template';
998
+ readonly fields: {
999
+ readonly id: F.Id<'product.template'>;
1000
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1001
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1002
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1003
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1004
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1005
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1006
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1007
+ readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1008
+ readonly category: F.Many2one<'product.category'>;
1009
+ readonly uom: F.Many2one<'uom.uom'>;
1010
+ readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1011
+ readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1012
+ readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
1013
+ readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
1014
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1015
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
1016
+ readonly image: F.Many2one<'storage.attachment'>;
1017
+ readonly description: F.Text<{ readonly translate: true }>;
1018
+ readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
1019
+ readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
1020
+ readonly variants: F.One2many<'product.product', { readonly required: true }>;
1021
+ readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1022
+ readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
1023
+ };
1024
+ readonly methods: ProductTemplateMethods;
1025
+ }
1026
+
1027
+ /** Methods of `product.template`: declared ones and transitions. */
1028
+ export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
1029
+ readonly 'generate': () => Promise<void>;
1030
+ }
1031
+
1032
+ /** `product.template.exclusion` (owner: product). */
1033
+ export interface ProductTemplateExclusion {
1034
+ readonly name: 'product.template.exclusion';
1035
+ readonly fields: {
1036
+ readonly id: F.Id<'product.template.exclusion'>;
1037
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1038
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1039
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1040
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1041
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1042
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1043
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1044
+ readonly note: F.Char;
1045
+ };
1046
+ readonly methods: ProductTemplateExclusionMethods;
1047
+ }
1048
+
1049
+ /** Methods of `product.template.exclusion`: declared ones and transitions. */
1050
+ export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
1051
+ }
1052
+
1053
+ /** `product.template.line` (owner: product). */
1054
+ export interface ProductTemplateLine {
1055
+ readonly name: 'product.template.line';
1056
+ readonly fields: {
1057
+ readonly id: F.Id<'product.template.line'>;
1058
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1059
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1060
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1061
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1062
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1063
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1064
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1065
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1066
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1067
+ };
1068
+ readonly methods: ProductTemplateLineMethods;
1069
+ }
1070
+
1071
+ /** Methods of `product.template.line`: declared ones and transitions. */
1072
+ export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
1073
+ }
1074
+
1075
+ /** `product.vendor.price` (owner: purchase). */
1076
+ export interface ProductVendorPrice {
1077
+ readonly name: 'product.vendor.price';
1078
+ readonly fields: {
1079
+ readonly id: F.Id<'product.vendor.price'>;
1080
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1081
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1082
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1083
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1084
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1085
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1086
+ readonly company: F.Many2one<'res.company', { readonly default: true }>;
1087
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1088
+ readonly product: F.Many2one<'product.product'>;
1089
+ readonly category: F.Many2one<'product.category'>;
1090
+ readonly vendorCode: F.Char;
1091
+ readonly vendorName: F.Char;
1092
+ readonly currency: F.Many2one<'res.currency'>;
1093
+ readonly minQuantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1094
+ readonly price: F.Decimal<{ readonly required: true }>;
1095
+ readonly dateFrom: F.DateOnly;
1096
+ readonly dateTo: F.DateOnly;
1097
+ readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
1098
+ readonly preferred: F.Bool<{ readonly required: true; readonly default: true }>;
1099
+ readonly sequence: F.Integer<{ readonly default: true }>;
1100
+ };
1101
+ readonly methods: ProductVendorPriceMethods;
1102
+ }
1103
+
1104
+ /** Methods of `product.vendor.price`: declared ones and transitions. */
1105
+ export interface ProductVendorPriceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'product.vendor.price'> {
1106
+ }
1107
+
1108
+ /** `purchase.agreement` (owner: purchase). */
1109
+ export interface PurchaseAgreement {
1110
+ readonly name: 'purchase.agreement';
1111
+ readonly fields: {
1112
+ readonly id: F.Id<'purchase.agreement'>;
1113
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1114
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1115
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1116
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1117
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1118
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1119
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1120
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1121
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1122
+ readonly kind: F.Selection<'blanket' | 'contract', { readonly required: true; readonly default: true }>;
1123
+ readonly reference: F.Char;
1124
+ readonly dateStart: F.DateOnly;
1125
+ readonly dateEnd: F.DateOnly;
1126
+ readonly currency: F.Many2one<'res.currency'>;
1127
+ readonly note: F.Text;
1128
+ readonly lines: F.One2many<'purchase.agreement.line', { readonly required: true }>;
1129
+ readonly orders: F.One2many<'purchase.order', { readonly required: true }>;
1130
+ readonly state: F.State<'draft' | 'confirmed' | 'closed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1131
+ };
1132
+ readonly methods: PurchaseAgreementMethods;
1133
+ }
1134
+
1135
+ /** Methods of `purchase.agreement`: declared ones and transitions. */
1136
+ export interface PurchaseAgreementMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement'> {
1137
+ readonly 'cancel': () => Promise<void>;
1138
+ readonly 'close': () => Promise<void>;
1139
+ readonly 'confirm': () => Promise<void>;
1140
+ readonly 'redraft': () => Promise<void>;
1141
+ }
1142
+
1143
+ /** `purchase.agreement.line` (owner: purchase). */
1144
+ export interface PurchaseAgreementLine {
1145
+ readonly name: 'purchase.agreement.line';
1146
+ readonly fields: {
1147
+ readonly id: F.Id<'purchase.agreement.line'>;
1148
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1149
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1150
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1151
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1152
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1153
+ readonly agreement: F.Many2one<'purchase.agreement', { readonly required: true }>;
1154
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1155
+ readonly name: F.Char;
1156
+ readonly quantity: F.Decimal;
1157
+ readonly uom: F.Many2one<'uom.uom'>;
1158
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1159
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1160
+ };
1161
+ readonly methods: PurchaseAgreementLineMethods;
1162
+ }
1163
+
1164
+ /** Methods of `purchase.agreement.line`: declared ones and transitions. */
1165
+ export interface PurchaseAgreementLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement.line'> {
1166
+ }
1167
+
1168
+ /** `purchase.comparison` (owner: purchase). */
1169
+ export interface PurchaseComparison {
1170
+ readonly name: 'purchase.comparison';
1171
+ readonly fields: {
1172
+ readonly id: F.Id<'purchase.comparison'>;
1173
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1174
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1175
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1176
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1177
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1178
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1179
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1180
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1181
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1182
+ readonly expiryDate: F.DateOnly;
1183
+ readonly dateDelivery: F.DateOnly;
1184
+ readonly multiVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1185
+ readonly note: F.Text;
1186
+ readonly lines: F.One2many<'purchase.comparison.line', { readonly required: true }>;
1187
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1188
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1189
+ };
1190
+ readonly methods: PurchaseComparisonMethods;
1191
+ }
1192
+
1193
+ /** Methods of `purchase.comparison`: declared ones and transitions. */
1194
+ export interface PurchaseComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison'> {
1195
+ readonly 'approve': () => Promise<void>;
1196
+ readonly 'cancel': () => Promise<void>;
1197
+ readonly 'confirm': () => Promise<void>;
1198
+ readonly 'fill': () => Promise<void>;
1199
+ readonly 'redraft': () => Promise<void>;
1200
+ readonly 'reject': () => Promise<void>;
1201
+ readonly 'submit': () => Promise<void>;
1202
+ }
1203
+
1204
+ /** `purchase.comparison.line` (owner: purchase). */
1205
+ export interface PurchaseComparisonLine {
1206
+ readonly name: 'purchase.comparison.line';
1207
+ readonly fields: {
1208
+ readonly id: F.Id<'purchase.comparison.line'>;
1209
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1210
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1211
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1212
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1213
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1214
+ readonly comparison: F.Many2one<'purchase.comparison', { readonly required: true }>;
1215
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
1216
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1217
+ readonly csQty: F.Decimal<{ readonly required: true; readonly default: true }>;
1218
+ readonly quote: F.Decimal<{ readonly required: true; readonly default: true }>;
1219
+ readonly nego1: F.Decimal;
1220
+ readonly nego2: F.Decimal;
1221
+ readonly finalPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1222
+ readonly total: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1223
+ readonly selected: F.Bool<{ readonly required: true; readonly default: true }>;
1224
+ readonly lowest: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
1225
+ };
1226
+ readonly methods: PurchaseComparisonLineMethods;
1227
+ }
1228
+
1229
+ /** Methods of `purchase.comparison.line`: declared ones and transitions. */
1230
+ export interface PurchaseComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison.line'> {
1231
+ }
1232
+
726
1233
  /** `purchase.order` (owner: purchase; extended by: trade_finance_purchase). */
727
1234
  export interface PurchaseOrder {
728
1235
  readonly name: 'purchase.order';
@@ -743,6 +1250,12 @@ export interface PurchaseOrder {
743
1250
  readonly datePlanned: F.DateOnly;
744
1251
  readonly origin: F.Char;
745
1252
  readonly note: F.Text;
1253
+ readonly poType: F.Selection<'general' | 'service' | 'capital', { readonly required: true; readonly default: true }>;
1254
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
1255
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
1256
+ readonly agreement: F.Many2one<'purchase.agreement'>;
1257
+ readonly acceptances: F.One2many<'purchase.work.acceptance', { readonly required: true }>;
1258
+ readonly acceptanceCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
746
1259
  readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
747
1260
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
748
1261
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -780,10 +1293,16 @@ export interface PurchaseOrderLine {
780
1293
  readonly name: F.Char<{ readonly required: true }>;
781
1294
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
782
1295
  readonly uom: F.Many2one<'uom.uom'>;
783
- readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1296
+ readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
1297
+ readonly manualPrice: F.Decimal;
1298
+ readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1299
+ readonly vendorCode: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
784
1300
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
785
1301
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
786
1302
  readonly datePlanned: F.DateOnly;
1303
+ readonly acceptanceLines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
1304
+ readonly qtyAccepted: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1305
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
787
1306
  readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
788
1307
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
789
1308
  readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -795,6 +1314,366 @@ export interface PurchaseOrderLine {
795
1314
  export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'> {
796
1315
  }
797
1316
 
1317
+ /** `purchase.request` (owner: purchase). */
1318
+ export interface PurchaseRequest {
1319
+ readonly name: 'purchase.request';
1320
+ readonly fields: {
1321
+ readonly id: F.Id<'purchase.request'>;
1322
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1323
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1324
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1325
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1326
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1327
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1328
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1329
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1330
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1331
+ readonly dateRequired: F.DateOnly<{ readonly required: true; readonly default: true }>;
1332
+ readonly priority: F.Selection<'normal' | 'high' | 'urgent' | 'critical', { readonly required: true; readonly default: true }>;
1333
+ readonly vendor: F.Many2one<'res.partner'>;
1334
+ readonly purpose: F.Text;
1335
+ readonly lines: F.One2many<'purchase.request.line', { readonly required: true }>;
1336
+ readonly amountEstimate: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1337
+ readonly rejectReason: F.Char;
1338
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'done' | 'rejected' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1339
+ };
1340
+ readonly methods: PurchaseRequestMethods;
1341
+ }
1342
+
1343
+ /** Methods of `purchase.request`: declared ones and transitions. */
1344
+ export interface PurchaseRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request'> {
1345
+ readonly 'approve': () => Promise<void>;
1346
+ readonly 'cancel': () => Promise<void>;
1347
+ readonly 'close': () => Promise<void>;
1348
+ readonly 'redraft': () => Promise<void>;
1349
+ readonly 'reject': () => Promise<void>;
1350
+ readonly 'rfq': () => Promise<void>;
1351
+ readonly 'submit': () => Promise<void>;
1352
+ readonly 'tender': () => Promise<void>;
1353
+ }
1354
+
1355
+ /** `purchase.request.line` (owner: purchase). */
1356
+ export interface PurchaseRequestLine {
1357
+ readonly name: 'purchase.request.line';
1358
+ readonly fields: {
1359
+ readonly id: F.Id<'purchase.request.line'>;
1360
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1361
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1362
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1363
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1364
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1365
+ readonly request: F.Many2one<'purchase.request', { readonly required: true }>;
1366
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1367
+ readonly name: F.Char;
1368
+ readonly uom: F.Many2one<'uom.uom'>;
1369
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1370
+ readonly qtyApproved: F.Decimal;
1371
+ readonly dateRequired: F.DateOnly;
1372
+ readonly buyers: F.Many2many<'res.users', { readonly required: true }>;
1373
+ readonly purchaseLines: F.One2many<'purchase.order.line', { readonly required: true }>;
1374
+ readonly tenderLines: F.One2many<'purchase.tender.line', { readonly required: true }>;
1375
+ readonly qtyOnRfq: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1376
+ readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1377
+ readonly qtyRemaining: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1378
+ readonly status: F.Selection<'draft' | 'to_approve' | 'approved' | 'rfq' | 'ordered' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1379
+ };
1380
+ readonly methods: PurchaseRequestLineMethods;
1381
+ }
1382
+
1383
+ /** Methods of `purchase.request.line`: declared ones and transitions. */
1384
+ export interface PurchaseRequestLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request.line'> {
1385
+ }
1386
+
1387
+ /** `purchase.technical.comparison` (owner: purchase). */
1388
+ export interface PurchaseTechnicalComparison {
1389
+ readonly name: 'purchase.technical.comparison';
1390
+ readonly fields: {
1391
+ readonly id: F.Id<'purchase.technical.comparison'>;
1392
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1393
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1394
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1395
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1396
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1397
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1398
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1399
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1400
+ readonly engineer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1401
+ readonly kind: F.Selection<'simple' | 'detailed', { readonly required: true; readonly default: true }>;
1402
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1403
+ readonly remarks: F.Text;
1404
+ readonly lines: F.One2many<'purchase.technical.comparison.line', { readonly required: true }>;
1405
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1406
+ };
1407
+ readonly methods: PurchaseTechnicalComparisonMethods;
1408
+ }
1409
+
1410
+ /** Methods of `purchase.technical.comparison`: declared ones and transitions. */
1411
+ export interface PurchaseTechnicalComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison'> {
1412
+ readonly 'approve': () => Promise<void>;
1413
+ readonly 'cancel': () => Promise<void>;
1414
+ readonly 'confirm': () => Promise<void>;
1415
+ readonly 'fill': () => Promise<void>;
1416
+ readonly 'redraft': () => Promise<void>;
1417
+ readonly 'submit': () => Promise<void>;
1418
+ }
1419
+
1420
+ /** `purchase.technical.comparison.line` (owner: purchase). */
1421
+ export interface PurchaseTechnicalComparisonLine {
1422
+ readonly name: 'purchase.technical.comparison.line';
1423
+ readonly fields: {
1424
+ readonly id: F.Id<'purchase.technical.comparison.line'>;
1425
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1426
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1427
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1428
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1429
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1430
+ readonly comparison: F.Many2one<'purchase.technical.comparison', { readonly required: true }>;
1431
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1432
+ readonly score: F.Decimal<{ readonly required: true; readonly default: true }>;
1433
+ readonly meetsSpecifications: F.Bool<{ readonly required: true; readonly default: true }>;
1434
+ readonly note: F.Char;
1435
+ };
1436
+ readonly methods: PurchaseTechnicalComparisonLineMethods;
1437
+ }
1438
+
1439
+ /** Methods of `purchase.technical.comparison.line`: declared ones and transitions. */
1440
+ export interface PurchaseTechnicalComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison.line'> {
1441
+ }
1442
+
1443
+ /** `purchase.tender` (owner: purchase). */
1444
+ export interface PurchaseTender {
1445
+ readonly name: 'purchase.tender';
1446
+ readonly fields: {
1447
+ readonly id: F.Id<'purchase.tender'>;
1448
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1449
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1450
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1451
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1452
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1453
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1454
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1455
+ readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1456
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1457
+ readonly deadline: F.DateOnly<{ readonly required: true }>;
1458
+ readonly dateDelivery: F.DateOnly;
1459
+ readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
1460
+ readonly topic: F.Char;
1461
+ readonly vendors: F.Many2many<'res.partner', { readonly required: true }>;
1462
+ readonly currency: F.Many2one<'res.currency'>;
1463
+ readonly paymentTerms: F.Char;
1464
+ readonly technical: F.Bool<{ readonly required: true; readonly default: true }>;
1465
+ readonly note: F.Text;
1466
+ readonly request: F.Many2one<'purchase.request'>;
1467
+ readonly lines: F.One2many<'purchase.tender.line', { readonly required: true }>;
1468
+ readonly responses: F.One2many<'purchase.tender.response', { readonly required: true }>;
1469
+ readonly responseCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1470
+ readonly state: F.State<'draft' | 'sent' | 'received' | 'comparing' | 'selected' | 'ordered' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1471
+ };
1472
+ readonly methods: PurchaseTenderMethods;
1473
+ }
1474
+
1475
+ /** Methods of `purchase.tender`: declared ones and transitions. */
1476
+ export interface PurchaseTenderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender'> {
1477
+ readonly 'cancel': () => Promise<void>;
1478
+ readonly 'close': () => Promise<void>;
1479
+ readonly 'compare': () => Promise<void>;
1480
+ readonly 'order': () => Promise<void>;
1481
+ readonly 'redraft': () => Promise<void>;
1482
+ readonly 'select': () => Promise<void>;
1483
+ readonly 'send': () => Promise<void>;
1484
+ }
1485
+
1486
+ /** `purchase.tender.line` (owner: purchase). */
1487
+ export interface PurchaseTenderLine {
1488
+ readonly name: 'purchase.tender.line';
1489
+ readonly fields: {
1490
+ readonly id: F.Id<'purchase.tender.line'>;
1491
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1492
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1493
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1494
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1495
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1496
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1497
+ readonly sequence: F.Integer<{ readonly default: true }>;
1498
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1499
+ readonly name: F.Char;
1500
+ readonly uom: F.Many2one<'uom.uom'>;
1501
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1502
+ readonly requestLine: F.Many2one<'purchase.request.line'>;
1503
+ };
1504
+ readonly methods: PurchaseTenderLineMethods;
1505
+ }
1506
+
1507
+ /** Methods of `purchase.tender.line`: declared ones and transitions. */
1508
+ export interface PurchaseTenderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.line'> {
1509
+ }
1510
+
1511
+ /** `purchase.tender.response` (owner: purchase). */
1512
+ export interface PurchaseTenderResponse {
1513
+ readonly name: 'purchase.tender.response';
1514
+ readonly fields: {
1515
+ readonly id: F.Id<'purchase.tender.response'>;
1516
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1517
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1518
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1519
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1520
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1521
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1522
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1523
+ readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
1524
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1525
+ readonly responseDate: F.Datetime;
1526
+ readonly dateDelivery: F.DateOnly;
1527
+ readonly paymentTerms: F.Char;
1528
+ readonly advancePercent: F.Decimal<{ readonly default: true }>;
1529
+ readonly technicalRank: F.Integer<{ readonly default: true }>;
1530
+ readonly remark: F.Text;
1531
+ readonly lines: F.One2many<'purchase.tender.response.line', { readonly required: true }>;
1532
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1533
+ readonly tokenHash: F.Char;
1534
+ readonly tokenExpiresAt: F.Datetime;
1535
+ readonly state: F.State<'invited' | 'quoted' | 'submitted' | 'not_responded' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
1536
+ };
1537
+ readonly methods: PurchaseTenderResponseMethods;
1538
+ }
1539
+
1540
+ /** Methods of `purchase.tender.response`: declared ones and transitions. */
1541
+ export interface PurchaseTenderResponseMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response'> {
1542
+ readonly 'quote': () => Promise<void>;
1543
+ readonly 'reject': () => Promise<void>;
1544
+ readonly 'reopen': () => Promise<void>;
1545
+ readonly 'submit': () => Promise<void>;
1546
+ readonly 'unanswered': () => Promise<void>;
1547
+ }
1548
+
1549
+ /** `purchase.tender.response.line` (owner: purchase). */
1550
+ export interface PurchaseTenderResponseLine {
1551
+ readonly name: 'purchase.tender.response.line';
1552
+ readonly fields: {
1553
+ readonly id: F.Id<'purchase.tender.response.line'>;
1554
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1555
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1556
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1557
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1558
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1559
+ readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
1560
+ readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
1561
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1562
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1563
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1564
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1565
+ readonly note: F.Char;
1566
+ };
1567
+ readonly methods: PurchaseTenderResponseLineMethods;
1568
+ }
1569
+
1570
+ /** Methods of `purchase.tender.response.line`: declared ones and transitions. */
1571
+ export interface PurchaseTenderResponseLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response.line'> {
1572
+ }
1573
+
1574
+ /** `purchase.vendor.request` (owner: purchase). */
1575
+ export interface PurchaseVendorRequest {
1576
+ readonly name: 'purchase.vendor.request';
1577
+ readonly fields: {
1578
+ readonly id: F.Id<'purchase.vendor.request'>;
1579
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1580
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1581
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1582
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1583
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1584
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1585
+ readonly name: F.Char<{ readonly required: true }>;
1586
+ readonly kind: F.Selection<'vendor' | 'contractor' | 'service', { readonly required: true; readonly default: true }>;
1587
+ readonly street: F.Char;
1588
+ readonly street2: F.Char;
1589
+ readonly city: F.Char;
1590
+ readonly zip: F.Char;
1591
+ readonly country: F.Char<{ readonly default: true }>;
1592
+ readonly nid: F.Char;
1593
+ readonly tradeLicense: F.Char;
1594
+ readonly proprietorName: F.Char;
1595
+ readonly proprietorMobile: F.Char;
1596
+ readonly email: F.Char;
1597
+ readonly phone: F.Char;
1598
+ readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1599
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1600
+ readonly partner: F.Many2one<'res.partner'>;
1601
+ readonly rejectReason: F.Char;
1602
+ readonly note: F.Text;
1603
+ readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
1604
+ };
1605
+ readonly methods: PurchaseVendorRequestMethods;
1606
+ }
1607
+
1608
+ /** Methods of `purchase.vendor.request`: declared ones and transitions. */
1609
+ export interface PurchaseVendorRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.vendor.request'> {
1610
+ readonly 'approve': () => Promise<void>;
1611
+ readonly 'redraft': () => Promise<void>;
1612
+ readonly 'reject': () => Promise<void>;
1613
+ readonly 'submit': () => Promise<void>;
1614
+ }
1615
+
1616
+ /** `purchase.work.acceptance` (owner: purchase). */
1617
+ export interface PurchaseWorkAcceptance {
1618
+ readonly name: 'purchase.work.acceptance';
1619
+ readonly fields: {
1620
+ readonly id: F.Id<'purchase.work.acceptance'>;
1621
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1622
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1623
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1624
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1625
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1626
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1627
+ readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1628
+ readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
1629
+ readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
1630
+ readonly responsible: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1631
+ readonly invoiceReference: F.Char;
1632
+ readonly dueDate: F.DateOnly<{ readonly required: true; readonly default: true }>;
1633
+ readonly acceptedOn: F.DateOnly;
1634
+ readonly currency: F.Many2one<'res.currency'>;
1635
+ readonly note: F.Text;
1636
+ readonly lines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
1637
+ readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1638
+ readonly state: F.State<'draft' | 'accepted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
1639
+ };
1640
+ readonly methods: PurchaseWorkAcceptanceMethods;
1641
+ }
1642
+
1643
+ /** Methods of `purchase.work.acceptance`: declared ones and transitions. */
1644
+ export interface PurchaseWorkAcceptanceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance'> {
1645
+ readonly 'accept': () => Promise<void>;
1646
+ readonly 'cancel': () => Promise<void>;
1647
+ readonly 'fill': () => Promise<void>;
1648
+ readonly 'redraft': () => Promise<void>;
1649
+ }
1650
+
1651
+ /** `purchase.work.acceptance.line` (owner: purchase). */
1652
+ export interface PurchaseWorkAcceptanceLine {
1653
+ readonly name: 'purchase.work.acceptance.line';
1654
+ readonly fields: {
1655
+ readonly id: F.Id<'purchase.work.acceptance.line'>;
1656
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1657
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1658
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1659
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1660
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1661
+ readonly acceptance: F.Many2one<'purchase.work.acceptance', { readonly required: true }>;
1662
+ readonly orderLine: F.Many2one<'purchase.order.line', { readonly required: true }>;
1663
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
1664
+ readonly name: F.Char;
1665
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1666
+ readonly uom: F.Many2one<'uom.uom'>;
1667
+ readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
1668
+ readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1669
+ };
1670
+ readonly methods: PurchaseWorkAcceptanceLineMethods;
1671
+ }
1672
+
1673
+ /** Methods of `purchase.work.acceptance.line`: declared ones and transitions. */
1674
+ export interface PurchaseWorkAcceptanceLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance.line'> {
1675
+ }
1676
+
798
1677
  /** `res.company` (owner: base; extended by: contacts, purchase). */
799
1678
  export interface ResCompany {
800
1679
  readonly name: 'res.company';
@@ -868,6 +1747,7 @@ export interface ResPartner {
868
1747
  readonly parent: F.Many2one<'res.partner'>;
869
1748
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
870
1749
  readonly email: F.Char;
1750
+ readonly lang: F.Selection<'en' | 'bn'>;
871
1751
  readonly phone: F.Char;
872
1752
  readonly mobile: F.Char;
873
1753
  readonly website: F.Char;
@@ -908,6 +1788,29 @@ export interface ResPartnerTag {
908
1788
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
909
1789
  }
910
1790
 
1791
+ /** `res.segment` (owner: permissions). */
1792
+ export interface ResSegment {
1793
+ readonly name: 'res.segment';
1794
+ readonly fields: {
1795
+ readonly id: F.Id<'res.segment'>;
1796
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1797
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1798
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1799
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1800
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1801
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1802
+ readonly name: F.Char<{ readonly required: true }>;
1803
+ readonly code: F.Char;
1804
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
1805
+ readonly note: F.Text;
1806
+ };
1807
+ readonly methods: ResSegmentMethods;
1808
+ }
1809
+
1810
+ /** Methods of `res.segment`: declared ones and transitions. */
1811
+ export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
1812
+ }
1813
+
911
1814
  /** `res.users` (owner: base). */
912
1815
  export interface ResUsers {
913
1816
  readonly name: 'res.users';