shutro-erp 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/dist/account_asset/.kosh/bindings.js +15 -0
  2. package/dist/{mrp_account → account_asset}/.kosh/schema.d.ts +785 -614
  3. package/dist/account_asset/board.d.ts +61 -0
  4. package/dist/account_asset/board.js +86 -0
  5. package/dist/account_asset/books.d.ts +42 -0
  6. package/dist/account_asset/books.js +398 -0
  7. package/dist/account_asset/demo.d.ts +7 -0
  8. package/dist/account_asset/demo.js +72 -0
  9. package/dist/account_asset/i18n/bn.d.ts +2 -0
  10. package/dist/account_asset/i18n/bn.js +97 -0
  11. package/dist/account_asset/index.d.ts +9 -0
  12. package/dist/account_asset/index.js +337 -0
  13. package/dist/account_asset/module.d.ts +11076 -0
  14. package/dist/account_asset/module.js +230 -0
  15. package/dist/account_budget/.kosh/bindings.js +15 -0
  16. package/dist/account_budget/.kosh/schema.d.ts +2841 -0
  17. package/dist/account_budget/budget.d.ts +5 -0
  18. package/dist/account_budget/budget.js +142 -0
  19. package/dist/account_budget/demo.d.ts +6 -0
  20. package/dist/account_budget/demo.js +30 -0
  21. package/dist/account_budget/i18n/bn.d.ts +2 -0
  22. package/dist/account_budget/i18n/bn.js +63 -0
  23. package/dist/account_budget/index.d.ts +4 -0
  24. package/dist/account_budget/index.js +237 -0
  25. package/dist/account_budget/module.d.ts +27289 -0
  26. package/dist/account_budget/module.js +182 -0
  27. package/dist/account_portal/.kosh/bindings.js +1 -1
  28. package/dist/account_portal/.kosh/schema.d.ts +651 -10
  29. package/dist/account_portal/i18n/bn.d.ts +2 -0
  30. package/dist/account_portal/i18n/bn.js +6 -0
  31. package/dist/account_portal/index.js +2 -0
  32. package/dist/account_portal/module.d.ts +5212 -1592
  33. package/dist/accounting/.kosh/bindings.js +1 -1
  34. package/dist/accounting/.kosh/schema.d.ts +651 -10
  35. package/dist/accounting/closing.js +1 -0
  36. package/dist/accounting/fiscal.d.ts +578 -0
  37. package/dist/accounting/fiscal.js +401 -0
  38. package/dist/accounting/followups.d.ts +618 -0
  39. package/dist/accounting/followups.js +420 -0
  40. package/dist/accounting/i18n/bn.d.ts +2 -0
  41. package/dist/accounting/i18n/bn.js +425 -0
  42. package/dist/accounting/index.d.ts +3 -1
  43. package/dist/accounting/index.js +780 -5
  44. package/dist/accounting/module.d.ts +5386 -1543
  45. package/dist/accounting/module.js +155 -18
  46. package/dist/accounting/statements.d.ts +878 -0
  47. package/dist/accounting/statements.js +728 -0
  48. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  49. package/dist/accounting/web/BankReconcilePage.js +138 -0
  50. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  51. package/dist/accounting/web/FollowupsPage.js +54 -0
  52. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  53. package/dist/accounting/web/PostingPreview.js +26 -0
  54. package/dist/accounting/web/index.d.ts +3 -0
  55. package/dist/accounting/web/index.js +9 -0
  56. package/dist/accounting/web/messages.js +140 -0
  57. package/dist/approvals/.kosh/bindings.d.ts +22 -0
  58. package/dist/approvals/.kosh/bindings.js +15 -0
  59. package/dist/approvals/.kosh/schema.d.ts +879 -0
  60. package/dist/approvals/demo.d.ts +7 -0
  61. package/dist/approvals/demo.js +41 -0
  62. package/dist/approvals/i18n/bn.d.ts +2 -0
  63. package/dist/approvals/i18n/bn.js +133 -0
  64. package/dist/approvals/index.d.ts +36 -0
  65. package/dist/approvals/index.js +772 -0
  66. package/dist/approvals/mails.d.ts +30 -0
  67. package/dist/approvals/mails.js +87 -0
  68. package/dist/approvals/module.d.ts +2930 -0
  69. package/dist/approvals/module.js +473 -0
  70. package/dist/approvals/web/Config.d.ts +12 -0
  71. package/dist/approvals/web/Config.js +60 -0
  72. package/dist/approvals/web/History.d.ts +4 -0
  73. package/dist/approvals/web/History.js +13 -0
  74. package/dist/approvals/web/Inbox.d.ts +9 -0
  75. package/dist/approvals/web/Inbox.js +114 -0
  76. package/dist/approvals/web/Matrix.d.ts +9 -0
  77. package/dist/approvals/web/Matrix.js +26 -0
  78. package/dist/approvals/web/Mine.d.ts +7 -0
  79. package/dist/approvals/web/Mine.js +27 -0
  80. package/dist/approvals/web/index.d.ts +15 -0
  81. package/dist/approvals/web/index.js +29 -0
  82. package/dist/approvals/web/messages.d.ts +2 -0
  83. package/dist/approvals/web/messages.js +211 -0
  84. package/dist/approvals/web/shared.d.ts +59 -0
  85. package/dist/approvals/web/shared.js +46 -0
  86. package/dist/approvals_purchase/.kosh/bindings.d.ts +22 -0
  87. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  88. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  89. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  90. package/dist/approvals_purchase/i18n/bn.js +5 -0
  91. package/dist/approvals_purchase/index.d.ts +3 -0
  92. package/dist/approvals_purchase/index.js +47 -0
  93. package/dist/approvals_purchase/module.d.ts +12670 -0
  94. package/dist/approvals_purchase/module.js +84 -0
  95. package/dist/attendance/.kosh/bindings.d.ts +22 -0
  96. package/dist/attendance/.kosh/bindings.js +15 -0
  97. package/dist/attendance/.kosh/schema.d.ts +1106 -0
  98. package/dist/attendance/days.d.ts +96 -0
  99. package/dist/attendance/days.js +430 -0
  100. package/dist/attendance/demo.d.ts +7 -0
  101. package/dist/attendance/demo.js +58 -0
  102. package/dist/attendance/i18n/bn.d.ts +2 -0
  103. package/dist/attendance/i18n/bn.js +147 -0
  104. package/dist/attendance/index.d.ts +4 -0
  105. package/dist/attendance/index.js +515 -0
  106. package/dist/attendance/module.d.ts +4413 -0
  107. package/dist/attendance/module.js +412 -0
  108. package/dist/attendance/routes.d.ts +16 -0
  109. package/dist/attendance/routes.js +266 -0
  110. package/dist/attendance/web/Check.d.ts +8 -0
  111. package/dist/attendance/web/Check.js +40 -0
  112. package/dist/attendance/web/Kiosk.d.ts +8 -0
  113. package/dist/attendance/web/Kiosk.js +62 -0
  114. package/dist/attendance/web/PinButton.d.ts +7 -0
  115. package/dist/attendance/web/PinButton.js +29 -0
  116. package/dist/attendance/web/index.d.ts +13 -0
  117. package/dist/attendance/web/index.js +22 -0
  118. package/dist/attendance/web/messages.d.ts +2 -0
  119. package/dist/attendance/web/messages.js +61 -0
  120. package/dist/automation/engine.js +1 -1
  121. package/dist/calendar/.kosh/bindings.js +1 -1
  122. package/dist/calendar/.kosh/schema.d.ts +2 -1
  123. package/dist/calendar/i18n/bn.d.ts +2 -0
  124. package/dist/calendar/i18n/bn.js +80 -0
  125. package/dist/calendar/index.js +77 -0
  126. package/dist/calendar/module.d.ts +26 -0
  127. package/dist/calendar/module.js +14 -4
  128. package/dist/cli/apps.js +25 -5
  129. package/dist/cli/init.js +46 -4
  130. package/dist/cli/templates.d.ts +1 -1
  131. package/dist/cli/templates.js +123 -5
  132. package/dist/contacts/.kosh/bindings.js +1 -1
  133. package/dist/contacts/.kosh/schema.d.ts +2 -1
  134. package/dist/contacts/i18n/bn.d.ts +2 -0
  135. package/dist/contacts/i18n/bn.js +67 -0
  136. package/dist/contacts/index.js +3 -0
  137. package/dist/contacts/module.d.ts +42 -0
  138. package/dist/contacts/module.js +19 -3
  139. package/dist/crm/.kosh/bindings.js +1 -1
  140. package/dist/crm/.kosh/schema.d.ts +3 -1
  141. package/dist/crm/i18n/bn.d.ts +2 -0
  142. package/dist/crm/i18n/bn.js +80 -0
  143. package/dist/crm/index.js +22 -0
  144. package/dist/crm/module.d.ts +22 -0
  145. package/dist/crm/module.js +6 -3
  146. package/dist/documents/.kosh/bindings.d.ts +22 -0
  147. package/dist/documents/.kosh/bindings.js +15 -0
  148. package/dist/documents/.kosh/schema.d.ts +863 -0
  149. package/dist/documents/demo.d.ts +6 -0
  150. package/dist/documents/demo.js +22 -0
  151. package/dist/documents/documents.d.ts +98 -0
  152. package/dist/documents/documents.js +318 -0
  153. package/dist/documents/i18n/bn.d.ts +2 -0
  154. package/dist/documents/i18n/bn.js +83 -0
  155. package/dist/documents/index.d.ts +30 -0
  156. package/dist/documents/index.js +569 -0
  157. package/dist/documents/module.d.ts +2801 -0
  158. package/dist/documents/module.js +215 -0
  159. package/dist/documents/web/Versions.d.ts +7 -0
  160. package/dist/documents/web/Versions.js +45 -0
  161. package/dist/documents/web/index.d.ts +11 -0
  162. package/dist/documents/web/index.js +16 -0
  163. package/dist/documents/web/messages.d.ts +2 -0
  164. package/dist/documents/web/messages.js +21 -0
  165. package/dist/event/.kosh/bindings.js +1 -1
  166. package/dist/event/.kosh/schema.d.ts +2 -1
  167. package/dist/event/i18n/bn.d.ts +2 -0
  168. package/dist/event/i18n/bn.js +101 -0
  169. package/dist/event/index.js +66 -0
  170. package/dist/event/module.d.ts +20 -0
  171. package/dist/event/module.js +8 -1
  172. package/dist/event_account/.kosh/bindings.js +1 -1
  173. package/dist/event_account/.kosh/schema.d.ts +651 -10
  174. package/dist/event_account/i18n/bn.d.ts +2 -0
  175. package/dist/event_account/i18n/bn.js +5 -0
  176. package/dist/event_account/index.js +2 -0
  177. package/dist/event_account/module.d.ts +5133 -1513
  178. package/dist/expense/.kosh/bindings.d.ts +22 -0
  179. package/dist/expense/.kosh/bindings.js +15 -0
  180. package/dist/expense/.kosh/schema.d.ts +1620 -0
  181. package/dist/expense/demo.d.ts +7 -0
  182. package/dist/expense/demo.js +69 -0
  183. package/dist/expense/i18n/bn.d.ts +2 -0
  184. package/dist/expense/i18n/bn.js +155 -0
  185. package/dist/expense/index.d.ts +3 -0
  186. package/dist/expense/index.js +502 -0
  187. package/dist/expense/module.d.ts +6768 -0
  188. package/dist/expense/module.js +649 -0
  189. package/dist/expense_account/.kosh/bindings.d.ts +22 -0
  190. package/dist/expense_account/.kosh/bindings.js +15 -0
  191. package/dist/expense_account/.kosh/schema.d.ts +2515 -0
  192. package/dist/expense_account/i18n/bn.d.ts +2 -0
  193. package/dist/expense_account/i18n/bn.js +15 -0
  194. package/dist/expense_account/index.d.ts +3 -0
  195. package/dist/expense_account/index.js +76 -0
  196. package/dist/expense_account/module.d.ts +14628 -0
  197. package/dist/expense_account/module.js +318 -0
  198. package/dist/helpdesk/.kosh/bindings.d.ts +22 -0
  199. package/dist/helpdesk/.kosh/bindings.js +15 -0
  200. package/dist/helpdesk/.kosh/schema.d.ts +886 -0
  201. package/dist/helpdesk/demo.d.ts +7 -0
  202. package/dist/helpdesk/demo.js +65 -0
  203. package/dist/helpdesk/hours.d.ts +17 -0
  204. package/dist/helpdesk/hours.js +94 -0
  205. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  206. package/dist/helpdesk/i18n/bn.js +127 -0
  207. package/dist/helpdesk/index.d.ts +10 -0
  208. package/dist/helpdesk/index.js +463 -0
  209. package/dist/helpdesk/module.d.ts +2960 -0
  210. package/dist/helpdesk/module.js +326 -0
  211. package/dist/helpdesk/routes.d.ts +12 -0
  212. package/dist/helpdesk/routes.js +132 -0
  213. package/dist/helpdesk/sla.d.ts +37 -0
  214. package/dist/helpdesk/sla.js +226 -0
  215. package/dist/hr/.kosh/bindings.js +1 -1
  216. package/dist/hr/.kosh/schema.d.ts +59 -1
  217. package/dist/hr/demo.js +11 -1
  218. package/dist/hr/i18n/bn.d.ts +2 -0
  219. package/dist/hr/i18n/bn.js +126 -0
  220. package/dist/hr/index.d.ts +1 -1
  221. package/dist/hr/index.js +158 -12
  222. package/dist/hr/module.d.ts +932 -59
  223. package/dist/hr/module.js +114 -17
  224. package/dist/indent/.kosh/bindings.d.ts +22 -0
  225. package/dist/indent/.kosh/bindings.js +15 -0
  226. package/dist/indent/.kosh/schema.d.ts +2084 -0
  227. package/dist/indent/demo.d.ts +7 -0
  228. package/dist/indent/demo.js +48 -0
  229. package/dist/indent/i18n/bn.d.ts +2 -0
  230. package/dist/indent/i18n/bn.js +143 -0
  231. package/dist/indent/index.d.ts +3 -0
  232. package/dist/indent/index.js +450 -0
  233. package/dist/indent/module.d.ts +13424 -0
  234. package/dist/indent/module.js +792 -0
  235. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  236. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  237. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  238. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  239. package/dist/indent_purchase/i18n/bn.js +13 -0
  240. package/dist/indent_purchase/index.d.ts +3 -0
  241. package/dist/indent_purchase/index.js +61 -0
  242. package/dist/indent_purchase/module.d.ts +27950 -0
  243. package/dist/indent_purchase/module.js +163 -0
  244. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  245. package/dist/l10n_bd/.kosh/schema.d.ts +651 -10
  246. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  247. package/dist/l10n_bd/i18n/bn.js +69 -0
  248. package/dist/l10n_bd/index.js +2 -0
  249. package/dist/l10n_bd/module.d.ts +5212 -1592
  250. package/dist/l10n_bd_payroll/.kosh/bindings.d.ts +22 -0
  251. package/dist/l10n_bd_payroll/.kosh/bindings.js +15 -0
  252. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +2891 -0
  253. package/dist/l10n_bd_payroll/data.d.ts +47 -0
  254. package/dist/l10n_bd_payroll/data.js +347 -0
  255. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  256. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  257. package/dist/l10n_bd_payroll/index.d.ts +4 -0
  258. package/dist/l10n_bd_payroll/index.js +26 -0
  259. package/dist/l10n_bd_payroll/module.d.ts +17294 -0
  260. package/dist/l10n_bd_payroll/module.js +86 -0
  261. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  262. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  263. package/dist/l10n_bd_pos/.kosh/schema.d.ts +2341 -0
  264. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  265. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  266. package/dist/l10n_bd_pos/index.d.ts +3 -0
  267. package/dist/l10n_bd_pos/index.js +111 -0
  268. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +9047 -6981
  269. package/dist/l10n_bd_pos/module.js +43 -0
  270. package/dist/l10n_in/.kosh/bindings.js +1 -1
  271. package/dist/l10n_in/.kosh/schema.d.ts +651 -10
  272. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  273. package/dist/l10n_in/i18n/bn.js +95 -0
  274. package/dist/l10n_in/index.js +2 -0
  275. package/dist/l10n_in/module.d.ts +6778 -1580
  276. package/dist/l10n_in/module.js +25 -5
  277. package/dist/l10n_in/web/GstSettings.js +2 -2
  278. package/dist/mail/inbound/handle.js +8 -5
  279. package/dist/mail/inbound/models.js +5 -3
  280. package/dist/mail/index.d.ts +12 -1
  281. package/dist/mail/index.js +139 -2
  282. package/dist/mail/send.d.ts +56 -0
  283. package/dist/mail/send.js +394 -0
  284. package/dist/mail/web/SendButton.d.ts +9 -0
  285. package/dist/mail/web/SendButton.js +71 -0
  286. package/dist/mail/web/SendSelected.d.ts +8 -0
  287. package/dist/mail/web/SendSelected.js +33 -0
  288. package/dist/mail/web/index.d.ts +2 -0
  289. package/dist/mail/web/index.js +6 -0
  290. package/dist/mail/web/messages.js +36 -0
  291. package/dist/maintenance/.kosh/bindings.js +1 -1
  292. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  293. package/dist/maintenance/i18n/bn.d.ts +2 -0
  294. package/dist/maintenance/i18n/bn.js +132 -0
  295. package/dist/maintenance/index.js +85 -0
  296. package/dist/maintenance/module.d.ts +25 -0
  297. package/dist/maintenance/module.js +27 -9
  298. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  299. package/dist/maintenance_stock/.kosh/schema.d.ts +374 -3
  300. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  301. package/dist/maintenance_stock/i18n/bn.js +21 -0
  302. package/dist/maintenance_stock/index.js +2 -0
  303. package/dist/maintenance_stock/module.d.ts +6095 -1327
  304. package/dist/maintenance_stock/module.js +1 -0
  305. package/dist/modules-sdk/apps.d.ts +10 -0
  306. package/dist/modules-sdk/apps.js +32 -0
  307. package/dist/modules-sdk/index.d.ts +1 -1
  308. package/dist/modules-sdk/manifest.d.ts +105 -2
  309. package/dist/payment/.kosh/bindings.js +1 -1
  310. package/dist/payment/.kosh/schema.d.ts +653 -11
  311. package/dist/payment/i18n/bn.d.ts +2 -0
  312. package/dist/payment/i18n/bn.js +59 -0
  313. package/dist/payment/index.d.ts +41 -0
  314. package/dist/payment/index.js +216 -74
  315. package/dist/payment/module.d.ts +5353 -1675
  316. package/dist/payment/module.js +36 -6
  317. package/dist/payment/settle.js +11 -1
  318. package/dist/payroll/.kosh/bindings.d.ts +22 -0
  319. package/dist/payroll/.kosh/bindings.js +15 -0
  320. package/dist/payroll/.kosh/schema.d.ts +1448 -0
  321. package/dist/payroll/compute.d.ts +35 -0
  322. package/dist/payroll/compute.js +398 -0
  323. package/dist/payroll/demo.d.ts +55 -0
  324. package/dist/payroll/demo.js +121 -0
  325. package/dist/payroll/formula.d.ts +62 -0
  326. package/dist/payroll/formula.js +320 -0
  327. package/dist/payroll/i18n/bn.d.ts +2 -0
  328. package/dist/payroll/i18n/bn.js +206 -0
  329. package/dist/payroll/index.d.ts +230 -0
  330. package/dist/payroll/index.js +715 -0
  331. package/dist/{mrp → payroll}/module.d.ts +4294 -2624
  332. package/dist/payroll/module.js +606 -0
  333. package/dist/payroll/routes.d.ts +10 -0
  334. package/dist/payroll/routes.js +112 -0
  335. package/dist/payroll_account/.kosh/bindings.d.ts +22 -0
  336. package/dist/payroll_account/.kosh/bindings.js +15 -0
  337. package/dist/payroll_account/.kosh/schema.d.ts +2887 -0
  338. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  339. package/dist/payroll_account/i18n/bn.js +10 -0
  340. package/dist/payroll_account/index.d.ts +3 -0
  341. package/dist/payroll_account/index.js +42 -0
  342. package/dist/payroll_account/module.d.ts +16738 -0
  343. package/dist/payroll_account/module.js +256 -0
  344. package/dist/permissions/approvals.d.ts +227 -12
  345. package/dist/permissions/approvals.js +1421 -67
  346. package/dist/permissions/index.d.ts +1 -1
  347. package/dist/permissions/index.js +2 -2
  348. package/dist/permissions/models.js +364 -13
  349. package/dist/permissions/routes.d.ts +9 -1
  350. package/dist/permissions/routes.js +72 -5
  351. package/dist/permissions/web/ApprovalPanel.d.ts +5 -4
  352. package/dist/permissions/web/ApprovalPanel.js +75 -11
  353. package/dist/permissions/web/index.d.ts +6 -4
  354. package/dist/permissions/web/index.js +13 -4
  355. package/dist/permissions/web/messages.d.ts +2 -0
  356. package/dist/permissions/web/messages.js +95 -0
  357. package/dist/portal/.kosh/bindings.js +1 -1
  358. package/dist/portal/.kosh/schema.d.ts +2 -1
  359. package/dist/portal/documents.d.ts +3 -0
  360. package/dist/portal/documents.js +21 -1
  361. package/dist/portal/i18n/bn.d.ts +2 -0
  362. package/dist/portal/i18n/bn.js +33 -0
  363. package/dist/portal/index.js +3 -1
  364. package/dist/portal/module.d.ts +20 -0
  365. package/dist/portal/routes-documents.js +76 -0
  366. package/dist/pos/.kosh/bindings.js +1 -1
  367. package/dist/pos/.kosh/schema.d.ts +652 -10
  368. package/dist/pos/i18n/bn.d.ts +2 -0
  369. package/dist/pos/i18n/bn.js +133 -0
  370. package/dist/pos/index.js +87 -1
  371. package/dist/pos/module.d.ts +6967 -1709
  372. package/dist/pos/module.js +49 -5
  373. package/dist/pos/routes.js +80 -7
  374. package/dist/pos/web/Register.js +2 -5
  375. package/dist/pos_stock/.kosh/bindings.js +1 -1
  376. package/dist/pos_stock/.kosh/schema.d.ts +822 -12
  377. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  378. package/dist/pos_stock/i18n/bn.js +6 -0
  379. package/dist/pos_stock/index.js +2 -0
  380. package/dist/pos_stock/module.d.ts +11241 -2851
  381. package/dist/product/.kosh/bindings.js +1 -1
  382. package/dist/product/.kosh/schema.d.ts +203 -1
  383. package/dist/product/i18n/bn.d.ts +2 -0
  384. package/dist/product/i18n/bn.js +175 -0
  385. package/dist/product/index.d.ts +1 -0
  386. package/dist/product/index.js +301 -1
  387. package/dist/product/module.d.ts +1727 -0
  388. package/dist/product/module.js +67 -6
  389. package/dist/product/pricelist.d.ts +575 -0
  390. package/dist/product/pricelist.js +257 -0
  391. package/dist/product/variants.d.ts +908 -0
  392. package/dist/product/variants.js +251 -0
  393. package/dist/production/.kosh/bindings.d.ts +22 -0
  394. package/dist/production/.kosh/bindings.js +15 -0
  395. package/dist/production/.kosh/schema.d.ts +2345 -0
  396. package/dist/{mrp → production}/demo.d.ts +1 -1
  397. package/dist/{mrp → production}/demo.js +5 -5
  398. package/dist/production/depth.d.ts +790 -0
  399. package/dist/production/depth.js +262 -0
  400. package/dist/production/i18n/bn.d.ts +2 -0
  401. package/dist/production/i18n/bn.js +350 -0
  402. package/dist/production/index.d.ts +6 -0
  403. package/dist/production/index.js +1256 -0
  404. package/dist/production/module.d.ts +17327 -0
  405. package/dist/production/module.js +1333 -0
  406. package/dist/production/plan.d.ts +921 -0
  407. package/dist/production/plan.js +511 -0
  408. package/dist/production/schedule.d.ts +656 -0
  409. package/dist/production/schedule.js +309 -0
  410. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  411. package/dist/production_account/.kosh/bindings.js +15 -0
  412. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  413. package/dist/production_account/i18n/bn.d.ts +2 -0
  414. package/dist/production_account/i18n/bn.js +93 -0
  415. package/dist/production_account/index.d.ts +4 -0
  416. package/dist/production_account/index.js +246 -0
  417. package/dist/production_account/module.d.ts +1192 -0
  418. package/dist/{mrp_account → production_account}/module.js +72 -18
  419. package/dist/production_account/overhead.d.ts +1195 -0
  420. package/dist/production_account/overhead.js +554 -0
  421. package/dist/project/.kosh/bindings.js +1 -1
  422. package/dist/project/.kosh/schema.d.ts +735 -1
  423. package/dist/project/i18n/bn.d.ts +2 -0
  424. package/dist/project/i18n/bn.js +383 -0
  425. package/dist/project/index.d.ts +3 -1
  426. package/dist/project/index.js +1024 -14
  427. package/dist/project/module.d.ts +9912 -390
  428. package/dist/project/module.js +1590 -14
  429. package/dist/project/routes.d.ts +44 -0
  430. package/dist/project/routes.js +314 -0
  431. package/dist/project/schedule.d.ts +72 -0
  432. package/dist/project/schedule.js +192 -0
  433. package/dist/project/web/Refresh.d.ts +8 -0
  434. package/dist/project/web/Refresh.js +29 -0
  435. package/dist/project/web/Schedule.d.ts +9 -0
  436. package/dist/project/web/Schedule.js +93 -0
  437. package/dist/project/web/Structure.d.ts +8 -0
  438. package/dist/project/web/Structure.js +86 -0
  439. package/dist/project/web/Workload.d.ts +8 -0
  440. package/dist/project/web/Workload.js +43 -0
  441. package/dist/project/web/index.d.ts +14 -0
  442. package/dist/project/web/index.js +25 -0
  443. package/dist/project/web/messages.d.ts +2 -0
  444. package/dist/project/web/messages.js +85 -0
  445. package/dist/project_account/.kosh/bindings.d.ts +22 -0
  446. package/dist/project_account/.kosh/bindings.js +15 -0
  447. package/dist/project_account/.kosh/schema.d.ts +2763 -0
  448. package/dist/project_account/i18n/bn.d.ts +2 -0
  449. package/dist/project_account/i18n/bn.js +6 -0
  450. package/dist/project_account/index.d.ts +3 -0
  451. package/dist/project_account/index.js +29 -0
  452. package/dist/project_account/module.d.ts +15013 -0
  453. package/dist/project_account/module.js +76 -0
  454. package/dist/project_portal/.kosh/bindings.js +1 -1
  455. package/dist/project_portal/.kosh/schema.d.ts +735 -1
  456. package/dist/project_portal/i18n/bn.d.ts +2 -0
  457. package/dist/project_portal/i18n/bn.js +6 -0
  458. package/dist/project_portal/index.js +2 -0
  459. package/dist/project_portal/module.d.ts +4796 -87
  460. package/dist/project_purchase/.kosh/bindings.d.ts +22 -0
  461. package/dist/project_purchase/.kosh/bindings.js +15 -0
  462. package/dist/project_purchase/.kosh/schema.d.ts +3393 -0
  463. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  464. package/dist/project_purchase/i18n/bn.js +4 -0
  465. package/dist/project_purchase/index.d.ts +9 -0
  466. package/dist/project_purchase/index.js +24 -0
  467. package/dist/project_purchase/module.d.ts +38613 -0
  468. package/dist/project_purchase/module.js +56 -0
  469. package/dist/purchase/.kosh/bindings.js +1 -1
  470. package/dist/purchase/.kosh/schema.d.ts +908 -5
  471. package/dist/purchase/comparison.d.ts +993 -0
  472. package/dist/purchase/comparison.js +415 -0
  473. package/dist/purchase/extras.d.ts +1509 -0
  474. package/dist/purchase/extras.js +445 -0
  475. package/dist/purchase/i18n/bn.d.ts +2 -0
  476. package/dist/purchase/i18n/bn.js +413 -0
  477. package/dist/purchase/index.d.ts +5 -0
  478. package/dist/purchase/index.js +1280 -4
  479. package/dist/purchase/module.d.ts +7147 -395
  480. package/dist/purchase/module.js +303 -10
  481. package/dist/purchase/request.d.ts +696 -0
  482. package/dist/purchase/request.js +446 -0
  483. package/dist/purchase/tender.d.ts +1208 -0
  484. package/dist/purchase/tender.js +507 -0
  485. package/dist/purchase/vendorprice.d.ts +340 -0
  486. package/dist/purchase/vendorprice.js +153 -0
  487. package/dist/purchase_account/.kosh/bindings.js +1 -1
  488. package/dist/purchase_account/.kosh/schema.d.ts +1209 -16
  489. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  490. package/dist/purchase_account/i18n/bn.js +22 -0
  491. package/dist/purchase_account/index.js +20 -0
  492. package/dist/purchase_account/module.d.ts +12232 -2028
  493. package/dist/purchase_account/module.js +252 -9
  494. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  495. package/dist/purchase_portal/.kosh/schema.d.ts +908 -5
  496. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  497. package/dist/purchase_portal/i18n/bn.js +5 -0
  498. package/dist/purchase_portal/index.js +2 -0
  499. package/dist/purchase_portal/module.d.ts +6853 -352
  500. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  501. package/dist/purchase_stock/.kosh/schema.d.ts +1096 -21
  502. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  503. package/dist/purchase_stock/i18n/bn.js +19 -0
  504. package/dist/purchase_stock/index.d.ts +2 -2
  505. package/dist/purchase_stock/index.js +38 -2
  506. package/dist/purchase_stock/module.d.ts +12930 -1612
  507. package/dist/purchase_stock/module.js +317 -9
  508. package/dist/purchase_stock/scorecard.d.ts +22 -0
  509. package/dist/purchase_stock/scorecard.js +77 -0
  510. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  511. package/dist/purchase_stock/web/Scorecard.js +22 -0
  512. package/dist/purchase_stock/web/index.d.ts +11 -0
  513. package/dist/purchase_stock/web/index.js +16 -0
  514. package/dist/purchase_stock/web/messages.d.ts +2 -0
  515. package/dist/purchase_stock/web/messages.js +27 -0
  516. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  517. package/dist/purchase_stock_account/.kosh/schema.d.ts +1444 -20
  518. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  519. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  520. package/dist/purchase_stock_account/index.js +18 -0
  521. package/dist/purchase_stock_account/module.d.ts +7 -35346
  522. package/dist/purchase_stock_account/module.js +35 -8
  523. package/dist/recruitment/.kosh/bindings.js +1 -1
  524. package/dist/recruitment/.kosh/schema.d.ts +60 -1
  525. package/dist/recruitment/i18n/bn.d.ts +2 -0
  526. package/dist/recruitment/i18n/bn.js +93 -0
  527. package/dist/recruitment/index.js +64 -0
  528. package/dist/recruitment/module.d.ts +460 -8
  529. package/dist/recruitment/module.js +13 -4
  530. package/dist/reporting/documents.d.ts +5 -0
  531. package/dist/reporting/documents.js +11 -1
  532. package/dist/reporting/index.d.ts +1 -1
  533. package/dist/reporting/index.js +1 -1
  534. package/dist/reporting/web/CalendarView.d.ts +18 -5
  535. package/dist/reporting/web/CalendarView.js +163 -29
  536. package/dist/reporting/web/messages.js +18 -0
  537. package/dist/sale_account/.kosh/bindings.js +1 -1
  538. package/dist/sale_account/.kosh/schema.d.ts +763 -18
  539. package/dist/sale_account/i18n/bn.d.ts +2 -0
  540. package/dist/sale_account/i18n/bn.js +48 -0
  541. package/dist/sale_account/index.d.ts +1 -1
  542. package/dist/sale_account/index.js +102 -4
  543. package/dist/sale_account/module.d.ts +8241 -2052
  544. package/dist/sale_account/module.js +535 -46
  545. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  546. package/dist/sale_crm/.kosh/bindings.js +15 -0
  547. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +391 -494
  548. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  549. package/dist/sale_crm/i18n/bn.js +9 -0
  550. package/dist/sale_crm/index.d.ts +7 -0
  551. package/dist/sale_crm/index.js +104 -0
  552. package/dist/sale_crm/module.d.ts +5609 -0
  553. package/dist/sale_crm/module.js +73 -0
  554. package/dist/sale_portal/.kosh/bindings.js +1 -1
  555. package/dist/sale_portal/.kosh/schema.d.ts +292 -4
  556. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  557. package/dist/sale_portal/i18n/bn.js +7 -0
  558. package/dist/sale_portal/index.js +10 -0
  559. package/dist/sale_portal/module.d.ts +2563 -292
  560. package/dist/sale_project/.kosh/bindings.js +1 -1
  561. package/dist/sale_project/.kosh/schema.d.ts +1025 -4
  562. package/dist/sale_project/i18n/bn.d.ts +2 -0
  563. package/dist/sale_project/i18n/bn.js +12 -0
  564. package/dist/sale_project/index.js +2 -0
  565. package/dist/sale_project/module.d.ts +9280 -762
  566. package/dist/sale_project/module.js +17 -1
  567. package/dist/sale_stock/.kosh/bindings.js +1 -1
  568. package/dist/sale_stock/.kosh/schema.d.ts +463 -6
  569. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  570. package/dist/sale_stock/i18n/bn.js +15 -0
  571. package/dist/sale_stock/index.js +2 -0
  572. package/dist/sale_stock/module.d.ts +8355 -1334
  573. package/dist/sale_stock/module.js +20 -3
  574. package/dist/sales/.kosh/bindings.js +1 -1
  575. package/dist/sales/.kosh/schema.d.ts +292 -4
  576. package/dist/sales/i18n/bn.d.ts +2 -0
  577. package/dist/sales/i18n/bn.js +128 -0
  578. package/dist/sales/index.js +124 -5
  579. package/dist/sales/module.d.ts +3568 -633
  580. package/dist/sales/module.js +306 -11
  581. package/dist/server/api/duplicate.d.ts +14 -0
  582. package/dist/server/api/duplicate.js +75 -0
  583. package/dist/server/api/explain.d.ts +70 -0
  584. package/dist/server/api/explain.js +111 -0
  585. package/dist/server/api/metadata.d.ts +2 -0
  586. package/dist/server/api/metadata.js +9 -0
  587. package/dist/server/api/openapi.js +15 -0
  588. package/dist/server/api/rest.d.ts +1 -0
  589. package/dist/server/api/rest.js +76 -12
  590. package/dist/server/api/views.js +1 -1
  591. package/dist/server/apps.d.ts +16 -1
  592. package/dist/server/apps.js +164 -2
  593. package/dist/server/auth/base.js +2 -0
  594. package/dist/server/auth/service.d.ts +8 -0
  595. package/dist/server/auth/service.js +19 -0
  596. package/dist/server/events.d.ts +13 -0
  597. package/dist/server/events.js +22 -0
  598. package/dist/server/i18n.d.ts +27 -0
  599. package/dist/server/i18n.js +143 -0
  600. package/dist/server/index.d.ts +2 -0
  601. package/dist/server/index.js +2 -0
  602. package/dist/server/server.js +6 -0
  603. package/dist/settings/company.d.ts +3 -1
  604. package/dist/settings/company.js +26 -5
  605. package/dist/settings/routes.d.ts +10 -0
  606. package/dist/settings/routes.js +19 -3
  607. package/dist/settings/web/AppsPage.d.ts +3 -2
  608. package/dist/settings/web/AppsPage.js +26 -8
  609. package/dist/settings/web/CompaniesPage.js +91 -6
  610. package/dist/settings/web/messages.js +64 -0
  611. package/dist/sign/.kosh/bindings.d.ts +22 -0
  612. package/dist/{mrp → sign}/.kosh/bindings.js +2 -2
  613. package/dist/sign/.kosh/schema.d.ts +991 -0
  614. package/dist/sign/i18n/bn.d.ts +2 -0
  615. package/dist/sign/i18n/bn.js +97 -0
  616. package/dist/sign/index.d.ts +29 -0
  617. package/dist/sign/index.js +478 -0
  618. package/dist/sign/module.d.ts +4518 -0
  619. package/dist/sign/module.js +167 -0
  620. package/dist/sign/sign.d.ts +82 -0
  621. package/dist/sign/sign.js +474 -0
  622. package/dist/stock/.kosh/bindings.js +1 -1
  623. package/dist/stock/.kosh/schema.d.ts +374 -3
  624. package/dist/stock/demo.d.ts +2 -1
  625. package/dist/stock/demo.js +28 -1
  626. package/dist/stock/i18n/bn.d.ts +2 -0
  627. package/dist/stock/i18n/bn.js +311 -0
  628. package/dist/stock/index.d.ts +4 -1
  629. package/dist/stock/index.js +674 -6
  630. package/dist/stock/ledger.d.ts +78 -0
  631. package/dist/stock/ledger.js +582 -0
  632. package/dist/stock/module.d.ts +6142 -1380
  633. package/dist/stock/module.js +780 -26
  634. package/dist/stock/replenish.d.ts +38 -0
  635. package/dist/stock/replenish.js +191 -0
  636. package/dist/stock/returns.d.ts +157 -0
  637. package/dist/stock/returns.js +163 -0
  638. package/dist/stock/web/Ledger.d.ts +9 -0
  639. package/dist/stock/web/Ledger.js +108 -0
  640. package/dist/stock/web/Operations.d.ts +8 -0
  641. package/dist/stock/web/Operations.js +33 -0
  642. package/dist/stock/web/Replenishment.d.ts +8 -0
  643. package/dist/stock/web/Replenishment.js +84 -0
  644. package/dist/stock/web/ReturnButton.d.ts +7 -0
  645. package/dist/stock/web/ReturnButton.js +62 -0
  646. package/dist/stock/web/index.d.ts +7 -2
  647. package/dist/stock/web/index.js +15 -2
  648. package/dist/stock/web/messages.js +206 -0
  649. package/dist/stock_account/.kosh/bindings.js +1 -1
  650. package/dist/stock_account/.kosh/schema.d.ts +878 -12
  651. package/dist/stock_account/i18n/bn.d.ts +2 -0
  652. package/dist/stock_account/i18n/bn.js +73 -0
  653. package/dist/stock_account/index.d.ts +1 -0
  654. package/dist/stock_account/index.js +141 -3
  655. package/dist/stock_account/landed.d.ts +429 -0
  656. package/dist/stock_account/landed.js +335 -0
  657. package/dist/stock_account/module.d.ts +12143 -3391
  658. package/dist/stock_account/module.js +135 -6
  659. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  660. package/dist/stock_account/web/LandedPreview.js +23 -0
  661. package/dist/stock_account/web/index.d.ts +11 -0
  662. package/dist/stock_account/web/index.js +16 -0
  663. package/dist/stock_account/web/messages.d.ts +2 -0
  664. package/dist/stock_account/web/messages.js +27 -0
  665. package/dist/todo/i18n/bn.d.ts +2 -0
  666. package/dist/todo/i18n/bn.js +66 -0
  667. package/dist/todo/index.js +59 -0
  668. package/dist/todo/module.d.ts +5 -0
  669. package/dist/todo/module.js +5 -3
  670. package/dist/trade_finance/.kosh/bindings.js +1 -1
  671. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  672. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  673. package/dist/trade_finance/i18n/bn.js +162 -0
  674. package/dist/trade_finance/index.js +95 -0
  675. package/dist/trade_finance/module.d.ts +26 -0
  676. package/dist/trade_finance/module.js +29 -8
  677. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  678. package/dist/trade_finance_account/.kosh/schema.d.ts +651 -10
  679. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  680. package/dist/trade_finance_account/i18n/bn.js +27 -0
  681. package/dist/trade_finance_account/index.js +3 -0
  682. package/dist/trade_finance_account/module.d.ts +5129 -1509
  683. package/dist/trade_finance_account/module.js +2 -0
  684. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  685. package/dist/trade_finance_purchase/.kosh/schema.d.ts +908 -5
  686. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  687. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  688. package/dist/trade_finance_purchase/index.js +2 -0
  689. package/dist/trade_finance_purchase/module.d.ts +6909 -408
  690. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  691. package/dist/trade_finance_sale/.kosh/schema.d.ts +292 -4
  692. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  693. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  694. package/dist/trade_finance_sale/index.js +2 -0
  695. package/dist/trade_finance_sale/module.d.ts +2602 -331
  696. package/dist/ui/api.d.ts +2 -0
  697. package/dist/ui/app.d.ts +9 -0
  698. package/dist/ui/app.js +47 -15
  699. package/dist/ui/components/AppIcon.js +9 -2
  700. package/dist/ui/components/Explain.d.ts +69 -0
  701. package/dist/ui/components/Explain.js +62 -0
  702. package/dist/ui/context.d.ts +8 -1
  703. package/dist/ui/context.js +34 -1
  704. package/dist/ui/i18n/messages.d.ts +40 -0
  705. package/dist/ui/i18n/messages.js +80 -0
  706. package/dist/ui/index.d.ts +2 -1
  707. package/dist/ui/index.js +1 -0
  708. package/dist/ui/registry.d.ts +14 -0
  709. package/dist/ui/registry.js +10 -0
  710. package/dist/ui/views/FormView.d.ts +6 -0
  711. package/dist/ui/views/FormView.js +51 -12
  712. package/dist/ui/views/KanbanView.js +9 -1
  713. package/dist/ui/views/ListView.d.ts +8 -0
  714. package/dist/ui/views/ListView.js +14 -5
  715. package/dist/ui/views/StatsRow.js +2 -1
  716. package/dist/ui/views/widgets.js +7 -1
  717. package/dist/views/extend.js +12 -0
  718. package/dist/views/types.d.ts +13 -2
  719. package/dist/views/validate.js +8 -1
  720. package/dist/website/.kosh/bindings.js +1 -1
  721. package/dist/website/.kosh/schema.d.ts +2 -1
  722. package/dist/website/i18n/bn.d.ts +2 -0
  723. package/dist/website/i18n/bn.js +113 -0
  724. package/dist/website/index.js +37 -0
  725. package/dist/website/module.d.ts +20 -0
  726. package/dist/website/module.js +30 -5
  727. package/dist/website_crm/.kosh/bindings.js +1 -1
  728. package/dist/website_crm/.kosh/schema.d.ts +3 -1
  729. package/dist/website_crm/i18n/bn.d.ts +2 -0
  730. package/dist/website_crm/i18n/bn.js +5 -0
  731. package/dist/website_crm/index.js +2 -0
  732. package/dist/website_crm/module.d.ts +41 -0
  733. package/dist/website_sale/.kosh/bindings.d.ts +22 -0
  734. package/dist/website_sale/.kosh/bindings.js +15 -0
  735. package/dist/website_sale/.kosh/schema.d.ts +2909 -0
  736. package/dist/website_sale/couriers.d.ts +50 -0
  737. package/dist/website_sale/couriers.js +59 -0
  738. package/dist/website_sale/demo.d.ts +7 -0
  739. package/dist/website_sale/demo.js +90 -0
  740. package/dist/website_sale/growth.d.ts +31 -0
  741. package/dist/website_sale/growth.js +163 -0
  742. package/dist/website_sale/i18n/bn.d.ts +2 -0
  743. package/dist/website_sale/i18n/bn.js +132 -0
  744. package/dist/website_sale/index.d.ts +49 -0
  745. package/dist/website_sale/index.js +620 -0
  746. package/dist/website_sale/module.d.ts +35182 -0
  747. package/dist/website_sale/module.js +419 -0
  748. package/dist/website_sale/shipments.d.ts +16 -0
  749. package/dist/website_sale/shipments.js +113 -0
  750. package/dist/website_sale/shop.d.ts +81 -0
  751. package/dist/website_sale/shop.js +662 -0
  752. package/dist/website_sale_stock/.kosh/bindings.d.ts +22 -0
  753. package/dist/website_sale_stock/.kosh/bindings.js +15 -0
  754. package/dist/website_sale_stock/.kosh/schema.d.ts +3400 -0
  755. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  756. package/dist/website_sale_stock/i18n/bn.js +4 -0
  757. package/dist/website_sale_stock/index.d.ts +9 -0
  758. package/dist/website_sale_stock/index.js +22 -0
  759. package/dist/website_sale_stock/module.d.ts +11 -0
  760. package/dist/website_sale_stock/module.js +32 -0
  761. package/package.json +117 -8
  762. package/dist/mrp/index.d.ts +0 -3
  763. package/dist/mrp/index.js +0 -392
  764. package/dist/mrp/module.js +0 -695
  765. package/dist/mrp_account/index.d.ts +0 -3
  766. package/dist/mrp_account/index.js +0 -22
  767. /package/dist/{mrp → account_asset}/.kosh/bindings.d.ts +0 -0
  768. /package/dist/{mrp_account → account_budget}/.kosh/bindings.d.ts +0 -0
