shutro-erp 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/dist/account_asset/.kosh/bindings.js +1 -1
  2. package/dist/account_asset/.kosh/schema.d.ts +530 -8
  3. package/dist/account_asset/i18n/bn.d.ts +2 -0
  4. package/dist/account_asset/i18n/bn.js +97 -0
  5. package/dist/account_asset/index.js +2 -0
  6. package/dist/account_asset/module.d.ts +4899 -1445
  7. package/dist/account_budget/.kosh/bindings.js +1 -1
  8. package/dist/account_budget/.kosh/schema.d.ts +1130 -56
  9. package/dist/account_budget/i18n/bn.d.ts +2 -0
  10. package/dist/account_budget/i18n/bn.js +63 -0
  11. package/dist/account_budget/index.js +14 -0
  12. package/dist/account_budget/module.d.ts +17958 -4532
  13. package/dist/account_budget/module.js +15 -0
  14. package/dist/account_portal/.kosh/bindings.js +1 -1
  15. package/dist/account_portal/.kosh/schema.d.ts +530 -8
  16. package/dist/account_portal/i18n/bn.d.ts +2 -0
  17. package/dist/account_portal/i18n/bn.js +6 -0
  18. package/dist/account_portal/index.js +2 -0
  19. package/dist/account_portal/module.d.ts +5167 -1693
  20. package/dist/accounting/.kosh/bindings.js +1 -1
  21. package/dist/accounting/.kosh/schema.d.ts +530 -8
  22. package/dist/accounting/closing.js +1 -0
  23. package/dist/accounting/fiscal.d.ts +578 -0
  24. package/dist/accounting/fiscal.js +401 -0
  25. package/dist/accounting/followups.d.ts +618 -0
  26. package/dist/accounting/followups.js +420 -0
  27. package/dist/accounting/i18n/bn.d.ts +2 -0
  28. package/dist/accounting/i18n/bn.js +425 -0
  29. package/dist/accounting/index.d.ts +2 -0
  30. package/dist/accounting/index.js +649 -2
  31. package/dist/accounting/module.d.ts +4998 -1451
  32. package/dist/accounting/module.js +124 -18
  33. package/dist/accounting/statements.d.ts +878 -0
  34. package/dist/accounting/statements.js +728 -0
  35. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  36. package/dist/accounting/web/BankReconcilePage.js +138 -0
  37. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  38. package/dist/accounting/web/FollowupsPage.js +54 -0
  39. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  40. package/dist/accounting/web/PostingPreview.js +26 -0
  41. package/dist/accounting/web/index.d.ts +3 -0
  42. package/dist/accounting/web/index.js +9 -0
  43. package/dist/accounting/web/messages.js +140 -0
  44. package/dist/approvals/.kosh/bindings.js +1 -1
  45. package/dist/approvals/.kosh/schema.d.ts +272 -4
  46. package/dist/approvals/demo.d.ts +7 -0
  47. package/dist/approvals/demo.js +41 -0
  48. package/dist/approvals/i18n/bn.d.ts +2 -0
  49. package/dist/approvals/i18n/bn.js +133 -0
  50. package/dist/approvals/index.d.ts +19 -1
  51. package/dist/approvals/index.js +477 -7
  52. package/dist/approvals/mails.d.ts +7 -2
  53. package/dist/approvals/mails.js +8 -3
  54. package/dist/approvals/module.d.ts +2930 -1
  55. package/dist/approvals/module.js +468 -7
  56. package/dist/approvals/web/Config.d.ts +12 -0
  57. package/dist/approvals/web/Config.js +60 -0
  58. package/dist/approvals/web/Matrix.d.ts +9 -0
  59. package/dist/approvals/web/Matrix.js +26 -0
  60. package/dist/approvals/web/index.d.ts +3 -1
  61. package/dist/approvals/web/index.js +8 -1
  62. package/dist/approvals/web/messages.js +92 -0
  63. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  64. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  65. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  66. package/dist/approvals_purchase/i18n/bn.js +5 -0
  67. package/dist/approvals_purchase/index.d.ts +3 -0
  68. package/dist/approvals_purchase/index.js +47 -0
  69. package/dist/approvals_purchase/module.d.ts +12670 -0
  70. package/dist/approvals_purchase/module.js +84 -0
  71. package/dist/attendance/.kosh/bindings.js +1 -1
  72. package/dist/attendance/.kosh/schema.d.ts +59 -1
  73. package/dist/attendance/i18n/bn.d.ts +2 -0
  74. package/dist/attendance/i18n/bn.js +147 -0
  75. package/dist/attendance/index.js +3 -1
  76. package/dist/attendance/module.d.ts +452 -8
  77. package/dist/automation/engine.js +1 -1
  78. package/dist/calendar/.kosh/bindings.js +1 -1
  79. package/dist/calendar/.kosh/schema.d.ts +2 -1
  80. package/dist/calendar/i18n/bn.d.ts +2 -0
  81. package/dist/calendar/i18n/bn.js +80 -0
  82. package/dist/calendar/index.js +77 -0
  83. package/dist/calendar/module.d.ts +26 -0
  84. package/dist/calendar/module.js +14 -4
  85. package/dist/cli/apps.js +25 -5
  86. package/dist/cli/init.js +14 -4
  87. package/dist/cli/templates.d.ts +1 -1
  88. package/dist/cli/templates.js +34 -5
  89. package/dist/contacts/.kosh/bindings.js +1 -1
  90. package/dist/contacts/.kosh/schema.d.ts +2 -1
  91. package/dist/contacts/i18n/bn.d.ts +2 -0
  92. package/dist/contacts/i18n/bn.js +67 -0
  93. package/dist/contacts/index.js +3 -0
  94. package/dist/contacts/module.d.ts +42 -0
  95. package/dist/contacts/module.js +6 -1
  96. package/dist/crm/.kosh/bindings.js +1 -1
  97. package/dist/crm/.kosh/schema.d.ts +2 -1
  98. package/dist/crm/i18n/bn.d.ts +2 -0
  99. package/dist/crm/i18n/bn.js +80 -0
  100. package/dist/crm/index.js +22 -0
  101. package/dist/crm/module.d.ts +20 -0
  102. package/dist/crm/module.js +4 -2
  103. package/dist/documents/.kosh/bindings.js +1 -1
  104. package/dist/documents/.kosh/schema.d.ts +2 -1
  105. package/dist/documents/i18n/bn.d.ts +2 -0
  106. package/dist/documents/i18n/bn.js +83 -0
  107. package/dist/documents/index.js +128 -1
  108. package/dist/documents/module.d.ts +20 -0
  109. package/dist/documents/module.js +1 -0
  110. package/dist/event/.kosh/bindings.js +1 -1
  111. package/dist/event/.kosh/schema.d.ts +2 -1
  112. package/dist/event/i18n/bn.d.ts +2 -0
  113. package/dist/event/i18n/bn.js +101 -0
  114. package/dist/event/index.js +66 -0
  115. package/dist/event/module.d.ts +20 -0
  116. package/dist/event/module.js +8 -1
  117. package/dist/event_account/.kosh/bindings.js +1 -1
  118. package/dist/event_account/.kosh/schema.d.ts +530 -8
  119. package/dist/event_account/i18n/bn.d.ts +2 -0
  120. package/dist/event_account/i18n/bn.js +5 -0
  121. package/dist/event_account/index.js +2 -0
  122. package/dist/event_account/module.d.ts +4905 -1431
  123. package/dist/expense/.kosh/bindings.js +1 -1
  124. package/dist/expense/.kosh/schema.d.ts +323 -2
  125. package/dist/expense/i18n/bn.d.ts +2 -0
  126. package/dist/expense/i18n/bn.js +155 -0
  127. package/dist/expense/index.js +8 -1
  128. package/dist/expense/module.d.ts +2715 -694
  129. package/dist/expense/module.js +3 -1
  130. package/dist/expense_account/.kosh/bindings.js +1 -1
  131. package/dist/expense_account/.kosh/schema.d.ts +587 -8
  132. package/dist/expense_account/i18n/bn.d.ts +2 -0
  133. package/dist/expense_account/i18n/bn.js +15 -0
  134. package/dist/expense_account/index.js +2 -0
  135. package/dist/expense_account/module.d.ts +8094 -2619
  136. package/dist/helpdesk/.kosh/bindings.js +1 -1
  137. package/dist/helpdesk/.kosh/schema.d.ts +2 -1
  138. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  139. package/dist/helpdesk/i18n/bn.js +127 -0
  140. package/dist/helpdesk/index.js +2 -0
  141. package/dist/helpdesk/module.d.ts +20 -0
  142. package/dist/hr/.kosh/bindings.js +1 -1
  143. package/dist/hr/.kosh/schema.d.ts +59 -1
  144. package/dist/hr/demo.js +11 -1
  145. package/dist/hr/i18n/bn.d.ts +2 -0
  146. package/dist/hr/i18n/bn.js +126 -0
  147. package/dist/hr/index.d.ts +1 -1
  148. package/dist/hr/index.js +158 -12
  149. package/dist/hr/module.d.ts +932 -59
  150. package/dist/hr/module.js +114 -17
  151. package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
  152. package/dist/indent/.kosh/schema.d.ts +2084 -0
  153. package/dist/indent/demo.d.ts +7 -0
  154. package/dist/indent/demo.js +48 -0
  155. package/dist/indent/i18n/bn.d.ts +2 -0
  156. package/dist/indent/i18n/bn.js +143 -0
  157. package/dist/indent/index.d.ts +3 -0
  158. package/dist/indent/index.js +450 -0
  159. package/dist/{mrp → indent}/module.d.ts +7164 -3075
  160. package/dist/indent/module.js +792 -0
  161. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  162. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  163. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  164. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  165. package/dist/indent_purchase/i18n/bn.js +13 -0
  166. package/dist/indent_purchase/index.d.ts +3 -0
  167. package/dist/indent_purchase/index.js +61 -0
  168. package/dist/indent_purchase/module.d.ts +27950 -0
  169. package/dist/indent_purchase/module.js +163 -0
  170. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  171. package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
  172. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  173. package/dist/l10n_bd/i18n/bn.js +69 -0
  174. package/dist/l10n_bd/index.js +2 -0
  175. package/dist/l10n_bd/module.d.ts +5167 -1693
  176. package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
  177. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
  178. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  179. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  180. package/dist/l10n_bd_payroll/index.js +2 -0
  181. package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
  182. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  183. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  184. package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
  185. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  186. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  187. package/dist/l10n_bd_pos/index.d.ts +3 -0
  188. package/dist/l10n_bd_pos/index.js +111 -0
  189. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
  190. package/dist/l10n_bd_pos/module.js +43 -0
  191. package/dist/l10n_in/.kosh/bindings.js +1 -1
  192. package/dist/l10n_in/.kosh/schema.d.ts +530 -8
  193. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  194. package/dist/l10n_in/i18n/bn.js +95 -0
  195. package/dist/l10n_in/index.js +2 -0
  196. package/dist/l10n_in/module.d.ts +6703 -1652
  197. package/dist/l10n_in/module.js +25 -5
  198. package/dist/l10n_in/web/GstSettings.js +2 -2
  199. package/dist/mail/inbound/handle.js +2 -4
  200. package/dist/mail/inbound/models.js +5 -3
  201. package/dist/mail/index.d.ts +12 -1
  202. package/dist/mail/index.js +139 -2
  203. package/dist/mail/send.d.ts +56 -0
  204. package/dist/mail/send.js +394 -0
  205. package/dist/mail/web/SendButton.d.ts +9 -0
  206. package/dist/mail/web/SendButton.js +71 -0
  207. package/dist/mail/web/SendSelected.d.ts +8 -0
  208. package/dist/mail/web/SendSelected.js +33 -0
  209. package/dist/mail/web/index.d.ts +2 -0
  210. package/dist/mail/web/index.js +6 -0
  211. package/dist/mail/web/messages.js +36 -0
  212. package/dist/maintenance/.kosh/bindings.js +1 -1
  213. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  214. package/dist/maintenance/i18n/bn.d.ts +2 -0
  215. package/dist/maintenance/i18n/bn.js +132 -0
  216. package/dist/maintenance/index.js +85 -0
  217. package/dist/maintenance/module.d.ts +25 -0
  218. package/dist/maintenance/module.js +27 -9
  219. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  220. package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
  221. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  222. package/dist/maintenance_stock/i18n/bn.js +21 -0
  223. package/dist/maintenance_stock/index.js +2 -0
  224. package/dist/maintenance_stock/module.d.ts +5302 -1256
  225. package/dist/maintenance_stock/module.js +1 -0
  226. package/dist/modules-sdk/apps.d.ts +10 -0
  227. package/dist/modules-sdk/apps.js +32 -0
  228. package/dist/modules-sdk/index.d.ts +1 -1
  229. package/dist/modules-sdk/manifest.d.ts +68 -2
  230. package/dist/payment/.kosh/bindings.js +1 -1
  231. package/dist/payment/.kosh/schema.d.ts +530 -8
  232. package/dist/payment/i18n/bn.d.ts +2 -0
  233. package/dist/payment/i18n/bn.js +59 -0
  234. package/dist/payment/index.js +85 -0
  235. package/dist/payment/module.d.ts +5134 -1660
  236. package/dist/payment/module.js +17 -3
  237. package/dist/payment/settle.js +1 -0
  238. package/dist/payroll/.kosh/bindings.js +1 -1
  239. package/dist/payroll/.kosh/schema.d.ts +59 -1
  240. package/dist/payroll/i18n/bn.d.ts +2 -0
  241. package/dist/payroll/i18n/bn.js +206 -0
  242. package/dist/payroll/index.js +2 -0
  243. package/dist/payroll/module.d.ts +936 -48
  244. package/dist/payroll_account/.kosh/bindings.js +1 -1
  245. package/dist/payroll_account/.kosh/schema.d.ts +587 -8
  246. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  247. package/dist/payroll_account/i18n/bn.js +10 -0
  248. package/dist/payroll_account/index.js +2 -0
  249. package/dist/payroll_account/module.d.ts +7534 -3192
  250. package/dist/permissions/approvals.d.ts +97 -4
  251. package/dist/permissions/approvals.js +780 -31
  252. package/dist/permissions/index.d.ts +1 -1
  253. package/dist/permissions/index.js +2 -2
  254. package/dist/permissions/models.js +177 -5
  255. package/dist/permissions/routes.d.ts +3 -0
  256. package/dist/permissions/routes.js +36 -2
  257. package/dist/permissions/web/ApprovalPanel.js +43 -5
  258. package/dist/permissions/web/messages.js +52 -0
  259. package/dist/portal/.kosh/bindings.js +1 -1
  260. package/dist/portal/.kosh/schema.d.ts +2 -1
  261. package/dist/portal/documents.d.ts +3 -0
  262. package/dist/portal/documents.js +21 -1
  263. package/dist/portal/i18n/bn.d.ts +2 -0
  264. package/dist/portal/i18n/bn.js +33 -0
  265. package/dist/portal/index.js +2 -0
  266. package/dist/portal/module.d.ts +20 -0
  267. package/dist/portal/routes-documents.js +76 -0
  268. package/dist/pos/.kosh/bindings.js +1 -1
  269. package/dist/pos/.kosh/schema.d.ts +531 -8
  270. package/dist/pos/i18n/bn.d.ts +2 -0
  271. package/dist/pos/i18n/bn.js +133 -0
  272. package/dist/pos/index.js +83 -1
  273. package/dist/pos/module.d.ts +6888 -1777
  274. package/dist/pos/module.js +49 -5
  275. package/dist/pos/routes.js +80 -7
  276. package/dist/pos/web/Register.js +2 -5
  277. package/dist/pos_stock/.kosh/bindings.js +1 -1
  278. package/dist/pos_stock/.kosh/schema.d.ts +626 -9
  279. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  280. package/dist/pos_stock/i18n/bn.js +6 -0
  281. package/dist/pos_stock/index.js +2 -0
  282. package/dist/pos_stock/module.d.ts +10798 -3276
  283. package/dist/product/.kosh/bindings.js +1 -1
  284. package/dist/product/.kosh/schema.d.ts +202 -1
  285. package/dist/product/i18n/bn.d.ts +2 -0
  286. package/dist/product/i18n/bn.js +175 -0
  287. package/dist/product/index.d.ts +1 -0
  288. package/dist/product/index.js +288 -1
  289. package/dist/product/module.d.ts +1725 -0
  290. package/dist/product/module.js +66 -6
  291. package/dist/product/pricelist.d.ts +575 -0
  292. package/dist/product/pricelist.js +257 -0
  293. package/dist/product/variants.d.ts +908 -0
  294. package/dist/product/variants.js +251 -0
  295. package/dist/production/.kosh/bindings.d.ts +22 -0
  296. package/dist/production/.kosh/bindings.js +15 -0
  297. package/dist/production/.kosh/schema.d.ts +2345 -0
  298. package/dist/{mrp → production}/demo.d.ts +1 -1
  299. package/dist/{mrp → production}/demo.js +5 -5
  300. package/dist/production/depth.d.ts +790 -0
  301. package/dist/production/depth.js +262 -0
  302. package/dist/production/i18n/bn.d.ts +2 -0
  303. package/dist/production/i18n/bn.js +350 -0
  304. package/dist/production/index.d.ts +6 -0
  305. package/dist/production/index.js +1256 -0
  306. package/dist/production/module.d.ts +17327 -0
  307. package/dist/production/module.js +1333 -0
  308. package/dist/production/plan.d.ts +921 -0
  309. package/dist/production/plan.js +511 -0
  310. package/dist/production/schedule.d.ts +656 -0
  311. package/dist/production/schedule.js +309 -0
  312. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  313. package/dist/production_account/.kosh/bindings.js +15 -0
  314. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  315. package/dist/production_account/i18n/bn.d.ts +2 -0
  316. package/dist/production_account/i18n/bn.js +93 -0
  317. package/dist/production_account/index.d.ts +4 -0
  318. package/dist/production_account/index.js +246 -0
  319. package/dist/production_account/module.d.ts +1192 -0
  320. package/dist/{mrp_account → production_account}/module.js +72 -18
  321. package/dist/production_account/overhead.d.ts +1195 -0
  322. package/dist/production_account/overhead.js +554 -0
  323. package/dist/project/.kosh/bindings.js +1 -1
  324. package/dist/project/.kosh/schema.d.ts +65 -2
  325. package/dist/project/i18n/bn.d.ts +2 -0
  326. package/dist/project/i18n/bn.js +383 -0
  327. package/dist/project/index.js +123 -0
  328. package/dist/project/module.d.ts +20 -0
  329. package/dist/project/module.js +73 -14
  330. package/dist/project_account/.kosh/bindings.js +1 -1
  331. package/dist/project_account/.kosh/schema.d.ts +530 -8
  332. package/dist/project_account/i18n/bn.d.ts +2 -0
  333. package/dist/project_account/i18n/bn.js +6 -0
  334. package/dist/project_account/index.js +2 -0
  335. package/dist/project_account/module.d.ts +4926 -1452
  336. package/dist/project_portal/.kosh/bindings.js +1 -1
  337. package/dist/project_portal/.kosh/schema.d.ts +65 -2
  338. package/dist/project_portal/i18n/bn.d.ts +2 -0
  339. package/dist/project_portal/i18n/bn.js +6 -0
  340. package/dist/project_portal/index.js +2 -0
  341. package/dist/project_portal/module.d.ts +40 -0
  342. package/dist/project_purchase/.kosh/bindings.js +1 -1
  343. package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
  344. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  345. package/dist/project_purchase/i18n/bn.js +4 -0
  346. package/dist/project_purchase/index.js +2 -0
  347. package/dist/project_purchase/module.d.ts +17912 -4446
  348. package/dist/purchase/.kosh/bindings.js +1 -1
  349. package/dist/purchase/.kosh/schema.d.ts +813 -3
  350. package/dist/purchase/comparison.d.ts +993 -0
  351. package/dist/purchase/comparison.js +415 -0
  352. package/dist/purchase/extras.d.ts +1509 -0
  353. package/dist/purchase/extras.js +445 -0
  354. package/dist/purchase/i18n/bn.d.ts +2 -0
  355. package/dist/purchase/i18n/bn.js +413 -0
  356. package/dist/purchase/index.d.ts +5 -0
  357. package/dist/purchase/index.js +1280 -4
  358. package/dist/purchase/module.d.ts +7139 -398
  359. package/dist/purchase/module.js +295 -11
  360. package/dist/purchase/request.d.ts +696 -0
  361. package/dist/purchase/request.js +446 -0
  362. package/dist/purchase/tender.d.ts +1208 -0
  363. package/dist/purchase/tender.js +507 -0
  364. package/dist/purchase/vendorprice.d.ts +340 -0
  365. package/dist/purchase/vendorprice.js +153 -0
  366. package/dist/purchase_account/.kosh/bindings.js +1 -1
  367. package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
  368. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  369. package/dist/purchase_account/i18n/bn.js +22 -0
  370. package/dist/purchase_account/index.js +19 -0
  371. package/dist/purchase_account/module.d.ts +12276 -2247
  372. package/dist/purchase_account/module.js +241 -9
  373. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  374. package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
  375. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  376. package/dist/purchase_portal/i18n/bn.js +5 -0
  377. package/dist/purchase_portal/index.js +2 -0
  378. package/dist/purchase_portal/module.d.ts +6849 -353
  379. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  380. package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
  381. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  382. package/dist/purchase_stock/i18n/bn.js +19 -0
  383. package/dist/purchase_stock/index.d.ts +1 -1
  384. package/dist/purchase_stock/index.js +29 -0
  385. package/dist/purchase_stock/module.d.ts +12410 -1864
  386. package/dist/purchase_stock/module.js +81 -9
  387. package/dist/purchase_stock/scorecard.d.ts +22 -0
  388. package/dist/purchase_stock/scorecard.js +77 -0
  389. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  390. package/dist/purchase_stock/web/Scorecard.js +22 -0
  391. package/dist/purchase_stock/web/index.d.ts +11 -0
  392. package/dist/purchase_stock/web/index.js +16 -0
  393. package/dist/purchase_stock/web/messages.d.ts +2 -0
  394. package/dist/purchase_stock/web/messages.js +27 -0
  395. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  396. package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
  397. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  398. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  399. package/dist/purchase_stock_account/index.js +18 -0
  400. package/dist/purchase_stock_account/module.d.ts +7 -37995
  401. package/dist/purchase_stock_account/module.js +24 -3
  402. package/dist/recruitment/.kosh/bindings.js +1 -1
  403. package/dist/recruitment/.kosh/schema.d.ts +59 -1
  404. package/dist/recruitment/i18n/bn.d.ts +2 -0
  405. package/dist/recruitment/i18n/bn.js +93 -0
  406. package/dist/recruitment/index.js +64 -0
  407. package/dist/recruitment/module.d.ts +458 -8
  408. package/dist/recruitment/module.js +11 -3
  409. package/dist/reporting/documents.d.ts +5 -0
  410. package/dist/reporting/documents.js +11 -1
  411. package/dist/reporting/index.d.ts +1 -1
  412. package/dist/reporting/index.js +1 -1
  413. package/dist/reporting/web/CalendarView.d.ts +18 -5
  414. package/dist/reporting/web/CalendarView.js +163 -29
  415. package/dist/reporting/web/messages.js +18 -0
  416. package/dist/sale_account/.kosh/bindings.js +1 -1
  417. package/dist/sale_account/.kosh/schema.d.ts +642 -16
  418. package/dist/sale_account/i18n/bn.d.ts +2 -0
  419. package/dist/sale_account/i18n/bn.js +48 -0
  420. package/dist/sale_account/index.d.ts +1 -1
  421. package/dist/sale_account/index.js +102 -4
  422. package/dist/sale_account/module.d.ts +8254 -2212
  423. package/dist/sale_account/module.js +535 -46
  424. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_crm/.kosh/bindings.js +15 -0
  426. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
  427. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  428. package/dist/sale_crm/i18n/bn.js +9 -0
  429. package/dist/sale_crm/index.d.ts +7 -0
  430. package/dist/sale_crm/index.js +104 -0
  431. package/dist/sale_crm/module.d.ts +5609 -0
  432. package/dist/sale_crm/module.js +73 -0
  433. package/dist/sale_portal/.kosh/bindings.js +1 -1
  434. package/dist/sale_portal/.kosh/schema.d.ts +291 -4
  435. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  436. package/dist/sale_portal/i18n/bn.js +7 -0
  437. package/dist/sale_portal/index.js +10 -0
  438. package/dist/sale_portal/module.d.ts +2564 -294
  439. package/dist/sale_project/.kosh/bindings.js +1 -1
  440. package/dist/sale_project/.kosh/schema.d.ts +354 -5
  441. package/dist/sale_project/i18n/bn.d.ts +2 -0
  442. package/dist/sale_project/i18n/bn.js +12 -0
  443. package/dist/sale_project/index.js +2 -0
  444. package/dist/sale_project/module.d.ts +6249 -2402
  445. package/dist/sale_stock/.kosh/bindings.js +1 -1
  446. package/dist/sale_stock/.kosh/schema.d.ts +387 -5
  447. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  448. package/dist/sale_stock/i18n/bn.js +15 -0
  449. package/dist/sale_stock/index.js +2 -0
  450. package/dist/sale_stock/module.d.ts +8057 -1759
  451. package/dist/sale_stock/module.js +20 -3
  452. package/dist/sales/.kosh/bindings.js +1 -1
  453. package/dist/sales/.kosh/schema.d.ts +291 -4
  454. package/dist/sales/i18n/bn.d.ts +2 -0
  455. package/dist/sales/i18n/bn.js +128 -0
  456. package/dist/sales/index.js +120 -5
  457. package/dist/sales/module.d.ts +3567 -633
  458. package/dist/sales/module.js +306 -11
  459. package/dist/server/api/duplicate.d.ts +14 -0
  460. package/dist/server/api/duplicate.js +75 -0
  461. package/dist/server/api/explain.d.ts +70 -0
  462. package/dist/server/api/explain.js +111 -0
  463. package/dist/server/api/metadata.d.ts +2 -0
  464. package/dist/server/api/metadata.js +9 -0
  465. package/dist/server/api/openapi.js +15 -0
  466. package/dist/server/api/rest.d.ts +1 -0
  467. package/dist/server/api/rest.js +76 -12
  468. package/dist/server/api/views.js +1 -1
  469. package/dist/server/apps.d.ts +16 -1
  470. package/dist/server/apps.js +164 -2
  471. package/dist/server/auth/base.js +2 -0
  472. package/dist/server/auth/service.d.ts +8 -0
  473. package/dist/server/auth/service.js +19 -0
  474. package/dist/server/events.d.ts +13 -0
  475. package/dist/server/events.js +22 -0
  476. package/dist/server/i18n.d.ts +27 -0
  477. package/dist/server/i18n.js +143 -0
  478. package/dist/server/index.d.ts +2 -0
  479. package/dist/server/index.js +2 -0
  480. package/dist/server/server.js +6 -0
  481. package/dist/settings/company.d.ts +3 -1
  482. package/dist/settings/company.js +26 -5
  483. package/dist/settings/routes.d.ts +10 -0
  484. package/dist/settings/routes.js +19 -3
  485. package/dist/settings/web/AppsPage.d.ts +3 -2
  486. package/dist/settings/web/AppsPage.js +26 -8
  487. package/dist/settings/web/CompaniesPage.js +91 -6
  488. package/dist/settings/web/messages.js +64 -0
  489. package/dist/sign/.kosh/bindings.js +1 -1
  490. package/dist/sign/.kosh/schema.d.ts +2 -1
  491. package/dist/sign/i18n/bn.d.ts +2 -0
  492. package/dist/sign/i18n/bn.js +97 -0
  493. package/dist/sign/index.d.ts +15 -0
  494. package/dist/sign/index.js +129 -1
  495. package/dist/sign/module.d.ts +40 -0
  496. package/dist/sign/module.js +11 -2
  497. package/dist/stock/.kosh/bindings.js +1 -1
  498. package/dist/stock/.kosh/schema.d.ts +298 -2
  499. package/dist/stock/i18n/bn.d.ts +2 -0
  500. package/dist/stock/i18n/bn.js +311 -0
  501. package/dist/stock/index.d.ts +3 -1
  502. package/dist/stock/index.js +442 -3
  503. package/dist/stock/ledger.d.ts +78 -0
  504. package/dist/stock/ledger.js +582 -0
  505. package/dist/stock/module.d.ts +5280 -2044
  506. package/dist/stock/module.js +222 -23
  507. package/dist/stock/replenish.js +16 -1
  508. package/dist/stock/returns.d.ts +157 -0
  509. package/dist/stock/returns.js +163 -0
  510. package/dist/stock/web/Ledger.d.ts +9 -0
  511. package/dist/stock/web/Ledger.js +108 -0
  512. package/dist/stock/web/Operations.d.ts +8 -0
  513. package/dist/stock/web/Operations.js +33 -0
  514. package/dist/stock/web/ReturnButton.d.ts +7 -0
  515. package/dist/stock/web/ReturnButton.js +62 -0
  516. package/dist/stock/web/index.d.ts +3 -0
  517. package/dist/stock/web/index.js +9 -0
  518. package/dist/stock/web/messages.js +154 -0
  519. package/dist/stock_account/.kosh/bindings.js +1 -1
  520. package/dist/stock_account/.kosh/schema.d.ts +682 -9
  521. package/dist/stock_account/i18n/bn.d.ts +2 -0
  522. package/dist/stock_account/i18n/bn.js +73 -0
  523. package/dist/stock_account/index.d.ts +1 -0
  524. package/dist/stock_account/index.js +131 -3
  525. package/dist/stock_account/landed.d.ts +429 -0
  526. package/dist/stock_account/landed.js +335 -0
  527. package/dist/stock_account/module.d.ts +11247 -3363
  528. package/dist/stock_account/module.js +135 -6
  529. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  530. package/dist/stock_account/web/LandedPreview.js +23 -0
  531. package/dist/stock_account/web/index.d.ts +11 -0
  532. package/dist/stock_account/web/index.js +16 -0
  533. package/dist/stock_account/web/messages.d.ts +2 -0
  534. package/dist/stock_account/web/messages.js +27 -0
  535. package/dist/todo/i18n/bn.d.ts +2 -0
  536. package/dist/todo/i18n/bn.js +66 -0
  537. package/dist/todo/index.js +59 -0
  538. package/dist/todo/module.d.ts +5 -0
  539. package/dist/todo/module.js +5 -3
  540. package/dist/trade_finance/.kosh/bindings.js +1 -1
  541. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  542. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  543. package/dist/trade_finance/i18n/bn.js +162 -0
  544. package/dist/trade_finance/index.js +93 -0
  545. package/dist/trade_finance/module.d.ts +26 -0
  546. package/dist/trade_finance/module.js +27 -8
  547. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  548. package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
  549. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  550. package/dist/trade_finance_account/i18n/bn.js +27 -0
  551. package/dist/trade_finance_account/index.js +2 -0
  552. package/dist/trade_finance_account/module.d.ts +4906 -1432
  553. package/dist/trade_finance_account/module.js +1 -0
  554. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  555. package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
  556. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  557. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  558. package/dist/trade_finance_purchase/index.js +2 -0
  559. package/dist/trade_finance_purchase/module.d.ts +6909 -413
  560. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  561. package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
  562. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  563. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  564. package/dist/trade_finance_sale/index.js +2 -0
  565. package/dist/trade_finance_sale/module.d.ts +2601 -331
  566. package/dist/ui/api.d.ts +2 -0
  567. package/dist/ui/app.d.ts +9 -0
  568. package/dist/ui/app.js +24 -4
  569. package/dist/ui/components/AppIcon.js +2 -2
  570. package/dist/ui/components/Explain.d.ts +69 -0
  571. package/dist/ui/components/Explain.js +62 -0
  572. package/dist/ui/context.d.ts +8 -1
  573. package/dist/ui/context.js +34 -1
  574. package/dist/ui/i18n/messages.d.ts +36 -0
  575. package/dist/ui/i18n/messages.js +72 -0
  576. package/dist/ui/index.d.ts +2 -1
  577. package/dist/ui/index.js +1 -0
  578. package/dist/ui/registry.d.ts +14 -0
  579. package/dist/ui/registry.js +10 -0
  580. package/dist/ui/views/FormView.d.ts +6 -0
  581. package/dist/ui/views/FormView.js +47 -10
  582. package/dist/ui/views/ListView.d.ts +8 -0
  583. package/dist/ui/views/ListView.js +10 -3
  584. package/dist/ui/views/StatsRow.js +2 -1
  585. package/dist/views/extend.js +12 -0
  586. package/dist/views/types.d.ts +13 -2
  587. package/dist/views/validate.js +8 -1
  588. package/dist/website/.kosh/bindings.js +1 -1
  589. package/dist/website/.kosh/schema.d.ts +2 -1
  590. package/dist/website/i18n/bn.d.ts +2 -0
  591. package/dist/website/i18n/bn.js +113 -0
  592. package/dist/website/index.js +36 -0
  593. package/dist/website/module.d.ts +20 -0
  594. package/dist/website/module.js +29 -5
  595. package/dist/website_crm/.kosh/bindings.js +1 -1
  596. package/dist/website_crm/.kosh/schema.d.ts +2 -1
  597. package/dist/website_crm/i18n/bn.d.ts +2 -0
  598. package/dist/website_crm/i18n/bn.js +5 -0
  599. package/dist/website_crm/index.js +2 -0
  600. package/dist/website_crm/module.d.ts +40 -0
  601. package/dist/website_sale/.kosh/bindings.js +1 -1
  602. package/dist/website_sale/.kosh/schema.d.ts +642 -17
  603. package/dist/website_sale/i18n/bn.d.ts +2 -0
  604. package/dist/website_sale/i18n/bn.js +132 -0
  605. package/dist/website_sale/index.js +83 -1
  606. package/dist/website_sale/module.d.ts +18705 -5550
  607. package/dist/website_sale/module.js +32 -10
  608. package/dist/website_sale/shop.js +22 -9
  609. package/dist/website_sale_stock/.kosh/bindings.js +1 -1
  610. package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
  611. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  612. package/dist/website_sale_stock/i18n/bn.js +4 -0
  613. package/dist/website_sale_stock/index.js +2 -0
  614. package/dist/website_sale_stock/module.d.ts +10 -24997
  615. package/dist/website_sale_stock/module.js +7 -3
  616. package/package.json +36 -8
  617. package/dist/mrp/index.d.ts +0 -3
  618. package/dist/mrp/index.js +0 -393
  619. package/dist/mrp/module.js +0 -757
  620. package/dist/mrp_account/index.d.ts +0 -3
  621. package/dist/mrp_account/index.js +0 -22
  622. /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
  623. /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
