shutro-erp 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/dist/account_asset/.kosh/bindings.js +1 -1
  2. package/dist/account_asset/.kosh/schema.d.ts +530 -8
  3. package/dist/account_asset/i18n/bn.d.ts +2 -0
  4. package/dist/account_asset/i18n/bn.js +97 -0
  5. package/dist/account_asset/index.js +2 -0
  6. package/dist/account_asset/module.d.ts +4899 -1445
  7. package/dist/account_budget/.kosh/bindings.js +1 -1
  8. package/dist/account_budget/.kosh/schema.d.ts +1130 -56
  9. package/dist/account_budget/i18n/bn.d.ts +2 -0
  10. package/dist/account_budget/i18n/bn.js +63 -0
  11. package/dist/account_budget/index.js +14 -0
  12. package/dist/account_budget/module.d.ts +17958 -4532
  13. package/dist/account_budget/module.js +15 -0
  14. package/dist/account_portal/.kosh/bindings.js +1 -1
  15. package/dist/account_portal/.kosh/schema.d.ts +530 -8
  16. package/dist/account_portal/i18n/bn.d.ts +2 -0
  17. package/dist/account_portal/i18n/bn.js +6 -0
  18. package/dist/account_portal/index.js +2 -0
  19. package/dist/account_portal/module.d.ts +5167 -1693
  20. package/dist/accounting/.kosh/bindings.js +1 -1
  21. package/dist/accounting/.kosh/schema.d.ts +530 -8
  22. package/dist/accounting/closing.js +1 -0
  23. package/dist/accounting/fiscal.d.ts +578 -0
  24. package/dist/accounting/fiscal.js +401 -0
  25. package/dist/accounting/followups.d.ts +618 -0
  26. package/dist/accounting/followups.js +420 -0
  27. package/dist/accounting/i18n/bn.d.ts +2 -0
  28. package/dist/accounting/i18n/bn.js +425 -0
  29. package/dist/accounting/index.d.ts +2 -0
  30. package/dist/accounting/index.js +649 -2
  31. package/dist/accounting/module.d.ts +4998 -1451
  32. package/dist/accounting/module.js +124 -18
  33. package/dist/accounting/statements.d.ts +878 -0
  34. package/dist/accounting/statements.js +728 -0
  35. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  36. package/dist/accounting/web/BankReconcilePage.js +138 -0
  37. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  38. package/dist/accounting/web/FollowupsPage.js +54 -0
  39. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  40. package/dist/accounting/web/PostingPreview.js +26 -0
  41. package/dist/accounting/web/index.d.ts +3 -0
  42. package/dist/accounting/web/index.js +9 -0
  43. package/dist/accounting/web/messages.js +140 -0
  44. package/dist/approvals/.kosh/bindings.js +1 -1
  45. package/dist/approvals/.kosh/schema.d.ts +272 -4
  46. package/dist/approvals/demo.d.ts +7 -0
  47. package/dist/approvals/demo.js +41 -0
  48. package/dist/approvals/i18n/bn.d.ts +2 -0
  49. package/dist/approvals/i18n/bn.js +133 -0
  50. package/dist/approvals/index.d.ts +19 -1
  51. package/dist/approvals/index.js +477 -7
  52. package/dist/approvals/mails.d.ts +7 -2
  53. package/dist/approvals/mails.js +8 -3
  54. package/dist/approvals/module.d.ts +2930 -1
  55. package/dist/approvals/module.js +468 -7
  56. package/dist/approvals/web/Config.d.ts +12 -0
  57. package/dist/approvals/web/Config.js +60 -0
  58. package/dist/approvals/web/Matrix.d.ts +9 -0
  59. package/dist/approvals/web/Matrix.js +26 -0
  60. package/dist/approvals/web/index.d.ts +3 -1
  61. package/dist/approvals/web/index.js +8 -1
  62. package/dist/approvals/web/messages.js +92 -0
  63. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  64. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  65. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  66. package/dist/approvals_purchase/i18n/bn.js +5 -0
  67. package/dist/approvals_purchase/index.d.ts +3 -0
  68. package/dist/approvals_purchase/index.js +47 -0
  69. package/dist/approvals_purchase/module.d.ts +12670 -0
  70. package/dist/approvals_purchase/module.js +84 -0
  71. package/dist/attendance/.kosh/bindings.js +1 -1
  72. package/dist/attendance/.kosh/schema.d.ts +59 -1
  73. package/dist/attendance/i18n/bn.d.ts +2 -0
  74. package/dist/attendance/i18n/bn.js +147 -0
  75. package/dist/attendance/index.js +3 -1
  76. package/dist/attendance/module.d.ts +452 -8
  77. package/dist/automation/engine.js +1 -1
  78. package/dist/calendar/.kosh/bindings.js +1 -1
  79. package/dist/calendar/.kosh/schema.d.ts +2 -1
  80. package/dist/calendar/i18n/bn.d.ts +2 -0
  81. package/dist/calendar/i18n/bn.js +80 -0
  82. package/dist/calendar/index.js +77 -0
  83. package/dist/calendar/module.d.ts +26 -0
  84. package/dist/calendar/module.js +14 -4
  85. package/dist/cli/apps.js +25 -5
  86. package/dist/cli/init.js +14 -4
  87. package/dist/cli/templates.d.ts +1 -1
  88. package/dist/cli/templates.js +34 -5
  89. package/dist/contacts/.kosh/bindings.js +1 -1
  90. package/dist/contacts/.kosh/schema.d.ts +2 -1
  91. package/dist/contacts/i18n/bn.d.ts +2 -0
  92. package/dist/contacts/i18n/bn.js +67 -0
  93. package/dist/contacts/index.js +3 -0
  94. package/dist/contacts/module.d.ts +42 -0
  95. package/dist/contacts/module.js +6 -1
  96. package/dist/crm/.kosh/bindings.js +1 -1
  97. package/dist/crm/.kosh/schema.d.ts +2 -1
  98. package/dist/crm/i18n/bn.d.ts +2 -0
  99. package/dist/crm/i18n/bn.js +80 -0
  100. package/dist/crm/index.js +22 -0
  101. package/dist/crm/module.d.ts +20 -0
  102. package/dist/crm/module.js +4 -2
  103. package/dist/documents/.kosh/bindings.js +1 -1
  104. package/dist/documents/.kosh/schema.d.ts +2 -1
  105. package/dist/documents/i18n/bn.d.ts +2 -0
  106. package/dist/documents/i18n/bn.js +83 -0
  107. package/dist/documents/index.js +128 -1
  108. package/dist/documents/module.d.ts +20 -0
  109. package/dist/documents/module.js +1 -0
  110. package/dist/event/.kosh/bindings.js +1 -1
  111. package/dist/event/.kosh/schema.d.ts +2 -1
  112. package/dist/event/i18n/bn.d.ts +2 -0
  113. package/dist/event/i18n/bn.js +101 -0
  114. package/dist/event/index.js +66 -0
  115. package/dist/event/module.d.ts +20 -0
  116. package/dist/event/module.js +8 -1
  117. package/dist/event_account/.kosh/bindings.js +1 -1
  118. package/dist/event_account/.kosh/schema.d.ts +530 -8
  119. package/dist/event_account/i18n/bn.d.ts +2 -0
  120. package/dist/event_account/i18n/bn.js +5 -0
  121. package/dist/event_account/index.js +2 -0
  122. package/dist/event_account/module.d.ts +4905 -1431
  123. package/dist/expense/.kosh/bindings.js +1 -1
  124. package/dist/expense/.kosh/schema.d.ts +323 -2
  125. package/dist/expense/i18n/bn.d.ts +2 -0
  126. package/dist/expense/i18n/bn.js +155 -0
  127. package/dist/expense/index.js +8 -1
  128. package/dist/expense/module.d.ts +2715 -694
  129. package/dist/expense/module.js +3 -1
  130. package/dist/expense_account/.kosh/bindings.js +1 -1
  131. package/dist/expense_account/.kosh/schema.d.ts +587 -8
  132. package/dist/expense_account/i18n/bn.d.ts +2 -0
  133. package/dist/expense_account/i18n/bn.js +15 -0
  134. package/dist/expense_account/index.js +2 -0
  135. package/dist/expense_account/module.d.ts +8094 -2619
  136. package/dist/helpdesk/.kosh/bindings.js +1 -1
  137. package/dist/helpdesk/.kosh/schema.d.ts +2 -1
  138. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  139. package/dist/helpdesk/i18n/bn.js +127 -0
  140. package/dist/helpdesk/index.js +2 -0
  141. package/dist/helpdesk/module.d.ts +20 -0
  142. package/dist/hr/.kosh/bindings.js +1 -1
  143. package/dist/hr/.kosh/schema.d.ts +59 -1
  144. package/dist/hr/demo.js +11 -1
  145. package/dist/hr/i18n/bn.d.ts +2 -0
  146. package/dist/hr/i18n/bn.js +126 -0
  147. package/dist/hr/index.d.ts +1 -1
  148. package/dist/hr/index.js +158 -12
  149. package/dist/hr/module.d.ts +932 -59
  150. package/dist/hr/module.js +114 -17
  151. package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
  152. package/dist/indent/.kosh/schema.d.ts +2084 -0
  153. package/dist/indent/demo.d.ts +7 -0
  154. package/dist/indent/demo.js +48 -0
  155. package/dist/indent/i18n/bn.d.ts +2 -0
  156. package/dist/indent/i18n/bn.js +143 -0
  157. package/dist/indent/index.d.ts +3 -0
  158. package/dist/indent/index.js +450 -0
  159. package/dist/{mrp → indent}/module.d.ts +7164 -3075
  160. package/dist/indent/module.js +792 -0
  161. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  162. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  163. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  164. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  165. package/dist/indent_purchase/i18n/bn.js +13 -0
  166. package/dist/indent_purchase/index.d.ts +3 -0
  167. package/dist/indent_purchase/index.js +61 -0
  168. package/dist/indent_purchase/module.d.ts +27950 -0
  169. package/dist/indent_purchase/module.js +163 -0
  170. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  171. package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
  172. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  173. package/dist/l10n_bd/i18n/bn.js +69 -0
  174. package/dist/l10n_bd/index.js +2 -0
  175. package/dist/l10n_bd/module.d.ts +5167 -1693
  176. package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
  177. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
  178. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  179. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  180. package/dist/l10n_bd_payroll/index.js +2 -0
  181. package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
  182. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  183. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  184. package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
  185. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  186. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  187. package/dist/l10n_bd_pos/index.d.ts +3 -0
  188. package/dist/l10n_bd_pos/index.js +111 -0
  189. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
  190. package/dist/l10n_bd_pos/module.js +43 -0
  191. package/dist/l10n_in/.kosh/bindings.js +1 -1
  192. package/dist/l10n_in/.kosh/schema.d.ts +530 -8
  193. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  194. package/dist/l10n_in/i18n/bn.js +95 -0
  195. package/dist/l10n_in/index.js +2 -0
  196. package/dist/l10n_in/module.d.ts +6703 -1652
  197. package/dist/l10n_in/module.js +25 -5
  198. package/dist/l10n_in/web/GstSettings.js +2 -2
  199. package/dist/mail/inbound/handle.js +2 -4
  200. package/dist/mail/inbound/models.js +5 -3
  201. package/dist/mail/index.d.ts +12 -1
  202. package/dist/mail/index.js +139 -2
  203. package/dist/mail/send.d.ts +56 -0
  204. package/dist/mail/send.js +394 -0
  205. package/dist/mail/web/SendButton.d.ts +9 -0
  206. package/dist/mail/web/SendButton.js +71 -0
  207. package/dist/mail/web/SendSelected.d.ts +8 -0
  208. package/dist/mail/web/SendSelected.js +33 -0
  209. package/dist/mail/web/index.d.ts +2 -0
  210. package/dist/mail/web/index.js +6 -0
  211. package/dist/mail/web/messages.js +36 -0
  212. package/dist/maintenance/.kosh/bindings.js +1 -1
  213. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  214. package/dist/maintenance/i18n/bn.d.ts +2 -0
  215. package/dist/maintenance/i18n/bn.js +132 -0
  216. package/dist/maintenance/index.js +85 -0
  217. package/dist/maintenance/module.d.ts +25 -0
  218. package/dist/maintenance/module.js +27 -9
  219. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  220. package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
  221. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  222. package/dist/maintenance_stock/i18n/bn.js +21 -0
  223. package/dist/maintenance_stock/index.js +2 -0
  224. package/dist/maintenance_stock/module.d.ts +5302 -1256
  225. package/dist/maintenance_stock/module.js +1 -0
  226. package/dist/modules-sdk/apps.d.ts +10 -0
  227. package/dist/modules-sdk/apps.js +32 -0
  228. package/dist/modules-sdk/index.d.ts +1 -1
  229. package/dist/modules-sdk/manifest.d.ts +68 -2
  230. package/dist/payment/.kosh/bindings.js +1 -1
  231. package/dist/payment/.kosh/schema.d.ts +530 -8
  232. package/dist/payment/i18n/bn.d.ts +2 -0
  233. package/dist/payment/i18n/bn.js +59 -0
  234. package/dist/payment/index.js +85 -0
  235. package/dist/payment/module.d.ts +5134 -1660
  236. package/dist/payment/module.js +17 -3
  237. package/dist/payment/settle.js +1 -0
  238. package/dist/payroll/.kosh/bindings.js +1 -1
  239. package/dist/payroll/.kosh/schema.d.ts +59 -1
  240. package/dist/payroll/i18n/bn.d.ts +2 -0
  241. package/dist/payroll/i18n/bn.js +206 -0
  242. package/dist/payroll/index.js +2 -0
  243. package/dist/payroll/module.d.ts +936 -48
  244. package/dist/payroll_account/.kosh/bindings.js +1 -1
  245. package/dist/payroll_account/.kosh/schema.d.ts +587 -8
  246. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  247. package/dist/payroll_account/i18n/bn.js +10 -0
  248. package/dist/payroll_account/index.js +2 -0
  249. package/dist/payroll_account/module.d.ts +7534 -3192
  250. package/dist/permissions/approvals.d.ts +97 -4
  251. package/dist/permissions/approvals.js +780 -31
  252. package/dist/permissions/index.d.ts +1 -1
  253. package/dist/permissions/index.js +2 -2
  254. package/dist/permissions/models.js +177 -5
  255. package/dist/permissions/routes.d.ts +3 -0
  256. package/dist/permissions/routes.js +36 -2
  257. package/dist/permissions/web/ApprovalPanel.js +43 -5
  258. package/dist/permissions/web/messages.js +52 -0
  259. package/dist/portal/.kosh/bindings.js +1 -1
  260. package/dist/portal/.kosh/schema.d.ts +2 -1
  261. package/dist/portal/documents.d.ts +3 -0
  262. package/dist/portal/documents.js +21 -1
  263. package/dist/portal/i18n/bn.d.ts +2 -0
  264. package/dist/portal/i18n/bn.js +33 -0
  265. package/dist/portal/index.js +2 -0
  266. package/dist/portal/module.d.ts +20 -0
  267. package/dist/portal/routes-documents.js +76 -0
  268. package/dist/pos/.kosh/bindings.js +1 -1
  269. package/dist/pos/.kosh/schema.d.ts +531 -8
  270. package/dist/pos/i18n/bn.d.ts +2 -0
  271. package/dist/pos/i18n/bn.js +133 -0
  272. package/dist/pos/index.js +83 -1
  273. package/dist/pos/module.d.ts +6888 -1777
  274. package/dist/pos/module.js +49 -5
  275. package/dist/pos/routes.js +80 -7
  276. package/dist/pos/web/Register.js +2 -5
  277. package/dist/pos_stock/.kosh/bindings.js +1 -1
  278. package/dist/pos_stock/.kosh/schema.d.ts +626 -9
  279. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  280. package/dist/pos_stock/i18n/bn.js +6 -0
  281. package/dist/pos_stock/index.js +2 -0
  282. package/dist/pos_stock/module.d.ts +10798 -3276
  283. package/dist/product/.kosh/bindings.js +1 -1
  284. package/dist/product/.kosh/schema.d.ts +202 -1
  285. package/dist/product/i18n/bn.d.ts +2 -0
  286. package/dist/product/i18n/bn.js +175 -0
  287. package/dist/product/index.d.ts +1 -0
  288. package/dist/product/index.js +288 -1
  289. package/dist/product/module.d.ts +1725 -0
  290. package/dist/product/module.js +66 -6
  291. package/dist/product/pricelist.d.ts +575 -0
  292. package/dist/product/pricelist.js +257 -0
  293. package/dist/product/variants.d.ts +908 -0
  294. package/dist/product/variants.js +251 -0
  295. package/dist/production/.kosh/bindings.d.ts +22 -0
  296. package/dist/production/.kosh/bindings.js +15 -0
  297. package/dist/production/.kosh/schema.d.ts +2345 -0
  298. package/dist/{mrp → production}/demo.d.ts +1 -1
  299. package/dist/{mrp → production}/demo.js +5 -5
  300. package/dist/production/depth.d.ts +790 -0
  301. package/dist/production/depth.js +262 -0
  302. package/dist/production/i18n/bn.d.ts +2 -0
  303. package/dist/production/i18n/bn.js +350 -0
  304. package/dist/production/index.d.ts +6 -0
  305. package/dist/production/index.js +1256 -0
  306. package/dist/production/module.d.ts +17327 -0
  307. package/dist/production/module.js +1333 -0
  308. package/dist/production/plan.d.ts +921 -0
  309. package/dist/production/plan.js +511 -0
  310. package/dist/production/schedule.d.ts +656 -0
  311. package/dist/production/schedule.js +309 -0
  312. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  313. package/dist/production_account/.kosh/bindings.js +15 -0
  314. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  315. package/dist/production_account/i18n/bn.d.ts +2 -0
  316. package/dist/production_account/i18n/bn.js +93 -0
  317. package/dist/production_account/index.d.ts +4 -0
  318. package/dist/production_account/index.js +246 -0
  319. package/dist/production_account/module.d.ts +1192 -0
  320. package/dist/{mrp_account → production_account}/module.js +72 -18
  321. package/dist/production_account/overhead.d.ts +1195 -0
  322. package/dist/production_account/overhead.js +554 -0
  323. package/dist/project/.kosh/bindings.js +1 -1
  324. package/dist/project/.kosh/schema.d.ts +65 -2
  325. package/dist/project/i18n/bn.d.ts +2 -0
  326. package/dist/project/i18n/bn.js +383 -0
  327. package/dist/project/index.js +123 -0
  328. package/dist/project/module.d.ts +20 -0
  329. package/dist/project/module.js +73 -14
  330. package/dist/project_account/.kosh/bindings.js +1 -1
  331. package/dist/project_account/.kosh/schema.d.ts +530 -8
  332. package/dist/project_account/i18n/bn.d.ts +2 -0
  333. package/dist/project_account/i18n/bn.js +6 -0
  334. package/dist/project_account/index.js +2 -0
  335. package/dist/project_account/module.d.ts +4926 -1452
  336. package/dist/project_portal/.kosh/bindings.js +1 -1
  337. package/dist/project_portal/.kosh/schema.d.ts +65 -2
  338. package/dist/project_portal/i18n/bn.d.ts +2 -0
  339. package/dist/project_portal/i18n/bn.js +6 -0
  340. package/dist/project_portal/index.js +2 -0
  341. package/dist/project_portal/module.d.ts +40 -0
  342. package/dist/project_purchase/.kosh/bindings.js +1 -1
  343. package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
  344. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  345. package/dist/project_purchase/i18n/bn.js +4 -0
  346. package/dist/project_purchase/index.js +2 -0
  347. package/dist/project_purchase/module.d.ts +17912 -4446
  348. package/dist/purchase/.kosh/bindings.js +1 -1
  349. package/dist/purchase/.kosh/schema.d.ts +813 -3
  350. package/dist/purchase/comparison.d.ts +993 -0
  351. package/dist/purchase/comparison.js +415 -0
  352. package/dist/purchase/extras.d.ts +1509 -0
  353. package/dist/purchase/extras.js +445 -0
  354. package/dist/purchase/i18n/bn.d.ts +2 -0
  355. package/dist/purchase/i18n/bn.js +413 -0
  356. package/dist/purchase/index.d.ts +5 -0
  357. package/dist/purchase/index.js +1280 -4
  358. package/dist/purchase/module.d.ts +7139 -398
  359. package/dist/purchase/module.js +295 -11
  360. package/dist/purchase/request.d.ts +696 -0
  361. package/dist/purchase/request.js +446 -0
  362. package/dist/purchase/tender.d.ts +1208 -0
  363. package/dist/purchase/tender.js +507 -0
  364. package/dist/purchase/vendorprice.d.ts +340 -0
  365. package/dist/purchase/vendorprice.js +153 -0
  366. package/dist/purchase_account/.kosh/bindings.js +1 -1
  367. package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
  368. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  369. package/dist/purchase_account/i18n/bn.js +22 -0
  370. package/dist/purchase_account/index.js +19 -0
  371. package/dist/purchase_account/module.d.ts +12276 -2247
  372. package/dist/purchase_account/module.js +241 -9
  373. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  374. package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
  375. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  376. package/dist/purchase_portal/i18n/bn.js +5 -0
  377. package/dist/purchase_portal/index.js +2 -0
  378. package/dist/purchase_portal/module.d.ts +6849 -353
  379. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  380. package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
  381. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  382. package/dist/purchase_stock/i18n/bn.js +19 -0
  383. package/dist/purchase_stock/index.d.ts +1 -1
  384. package/dist/purchase_stock/index.js +29 -0
  385. package/dist/purchase_stock/module.d.ts +12410 -1864
  386. package/dist/purchase_stock/module.js +81 -9
  387. package/dist/purchase_stock/scorecard.d.ts +22 -0
  388. package/dist/purchase_stock/scorecard.js +77 -0
  389. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  390. package/dist/purchase_stock/web/Scorecard.js +22 -0
  391. package/dist/purchase_stock/web/index.d.ts +11 -0
  392. package/dist/purchase_stock/web/index.js +16 -0
  393. package/dist/purchase_stock/web/messages.d.ts +2 -0
  394. package/dist/purchase_stock/web/messages.js +27 -0
  395. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  396. package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
  397. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  398. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  399. package/dist/purchase_stock_account/index.js +18 -0
  400. package/dist/purchase_stock_account/module.d.ts +7 -37995
  401. package/dist/purchase_stock_account/module.js +24 -3
  402. package/dist/recruitment/.kosh/bindings.js +1 -1
  403. package/dist/recruitment/.kosh/schema.d.ts +59 -1
  404. package/dist/recruitment/i18n/bn.d.ts +2 -0
  405. package/dist/recruitment/i18n/bn.js +93 -0
  406. package/dist/recruitment/index.js +64 -0
  407. package/dist/recruitment/module.d.ts +458 -8
  408. package/dist/recruitment/module.js +11 -3
  409. package/dist/reporting/documents.d.ts +5 -0
  410. package/dist/reporting/documents.js +11 -1
  411. package/dist/reporting/index.d.ts +1 -1
  412. package/dist/reporting/index.js +1 -1
  413. package/dist/reporting/web/CalendarView.d.ts +18 -5
  414. package/dist/reporting/web/CalendarView.js +163 -29
  415. package/dist/reporting/web/messages.js +18 -0
  416. package/dist/sale_account/.kosh/bindings.js +1 -1
  417. package/dist/sale_account/.kosh/schema.d.ts +642 -16
  418. package/dist/sale_account/i18n/bn.d.ts +2 -0
  419. package/dist/sale_account/i18n/bn.js +48 -0
  420. package/dist/sale_account/index.d.ts +1 -1
  421. package/dist/sale_account/index.js +102 -4
  422. package/dist/sale_account/module.d.ts +8254 -2212
  423. package/dist/sale_account/module.js +535 -46
  424. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_crm/.kosh/bindings.js +15 -0
  426. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
  427. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  428. package/dist/sale_crm/i18n/bn.js +9 -0
  429. package/dist/sale_crm/index.d.ts +7 -0
  430. package/dist/sale_crm/index.js +104 -0
  431. package/dist/sale_crm/module.d.ts +5609 -0
  432. package/dist/sale_crm/module.js +73 -0
  433. package/dist/sale_portal/.kosh/bindings.js +1 -1
  434. package/dist/sale_portal/.kosh/schema.d.ts +291 -4
  435. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  436. package/dist/sale_portal/i18n/bn.js +7 -0
  437. package/dist/sale_portal/index.js +10 -0
  438. package/dist/sale_portal/module.d.ts +2564 -294
  439. package/dist/sale_project/.kosh/bindings.js +1 -1
  440. package/dist/sale_project/.kosh/schema.d.ts +354 -5
  441. package/dist/sale_project/i18n/bn.d.ts +2 -0
  442. package/dist/sale_project/i18n/bn.js +12 -0
  443. package/dist/sale_project/index.js +2 -0
  444. package/dist/sale_project/module.d.ts +6249 -2402
  445. package/dist/sale_stock/.kosh/bindings.js +1 -1
  446. package/dist/sale_stock/.kosh/schema.d.ts +387 -5
  447. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  448. package/dist/sale_stock/i18n/bn.js +15 -0
  449. package/dist/sale_stock/index.js +2 -0
  450. package/dist/sale_stock/module.d.ts +8057 -1759
  451. package/dist/sale_stock/module.js +20 -3
  452. package/dist/sales/.kosh/bindings.js +1 -1
  453. package/dist/sales/.kosh/schema.d.ts +291 -4
  454. package/dist/sales/i18n/bn.d.ts +2 -0
  455. package/dist/sales/i18n/bn.js +128 -0
  456. package/dist/sales/index.js +120 -5
  457. package/dist/sales/module.d.ts +3567 -633
  458. package/dist/sales/module.js +306 -11
  459. package/dist/server/api/duplicate.d.ts +14 -0
  460. package/dist/server/api/duplicate.js +75 -0
  461. package/dist/server/api/explain.d.ts +70 -0
  462. package/dist/server/api/explain.js +111 -0
  463. package/dist/server/api/metadata.d.ts +2 -0
  464. package/dist/server/api/metadata.js +9 -0
  465. package/dist/server/api/openapi.js +15 -0
  466. package/dist/server/api/rest.d.ts +1 -0
  467. package/dist/server/api/rest.js +76 -12
  468. package/dist/server/api/views.js +1 -1
  469. package/dist/server/apps.d.ts +16 -1
  470. package/dist/server/apps.js +164 -2
  471. package/dist/server/auth/base.js +2 -0
  472. package/dist/server/auth/service.d.ts +8 -0
  473. package/dist/server/auth/service.js +19 -0
  474. package/dist/server/events.d.ts +13 -0
  475. package/dist/server/events.js +22 -0
  476. package/dist/server/i18n.d.ts +27 -0
  477. package/dist/server/i18n.js +143 -0
  478. package/dist/server/index.d.ts +2 -0
  479. package/dist/server/index.js +2 -0
  480. package/dist/server/server.js +6 -0
  481. package/dist/settings/company.d.ts +3 -1
  482. package/dist/settings/company.js +26 -5
  483. package/dist/settings/routes.d.ts +10 -0
  484. package/dist/settings/routes.js +19 -3
  485. package/dist/settings/web/AppsPage.d.ts +3 -2
  486. package/dist/settings/web/AppsPage.js +26 -8
  487. package/dist/settings/web/CompaniesPage.js +91 -6
  488. package/dist/settings/web/messages.js +64 -0
  489. package/dist/sign/.kosh/bindings.js +1 -1
  490. package/dist/sign/.kosh/schema.d.ts +2 -1
  491. package/dist/sign/i18n/bn.d.ts +2 -0
  492. package/dist/sign/i18n/bn.js +97 -0
  493. package/dist/sign/index.d.ts +15 -0
  494. package/dist/sign/index.js +129 -1
  495. package/dist/sign/module.d.ts +40 -0
  496. package/dist/sign/module.js +11 -2
  497. package/dist/stock/.kosh/bindings.js +1 -1
  498. package/dist/stock/.kosh/schema.d.ts +298 -2
  499. package/dist/stock/i18n/bn.d.ts +2 -0
  500. package/dist/stock/i18n/bn.js +311 -0
  501. package/dist/stock/index.d.ts +3 -1
  502. package/dist/stock/index.js +442 -3
  503. package/dist/stock/ledger.d.ts +78 -0
  504. package/dist/stock/ledger.js +582 -0
  505. package/dist/stock/module.d.ts +5280 -2044
  506. package/dist/stock/module.js +222 -23
  507. package/dist/stock/replenish.js +16 -1
  508. package/dist/stock/returns.d.ts +157 -0
  509. package/dist/stock/returns.js +163 -0
  510. package/dist/stock/web/Ledger.d.ts +9 -0
  511. package/dist/stock/web/Ledger.js +108 -0
  512. package/dist/stock/web/Operations.d.ts +8 -0
  513. package/dist/stock/web/Operations.js +33 -0
  514. package/dist/stock/web/ReturnButton.d.ts +7 -0
  515. package/dist/stock/web/ReturnButton.js +62 -0
  516. package/dist/stock/web/index.d.ts +3 -0
  517. package/dist/stock/web/index.js +9 -0
  518. package/dist/stock/web/messages.js +154 -0
  519. package/dist/stock_account/.kosh/bindings.js +1 -1
  520. package/dist/stock_account/.kosh/schema.d.ts +682 -9
  521. package/dist/stock_account/i18n/bn.d.ts +2 -0
  522. package/dist/stock_account/i18n/bn.js +73 -0
  523. package/dist/stock_account/index.d.ts +1 -0
  524. package/dist/stock_account/index.js +131 -3
  525. package/dist/stock_account/landed.d.ts +429 -0
  526. package/dist/stock_account/landed.js +335 -0
  527. package/dist/stock_account/module.d.ts +11247 -3363
  528. package/dist/stock_account/module.js +135 -6
  529. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  530. package/dist/stock_account/web/LandedPreview.js +23 -0
  531. package/dist/stock_account/web/index.d.ts +11 -0
  532. package/dist/stock_account/web/index.js +16 -0
  533. package/dist/stock_account/web/messages.d.ts +2 -0
  534. package/dist/stock_account/web/messages.js +27 -0
  535. package/dist/todo/i18n/bn.d.ts +2 -0
  536. package/dist/todo/i18n/bn.js +66 -0
  537. package/dist/todo/index.js +59 -0
  538. package/dist/todo/module.d.ts +5 -0
  539. package/dist/todo/module.js +5 -3
  540. package/dist/trade_finance/.kosh/bindings.js +1 -1
  541. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  542. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  543. package/dist/trade_finance/i18n/bn.js +162 -0
  544. package/dist/trade_finance/index.js +93 -0
  545. package/dist/trade_finance/module.d.ts +26 -0
  546. package/dist/trade_finance/module.js +27 -8
  547. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  548. package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
  549. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  550. package/dist/trade_finance_account/i18n/bn.js +27 -0
  551. package/dist/trade_finance_account/index.js +2 -0
  552. package/dist/trade_finance_account/module.d.ts +4906 -1432
  553. package/dist/trade_finance_account/module.js +1 -0
  554. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  555. package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
  556. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  557. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  558. package/dist/trade_finance_purchase/index.js +2 -0
  559. package/dist/trade_finance_purchase/module.d.ts +6909 -413
  560. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  561. package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
  562. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  563. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  564. package/dist/trade_finance_sale/index.js +2 -0
  565. package/dist/trade_finance_sale/module.d.ts +2601 -331
  566. package/dist/ui/api.d.ts +2 -0
  567. package/dist/ui/app.d.ts +9 -0
  568. package/dist/ui/app.js +24 -4
  569. package/dist/ui/components/AppIcon.js +2 -2
  570. package/dist/ui/components/Explain.d.ts +69 -0
  571. package/dist/ui/components/Explain.js +62 -0
  572. package/dist/ui/context.d.ts +8 -1
  573. package/dist/ui/context.js +34 -1
  574. package/dist/ui/i18n/messages.d.ts +36 -0
  575. package/dist/ui/i18n/messages.js +72 -0
  576. package/dist/ui/index.d.ts +2 -1
  577. package/dist/ui/index.js +1 -0
  578. package/dist/ui/registry.d.ts +14 -0
  579. package/dist/ui/registry.js +10 -0
  580. package/dist/ui/views/FormView.d.ts +6 -0
  581. package/dist/ui/views/FormView.js +47 -10
  582. package/dist/ui/views/ListView.d.ts +8 -0
  583. package/dist/ui/views/ListView.js +10 -3
  584. package/dist/ui/views/StatsRow.js +2 -1
  585. package/dist/views/extend.js +12 -0
  586. package/dist/views/types.d.ts +13 -2
  587. package/dist/views/validate.js +8 -1
  588. package/dist/website/.kosh/bindings.js +1 -1
  589. package/dist/website/.kosh/schema.d.ts +2 -1
  590. package/dist/website/i18n/bn.d.ts +2 -0
  591. package/dist/website/i18n/bn.js +113 -0
  592. package/dist/website/index.js +36 -0
  593. package/dist/website/module.d.ts +20 -0
  594. package/dist/website/module.js +29 -5
  595. package/dist/website_crm/.kosh/bindings.js +1 -1
  596. package/dist/website_crm/.kosh/schema.d.ts +2 -1
  597. package/dist/website_crm/i18n/bn.d.ts +2 -0
  598. package/dist/website_crm/i18n/bn.js +5 -0
  599. package/dist/website_crm/index.js +2 -0
  600. package/dist/website_crm/module.d.ts +40 -0
  601. package/dist/website_sale/.kosh/bindings.js +1 -1
  602. package/dist/website_sale/.kosh/schema.d.ts +642 -17
  603. package/dist/website_sale/i18n/bn.d.ts +2 -0
  604. package/dist/website_sale/i18n/bn.js +132 -0
  605. package/dist/website_sale/index.js +83 -1
  606. package/dist/website_sale/module.d.ts +18705 -5550
  607. package/dist/website_sale/module.js +32 -10
  608. package/dist/website_sale/shop.js +22 -9
  609. package/dist/website_sale_stock/.kosh/bindings.js +1 -1
  610. package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
  611. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  612. package/dist/website_sale_stock/i18n/bn.js +4 -0
  613. package/dist/website_sale_stock/index.js +2 -0
  614. package/dist/website_sale_stock/module.d.ts +10 -24997
  615. package/dist/website_sale_stock/module.js +7 -3
  616. package/package.json +36 -8
  617. package/dist/mrp/index.d.ts +0 -3
  618. package/dist/mrp/index.js +0 -393
  619. package/dist/mrp/module.js +0 -757
  620. package/dist/mrp_account/index.d.ts +0 -3
  621. package/dist/mrp_account/index.js +0 -22
  622. /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
  623. /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: f86805a61571d3a0
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: aeccf8804fe56195
2
2
  // Schema view of module `sale_account` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -6,7 +6,15 @@ import type { F } from '../../server/orm.js';