@@ -18,9 +18,13 @@ import { messagingShutro } from '../messaging/index.js';
18
18
  import { approvalGuard, permissionsShutro, requestApprovals } from '../permissions/index.js';
19
19
  import { computeTaxes, productShutro, taxRule } from '../product/index.js';
20
20
  import { reportingShutro } from '../reporting/index.js';
21
+ import { emitting } from '../server/index.js';
21
22
  import { orm } from '../server/orm.js';
22
23
  import { check, compute, defineModel, defineModule, extendModel, f, method, onchange, record, records, ref, } from './.kosh/bindings.js';
24
+ import { AccountFiscalPosition, AccountFiscalPositionAccount, AccountFiscalPositionTax, applyFiscalPositions, CategoryAccounts, determineAccounts, PartnerAccounts, ProductAccounts, } from './fiscal.js';
25
+ import { AccountFollowup, AccountFollowupLevel, AccountFollowupSent } from './followups.js';
23
26
  import { postPayments } from './payments.js';
27
+ import { AccountBankStatement, AccountBankStatementLine, AccountReconcileRule, } from './statements.js';
24
28
  const READ = ['read'];
25
29
  const WRITE = ['read', 'write', 'create'];
26
30
  const ALL = ['read', 'write', 'create', 'unlink', 'export', 'import'];