@@ -72,6 +72,36 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
72
72
  readonly hasDefault: false;
73
73
  readonly readonly: false;
74
74
  }>;
75
+ readonly partnerInvoice: import("shutro").Many2oneField<"res.partner", {
76
+ readonly required: false;
77
+ readonly computed: false;
78
+ readonly inverse: false;
79
+ readonly sequence: false;
80
+ readonly computeName: undefined;
81
+ readonly store: true;
82
+ readonly hasDefault: false;
83
+ readonly readonly: false;
84
+ }>;
85
+ readonly partnerShipping: import("shutro").Many2oneField<"res.partner", {
86
+ readonly required: false;
87
+ readonly computed: false;
88
+ readonly inverse: false;
89
+ readonly sequence: false;
90
+ readonly computeName: undefined;
91
+ readonly store: true;
92
+ readonly hasDefault: false;
93
+ readonly readonly: false;
94
+ }>;
95
+ readonly pricelist: import("shutro").Many2oneField<"product.pricelist", {
96
+ readonly required: false;
97
+ readonly computed: false;
98
+ readonly inverse: false;
99
+ readonly sequence: false;
100
+ readonly computeName: undefined;
101
+ readonly store: true;
102
+ readonly hasDefault: false;
103
+ readonly readonly: false;
104
+ }>;
75
105
  readonly currency: import("shutro").Many2oneField<"res.currency", {
76
106
  readonly required: true;
77
107
  readonly computed: false;
@@ -132,6 +162,26 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
132
162
  readonly hasDefault: true;
133
163
  readonly readonly: false;
134
164
  }>;
165
+ readonly template: import("shutro").Many2oneField<"sale.order.template", {
166
+ readonly required: false;
167
+ readonly computed: false;
168
+ readonly inverse: false;
169
+ readonly sequence: false;
170
+ readonly computeName: undefined;
171
+ readonly store: true;
172
+ readonly hasDefault: false;
173
+ readonly readonly: false;
174
+ }>;
175
+ readonly options: import("shutro").One2manyField<"sale.order.option", {
176
+ readonly required: true;
177
+ readonly computed: false;
178
+ readonly inverse: false;
179
+ readonly sequence: false;
180
+ readonly computeName: undefined;
181
+ readonly store: true;
182
+ readonly hasDefault: true;
183
+ readonly readonly: false;
184
+ }>;
135
185
  readonly amountUntaxed: import("shutro").MonetaryField<"currency", {
136
186
  readonly required: false;
137
187
  readonly computed: true;
@@ -187,11 +237,19 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
187
237
  readonly from: readonly ["draft"];
188
238
  readonly to: "sent";
189
239
  };
240
+ readonly fill: {
241
+ readonly from: readonly ["draft"];
242
+ readonly to: "draft";
243
+ readonly guard: (records: never) => unknown;
244
+ readonly message: "Choose a quotation template first.";
245
+ readonly after: (records: never) => unknown;
246
+ };
190
247
  readonly confirm: {
191
248
  readonly from: readonly ["draft", "sent"];
192
249
  readonly to: "sale";
193
250
  readonly guard: (records: never) => unknown;
194
251
  readonly message: "Add at least one line before confirming the order.";
252
+ readonly before: (records: never) => unknown;
195
253
  readonly after: (records: never) => unknown;
196
254
  };
197
255
  readonly lock: {
@@ -205,6 +263,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
205
263
  readonly cancel: {
206
264
  readonly from: readonly ["draft", "sent", "sale"];
207
265
  readonly to: "cancel";
266
+ readonly after: (records: never) => unknown;
208
267
  };
209
268
  readonly redraft: {
210
269
  readonly from: readonly ["cancel"];
@@ -218,7 +277,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
218
277
  hasDefault: true;
219
278
  sequence: false;
220
279
  }>;
221
- }, {} & import("shutro").TransitionMethods<{
280
+ }, {
281
+ readonly confirming: (this: unknown) => Promise<undefined>;
282
+ } & import("shutro").TransitionMethods<{
222
283
  readonly name: import("shutro").CharField<{
223
284
  readonly required: true;
224
285
  readonly computed: false;
@@ -249,6 +310,36 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
249
310
  readonly hasDefault: false;
250
311
  readonly readonly: false;
251
312
  }>;
313
+ readonly partnerInvoice: import("shutro").Many2oneField<"res.partner", {
314
+ readonly required: false;
315
+ readonly computed: false;
316
+ readonly inverse: false;
317
+ readonly sequence: false;
318
+ readonly computeName: undefined;
319
+ readonly store: true;
320
+ readonly hasDefault: false;
321
+ readonly readonly: false;
322
+ }>;
323
+ readonly partnerShipping: import("shutro").Many2oneField<"res.partner", {
324
+ readonly required: false;
325
+ readonly computed: false;
326
+ readonly inverse: false;
327
+ readonly sequence: false;
328
+ readonly computeName: undefined;
329
+ readonly store: true;
330
+ readonly hasDefault: false;
331
+ readonly readonly: false;
332
+ }>;
333
+ readonly pricelist: import("shutro").Many2oneField<"product.pricelist", {
334
+ readonly required: false;
335
+ readonly computed: false;
336
+ readonly inverse: false;
337
+ readonly sequence: false;
338
+ readonly computeName: undefined;
339
+ readonly store: true;
340
+ readonly hasDefault: false;
341
+ readonly readonly: false;
342
+ }>;
252
343
  readonly currency: import("shutro").Many2oneField<"res.currency", {
253
344
  readonly required: true;
254
345
  readonly computed: false;
@@ -309,6 +400,26 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
309
400
  readonly hasDefault: true;
310
401
  readonly readonly: false;
311
402
  }>;
403
+ readonly template: import("shutro").Many2oneField<"sale.order.template", {
404
+ readonly required: false;
405
+ readonly computed: false;
406
+ readonly inverse: false;
407
+ readonly sequence: false;
408
+ readonly computeName: undefined;
409
+ readonly store: true;
410
+ readonly hasDefault: false;
411
+ readonly readonly: false;
412
+ }>;
413
+ readonly options: import("shutro").One2manyField<"sale.order.option", {
414
+ readonly required: true;
415
+ readonly computed: false;
416
+ readonly inverse: false;
417
+ readonly sequence: false;
418
+ readonly computeName: undefined;
419
+ readonly store: true;
420
+ readonly hasDefault: true;
421
+ readonly readonly: false;
422
+ }>;
312
423
  readonly amountUntaxed: import("shutro").MonetaryField<"currency", {
313
424
  readonly required: false;
314
425
  readonly computed: true;
@@ -364,11 +475,19 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
364
475
  readonly from: readonly ["draft"];
365
476
  readonly to: "sent";
366
477
  };
478
+ readonly fill: {
479
+ readonly from: readonly ["draft"];
480
+ readonly to: "draft";
481
+ readonly guard: (records: never) => unknown;
482
+ readonly message: "Choose a quotation template first.";
483
+ readonly after: (records: never) => unknown;
484
+ };
367
485
  readonly confirm: {
368
486
  readonly from: readonly ["draft", "sent"];
369
487
  readonly to: "sale";
370
488
  readonly guard: (records: never) => unknown;
371
489
  readonly message: "Add at least one line before confirming the order.";
490
+ readonly before: (records: never) => unknown;
372
491
  readonly after: (records: never) => unknown;
373
492
  };
374
493
  readonly lock: {
@@ -382,6 +501,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
382
501
  readonly cancel: {
383
502
  readonly from: readonly ["draft", "sent", "sale"];
384
503
  readonly to: "cancel";
504
+ readonly after: (records: never) => unknown;
385
505
  };
386
506
  readonly redraft: {
387
507
  readonly from: readonly ["cancel"];
@@ -488,15 +608,35 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
488
608
  readonly readonly: false;
489
609
  }>;
490
610
  readonly priceUnit: import("shutro").DecimalField<{
491
- readonly required: true;
611
+ readonly required: false;
612
+ readonly computed: true;
613
+ readonly inverse: true;
614
+ readonly sequence: false;
615
+ readonly computeName: undefined;
616
+ readonly store: true;
617
+ readonly hasDefault: false;
618
+ readonly readonly: false;
619
+ }>;
620
+ readonly manualPrice: import("shutro").DecimalField<{
621
+ readonly required: false;
492
622
  readonly computed: false;
493
623
  readonly inverse: false;
494
624
  readonly sequence: false;
495
625
  readonly computeName: undefined;
496
626
  readonly store: true;
497
- readonly hasDefault: true;
627
+ readonly hasDefault: false;
498
628
  readonly readonly: false;
499
629
  }>;
630
+ readonly priceReason: import("shutro").CharField<{
631
+ readonly required: false;
632
+ readonly computed: true;
633
+ readonly inverse: false;
634
+ readonly sequence: false;
635
+ readonly computeName: undefined;
636
+ readonly store: true;
637
+ readonly hasDefault: false;
638
+ readonly readonly: true;
639
+ }, string>;
500
640
  readonly discount: import("shutro").DecimalField<{
501
641
  readonly required: true;
502
642
  readonly computed: false;
@@ -619,15 +759,35 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
619
759
  readonly readonly: false;
620
760
  }>;
621
761
  readonly priceUnit: import("shutro").DecimalField<{
622
- readonly required: true;
762
+ readonly required: false;
763
+ readonly computed: true;
764
+ readonly inverse: true;
765
+ readonly sequence: false;
766
+ readonly computeName: undefined;
767
+ readonly store: true;
768
+ readonly hasDefault: false;
769
+ readonly readonly: false;
770
+ }>;
771
+ readonly manualPrice: import("shutro").DecimalField<{
772
+ readonly required: false;
623
773
  readonly computed: false;
624
774
  readonly inverse: false;
625
775
  readonly sequence: false;
626
776
  readonly computeName: undefined;
627
777
  readonly store: true;
628
- readonly hasDefault: true;
778
+ readonly hasDefault: false;
629
779
  readonly readonly: false;
630
780
  }>;
781
+ readonly priceReason: import("shutro").CharField<{
782
+ readonly required: false;
783
+ readonly computed: true;
784
+ readonly inverse: false;
785
+ readonly sequence: false;
786
+ readonly computeName: undefined;
787
+ readonly store: true;
788
+ readonly hasDefault: false;
789
+ readonly readonly: true;
790
+ }, string>;
631
791
  readonly discount: import("shutro").DecimalField<{
632
792
  readonly required: true;
633
793
  readonly computed: false;
@@ -698,8 +858,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
698
858
  readonly hasDefault: false;
699
859
  readonly readonly: true;
700
860
  }>;
701
- }>>], readonly [import("shutro").Module<readonly [import("shutro").Model<"res.partner.tag", {
702
- readonly id: import("shutro").IdField<"res.partner.tag">;
861
+ }>>, import("shutro").Model<"sale.order.template", {
862
+ readonly id: import("shutro").IdField<"sale.order.template">;
703
863
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
704
864
  required: true;
705
865
  readonly: true;
@@ -740,6 +900,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
740
900
  hasDefault: false;
741
901
  sequence: false;
742
902
  }>;
903
+ readonly active: import("shutro").ActiveField;
743
904
  readonly name: import("shutro").CharField<{
744
905
  readonly required: true;
745
906
  readonly computed: false;
@@ -749,7 +910,37 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
749
910
  readonly store: true;
750
911
  readonly hasDefault: false;
751
912
  readonly readonly: false;
752
- }, string>;
913
+ }, string | Readonly<Record<string, string>>>;
914
+ readonly validityDays: import("shutro").ScalarField<"integer", number, number, {
915
+ readonly required: false;
916
+ readonly computed: false;
917
+ readonly inverse: false;
918
+ readonly sequence: false;
919
+ readonly computeName: undefined;
920
+ readonly store: true;
921
+ readonly hasDefault: true;
922
+ readonly readonly: false;
923
+ }>;
924
+ readonly note: import("shutro").ScalarField<"text", string, string, {
925
+ readonly required: false;
926
+ readonly computed: false;
927
+ readonly inverse: false;
928
+ readonly sequence: false;
929
+ readonly computeName: undefined;
930
+ readonly store: true;
931
+ readonly hasDefault: false;
932
+ readonly readonly: false;
933
+ }>;
934
+ readonly lines: import("shutro").One2manyField<"sale.order.template.line", {
935
+ readonly required: true;
936
+ readonly computed: false;
937
+ readonly inverse: false;
938
+ readonly sequence: false;
939
+ readonly computeName: undefined;
940
+ readonly store: true;
941
+ readonly hasDefault: true;
942
+ readonly readonly: false;
943
+ }>;
753
944
  }, {} & import("shutro").TransitionMethods<{
754
945
  readonly name: import("shutro").CharField<{
755
946
  readonly required: true;
@@ -760,9 +951,39 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
760
951
  readonly store: true;
761
952
  readonly hasDefault: false;
762
953
  readonly readonly: false;
763
- }, string>;
764
- }>>, import("shutro").Model<"res.partner", {
765
- readonly id: import("shutro").IdField<"res.partner">;
954
+ }, string | Readonly<Record<string, string>>>;
955
+ readonly validityDays: import("shutro").ScalarField<"integer", number, number, {
956
+ readonly required: false;
957
+ readonly computed: false;
958
+ readonly inverse: false;
959
+ readonly sequence: false;
960
+ readonly computeName: undefined;
961
+ readonly store: true;
962
+ readonly hasDefault: true;
963
+ readonly readonly: false;
964
+ }>;
965
+ readonly note: import("shutro").ScalarField<"text", string, string, {
966
+ readonly required: false;
967
+ readonly computed: false;
968
+ readonly inverse: false;
969
+ readonly sequence: false;
970
+ readonly computeName: undefined;
971
+ readonly store: true;
972
+ readonly hasDefault: false;
973
+ readonly readonly: false;
974
+ }>;
975
+ readonly lines: import("shutro").One2manyField<"sale.order.template.line", {
976
+ readonly required: true;
977
+ readonly computed: false;
978
+ readonly inverse: false;
979
+ readonly sequence: false;
980
+ readonly computeName: undefined;
981
+ readonly store: true;
982
+ readonly hasDefault: true;
983
+ readonly readonly: false;
984
+ }>;
985
+ }>>, import("shutro").Model<"sale.order.template.line", {
986
+ readonly id: import("shutro").IdField<"sale.order.template.line">;
766
987
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
767
988
  required: true;
768
989
  readonly: true;
@@ -803,9 +1024,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
803
1024
  hasDefault: false;
804
1025
  sequence: false;
805
1026
  }>;