6
6
  export interface SchemaView {
7
7
  readonly 'account.account': AccountAccount;
8
8
  readonly 'account.analytic': AccountAnalytic;
9
+ readonly 'account.bank.statement': AccountBankStatement;
10
+ readonly 'account.bank.statement.line': AccountBankStatementLine;
11
+ readonly 'account.fiscal.position': AccountFiscalPosition;
12
+ readonly 'account.fiscal.position.account': AccountFiscalPositionAccount;
13
+ readonly 'account.fiscal.position.tax': AccountFiscalPositionTax;
9
14
  readonly 'account.fiscal.year': AccountFiscalYear;
15
+ readonly 'account.followup': AccountFollowup;
16
+ readonly 'account.followup.level': AccountFollowupLevel;
17
+ readonly 'account.followup.sent': AccountFollowupSent;
10
18
  readonly 'account.full.reconcile': AccountFullReconcile;
11
19
  readonly 'account.journal': AccountJournal;
12
20
  readonly 'account.move': AccountMove;
@@ -16,10 +24,12 @@ export interface SchemaView {
16
24
  readonly 'account.payment.term': AccountPaymentTerm;
17
25
  readonly 'account.payment.term.line': AccountPaymentTermLine;
18
26
  readonly 'account.payment.withholding': AccountPaymentWithholding;
27
+ readonly 'account.reconcile.rule': AccountReconcileRule;
19
28
  readonly 'account.tax': AccountTax;
20
29
  readonly 'account.tax.component': AccountTaxComponent;
21
30
  readonly 'account.withholding': AccountWithholding;
22
31
  readonly 'approval.delegation': ApprovalDelegation;
32
+ readonly 'approval.event': ApprovalEvent;
23
33
  readonly 'approval.level': ApprovalLevel;
24
34
  readonly 'approval.link': ApprovalLink;
25
35
  readonly 'approval.policy': ApprovalPolicy;
@@ -46,8 +56,15 @@ export interface SchemaView {
46
56
  readonly 'oauth.code': OauthCode;
47
57
  readonly 'oauth.grant': OauthGrant;
48
58
  readonly 'oauth.token': OauthToken;
59
+ readonly 'product.attribute': ProductAttribute;
60
+ readonly 'product.attribute.value': ProductAttributeValue;
49
61
  readonly 'product.category': ProductCategory;
62
+ readonly 'product.pricelist': ProductPricelist;
63
+ readonly 'product.pricelist.rule': ProductPricelistRule;
50
64
  readonly 'product.product': ProductProduct;
65
+ readonly 'product.template': ProductTemplate;
66
+ readonly 'product.template.exclusion': ProductTemplateExclusion;
67
+ readonly 'product.template.line': ProductTemplateLine;
51
68
  readonly 'report.dashboard': ReportDashboard;
52
69
  readonly 'report.output': ReportOutput;
53
70
  readonly 'report.schedule': ReportSchedule;
@@ -59,9 +76,13 @@ export interface SchemaView {
59
76
  readonly 'res.currency.rate': ResCurrencyRate;
60
77
  readonly 'res.partner': ResPartner;
61
78
  readonly 'res.partner.tag': ResPartnerTag;
79
+ readonly 'res.segment': ResSegment;
62
80
  readonly 'res.users': ResUsers;
63
81
  readonly 'sale.order': SaleOrder;
64
82
  readonly 'sale.order.line': SaleOrderLine;
83
+ readonly 'sale.order.option': SaleOrderOption;
84
+ readonly 'sale.order.template': SaleOrderTemplate;
85
+ readonly 'sale.order.template.line': SaleOrderTemplateLine;
65
86
  readonly 'storage.attachment': StorageAttachment;
66
87
  readonly 'uom.uom': UomUom;
67
88
  }
@@ -116,6 +137,134 @@ export interface AccountAnalytic {
116
137
  export interface AccountAnalyticMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.analytic'> {
117
138
  }
118
139
 
140
+ /** `account.bank.statement` (owner: accounting). */
141
+ export interface AccountBankStatement {
142
+ readonly name: 'account.bank.statement';
143
+ readonly fields: {
144
+ readonly id: F.Id<'account.bank.statement'>;
145
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
146
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
147
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
148
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
149
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
150
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
151
+ readonly name: F.Char<{ readonly required: true }>;
152
+ readonly journal: F.Many2one<'account.journal', { readonly required: true }>;
153
+ readonly date: F.DateOnly<{ readonly required: true }>;
154
+ readonly balanceStart: F.Decimal<{ readonly default: true }>;
155
+ readonly balanceEnd: F.Decimal<{ readonly default: true }>;
156
+ readonly lines: F.One2many<'account.bank.statement.line', { readonly required: true }>;
157
+ readonly state: F.State<'open' | 'done', { readonly required: true; readonly readonly: true; readonly default: true }>;
158
+ };
159
+ readonly methods: AccountBankStatementMethods;
160
+ }
161
+
162
+ /** Methods of `account.bank.statement`: declared ones and transitions. */
163
+ export interface AccountBankStatementMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement'> {
164
+ readonly 'close': () => Promise<void>;
165
+ readonly 'reopen': () => Promise<void>;
166
+ }
167
+
168
+ /** `account.bank.statement.line` (owner: accounting). */
169
+ export interface AccountBankStatementLine {
170
+ readonly name: 'account.bank.statement.line';
171
+ readonly fields: {
172
+ readonly id: F.Id<'account.bank.statement.line'>;
173
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
174
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
175
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
176
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
177
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
178
+ readonly statement: F.Many2one<'account.bank.statement', { readonly required: true }>;
179
+ readonly date: F.DateOnly<{ readonly required: true }>;
180
+ readonly label: F.Char<{ readonly required: true }>;
181
+ readonly reference: F.Char;
182
+ readonly partner: F.Many2one<'res.partner'>;
183
+ readonly amount: F.Decimal<{ readonly required: true }>;
184
+ readonly uniqueKey: F.Char;
185
+ readonly payment: F.Many2one<'account.payment'>;
186
+ readonly move: F.Many2one<'account.move'>;
187
+ readonly rule: F.Many2one<'account.reconcile.rule'>;
188
+ readonly state: F.Selection<'open' | 'matched', { readonly required: true; readonly default: true }>;
189
+ };
190
+ readonly methods: AccountBankStatementLineMethods;
191
+ }
192
+
193
+ /** Methods of `account.bank.statement.line`: declared ones and transitions. */
194
+ export interface AccountBankStatementLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement.line'> {
195
+ }
196
+
197
+ /** `account.fiscal.position` (owner: accounting). */
198
+ export interface AccountFiscalPosition {
199
+ readonly name: 'account.fiscal.position';
200
+ readonly fields: {
201
+ readonly id: F.Id<'account.fiscal.position'>;
202
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
203
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
204
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
205
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
206
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
207
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
208
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
209
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
210
+ readonly sequence: F.Integer<{ readonly default: true }>;
211
+ readonly autoApply: F.Bool<{ readonly required: true; readonly default: true }>;
212
+ readonly countries: F.Char;
213
+ readonly states: F.Char;
214
+ readonly vatRequired: F.Selection<'any' | 'with' | 'without', { readonly required: true; readonly default: true }>;
215
+ readonly note: F.Text<{ readonly translate: true }>;
216
+ readonly taxes: F.One2many<'account.fiscal.position.tax', { readonly required: true }>;
217
+ readonly accounts: F.One2many<'account.fiscal.position.account', { readonly required: true }>;
218
+ };
219
+ readonly methods: AccountFiscalPositionMethods;
220
+ }
221
+
222
+ /** Methods of `account.fiscal.position`: declared ones and transitions. */
223
+ export interface AccountFiscalPositionMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position'> {
224
+ }
225
+
226
+ /** `account.fiscal.position.account` (owner: accounting). */
227
+ export interface AccountFiscalPositionAccount {
228
+ readonly name: 'account.fiscal.position.account';
229
+ readonly fields: {
230
+ readonly id: F.Id<'account.fiscal.position.account'>;
231
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
232
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
233
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
234
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
235
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
236
+ readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
237
+ readonly accountSrc: F.Many2one<'account.account', { readonly required: true }>;
238
+ readonly accountDest: F.Many2one<'account.account', { readonly required: true }>;
239
+ };
240
+ readonly methods: AccountFiscalPositionAccountMethods;
241
+ }
242
+
243
+ /** Methods of `account.fiscal.position.account`: declared ones and transitions. */
244
+ export interface AccountFiscalPositionAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.account'> {
245
+ }
246
+
247
+ /** `account.fiscal.position.tax` (owner: accounting). */
248
+ export interface AccountFiscalPositionTax {
249
+ readonly name: 'account.fiscal.position.tax';
250
+ readonly fields: {
251
+ readonly id: F.Id<'account.fiscal.position.tax'>;
252
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
253
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
254
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
255
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
256
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
257
+ readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
258
+ readonly taxSrc: F.Many2one<'account.tax', { readonly required: true }>;
259
+ readonly taxDest: F.Many2one<'account.tax'>;
260
+ };
261
+ readonly methods: AccountFiscalPositionTaxMethods;
262
+ }
263
+
264
+ /** Methods of `account.fiscal.position.tax`: declared ones and transitions. */
265
+ export interface AccountFiscalPositionTaxMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.tax'> {
266
+ }
267
+
119
268
  /** `account.fiscal.year` (owner: accounting). */