@@ -124,6 +128,30 @@ export const ResCurrencyRate = defineModel('res.currency.rate', {
124
128
  },
125
129
  },
126
130
  });
131
+ /**
132
+ * A cost centre (RFC 0024 §2.5): a department, a project, a branch — an optional dimension of journal lines that
133
+ * reports and budgets read. Kept small and explicit: one dimension, a tree, no distribution keys.
134
+ */
135
+ export const AccountAnalytic = defineModel('account.analytic', {
136
+ label: 'Cost centre',
137
+ recName: 'name',
138
+ order: ['code asc', 'name asc'],
139
+ archivable: true,
140
+ companyScoped: { required: true },
141
+ access: { 'account.invoicing': READ, 'account.user': READ, 'account.manager': ALL },
142
+ fields: {
143
+ code: f.char({ size: 32, label: 'Code' }),
144
+ name: f.char({ required: true, translate: true }),
145
+ parent: f.many2one('account.analytic', { ondelete: 'restrict', label: 'Part of' }),
146
+ note: f.text(),
147
+ },
148
+ sqlConstraints: {
149
+ codeUnique: {
150
+ unique: ['company', 'code'],
151
+ message: 'A cost centre code is used once per company.',
152
+ },
153
+ },
154
+ });
127
155
  export const AccountAccount = defineModel('account.account', {
128
156
  label: 'Account',
129
157
  order: ['code asc'],
@@ -140,7 +168,10 @@ export const AccountAccount = defineModel('account.account', {
140
168
  a.displayName = `${a.code} ${a.name}`;
141
169
  }),
142
170
  }),