806
- readonly active: import("shutro").ActiveField;
807
- readonly company: import("shutro").CompanyField<false>;
808
- readonly name: import("shutro").CharField<{
1027
+ readonly template: import("shutro").Many2oneField<"sale.order.template", {
809
1028
  readonly required: true;
810
1029
  readonly computed: false;
811
1030
  readonly inverse: false;
@@ -814,29 +1033,29 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
814
1033
  readonly store: true;
815
1034
  readonly hasDefault: false;
816
1035
  readonly readonly: false;
817
- }, string>;
818
- readonly image: import("shutro").Many2oneField<"storage.attachment", {
1036
+ }>;
1037
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
819
1038
  readonly required: false;
820
1039
  readonly computed: false;
821
1040
  readonly inverse: false;
822
1041
  readonly sequence: false;
823
1042
  readonly computeName: undefined;
824
1043
  readonly store: true;
825
- readonly hasDefault: false;
1044
+ readonly hasDefault: true;
826
1045
  readonly readonly: false;
827
1046
  }>;
828
- readonly tags: import("shutro").Many2manyField<"res.partner.tag", {
1047
+ readonly product: import("shutro").Many2oneField<"product.product", {
829
1048
  readonly required: true;
830
1049
  readonly computed: false;
831
1050
  readonly inverse: false;
832
1051
  readonly sequence: false;
833
1052
  readonly computeName: undefined;
834
1053
  readonly store: true;
835
- readonly hasDefault: true;
1054
+ readonly hasDefault: false;
836
1055
  readonly readonly: false;
837
1056
  }>;
838
- readonly latitude: import("shutro").DecimalField<{
839
- readonly required: false;
1057
+ readonly name: import("shutro").CharField<{
1058
+ readonly required: true;
840
1059
  readonly computed: false;
841
1060
  readonly inverse: false;
842
1061
  readonly sequence: false;
@@ -844,18 +1063,18 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
844
1063
  readonly store: true;
845
1064
  readonly hasDefault: false;
846
1065
  readonly readonly: false;
847
- }>;
848
- readonly longitude: import("shutro").DecimalField<{
849
- readonly required: false;
1066
+ }, string>;
1067
+ readonly quantity: import("shutro").DecimalField<{
1068
+ readonly required: true;
850
1069
  readonly computed: false;
851
1070
  readonly inverse: false;
852
1071
  readonly sequence: false;
853
1072
  readonly computeName: undefined;
854
1073
  readonly store: true;
855
- readonly hasDefault: false;
1074
+ readonly hasDefault: true;
856
1075
  readonly readonly: false;
857
1076
  }>;
858
- readonly isCompany: import("shutro").ScalarField<"boolean", boolean, boolean, {
1077
+ readonly optional: import("shutro").ScalarField<"boolean", boolean, boolean, {
859
1078
  readonly required: true;
860
1079
  readonly computed: false;
861
1080
  readonly inverse: false;
@@ -865,8 +1084,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
865
1084
  readonly hasDefault: true;
866
1085
  readonly readonly: false;
867
1086
  }>;
868
- readonly parent: import("shutro").Many2oneField<"res.partner", {
869
- readonly required: false;
1087
+ }, {} & import("shutro").TransitionMethods<{
1088
+ readonly template: import("shutro").Many2oneField<"sale.order.template", {
1089
+ readonly required: true;
870
1090
  readonly computed: false;
871
1091
  readonly inverse: false;
872
1092
  readonly sequence: false;
@@ -875,8 +1095,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
875
1095
  readonly hasDefault: false;
876
1096
  readonly readonly: false;
877
1097
  }>;
878
- readonly contacts: import("shutro").One2manyField<"res.partner", {
879
- readonly required: true;
1098
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
1099
+ readonly required: false;
880
1100
  readonly computed: false;
881
1101
  readonly inverse: false;
882
1102
  readonly sequence: false;
@@ -885,8 +1105,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
885
1105
  readonly hasDefault: true;
886
1106
  readonly readonly: false;
887
1107
  }>;
888
- readonly email: import("shutro").CharField<{
889
- readonly required: false;
1108
+ readonly product: import("shutro").Many2oneField<"product.product", {
1109
+ readonly required: true;
890
1110
  readonly computed: false;
891
1111
  readonly inverse: false;
892
1112
  readonly sequence: false;
@@ -894,9 +1114,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
894
1114
  readonly store: true;
895
1115
  readonly hasDefault: false;
896
1116
  readonly readonly: false;
897
- }, string>;
898
- readonly phone: import("shutro").CharField<{
899
- readonly required: false;
1117
+ }>;
1118
+ readonly name: import("shutro").CharField<{
1119
+ readonly required: true;
900
1120
  readonly computed: false;
901
1121
  readonly inverse: false;
902
1122
  readonly sequence: false;
@@ -905,28 +1125,70 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
905
1125
  readonly hasDefault: false;
906
1126
  readonly readonly: false;
907
1127
  }, string>;
908
- readonly mobile: import("shutro").CharField<{
909
- readonly required: false;
1128
+ readonly quantity: import("shutro").DecimalField<{
1129
+ readonly required: true;
910
1130
  readonly computed: false;
911
1131
  readonly inverse: false;
912
1132
  readonly sequence: false;
913
1133
  readonly computeName: undefined;
914
1134
  readonly store: true;
915
- readonly hasDefault: false;
1135
+ readonly hasDefault: true;
916
1136
  readonly readonly: false;
917
- }, string>;
918
- readonly website: import("shutro").CharField<{
919
- readonly required: false;
1137
+ }>;
1138
+ readonly optional: import("shutro").ScalarField<"boolean", boolean, boolean, {
1139
+ readonly required: true;
920
1140
  readonly computed: false;
921
1141
  readonly inverse: false;
922
1142
  readonly sequence: false;
923
1143
  readonly computeName: undefined;
924
1144
  readonly store: true;
925
- readonly hasDefault: false;
1145
+ readonly hasDefault: true;
926
1146
  readonly readonly: false;
927
- }, string>;
928
- readonly street: import("shutro").CharField<{
929
- readonly required: false;
1147
+ }>;
1148
+ }>>, import("shutro").Model<"sale.order.option", {
1149
+ readonly id: import("shutro").IdField<"sale.order.option">;
1150
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1151
+ required: true;
1152
+ readonly: true;
1153
+ computed: false;
1154
+ inverse: false;
1155
+ hasDefault: false;
1156
+ sequence: false;
1157
+ }>;
1158
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
1159
+ required: true;
1160
+ readonly: true;
1161
+ computed: false;
1162
+ inverse: false;
1163
+ hasDefault: false;
1164
+ sequence: false;
1165
+ }>;
1166
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
1167
+ required: false;
1168
+ readonly: true;
1169
+ computed: false;
1170
+ inverse: false;
1171
+ hasDefault: false;
1172
+ sequence: false;
1173
+ }>;
1174
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
1175
+ required: false;
1176
+ readonly: true;
1177
+ computed: false;
1178
+ inverse: false;
1179
+ hasDefault: false;
1180
+ sequence: false;
1181
+ }>;
1182
+ readonly displayName: import("shutro").CharField<{
1183
+ required: true;
1184
+ readonly: true;
1185
+ computed: true;
1186
+ inverse: false;
1187
+ hasDefault: false;
1188
+ sequence: false;
1189
+ }>;
1190
+ readonly order: import("shutro").Many2oneField<"sale.order", {
1191
+ readonly required: true;
930
1192
  readonly computed: false;
931
1193
  readonly inverse: false;
932
1194
  readonly sequence: false;
@@ -934,9 +1196,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
934
1196
  readonly store: true;
935
1197
  readonly hasDefault: false;
936
1198
  readonly readonly: false;
937
- }, string>;
938
- readonly city: import("shutro").CharField<{
939
- readonly required: false;
1199
+ }>;
1200
+ readonly product: import("shutro").Many2oneField<"product.product", {
1201
+ readonly required: true;
940
1202
  readonly computed: false;
941
1203
  readonly inverse: false;
942
1204
  readonly sequence: false;
@@ -944,9 +1206,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
944
1206
  readonly store: true;
945
1207
  readonly hasDefault: false;
946
1208
  readonly readonly: false;
947
- }, string>;
948
- readonly zip: import("shutro").CharField<{
949
- readonly required: false;
1209
+ }>;
1210
+ readonly name: import("shutro").CharField<{
1211
+ readonly required: true;
950
1212
  readonly computed: false;
951
1213
  readonly inverse: false;
952
1214
  readonly sequence: false;
@@ -955,7 +1217,17 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
955
1217
  readonly hasDefault: false;
956
1218
  readonly readonly: false;
957
1219
  }, string>;
958
- readonly country: import("shutro").CharField<{
1220
+ readonly quantity: import("shutro").DecimalField<{
1221
+ readonly required: true;
1222
+ readonly computed: false;
1223
+ readonly inverse: false;
1224
+ readonly sequence: false;
1225
+ readonly computeName: undefined;
1226
+ readonly store: true;
1227
+ readonly hasDefault: true;
1228
+ readonly readonly: false;
1229
+ }>;
1230
+ readonly priceUnit: import("shutro").DecimalField<{
959
1231
  readonly required: false;
960
1232
  readonly computed: false;
961
1233
  readonly inverse: false;
@@ -964,8 +1236,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
964
1236
  readonly store: true;
965
1237
  readonly hasDefault: false;
966
1238
  readonly readonly: false;
967
- }, string>;
968
- readonly state: import("shutro").CharField<{
1239
+ }>;
1240
+ readonly line: import("shutro").Many2oneField<"sale.order.line", {
969
1241
  readonly required: false;
970
1242
  readonly computed: false;
971
1243
  readonly inverse: false;
@@ -974,9 +1246,26 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
974
1246
  readonly store: true;
975
1247
  readonly hasDefault: false;
976
1248
  readonly readonly: false;
977
- }, string>;
978
- readonly taxId: import("shutro").CharField<{
979
- readonly required: false;
1249
+ }>;
1250
+ readonly state: import("shutro").StateField<"added" | "offered", {
1251
+ readonly add: {
1252
+ readonly from: readonly ["offered"];
1253
+ readonly to: "added";
1254
+ readonly guard: (records: never) => unknown;
1255
+ readonly message: "Options are added while the quotation is open.";
1256
+ readonly after: (records: never) => unknown;
1257
+ };
1258
+ }, {
1259
+ required: true;
1260
+ readonly: true;
1261
+ computed: false;
1262
+ inverse: false;
1263
+ hasDefault: true;
1264
+ sequence: false;
1265
+ }>;
1266
+ }, {} & import("shutro").TransitionMethods<{
1267
+ readonly order: import("shutro").Many2oneField<"sale.order", {
1268
+ readonly required: true;
980
1269
  readonly computed: false;
981
1270
  readonly inverse: false;
982
1271
  readonly sequence: false;
@@ -984,18 +1273,28 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
984
1273
  readonly store: true;
985
1274
  readonly hasDefault: false;
986
1275
  readonly readonly: false;
987
- }, string>;
988
- readonly isCustomer: import("shutro").ScalarField<"boolean", boolean, boolean, {
1276
+ }>;
1277
+ readonly product: import("shutro").Many2oneField<"product.product", {
989
1278
  readonly required: true;
990
1279
  readonly computed: false;
991
1280
  readonly inverse: false;
992
1281
  readonly sequence: false;
993
1282
  readonly computeName: undefined;
994
1283
  readonly store: true;
995
- readonly hasDefault: true;
1284
+ readonly hasDefault: false;
996
1285
  readonly readonly: false;
997
1286
  }>;
998
- readonly isVendor: import("shutro").ScalarField<"boolean", boolean, boolean, {
1287
+ readonly name: import("shutro").CharField<{
1288
+ readonly required: true;
1289
+ readonly computed: false;
1290
+ readonly inverse: false;
1291
+ readonly sequence: false;
1292
+ readonly computeName: undefined;
1293
+ readonly store: true;
1294
+ readonly hasDefault: false;
1295
+ readonly readonly: false;
1296
+ }, string>;
1297
+ readonly quantity: import("shutro").DecimalField<{
999
1298
  readonly required: true;
1000
1299
  readonly computed: false;
1001
1300
  readonly inverse: false;
@@ -1005,7 +1304,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1005
1304
  readonly hasDefault: true;
1006
1305
  readonly readonly: false;
1007
1306
  }>;
1008
- readonly currency: import("shutro").Many2oneField<"res.currency", {
1307
+ readonly priceUnit: import("shutro").DecimalField<{
1009
1308
  readonly required: false;
1010
1309
  readonly computed: false;
1011
1310
  readonly inverse: false;
@@ -1015,7 +1314,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1015
1314
  readonly hasDefault: false;
1016
1315
  readonly readonly: false;
1017
1316
  }>;
1018
- readonly notes: import("shutro").ScalarField<"text", string, string, {
1317
+ readonly line: import("shutro").Many2oneField<"sale.order.line", {
1019
1318
  readonly required: false;
1020
1319
  readonly computed: false;
1021
1320
  readonly inverse: false;
@@ -1025,6 +1324,74 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1025
1324
  readonly hasDefault: false;
1026
1325
  readonly readonly: false;
1027
1326
  }>;
1327
+ readonly state: import("shutro").StateField<"added" | "offered", {
1328
+ readonly add: {
1329
+ readonly from: readonly ["offered"];
1330
+ readonly to: "added";
1331
+ readonly guard: (records: never) => unknown;
1332
+ readonly message: "Options are added while the quotation is open.";
1333
+ readonly after: (records: never) => unknown;
1334
+ };
1335
+ }, {
1336
+ required: true;
1337
+ readonly: true;
1338
+ computed: false;
1339
+ inverse: false;
1340
+ hasDefault: true;
1341
+ sequence: false;
1342
+ }>;
1343
+ }>>], readonly [import("shutro").Module<readonly [import("shutro").Model<"res.partner.tag", {
1344
+ readonly id: import("shutro").IdField<"res.partner.tag">;
1345
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1346
+ required: true;
1347
+ readonly: true;
1348
+ computed: false;
1349
+ inverse: false;
1350
+ hasDefault: false;
1351
+ sequence: false;
1352
+ }>;
1353
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
1354
+ required: true;
1355
+ readonly: true;
1356
+ computed: false;
1357
+ inverse: false;
1358
+ hasDefault: false;
1359
+ sequence: false;
1360
+ }>;
1361
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
1362
+ required: false;
1363
+ readonly: true;
1364
+ computed: false;
1365
+ inverse: false;
1366
+ hasDefault: false;
1367
+ sequence: false;
1368
+ }>;
1369
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
1370
+ required: false;
1371
+ readonly: true;
1372
+ computed: false;
1373
+ inverse: false;
1374
+ hasDefault: false;
1375
+ sequence: false;
1376
+ }>;
1377
+ readonly displayName: import("shutro").CharField<{
1378
+ required: true;
1379
+ readonly: true;
1380
+ computed: true;
1381
+ inverse: false;
1382
+ hasDefault: false;
1383
+ sequence: false;
1384
+ }>;
1385
+ readonly name: import("shutro").CharField<{
1386
+ readonly required: true;
1387
+ readonly computed: false;
1388
+ readonly inverse: false;
1389
+ readonly sequence: false;
1390
+ readonly computeName: undefined;
1391
+ readonly store: true;
1392
+ readonly hasDefault: false;
1393
+ readonly readonly: false;
1394
+ }, string>;
1028
1395
  }, {} & import("shutro").TransitionMethods<{
1029
1396
  readonly name: import("shutro").CharField<{
1030
1397
  readonly required: true;
@@ -1036,6 +1403,60 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1036
1403
  readonly hasDefault: false;
1037
1404
  readonly readonly: false;
1038
1405
  }, string>;
1406
+ }>>, import("shutro").Model<"res.partner", {
1407
+ readonly id: import("shutro").IdField<"res.partner">;
1408
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1409
+ required: true;
1410
+ readonly: true;
1411
+ computed: false;
1412
+ inverse: false;
1413
+ hasDefault: false;
1414
+ sequence: false;
1415
+ }>;
1416
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
1417
+ required: true;
1418
+ readonly: true;
1419
+ computed: false;
1420
+ inverse: false;
1421
+ hasDefault: false;
1422
+ sequence: false;
1423
+ }>;
1424
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
1425
+ required: false;
1426
+ readonly: true;
1427
+ computed: false;
1428
+ inverse: false;
1429
+ hasDefault: false;
1430
+ sequence: false;
1431
+ }>;
1432
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
1433
+ required: false;
1434
+ readonly: true;
1435
+ computed: false;
1436
+ inverse: false;
1437
+ hasDefault: false;
1438
+ sequence: false;
1439
+ }>;
1440
+ readonly displayName: import("shutro").CharField<{
1441
+ required: true;
1442
+ readonly: true;
1443
+ computed: true;
1444
+ inverse: false;
1445
+ hasDefault: false;
1446
+ sequence: false;
1447
+ }>;
1448
+ readonly active: import("shutro").ActiveField;
1449
+ readonly company: import("shutro").CompanyField<false>;
1450
+ readonly name: import("shutro").CharField<{
1451
+ readonly required: true;
1452
+ readonly computed: false;
1453
+ readonly inverse: false;
1454
+ readonly sequence: false;
1455
+ readonly computeName: undefined;
1456
+ readonly store: true;
1457
+ readonly hasDefault: false;
1458
+ readonly readonly: false;
1459
+ }, string>;
1039
1460
  readonly image: import("shutro").Many2oneField<"storage.attachment", {
1040
1461
  readonly required: false;
1041
1462
  readonly computed: false;
@@ -1096,8 +1517,1743 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1096
1517
  readonly hasDefault: false;
1097
1518
  readonly readonly: false;
1098
1519
  }>;