120
269
  export interface AccountFiscalYear {
121
270
  readonly name: 'account.fiscal.year';
@@ -142,6 +291,84 @@ export interface AccountFiscalYear {
142
291
  export interface AccountFiscalYearMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.year'> {
143
292
  }
144
293
 
294
+ /** `account.followup` (owner: accounting). */
295
+ export interface AccountFollowup {
296
+ readonly name: 'account.followup';
297
+ readonly fields: {
298
+ readonly id: F.Id<'account.followup'>;
299
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
300
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
301
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
302
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
303
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
304
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
305
+ readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
306
+ readonly level: F.Many2one<'account.followup.level'>;
307
+ readonly sentAt: F.Datetime;
308
+ readonly pausedUntil: F.DateOnly;
309
+ readonly pauseNote: F.Char;
310
+ };
311
+ readonly methods: AccountFollowupMethods;
312
+ }
313
+
314
+ /** Methods of `account.followup`: declared ones and transitions. */
315
+ export interface AccountFollowupMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup'> {
316
+ }
317
+
318
+ /** `account.followup.level` (owner: accounting). */
319
+ export interface AccountFollowupLevel {
320
+ readonly name: 'account.followup.level';
321
+ readonly fields: {
322
+ readonly id: F.Id<'account.followup.level'>;
323
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
324
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
325
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
326
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
327
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
328
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
329
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
330
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
331
+ readonly days: F.Integer<{ readonly required: true; readonly default: true }>;
332
+ readonly sendEmail: F.Bool<{ readonly required: true; readonly default: true }>;
333
+ readonly sendSms: F.Bool<{ readonly required: true; readonly default: true }>;
334
+ readonly sendWhatsapp: F.Bool<{ readonly required: true; readonly default: true }>;
335
+ readonly subject: F.Char<{ readonly required: true; readonly translate: true }>;
336
+ readonly body: F.Text<{ readonly required: true; readonly translate: true }>;
337
+ readonly shortText: F.Char<{ readonly translate: true }>;
338
+ readonly blockSales: F.Bool<{ readonly required: true; readonly default: true }>;
339
+ };
340
+ readonly methods: AccountFollowupLevelMethods;
341
+ }
342
+
343
+ /** Methods of `account.followup.level`: declared ones and transitions. */
344
+ export interface AccountFollowupLevelMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.level'> {
345
+ }
346
+
347
+ /** `account.followup.sent` (owner: accounting). */
348
+ export interface AccountFollowupSent {
349
+ readonly name: 'account.followup.sent';
350
+ readonly fields: {
351
+ readonly id: F.Id<'account.followup.sent'>;
352
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
353
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
354
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
355
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
356
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
357
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
358
+ readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
359
+ readonly level: F.Many2one<'account.followup.level'>;
360
+ readonly amount: F.Char;
361
+ readonly invoices: F.Many2many<'account.move', { readonly required: true }>;
362
+ readonly channels: F.Char;
363
+ readonly automatic: F.Bool<{ readonly required: true; readonly default: true }>;
364
+ };
365
+ readonly methods: AccountFollowupSentMethods;
366
+ }
367
+
368
+ /** Methods of `account.followup.sent`: declared ones and transitions. */
369
+ export interface AccountFollowupSentMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.sent'> {
370
+ }
371
+
145
372
  /** `account.full.reconcile` (owner: accounting). */
