shutro-erp 0.3.4 → 0.3.6

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 (618) hide show
  1. package/dist/account_asset/.kosh/bindings.d.ts +22 -0
  2. package/dist/account_asset/.kosh/bindings.js +15 -0
  3. package/dist/account_asset/.kosh/schema.d.ts +1755 -0
  4. package/dist/account_asset/board.d.ts +61 -0
  5. package/dist/account_asset/board.js +86 -0
  6. package/dist/account_asset/books.d.ts +42 -0
  7. package/dist/account_asset/books.js +398 -0
  8. package/dist/account_asset/demo.d.ts +7 -0
  9. package/dist/account_asset/demo.js +72 -0
  10. package/dist/account_asset/index.d.ts +9 -0
  11. package/dist/account_asset/index.js +335 -0
  12. package/dist/account_asset/module.d.ts +7622 -0
  13. package/dist/account_asset/module.js +230 -0
  14. package/dist/account_budget/.kosh/bindings.d.ts +22 -0
  15. package/dist/account_budget/.kosh/bindings.js +15 -0
  16. package/dist/account_budget/.kosh/schema.d.ts +1767 -0
  17. package/dist/account_budget/budget.d.ts +5 -0
  18. package/dist/account_budget/budget.js +142 -0
  19. package/dist/account_budget/demo.d.ts +6 -0
  20. package/dist/account_budget/demo.js +30 -0
  21. package/dist/account_budget/index.d.ts +4 -0
  22. package/dist/account_budget/index.js +223 -0
  23. package/dist/account_budget/module.d.ts +13863 -0
  24. package/dist/account_budget/module.js +167 -0
  25. package/dist/account_portal/.kosh/bindings.js +1 -1
  26. package/dist/account_portal/.kosh/schema.d.ts +176 -6
  27. package/dist/account_portal/module.d.ts +505 -6
  28. package/dist/accounting/.kosh/bindings.js +1 -1
  29. package/dist/accounting/.kosh/schema.d.ts +176 -6
  30. package/dist/accounting/index.d.ts +1 -1
  31. package/dist/accounting/index.js +344 -4
  32. package/dist/accounting/module.d.ts +513 -5
  33. package/dist/accounting/module.js +55 -3
  34. package/dist/approvals/.kosh/bindings.d.ts +22 -0
  35. package/dist/approvals/.kosh/bindings.js +15 -0
  36. package/dist/approvals/.kosh/schema.d.ts +611 -0
  37. package/dist/approvals/index.d.ts +18 -0
  38. package/dist/approvals/index.js +302 -0
  39. package/dist/approvals/mails.d.ts +25 -0
  40. package/dist/approvals/mails.js +82 -0
  41. package/dist/approvals/module.d.ts +1 -0
  42. package/dist/approvals/module.js +12 -0
  43. package/dist/approvals/web/History.d.ts +4 -0
  44. package/dist/approvals/web/History.js +13 -0
  45. package/dist/approvals/web/Inbox.d.ts +9 -0
  46. package/dist/approvals/web/Inbox.js +114 -0
  47. package/dist/approvals/web/Mine.d.ts +7 -0
  48. package/dist/approvals/web/Mine.js +27 -0
  49. package/dist/approvals/web/index.d.ts +13 -0
  50. package/dist/approvals/web/index.js +22 -0
  51. package/dist/approvals/web/messages.d.ts +2 -0
  52. package/dist/approvals/web/messages.js +119 -0
  53. package/dist/approvals/web/shared.d.ts +59 -0
  54. package/dist/approvals/web/shared.js +46 -0
  55. package/dist/attendance/.kosh/bindings.d.ts +22 -0
  56. package/dist/attendance/.kosh/bindings.js +15 -0
  57. package/dist/attendance/.kosh/schema.d.ts +1048 -0
  58. package/dist/attendance/days.d.ts +96 -0
  59. package/dist/attendance/days.js +430 -0
  60. package/dist/attendance/demo.d.ts +7 -0
  61. package/dist/attendance/demo.js +58 -0
  62. package/dist/attendance/index.d.ts +4 -0
  63. package/dist/attendance/index.js +513 -0
  64. package/dist/attendance/module.d.ts +3969 -0
  65. package/dist/attendance/module.js +412 -0
  66. package/dist/attendance/routes.d.ts +16 -0
  67. package/dist/attendance/routes.js +266 -0
  68. package/dist/attendance/web/Check.d.ts +8 -0
  69. package/dist/attendance/web/Check.js +40 -0
  70. package/dist/attendance/web/Kiosk.d.ts +8 -0
  71. package/dist/attendance/web/Kiosk.js +62 -0
  72. package/dist/attendance/web/PinButton.d.ts +7 -0
  73. package/dist/attendance/web/PinButton.js +29 -0
  74. package/dist/attendance/web/index.d.ts +13 -0
  75. package/dist/attendance/web/index.js +22 -0
  76. package/dist/attendance/web/messages.d.ts +2 -0
  77. package/dist/attendance/web/messages.js +61 -0
  78. package/dist/calendar/.kosh/bindings.d.ts +22 -0
  79. package/dist/calendar/.kosh/bindings.js +15 -0
  80. package/dist/calendar/.kosh/schema.d.ts +795 -0
  81. package/dist/calendar/demo.d.ts +6 -0
  82. package/dist/calendar/demo.js +24 -0
  83. package/dist/calendar/index.d.ts +3 -0
  84. package/dist/calendar/index.js +291 -0
  85. package/dist/calendar/module.d.ts +1705 -0
  86. package/dist/calendar/module.js +180 -0
  87. package/dist/cli/init.js +80 -0
  88. package/dist/cli/templates.d.ts +1 -1
  89. package/dist/cli/templates.js +226 -0
  90. package/dist/contacts/.kosh/bindings.js +1 -1
  91. package/dist/contacts/.kosh/schema.d.ts +78 -3
  92. package/dist/contacts/demo.js +30 -1
  93. package/dist/contacts/index.d.ts +1 -1
  94. package/dist/contacts/index.js +155 -9
  95. package/dist/contacts/module.d.ts +338 -2
  96. package/dist/contacts/module.js +93 -5
  97. package/dist/crm/.kosh/bindings.d.ts +22 -0
  98. package/dist/crm/.kosh/bindings.js +15 -0
  99. package/dist/crm/.kosh/schema.d.ts +800 -0
  100. package/dist/crm/demo.d.ts +6 -0
  101. package/dist/crm/demo.js +45 -0
  102. package/dist/crm/index.d.ts +3 -0
  103. package/dist/crm/index.js +361 -0
  104. package/dist/crm/module.d.ts +1845 -0
  105. package/dist/crm/module.js +208 -0
  106. package/dist/documents/.kosh/bindings.d.ts +22 -0
  107. package/dist/documents/.kosh/bindings.js +15 -0
  108. package/dist/documents/.kosh/schema.d.ts +862 -0
  109. package/dist/documents/demo.d.ts +6 -0
  110. package/dist/documents/demo.js +22 -0
  111. package/dist/documents/documents.d.ts +98 -0
  112. package/dist/documents/documents.js +318 -0
  113. package/dist/documents/index.d.ts +30 -0
  114. package/dist/documents/index.js +442 -0
  115. package/dist/documents/module.d.ts +2781 -0
  116. package/dist/documents/module.js +214 -0
  117. package/dist/documents/web/Versions.d.ts +7 -0
  118. package/dist/documents/web/Versions.js +45 -0
  119. package/dist/documents/web/index.d.ts +11 -0
  120. package/dist/documents/web/index.js +16 -0
  121. package/dist/documents/web/messages.d.ts +2 -0
  122. package/dist/documents/web/messages.js +21 -0
  123. package/dist/event/.kosh/bindings.d.ts +22 -0
  124. package/dist/event/.kosh/bindings.js +15 -0
  125. package/dist/event/.kosh/schema.d.ts +843 -0
  126. package/dist/event/demo.d.ts +6 -0
  127. package/dist/event/demo.js +65 -0
  128. package/dist/event/index.d.ts +14 -0
  129. package/dist/event/index.js +333 -0
  130. package/dist/event/mails.d.ts +15 -0
  131. package/dist/event/mails.js +112 -0
  132. package/dist/event/module.d.ts +2800 -0
  133. package/dist/event/module.js +323 -0
  134. package/dist/event/web/CheckInBox.d.ts +9 -0
  135. package/dist/event/web/CheckInBox.js +87 -0
  136. package/dist/event/web/index.d.ts +11 -0
  137. package/dist/event/web/index.js +16 -0
  138. package/dist/event/web/messages.d.ts +2 -0
  139. package/dist/event/web/messages.js +23 -0
  140. package/dist/event_account/.kosh/bindings.d.ts +22 -0
  141. package/dist/event_account/.kosh/bindings.js +15 -0
  142. package/dist/event_account/.kosh/schema.d.ts +1758 -0
  143. package/dist/event_account/index.d.ts +3 -0
  144. package/dist/event_account/index.js +28 -0
  145. package/dist/event_account/module.d.ts +7114 -0
  146. package/dist/event_account/module.js +90 -0
  147. package/dist/expense/.kosh/bindings.d.ts +22 -0
  148. package/dist/expense/.kosh/bindings.js +15 -0
  149. package/dist/expense/.kosh/schema.d.ts +1299 -0
  150. package/dist/expense/demo.d.ts +7 -0
  151. package/dist/expense/demo.js +69 -0
  152. package/dist/expense/index.d.ts +3 -0
  153. package/dist/expense/index.js +495 -0
  154. package/dist/expense/module.d.ts +4747 -0
  155. package/dist/expense/module.js +647 -0
  156. package/dist/expense_account/.kosh/bindings.d.ts +22 -0
  157. package/dist/expense_account/.kosh/bindings.js +15 -0
  158. package/dist/expense_account/.kosh/schema.d.ts +1936 -0
  159. package/dist/expense_account/index.d.ts +3 -0
  160. package/dist/expense_account/index.js +74 -0
  161. package/dist/expense_account/module.d.ts +9153 -0
  162. package/dist/expense_account/module.js +318 -0
  163. package/dist/helpdesk/.kosh/bindings.d.ts +22 -0
  164. package/dist/helpdesk/.kosh/bindings.js +15 -0
  165. package/dist/helpdesk/.kosh/schema.d.ts +885 -0
  166. package/dist/helpdesk/demo.d.ts +7 -0
  167. package/dist/helpdesk/demo.js +65 -0
  168. package/dist/helpdesk/hours.d.ts +17 -0
  169. package/dist/helpdesk/hours.js +94 -0
  170. package/dist/helpdesk/index.d.ts +10 -0
  171. package/dist/helpdesk/index.js +461 -0
  172. package/dist/helpdesk/module.d.ts +2940 -0
  173. package/dist/helpdesk/module.js +326 -0
  174. package/dist/helpdesk/routes.d.ts +12 -0
  175. package/dist/helpdesk/routes.js +132 -0
  176. package/dist/helpdesk/sla.d.ts +37 -0
  177. package/dist/helpdesk/sla.js +226 -0
  178. package/dist/hr/.kosh/bindings.d.ts +22 -0
  179. package/dist/hr/.kosh/bindings.js +15 -0
  180. package/dist/hr/.kosh/schema.d.ts +878 -0
  181. package/dist/hr/demo.d.ts +6 -0
  182. package/dist/hr/demo.js +60 -0
  183. package/dist/hr/index.d.ts +3 -0
  184. package/dist/hr/index.js +483 -0
  185. package/dist/hr/module.d.ts +2611 -0
  186. package/dist/hr/module.js +350 -0
  187. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  188. package/dist/l10n_bd/.kosh/schema.d.ts +176 -6
  189. package/dist/l10n_bd/module.d.ts +505 -6
  190. package/dist/l10n_bd_payroll/.kosh/bindings.d.ts +22 -0
  191. package/dist/l10n_bd_payroll/.kosh/bindings.js +15 -0
  192. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +2312 -0
  193. package/dist/l10n_bd_payroll/data.d.ts +47 -0
  194. package/dist/l10n_bd_payroll/data.js +347 -0
  195. package/dist/l10n_bd_payroll/index.d.ts +4 -0
  196. package/dist/l10n_bd_payroll/index.js +24 -0
  197. package/dist/l10n_bd_payroll/module.d.ts +12932 -0
  198. package/dist/l10n_bd_payroll/module.js +86 -0
  199. package/dist/l10n_in/.kosh/bindings.js +1 -1
  200. package/dist/l10n_in/.kosh/schema.d.ts +176 -6
  201. package/dist/l10n_in/module.d.ts +527 -7
  202. package/dist/mail/inbound/handle.js +6 -1
  203. package/dist/maintenance/.kosh/bindings.d.ts +22 -0
  204. package/dist/maintenance/.kosh/bindings.js +15 -0
  205. package/dist/maintenance/.kosh/schema.d.ts +911 -0
  206. package/dist/maintenance/demo.d.ts +6 -0
  207. package/dist/maintenance/demo.js +60 -0
  208. package/dist/maintenance/index.d.ts +3 -0
  209. package/dist/maintenance/index.js +422 -0
  210. package/dist/maintenance/module.d.ts +3545 -0
  211. package/dist/maintenance/module.js +446 -0
  212. package/dist/maintenance_stock/.kosh/bindings.d.ts +22 -0
  213. package/dist/maintenance_stock/.kosh/bindings.js +15 -0
  214. package/dist/maintenance_stock/.kosh/schema.d.ts +1446 -0
  215. package/dist/maintenance_stock/index.d.ts +9 -0
  216. package/dist/maintenance_stock/index.js +52 -0
  217. package/dist/maintenance_stock/module.d.ts +7675 -0
  218. package/dist/maintenance_stock/module.js +192 -0
  219. package/dist/modules-sdk/index.d.ts +1 -1
  220. package/dist/modules-sdk/manifest.d.ts +109 -2
  221. package/dist/modules-sdk/manifest.js +35 -1
  222. package/dist/mrp/.kosh/bindings.d.ts +22 -0
  223. package/dist/mrp/.kosh/bindings.js +15 -0
  224. package/dist/mrp/.kosh/schema.d.ts +1453 -0
  225. package/dist/mrp/demo.d.ts +7 -0
  226. package/dist/mrp/demo.js +42 -0
  227. package/dist/mrp/index.d.ts +3 -0
  228. package/dist/mrp/index.js +393 -0
  229. package/dist/mrp/module.d.ts +9335 -0
  230. package/dist/mrp/module.js +757 -0
  231. package/dist/mrp_account/.kosh/bindings.d.ts +22 -0
  232. package/dist/mrp_account/.kosh/bindings.js +15 -0
  233. package/dist/mrp_account/.kosh/schema.d.ts +2299 -0
  234. package/dist/mrp_account/index.d.ts +3 -0
  235. package/dist/mrp_account/index.js +22 -0
  236. package/dist/mrp_account/module.d.ts +23151 -0
  237. package/dist/mrp_account/module.js +123 -0
  238. package/dist/payment/.kosh/bindings.js +1 -1
  239. package/dist/payment/.kosh/schema.d.ts +178 -7
  240. package/dist/payment/index.d.ts +41 -0
  241. package/dist/payment/index.js +131 -74
  242. package/dist/payment/module.d.ts +569 -12
  243. package/dist/payment/module.js +19 -3
  244. package/dist/payment/settle.js +10 -1
  245. package/dist/payroll/.kosh/bindings.d.ts +22 -0
  246. package/dist/payroll/.kosh/bindings.js +15 -0
  247. package/dist/payroll/.kosh/schema.d.ts +1390 -0
  248. package/dist/payroll/compute.d.ts +35 -0
  249. package/dist/payroll/compute.js +398 -0
  250. package/dist/payroll/demo.d.ts +55 -0
  251. package/dist/payroll/demo.js +121 -0
  252. package/dist/payroll/formula.d.ts +62 -0
  253. package/dist/payroll/formula.js +320 -0
  254. package/dist/payroll/index.d.ts +230 -0
  255. package/dist/payroll/index.js +713 -0
  256. package/dist/payroll/module.d.ts +9390 -0
  257. package/dist/payroll/module.js +606 -0
  258. package/dist/payroll/routes.d.ts +10 -0
  259. package/dist/payroll/routes.js +112 -0
  260. package/dist/payroll_account/.kosh/bindings.d.ts +22 -0
  261. package/dist/payroll_account/.kosh/bindings.js +15 -0
  262. package/dist/payroll_account/.kosh/schema.d.ts +2308 -0
  263. package/dist/payroll_account/index.d.ts +3 -0
  264. package/dist/payroll_account/index.js +40 -0
  265. package/dist/payroll_account/module.d.ts +12396 -0
  266. package/dist/payroll_account/module.js +256 -0
  267. package/dist/permissions/approvals.d.ts +131 -9
  268. package/dist/permissions/approvals.js +662 -57
  269. package/dist/permissions/index.d.ts +1 -1
  270. package/dist/permissions/index.js +2 -2
  271. package/dist/permissions/models.js +191 -12
  272. package/dist/permissions/routes.d.ts +6 -1
  273. package/dist/permissions/routes.js +37 -4
  274. package/dist/permissions/web/ApprovalPanel.d.ts +5 -4
  275. package/dist/permissions/web/ApprovalPanel.js +39 -13
  276. package/dist/permissions/web/index.d.ts +6 -4
  277. package/dist/permissions/web/index.js +13 -4
  278. package/dist/permissions/web/messages.d.ts +2 -0
  279. package/dist/permissions/web/messages.js +43 -0
  280. package/dist/portal/.kosh/bindings.js +1 -1
  281. package/dist/portal/.kosh/schema.d.ts +78 -3
  282. package/dist/portal/index.js +1 -1
  283. package/dist/portal/module.d.ts +166 -2
  284. package/dist/pos/.kosh/bindings.d.ts +22 -0
  285. package/dist/pos/.kosh/bindings.js +15 -0
  286. package/dist/pos/.kosh/schema.d.ts +1809 -0
  287. package/dist/pos/accounting.d.ts +10 -0
  288. package/dist/pos/accounting.js +149 -0
  289. package/dist/pos/demo.d.ts +6 -0
  290. package/dist/pos/demo.js +90 -0
  291. package/dist/pos/index.d.ts +9 -0
  292. package/dist/pos/index.js +353 -0
  293. package/dist/pos/module.d.ts +9783 -0
  294. package/dist/pos/module.js +423 -0
  295. package/dist/pos/routes.d.ts +39 -0
  296. package/dist/pos/routes.js +368 -0
  297. package/dist/pos/web/Register.d.ts +9 -0
  298. package/dist/pos/web/Register.js +252 -0
  299. package/dist/pos/web/index.d.ts +11 -0
  300. package/dist/pos/web/index.js +16 -0
  301. package/dist/pos/web/messages.d.ts +2 -0
  302. package/dist/pos/web/messages.js +87 -0
  303. package/dist/pos_stock/.kosh/bindings.d.ts +22 -0
  304. package/dist/pos_stock/.kosh/bindings.js +15 -0
  305. package/dist/pos_stock/.kosh/schema.d.ts +2208 -0
  306. package/dist/pos_stock/index.d.ts +9 -0
  307. package/dist/pos_stock/index.js +35 -0
  308. package/dist/pos_stock/module.d.ts +12803 -0
  309. package/dist/pos_stock/module.js +115 -0
  310. package/dist/product/.kosh/bindings.js +1 -1
  311. package/dist/product/.kosh/schema.d.ts +52 -1
  312. package/dist/product/index.js +94 -4
  313. package/dist/product/module.d.ts +45 -1
  314. package/dist/product/module.js +11 -3
  315. package/dist/project/.kosh/bindings.js +1 -1
  316. package/dist/project/.kosh/schema.d.ts +725 -3
  317. package/dist/project/index.d.ts +3 -1
  318. package/dist/project/index.js +1045 -18
  319. package/dist/project/module.d.ts +10168 -458
  320. package/dist/project/module.js +1578 -14
  321. package/dist/project/routes.d.ts +44 -0
  322. package/dist/project/routes.js +314 -0
  323. package/dist/project/schedule.d.ts +72 -0
  324. package/dist/project/schedule.js +192 -0
  325. package/dist/project/web/Refresh.d.ts +8 -0
  326. package/dist/project/web/Refresh.js +29 -0
  327. package/dist/project/web/Schedule.d.ts +9 -0
  328. package/dist/project/web/Schedule.js +93 -0
  329. package/dist/project/web/Structure.d.ts +8 -0
  330. package/dist/project/web/Structure.js +86 -0
  331. package/dist/project/web/Workload.d.ts +8 -0
  332. package/dist/project/web/Workload.js +43 -0
  333. package/dist/project/web/index.d.ts +14 -0
  334. package/dist/project/web/index.js +25 -0
  335. package/dist/project/web/messages.d.ts +2 -0
  336. package/dist/project/web/messages.js +85 -0
  337. package/dist/project_account/.kosh/bindings.d.ts +22 -0
  338. package/dist/project_account/.kosh/bindings.js +15 -0
  339. package/dist/project_account/.kosh/schema.d.ts +2241 -0
  340. package/dist/project_account/index.d.ts +3 -0
  341. package/dist/project_account/index.js +27 -0
  342. package/dist/project_account/module.d.ts +11539 -0
  343. package/dist/project_account/module.js +76 -0
  344. package/dist/project_portal/.kosh/bindings.js +1 -1
  345. package/dist/project_portal/.kosh/schema.d.ts +725 -3
  346. package/dist/project_portal/module.d.ts +5137 -119
  347. package/dist/project_purchase/.kosh/bindings.d.ts +22 -0
  348. package/dist/project_purchase/.kosh/bindings.js +15 -0
  349. package/dist/project_purchase/.kosh/schema.d.ts +2320 -0
  350. package/dist/project_purchase/index.d.ts +9 -0
  351. package/dist/project_purchase/index.js +22 -0
  352. package/dist/project_purchase/module.d.ts +25147 -0
  353. package/dist/project_purchase/module.js +56 -0
  354. package/dist/purchase/.kosh/bindings.js +1 -1
  355. package/dist/purchase/.kosh/schema.d.ts +150 -6
  356. package/dist/purchase/index.js +163 -3
  357. package/dist/purchase/module.d.ts +228 -5
  358. package/dist/purchase/module.js +30 -3
  359. package/dist/purchase_account/.kosh/bindings.js +1 -1
  360. package/dist/purchase_account/.kosh/schema.d.ts +180 -8
  361. package/dist/purchase_account/index.js +27 -1
  362. package/dist/purchase_account/module.d.ts +591 -30
  363. package/dist/purchase_account/module.js +13 -2
  364. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  365. package/dist/purchase_portal/.kosh/schema.d.ts +150 -6
  366. package/dist/purchase_portal/module.d.ts +372 -6
  367. package/dist/purchase_stock/.kosh/bindings.d.ts +22 -0
  368. package/dist/purchase_stock/.kosh/bindings.js +15 -0
  369. package/dist/purchase_stock/.kosh/schema.d.ts +1479 -0
  370. package/dist/purchase_stock/index.d.ts +7 -0
  371. package/dist/purchase_stock/index.js +98 -0
  372. package/dist/purchase_stock/module.d.ts +7535 -0
  373. package/dist/purchase_stock/module.js +380 -0
  374. package/dist/purchase_stock_account/.kosh/bindings.d.ts +22 -0
  375. package/dist/purchase_stock_account/.kosh/bindings.js +15 -0
  376. package/dist/purchase_stock_account/.kosh/schema.d.ts +2155 -0
  377. package/dist/purchase_stock_account/index.d.ts +3 -0
  378. package/dist/purchase_stock_account/index.js +24 -0
  379. package/dist/purchase_stock_account/module.d.ts +38015 -0
  380. package/dist/purchase_stock_account/module.js +168 -0
  381. package/dist/recruitment/.kosh/bindings.d.ts +22 -0
  382. package/dist/recruitment/.kosh/bindings.js +15 -0
  383. package/dist/recruitment/.kosh/schema.d.ts +991 -0
  384. package/dist/recruitment/demo.d.ts +6 -0
  385. package/dist/recruitment/demo.js +45 -0
  386. package/dist/recruitment/index.d.ts +3 -0
  387. package/dist/recruitment/index.js +385 -0
  388. package/dist/recruitment/module.d.ts +3249 -0
  389. package/dist/recruitment/module.js +194 -0
  390. package/dist/recruitment/web/HireButton.d.ts +9 -0
  391. package/dist/recruitment/web/HireButton.js +32 -0
  392. package/dist/recruitment/web/index.d.ts +11 -0
  393. package/dist/recruitment/web/index.js +16 -0
  394. package/dist/recruitment/web/messages.d.ts +2 -0
  395. package/dist/recruitment/web/messages.js +19 -0
  396. package/dist/reporting/documents.d.ts +5 -0
  397. package/dist/reporting/documents.js +28 -1
  398. package/dist/reporting/index.d.ts +1 -1
  399. package/dist/reporting/index.js +4 -2
  400. package/dist/reporting/models.js +9 -0
  401. package/dist/reporting/overviews.d.ts +16 -0
  402. package/dist/reporting/overviews.js +56 -0
  403. package/dist/reporting/routes-documents.js +1 -1
  404. package/dist/reporting/routes.js +138 -80
  405. package/dist/reporting/web/DashboardView.d.ts +11 -0
  406. package/dist/reporting/web/DashboardView.js +2 -2
  407. package/dist/reporting/web/DesignerView.js +5 -0
  408. package/dist/reporting/web/Overview.d.ts +9 -0
  409. package/dist/reporting/web/Overview.js +53 -0
  410. package/dist/reporting/web/index.d.ts +1 -0
  411. package/dist/reporting/web/index.js +4 -1
  412. package/dist/reporting/web/messages.js +9 -0
  413. package/dist/sale_account/.kosh/bindings.js +1 -1
  414. package/dist/sale_account/.kosh/schema.d.ts +181 -6
  415. package/dist/sale_account/index.js +22 -1
  416. package/dist/sale_account/module.d.ts +639 -38
  417. package/dist/sale_portal/.kosh/bindings.js +1 -1
  418. package/dist/sale_portal/.kosh/schema.d.ts +59 -3
  419. package/dist/sale_portal/module.d.ts +435 -5
  420. package/dist/sale_project/.kosh/bindings.js +1 -1
  421. package/dist/sale_project/.kosh/schema.d.ts +732 -3
  422. package/dist/sale_project/module.d.ts +5349 -208
  423. package/dist/sale_project/module.js +17 -1
  424. package/dist/sale_stock/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_stock/.kosh/bindings.js +15 -0
  426. package/dist/sale_stock/.kosh/schema.d.ts +1303 -0
  427. package/dist/sale_stock/index.d.ts +7 -0
  428. package/dist/sale_stock/index.js +84 -0
  429. package/dist/sale_stock/module.d.ts +7514 -0
  430. package/dist/sale_stock/module.js +146 -0
  431. package/dist/sales/.kosh/bindings.js +1 -1
  432. package/dist/sales/.kosh/schema.d.ts +59 -3
  433. package/dist/sales/index.js +195 -4
  434. package/dist/sales/module.d.ts +356 -3
  435. package/dist/sales/module.js +78 -3
  436. package/dist/server/api/metadata.d.ts +5 -0
  437. package/dist/server/api/metadata.js +5 -0
  438. package/dist/server/api/rest.js +64 -1
  439. package/dist/server/api/views.js +1 -0
  440. package/dist/server/app-settings.d.ts +7 -0
  441. package/dist/server/app-settings.js +10 -0
  442. package/dist/server/auth/base.js +9 -0
  443. package/dist/server/index.d.ts +1 -0
  444. package/dist/server/index.js +1 -0
  445. package/dist/settings/app-settings.d.ts +2 -0
  446. package/dist/settings/app-settings.js +518 -0
  447. package/dist/settings/index.d.ts +1 -0
  448. package/dist/settings/index.js +15 -0
  449. package/dist/settings/people.js +29 -5
  450. package/dist/settings/web/AppSettingsPage.d.ts +11 -0
  451. package/dist/settings/web/AppSettingsPage.js +210 -0
  452. package/dist/settings/web/OverviewPage.js +16 -3
  453. package/dist/settings/web/PeoplePage.js +20 -6
  454. package/dist/settings/web/index.d.ts +1 -0
  455. package/dist/settings/web/index.js +3 -0
  456. package/dist/settings/web/messages.js +118 -2
  457. package/dist/sign/.kosh/bindings.d.ts +22 -0
  458. package/dist/sign/.kosh/bindings.js +15 -0
  459. package/dist/sign/.kosh/schema.d.ts +990 -0
  460. package/dist/sign/index.d.ts +14 -0
  461. package/dist/sign/index.js +350 -0
  462. package/dist/sign/module.d.ts +4478 -0
  463. package/dist/sign/module.js +158 -0
  464. package/dist/sign/sign.d.ts +82 -0
  465. package/dist/sign/sign.js +474 -0
  466. package/dist/stock/.kosh/bindings.d.ts +22 -0
  467. package/dist/stock/.kosh/bindings.js +15 -0
  468. package/dist/stock/.kosh/schema.d.ts +1222 -0
  469. package/dist/stock/demo.d.ts +8 -0
  470. package/dist/stock/demo.js +82 -0
  471. package/dist/stock/index.d.ts +4 -0
  472. package/dist/stock/index.js +903 -0
  473. package/dist/stock/module.d.ts +7856 -0
  474. package/dist/stock/module.js +1880 -0
  475. package/dist/stock/replenish.d.ts +38 -0
  476. package/dist/stock/replenish.js +176 -0
  477. package/dist/stock/web/Replenishment.d.ts +8 -0
  478. package/dist/stock/web/Replenishment.js +84 -0
  479. package/dist/stock/web/ScanBox.d.ts +8 -0
  480. package/dist/stock/web/ScanBox.js +90 -0
  481. package/dist/stock/web/index.d.ts +13 -0
  482. package/dist/stock/web/index.js +20 -0
  483. package/dist/stock/web/messages.d.ts +2 -0
  484. package/dist/stock/web/messages.js +77 -0
  485. package/dist/stock_account/.kosh/bindings.d.ts +22 -0
  486. package/dist/stock_account/.kosh/bindings.js +15 -0
  487. package/dist/stock_account/.kosh/schema.d.ts +2068 -0
  488. package/dist/stock_account/index.d.ts +3 -0
  489. package/dist/stock_account/index.js +140 -0
  490. package/dist/stock_account/module.d.ts +11523 -0
  491. package/dist/stock_account/module.js +339 -0
  492. package/dist/storage/attachments.d.ts +5 -0
  493. package/dist/storage/attachments.js +12 -1
  494. package/dist/storage/models.js +3 -0
  495. package/dist/storage/routes.js +13 -2
  496. package/dist/todo/.kosh/bindings.d.ts +22 -0
  497. package/dist/todo/.kosh/bindings.js +15 -0
  498. package/dist/todo/.kosh/schema.d.ts +732 -0
  499. package/dist/todo/demo.d.ts +6 -0
  500. package/dist/todo/demo.js +35 -0
  501. package/dist/todo/index.d.ts +3 -0
  502. package/dist/todo/index.js +187 -0
  503. package/dist/todo/module.d.ts +1180 -0
  504. package/dist/todo/module.js +130 -0
  505. package/dist/trade_finance/.kosh/bindings.d.ts +22 -0
  506. package/dist/trade_finance/.kosh/bindings.js +15 -0
  507. package/dist/trade_finance/.kosh/schema.d.ts +884 -0
  508. package/dist/trade_finance/demo.d.ts +6 -0
  509. package/dist/trade_finance/demo.js +63 -0
  510. package/dist/trade_finance/index.d.ts +3 -0
  511. package/dist/trade_finance/index.js +415 -0
  512. package/dist/trade_finance/module.d.ts +3779 -0
  513. package/dist/trade_finance/module.js +507 -0
  514. package/dist/trade_finance_account/.kosh/bindings.d.ts +22 -0
  515. package/dist/trade_finance_account/.kosh/bindings.js +15 -0
  516. package/dist/trade_finance_account/.kosh/schema.d.ts +1830 -0
  517. package/dist/trade_finance_account/index.d.ts +3 -0
  518. package/dist/trade_finance_account/index.js +93 -0
  519. package/dist/trade_finance_account/module.d.ts +8074 -0
  520. package/dist/trade_finance_account/module.js +245 -0
  521. package/dist/trade_finance_purchase/.kosh/bindings.d.ts +22 -0
  522. package/dist/trade_finance_purchase/.kosh/bindings.js +15 -0
  523. package/dist/trade_finance_purchase/.kosh/schema.d.ts +1246 -0
  524. package/dist/trade_finance_purchase/index.d.ts +8 -0
  525. package/dist/trade_finance_purchase/index.js +50 -0
  526. package/dist/trade_finance_purchase/module.d.ts +4257 -0
  527. package/dist/trade_finance_purchase/module.js +44 -0
  528. package/dist/trade_finance_sale/.kosh/bindings.d.ts +22 -0
  529. package/dist/trade_finance_sale/.kosh/bindings.js +15 -0
  530. package/dist/trade_finance_sale/.kosh/schema.d.ts +1072 -0
  531. package/dist/trade_finance_sale/index.d.ts +8 -0
  532. package/dist/trade_finance_sale/index.js +50 -0
  533. package/dist/trade_finance_sale/module.d.ts +4281 -0
  534. package/dist/trade_finance_sale/module.js +44 -0
  535. package/dist/ui/api.d.ts +2 -1
  536. package/dist/ui/api.js +2 -1
  537. package/dist/ui/app.js +26 -13
  538. package/dist/ui/components/AppIcon.js +30 -1
  539. package/dist/ui/components/primitives.d.ts +2 -0
  540. package/dist/ui/components/primitives.js +7 -1
  541. package/dist/ui/i18n/messages.d.ts +27 -0
  542. package/dist/ui/i18n/messages.js +46 -0
  543. package/dist/ui/index.d.ts +1 -0
  544. package/dist/ui/index.js +1 -0
  545. package/dist/ui/offline/queue.d.ts +5 -1
  546. package/dist/ui/offline/queue.js +2 -0
  547. package/dist/ui/registry.d.ts +5 -0
  548. package/dist/ui/shell/Home.js +55 -4
  549. package/dist/ui/views/FormView.js +102 -19
  550. package/dist/ui/views/KanbanView.d.ts +2 -0
  551. package/dist/ui/views/KanbanView.js +40 -3
  552. package/dist/ui/views/ListView.js +110 -11
  553. package/dist/ui/views/StatsRow.d.ts +14 -0
  554. package/dist/ui/views/StatsRow.js +88 -0
  555. package/dist/ui/views/widgets.d.ts +2 -1
  556. package/dist/ui/views/widgets.js +200 -1
  557. package/dist/views/builders.d.ts +19 -2
  558. package/dist/views/builders.js +21 -1
  559. package/dist/views/condition.d.ts +6 -0
  560. package/dist/views/condition.js +20 -0
  561. package/dist/views/documents.d.ts +8 -0
  562. package/dist/views/extend.d.ts +2 -2
  563. package/dist/views/extend.js +11 -1
  564. package/dist/views/index.d.ts +2 -2
  565. package/dist/views/index.js +2 -2
  566. package/dist/views/types.d.ts +52 -5
  567. package/dist/views/validate.js +39 -1
  568. package/dist/website/.kosh/bindings.d.ts +22 -0
  569. package/dist/website/.kosh/bindings.js +15 -0
  570. package/dist/website/.kosh/schema.d.ts +881 -0
  571. package/dist/website/demo.d.ts +6 -0
  572. package/dist/website/demo.js +115 -0
  573. package/dist/website/index.d.ts +9 -0
  574. package/dist/website/index.js +251 -0
  575. package/dist/website/module.d.ts +2987 -0
  576. package/dist/website/module.js +282 -0
  577. package/dist/website/render.d.ts +45 -0
  578. package/dist/website/render.js +102 -0
  579. package/dist/website/routes.d.ts +12 -0
  580. package/dist/website/routes.js +246 -0
  581. package/dist/website/web/PagePreview.d.ts +7 -0
  582. package/dist/website/web/PagePreview.js +33 -0
  583. package/dist/website/web/index.d.ts +11 -0
  584. package/dist/website/web/index.js +16 -0
  585. package/dist/website/web/messages.d.ts +2 -0
  586. package/dist/website/web/messages.js +15 -0
  587. package/dist/website_crm/.kosh/bindings.d.ts +22 -0
  588. package/dist/website_crm/.kosh/bindings.js +15 -0
  589. package/dist/website_crm/.kosh/schema.d.ts +967 -0
  590. package/dist/website_crm/index.d.ts +3 -0
  591. package/dist/website_crm/index.js +39 -0
  592. package/dist/website_crm/module.d.ts +2956 -0
  593. package/dist/website_crm/module.js +44 -0
  594. package/dist/website_sale/.kosh/bindings.d.ts +22 -0
  595. package/dist/website_sale/.kosh/bindings.js +15 -0
  596. package/dist/website_sale/.kosh/schema.d.ts +2284 -0
  597. package/dist/website_sale/couriers.d.ts +50 -0
  598. package/dist/website_sale/couriers.js +59 -0
  599. package/dist/website_sale/demo.d.ts +7 -0
  600. package/dist/website_sale/demo.js +90 -0
  601. package/dist/website_sale/growth.d.ts +31 -0
  602. package/dist/website_sale/growth.js +163 -0
  603. package/dist/website_sale/index.d.ts +49 -0
  604. package/dist/website_sale/index.js +538 -0
  605. package/dist/website_sale/module.d.ts +22027 -0
  606. package/dist/website_sale/module.js +397 -0
  607. package/dist/website_sale/shipments.d.ts +16 -0
  608. package/dist/website_sale/shipments.js +113 -0
  609. package/dist/website_sale/shop.d.ts +81 -0
  610. package/dist/website_sale/shop.js +649 -0
  611. package/dist/website_sale_stock/.kosh/bindings.d.ts +22 -0
  612. package/dist/website_sale_stock/.kosh/bindings.js +15 -0
  613. package/dist/website_sale_stock/.kosh/schema.d.ts +2681 -0
  614. package/dist/website_sale_stock/index.d.ts +9 -0
  615. package/dist/website_sale_stock/index.js +20 -0
  616. package/dist/website_sale_stock/module.d.ts +24998 -0
  617. package/dist/website_sale_stock/module.js +28 -0
  618. package/package.json +200 -2