1099
- readonly contacts: import("shutro").One2manyField<"res.partner", {
1100
- readonly required: true;
1520
+ readonly contacts: import("shutro").One2manyField<"res.partner", {
1521
+ readonly required: true;
1522
+ readonly computed: false;
1523
+ readonly inverse: false;
1524
+ readonly sequence: false;
1525
+ readonly computeName: undefined;
1526
+ readonly store: true;
1527
+ readonly hasDefault: true;
1528
+ readonly readonly: false;
1529
+ }>;
1530
+ readonly email: import("shutro").CharField<{
1531
+ readonly required: false;
1532
+ readonly computed: false;
1533
+ readonly inverse: false;
1534
+ readonly sequence: false;
1535
+ readonly computeName: undefined;
1536
+ readonly store: true;
1537
+ readonly hasDefault: false;
1538
+ readonly readonly: false;
1539
+ }, string>;
1540
+ readonly lang: import("shutro").SelectionField<"bn" | "en", {
1541
+ readonly required: false;
1542
+ readonly computed: false;
1543
+ readonly inverse: false;
1544
+ readonly sequence: false;
1545
+ readonly computeName: undefined;
1546
+ readonly store: true;
1547
+ readonly hasDefault: false;
1548
+ readonly readonly: false;
1549
+ }>;
1550
+ readonly phone: import("shutro").CharField<{
1551
+ readonly required: false;
1552
+ readonly computed: false;
1553
+ readonly inverse: false;
1554
+ readonly sequence: false;
1555
+ readonly computeName: undefined;
1556
+ readonly store: true;
1557
+ readonly hasDefault: false;
1558
+ readonly readonly: false;
1559
+ }, string>;
1560
+ readonly mobile: import("shutro").CharField<{
1561
+ readonly required: false;
1562
+ readonly computed: false;
1563
+ readonly inverse: false;
1564
+ readonly sequence: false;
1565
+ readonly computeName: undefined;
1566
+ readonly store: true;
1567
+ readonly hasDefault: false;
1568
+ readonly readonly: false;
1569
+ }, string>;
1570
+ readonly website: import("shutro").CharField<{
1571
+ readonly required: false;
1572
+ readonly computed: false;
1573
+ readonly inverse: false;
1574
+ readonly sequence: false;
1575
+ readonly computeName: undefined;
1576
+ readonly store: true;
1577
+ readonly hasDefault: false;
1578
+ readonly readonly: false;
1579
+ }, string>;
1580
+ readonly street: import("shutro").CharField<{
1581
+ readonly required: false;
1582
+ readonly computed: false;
1583
+ readonly inverse: false;
1584
+ readonly sequence: false;
1585
+ readonly computeName: undefined;
1586
+ readonly store: true;
1587
+ readonly hasDefault: false;
1588
+ readonly readonly: false;
1589
+ }, string>;
1590
+ readonly city: import("shutro").CharField<{
1591
+ readonly required: false;
1592
+ readonly computed: false;
1593
+ readonly inverse: false;
1594
+ readonly sequence: false;
1595
+ readonly computeName: undefined;
1596
+ readonly store: true;
1597
+ readonly hasDefault: false;
1598
+ readonly readonly: false;
1599
+ }, string>;
1600
+ readonly zip: import("shutro").CharField<{
1601
+ readonly required: false;
1602
+ readonly computed: false;
1603
+ readonly inverse: false;
1604
+ readonly sequence: false;
1605
+ readonly computeName: undefined;
1606
+ readonly store: true;
1607
+ readonly hasDefault: false;
1608
+ readonly readonly: false;
1609
+ }, string>;
1610
+ readonly country: import("shutro").CharField<{
1611
+ readonly required: false;
1612
+ readonly computed: false;
1613
+ readonly inverse: false;
1614
+ readonly sequence: false;
1615
+ readonly computeName: undefined;
1616
+ readonly store: true;
1617
+ readonly hasDefault: false;
1618
+ readonly readonly: false;
1619
+ }, string>;
1620
+ readonly state: import("shutro").CharField<{
1621
+ readonly required: false;
1622
+ readonly computed: false;
1623
+ readonly inverse: false;
1624
+ readonly sequence: false;
1625
+ readonly computeName: undefined;
1626
+ readonly store: true;
1627
+ readonly hasDefault: false;
1628
+ readonly readonly: false;
1629
+ }, string>;
1630
+ readonly taxId: import("shutro").CharField<{
1631
+ readonly required: false;
1632
+ readonly computed: false;
1633
+ readonly inverse: false;
1634
+ readonly sequence: false;
1635
+ readonly computeName: undefined;
1636
+ readonly store: true;
1637
+ readonly hasDefault: false;
1638
+ readonly readonly: false;
1639
+ }, string>;
1640
+ readonly isCustomer: import("shutro").ScalarField<"boolean", boolean, boolean, {
1641
+ readonly required: true;
1642
+ readonly computed: false;
1643
+ readonly inverse: false;
1644
+ readonly sequence: false;
1645
+ readonly computeName: undefined;
1646
+ readonly store: true;
1647
+ readonly hasDefault: true;
1648
+ readonly readonly: false;
1649
+ }>;
1650
+ readonly isVendor: import("shutro").ScalarField<"boolean", boolean, boolean, {
1651
+ readonly required: true;
1652
+ readonly computed: false;
1653
+ readonly inverse: false;
1654
+ readonly sequence: false;
1655
+ readonly computeName: undefined;
1656
+ readonly store: true;
1657
+ readonly hasDefault: true;
1658
+ readonly readonly: false;
1659
+ }>;
1660
+ readonly currency: import("shutro").Many2oneField<"res.currency", {
1661
+ readonly required: false;
1662
+ readonly computed: false;
1663
+ readonly inverse: false;
1664
+ readonly sequence: false;
1665
+ readonly computeName: undefined;
1666
+ readonly store: true;
1667
+ readonly hasDefault: false;
1668
+ readonly readonly: false;
1669
+ }>;
1670
+ readonly notes: import("shutro").ScalarField<"text", string, string, {
1671
+ readonly required: false;
1672
+ readonly computed: false;
1673
+ readonly inverse: false;
1674
+ readonly sequence: false;
1675
+ readonly computeName: undefined;
1676
+ readonly store: true;
1677
+ readonly hasDefault: false;
1678
+ readonly readonly: false;
1679
+ }>;
1680
+ }, {} & import("shutro").TransitionMethods<{
1681
+ readonly name: import("shutro").CharField<{
1682
+ readonly required: true;
1683
+ readonly computed: false;
1684
+ readonly inverse: false;
1685
+ readonly sequence: false;
1686
+ readonly computeName: undefined;
1687
+ readonly store: true;
1688
+ readonly hasDefault: false;
1689
+ readonly readonly: false;
1690
+ }, string>;
1691
+ readonly image: import("shutro").Many2oneField<"storage.attachment", {
1692
+ readonly required: false;
1693
+ readonly computed: false;
1694
+ readonly inverse: false;
1695
+ readonly sequence: false;
1696
+ readonly computeName: undefined;
1697
+ readonly store: true;
1698
+ readonly hasDefault: false;
1699
+ readonly readonly: false;
1700
+ }>;
1701
+ readonly tags: import("shutro").Many2manyField<"res.partner.tag", {
1702
+ readonly required: true;
1703
+ readonly computed: false;
1704
+ readonly inverse: false;
1705
+ readonly sequence: false;
1706
+ readonly computeName: undefined;
1707
+ readonly store: true;
1708
+ readonly hasDefault: true;
1709
+ readonly readonly: false;
1710
+ }>;
1711
+ readonly latitude: import("shutro").DecimalField<{
1712
+ readonly required: false;
1713
+ readonly computed: false;
1714
+ readonly inverse: false;
1715
+ readonly sequence: false;
1716
+ readonly computeName: undefined;
1717
+ readonly store: true;
1718
+ readonly hasDefault: false;
1719
+ readonly readonly: false;
1720
+ }>;
1721
+ readonly longitude: import("shutro").DecimalField<{
1722
+ readonly required: false;
1723
+ readonly computed: false;
1724
+ readonly inverse: false;
1725
+ readonly sequence: false;
1726
+ readonly computeName: undefined;
1727
+ readonly store: true;
1728
+ readonly hasDefault: false;
1729
+ readonly readonly: false;
1730
+ }>;
1731
+ readonly isCompany: import("shutro").ScalarField<"boolean", boolean, boolean, {
1732
+ readonly required: true;
1733
+ readonly computed: false;
1734
+ readonly inverse: false;
1735
+ readonly sequence: false;
1736
+ readonly computeName: undefined;
1737
+ readonly store: true;
1738
+ readonly hasDefault: true;
1739
+ readonly readonly: false;
1740
+ }>;
1741
+ readonly parent: import("shutro").Many2oneField<"res.partner", {
1742
+ readonly required: false;
1743
+ readonly computed: false;
1744
+ readonly inverse: false;
1745
+ readonly sequence: false;
1746
+ readonly computeName: undefined;
1747
+ readonly store: true;
1748
+ readonly hasDefault: false;
1749
+ readonly readonly: false;
1750
+ }>;
1751
+ readonly contacts: import("shutro").One2manyField<"res.partner", {
1752
+ readonly required: true;
1753
+ readonly computed: false;
1754
+ readonly inverse: false;
1755
+ readonly sequence: false;
1756
+ readonly computeName: undefined;
1757
+ readonly store: true;
1758
+ readonly hasDefault: true;
1759
+ readonly readonly: false;
1760
+ }>;
1761
+ readonly email: import("shutro").CharField<{
1762
+ readonly required: false;
1763
+ readonly computed: false;
1764
+ readonly inverse: false;
1765
+ readonly sequence: false;
1766
+ readonly computeName: undefined;
1767
+ readonly store: true;
1768
+ readonly hasDefault: false;
1769
+ readonly readonly: false;
1770
+ }, string>;
1771
+ readonly lang: import("shutro").SelectionField<"bn" | "en", {
1772
+ readonly required: false;
1773
+ readonly computed: false;
1774
+ readonly inverse: false;
1775
+ readonly sequence: false;
1776
+ readonly computeName: undefined;
1777
+ readonly store: true;
1778
+ readonly hasDefault: false;
1779
+ readonly readonly: false;
1780
+ }>;
1781
+ readonly phone: import("shutro").CharField<{
1782
+ readonly required: false;
1783
+ readonly computed: false;
1784
+ readonly inverse: false;
1785
+ readonly sequence: false;
1786
+ readonly computeName: undefined;
1787
+ readonly store: true;
1788
+ readonly hasDefault: false;
1789
+ readonly readonly: false;
1790
+ }, string>;
1791
+ readonly mobile: import("shutro").CharField<{
1792
+ readonly required: false;
1793
+ readonly computed: false;
1794
+ readonly inverse: false;
1795
+ readonly sequence: false;
1796
+ readonly computeName: undefined;
1797
+ readonly store: true;
1798
+ readonly hasDefault: false;
1799
+ readonly readonly: false;
1800
+ }, string>;
1801
+ readonly website: import("shutro").CharField<{
1802
+ readonly required: false;
1803
+ readonly computed: false;
1804
+ readonly inverse: false;
1805
+ readonly sequence: false;
1806
+ readonly computeName: undefined;
1807
+ readonly store: true;
1808
+ readonly hasDefault: false;
1809
+ readonly readonly: false;
1810
+ }, string>;
1811
+ readonly street: import("shutro").CharField<{
1812
+ readonly required: false;
1813
+ readonly computed: false;
1814
+ readonly inverse: false;
1815
+ readonly sequence: false;
1816
+ readonly computeName: undefined;
1817
+ readonly store: true;
1818
+ readonly hasDefault: false;
1819
+ readonly readonly: false;
1820
+ }, string>;
1821
+ readonly city: import("shutro").CharField<{
1822
+ readonly required: false;
1823
+ readonly computed: false;
1824
+ readonly inverse: false;
1825
+ readonly sequence: false;
1826
+ readonly computeName: undefined;
1827
+ readonly store: true;
1828
+ readonly hasDefault: false;
1829
+ readonly readonly: false;
1830
+ }, string>;
1831
+ readonly zip: import("shutro").CharField<{
1832
+ readonly required: false;
1833
+ readonly computed: false;
1834
+ readonly inverse: false;
1835
+ readonly sequence: false;
1836
+ readonly computeName: undefined;
1837
+ readonly store: true;
1838
+ readonly hasDefault: false;
1839
+ readonly readonly: false;
1840
+ }, string>;
1841
+ readonly country: import("shutro").CharField<{
1842
+ readonly required: false;
1843
+ readonly computed: false;
1844
+ readonly inverse: false;
1845
+ readonly sequence: false;
1846
+ readonly computeName: undefined;
1847
+ readonly store: true;
1848
+ readonly hasDefault: false;
1849
+ readonly readonly: false;
1850
+ }, string>;
1851
+ readonly state: import("shutro").CharField<{
1852
+ readonly required: false;
1853
+ readonly computed: false;
1854
+ readonly inverse: false;
1855
+ readonly sequence: false;
1856
+ readonly computeName: undefined;
1857
+ readonly store: true;
1858
+ readonly hasDefault: false;
1859
+ readonly readonly: false;
1860
+ }, string>;
1861
+ readonly taxId: import("shutro").CharField<{
1862
+ readonly required: false;
1863
+ readonly computed: false;
1864
+ readonly inverse: false;
1865
+ readonly sequence: false;
1866
+ readonly computeName: undefined;
1867
+ readonly store: true;
1868
+ readonly hasDefault: false;
1869
+ readonly readonly: false;
1870
+ }, string>;
1871
+ readonly isCustomer: import("shutro").ScalarField<"boolean", boolean, boolean, {
1872
+ readonly required: true;
1873
+ readonly computed: false;
1874
+ readonly inverse: false;
1875
+ readonly sequence: false;
1876
+ readonly computeName: undefined;
1877
+ readonly store: true;
1878
+ readonly hasDefault: true;
1879
+ readonly readonly: false;
1880
+ }>;
1881
+ readonly isVendor: import("shutro").ScalarField<"boolean", boolean, boolean, {
1882
+ readonly required: true;
1883
+ readonly computed: false;
1884
+ readonly inverse: false;
1885
+ readonly sequence: false;
1886
+ readonly computeName: undefined;
1887
+ readonly store: true;
1888
+ readonly hasDefault: true;
1889
+ readonly readonly: false;
1890
+ }>;
1891
+ readonly currency: import("shutro").Many2oneField<"res.currency", {
1892
+ readonly required: false;
1893
+ readonly computed: false;
1894
+ readonly inverse: false;
1895
+ readonly sequence: false;
1896
+ readonly computeName: undefined;
1897
+ readonly store: true;
1898
+ readonly hasDefault: false;
1899
+ readonly readonly: false;
1900
+ }>;
1901
+ readonly notes: import("shutro").ScalarField<"text", string, string, {
1902
+ readonly required: false;
1903
+ readonly computed: false;
1904
+ readonly inverse: false;
1905
+ readonly sequence: false;
1906
+ readonly computeName: undefined;
1907
+ readonly store: true;
1908
+ readonly hasDefault: false;
1909
+ readonly readonly: false;
1910
+ }>;
1911
+ }>>], readonly [import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>, import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>], readonly [import("shutro").Extension<"res.company", {
1912
+ readonly contactTaxIdRequired: import("shutro").ScalarField<"boolean", boolean, boolean, {
1913
+ readonly required: true;
1914
+ readonly computed: false;
1915
+ readonly inverse: false;
1916
+ readonly sequence: false;
1917
+ readonly computeName: undefined;
1918
+ readonly store: true;
1919
+ readonly hasDefault: true;
1920
+ readonly readonly: false;
1921
+ }>;
1922
+ readonly contactUniqueEmail: import("shutro").ScalarField<"boolean", boolean, boolean, {
1923
+ readonly required: true;
1924
+ readonly computed: false;
1925
+ readonly inverse: false;
1926
+ readonly sequence: false;
1927
+ readonly computeName: undefined;
1928
+ readonly store: true;
1929
+ readonly hasDefault: true;
1930
+ readonly readonly: false;
1931
+ }>;
1932
+ }, Record<never, never>>]>, import("shutro").Module<readonly [import("shutro").Model<"uom.uom", {
1933
+ readonly id: import("shutro").IdField<"uom.uom">;
1934
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1935
+ required: true;
1936
+ readonly: true;
1937
+ computed: false;
1938
+ inverse: false;
1939
+ hasDefault: false;
1940
+ sequence: false;
1941
+ }>;
1942
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
1943
+ required: true;
1944
+ readonly: true;
1945
+ computed: false;
1946
+ inverse: false;
1947
+ hasDefault: false;
1948
+ sequence: false;
1949
+ }>;
1950
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
1951
+ required: false;
1952
+ readonly: true;
1953
+ computed: false;
1954
+ inverse: false;
1955
+ hasDefault: false;
1956
+ sequence: false;
1957
+ }>;
1958
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
1959
+ required: false;
1960
+ readonly: true;
1961
+ computed: false;
1962
+ inverse: false;
1963
+ hasDefault: false;
1964
+ sequence: false;
1965
+ }>;
1966
+ readonly displayName: import("shutro").CharField<{
1967
+ required: true;
1968
+ readonly: true;
1969
+ computed: true;
1970
+ inverse: false;
1971
+ hasDefault: false;
1972
+ sequence: false;
1973
+ }>;
1974
+ readonly active: import("shutro").ActiveField;
1975
+ readonly name: import("shutro").CharField<{
1976
+ readonly required: true;
1977
+ readonly computed: false;
1978
+ readonly inverse: false;
1979
+ readonly sequence: false;
1980
+ readonly computeName: undefined;
1981
+ readonly store: true;
1982
+ readonly hasDefault: false;
1983
+ readonly readonly: false;
1984
+ }, string | Readonly<Record<string, string>>>;
1985
+ readonly category: import("shutro").SelectionField<"length" | "time" | "unit" | "volume" | "weight", {
1986
+ readonly required: true;
1987
+ readonly computed: false;
1988
+ readonly inverse: false;
1989
+ readonly sequence: false;
1990
+ readonly computeName: undefined;
1991
+ readonly store: true;
1992
+ readonly hasDefault: true;
1993
+ readonly readonly: false;
1994
+ }>;
1995
+ readonly ratio: import("shutro").DecimalField<{
1996
+ readonly required: true;
1997
+ readonly computed: false;
1998
+ readonly inverse: false;
1999
+ readonly sequence: false;
2000
+ readonly computeName: undefined;
2001
+ readonly store: true;
2002
+ readonly hasDefault: true;
2003
+ readonly readonly: false;
2004
+ }>;
2005
+ readonly rounding: import("shutro").DecimalField<{
2006
+ readonly required: true;
2007
+ readonly computed: false;
2008
+ readonly inverse: false;
2009
+ readonly sequence: false;
2010
+ readonly computeName: undefined;
2011
+ readonly store: true;
2012
+ readonly hasDefault: true;
2013
+ readonly readonly: false;
2014
+ }>;
2015
+ }, {} & import("shutro").TransitionMethods<{
2016
+ readonly name: import("shutro").CharField<{
2017
+ readonly required: true;
2018
+ readonly computed: false;
2019
+ readonly inverse: false;
2020
+ readonly sequence: false;
2021
+ readonly computeName: undefined;
2022
+ readonly store: true;
2023
+ readonly hasDefault: false;
2024
+ readonly readonly: false;
2025
+ }, string | Readonly<Record<string, string>>>;
2026
+ readonly category: import("shutro").SelectionField<"length" | "time" | "unit" | "volume" | "weight", {
2027
+ readonly required: true;
2028
+ readonly computed: false;
2029
+ readonly inverse: false;
2030
+ readonly sequence: false;
2031
+ readonly computeName: undefined;
2032
+ readonly store: true;
2033
+ readonly hasDefault: true;
2034
+ readonly readonly: false;
2035
+ }>;
2036
+ readonly ratio: import("shutro").DecimalField<{
2037
+ readonly required: true;
2038
+ readonly computed: false;
2039
+ readonly inverse: false;
2040
+ readonly sequence: false;
2041
+ readonly computeName: undefined;
2042
+ readonly store: true;
2043
+ readonly hasDefault: true;
2044
+ readonly readonly: false;
2045
+ }>;
2046
+ readonly rounding: import("shutro").DecimalField<{
2047
+ readonly required: true;
2048
+ readonly computed: false;
2049
+ readonly inverse: false;
2050
+ readonly sequence: false;
2051
+ readonly computeName: undefined;
2052
+ readonly store: true;
2053
+ readonly hasDefault: true;
2054
+ readonly readonly: false;
2055
+ }>;
2056
+ }>>, import("shutro").Model<"product.category", {
2057
+ readonly id: import("shutro").IdField<"product.category">;
2058
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
2059
+ required: true;
2060
+ readonly: true;
2061
+ computed: false;
2062
+ inverse: false;
2063
+ hasDefault: false;
2064
+ sequence: false;
2065
+ }>;
2066
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
2067
+ required: true;
2068
+ readonly: true;
2069
+ computed: false;
2070
+ inverse: false;
2071
+ hasDefault: false;
2072
+ sequence: false;
2073
+ }>;
2074
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
2075
+ required: false;
2076
+ readonly: true;
2077
+ computed: false;
2078
+ inverse: false;
2079
+ hasDefault: false;
2080
+ sequence: false;
2081
+ }>;
2082
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
2083
+ required: false;
2084
+ readonly: true;
2085
+ computed: false;
2086
+ inverse: false;
2087
+ hasDefault: false;
2088
+ sequence: false;
2089
+ }>;
2090
+ readonly displayName: import("shutro").CharField<{
2091
+ required: true;
2092
+ readonly: true;
2093
+ computed: true;
2094
+ inverse: false;
2095
+ hasDefault: false;
2096
+ sequence: false;
2097
+ }>;
2098
+ readonly active: import("shutro").ActiveField;
2099
+ readonly name: import("shutro").CharField<{
2100
+ readonly required: true;
2101
+ readonly computed: false;
2102
+ readonly inverse: false;
2103
+ readonly sequence: false;
2104
+ readonly computeName: undefined;
2105
+ readonly store: true;
2106
+ readonly hasDefault: false;
2107
+ readonly readonly: false;
2108
+ }, string | Readonly<Record<string, string>>>;
2109
+ readonly parent: import("shutro").Many2oneField<"product.category", {
2110
+ readonly required: false;
2111
+ readonly computed: false;
2112
+ readonly inverse: false;
2113
+ readonly sequence: false;
2114
+ readonly computeName: undefined;
2115
+ readonly store: true;
2116
+ readonly hasDefault: false;
2117
+ readonly readonly: false;
2118
+ }>;
2119
+ readonly approvalUsers: import("shutro").Many2manyField<"res.users", {
2120
+ readonly required: true;
2121
+ readonly computed: false;
2122
+ readonly inverse: false;
2123
+ readonly sequence: false;
2124
+ readonly computeName: undefined;
2125
+ readonly store: true;
2126
+ readonly hasDefault: true;
2127
+ readonly readonly: false;
2128
+ }>;
2129
+ }, {} & import("shutro").TransitionMethods<{
2130
+ readonly name: import("shutro").CharField<{
2131
+ readonly required: true;
2132
+ readonly computed: false;
2133
+ readonly inverse: false;
2134
+ readonly sequence: false;
2135
+ readonly computeName: undefined;
2136
+ readonly store: true;
2137
+ readonly hasDefault: false;
2138
+ readonly readonly: false;
2139
+ }, string | Readonly<Record<string, string>>>;
2140
+ readonly parent: import("shutro").Many2oneField<"product.category", {
2141
+ readonly required: false;
2142
+ readonly computed: false;
2143
+ readonly inverse: false;
2144
+ readonly sequence: false;
2145
+ readonly computeName: undefined;
2146
+ readonly store: true;
2147
+ readonly hasDefault: false;
2148
+ readonly readonly: false;
2149
+ }>;
2150
+ readonly approvalUsers: import("shutro").Many2manyField<"res.users", {
2151
+ readonly required: true;
2152
+ readonly computed: false;
2153
+ readonly inverse: false;
2154
+ readonly sequence: false;
2155
+ readonly computeName: undefined;
2156
+ readonly store: true;
2157
+ readonly hasDefault: true;
2158
+ readonly readonly: false;
2159
+ }>;
2160
+ }>>, import("shutro").Model<"account.tax", {
2161
+ readonly id: import("shutro").IdField<"account.tax">;
2162
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
2163
+ required: true;
2164
+ readonly: true;
2165
+ computed: false;
2166
+ inverse: false;
2167
+ hasDefault: false;
2168
+ sequence: false;
2169
+ }>;
2170
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
2171
+ required: true;
2172
+ readonly: true;
2173
+ computed: false;
2174
+ inverse: false;
2175
+ hasDefault: false;
2176
+ sequence: false;
2177
+ }>;
2178
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
2179
+ required: false;
2180
+ readonly: true;
2181
+ computed: false;
2182
+ inverse: false;
2183
+ hasDefault: false;
2184
+ sequence: false;
2185
+ }>;
2186
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
2187
+ required: false;
2188
+ readonly: true;
2189
+ computed: false;
2190
+ inverse: false;
2191
+ hasDefault: false;
2192
+ sequence: false;
2193
+ }>;
2194
+ readonly displayName: import("shutro").CharField<{
2195
+ required: true;
2196
+ readonly: true;
2197
+ computed: true;
2198
+ inverse: false;
2199
+ hasDefault: false;
2200
+ sequence: false;
2201
+ }>;
2202
+ readonly active: import("shutro").ActiveField;
2203
+ readonly name: import("shutro").CharField<{
2204
+ readonly required: true;
2205
+ readonly computed: false;
2206
+ readonly inverse: false;
2207
+ readonly sequence: false;
2208
+ readonly computeName: undefined;
2209
+ readonly store: true;
2210
+ readonly hasDefault: false;
2211
+ readonly readonly: false;
2212
+ }, string | Readonly<Record<string, string>>>;
2213
+ readonly use: import("shutro").SelectionField<"purchase" | "sale", {
2214
+ readonly required: true;
2215
+ readonly computed: false;
2216
+ readonly inverse: false;
2217
+ readonly sequence: false;
2218
+ readonly computeName: undefined;
2219
+ readonly store: true;
2220
+ readonly hasDefault: true;
2221
+ readonly readonly: false;
2222
+ }>;
2223
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
2224
+ readonly required: true;
2225
+ readonly computed: false;
2226
+ readonly inverse: false;
2227
+ readonly sequence: false;
2228
+ readonly computeName: undefined;
2229
+ readonly store: true;
2230
+ readonly hasDefault: true;
2231
+ readonly readonly: false;
2232
+ }>;
2233
+ readonly amountType: import("shutro").SelectionField<"fixed" | "percent", {
2234
+ readonly required: true;
2235
+ readonly computed: false;
2236
+ readonly inverse: false;
2237
+ readonly sequence: false;
2238
+ readonly computeName: undefined;
2239
+ readonly store: true;
2240
+ readonly hasDefault: true;
2241
+ readonly readonly: false;
2242
+ }>;
2243
+ readonly rate: import("shutro").DecimalField<{
2244
+ readonly required: true;
2245
+ readonly computed: false;
2246
+ readonly inverse: false;
2247
+ readonly sequence: false;
2248
+ readonly computeName: undefined;
2249
+ readonly store: true;
2250
+ readonly hasDefault: true;
2251
+ readonly readonly: false;
2252
+ }>;
2253
+ readonly fixedAmount: import("shutro").DecimalField<{
2254
+ readonly required: true;
2255
+ readonly computed: false;
2256
+ readonly inverse: false;
2257
+ readonly sequence: false;
2258
+ readonly computeName: undefined;
2259
+ readonly store: true;
2260
+ readonly hasDefault: true;
2261
+ readonly readonly: false;
2262
+ }>;
2263
+ readonly affectsBase: import("shutro").ScalarField<"boolean", boolean, boolean, {
2264
+ readonly required: true;
2265
+ readonly computed: false;
2266
+ readonly inverse: false;
2267
+ readonly sequence: false;
2268
+ readonly computeName: undefined;
2269
+ readonly store: true;
2270
+ readonly hasDefault: true;
2271
+ readonly readonly: false;
2272
+ }>;
2273
+ readonly priceIncluded: import("shutro").ScalarField<"boolean", boolean, boolean, {
2274
+ readonly required: true;
2275
+ readonly computed: false;
2276
+ readonly inverse: false;
2277
+ readonly sequence: false;
2278
+ readonly computeName: undefined;
2279
+ readonly store: true;
2280
+ readonly hasDefault: true;
2281
+ readonly readonly: false;
2282
+ }>;
2283
+ readonly reverseCharge: import("shutro").ScalarField<"boolean", boolean, boolean, {
2284
+ readonly required: true;
2285
+ readonly computed: false;
2286
+ readonly inverse: false;
2287
+ readonly sequence: false;
2288
+ readonly computeName: undefined;
2289
+ readonly store: true;
2290
+ readonly hasDefault: true;
2291
+ readonly readonly: false;
2292
+ }>;
2293
+ }, {} & import("shutro").TransitionMethods<{
2294
+ readonly name: import("shutro").CharField<{
2295
+ readonly required: true;
2296
+ readonly computed: false;
2297
+ readonly inverse: false;
2298
+ readonly sequence: false;
2299
+ readonly computeName: undefined;
2300
+ readonly store: true;
2301
+ readonly hasDefault: false;
2302
+ readonly readonly: false;
2303
+ }, string | Readonly<Record<string, string>>>;
2304
+ readonly use: import("shutro").SelectionField<"purchase" | "sale", {
2305
+ readonly required: true;
2306
+ readonly computed: false;
2307
+ readonly inverse: false;
2308
+ readonly sequence: false;
2309
+ readonly computeName: undefined;
2310
+ readonly store: true;
2311
+ readonly hasDefault: true;
2312
+ readonly readonly: false;
2313
+ }>;
2314
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
2315
+ readonly required: true;
2316
+ readonly computed: false;
2317
+ readonly inverse: false;
2318
+ readonly sequence: false;
2319
+ readonly computeName: undefined;
2320
+ readonly store: true;
2321
+ readonly hasDefault: true;
2322
+ readonly readonly: false;
2323
+ }>;
2324
+ readonly amountType: import("shutro").SelectionField<"fixed" | "percent", {
2325
+ readonly required: true;
2326
+ readonly computed: false;
2327
+ readonly inverse: false;
2328
+ readonly sequence: false;
2329
+ readonly computeName: undefined;
2330
+ readonly store: true;
2331
+ readonly hasDefault: true;
2332
+ readonly readonly: false;
2333
+ }>;
2334
+ readonly rate: import("shutro").DecimalField<{
2335
+ readonly required: true;
2336
+ readonly computed: false;
2337
+ readonly inverse: false;
2338
+ readonly sequence: false;
2339
+ readonly computeName: undefined;
2340
+ readonly store: true;
2341
+ readonly hasDefault: true;
2342
+ readonly readonly: false;
2343
+ }>;
2344
+ readonly fixedAmount: import("shutro").DecimalField<{
2345
+ readonly required: true;
2346
+ readonly computed: false;
2347
+ readonly inverse: false;
2348
+ readonly sequence: false;
2349
+ readonly computeName: undefined;
2350
+ readonly store: true;
2351
+ readonly hasDefault: true;
2352
+ readonly readonly: false;
2353
+ }>;
2354
+ readonly affectsBase: import("shutro").ScalarField<"boolean", boolean, boolean, {
2355
+ readonly required: true;
2356
+ readonly computed: false;
2357
+ readonly inverse: false;
2358
+ readonly sequence: false;
2359
+ readonly computeName: undefined;
2360
+ readonly store: true;
2361
+ readonly hasDefault: true;
2362
+ readonly readonly: false;
2363
+ }>;
2364
+ readonly priceIncluded: import("shutro").ScalarField<"boolean", boolean, boolean, {
2365
+ readonly required: true;
2366
+ readonly computed: false;
2367
+ readonly inverse: false;
2368
+ readonly sequence: false;
2369
+ readonly computeName: undefined;
2370
+ readonly store: true;
2371
+ readonly hasDefault: true;
2372
+ readonly readonly: false;
2373
+ }>;
2374
+ readonly reverseCharge: import("shutro").ScalarField<"boolean", boolean, boolean, {
2375
+ readonly required: true;
2376
+ readonly computed: false;
2377
+ readonly inverse: false;
2378
+ readonly sequence: false;
2379
+ readonly computeName: undefined;
2380
+ readonly store: true;
2381
+ readonly hasDefault: true;
2382
+ readonly readonly: false;
2383
+ }>;
2384
+ }>>, import("shutro").Model<"product.product", {
2385
+ readonly id: import("shutro").IdField<"product.product">;
2386
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
2387
+ required: true;
2388
+ readonly: true;
2389
+ computed: false;
2390
+ inverse: false;
2391
+ hasDefault: false;
2392
+ sequence: false;
2393
+ }>;
2394
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
2395
+ required: true;
2396
+ readonly: true;
2397
+ computed: false;
2398
+ inverse: false;
2399
+ hasDefault: false;
2400
+ sequence: false;
2401
+ }>;
2402
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
2403
+ required: false;
2404
+ readonly: true;
2405
+ computed: false;
2406
+ inverse: false;
2407
+ hasDefault: false;
2408
+ sequence: false;
2409
+ }>;
2410
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
2411
+ required: false;
2412
+ readonly: true;
2413
+ computed: false;
2414
+ inverse: false;
2415
+ hasDefault: false;
2416
+ sequence: false;
2417
+ }>;
2418
+ readonly displayName: import("shutro").CharField<{
2419
+ required: true;
2420
+ readonly: true;
2421
+ computed: true;
2422
+ inverse: false;
2423
+ hasDefault: false;
2424
+ sequence: false;
2425
+ }>;
2426
+ readonly active: import("shutro").ActiveField;
2427
+ readonly name: import("shutro").CharField<{
2428
+ readonly required: true;
2429
+ readonly computed: false;
2430
+ readonly inverse: false;
2431
+ readonly sequence: false;
2432
+ readonly computeName: undefined;
2433
+ readonly store: true;
2434
+ readonly hasDefault: false;
2435
+ readonly readonly: false;
2436
+ }, string | Readonly<Record<string, string>>>;
2437
+ readonly code: import("shutro").CharField<{
2438
+ readonly required: false;
2439
+ readonly computed: false;
2440
+ readonly inverse: false;
2441
+ readonly sequence: true;
2442
+ readonly computeName: undefined;
2443
+ readonly store: true;
2444
+ readonly hasDefault: false;
2445
+ readonly readonly: true;
2446
+ }, string>;
2447
+ readonly kind: import("shutro").SelectionField<"goods" | "service", {
2448
+ readonly required: true;
2449
+ readonly computed: false;
2450
+ readonly inverse: false;
2451
+ readonly sequence: false;
2452
+ readonly computeName: undefined;
2453
+ readonly store: true;
2454
+ readonly hasDefault: true;
2455
+ readonly readonly: false;
2456
+ }>;
2457
+ readonly category: import("shutro").Many2oneField<"product.category", {
2458
+ readonly required: false;
2459
+ readonly computed: false;
2460
+ readonly inverse: false;
2461
+ readonly sequence: false;
2462
+ readonly computeName: undefined;
2463
+ readonly store: true;
2464
+ readonly hasDefault: false;
2465
+ readonly readonly: false;
2466
+ }>;
2467
+ readonly invoicePolicy: import("shutro").SelectionField<"delivered" | "ordered", {
2468
+ readonly required: false;
2469
+ readonly computed: false;
2470
+ readonly inverse: false;
2471
+ readonly sequence: false;
2472
+ readonly computeName: undefined;
2473
+ readonly store: true;
2474
+ readonly hasDefault: true;
2475
+ readonly readonly: false;
2476
+ }>;
2477
+ readonly uom: import("shutro").Many2oneField<"uom.uom", {
2478
+ readonly required: false;
2479
+ readonly computed: false;
2480
+ readonly inverse: false;
2481
+ readonly sequence: false;
2482
+ readonly computeName: undefined;
2483
+ readonly store: true;
2484
+ readonly hasDefault: false;
2485
+ readonly readonly: false;
2486
+ }>;
2487
+ readonly barcode: import("shutro").CharField<{
2488
+ readonly required: false;
2489
+ readonly computed: false;
2490
+ readonly inverse: false;
2491
+ readonly sequence: false;
2492
+ readonly computeName: undefined;
2493
+ readonly store: true;
2494
+ readonly hasDefault: false;
2495
+ readonly readonly: false;
2496
+ }, string>;
2497
+ readonly weight: import("shutro").DecimalField<{
2498
+ readonly required: false;
2499
+ readonly computed: false;
2500
+ readonly inverse: false;
2501
+ readonly sequence: false;
2502
+ readonly computeName: undefined;
2503
+ readonly store: true;
2504
+ readonly hasDefault: false;
2505
+ readonly readonly: false;
2506
+ }>;
2507
+ readonly volume: import("shutro").DecimalField<{
2508
+ readonly required: false;
2509
+ readonly computed: false;
2510
+ readonly inverse: false;
2511
+ readonly sequence: false;
2512
+ readonly computeName: undefined;
2513
+ readonly store: true;
2514
+ readonly hasDefault: false;
2515
+ readonly readonly: false;
2516
+ }>;
2517
+ readonly image: import("shutro").Many2oneField<"storage.attachment", {
2518
+ readonly required: false;
2519
+ readonly computed: false;
2520
+ readonly inverse: false;
2521
+ readonly sequence: false;
2522
+ readonly computeName: undefined;
2523
+ readonly store: true;
2524
+ readonly hasDefault: false;
2525
+ readonly readonly: false;
2526
+ }>;
2527
+ readonly listPrice: import("shutro").DecimalField<{
2528
+ readonly required: true;
2529
+ readonly computed: false;
2530
+ readonly inverse: false;
2531
+ readonly sequence: false;
2532
+ readonly computeName: undefined;
2533
+ readonly store: true;
2534
+ readonly hasDefault: true;
2535
+ readonly readonly: false;
2536
+ }>;
2537
+ readonly standardPrice: import("shutro").DecimalField<{
2538
+ readonly required: true;
2539
+ readonly computed: false;
2540
+ readonly inverse: false;
2541
+ readonly sequence: false;
2542
+ readonly computeName: undefined;
2543
+ readonly store: true;
2544
+ readonly hasDefault: true;
2545
+ readonly readonly: false;
2546
+ }>;
2547
+ readonly saleOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
2548
+ readonly required: true;
2549
+ readonly computed: false;
2550
+ readonly inverse: false;
2551
+ readonly sequence: false;
2552
+ readonly computeName: undefined;
2553
+ readonly store: true;
2554
+ readonly hasDefault: true;
2555
+ readonly readonly: false;
2556
+ }>;
2557
+ readonly purchaseOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
2558
+ readonly required: true;
2559
+ readonly computed: false;
2560
+ readonly inverse: false;
2561
+ readonly sequence: false;
2562
+ readonly computeName: undefined;
2563
+ readonly store: true;
2564
+ readonly hasDefault: true;
2565
+ readonly readonly: false;
2566
+ }>;
2567
+ readonly taxes: import("shutro").Many2manyField<"account.tax", {
2568
+ readonly required: true;
2569
+ readonly computed: false;
2570
+ readonly inverse: false;
2571
+ readonly sequence: false;
2572
+ readonly computeName: undefined;
2573
+ readonly store: true;
2574
+ readonly hasDefault: true;
2575
+ readonly readonly: false;
2576
+ }>;
2577
+ readonly purchaseTaxes: import("shutro").Many2manyField<"account.tax", {
2578
+ readonly required: true;
2579
+ readonly computed: false;
2580
+ readonly inverse: false;
2581
+ readonly sequence: false;
2582
+ readonly computeName: undefined;
2583
+ readonly store: true;
2584
+ readonly hasDefault: true;
2585
+ readonly readonly: false;
2586
+ }>;
2587
+ readonly tax: import("shutro").Many2oneField<"account.tax", {
2588
+ readonly required: false;
2589
+ readonly computed: false;
2590
+ readonly inverse: false;
2591
+ readonly sequence: false;
2592
+ readonly computeName: undefined;
2593
+ readonly store: true;
2594
+ readonly hasDefault: false;
2595
+ readonly readonly: true;
2596
+ }>;
2597
+ readonly purchaseTax: import("shutro").Many2oneField<"account.tax", {
2598
+ readonly required: false;
2599
+ readonly computed: false;
2600
+ readonly inverse: false;
2601
+ readonly sequence: false;
2602
+ readonly computeName: undefined;
2603
+ readonly store: true;
2604
+ readonly hasDefault: false;
2605
+ readonly readonly: true;
2606
+ }>;
2607
+ readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
2608
+ readonly required: false;
2609
+ readonly computed: false;
2610
+ readonly inverse: false;
2611
+ readonly sequence: false;
2612
+ readonly computeName: undefined;
2613
+ readonly store: true;
2614
+ readonly hasDefault: false;
2615
+ readonly readonly: false;
2616
+ }>;
2617
+ readonly template: import("shutro").Many2oneField<"product.template", {
2618
+ readonly required: false;
2619
+ readonly computed: false;
2620
+ readonly inverse: false;
2621
+ readonly sequence: false;
2622
+ readonly computeName: undefined;
2623
+ readonly store: true;
2624
+ readonly hasDefault: false;
2625
+ readonly readonly: false;
2626
+ }>;
2627
+ readonly attributeValues: import("shutro").Many2manyField<"product.attribute.value", {
2628
+ readonly required: true;
2629
+ readonly computed: false;
2630
+ readonly inverse: false;
2631
+ readonly sequence: false;
2632
+ readonly computeName: undefined;
2633
+ readonly store: true;
2634
+ readonly hasDefault: true;
2635
+ readonly readonly: false;
2636
+ }>;
2637
+ readonly followsTemplatePrice: import("shutro").ScalarField<"boolean", boolean, boolean, {
2638
+ readonly required: true;
2639
+ readonly computed: false;
2640
+ readonly inverse: false;
2641
+ readonly sequence: false;
2642
+ readonly computeName: undefined;
2643
+ readonly store: true;
2644
+ readonly hasDefault: true;
2645
+ readonly readonly: false;
2646
+ }>;
2647
+ }, {} & import("shutro").TransitionMethods<{
2648
+ readonly name: import("shutro").CharField<{
2649
+ readonly required: true;
2650
+ readonly computed: false;
2651
+ readonly inverse: false;
2652
+ readonly sequence: false;
2653
+ readonly computeName: undefined;
2654
+ readonly store: true;
2655
+ readonly hasDefault: false;
2656
+ readonly readonly: false;
2657
+ }, string | Readonly<Record<string, string>>>;
2658
+ readonly code: import("shutro").CharField<{
2659
+ readonly required: false;
2660
+ readonly computed: false;
2661
+ readonly inverse: false;
2662
+ readonly sequence: true;
2663
+ readonly computeName: undefined;
2664
+ readonly store: true;
2665
+ readonly hasDefault: false;
2666
+ readonly readonly: true;
2667
+ }, string>;
2668
+ readonly kind: import("shutro").SelectionField<"goods" | "service", {
2669
+ readonly required: true;
2670
+ readonly computed: false;
2671
+ readonly inverse: false;
2672
+ readonly sequence: false;
2673
+ readonly computeName: undefined;
2674
+ readonly store: true;
2675
+ readonly hasDefault: true;
2676
+ readonly readonly: false;
2677
+ }>;
2678
+ readonly category: import("shutro").Many2oneField<"product.category", {
2679
+ readonly required: false;
2680
+ readonly computed: false;
2681
+ readonly inverse: false;
2682
+ readonly sequence: false;
2683
+ readonly computeName: undefined;
2684
+ readonly store: true;
2685
+ readonly hasDefault: false;
2686
+ readonly readonly: false;
2687
+ }>;
2688
+ readonly invoicePolicy: import("shutro").SelectionField<"delivered" | "ordered", {
2689
+ readonly required: false;
2690
+ readonly computed: false;
2691
+ readonly inverse: false;
2692
+ readonly sequence: false;
2693
+ readonly computeName: undefined;
2694
+ readonly store: true;
2695
+ readonly hasDefault: true;
2696
+ readonly readonly: false;
2697
+ }>;
2698
+ readonly uom: import("shutro").Many2oneField<"uom.uom", {
2699
+ readonly required: false;
2700
+ readonly computed: false;
2701
+ readonly inverse: false;
2702
+ readonly sequence: false;
2703
+ readonly computeName: undefined;
2704
+ readonly store: true;
2705
+ readonly hasDefault: false;
2706
+ readonly readonly: false;
2707
+ }>;
2708
+ readonly barcode: import("shutro").CharField<{
2709
+ readonly required: false;
2710
+ readonly computed: false;
2711
+ readonly inverse: false;
2712
+ readonly sequence: false;
2713
+ readonly computeName: undefined;
2714
+ readonly store: true;
2715
+ readonly hasDefault: false;
2716
+ readonly readonly: false;
2717
+ }, string>;
2718
+ readonly weight: import("shutro").DecimalField<{
2719
+ readonly required: false;
2720
+ readonly computed: false;
2721
+ readonly inverse: false;
2722
+ readonly sequence: false;
2723
+ readonly computeName: undefined;
2724
+ readonly store: true;
2725
+ readonly hasDefault: false;
2726
+ readonly readonly: false;
2727
+ }>;
2728
+ readonly volume: import("shutro").DecimalField<{
2729
+ readonly required: false;
2730
+ readonly computed: false;
2731
+ readonly inverse: false;
2732
+ readonly sequence: false;
2733
+ readonly computeName: undefined;
2734
+ readonly store: true;
2735
+ readonly hasDefault: false;
2736
+ readonly readonly: false;
2737
+ }>;
2738
+ readonly image: import("shutro").Many2oneField<"storage.attachment", {
2739
+ readonly required: false;
2740
+ readonly computed: false;
2741
+ readonly inverse: false;
2742
+ readonly sequence: false;
2743
+ readonly computeName: undefined;
2744
+ readonly store: true;
2745
+ readonly hasDefault: false;
2746
+ readonly readonly: false;
2747
+ }>;
2748
+ readonly listPrice: import("shutro").DecimalField<{
2749
+ readonly required: true;
2750
+ readonly computed: false;
2751
+ readonly inverse: false;
2752
+ readonly sequence: false;
2753
+ readonly computeName: undefined;
2754
+ readonly store: true;
2755
+ readonly hasDefault: true;
2756
+ readonly readonly: false;
2757
+ }>;
2758
+ readonly standardPrice: import("shutro").DecimalField<{
2759
+ readonly required: true;
2760
+ readonly computed: false;
2761
+ readonly inverse: false;
2762
+ readonly sequence: false;
2763
+ readonly computeName: undefined;
2764
+ readonly store: true;
2765
+ readonly hasDefault: true;
2766
+ readonly readonly: false;
2767
+ }>;
2768
+ readonly saleOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
2769
+ readonly required: true;
2770
+ readonly computed: false;
2771
+ readonly inverse: false;
2772
+ readonly sequence: false;
2773
+ readonly computeName: undefined;
2774
+ readonly store: true;
2775
+ readonly hasDefault: true;
2776
+ readonly readonly: false;
2777
+ }>;
2778
+ readonly purchaseOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
2779
+ readonly required: true;
2780
+ readonly computed: false;
2781
+ readonly inverse: false;
2782
+ readonly sequence: false;
2783
+ readonly computeName: undefined;
2784
+ readonly store: true;
2785
+ readonly hasDefault: true;
2786
+ readonly readonly: false;
2787
+ }>;
2788
+ readonly taxes: import("shutro").Many2manyField<"account.tax", {
2789
+ readonly required: true;
2790
+ readonly computed: false;
2791
+ readonly inverse: false;
2792
+ readonly sequence: false;
2793
+ readonly computeName: undefined;
2794
+ readonly store: true;
2795
+ readonly hasDefault: true;
2796
+ readonly readonly: false;
2797
+ }>;
2798
+ readonly purchaseTaxes: import("shutro").Many2manyField<"account.tax", {
2799
+ readonly required: true;
2800
+ readonly computed: false;
2801
+ readonly inverse: false;
2802
+ readonly sequence: false;
2803
+ readonly computeName: undefined;
2804
+ readonly store: true;
2805
+ readonly hasDefault: true;
2806
+ readonly readonly: false;
2807
+ }>;
2808
+ readonly tax: import("shutro").Many2oneField<"account.tax", {
2809
+ readonly required: false;
2810
+ readonly computed: false;
2811
+ readonly inverse: false;
2812
+ readonly sequence: false;
2813
+ readonly computeName: undefined;
2814
+ readonly store: true;
2815
+ readonly hasDefault: false;
2816
+ readonly readonly: true;
2817
+ }>;
2818
+ readonly purchaseTax: import("shutro").Many2oneField<"account.tax", {
2819
+ readonly required: false;
2820
+ readonly computed: false;
2821
+ readonly inverse: false;
2822
+ readonly sequence: false;
2823
+ readonly computeName: undefined;
2824
+ readonly store: true;
2825
+ readonly hasDefault: false;
2826
+ readonly readonly: true;
2827
+ }>;
2828
+ readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
2829
+ readonly required: false;
2830
+ readonly computed: false;
2831
+ readonly inverse: false;
2832
+ readonly sequence: false;
2833
+ readonly computeName: undefined;
2834
+ readonly store: true;
2835
+ readonly hasDefault: false;
2836
+ readonly readonly: false;
2837
+ }>;
2838
+ readonly template: import("shutro").Many2oneField<"product.template", {
2839
+ readonly required: false;
2840
+ readonly computed: false;
2841
+ readonly inverse: false;
2842
+ readonly sequence: false;
2843
+ readonly computeName: undefined;
2844
+ readonly store: true;
2845
+ readonly hasDefault: false;
2846
+ readonly readonly: false;
2847
+ }>;
2848
+ readonly attributeValues: import("shutro").Many2manyField<"product.attribute.value", {
2849
+ readonly required: true;
2850
+ readonly computed: false;
2851
+ readonly inverse: false;
2852
+ readonly sequence: false;
2853
+ readonly computeName: undefined;
2854
+ readonly store: true;
2855
+ readonly hasDefault: true;
2856
+ readonly readonly: false;
2857
+ }>;
2858
+ readonly followsTemplatePrice: import("shutro").ScalarField<"boolean", boolean, boolean, {
2859
+ readonly required: true;
2860
+ readonly computed: false;
2861
+ readonly inverse: false;
2862
+ readonly sequence: false;
2863
+ readonly computeName: undefined;
2864
+ readonly store: true;
2865
+ readonly hasDefault: true;
2866
+ readonly readonly: false;
2867
+ }>;
2868
+ }>>, import("shutro").Model<"product.pricelist", {
2869
+ readonly id: import("shutro").IdField<"product.pricelist">;
2870
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
2871
+ required: true;
2872
+ readonly: true;
2873
+ computed: false;
2874
+ inverse: false;
2875
+ hasDefault: false;
2876
+ sequence: false;
2877
+ }>;
2878
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
2879
+ required: true;
2880
+ readonly: true;
2881
+ computed: false;
2882
+ inverse: false;
2883
+ hasDefault: false;
2884
+ sequence: false;
2885
+ }>;
2886
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
2887
+ required: false;
2888
+ readonly: true;
2889
+ computed: false;
2890
+ inverse: false;
2891
+ hasDefault: false;
2892
+ sequence: false;
2893
+ }>;
2894
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
2895
+ required: false;
2896
+ readonly: true;
2897
+ computed: false;
2898
+ inverse: false;
2899
+ hasDefault: false;
2900
+ sequence: false;
2901
+ }>;
2902
+ readonly displayName: import("shutro").CharField<{
2903
+ required: true;
2904
+ readonly: true;
2905
+ computed: true;
2906
+ inverse: false;
2907
+ hasDefault: false;
2908
+ sequence: false;
2909
+ }>;
2910
+ readonly active: import("shutro").ActiveField;
2911
+ readonly name: import("shutro").CharField<{
2912
+ readonly required: true;
2913
+ readonly computed: false;
2914
+ readonly inverse: false;
2915
+ readonly sequence: false;
2916
+ readonly computeName: undefined;
2917
+ readonly store: true;
2918
+ readonly hasDefault: false;
2919
+ readonly readonly: false;
2920
+ }, string | Readonly<Record<string, string>>>;
2921
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
2922
+ readonly required: false;
2923
+ readonly computed: false;
2924
+ readonly inverse: false;
2925
+ readonly sequence: false;
2926
+ readonly computeName: undefined;
2927
+ readonly store: true;
2928
+ readonly hasDefault: true;
2929
+ readonly readonly: false;
2930
+ }>;
2931
+ readonly currency: import("shutro").Many2oneField<"res.currency", {
2932
+ readonly required: false;
2933
+ readonly computed: false;
2934
+ readonly inverse: false;
2935
+ readonly sequence: false;
2936
+ readonly computeName: undefined;
2937
+ readonly store: true;
2938
+ readonly hasDefault: false;
2939
+ readonly readonly: false;
2940
+ }>;
2941
+ readonly company: import("shutro").Many2oneField<"res.company", {
2942
+ readonly required: false;
2943
+ readonly computed: false;
2944
+ readonly inverse: false;
2945
+ readonly sequence: false;
2946
+ readonly computeName: undefined;
2947
+ readonly store: true;
2948
+ readonly hasDefault: false;
2949
+ readonly readonly: false;
2950
+ }>;
2951
+ readonly rules: import("shutro").One2manyField<"product.pricelist.rule", {
2952
+ readonly required: true;
2953
+ readonly computed: false;
2954
+ readonly inverse: false;
2955
+ readonly sequence: false;
2956
+ readonly computeName: undefined;
2957
+ readonly store: true;
2958
+ readonly hasDefault: true;
2959
+ readonly readonly: false;
2960
+ }>;
2961
+ readonly note: import("shutro").ScalarField<"text", string, string, {
2962
+ readonly required: false;
2963
+ readonly computed: false;
2964
+ readonly inverse: false;
2965
+ readonly sequence: false;
2966
+ readonly computeName: undefined;
2967
+ readonly store: true;
2968
+ readonly hasDefault: false;
2969
+ readonly readonly: false;
2970
+ }>;
2971
+ }, {} & import("shutro").TransitionMethods<{
2972
+ readonly name: import("shutro").CharField<{
2973
+ readonly required: true;
2974
+ readonly computed: false;
2975
+ readonly inverse: false;
2976
+ readonly sequence: false;
2977
+ readonly computeName: undefined;
2978
+ readonly store: true;
2979
+ readonly hasDefault: false;
2980
+ readonly readonly: false;
2981
+ }, string | Readonly<Record<string, string>>>;
2982
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
2983
+ readonly required: false;
2984
+ readonly computed: false;
2985
+ readonly inverse: false;
2986
+ readonly sequence: false;
2987
+ readonly computeName: undefined;
2988
+ readonly store: true;
2989
+ readonly hasDefault: true;
2990
+ readonly readonly: false;
2991
+ }>;
2992
+ readonly currency: import("shutro").Many2oneField<"res.currency", {
2993
+ readonly required: false;
2994
+ readonly computed: false;
2995
+ readonly inverse: false;
2996
+ readonly sequence: false;
2997
+ readonly computeName: undefined;
2998
+ readonly store: true;
2999
+ readonly hasDefault: false;
3000
+ readonly readonly: false;
3001
+ }>;
3002
+ readonly company: import("shutro").Many2oneField<"res.company", {
3003
+ readonly required: false;
3004
+ readonly computed: false;
3005
+ readonly inverse: false;
3006
+ readonly sequence: false;
3007
+ readonly computeName: undefined;
3008
+ readonly store: true;
3009
+ readonly hasDefault: false;
3010
+ readonly readonly: false;
3011
+ }>;
3012
+ readonly rules: import("shutro").One2manyField<"product.pricelist.rule", {
3013
+ readonly required: true;
3014
+ readonly computed: false;
3015
+ readonly inverse: false;
3016
+ readonly sequence: false;
3017
+ readonly computeName: undefined;
3018
+ readonly store: true;
3019
+ readonly hasDefault: true;
3020
+ readonly readonly: false;
3021
+ }>;
3022
+ readonly note: import("shutro").ScalarField<"text", string, string, {
3023
+ readonly required: false;
3024
+ readonly computed: false;
3025
+ readonly inverse: false;
3026
+ readonly sequence: false;
3027
+ readonly computeName: undefined;
3028
+ readonly store: true;
3029
+ readonly hasDefault: false;
3030
+ readonly readonly: false;
3031
+ }>;
3032
+ }>>, import("shutro").Model<"product.pricelist.rule", {
3033
+ readonly id: import("shutro").IdField<"product.pricelist.rule">;
3034
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
3035
+ required: true;
3036
+ readonly: true;
3037
+ computed: false;
3038
+ inverse: false;
3039
+ hasDefault: false;
3040
+ sequence: false;
3041
+ }>;
3042
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
3043
+ required: true;
3044
+ readonly: true;
3045
+ computed: false;
3046
+ inverse: false;
3047
+ hasDefault: false;
3048
+ sequence: false;
3049
+ }>;
3050
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
3051
+ required: false;
3052
+ readonly: true;
3053
+ computed: false;
3054
+ inverse: false;
3055
+ hasDefault: false;
3056
+ sequence: false;
3057
+ }>;
3058
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
3059
+ required: false;
3060
+ readonly: true;
3061
+ computed: false;
3062
+ inverse: false;
3063
+ hasDefault: false;
3064
+ sequence: false;
3065
+ }>;
3066
+ readonly displayName: import("shutro").CharField<{
3067
+ required: true;
3068
+ readonly: true;
3069
+ computed: true;
3070
+ inverse: false;
3071
+ hasDefault: false;
3072
+ sequence: false;
3073
+ }>;
3074
+ readonly pricelist: import("shutro").Many2oneField<"product.pricelist", {
3075
+ readonly required: true;
3076
+ readonly computed: false;
3077
+ readonly inverse: false;
3078
+ readonly sequence: false;
3079
+ readonly computeName: undefined;
3080
+ readonly store: true;
3081
+ readonly hasDefault: false;
3082
+ readonly readonly: false;
3083
+ }>;
3084
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3085
+ readonly required: false;
3086
+ readonly computed: false;
3087
+ readonly inverse: false;
3088
+ readonly sequence: false;
3089
+ readonly computeName: undefined;
3090
+ readonly store: true;
3091
+ readonly hasDefault: true;
3092
+ readonly readonly: false;
3093
+ }>;
3094
+ readonly appliesTo: import("shutro").SelectionField<"all" | "category" | "product", {
3095
+ readonly required: true;
3096
+ readonly computed: false;
3097
+ readonly inverse: false;
3098
+ readonly sequence: false;
3099
+ readonly computeName: undefined;
3100
+ readonly store: true;
3101
+ readonly hasDefault: true;
3102
+ readonly readonly: false;
3103
+ }>;
3104
+ readonly product: import("shutro").Many2oneField<"product.product", {
3105
+ readonly required: false;
3106
+ readonly computed: false;
3107
+ readonly inverse: false;
3108
+ readonly sequence: false;
3109
+ readonly computeName: undefined;
3110
+ readonly store: true;
3111
+ readonly hasDefault: false;
3112
+ readonly readonly: false;
3113
+ }>;
3114
+ readonly category: import("shutro").Many2oneField<"product.category", {
3115
+ readonly required: false;
3116
+ readonly computed: false;
3117
+ readonly inverse: false;
3118
+ readonly sequence: false;
3119
+ readonly computeName: undefined;
3120
+ readonly store: true;
3121
+ readonly hasDefault: false;
3122
+ readonly readonly: false;
3123
+ }>;
3124
+ readonly minQuantity: import("shutro").DecimalField<{
3125
+ readonly required: false;
3126
+ readonly computed: false;
3127
+ readonly inverse: false;
3128
+ readonly sequence: false;
3129
+ readonly computeName: undefined;
3130
+ readonly store: true;
3131
+ readonly hasDefault: true;
3132
+ readonly readonly: false;
3133
+ }>;
3134
+ readonly dateFrom: import("shutro").ScalarField<"date", string, string, {
3135
+ readonly required: false;
3136
+ readonly computed: false;
3137
+ readonly inverse: false;
3138
+ readonly sequence: false;
3139
+ readonly computeName: undefined;
3140
+ readonly store: true;
3141
+ readonly hasDefault: false;
3142
+ readonly readonly: false;
3143
+ }>;
3144
+ readonly dateTo: import("shutro").ScalarField<"date", string, string, {
3145
+ readonly required: false;
3146
+ readonly computed: false;
3147
+ readonly inverse: false;
3148
+ readonly sequence: false;
3149
+ readonly computeName: undefined;
3150
+ readonly store: true;
3151
+ readonly hasDefault: false;
3152
+ readonly readonly: false;
3153
+ }>;
3154
+ readonly compute: import("shutro").SelectionField<"discount" | "fixed" | "formula", {
3155
+ readonly required: true;
3156
+ readonly computed: false;
3157
+ readonly inverse: false;
3158
+ readonly sequence: false;
3159
+ readonly computeName: undefined;
3160
+ readonly store: true;
3161
+ readonly hasDefault: true;
3162
+ readonly readonly: false;
3163
+ }>;
3164
+ readonly fixedPrice: import("shutro").DecimalField<{
3165
+ readonly required: false;
3166
+ readonly computed: false;
3167
+ readonly inverse: false;
3168
+ readonly sequence: false;
3169
+ readonly computeName: undefined;
3170
+ readonly store: true;
3171
+ readonly hasDefault: false;
3172
+ readonly readonly: false;
3173
+ }>;
3174
+ readonly base: import("shutro").SelectionField<"cost" | "list" | "pricelist", {
3175
+ readonly required: true;
3176
+ readonly computed: false;
3177
+ readonly inverse: false;
3178
+ readonly sequence: false;
3179
+ readonly computeName: undefined;
3180
+ readonly store: true;
3181
+ readonly hasDefault: true;
3182
+ readonly readonly: false;
3183
+ }>;
3184
+ readonly basePricelist: import("shutro").Many2oneField<"product.pricelist", {
3185
+ readonly required: false;
3186
+ readonly computed: false;
3187
+ readonly inverse: false;
3188
+ readonly sequence: false;
3189
+ readonly computeName: undefined;
3190
+ readonly store: true;
3191
+ readonly hasDefault: false;
3192
+ readonly readonly: false;
3193
+ }>;
3194
+ readonly discount: import("shutro").DecimalField<{
3195
+ readonly required: false;
3196
+ readonly computed: false;
3197
+ readonly inverse: false;
3198
+ readonly sequence: false;
3199
+ readonly computeName: undefined;
3200
+ readonly store: true;
3201
+ readonly hasDefault: true;
3202
+ readonly readonly: false;
3203
+ }>;
3204
+ readonly surcharge: import("shutro").DecimalField<{
3205
+ readonly required: false;
3206
+ readonly computed: false;
3207
+ readonly inverse: false;
3208
+ readonly sequence: false;
3209
+ readonly computeName: undefined;
3210
+ readonly store: true;
3211
+ readonly hasDefault: true;
3212
+ readonly readonly: false;
3213
+ }>;
3214
+ readonly rounding: import("shutro").DecimalField<{
3215
+ readonly required: false;
3216
+ readonly computed: false;
3217
+ readonly inverse: false;
3218
+ readonly sequence: false;
3219
+ readonly computeName: undefined;
3220
+ readonly store: true;
3221
+ readonly hasDefault: true;
3222
+ readonly readonly: false;
3223
+ }>;
3224
+ readonly minMargin: import("shutro").DecimalField<{
3225
+ readonly required: false;
3226
+ readonly computed: false;
3227
+ readonly inverse: false;
3228
+ readonly sequence: false;
3229
+ readonly computeName: undefined;
3230
+ readonly store: true;
3231
+ readonly hasDefault: false;
3232
+ readonly readonly: false;
3233
+ }>;
3234
+ readonly maxMargin: import("shutro").DecimalField<{
3235
+ readonly required: false;
3236
+ readonly computed: false;
3237
+ readonly inverse: false;
3238
+ readonly sequence: false;
3239
+ readonly computeName: undefined;
3240
+ readonly store: true;
3241
+ readonly hasDefault: false;
3242
+ readonly readonly: false;
3243
+ }>;
3244
+ }, {} & import("shutro").TransitionMethods<{
3245
+ readonly pricelist: import("shutro").Many2oneField<"product.pricelist", {
3246
+ readonly required: true;
3247
+ readonly computed: false;
3248
+ readonly inverse: false;
3249
+ readonly sequence: false;
3250
+ readonly computeName: undefined;
3251
+ readonly store: true;
3252
+ readonly hasDefault: false;
3253
+ readonly readonly: false;
3254
+ }>;
3255
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3256
+ readonly required: false;
1101
3257
  readonly computed: false;
1102
3258
  readonly inverse: false;
1103
3259
  readonly sequence: false;
@@ -1106,17 +3262,17 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1106
3262
  readonly hasDefault: true;
1107
3263
  readonly readonly: false;
1108
3264
  }>;