146
373
  export interface AccountFullReconcile {
147
374
  readonly name: 'account.full.reconcile';
@@ -179,6 +406,8 @@ export interface AccountJournal {
179
406
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
180
407
  readonly type: F.Selection<'sale' | 'purchase' | 'cash' | 'bank' | 'general', { readonly required: true; readonly default: true }>;
181
408
  readonly defaultAccount: F.Many2one<'account.account'>;
409
+ readonly bankFeed: F.Char;
410
+ readonly bankFeedCursor: F.Char;
182
411
  };
183
412
  readonly methods: AccountJournalMethods;
184
413
  }
@@ -220,6 +449,7 @@ export interface AccountMove {
220
449
  readonly dateDue: F.DateOnly;
221
450
  readonly paymentDetails: F.Text<{ readonly readonly: true; readonly compute: true }>;
222
451
  readonly paymentTerm: F.Many2one<'account.payment.term'>;
452
+ readonly fiscalPosition: F.Many2one<'account.fiscal.position'>;
223
453
  readonly invoiceOrigin: F.Char;
224
454
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
225
455
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -248,7 +478,7 @@ export interface AccountMoveMethods extends F.Methods<typeof import('../../accou
248
478
  readonly 'submit': () => Promise<void>;
249
479
  }
250
480
 
251
- /** `account.move.line` (owner: accounting). */
481
+ /** `account.move.line` (owner: accounting; extended by: sale_account). */
252
482
  export interface AccountMoveLine {
253
483
  readonly name: 'account.move.line';
254
484
  readonly fields: {
@@ -294,12 +524,14 @@ export interface AccountMoveLine {
294
524
  readonly amountResidual: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
295
525
  readonly amountResidualCurrency: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
296
526
  readonly reconciled: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
527
+ readonly saleLine: F.Many2one<'sale.order.line'>; // sale_account
528
+ readonly downPaymentOf: F.Many2one<'sale.order'>; // sale_account
297
529
  };
298
530
  readonly methods: AccountMoveLineMethods;
299
531
  }
300
532
 
301
533
  /** Methods of `account.move.line`: declared ones and transitions. */
302
- export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'> {
534
+ export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'account.move.line'> {
303
535
  }
304
536
 
305
537
  /** `account.partial.reconcile` (owner: accounting). */
@@ -428,6 +660,38 @@ export interface AccountPaymentWithholding {
428
660
  export interface AccountPaymentWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.payment.withholding'> {
429
661
  }
430
662
 
663
+ /** `account.reconcile.rule` (owner: accounting). */
664
+ export interface AccountReconcileRule {
665
+ readonly name: 'account.reconcile.rule';
666
+ readonly fields: {
667
+ readonly id: F.Id<'account.reconcile.rule'>;
668
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
669
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
670
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
671
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
672
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
673
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
674
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
675
+ readonly name: F.Char<{ readonly required: true }>;
676
+ readonly sequence: F.Integer<{ readonly default: true }>;
677
+ readonly journals: F.Many2many<'account.journal', { readonly required: true }>;
678
+ readonly labelContains: F.Char;
679
+ readonly direction: F.Selection<'both' | 'in' | 'out', { readonly required: true; readonly default: true }>;
680
+ readonly amountMin: F.Decimal;
681
+ readonly amountMax: F.Decimal;
682
+ readonly partner: F.Many2one<'res.partner'>;
683
+ readonly outcome: F.Selection<'match' | 'write_off' | 'suggest', { readonly required: true; readonly default: true }>;
684
+ readonly writeOffAccount: F.Many2one<'account.account'>;
685
+ readonly writeOffLabel: F.Char;
686
+ readonly hits: F.Integer<{ readonly default: true }>;
687
+ };
688
+ readonly methods: AccountReconcileRuleMethods;
689
+ }
690
+
691
+ /** Methods of `account.reconcile.rule`: declared ones and transitions. */
692
+ export interface AccountReconcileRuleMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.reconcile.rule'> {
693
+ }
694
+
431
695
  /** `account.tax` (owner: product; extended by: accounting). */
432
696
  export interface AccountTax {
433
697
  readonly name: 'account.tax';
@@ -537,6 +801,29 @@ export interface ApprovalDelegation {
537
801
  export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
538
802
  }
539
803
 
804
+ /** `approval.event` (owner: permissions). */
805
+ export interface ApprovalEvent {
806
+ readonly name: 'approval.event';
807
+ readonly fields: {
808
+ readonly id: F.Id<'approval.event'>;
809
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
810
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
811
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
812
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
813
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
814
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
815
+ readonly at: F.Datetime<{ readonly required: true }>;
816
+ readonly user: F.Many2one<'res.users'>;
817
+ readonly kind: F.Selection<'created' | 'started' | 'voted' | 'approved' | 'rejected' | 'sent_back' | 'cancelled' | 'skipped' | 'reminded' | 'escalated' | 'auto' | 'reassigned' | 'synced' | 'notified', { readonly required: true }>;
818
+ readonly note: F.Text;
819
+ };
820
+ readonly methods: ApprovalEventMethods;
821
+ }
822
+
823
+ /** Methods of `approval.event`: declared ones and transitions. */
824
+ export interface ApprovalEventMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.event'> {
825
+ }
826
+
540
827
  /** `approval.level` (owner: permissions). */
541
828
  export interface ApprovalLevel {
542
829
  readonly name: 'approval.level';
@@ -551,7 +838,9 @@ export interface ApprovalLevel {
551
838
  readonly sequence: F.Integer<{ readonly default: true }>;
552
839
  readonly name: F.Char<{ readonly required: true }>;
553
840
  readonly condition: F.Json;
554
- readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
841
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'department_head' | 'department_approvers' | 'employee' | 'field' | 'record', { readonly required: true; readonly default: true }>;
842
+ readonly extraUsers: F.Many2many<'res.users', { readonly required: true }>;
843
+ readonly backupUsers: F.Many2many<'res.users', { readonly required: true }>;
555
844
  readonly approverRole: F.Char;
556
845
  readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
557
846
  readonly approverField: F.Char;
@@ -605,11 +894,18 @@ export interface ApprovalPolicy {
605
894
  readonly targetModel: F.Char<{ readonly required: true }>;
606
895
  readonly sequence: F.Integer<{ readonly default: true }>;
607
896
  readonly company: F.Many2one<'res.company'>;
897
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
898
+ readonly segment: F.Many2one<'res.segment'>;
608
899
  readonly onApproved: F.Char;
609
900
  readonly onRejected: F.Char;
610
901
  readonly onSentBack: F.Char;
611
902
  readonly onWithdrawn: F.Char;
612
903
  readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
904
+ readonly condition: F.Json;
905
+ readonly whenNobody: F.Selection<'refuse' | 'admins' | 'skip', { readonly required: true; readonly default: true }>;
906
+ readonly skipDuplicates: F.Bool<{ readonly required: true; readonly default: true }>;
907
+ readonly syncPending: F.Selection<'off' | 'add' | 'replace', { readonly required: true; readonly default: true }>;
908
+ readonly notifyOnSync: F.Bool<{ readonly required: true; readonly default: true }>;
613
909
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
614
910
  };
615
911
  readonly methods: ApprovalPolicyMethods;
@@ -638,6 +934,7 @@ export interface ApprovalRequest {
638
934
  readonly company: F.Many2one<'res.company'>;
639
935
  readonly approverRole: F.Char;
640
936
  readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
937
+ readonly backups: F.Many2many<'res.users', { readonly required: true }>;
641
938
  readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
642
939
  readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
643
940
  readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
@@ -645,6 +942,8 @@ export interface ApprovalRequest {
645
942
  readonly remindedAt: F.Datetime;
646
943
  readonly escalatedTo: F.Char;
647
944
  readonly escalatedAt: F.Datetime;
945
+ readonly startedAt: F.Datetime;
946
+ readonly explanation: F.Text;
648
947
  readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
649
948
  readonly requestedBy: F.Many2one<'res.users'>;
650
949
  readonly decidedBy: F.Many2one<'res.users'>;
@@ -675,6 +974,8 @@ export interface ApprovalVote {
675
974
  readonly at: F.Datetime<{ readonly required: true }>;
676
975
  readonly onBehalfOf: F.Many2one<'res.users'>;
677
976
  readonly ip: F.Char;
977
+ readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
978
+ readonly asBackup: F.Bool<{ readonly required: true; readonly default: true }>;
678
979
  };
679
980
  readonly methods: ApprovalVoteMethods;
680
981
  }
@@ -1196,7 +1497,54 @@ export interface OauthToken {
1196
1497
  export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
1197
1498
  }
1198
1499
 
1199
- /** `product.category` (owner: product). */
1500
+ /** `product.attribute` (owner: product). */
1501
+ export interface ProductAttribute {
1502
+ readonly name: 'product.attribute';
1503
+ readonly fields: {
1504
+ readonly id: F.Id<'product.attribute'>;
1505
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1506
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1507
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1508
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1509
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1510
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1511
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1512
+ readonly display: F.Selection<'list' | 'radio' | 'swatch' | 'size', { readonly required: true; readonly default: true }>;
1513
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1514
+ readonly values: F.One2many<'product.attribute.value', { readonly required: true }>;
1515
+ };
1516
+ readonly methods: ProductAttributeMethods;
1517
+ }
1518
+
1519
+ /** Methods of `product.attribute`: declared ones and transitions. */
1520
+ export interface ProductAttributeMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute'> {
1521
+ }
1522
+
1523
+ /** `product.attribute.value` (owner: product). */
1524
+ export interface ProductAttributeValue {
1525
+ readonly name: 'product.attribute.value';
1526
+ readonly fields: {
1527
+ readonly id: F.Id<'product.attribute.value'>;
1528
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1529
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1530
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1531
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1532
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1533
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1534
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1535
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1536
+ readonly color: F.Char;
1537
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1538
+ readonly extraPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1539
+ };
1540
+ readonly methods: ProductAttributeValueMethods;
1541
+ }
1542
+
1543
+ /** Methods of `product.attribute.value`: declared ones and transitions. */
1544
+ export interface ProductAttributeValueMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute.value'> {
1545
+ }
1546
+
1547
+ /** `product.category` (owner: product; extended by: accounting). */
1200
1548
  export interface ProductCategory {
1201
1549
  readonly name: 'product.category';
1202
1550
  readonly fields: {
@@ -1209,15 +1557,78 @@ export interface ProductCategory {
1209
1557
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1210
1558
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1211
1559
  readonly parent: F.Many2one<'product.category'>;
1560
+ readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
1561
+ readonly incomeAccount: F.Many2one<'account.account'>; // accounting
1562
+ readonly expenseAccount: F.Many2one<'account.account'>; // accounting
1212
1563
  };
1213
1564
  readonly methods: ProductCategoryMethods;
1214
1565
  }
1215
1566
 
1216
1567
  /** Methods of `product.category`: declared ones and transitions. */
1217
- export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
1568
+ export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.category'> {
1218
1569
  }
1219
1570
 
1220
- /** `product.product` (owner: product). */
1571
+ /** `product.pricelist` (owner: product). */
1572
+ export interface ProductPricelist {
1573
+ readonly name: 'product.pricelist';
1574
+ readonly fields: {
1575
+ readonly id: F.Id<'product.pricelist'>;
1576
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1577
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1578
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1579
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1580
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1581
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1582
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1583
+ readonly sequence: F.Integer<{ readonly default: true }>;
1584
+ readonly currency: F.Many2one<'res.currency'>;
1585
+ readonly company: F.Many2one<'res.company'>;
1586
+ readonly rules: F.One2many<'product.pricelist.rule', { readonly required: true }>;
1587
+ readonly note: F.Text;
1588
+ };
1589
+ readonly methods: ProductPricelistMethods;
1590
+ }
1591
+
1592
+ /** Methods of `product.pricelist`: declared ones and transitions. */
1593
+ export interface ProductPricelistMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist'> {
1594
+ }
1595
+
1596
+ /** `product.pricelist.rule` (owner: product). */
1597
+ export interface ProductPricelistRule {
1598
+ readonly name: 'product.pricelist.rule';
1599
+ readonly fields: {
1600
+ readonly id: F.Id<'product.pricelist.rule'>;
1601
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1602
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1603
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1604
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1605
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1606
+ readonly pricelist: F.Many2one<'product.pricelist', { readonly required: true }>;
1607
+ readonly sequence: F.Integer<{ readonly default: true }>;
1608
+ readonly appliesTo: F.Selection<'all' | 'category' | 'product', { readonly required: true; readonly default: true }>;
1609
+ readonly product: F.Many2one<'product.product'>;
1610
+ readonly category: F.Many2one<'product.category'>;
1611
+ readonly minQuantity: F.Decimal<{ readonly default: true }>;
1612
+ readonly dateFrom: F.DateOnly;
1613
+ readonly dateTo: F.DateOnly;
1614
+ readonly compute: F.Selection<'fixed' | 'discount' | 'formula', { readonly required: true; readonly default: true }>;
1615
+ readonly fixedPrice: F.Decimal;
1616
+ readonly base: F.Selection<'list' | 'cost' | 'pricelist', { readonly required: true; readonly default: true }>;
1617
+ readonly basePricelist: F.Many2one<'product.pricelist'>;
1618
+ readonly discount: F.Decimal<{ readonly default: true }>;
1619
+ readonly surcharge: F.Decimal<{ readonly default: true }>;
1620
+ readonly rounding: F.Decimal<{ readonly default: true }>;
1621
+ readonly minMargin: F.Decimal;
1622
+ readonly maxMargin: F.Decimal;
1623
+ };
1624
+ readonly methods: ProductPricelistRuleMethods;
1625
+ }
1626
+
1627
+ /** Methods of `product.pricelist.rule`: declared ones and transitions. */
1628
+ export interface ProductPricelistRuleMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist.rule'> {
1629
+ }
1630
+
1631
+ /** `product.product` (owner: product; extended by: accounting). */
1221
1632
  export interface ProductProduct {
1222
1633
  readonly name: 'product.product';
1223
1634
  readonly fields: {
@@ -1232,8 +1643,11 @@ export interface ProductProduct {
1232
1643
  readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
1233
1644
  readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1234
1645
  readonly category: F.Many2one<'product.category'>;
1646
+ readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
1235
1647
  readonly uom: F.Many2one<'uom.uom'>;
1236
1648
  readonly barcode: F.Char;
1649
+ readonly weight: F.Decimal;
1650
+ readonly volume: F.Decimal;
1237
1651
  readonly image: F.Many2one<'storage.attachment'>;
1238
1652
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1239
1653
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
@@ -1244,12 +1658,97 @@ export interface ProductProduct {
1244
1658
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
1245
1659
  readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
1246
1660
  readonly description: F.Text<{ readonly translate: true }>;
1661
+ readonly template: F.Many2one<'product.template'>;
1662
+ readonly attributeValues: F.Many2many<'product.attribute.value', { readonly required: true }>;
1663
+ readonly followsTemplatePrice: F.Bool<{ readonly required: true; readonly default: true }>;
1664
+ readonly incomeAccount: F.Many2one<'account.account'>; // accounting
1665
+ readonly expenseAccount: F.Many2one<'account.account'>; // accounting
1247
1666
  };
1248
1667
  readonly methods: ProductProductMethods;
1249
1668
  }
1250
1669
 
1251
1670
  /** Methods of `product.product`: declared ones and transitions. */
1252
- export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'> {
1671
+ export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.product'> {
1672
+ }
1673
+
1674
+ /** `product.template` (owner: product). */
1675
+ export interface ProductTemplate {
1676
+ readonly name: 'product.template';
1677
+ readonly fields: {
1678
+ readonly id: F.Id<'product.template'>;
1679
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1680
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1681
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1682
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1683
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1684
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1685
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1686
+ readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
1687
+ readonly category: F.Many2one<'product.category'>;
1688
+ readonly uom: F.Many2one<'uom.uom'>;
1689
+ readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1690
+ readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1691
+ readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
1692
+ readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
1693
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1694
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
1695
+ readonly image: F.Many2one<'storage.attachment'>;
1696
+ readonly description: F.Text<{ readonly translate: true }>;
1697
+ readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
1698
+ readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
1699
+ readonly variants: F.One2many<'product.product', { readonly required: true }>;
1700
+ readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1701
+ readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
1702
+ };
1703
+ readonly methods: ProductTemplateMethods;
1704
+ }
1705
+
1706
+ /** Methods of `product.template`: declared ones and transitions. */
1707
+ export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
1708
+ readonly 'generate': () => Promise<void>;
1709
+ }
1710
+
1711
+ /** `product.template.exclusion` (owner: product). */
1712
+ export interface ProductTemplateExclusion {
1713
+ readonly name: 'product.template.exclusion';
1714
+ readonly fields: {
1715
+ readonly id: F.Id<'product.template.exclusion'>;
1716
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1717
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1718
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1719
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1720
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1721
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1722
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1723
+ readonly note: F.Char;
1724
+ };
1725
+ readonly methods: ProductTemplateExclusionMethods;
1726
+ }
1727
+
1728
+ /** Methods of `product.template.exclusion`: declared ones and transitions. */
1729
+ export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
1730
+ }
1731
+
1732
+ /** `product.template.line` (owner: product). */
1733
+ export interface ProductTemplateLine {
1734
+ readonly name: 'product.template.line';
1735
+ readonly fields: {
1736
+ readonly id: F.Id<'product.template.line'>;
1737
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1738
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1739
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1740
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1741
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1742
+ readonly template: F.Many2one<'product.template', { readonly required: true }>;
1743
+ readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
1744
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1745
+ readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
1746
+ };
1747
+ readonly methods: ProductTemplateLineMethods;
1748
+ }
1749
+
1750
+ /** Methods of `product.template.line`: declared ones and transitions. */
1751
+ export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
1253
1752
  }