@@ -0,0 +1,167 @@
1
+ /**
2
+ * The data layer of budgets (RFC 0024 §2.5): a budget for a period, approved by an Accounting manager, with lines by
3
+ * cost centre and / or account — the planned amount, and a control: none, **warn** (a purchase order beyond it needs
4
+ * an Accounting manager's approval as well) or **block** (refused). Each line's **actual** (posted lines) and
5
+ * **committed** amount (confirmed purchase orders not billed yet) are refreshed by `budget.ts`; the purchase order
6
+ * carries whether it goes beyond a budget and why.
7
+ */
8
+ import { accountingShutro } from '../accounting/index.js';
9
+ import { purchaseAccountShutro } from '../purchase_account/index.js';
10
+ import { orm } from '../server/orm.js';
11
+ import { compute, defineModel, defineModule, extendModel, f, records, } from './.kosh/bindings.js';
12
+ const READ = ['read'];
13
+ const ALL = ['read', 'write', 'create', 'unlink', 'export', 'import'];
14
+ const ZERO = orm.toDecimal(0);
15
+ export const Budget = defineModel('account.budget', {
16
+ label: 'Budget',
17
+ recName: 'name',
18
+ order: ['dateFrom desc', 'id desc'],
19
+ companyScoped: { required: true },
20
+ tracking: ['state', 'dateFrom', 'dateTo'],
21
+ access: { 'account.user': READ, 'account.manager': ALL },
22
+ fields: {
23
+ name: f.char({ required: true }),
24
+ dateFrom: f.date({ required: true, label: 'From' }),
25
+ dateTo: f.date({ required: true, label: 'To' }),
26
+ lines: f.one2many('account.budget.line', 'budget'),
27
+ planned: f.decimal({
28
+ scale: 2,
29
+ label: 'Planned',
30
+ help: 'The lines’ planned amounts together.',
31
+ ...compute('account.budget', 'planned', ['lines.planned'], (budgets) => {
32
+ for (const b of budgets)
33
+ b.planned = [...b.lines].reduce((s, l) => s.plus(l.planned), ZERO);
34
+ }),
35
+ store: true,
36
+ }),
37
+ state: f.state({
38
+ states: { draft: 'Draft', approved: 'Approved', closed: 'Closed' },
39
+ initial: 'draft',
40
+ help: 'Approved budgets are compared with the books and checked when purchase orders are submitted.',
41
+ transitions: {
42
+ approve: {
43
+ from: ['draft'],
44
+ to: 'approved',
45
+ requires: 'account.budget',
46
+ after: records('account.budget', async (budgets) => {
47
+ const env = budgets.env;
48
+ await env.flush();
49
+ const { refreshBudgets } = await import('./budget.js');
50
+ await env.asSuperuser({ reason: 'budget figures' }, (su) => refreshBudgets(su, budgets.ids));
51
+ for (const id of budgets.ids)
52
+ await env.emit('account.budget.approved', { id });
53
+ }),
54
+ },
55
+ close: { from: ['approved'], to: 'closed', requires: 'account.budget' },
56
+ redraft: { from: ['approved'], to: 'draft', requires: 'account.budget' },
57
+ },
58
+ }),
59
+ },
60
+ sqlConstraints: {
61
+ ordered: {
62
+ check: orm.sql `date_to >= date_from`,
63
+ message: 'A budget ends on or after it starts.',
64
+ },
65
+ },
66
+ });
67
+ export const BudgetLine = defineModel('account.budget.line', {
68
+ label: 'Budget line',
69
+ order: ['id asc'],
70
+ access: { 'account.user': READ, 'account.manager': ALL },
71
+ fields: {
72
+ budget: f.many2one('account.budget', { required: true, ondelete: 'cascade' }),
73
+ name: f.char({ required: true, label: 'What for' }),
74
+ analytic: f.many2one('account.analytic', {
75
+ ondelete: 'restrict',
76
+ label: 'Cost centre',
77
+ help: 'Empty: every cost centre.',
78
+ }),
79
+ account: f.many2one('account.account', {
80
+ ondelete: 'restrict',
81
+ help: 'Empty: every expense account. Purchase orders commit against lines without an account or on the purchases account.',
82
+ }),
83
+ planned: f.decimal({ scale: 2, required: true, default: '0' }),
84
+ control: f.selection({ none: 'Report only', warn: 'Warn: a further approval', block: 'Block' }, {
85
+ required: true,
86
+ default: 'warn',
87
+ help: 'What a purchase order that would go beyond what is left does: needs an Accounting manager’s approval, or is refused.',
88
+ }),
89
+ actual: f.decimal({
90
+ scale: 2,
91
+ required: true,
92
+ default: '0',
93
+ label: 'Actual',
94
+ help: 'Posted in the period.',
95
+ }),
96
+ committed: f.decimal({
97
+ scale: 2,
98
+ required: true,
99
+ default: '0',
100
+ label: 'Committed',
101
+ help: 'Confirmed purchase orders of the period not billed yet (untaxed).',
102
+ }),
103
+ available: f.decimal({
104
+ scale: 2,
105
+ label: 'Left',
106
+ help: 'Planned less actual and committed.',
107
+ ...compute('account.budget.line', 'available', ['planned', 'actual', 'committed'], (lines) => {
108
+ for (const l of lines)
109
+ l.available = l.planned.minus(l.actual).minus(l.committed);
110
+ }),
111
+ store: true,
112
+ }),
113
+ used: f.decimal({
114
+ scale: 2,
115
+ label: 'Used (%)',
116
+ help: 'Actual and committed against the planned amount.',
117
+ ...compute('account.budget.line', 'used', ['planned', 'actual', 'committed'], (lines) => {
118
+ for (const l of lines)
119
+ l.used = l.planned.isZero()
120
+ ? ZERO
121
+ : l.actual.plus(l.committed).div(l.planned).times(100).toDecimalPlaces(2);
122
+ }),
123
+ store: true,
124
+ }),
125
+ },
126
+ sqlConstraints: {
127
+ planned: { check: orm.sql `planned >= 0`, message: 'A planned amount is not negative.' },
128
+ },
129
+ });
130
+ /** Whether a purchase order goes beyond a budget, and which. */
131
+ export const PurchaseBudget = extendModel('purchase.order', {
132
+ fields: {
133
+ overBudget: f.boolean({
134
+ default: false,
135
+ label: 'Beyond a budget',
136
+ help: 'Set when the order is submitted: an Accounting manager approves it as well.',
137
+ }),
138
+ budgetNote: f.text({ label: 'Budget check' }),
139
+ },
140
+ overrides: {
141
+ // Before the approvals: the order checked against the approved budgets of its date.
142
+ submitting: async function (next) {
143
+ await next();
144
+ const orders = this;
145
+ const env = orders.env;
146
+ const { checkOrders } = await import('./budget.js');
147
+ await env.asSuperuser({ reason: 'budget check' }, (su) => checkOrders(su, orders.ids));
148
+ },
149
+ },
150
+ });
151
+ export const accountBudgetShutro = defineModule({
152
+ name: 'account_budget',
153
+ version: '0.1.0',
154
+ depends: [accountingShutro, purchaseAccountShutro],
155
+ groups: [
156
+ orm.defineGroup({ code: 'account_budget.user', label: 'Budgets', implies: ['account.user'] }),
157
+ ],
158
+ permissions: [
159
+ orm.definePermission({
160
+ code: 'account.budget',
161
+ label: 'Approve and close budgets',
162
+ groups: ['account.manager'],
163
+ }),
164
+ ],
165
+ models: [Budget, BudgetLine],
166
+ extensions: [PurchaseBudget],
167
+ });
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: b86e876d4a603b3c
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 639c64f40f2fb53e
2
2
  // Bindings of module `account_portal`: import the definition API from here to get types scoped to what it can see.