1109
- readonly email: import("shutro").CharField<{
1110
- readonly required: false;
3265
+ readonly appliesTo: import("shutro").SelectionField<"all" | "category" | "product", {
3266
+ readonly required: true;
1111
3267
  readonly computed: false;
1112
3268
  readonly inverse: false;
1113
3269
  readonly sequence: false;
1114
3270
  readonly computeName: undefined;
1115
3271
  readonly store: true;
1116
- readonly hasDefault: false;
3272
+ readonly hasDefault: true;
1117
3273
  readonly readonly: false;
1118
- }, string>;
1119
- readonly phone: import("shutro").CharField<{
3274
+ }>;
3275
+ readonly product: import("shutro").Many2oneField<"product.product", {
1120
3276
  readonly required: false;
1121
3277
  readonly computed: false;
1122
3278
  readonly inverse: false;
@@ -1125,8 +3281,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1125
3281
  readonly store: true;
1126
3282
  readonly hasDefault: false;
1127
3283
  readonly readonly: false;
1128
- }, string>;
1129
- readonly mobile: import("shutro").CharField<{
3284
+ }>;
3285
+ readonly category: import("shutro").Many2oneField<"product.category", {
1130
3286
  readonly required: false;
1131
3287
  readonly computed: false;
1132
3288
  readonly inverse: false;
@@ -1135,18 +3291,18 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1135
3291
  readonly store: true;
1136
3292
  readonly hasDefault: false;
1137
3293
  readonly readonly: false;
1138
- }, string>;
1139
- readonly website: import("shutro").CharField<{
3294
+ }>;
3295
+ readonly minQuantity: import("shutro").DecimalField<{
1140
3296
  readonly required: false;
1141
3297
  readonly computed: false;
1142
3298
  readonly inverse: false;
1143
3299
  readonly sequence: false;
1144
3300
  readonly computeName: undefined;
1145
3301
  readonly store: true;
1146
- readonly hasDefault: false;
3302
+ readonly hasDefault: true;
1147
3303
  readonly readonly: false;
1148
- }, string>;
1149
- readonly street: import("shutro").CharField<{
3304
+ }>;
3305
+ readonly dateFrom: import("shutro").ScalarField<"date", string, string, {
1150
3306
  readonly required: false;
1151
3307
  readonly computed: false;
1152
3308
  readonly inverse: false;
@@ -1155,8 +3311,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1155
3311
  readonly store: true;
1156
3312
  readonly hasDefault: false;
1157
3313
  readonly readonly: false;
1158
- }, string>;
1159
- readonly city: import("shutro").CharField<{
3314
+ }>;
3315
+ readonly dateTo: import("shutro").ScalarField<"date", string, string, {
1160
3316
  readonly required: false;
1161
3317
  readonly computed: false;
1162
3318
  readonly inverse: false;
@@ -1165,18 +3321,18 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1165
3321
  readonly store: true;
1166
3322
  readonly hasDefault: false;
1167
3323
  readonly readonly: false;
1168
- }, string>;
1169
- readonly zip: import("shutro").CharField<{
1170
- readonly required: false;
3324
+ }>;
3325
+ readonly compute: import("shutro").SelectionField<"discount" | "fixed" | "formula", {
3326
+ readonly required: true;
1171
3327
  readonly computed: false;
1172
3328
  readonly inverse: false;
1173
3329
  readonly sequence: false;
1174
3330
  readonly computeName: undefined;
1175
3331
  readonly store: true;
1176
- readonly hasDefault: false;
3332
+ readonly hasDefault: true;
1177
3333
  readonly readonly: false;
1178
- }, string>;
1179
- readonly country: import("shutro").CharField<{
3334
+ }>;
3335
+ readonly fixedPrice: import("shutro").DecimalField<{
1180
3336
  readonly required: false;
1181
3337
  readonly computed: false;
1182
3338
  readonly inverse: false;
@@ -1185,18 +3341,18 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1185
3341
  readonly store: true;
1186
3342
  readonly hasDefault: false;
1187
3343
  readonly readonly: false;
1188
- }, string>;
1189
- readonly state: import("shutro").CharField<{
1190
- readonly required: false;
3344
+ }>;
3345
+ readonly base: import("shutro").SelectionField<"cost" | "list" | "pricelist", {
3346
+ readonly required: true;
1191
3347
  readonly computed: false;
1192
3348
  readonly inverse: false;
1193
3349
  readonly sequence: false;
1194
3350
  readonly computeName: undefined;
1195
3351
  readonly store: true;
1196
- readonly hasDefault: false;
3352
+ readonly hasDefault: true;
1197
3353
  readonly readonly: false;
1198
- }, string>;
1199
- readonly taxId: import("shutro").CharField<{
3354
+ }>;
3355
+ readonly basePricelist: import("shutro").Many2oneField<"product.pricelist", {
1200
3356
  readonly required: false;
1201
3357
  readonly computed: false;
1202
3358
  readonly inverse: false;
@@ -1205,9 +3361,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1205
3361
  readonly store: true;
1206
3362
  readonly hasDefault: false;
1207
3363
  readonly readonly: false;
1208
- }, string>;
1209
- readonly isCustomer: import("shutro").ScalarField<"boolean", boolean, boolean, {
1210
- readonly required: true;
3364
+ }>;
3365
+ readonly discount: import("shutro").DecimalField<{
3366
+ readonly required: false;
1211
3367
  readonly computed: false;
1212
3368
  readonly inverse: false;
1213
3369
  readonly sequence: false;
@@ -1216,8 +3372,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1216
3372
  readonly hasDefault: true;
1217
3373
  readonly readonly: false;
1218
3374
  }>;
1219
- readonly isVendor: import("shutro").ScalarField<"boolean", boolean, boolean, {
1220
- readonly required: true;
3375
+ readonly surcharge: import("shutro").DecimalField<{
3376
+ readonly required: false;
1221
3377
  readonly computed: false;
1222
3378
  readonly inverse: false;
1223
3379
  readonly sequence: false;
@@ -1226,17 +3382,17 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1226
3382
  readonly hasDefault: true;
1227
3383
  readonly readonly: false;
1228
3384
  }>;
1229
- readonly currency: import("shutro").Many2oneField<"res.currency", {
3385
+ readonly rounding: import("shutro").DecimalField<{
1230
3386
  readonly required: false;
1231
3387
  readonly computed: false;
1232
3388
  readonly inverse: false;
1233
3389
  readonly sequence: false;
1234
3390
  readonly computeName: undefined;
1235
3391
  readonly store: true;
1236
- readonly hasDefault: false;
3392
+ readonly hasDefault: true;
1237
3393
  readonly readonly: false;
1238
3394
  }>;
1239
- readonly notes: import("shutro").ScalarField<"text", string, string, {
3395
+ readonly minMargin: import("shutro").DecimalField<{
1240
3396
  readonly required: false;
1241
3397
  readonly computed: false;
1242
3398
  readonly inverse: false;
@@ -1246,29 +3402,18 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1246
3402
  readonly hasDefault: false;
1247
3403
  readonly readonly: false;
1248
3404
  }>;
1249
- }>>], readonly [import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>, import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>], readonly [import("shutro").Extension<"res.company", {
1250
- readonly contactTaxIdRequired: import("shutro").ScalarField<"boolean", boolean, boolean, {
1251
- readonly required: true;
1252
- readonly computed: false;
1253
- readonly inverse: false;
1254
- readonly sequence: false;
1255
- readonly computeName: undefined;
1256
- readonly store: true;
1257
- readonly hasDefault: true;
1258
- readonly readonly: false;
1259
- }>;
1260
- readonly contactUniqueEmail: import("shutro").ScalarField<"boolean", boolean, boolean, {
1261
- readonly required: true;
3405
+ readonly maxMargin: import("shutro").DecimalField<{
3406
+ readonly required: false;
1262
3407
  readonly computed: false;
1263
3408
  readonly inverse: false;
1264
3409
  readonly sequence: false;
1265
3410
  readonly computeName: undefined;
1266
3411
  readonly store: true;
1267
- readonly hasDefault: true;
3412
+ readonly hasDefault: false;
1268
3413
  readonly readonly: false;
1269
3414
  }>;
1270
- }, Record<never, never>>]>, import("shutro").Module<readonly [import("shutro").Model<"uom.uom", {
1271
- readonly id: import("shutro").IdField<"uom.uom">;
3415
+ }>>, import("shutro").Model<"product.attribute", {
3416
+ readonly id: import("shutro").IdField<"product.attribute">;
1272
3417
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1273
3418
  required: true;
1274
3419
  readonly: true;
@@ -1320,7 +3465,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1320
3465
  readonly hasDefault: false;
1321
3466
  readonly readonly: false;
1322
3467
  }, string | Readonly<Record<string, string>>>;
1323
- readonly category: import("shutro").SelectionField<"length" | "time" | "unit" | "volume" | "weight", {
3468
+ readonly display: import("shutro").SelectionField<"list" | "radio" | "size" | "swatch", {
1324
3469
  readonly required: true;
1325
3470
  readonly computed: false;
1326
3471
  readonly inverse: false;
@@ -1330,7 +3475,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1330
3475
  readonly hasDefault: true;
1331
3476
  readonly readonly: false;
1332
3477
  }>;
1333
- readonly ratio: import("shutro").DecimalField<{
3478
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
1334
3479
  readonly required: true;
1335
3480
  readonly computed: false;
1336
3481
  readonly inverse: false;
@@ -1340,7 +3485,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1340
3485
  readonly hasDefault: true;
1341
3486
  readonly readonly: false;
1342
3487
  }>;
1343
- readonly rounding: import("shutro").DecimalField<{
3488
+ readonly values: import("shutro").One2manyField<"product.attribute.value", {
1344
3489
  readonly required: true;
1345
3490
  readonly computed: false;
1346
3491
  readonly inverse: false;
@@ -1361,7 +3506,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1361
3506
  readonly hasDefault: false;
1362
3507
  readonly readonly: false;
1363
3508
  }, string | Readonly<Record<string, string>>>;
1364
- readonly category: import("shutro").SelectionField<"length" | "time" | "unit" | "volume" | "weight", {
3509
+ readonly display: import("shutro").SelectionField<"list" | "radio" | "size" | "swatch", {
1365
3510
  readonly required: true;
1366
3511
  readonly computed: false;
1367
3512
  readonly inverse: false;
@@ -1371,7 +3516,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1371
3516
  readonly hasDefault: true;
1372
3517
  readonly readonly: false;
1373
3518
  }>;
1374
- readonly ratio: import("shutro").DecimalField<{
3519
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
1375
3520
  readonly required: true;
1376
3521
  readonly computed: false;
1377
3522
  readonly inverse: false;
@@ -1381,7 +3526,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1381
3526
  readonly hasDefault: true;
1382
3527
  readonly readonly: false;
1383
3528
  }>;
1384
- readonly rounding: import("shutro").DecimalField<{
3529
+ readonly values: import("shutro").One2manyField<"product.attribute.value", {
1385
3530
  readonly required: true;
1386
3531
  readonly computed: false;
1387
3532
  readonly inverse: false;
@@ -1391,8 +3536,8 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1391
3536
  readonly hasDefault: true;
1392
3537
  readonly readonly: false;
1393
3538
  }>;
1394
- }>>, import("shutro").Model<"product.category", {
1395
- readonly id: import("shutro").IdField<"product.category">;
3539
+ }>>, import("shutro").Model<"product.attribute.value", {
3540
+ readonly id: import("shutro").IdField<"product.attribute.value">;
1396
3541
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1397
3542
  required: true;
1398
3543
  readonly: true;
@@ -1434,6 +3579,16 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1434
3579
  sequence: false;
1435
3580
  }>;
1436
3581
  readonly active: import("shutro").ActiveField;
3582
+ readonly attribute: import("shutro").Many2oneField<"product.attribute", {
3583
+ readonly required: true;
3584
+ readonly computed: false;
3585
+ readonly inverse: false;
3586
+ readonly sequence: false;
3587
+ readonly computeName: undefined;
3588
+ readonly store: true;
3589
+ readonly hasDefault: false;
3590
+ readonly readonly: false;
3591
+ }>;
1437
3592
  readonly name: import("shutro").CharField<{
1438
3593
  readonly required: true;
1439
3594
  readonly computed: false;
@@ -1444,7 +3599,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1444
3599
  readonly hasDefault: false;
1445
3600
  readonly readonly: false;
1446
3601
  }, string | Readonly<Record<string, string>>>;
1447
- readonly parent: import("shutro").Many2oneField<"product.category", {
3602
+ readonly color: import("shutro").CharField<{
1448
3603
  readonly required: false;
1449
3604
  readonly computed: false;
1450
3605
  readonly inverse: false;
@@ -1453,8 +3608,38 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1453
3608
  readonly store: true;
1454
3609
  readonly hasDefault: false;
1455
3610
  readonly readonly: false;
3611
+ }, string>;
3612
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3613
+ readonly required: true;
3614
+ readonly computed: false;
3615
+ readonly inverse: false;
3616
+ readonly sequence: false;
3617
+ readonly computeName: undefined;
3618
+ readonly store: true;
3619
+ readonly hasDefault: true;
3620
+ readonly readonly: false;
3621
+ }>;
3622
+ readonly extraPrice: import("shutro").DecimalField<{
3623
+ readonly required: true;
3624
+ readonly computed: false;
3625
+ readonly inverse: false;
3626
+ readonly sequence: false;
3627
+ readonly computeName: undefined;
3628
+ readonly store: true;
3629
+ readonly hasDefault: true;
3630
+ readonly readonly: false;
1456
3631
  }>;
1457
3632
  }, {} & import("shutro").TransitionMethods<{
3633
+ readonly attribute: import("shutro").Many2oneField<"product.attribute", {
3634
+ readonly required: true;
3635
+ readonly computed: false;
3636
+ readonly inverse: false;
3637
+ readonly sequence: false;
3638
+ readonly computeName: undefined;
3639
+ readonly store: true;
3640
+ readonly hasDefault: false;
3641
+ readonly readonly: false;
3642
+ }>;
1458
3643
  readonly name: import("shutro").CharField<{
1459
3644
  readonly required: true;
1460
3645
  readonly computed: false;
@@ -1465,7 +3650,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1465
3650
  readonly hasDefault: false;
1466
3651
  readonly readonly: false;
1467
3652
  }, string | Readonly<Record<string, string>>>;
1468
- readonly parent: import("shutro").Many2oneField<"product.category", {
3653
+ readonly color: import("shutro").CharField<{
1469
3654
  readonly required: false;
1470
3655
  readonly computed: false;
1471
3656
  readonly inverse: false;
@@ -1474,9 +3659,29 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1474
3659
  readonly store: true;
1475
3660
  readonly hasDefault: false;
1476
3661
  readonly readonly: false;
3662
+ }, string>;
3663
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3664
+ readonly required: true;
3665
+ readonly computed: false;
3666
+ readonly inverse: false;
3667
+ readonly sequence: false;
3668
+ readonly computeName: undefined;
3669
+ readonly store: true;
3670
+ readonly hasDefault: true;
3671
+ readonly readonly: false;
1477
3672
  }>;
1478
- }>>, import("shutro").Model<"account.tax", {
1479
- readonly id: import("shutro").IdField<"account.tax">;
3673
+ readonly extraPrice: import("shutro").DecimalField<{
3674
+ readonly required: true;
3675
+ readonly computed: false;
3676
+ readonly inverse: false;
3677
+ readonly sequence: false;
3678
+ readonly computeName: undefined;
3679
+ readonly store: true;
3680
+ readonly hasDefault: true;
3681
+ readonly readonly: false;
3682
+ }>;
3683
+ }>>, import("shutro").Model<"product.template", {
3684
+ readonly id: import("shutro").IdField<"product.template">;
1480
3685
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1481
3686
  required: true;
1482
3687
  readonly: true;
@@ -1528,17 +3733,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1528
3733
  readonly hasDefault: false;
1529
3734
  readonly readonly: false;
1530
3735
  }, string | Readonly<Record<string, string>>>;
1531
- readonly use: import("shutro").SelectionField<"purchase" | "sale", {
1532
- readonly required: true;
1533
- readonly computed: false;
1534
- readonly inverse: false;
1535
- readonly sequence: false;
1536
- readonly computeName: undefined;
1537
- readonly store: true;
1538
- readonly hasDefault: true;
1539
- readonly readonly: false;
1540
- }>;
1541
- readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3736
+ readonly kind: import("shutro").SelectionField<"goods" | "service", {
1542
3737
  readonly required: true;
1543
3738
  readonly computed: false;
1544
3739
  readonly inverse: false;
@@ -1548,27 +3743,27 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1548
3743
  readonly hasDefault: true;
1549
3744
  readonly readonly: false;
1550
3745
  }>;
1551
- readonly amountType: import("shutro").SelectionField<"fixed" | "percent", {
1552
- readonly required: true;
3746
+ readonly category: import("shutro").Many2oneField<"product.category", {
3747
+ readonly required: false;
1553
3748
  readonly computed: false;
1554
3749
  readonly inverse: false;
1555
3750
  readonly sequence: false;
1556
3751
  readonly computeName: undefined;
1557
3752
  readonly store: true;
1558
- readonly hasDefault: true;
3753
+ readonly hasDefault: false;
1559
3754
  readonly readonly: false;
1560
3755
  }>;
1561
- readonly rate: import("shutro").DecimalField<{
1562
- readonly required: true;
3756
+ readonly uom: import("shutro").Many2oneField<"uom.uom", {
3757
+ readonly required: false;
1563
3758
  readonly computed: false;
1564
3759
  readonly inverse: false;
1565
3760
  readonly sequence: false;
1566
3761
  readonly computeName: undefined;
1567
3762
  readonly store: true;
1568
- readonly hasDefault: true;
3763
+ readonly hasDefault: false;
1569
3764
  readonly readonly: false;
1570
3765
  }>;
1571
- readonly fixedAmount: import("shutro").DecimalField<{
3766
+ readonly listPrice: import("shutro").DecimalField<{
1572
3767
  readonly required: true;
1573
3768
  readonly computed: false;
1574
3769
  readonly inverse: false;
@@ -1578,7 +3773,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1578
3773
  readonly hasDefault: true;
1579
3774
  readonly readonly: false;
1580
3775
  }>;
1581
- readonly affectsBase: import("shutro").ScalarField<"boolean", boolean, boolean, {
3776
+ readonly standardPrice: import("shutro").DecimalField<{
1582
3777
  readonly required: true;
1583
3778
  readonly computed: false;
1584
3779
  readonly inverse: false;
@@ -1588,7 +3783,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1588
3783
  readonly hasDefault: true;
1589
3784
  readonly readonly: false;
1590
3785
  }>;
1591
- readonly priceIncluded: import("shutro").ScalarField<"boolean", boolean, boolean, {
3786
+ readonly saleOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
1592
3787
  readonly required: true;
1593
3788
  readonly computed: false;
1594
3789
  readonly inverse: false;
@@ -1598,7 +3793,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1598
3793
  readonly hasDefault: true;
1599
3794
  readonly readonly: false;
1600
3795
  }>;
1601
- readonly reverseCharge: import("shutro").ScalarField<"boolean", boolean, boolean, {
3796
+ readonly purchaseOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
1602
3797
  readonly required: true;
1603
3798
  readonly computed: false;
1604
3799
  readonly inverse: false;
@@ -1608,18 +3803,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1608
3803
  readonly hasDefault: true;
1609
3804
  readonly readonly: false;
1610
3805
  }>;
1611
- }, {} & import("shutro").TransitionMethods<{
1612
- readonly name: import("shutro").CharField<{
1613
- readonly required: true;
1614
- readonly computed: false;
1615
- readonly inverse: false;
1616
- readonly sequence: false;
1617
- readonly computeName: undefined;
1618
- readonly store: true;
1619
- readonly hasDefault: false;
1620
- readonly readonly: false;
1621
- }, string | Readonly<Record<string, string>>>;
1622
- readonly use: import("shutro").SelectionField<"purchase" | "sale", {
3806
+ readonly taxes: import("shutro").Many2manyField<"account.tax", {
1623
3807
  readonly required: true;
1624
3808
  readonly computed: false;
1625
3809
  readonly inverse: false;
@@ -1629,7 +3813,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1629
3813
  readonly hasDefault: true;
1630
3814
  readonly readonly: false;
1631
3815
  }>;
1632
- readonly sequence: import("shutro").ScalarField<"integer", number, number, {
3816
+ readonly purchaseTaxes: import("shutro").Many2manyField<"account.tax", {
1633
3817
  readonly required: true;
1634
3818
  readonly computed: false;
1635
3819
  readonly inverse: false;
@@ -1639,27 +3823,27 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1639
3823
  readonly hasDefault: true;
1640
3824
  readonly readonly: false;
1641
3825
  }>;
1642
- readonly amountType: import("shutro").SelectionField<"fixed" | "percent", {
1643
- readonly required: true;
3826
+ readonly image: import("shutro").Many2oneField<"storage.attachment", {
3827
+ readonly required: false;
1644
3828
  readonly computed: false;
1645
3829
  readonly inverse: false;
1646
3830
  readonly sequence: false;
1647
3831
  readonly computeName: undefined;
1648
3832
  readonly store: true;
1649
- readonly hasDefault: true;
3833
+ readonly hasDefault: false;
1650
3834
  readonly readonly: false;
1651
3835
  }>;
1652
- readonly rate: import("shutro").DecimalField<{
1653
- readonly required: true;
3836
+ readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
3837
+ readonly required: false;
1654
3838
  readonly computed: false;
1655
3839
  readonly inverse: false;
1656
3840
  readonly sequence: false;
1657
3841
  readonly computeName: undefined;
1658
3842
  readonly store: true;
1659
- readonly hasDefault: true;
3843
+ readonly hasDefault: false;
1660
3844
  readonly readonly: false;
1661
3845
  }>;
1662
- readonly fixedAmount: import("shutro").DecimalField<{
3846
+ readonly lines: import("shutro").One2manyField<"product.template.line", {
1663
3847
  readonly required: true;
1664
3848
  readonly computed: false;
1665
3849
  readonly inverse: false;
@@ -1669,7 +3853,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1669
3853
  readonly hasDefault: true;
1670
3854
  readonly readonly: false;
1671
3855
  }>;
1672
- readonly affectsBase: import("shutro").ScalarField<"boolean", boolean, boolean, {
3856
+ readonly exclusions: import("shutro").One2manyField<"product.template.exclusion", {
1673
3857
  readonly required: true;
1674
3858
  readonly computed: false;
1675
3859
  readonly inverse: false;
@@ -1679,7 +3863,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1679
3863
  readonly hasDefault: true;
1680
3864
  readonly readonly: false;
1681
3865
  }>;
1682
- readonly priceIncluded: import("shutro").ScalarField<"boolean", boolean, boolean, {
3866
+ readonly variants: import("shutro").One2manyField<"product.product", {
1683
3867
  readonly required: true;
1684
3868
  readonly computed: false;
1685
3869
  readonly inverse: false;
@@ -1689,59 +3873,33 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1689
3873
  readonly hasDefault: true;
1690
3874
  readonly readonly: false;
1691
3875
  }>;
1692
- readonly reverseCharge: import("shutro").ScalarField<"boolean", boolean, boolean, {
1693
- readonly required: true;
1694
- readonly computed: false;
3876
+ readonly variantCount: import("shutro").ScalarField<"integer", number, number, {
3877
+ readonly required: false;
3878
+ readonly computed: true;
1695
3879
  readonly inverse: false;
1696
- readonly sequence: false;
1697
- readonly computeName: undefined;
1698
- readonly store: true;
1699
- readonly hasDefault: true;
1700
- readonly readonly: false;
1701
- }>;
1702
- }>>, import("shutro").Model<"product.product", {
1703
- readonly id: import("shutro").IdField<"product.product">;
1704
- readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
1705
- required: true;
1706
- readonly: true;
1707
- computed: false;
1708
- inverse: false;
1709
- hasDefault: false;
1710
- sequence: false;
1711
- }>;
1712
- readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
1713
- required: true;
1714
- readonly: true;
1715
- computed: false;
1716
- inverse: false;
1717
- hasDefault: false;
1718
- sequence: false;
1719
- }>;
1720
- readonly createdBy: import("shutro").Many2oneField<'res.users', {
1721
- required: false;
1722
- readonly: true;
1723
- computed: false;
1724
- inverse: false;
1725
- hasDefault: false;
1726
- sequence: false;
1727
- }>;
1728
- readonly updatedBy: import("shutro").Many2oneField<'res.users', {
1729
- required: false;
1730
- readonly: true;
1731
- computed: false;
1732
- inverse: false;
1733
- hasDefault: false;
1734
- sequence: false;
3880
+ readonly sequence: false;
3881
+ readonly computeName: undefined;
3882
+ readonly store: true;
3883
+ readonly hasDefault: false;
3884
+ readonly readonly: true;
1735
3885
  }>;
1736
- readonly displayName: import("shutro").CharField<{
3886
+ readonly state: import("shutro").StateField<"draft" | "ready", {
3887
+ readonly generate: {
3888
+ readonly from: readonly ["draft", "ready"];
3889
+ readonly to: "ready";
3890
+ readonly guard: (records: never) => unknown;
3891
+ readonly message: "Add at least one attribute with the values offered.";
3892
+ readonly after: (records: never) => unknown;
3893
+ };
3894
+ }, {
1737
3895
  required: true;
1738
3896
  readonly: true;
1739
- computed: true;
3897
+ computed: false;
1740
3898
  inverse: false;
1741
- hasDefault: false;
3899
+ hasDefault: true;
1742
3900
  sequence: false;
1743
3901
  }>;
1744
- readonly active: import("shutro").ActiveField;
3902
+ }, {} & import("shutro").TransitionMethods<{
1745
3903
  readonly name: import("shutro").CharField<{
1746
3904
  readonly required: true;
1747
3905
  readonly computed: false;
@@ -1752,16 +3910,6 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1752
3910
  readonly hasDefault: false;
1753
3911
  readonly readonly: false;
1754
3912
  }, string | Readonly<Record<string, string>>>;
1755
- readonly code: import("shutro").CharField<{
1756
- readonly required: false;
1757
- readonly computed: false;
1758
- readonly inverse: false;
1759
- readonly sequence: true;
1760
- readonly computeName: undefined;
1761
- readonly store: true;
1762
- readonly hasDefault: false;
1763
- readonly readonly: true;
1764
- }, string>;
1765
3913
  readonly kind: import("shutro").SelectionField<"goods" | "service", {
1766
3914
  readonly required: true;
1767
3915
  readonly computed: false;
@@ -1792,26 +3940,6 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1792
3940
  readonly hasDefault: false;
1793
3941
  readonly readonly: false;
1794
3942
  }>;
1795
- readonly barcode: import("shutro").CharField<{
1796
- readonly required: false;
1797
- readonly computed: false;
1798
- readonly inverse: false;
1799
- readonly sequence: false;
1800
- readonly computeName: undefined;
1801
- readonly store: true;
1802
- readonly hasDefault: false;
1803
- readonly readonly: false;
1804
- }, string>;
1805
- readonly image: import("shutro").Many2oneField<"storage.attachment", {
1806
- readonly required: false;
1807
- readonly computed: false;
1808
- readonly inverse: false;
1809
- readonly sequence: false;
1810
- readonly computeName: undefined;
1811
- readonly store: true;
1812
- readonly hasDefault: false;
1813
- readonly readonly: false;
1814
- }>;
1815
3943
  readonly listPrice: import("shutro").DecimalField<{
1816
3944
  readonly required: true;
1817
3945
  readonly computed: false;
@@ -1872,7 +4000,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1872
4000
  readonly hasDefault: true;
1873
4001
  readonly readonly: false;
1874
4002
  }>;
1875
- readonly tax: import("shutro").Many2oneField<"account.tax", {
4003
+ readonly image: import("shutro").Many2oneField<"storage.attachment", {
1876
4004
  readonly required: false;
1877
4005
  readonly computed: false;
1878
4006
  readonly inverse: false;
@@ -1880,9 +4008,9 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1880
4008
  readonly computeName: undefined;
1881
4009
  readonly store: true;
1882
4010
  readonly hasDefault: false;
1883
- readonly readonly: true;
4011
+ readonly readonly: false;
1884
4012
  }>;
1885
- readonly purchaseTax: import("shutro").Many2oneField<"account.tax", {
4013
+ readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
1886
4014
  readonly required: false;
1887
4015
  readonly computed: false;
1888
4016
  readonly inverse: false;
@@ -1890,51 +4018,118 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1890
4018
  readonly computeName: undefined;
1891
4019
  readonly store: true;
1892
4020
  readonly hasDefault: false;
1893
- readonly readonly: true;
4021
+ readonly readonly: false;
1894
4022
  }>;
1895
- readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
1896
- readonly required: false;
4023
+ readonly lines: import("shutro").One2manyField<"product.template.line", {
4024
+ readonly required: true;
1897
4025
  readonly computed: false;
1898
4026
  readonly inverse: false;
1899
4027
  readonly sequence: false;
1900
4028
  readonly computeName: undefined;
1901
4029
  readonly store: true;
1902
- readonly hasDefault: false;
4030
+ readonly hasDefault: true;
1903
4031
  readonly readonly: false;
1904
4032
  }>;
1905
- }, {} & import("shutro").TransitionMethods<{
1906
- readonly name: import("shutro").CharField<{
4033
+ readonly exclusions: import("shutro").One2manyField<"product.template.exclusion", {
1907
4034
  readonly required: true;
1908
4035
  readonly computed: false;
1909
4036
  readonly inverse: false;
1910
4037
  readonly sequence: false;
1911
4038
  readonly computeName: undefined;
1912
4039
  readonly store: true;
1913
- readonly hasDefault: false;
4040
+ readonly hasDefault: true;
1914
4041
  readonly readonly: false;
1915
- }, string | Readonly<Record<string, string>>>;
1916
- readonly code: import("shutro").CharField<{
1917
- readonly required: false;
4042
+ }>;
4043
+ readonly variants: import("shutro").One2manyField<"product.product", {
4044
+ readonly required: true;
1918
4045
  readonly computed: false;
1919
4046
  readonly inverse: false;
1920
- readonly sequence: true;
4047
+ readonly sequence: false;
4048
+ readonly computeName: undefined;
4049
+ readonly store: true;
4050
+ readonly hasDefault: true;
4051
+ readonly readonly: false;
4052
+ }>;
4053
+ readonly variantCount: import("shutro").ScalarField<"integer", number, number, {
4054
+ readonly required: false;
4055
+ readonly computed: true;
4056
+ readonly inverse: false;
4057
+ readonly sequence: false;
1921
4058
  readonly computeName: undefined;
1922
4059
  readonly store: true;
1923
4060
  readonly hasDefault: false;
1924
4061
  readonly readonly: true;
1925
- }, string>;
1926
- readonly kind: import("shutro").SelectionField<"goods" | "service", {
4062
+ }>;
4063
+ readonly state: import("shutro").StateField<"draft" | "ready", {
4064
+ readonly generate: {
4065
+ readonly from: readonly ["draft", "ready"];
4066
+ readonly to: "ready";
4067
+ readonly guard: (records: never) => unknown;
4068
+ readonly message: "Add at least one attribute with the values offered.";
4069
+ readonly after: (records: never) => unknown;
4070
+ };
4071
+ }, {
4072
+ required: true;
4073
+ readonly: true;
4074
+ computed: false;
4075
+ inverse: false;
4076
+ hasDefault: true;
4077
+ sequence: false;
4078
+ }>;
4079
+ }>>, import("shutro").Model<"product.template.line", {
4080
+ readonly id: import("shutro").IdField<"product.template.line">;
4081
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
4082
+ required: true;
4083
+ readonly: true;
4084
+ computed: false;
4085
+ inverse: false;
4086
+ hasDefault: false;
4087
+ sequence: false;
4088
+ }>;
4089
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
4090
+ required: true;
4091
+ readonly: true;
4092
+ computed: false;
4093
+ inverse: false;
4094
+ hasDefault: false;
4095
+ sequence: false;
4096
+ }>;
4097
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
4098
+ required: false;
4099
+ readonly: true;
4100
+ computed: false;
4101
+ inverse: false;
4102
+ hasDefault: false;
4103
+ sequence: false;
4104
+ }>;
4105
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
4106
+ required: false;
4107
+ readonly: true;
4108
+ computed: false;
4109
+ inverse: false;
4110
+ hasDefault: false;
4111
+ sequence: false;
4112
+ }>;
4113
+ readonly displayName: import("shutro").CharField<{
4114
+ required: true;
4115
+ readonly: true;
4116
+ computed: true;
4117
+ inverse: false;
4118
+ hasDefault: false;
4119
+ sequence: false;
4120
+ }>;
4121
+ readonly template: import("shutro").Many2oneField<"product.template", {
1927
4122
  readonly required: true;
1928
4123
  readonly computed: false;
1929
4124
  readonly inverse: false;
1930
4125
  readonly sequence: false;
1931
4126
  readonly computeName: undefined;
1932
4127
  readonly store: true;
1933
- readonly hasDefault: true;
4128
+ readonly hasDefault: false;
1934
4129
  readonly readonly: false;
1935
4130
  }>;
1936
- readonly category: import("shutro").Many2oneField<"product.category", {
1937
- readonly required: false;
4131
+ readonly attribute: import("shutro").Many2oneField<"product.attribute", {
4132
+ readonly required: true;
1938
4133
  readonly computed: false;
1939
4134
  readonly inverse: false;
1940
4135
  readonly sequence: false;
@@ -1943,28 +4138,29 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1943
4138
  readonly hasDefault: false;
1944
4139
  readonly readonly: false;
1945
4140
  }>;
1946
- readonly uom: import("shutro").Many2oneField<"uom.uom", {
1947
- readonly required: false;
4141
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
4142
+ readonly required: true;
1948
4143
  readonly computed: false;
1949
4144
  readonly inverse: false;
1950
4145
  readonly sequence: false;
1951
4146
  readonly computeName: undefined;
1952
4147
  readonly store: true;
1953
- readonly hasDefault: false;
4148
+ readonly hasDefault: true;
1954
4149
  readonly readonly: false;
1955
4150
  }>;
1956
- readonly barcode: import("shutro").CharField<{
1957
- readonly required: false;
4151
+ readonly values: import("shutro").Many2manyField<"product.attribute.value", {
4152
+ readonly required: true;
1958
4153
  readonly computed: false;
1959
4154
  readonly inverse: false;
1960
4155
  readonly sequence: false;
1961
4156
  readonly computeName: undefined;
1962
4157
  readonly store: true;
1963
- readonly hasDefault: false;
4158
+ readonly hasDefault: true;
1964
4159
  readonly readonly: false;
1965
- }, string>;
1966
- readonly image: import("shutro").Many2oneField<"storage.attachment", {
1967
- readonly required: false;
4160
+ }>;
4161
+ }, {} & import("shutro").TransitionMethods<{
4162
+ readonly template: import("shutro").Many2oneField<"product.template", {
4163
+ readonly required: true;
1968
4164
  readonly computed: false;
1969
4165
  readonly inverse: false;
1970
4166
  readonly sequence: false;
@@ -1973,17 +4169,17 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1973
4169
  readonly hasDefault: false;
1974
4170
  readonly readonly: false;
1975
4171
  }>;
1976
- readonly listPrice: import("shutro").DecimalField<{
4172
+ readonly attribute: import("shutro").Many2oneField<"product.attribute", {
1977
4173
  readonly required: true;
1978
4174
  readonly computed: false;
1979
4175
  readonly inverse: false;
1980
4176
  readonly sequence: false;
1981
4177
  readonly computeName: undefined;
1982
4178
  readonly store: true;
1983
- readonly hasDefault: true;
4179
+ readonly hasDefault: false;
1984
4180
  readonly readonly: false;
1985
4181
  }>;
1986
- readonly standardPrice: import("shutro").DecimalField<{
4182
+ readonly sequence: import("shutro").ScalarField<"integer", number, number, {
1987
4183
  readonly required: true;
1988
4184
  readonly computed: false;
1989
4185
  readonly inverse: false;
@@ -1993,7 +4189,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
1993
4189
  readonly hasDefault: true;
1994
4190
  readonly readonly: false;
1995
4191
  }>;
1996
- readonly saleOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
4192
+ readonly values: import("shutro").Many2manyField<"product.attribute.value", {
1997
4193
  readonly required: true;
1998
4194
  readonly computed: false;
1999
4195
  readonly inverse: false;
@@ -2003,17 +4199,59 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2003
4199
  readonly hasDefault: true;
2004
4200
  readonly readonly: false;
2005
4201
  }>;
2006
- readonly purchaseOk: import("shutro").ScalarField<"boolean", boolean, boolean, {
4202
+ }>>, import("shutro").Model<"product.template.exclusion", {
4203
+ readonly id: import("shutro").IdField<"product.template.exclusion">;
4204
+ readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
4205
+ required: true;
4206
+ readonly: true;
4207
+ computed: false;
4208
+ inverse: false;
4209
+ hasDefault: false;
4210
+ sequence: false;
4211
+ }>;
4212
+ readonly updatedAt: import("shutro").ScalarField<'datetime', Date, Date, {
4213
+ required: true;
4214
+ readonly: true;
4215
+ computed: false;
4216
+ inverse: false;
4217
+ hasDefault: false;
4218
+ sequence: false;
4219
+ }>;
4220
+ readonly createdBy: import("shutro").Many2oneField<'res.users', {
4221
+ required: false;
4222
+ readonly: true;
4223
+ computed: false;
4224
+ inverse: false;
4225
+ hasDefault: false;
4226
+ sequence: false;
4227
+ }>;
4228
+ readonly updatedBy: import("shutro").Many2oneField<'res.users', {
4229
+ required: false;
4230
+ readonly: true;
4231
+ computed: false;
4232
+ inverse: false;
4233
+ hasDefault: false;
4234
+ sequence: false;
4235
+ }>;
4236
+ readonly displayName: import("shutro").CharField<{
4237
+ required: true;
4238
+ readonly: true;
4239
+ computed: true;
4240
+ inverse: false;
4241
+ hasDefault: false;
4242
+ sequence: false;
4243
+ }>;
4244
+ readonly template: import("shutro").Many2oneField<"product.template", {
2007
4245
  readonly required: true;
2008
4246
  readonly computed: false;
2009
4247
  readonly inverse: false;
2010
4248
  readonly sequence: false;
2011
4249
  readonly computeName: undefined;
2012
4250
  readonly store: true;
2013
- readonly hasDefault: true;
4251
+ readonly hasDefault: false;
2014
4252
  readonly readonly: false;
2015
4253
  }>;
2016
- readonly taxes: import("shutro").Many2manyField<"account.tax", {
4254
+ readonly values: import("shutro").Many2manyField<"product.attribute.value", {
2017
4255
  readonly required: true;
2018
4256
  readonly computed: false;
2019
4257
  readonly inverse: false;
@@ -2023,37 +4261,38 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2023
4261
  readonly hasDefault: true;
2024
4262
  readonly readonly: false;
2025
4263
  }>;
2026
- readonly purchaseTaxes: import("shutro").Many2manyField<"account.tax", {
2027
- readonly required: true;
4264
+ readonly note: import("shutro").CharField<{
4265
+ readonly required: false;
2028
4266
  readonly computed: false;
2029
4267
  readonly inverse: false;
2030
4268
  readonly sequence: false;
2031
4269
  readonly computeName: undefined;
2032
4270
  readonly store: true;
2033
- readonly hasDefault: true;
4271
+ readonly hasDefault: false;
2034
4272
  readonly readonly: false;
2035
- }>;
2036
- readonly tax: import("shutro").Many2oneField<"account.tax", {
2037
- readonly required: false;
4273
+ }, string>;
4274
+ }, {} & import("shutro").TransitionMethods<{
4275
+ readonly template: import("shutro").Many2oneField<"product.template", {
4276
+ readonly required: true;
2038
4277
  readonly computed: false;
2039
4278
  readonly inverse: false;
2040
4279
  readonly sequence: false;
2041
4280
  readonly computeName: undefined;
2042
4281
  readonly store: true;
2043
4282
  readonly hasDefault: false;
2044
- readonly readonly: true;
4283
+ readonly readonly: false;
2045
4284
  }>;
2046
- readonly purchaseTax: import("shutro").Many2oneField<"account.tax", {
2047
- readonly required: false;
4285
+ readonly values: import("shutro").Many2manyField<"product.attribute.value", {
4286
+ readonly required: true;
2048
4287
  readonly computed: false;
2049
4288
  readonly inverse: false;
2050
4289
  readonly sequence: false;
2051
4290
  readonly computeName: undefined;
2052
4291
  readonly store: true;
2053
- readonly hasDefault: false;
2054
- readonly readonly: true;
4292
+ readonly hasDefault: true;
4293
+ readonly readonly: false;
2055
4294
  }>;
2056
- readonly description: import("shutro").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
4295
+ readonly note: import("shutro").CharField<{
2057
4296
  readonly required: false;
2058
4297
  readonly computed: false;
2059
4298
  readonly inverse: false;
@@ -2062,7 +4301,7 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2062
4301
  readonly store: true;
2063
4302
  readonly hasDefault: false;
2064
4303
  readonly readonly: false;
2065
- }>;
4304
+ }, string>;
2066
4305
  }>>], readonly [import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>, import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>], readonly []>, import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>], readonly [import("shutro").Extension<"res.company", {
2067
4306
  readonly saleValidityDays: import("shutro").ScalarField<"integer", number, number, {
2068
4307
  readonly required: false;
@@ -2084,6 +4323,17 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2084
4323
  readonly hasDefault: false;
2085
4324
  readonly readonly: false;
2086
4325
  }>;
4326
+ }, Record<never, never>>, import("shutro").Extension<"res.partner", {
4327
+ readonly pricelist: import("shutro").Many2oneField<"product.pricelist", {
4328
+ readonly required: false;
4329
+ readonly computed: false;
4330
+ readonly inverse: false;
4331
+ readonly sequence: false;
4332
+ readonly computeName: undefined;
4333
+ readonly store: true;
4334
+ readonly hasDefault: false;
4335
+ readonly readonly: false;
4336
+ }>;
2087
4337
  }, Record<never, never>>]>, import("shutro").Module<readonly [import("shutro").Model<"portal.invitation", {
2088
4338
  readonly id: import("shutro").IdField<"portal.invitation">;
2089
4339
  readonly createdAt: import("shutro").ScalarField<'datetime', Date, Date, {
@@ -2751,6 +5001,16 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2751
5001
  readonly hasDefault: false;
2752
5002
  readonly readonly: false;
2753
5003
  }, string>;
5004
+ readonly lang: import("shutro").SelectionField<"bn" | "en", {
5005
+ readonly required: false;
5006
+ readonly computed: false;
5007
+ readonly inverse: false;
5008
+ readonly sequence: false;
5009
+ readonly computeName: undefined;
5010
+ readonly store: true;
5011
+ readonly hasDefault: false;
5012
+ readonly readonly: false;
5013
+ }>;
2754
5014
  readonly phone: import("shutro").CharField<{
2755
5015
  readonly required: false;
2756
5016
  readonly computed: false;
@@ -2972,6 +5232,16 @@ export declare const salePortalShutro: import("shutro").Module<readonly [], read
2972
5232
  readonly hasDefault: false;
2973
5233
  readonly readonly: false;
2974
5234
  }, string>;
5235
+ readonly lang: import("shutro").SelectionField<"bn" | "en", {
5236
+ readonly required: false;
5237
+ readonly computed: false;
5238
+ readonly inverse: false;
5239
+ readonly sequence: false;
5240
+ readonly computeName: undefined;
5241
+ readonly store: true;
5242
+ readonly hasDefault: false;
5243
+ readonly readonly: false;
5244
+ }>;
2975
5245
  readonly phone: import("shutro").CharField<{
2976
5246
  readonly required: false;
2977
5247
  readonly computed: false;