1254
1753
 
1255
1754
  /** `report.dashboard` (owner: reporting). */
@@ -1406,7 +1905,7 @@ export interface ResBankAccount {
1406
1905
  export interface ResBankAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.bank.account'> {
1407
1906
  }
1408
1907
 
1409
- /** `res.company` (owner: base; extended by: contacts, accounting, sales). */
1908
+ /** `res.company` (owner: base; extended by: contacts, accounting, sales, sale_account, sale_account). */
1410
1909
  export interface ResCompany {
1411
1910
  readonly name: 'res.company';
1412
1911
  readonly fields: {
@@ -1441,12 +1940,15 @@ export interface ResCompany {
1441
1940
  readonly accountRetainedEarnings: F.Many2one<'account.account'>; // accounting
1442
1941
  readonly saleValidityDays: F.Integer<{ readonly default: true }>; // sales
1443
1942
  readonly saleTerms: F.Text; // sales
1943
+ readonly creditControl: F.Selection<'off' | 'warn' | 'block' | 'approval', { readonly default: true }>; // sale_account
1944
+ readonly creditLimitDefault: F.Decimal; // sale_account
1945
+ readonly downPaymentProduct: F.Many2one<'product.product'>; // sale_account
1444
1946
  };
1445
1947
  readonly methods: ResCompanyMethods;
1446
1948
  }
1447
1949
 
1448
1950
  /** Methods of `res.company`: declared ones and transitions. */
1449
- export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.company'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.company'>, F.Methods<typeof import('../../sales/index.js').salesShutro, 'res.company'> {
1951
+ export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.company'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.company'>, F.Methods<typeof import('../../sales/index.js').salesShutro, 'res.company'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'res.company'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'res.company'> {
1450
1952
  }
1451
1953
 
1452
1954
  /** `res.currency` (owner: base). */
@@ -1492,7 +1994,7 @@ export interface ResCurrencyRate {
1492
1994
  export interface ResCurrencyRateMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.currency.rate'> {
1493
1995
  }
1494
1996
 
1495
- /** `res.partner` (owner: contacts; extended by: accounting). */
1997
+ /** `res.partner` (owner: contacts; extended by: accounting, accounting, sales, sale_account). */
1496
1998
  export interface ResPartner {
1497
1999
  readonly name: 'res.partner';
1498
2000
  readonly fields: {
@@ -1513,6 +2015,7 @@ export interface ResPartner {
1513
2015
  readonly parent: F.Many2one<'res.partner'>;
1514
2016
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
1515
2017
  readonly email: F.Char;
2018
+ readonly lang: F.Selection<'en' | 'bn'>;
1516
2019
  readonly phone: F.Char;
1517
2020
  readonly mobile: F.Char;
1518
2021
  readonly website: F.Char;
@@ -1526,13 +2029,20 @@ export interface ResPartner {
1526
2029
  readonly isVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1527
2030
  readonly currency: F.Many2one<'res.currency'>;
1528
2031
  readonly notes: F.Text;
2032
+ readonly sendInvoicesByEmail: F.Bool<{ readonly required: true; readonly default: true }>; // accounting
1529
2033
  readonly withholdings: F.Many2many<'account.withholding', { readonly required: true }>; // accounting
2034
+ readonly receivableAccount: F.Many2one<'account.account'>; // accounting
2035
+ readonly payableAccount: F.Many2one<'account.account'>; // accounting
2036
+ readonly fiscalPosition: F.Many2one<'account.fiscal.position'>; // accounting
2037
+ readonly pricelist: F.Many2one<'product.pricelist'>; // sales
2038
+ readonly creditLimit: F.Decimal; // sale_account
2039
+ readonly customerPaymentTerm: F.Many2one<'account.payment.term'>; // sale_account
1530
2040
  };
1531
2041
  readonly methods: ResPartnerMethods;
1532
2042
  }
1533
2043
 
1534
2044
  /** Methods of `res.partner`: declared ones and transitions. */
1535
- export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
2045
+ export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'>, F.Methods<typeof import('../../sales/index.js').salesShutro, 'res.partner'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'res.partner'> {
1536
2046
  }
1537
2047
 
1538
2048
  /** `res.partner.tag` (owner: contacts). */
@@ -1554,6 +2064,29 @@ export interface ResPartnerTag {
1554
2064
  export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1555
2065
  }
1556
2066
 
2067
+ /** `res.segment` (owner: permissions). */
2068
+ export interface ResSegment {
2069
+ readonly name: 'res.segment';
2070
+ readonly fields: {
2071
+ readonly id: F.Id<'res.segment'>;
2072
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2073
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2074
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2075
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2076
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2077
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2078
+ readonly name: F.Char<{ readonly required: true }>;
2079
+ readonly code: F.Char;
2080
+ readonly companies: F.Many2many<'res.company', { readonly required: true }>;
2081
+ readonly note: F.Text;
2082
+ };
2083
+ readonly methods: ResSegmentMethods;
2084
+ }
2085
+
2086
+ /** Methods of `res.segment`: declared ones and transitions. */
2087
+ export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
2088
+ }
2089
+
1557
2090
  /** `res.users` (owner: base). */
1558
2091
  export interface ResUsers {
1559
2092
  readonly name: 'res.users';
@@ -1596,18 +2129,28 @@ export interface SaleOrder {
1596
2129
  readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
1597
2130
  readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
1598
2131
  readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
2132
+ readonly partnerInvoice: F.Many2one<'res.partner'>;
2133
+ readonly partnerShipping: F.Many2one<'res.partner'>;
2134
+ readonly pricelist: F.Many2one<'product.pricelist'>;
1599
2135
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1600
2136
  readonly dateOrder: F.DateOnly<{ readonly required: true; readonly default: true }>;
1601
2137
  readonly validityDate: F.DateOnly;
1602
2138
  readonly clientReference: F.Char;
1603
2139
  readonly note: F.Text;
1604
2140
  readonly lines: F.One2many<'sale.order.line', { readonly required: true }>;
2141
+ readonly template: F.Many2one<'sale.order.template'>;
2142
+ readonly options: F.One2many<'sale.order.option', { readonly required: true }>;
1605
2143
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1606
2144
  readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1607
2145
  readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1608
2146
  readonly margin: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1609
2147
  readonly marginPercent: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1610
- readonly state: F.State<'draft' | 'sent' | 'sale' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
2148
+ readonly state: F.State<'draft' | 'sent' | 'sale' | 'done' | 'cancel' | 'credit', { readonly required: true; readonly readonly: true; readonly default: true }>;
2149
+ readonly paymentTerm: F.Many2one<'account.payment.term'>; // sale_account
2150
+ readonly creditNote: F.Char; // sale_account
2151
+ readonly downPaymentPercent: F.Decimal; // sale_account
2152
+ readonly downPaymentAmount: F.Decimal; // sale_account
2153
+ readonly creditHeld: F.Bool<{ readonly required: true; readonly default: true }>; // sale_account
1611
2154
  readonly invoices: F.One2many<'account.move', { readonly required: true }>; // sale_account
1612
2155
  readonly invoiceState: F.Selection<'no' | 'to_invoice' | 'invoiced', { readonly readonly: true; readonly compute: true; readonly store: true }>; // sale_account
1613
2156
  };
@@ -1616,16 +2159,22 @@ export interface SaleOrder {
1616
2159
 
1617
2160
  /** Methods of `sale.order`: declared ones and transitions. */
1618
2161
  export interface SaleOrderMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'sale.order'> {
2162
+ readonly 'askCredit': () => Promise<void>;
1619
2163
  readonly 'cancel': () => Promise<void>;
1620
2164
  readonly 'confirm': () => Promise<void>;
2165
+ readonly 'creditApprove': () => Promise<void>;
2166
+ readonly 'creditReject': () => Promise<void>;
2167
+ readonly 'fill': () => Promise<void>;
1621
2168
  readonly 'invoice': () => Promise<void>;
2169
+ readonly 'invoiceDownPayment': () => Promise<void>;
1622
2170
  readonly 'lock': () => Promise<void>;
1623
2171
  readonly 'redraft': () => Promise<void>;
2172
+ readonly 'refund': () => Promise<void>;
1624
2173
  readonly 'send': () => Promise<void>;
1625
2174
  readonly 'unlock': () => Promise<void>;
1626
2175
  }
1627
2176
 
1628
- /** `sale.order.line` (owner: sales). */
2177
+ /** `sale.order.line` (owner: sales; extended by: sale_account). */
1629
2178
  export interface SaleOrderLine {
1630
2179
  readonly name: 'sale.order.line';
1631
2180
  readonly fields: {
@@ -1640,7 +2189,9 @@ export interface SaleOrderLine {
1640
2189
  readonly name: F.Char<{ readonly required: true }>;
1641
2190
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
1642
2191
  readonly uom: F.Many2one<'uom.uom'>;
1643
- readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
2192
+ readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
2193
+ readonly manualPrice: F.Decimal;
2194
+ readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1644
2195
  readonly discount: F.Decimal<{ readonly required: true; readonly default: true }>;
1645
2196
  readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1646
2197
  readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
@@ -1648,12 +2199,87 @@ export interface SaleOrderLine {
1648
2199
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1649
2200
  readonly margin: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1650
2201
  readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
2202
+ readonly invoiceLines: F.One2many<'account.move.line', { readonly required: true }>; // sale_account
2203
+ readonly qtyInvoiced: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // sale_account
1651
2204
  };
1652
2205
  readonly methods: SaleOrderLineMethods;
1653
2206
  }
1654
2207
 
1655
2208
  /** Methods of `sale.order.line`: declared ones and transitions. */
1656
- export interface SaleOrderLineMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.line'> {
2209
+ export interface SaleOrderLineMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.line'>, F.Methods<typeof import('../module.js').saleAccountShutro, 'sale.order.line'> {
2210
+ }
2211
+
2212
+ /** `sale.order.option` (owner: sales). */
2213
+ export interface SaleOrderOption {
2214
+ readonly name: 'sale.order.option';
2215
+ readonly fields: {
2216
+ readonly id: F.Id<'sale.order.option'>;
2217
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2218
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2219
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2220
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2221
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2222
+ readonly order: F.Many2one<'sale.order', { readonly required: true }>;
2223
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2224
+ readonly name: F.Char<{ readonly required: true }>;
2225
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2226
+ readonly priceUnit: F.Decimal;
2227
+ readonly line: F.Many2one<'sale.order.line'>;
2228
+ readonly state: F.State<'offered' | 'added', { readonly required: true; readonly readonly: true; readonly default: true }>;
2229
+ };
2230
+ readonly methods: SaleOrderOptionMethods;
2231
+ }
2232
+
2233
+ /** Methods of `sale.order.option`: declared ones and transitions. */
2234
+ export interface SaleOrderOptionMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.option'> {
2235
+ readonly 'add': () => Promise<void>;
2236
+ }
2237
+
2238
+ /** `sale.order.template` (owner: sales). */
2239
+ export interface SaleOrderTemplate {
2240
+ readonly name: 'sale.order.template';
2241
+ readonly fields: {
2242
+ readonly id: F.Id<'sale.order.template'>;
2243
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2244
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2245
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2246
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2247
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2248
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
2249
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
2250
+ readonly validityDays: F.Integer<{ readonly default: true }>;
2251
+ readonly note: F.Text;
2252
+ readonly lines: F.One2many<'sale.order.template.line', { readonly required: true }>;
2253
+ };
2254
+ readonly methods: SaleOrderTemplateMethods;
2255
+ }
2256
+
2257
+ /** Methods of `sale.order.template`: declared ones and transitions. */
2258
+ export interface SaleOrderTemplateMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.template'> {
2259
+ }
2260
+
2261
+ /** `sale.order.template.line` (owner: sales). */
2262
+ export interface SaleOrderTemplateLine {
2263
+ readonly name: 'sale.order.template.line';
2264
+ readonly fields: {
2265
+ readonly id: F.Id<'sale.order.template.line'>;
2266
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2267
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
2268
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
2269
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
2270
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
2271
+ readonly template: F.Many2one<'sale.order.template', { readonly required: true }>;
2272
+ readonly sequence: F.Integer<{ readonly default: true }>;
2273
+ readonly product: F.Many2one<'product.product', { readonly required: true }>;
2274
+ readonly name: F.Char<{ readonly required: true }>;
2275
+ readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
2276
+ readonly optional: F.Bool<{ readonly required: true; readonly default: true }>;
2277
+ };
2278
+ readonly methods: SaleOrderTemplateLineMethods;
2279
+ }
2280
+
2281
+ /** Methods of `sale.order.template.line`: declared ones and transitions. */
2282
+ export interface SaleOrderTemplateLineMethods extends F.Methods<typeof import('../../sales/index.js').salesShutro, 'sale.order.template.line'> {
1657
2283
  }
1658
2284
 
1659
2285
  /** `storage.attachment` (owner: storage). */