3
3
  export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
4
4
  import { definitions } from '../../server/orm.js';
@@ -1,10 +1,11 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: b86e876d4a603b3c
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 639c64f40f2fb53e
2
2
  // Schema view of module `account_portal` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
5
5
  /** Model name → model type (RFC 0002 §7.7). */
6
6
  export interface SchemaView {
7
7
  readonly 'account.account': AccountAccount;
8
+ readonly 'account.analytic': AccountAnalytic;
8
9
  readonly 'account.fiscal.year': AccountFiscalYear;
9
10
  readonly 'account.full.reconcile': AccountFullReconcile;
10
11
  readonly 'account.journal': AccountJournal;
@@ -18,9 +19,12 @@ export interface SchemaView {
18
19
  readonly 'account.tax': AccountTax;
19
20
  readonly 'account.tax.component': AccountTaxComponent;
20
21
  readonly 'account.withholding': AccountWithholding;
22
+ readonly 'approval.delegation': ApprovalDelegation;
21
23
  readonly 'approval.level': ApprovalLevel;
24
+ readonly 'approval.link': ApprovalLink;
22
25
  readonly 'approval.policy': ApprovalPolicy;
23
26
  readonly 'approval.request': ApprovalRequest;
27
+ readonly 'approval.vote': ApprovalVote;
24
28
  readonly 'audit.event': AuditEvent;
25
29
  readonly 'auth.api_key': AuthApiKey;
26
30
  readonly 'auth.credential': AuthCredential;
@@ -30,6 +34,7 @@ export interface SchemaView {
30
34
  readonly 'auth.user_group': AuthUserGroup;
31
35
  readonly 'kosh.image': KoshImage;
32
36
  readonly 'kosh.saved_view': KoshSavedView;
37
+ readonly 'kosh.setting': KoshSetting;
33
38
  readonly 'mail.activity': MailActivity;
34
39
  readonly 'mail.activity.type': MailActivityType;
35
40
  readonly 'mail.channel': MailChannel;
@@ -56,6 +61,7 @@ export interface SchemaView {
56
61
  readonly 'res.currency': ResCurrency;
57
62
  readonly 'res.currency.rate': ResCurrencyRate;
58
63
  readonly 'res.partner': ResPartner;
64
+ readonly 'res.partner.tag': ResPartnerTag;
59
65
  readonly 'res.users': ResUsers;
60
66
  readonly 'storage.attachment': StorageAttachment;
61
67
  readonly 'uom.uom': UomUom;
@@ -87,6 +93,30 @@ export interface AccountAccount {
87
93
  export interface AccountAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.account'> {
88
94
  }
89
95
 
96
+ /** `account.analytic` (owner: accounting). */
97
+ export interface AccountAnalytic {
98
+ readonly name: 'account.analytic';
99
+ readonly fields: {
100
+ readonly id: F.Id<'account.analytic'>;
101
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
102
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
103
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
104
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
105
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
106
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
107
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
108
+ readonly code: F.Char;
109
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
110
+ readonly parent: F.Many2one<'account.analytic'>;
111
+ readonly note: F.Text;
112
+ };
113
+ readonly methods: AccountAnalyticMethods;
114
+ }
115
+
116
+ /** Methods of `account.analytic`: declared ones and transitions. */
117
+ export interface AccountAnalyticMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.analytic'> {
118
+ }
119
+
90
120
  /** `account.fiscal.year` (owner: accounting). */
91
121
  export interface AccountFiscalYear {
92
122
  readonly name: 'account.fiscal.year';
@@ -242,6 +272,7 @@ export interface AccountMoveLine {
242
272
  readonly lineKind: F.Selection<'entry' | 'product' | 'tax' | 'counterpart', { readonly required: true; readonly default: true }>;
243
273
  readonly invoice: F.Many2one<'account.move', { readonly readonly: true; readonly compute: true; readonly store: true }>;
244
274
  readonly product: F.Many2one<'product.product'>;
275
+ readonly analytic: F.Many2one<'account.analytic'>;
245
276
  readonly quantity: F.Decimal<{ readonly default: true }>;
246
277
  readonly priceUnit: F.Decimal<{ readonly default: true }>;
247
278
  readonly discount: F.Decimal<{ readonly default: true }>;
@@ -483,6 +514,29 @@ export interface AccountWithholding {
483
514
  export interface AccountWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.withholding'> {
484
515
  }
485
516
 
517
+ /** `approval.delegation` (owner: permissions). */
518
+ export interface ApprovalDelegation {
519
+ readonly name: 'approval.delegation';
520
+ readonly fields: {
521
+ readonly id: F.Id<'approval.delegation'>;
522
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
523
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
524
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
525
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
526
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
527
+ readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
528
+ readonly delegate: F.Many2one<'res.users', { readonly required: true }>;
529
+ readonly dateFrom: F.DateOnly<{ readonly required: true }>;
530
+ readonly dateTo: F.DateOnly<{ readonly required: true }>;
531
+ readonly note: F.Char;
532
+ };
533
+ readonly methods: ApprovalDelegationMethods;
534
+ }
535
+
536
+ /** Methods of `approval.delegation`: declared ones and transitions. */
537
+ export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
538
+ }
539
+
486
540
  /** `approval.level` (owner: permissions). */
487
541
  export interface ApprovalLevel {
488
542
  readonly name: 'approval.level';
@@ -497,7 +551,14 @@ export interface ApprovalLevel {
497
551
  readonly sequence: F.Integer<{ readonly default: true }>;
498
552
  readonly name: F.Char<{ readonly required: true }>;
499
553
  readonly condition: F.Json;
500
- readonly approverRole: F.Char<{ readonly required: true }>;
554
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
555
+ readonly approverRole: F.Char;
556
+ readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
557
+ readonly approverField: F.Char;
558
+ readonly quorum: F.Selection<'any' | 'all' | 'count', { readonly required: true; readonly default: true }>;
559
+ readonly quorumCount: F.Integer;
560
+ readonly deadlineHours: F.Integer;
561
+ readonly escalateRole: F.Char;
501
562
  };
502
563
  readonly methods: ApprovalLevelMethods;
503
564
  }
@@ -506,6 +567,29 @@ export interface ApprovalLevel {
506
567
  export interface ApprovalLevelMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.level'> {
507
568
  }
508
569
 
570
+ /** `approval.link` (owner: permissions). */
571
+ export interface ApprovalLink {
572
+ readonly name: 'approval.link';
573
+ readonly fields: {
574
+ readonly id: F.Id<'approval.link'>;
575
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
576
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
577
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
578
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
579
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
580
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
581
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
582
+ readonly tokenHash: F.Char<{ readonly required: true }>;
583
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
584
+ readonly usedAt: F.Datetime;
585
+ };
586
+ readonly methods: ApprovalLinkMethods;
587
+ }
588
+
589
+ /** Methods of `approval.link`: declared ones and transitions. */
590
+ export interface ApprovalLinkMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.link'> {
591
+ }
592
+
509
593
  /** `approval.policy` (owner: permissions). */
510
594
  export interface ApprovalPolicy {
511
595
  readonly name: 'approval.policy';
@@ -523,6 +607,9 @@ export interface ApprovalPolicy {
523
607
  readonly company: F.Many2one<'res.company'>;
524
608
  readonly onApproved: F.Char;
525
609
  readonly onRejected: F.Char;
610
+ readonly onSentBack: F.Char;
611
+ readonly onWithdrawn: F.Char;
612
+ readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
526
613
  readonly levels: F.One2many<'approval.level', { readonly required: true }>;
527
614
  };
528
615
  readonly methods: ApprovalPolicyMethods;
@@ -549,8 +636,16 @@ export interface ApprovalRequest {
549
636
  readonly targetModel: F.Char<{ readonly required: true }>;
550
637
  readonly targetId: F.Integer<{ readonly required: true }>;
551
638
  readonly company: F.Many2one<'res.company'>;
552
- readonly approverRole: F.Char<{ readonly required: true }>;
553
- readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'cancelled', { readonly required: true; readonly default: true }>;
639
+ readonly approverRole: F.Char;
640
+ readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
641
+ readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
642
+ readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
643
+ readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
644
+ readonly dueAt: F.Datetime;
645
+ readonly remindedAt: F.Datetime;
646
+ readonly escalatedTo: F.Char;
647
+ readonly escalatedAt: F.Datetime;
648
+ readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
554
649
  readonly requestedBy: F.Many2one<'res.users'>;
555
650
  readonly decidedBy: F.Many2one<'res.users'>;
556
651
  readonly decidedAt: F.Datetime;
@@ -563,6 +658,31 @@ export interface ApprovalRequest {
563
658
  export interface ApprovalRequestMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.request'> {
564
659
  }
565
660
 
661
+ /** `approval.vote` (owner: permissions). */
662
+ export interface ApprovalVote {
663
+ readonly name: 'approval.vote';
664
+ readonly fields: {
665
+ readonly id: F.Id<'approval.vote'>;
666
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
667
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
668
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
669
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
670
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
671
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
672
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
673
+ readonly decision: F.Selection<'approve' | 'reject' | 'send_back', { readonly required: true }>;
674
+ readonly comment: F.Text;
675
+ readonly at: F.Datetime<{ readonly required: true }>;
676
+ readonly onBehalfOf: F.Many2one<'res.users'>;
677
+ readonly ip: F.Char;
678
+ };
679
+ readonly methods: ApprovalVoteMethods;
680
+ }
681
+
682
+ /** Methods of `approval.vote`: declared ones and transitions. */
683
+ export interface ApprovalVoteMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.vote'> {
684
+ }
685
+
566
686
  /** `audit.event` (owner: base). */
567
687
  export interface AuditEvent {
568
688
  readonly name: 'audit.event';
@@ -779,6 +899,26 @@ export interface KoshSavedView {
779
899
  export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
780
900
  }
781
901
 
902
+ /** `kosh.setting` (owner: base). */
903
+ export interface KoshSetting {
904
+ readonly name: 'kosh.setting';
905
+ readonly fields: {
906
+ readonly id: F.Id<'kosh.setting'>;
907
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
908
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
909
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
910
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
911
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
912
+ readonly key: F.Char<{ readonly required: true }>;
913
+ readonly value: F.Json;
914
+ };
915
+ readonly methods: KoshSettingMethods;
916
+ }
917
+
918
+ /** Methods of `kosh.setting`: declared ones and transitions. */
919
+ export interface KoshSettingMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.setting'> {
920
+ }
921
+
782
922
  /** `mail.activity` (owner: messaging). */
783
923
  export interface MailActivity {
784
924
  readonly name: 'mail.activity';
@@ -1138,6 +1278,7 @@ export interface ProductCategory {
1138
1278
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1139
1279
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1140
1280
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1281
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1141
1282
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1142
1283
  readonly parent: F.Many2one<'product.category'>;
1143
1284
  };
@@ -1165,6 +1306,7 @@ export interface ProductProduct {
1165
1306
  readonly category: F.Many2one<'product.category'>;
1166
1307
  readonly uom: F.Many2one<'uom.uom'>;
1167
1308
  readonly barcode: F.Char;
1309
+ readonly image: F.Many2one<'storage.attachment'>;
1168
1310
  readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1169
1311
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
1170
1312
  readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
@@ -1195,6 +1337,7 @@ export interface ReportDashboard {
1195
1337
  readonly name: F.Char<{ readonly required: true }>;
1196
1338
  readonly items: F.Json<unknown, { readonly required: true; readonly default: true }>;
1197
1339
  readonly shared: F.Bool<{ readonly required: true; readonly default: true }>;
1340
+ readonly key: F.Char;
1198
1341
  };
1199
1342
  readonly methods: ReportDashboardMethods;
1200
1343
  }
@@ -1335,7 +1478,7 @@ export interface ResBankAccount {
1335
1478
  export interface ResBankAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.bank.account'> {
1336
1479
  }
1337
1480
 
1338
- /** `res.company` (owner: base; extended by: accounting). */
1481
+ /** `res.company` (owner: base; extended by: contacts, accounting). */
1339
1482
  export interface ResCompany {
1340
1483
  readonly name: 'res.company';
1341
1484
  readonly fields: {
@@ -1355,6 +1498,8 @@ export interface ResCompany {
1355
1498
  readonly email: F.Char;
1356
1499
  readonly phone: F.Char;
1357
1500
  readonly website: F.Char;
1501
+ readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
1502
+ readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
1358
1503
  readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
1359
1504
  readonly chartTemplate: F.Char; // accounting
1360
1505
  readonly country: F.Char; // accounting
@@ -1371,7 +1516,7 @@ export interface ResCompany {
1371
1516
  }
1372
1517
 
1373
1518
  /** Methods of `res.company`: declared ones and transitions. */
1374
- export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.company'> {
1519
+ 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'> {
1375
1520
  }
1376
1521
 
1377
1522
  /** `res.currency` (owner: base). */
@@ -1430,6 +1575,10 @@ export interface ResPartner {
1430
1575
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1431
1576
  readonly company: F.Many2one<'res.company', { readonly default: true }>;
1432
1577
  readonly name: F.Char<{ readonly required: true }>;
1578
+ readonly image: F.Many2one<'storage.attachment'>;
1579
+ readonly tags: F.Many2many<'res.partner.tag', { readonly required: true }>;
1580
+ readonly latitude: F.Decimal;
1581
+ readonly longitude: F.Decimal;
1433
1582
  readonly isCompany: F.Bool<{ readonly required: true; readonly default: true }>;
1434
1583
  readonly parent: F.Many2one<'res.partner'>;
1435
1584
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
@@ -1457,6 +1606,25 @@ export interface ResPartner {
1457
1606
  export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../portal/index.js').portalShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
1458
1607
  }
1459
1608
 
1609
+ /** `res.partner.tag` (owner: contacts). */
1610
+ export interface ResPartnerTag {
1611
+ readonly name: 'res.partner.tag';
1612
+ readonly fields: {
1613
+ readonly id: F.Id<'res.partner.tag'>;
1614
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1615
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1616
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1617
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1618
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1619
+ readonly name: F.Char<{ readonly required: true }>;
1620
+ };
1621
+ readonly methods: ResPartnerTagMethods;
1622
+ }
1623
+
1624
+ /** Methods of `res.partner.tag`: declared ones and transitions. */
1625
+ export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1626
+ }
1627
+
1460
1628
  /** `res.users` (owner: base; extended by: portal). */
1461
1629
  export interface ResUsers {
1462
1630
  readonly name: 'res.users';
@@ -1503,6 +1671,8 @@ export interface StorageAttachment {
1503
1671
  readonly key: F.Char<{ readonly required: true }>;
1504
1672
  readonly resModel: F.Char<{ readonly required: true }>;
1505
1673
  readonly resId: F.Integer<{ readonly required: true }>;
1674
+ readonly variantOf: F.Many2one<'storage.attachment'>;
1675
+ readonly width: F.Integer;
1506
1676
  };
1507
1677
  readonly methods: StorageAttachmentMethods;
1508
1678
  }