143
- type: f.selection(ACCOUNT_TYPES, { required: true }),
171
+ type: f.selection(ACCOUNT_TYPES, {
172
+ required: true,
173
+ help: 'Where the account appears in the balance sheet or the profit and loss, and whether it holds receivables, payables or money.',
174
+ }),
144
175
  /** Lines on this account are matched against each other (receivables, payables, suspense). */
145
176
  reconcile: f.boolean({ default: false, label: 'Allow reconciliation' }),
146
177
  currency: f.many2one('res.currency', { label: 'Account currency' }),
@@ -162,9 +193,17 @@ export const AccountJournal = defineModel('account.journal', {
162
193
  fields: {
163
194
  code: f.char({ required: true, size: 8 }),
164
195
  name: f.char({ required: true, translate: true }),
165
- type: f.selection(JOURNAL_TYPES, { required: true, default: 'general' }),
196
+ type: f.selection(JOURNAL_TYPES, {
197
+ required: true,
198
+ default: 'general',
199
+ help: 'What the journal records: sales, purchases, cash, bank or miscellaneous entries.',
200
+ }),
166
201
  /** Cash and bank journals: the account of the money; sales and purchases: the default income / expense. */
167
202
  defaultAccount: f.many2one('account.account', { checkCompany: true, label: 'Default account' }),
203
+ /** A bank feed adapter's name (RFC 0029 §3.1): its lines are pulled into statements. */
204
+ bankFeed: f.char({ label: 'Bank feed' }),
205
+ /** Where the feed's last pull ended. */
206
+ bankFeedCursor: f.char({ label: 'Feed cursor' }),
168
207
  },
169
208
  sqlConstraints: {
170
209
  codeUnique: {
@@ -197,6 +236,7 @@ export const ResBankAccount = defineModel('res.bank.account', {
197
236
  });
198
237
  export const AccountFiscalYear = defineModel('account.fiscal.year', {
199
238
  label: 'Fiscal year',
239
+ tracking: ['state', 'lockDate'],
200
240
  order: ['dateFrom desc'],
201
241
  companyScoped: { required: true },
202
242
  access: { 'account.invoicing': READ, 'account.user': READ, 'account.manager': ALL },
@@ -204,7 +244,11 @@ export const AccountFiscalYear = defineModel('account.fiscal.year', {
204
244
  name: f.char({ required: true }),
205
245
  dateFrom: f.date({ required: true, label: 'From' }),
206
246
  dateTo: f.date({ required: true, label: 'To' }),
207
- state: f.selection({ open: 'Open', closed: 'Closed' }, { required: true, default: 'open' }),
247
+ state: f.selection({ open: 'Open', closed: 'Closed' }, {
248
+ required: true,
249
+ default: 'open',
250
+ help: 'A closed year has its result moved to retained earnings and accepts no more entries on or before its lock date.',
251
+ }),
208
252
  /** Set when the year closes: nothing is posted on or before it. */
209
253
  lockDate: f.date({ label: 'Lock date' }),
210
254
  /** The entry that moved the year's result to retained earnings (closing.ts). */
@@ -354,7 +398,11 @@ export const AccountTaxComponent = defineModel('account.tax.component', {
354
398
  name: f.char({ required: true, translate: true }),
355
399
  /** Its part of the tax's amount: 0.5 for half. */
356
400
  share: f.decimal({ scale: 4, required: true, default: '1' }),
357
- scope: f.selection({ always: 'Always', intra: 'Within the state', inter: 'Between states or abroad' }, { required: true, default: 'always' }),
401
+ scope: f.selection({ always: 'Always', intra: 'Within the state', inter: 'Between states or abroad' }, {
402
+ required: true,
403
+ default: 'always',
404
+ help: 'When this part of the tax applies: always, only for supplies within the state, or only between states and abroad.',
405
+ }),
358
406
  /** What the returns call it: CGST, SGST, IGST, CESS. */
359
407
  code: f.char({ size: 16 }),
360
408
  account: f.many2one('account.account'),
@@ -483,7 +531,12 @@ export const AccountMove = defineModel('account.move', {
483
531
  }),
484
532
  journal: f.many2one('account.journal', { required: true, checkCompany: true }),
485
533
  date: f.date({ required: true, default: (env) => env.today() }),
486
- kind: f.selection(MOVE_KINDS, { required: true, default: 'entry', label: 'Type' }),
534
+ kind: f.selection(MOVE_KINDS, {
535
+ required: true,
536
+ default: 'entry',
537
+ label: 'Type',
538
+ help: 'A journal entry, or the kind of document: customer or vendor invoice, credit note or debit note.',
539
+ }),
487
540
  partner: f.many2one('res.partner', { checkCompany: true }),
488
541
  ref: f.char({ label: 'Reference' }),
489
542
  currency: f.many2one('res.currency', { required: true }),
@@ -505,12 +558,14 @@ export const AccountMove = defineModel('account.move', {
505
558
  currency: 'companyCurrency',
506
559
  store: true,
507
560
  label: 'Debit',
561
+ help: 'The sum of the debits of the entry’s lines, in the company currency.',
508
562
  ...moveTotals,
509
563
  }),
510
564
  amountCredit: f.monetary({
511
565
  currency: 'companyCurrency',
512
566
  store: true,
513
567
  label: 'Credit',
568
+ help: 'The sum of the credits of the entry’s lines, in the company currency.',
514
569
  ...moveTotals,
515
570
  }),
516
571
  // Documents
@@ -547,18 +602,33 @@ export const AccountMove = defineModel('account.move', {
547
602
  }),
548
603
  }),
549
604
  paymentTerm: f.many2one('account.payment.term', { label: 'Payment terms' }),
605
+ /** Maps taxes and accounts when posted (RFC 0029 §3.5); empty: the partner's, or one that applies by itself. */
606
+ fiscalPosition: f.many2one('account.fiscal.position', {
607
+ ondelete: 'restrict',
608
+ checkCompany: true,
609
+ label: 'Fiscal position',
610
+ help: 'Maps taxes and accounts when posted; empty: the partner’s, or one that applies by itself.',
611
+ }),
550
612
  invoiceOrigin: f.char({ label: 'Source document' }),
551
613
  amountUntaxed: f.monetary({
552
614
  currency: 'currency',
553
615
  store: true,
554
616
  label: 'Untaxed',
617
+ help: 'The sum of the product lines before taxes, in the document’s currency.',
618
+ ...documentTotals,
619
+ }),
620
+ amountTax: f.monetary({
621
+ currency: 'currency',
622
+ store: true,
623
+ label: 'Taxes',
624
+ help: 'The taxes of the product lines, in the document’s currency.',
555
625
  ...documentTotals,
556
626
  }),
557
- amountTax: f.monetary({ currency: 'currency', store: true, label: 'Taxes', ...documentTotals }),
558
627
  amountTotal: f.monetary({
559
628
  currency: 'currency',
560
629
  store: true,
561
630
  label: 'Total',
631
+ help: 'The untaxed amount plus the taxes: what the document is for.',
562
632
  ...documentTotals,
563
633
  }),
564
634
  /** What is still due on a posted document, in its currency. */
@@ -566,6 +636,7 @@ export const AccountMove = defineModel('account.move', {
566
636
  currency: 'currency',
567
637
  store: true,
568
638
  label: 'Amount due',
639
+ help: 'What is still to be paid on the posted document after the payments and credit notes matched with it.',
569
640
  ...moveResidual,
570
641
  }),
571
642
  paymentState: f.selection({
@@ -573,7 +644,12 @@ export const AccountMove = defineModel('account.move', {
573
644
  not_paid: 'Not paid',
574
645
  partial: 'Partially paid',
575
646
  paid: 'Paid',
576
- }, { store: true, label: 'Payment', ...moveResidual }),
647
+ }, {
648
+ store: true,
649
+ label: 'Payment',
650
+ help: 'Whether the posted document is not paid, partially paid or paid, from what is still due on it.',
651
+ ...moveResidual,
652
+ }),
577
653
  payments: f.many2many('account.payment', { label: 'Paid by' }),
578
654
  state: f.state({
579
655
  states: {
@@ -583,6 +659,7 @@ export const AccountMove = defineModel('account.move', {
583
659
  cancel: 'Cancelled',
584
660
  },
585
661
  initial: 'draft',
662
+ help: 'A draft can be changed; a bill may wait for approval; a posted entry is in the books and is corrected only by a reversal.',
586
663
  transitions: {
587
664
  /** Bills: ask the approvers the amount needs (none needed: post right after). */
588
665
  submit: {
@@ -770,7 +847,12 @@ export const AccountMoveLine = defineModel('account.move.line', {
770
847
  product: 'Product',
771
848
  tax: 'Tax',
772
849
  counterpart: 'Receivable / payable',
773
- }, { required: true, default: 'entry', label: 'Kind' }),
850
+ }, {
851
+ required: true,
852
+ default: 'entry',
853
+ label: 'Kind',
854
+ help: 'A line of a journal entry, a product line of a document, or a tax or receivable / payable line made at posting.',
855
+ }),
774
856
  /** The document this is a product line of (null on entry lines and generated lines). */
775
857
  invoice: f.many2one('account.move', {
776
858
  store: true,
@@ -781,6 +863,11 @@ export const AccountMoveLine = defineModel('account.move.line', {
781
863
  }),
782
864
  }),
783
865
  product: f.many2one('product.product'),
866
+ analytic: f.many2one('account.analytic', {
867
+ ondelete: 'restrict',
868
+ label: 'Cost centre',
869
+ help: 'The department, project or branch the amount belongs to; reports and budgets read it.',
870
+ }),
784
871
  quantity: f.decimal({ scale: 3, default: '1' }),
785
872
  priceUnit: f.decimal({ scale: 2, default: '0', label: 'Unit price' }),
786
873
  /** Percent off the unit price (0–100). */
@@ -794,6 +881,7 @@ export const AccountMoveLine = defineModel('account.move.line', {
794
881
  currency: 'currency',
795
882
  store: true,
796
883
  label: 'Subtotal',
884
+ help: 'Quantity times unit price less the discount, before taxes, in the document’s currency.',
797
885
  ...compute('account.move.line', 'subtotal', [
798
886
  'lineKind',
799
887
  'quantity',
@@ -816,6 +904,7 @@ export const AccountMoveLine = defineModel('account.move.line', {
816
904
  currency: 'currency',
817
905
  store: true,
818
906
  label: 'Tax',
907
+ help: 'The taxes of this product line, in the document’s currency.',
819
908
  ...compute('account.move.line', 'taxAmount', [
820
909
  'lineKind',
821
910
  'quantity',
@@ -845,6 +934,7 @@ export const AccountMoveLine = defineModel('account.move.line', {
845
934
  balance: f.monetary({
846
935
  currency: 'companyCurrency',
847
936
  store: true,
937
+ help: 'Debit minus credit, in the company currency.',
848
938
  // companyCurrency too: money reads are null until it is stored, and the sides may never change again.
849
939
  ...compute('account.move.line', 'balance', ['debit', 'credit', 'companyCurrency'], (lines) => {
850
940
  for (const l of lines)
@@ -864,6 +954,7 @@ export const AccountMoveLine = defineModel('account.move.line', {
864
954
  accountType: f.selection(ACCOUNT_TYPES, {
865
955
  store: true,
866
956
  label: 'Account type',
957
+ help: 'The type of the line’s account, for grouping in the reports.',
867
958
  ...compute('account.move.line', 'accountType', ['account.type'], (lines) => {
868
959
  for (const l of lines)
869
960
  l.accountType = l.account?.type ?? null;
@@ -887,12 +978,14 @@ export const AccountMoveLine = defineModel('account.move.line', {
887
978
  currency: 'companyCurrency',
888
979
  store: true,
889
980
  label: 'Residual',
981
+ help: 'What is still unmatched on this receivable or payable line, in the company currency.',
890
982
  ...lineResiduals,
891
983
  }),
892
984
  amountResidualCurrency: f.monetary({
893
985
  currency: 'currency',
894
986
  store: true,
895
987
  label: 'Residual in currency',
988
+ help: 'What is still unmatched on this receivable or payable line, in the entry’s currency.',
896
989
  ...lineResiduals,
897
990
  }),
898
991
  reconciled: f.boolean({ store: true, ...lineResiduals }),
@@ -949,6 +1042,8 @@ async function currentTx(env) {
949
1042
  */
950
1043
  async function postMoves(moves) {
951
1044
  const env = moves.env;
1045
+ // The fiscal position of each document, and its taxes mapped, before anything is computed (RFC 0029 §3.5).
1046
+ await applyFiscalPositions(env, moves.ids);
952
1047
  const loaded = await moves.load({
953
1048
  lines: { taxes: { components: true } },
954
1049
  partner: true,
@@ -1011,8 +1106,10 @@ async function postMoves(moves) {
1011
1106
  .model('account.move')
1012
1107
  .browse([m.id])
1013
1108
  .productLineAccounts();
1109
+ // Each line's account: its own, an app's, the product's, its category's or the journal's, then the position.
1110
+ const determined = await determineAccounts(env, m.id, proposed);
1014
1111
  for (const l of products) {
1015
- const account = l.account?.id ?? proposed.get(l.id) ?? m.journal.defaultAccount?.id ?? null;
1112
+ const account = determined.lines.get(l.id)?.account ?? null;
1016
1113
  if (account === null)
1017
1114
  throw fail(['lines'], `Line "${l.name ?? ''}" has no account and the journal ${m.journal.code} has no default account.`, 'Set the account on the line, or a default account on the journal.');
1018
1115
  const subtotal = round(l.subtotal?.amount ?? orm.toDecimal(0));
@@ -1121,7 +1218,8 @@ async function postMoves(moves) {
1121
1218
  }
1122
1219
  }
1123
1220
  // Customers' documents settle on the receivable account, vendors' on the payable one.
1124
- const counterpart = customer ? m.company.accountReceivable : m.company.accountPayable;
1221
+ // The partner's account, else the company's, through the fiscal position.
1222
+ const counterpart = determined.counterpart.account === null ? null : { id: determined.counterpart.account };
1125
1223
  if (counterpart === null)
1126
1224
  throw fail(['partner'], `The company has no ${customer ? 'receivable' : 'payable'} account.`, 'Install a chart of accounts (Accounting › Configuration), or set the account on the company.');
1127
1225
  // One counterpart line per payment term part, the whole rounded total allocated between them.
@@ -1145,7 +1243,7 @@ async function postMoves(moves) {
1145
1243
  {
1146
1244
  move: m.id,
1147
1245
  lineKind: 'counterpart',
1148
- account: counterpart.id,
1246
+ account: orm.asId(counterpart.id, 'account.account'),
1149
1247
  partner: m.partner.id,
1150
1248
  name: m.ref ?? m.invoiceOrigin ?? m.name,
1151
1249
  dateMaturity: due,
@@ -1254,8 +1352,17 @@ export const AccountWithholding = defineModel('account.withholding', {
1254
1352
  fields: {
1255
1353
  name: f.char({ required: true, translate: true }),
1256
1354
  sequence: f.integer({ required: true, default: 10 }),
1257
- direction: f.selection({ vendor: 'We withhold when paying vendors', customer: 'Customers withhold from us' }, { required: true, default: 'vendor' }),
1258
- base: f.selection({ untaxed: 'Untaxed amount', tax: 'Tax amount', total: 'Total' }, { required: true, default: 'untaxed', label: 'Computed on' }),
1355
+ direction: f.selection({ vendor: 'We withhold when paying vendors', customer: 'Customers withhold from us' }, {
1356
+ required: true,
1357
+ default: 'vendor',
1358
+ help: 'Whether we keep the amount back when paying vendors, or customers keep it back when paying us.',
1359
+ }),
1360
+ base: f.selection({ untaxed: 'Untaxed amount', tax: 'Tax amount', total: 'Total' }, {
1361
+ required: true,
1362
+ default: 'untaxed',
1363
+ label: 'Computed on',
1364
+ help: 'The part of the document the rate is applied to: the untaxed amount, the tax or the total.',
1365
+ }),
1259
1366
  /** 0.05 for 5 %. */
1260
1367
  rate: f.decimal({ scale: 4, required: true, default: '0' }),
1261
1368
  /** A document whose total is below it is not withheld from. */
@@ -1277,6 +1384,12 @@ export const AccountWithholding = defineModel('account.withholding', {
1277
1384
  /** The withholdings that apply to a partner (vendor or customer): what a payment of their documents proposes. */
1278
1385
  export const PartnerWithholdings = extendModel('res.partner', {
1279
1386
  fields: {
1387
+ /** Invoices and credit notes emailed with their PDF once posted (RFC 0029 §3.3). */
1388
+ sendInvoicesByEmail: f.boolean({
1389
+ default: false,
1390
+ label: 'Send invoices by email',
1391
+ help: 'Each invoice and credit note is emailed with its PDF when it is posted.',
1392
+ }),
1280
1393
  withholdings: f.many2many('account.withholding', {
1281
1394
  relation: 'res_partner_withholding_rel',
1282
1395
  label: 'Withholdings',
@@ -1325,7 +1438,12 @@ export const AccountPayment = defineModel('account.payment', {
1325
1438
  p.name = p.move?.name ?? orm.UNNUMBERED;
1326
1439
  }),
1327
1440
  }),
1328
- kind: f.selection({ inbound: 'Receive', outbound: 'Send' }, { required: true, default: 'inbound', label: 'Direction' }),
1441
+ kind: f.selection({ inbound: 'Receive', outbound: 'Send' }, {
1442
+ required: true,
1443
+ default: 'inbound',
1444
+ label: 'Direction',
1445
+ help: 'Whether the money is received from the partner or sent to them.',
1446
+ }),
1329
1447
  partner: f.many2one('res.partner', { required: true, checkCompany: true }),
1330
1448
  journal: f.many2one('account.journal', { required: true, checkCompany: true }),
1331
1449
  date: f.date({ required: true, default: (env) => env.today() }),
@@ -1340,6 +1458,7 @@ export const AccountPayment = defineModel('account.payment', {
1340
1458
  currency: 'currency',
1341
1459
  store: true,
1342
1460
  label: 'Withheld',
1461
+ help: 'The sum of the amounts withheld (VDS, TDS); with the amount paid, it settles the documents.',
1343
1462
  ...compute('account.payment', 'amountWithheld', ['withholdings.amount'], (payments) => {
1344
1463
  for (const p of payments)
1345
1464
  p.amountWithheld = p.withholdings.sum('amount', p.currency);
@@ -1349,12 +1468,13 @@ export const AccountPayment = defineModel('account.payment', {
1349
1468
  state: f.state({
1350
1469
  states: { draft: 'Draft', posted: 'Posted', cancel: 'Cancelled' },
1351
1470
  initial: 'draft',
1471
+ help: 'A draft payment can be changed; posting records it in the journal and matches it with the documents it pays.',
1352
1472
  transitions: {
1353
- post: {
1473
+ post: emitting('account.payment.posted', {
1354
1474
  from: ['draft'],
1355
1475
  to: 'posted',
1356
1476
  before: records('account.payment', (payments) => postPayments(payments)),
1357
- },
1477
+ }),
1358
1478
  cancel: { from: ['draft'], to: 'cancel' },
1359
1479
  redraft: { from: ['cancel'], to: 'draft' },
1360
1480
  },
@@ -1374,7 +1494,7 @@ const sequence = (type, prefix) => orm.defineSequence({
1374
1494
  });
1375
1495
  export const accountingShutro = defineModule({
1376
1496
  name: 'accounting',
1377
- version: '0.3.0',
1497
+ version: '0.8.0',
1378
1498
  migrations: [
1379
1499
  {
1380
1500
  version: '0.2.0',
@@ -1407,9 +1527,19 @@ export const accountingShutro = defineModule({
1407
1527
  sequence('general', 'MISC'),
1408
1528
  ],
1409
1529
  models: [
1530
+ AccountBankStatement,
1531
+ AccountBankStatementLine,
1532
+ AccountReconcileRule,
1533
+ AccountFollowupLevel,
1534
+ AccountFollowup,
1535
+ AccountFollowupSent,
1536
+ AccountFiscalPosition,
1537
+ AccountFiscalPositionTax,
1538
+ AccountFiscalPositionAccount,
1410
1539
  ResCurrencyRate,
1411
1540
  ResBankAccount,
1412
1541
  AccountWithholding,
1542
+ AccountAnalytic,
1413
1543
  AccountAccount,
1414
1544
  AccountJournal,
1415
1545
  AccountFiscalYear,
@@ -1453,5 +1583,12 @@ export const accountingShutro = defineModule({
1453
1583
  record('account.payment.term.line', 'term_half_now', { term: ref('account.payment.term', 'accounting.term_half'), days: 0, percent: '50' }, { noupdate: true }),
1454
1584
  record('account.payment.term.line', 'term_half_later', { term: ref('account.payment.term', 'accounting.term_half'), days: 30, percent: '50' }, { noupdate: true }),
1455
1585
  ],
1456
- extensions: [CompanyAccounting, TaxAccounts, PartnerWithholdings],
1586
+ extensions: [
1587
+ CompanyAccounting,
1588
+ TaxAccounts,
1589
+ PartnerWithholdings,
1590
+ PartnerAccounts,
1591
+ ProductAccounts,
1592
+ CategoryAccounts,
1593
+ ],
1457
1594
  });