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
@@ -0,0 +1,320 @@
1
+ /**
2
+ * The payroll formula language (RFC 0024 §2.3): small, safe and exact — never `eval`. Numbers are Shutro Decimals;
3
+ * names in capitals are variables (`WAGE`, `ABSENT_DAYS`, `INPUT_BONUS`, `P_HOUSE_RENT_PCT`, an earlier rule's code);
4
+ * functions are `min`, `max`, `abs`, `round(x, places)`, `floor`, `ceil`, `if(condition, then, else)` and
5
+ * `slab('TABLE', amount)` (a progressive table, such as income tax). Comparisons (`< <= > >= == !=`) and `and`, `or`,
6
+ * `not` give 1 or 0. A formula is at most 500 characters.
7
+ *
8
+ * `evaluate` returns the value and the formula with the values written in, for the payslip's explanation.
9
+ */
10
+ import { orm } from '../server/orm.js';
11
+ export class FormulaError extends Error {
12
+ name = 'FormulaError';
13
+ }
14
+ const OPS = ['<=', '>=', '==', '!=', '<', '>', '+', '-', '*', '/', '(', ')', ','];
15
+ function tokenize(text) {
16
+ if (text.length > 500)
17
+ throw new FormulaError('A formula is at most 500 characters.');
18
+ const out = [];
19
+ let i = 0;
20
+ while (i < text.length) {
21
+ const c = text[i];
22
+ if (/\s/.test(c)) {
23
+ i += 1;
24
+ continue;
25
+ }
26
+ const num = /^\d+(\.\d+)?/.exec(text.slice(i));
27
+ if (num !== null) {
28
+ out.push({ t: 'num', v: num[0] });
29
+ i += num[0].length;
30
+ continue;
31
+ }
32
+ const name = /^[A-Za-z_][A-Za-z0-9_]*/.exec(text.slice(i));
33
+ if (name !== null) {
34
+ out.push({ t: 'name', v: name[0] });
35
+ i += name[0].length;
36
+ continue;
37
+ }
38
+ if (c === "'") {
39
+ const end = text.indexOf("'", i + 1);
40
+ if (end < 0)
41
+ throw new FormulaError('A quoted name is not closed.');
42
+ out.push({ t: 'str', v: text.slice(i + 1, end) });
43
+ i = end + 1;
44
+ continue;
45
+ }
46
+ const op = OPS.find((o) => text.startsWith(o, i));
47
+ if (op === undefined)
48
+ throw new FormulaError(`Unexpected “${c}”.`);
49
+ out.push({ t: 'op', v: op });
50
+ i += op.length;
51
+ }
52
+ return out;
53
+ }
54
+ const FUNCTIONS = {
55
+ min: [1, 20],
56
+ max: [1, 20],
57
+ abs: [1, 1],
58
+ round: [1, 2],
59
+ floor: [1, 1],
60
+ ceil: [1, 1],
61
+ if: [3, 3],
62
+ slab: [2, 2],
63
+ };
64
+ /** Parses a formula. @throws {FormulaError} on a mistake, saying where */
65
+ export function parse(text) {
66
+ const tokens = tokenize(text);
67
+ let p = 0;
68
+ const peek = () => tokens[p];
69
+ const isOp = (v) => peek()?.t === 'op' && peek()?.v === v;
70
+ const isWord = (v) => peek()?.t === 'name' && peek()?.v === v;
71
+ const expect = (v) => {
72
+ if (!isOp(v))
73
+ throw new FormulaError(`“${v}” expected${peek() === undefined ? ' at the end' : ` before “${peek()?.v}”`}.`);
74
+ p += 1;
75
+ };
76
+ const or = () => {
77
+ let a = and();
78
+ while (isWord('or')) {
79
+ p += 1;
80
+ a = { k: 'bin', op: 'or', a, b: and() };
81
+ }
82
+ return a;
83
+ };
84
+ const and = () => {
85
+ let a = not();
86
+ while (isWord('and')) {
87
+ p += 1;
88
+ a = { k: 'bin', op: 'and', a, b: not() };
89
+ }
90
+ return a;
91
+ };
92
+ const not = () => {
93
+ if (isWord('not')) {
94
+ p += 1;
95
+ return { k: 'not', a: not() };
96
+ }
97
+ return compare();
98
+ };
99
+ const compare = () => {
100
+ const a = add();
101
+ const t = peek();
102
+ if (t?.t === 'op' && ['<', '<=', '>', '>=', '==', '!='].includes(t.v)) {
103
+ p += 1;
104
+ return { k: 'bin', op: t.v, a, b: add() };
105
+ }
106
+ return a;
107
+ };
108
+ const add = () => {
109
+ let a = mul();
110
+ while (isOp('+') || isOp('-')) {
111
+ const op = tokens[p].v;
112
+ p += 1;
113
+ a = { k: 'bin', op, a, b: mul() };
114
+ }
115
+ return a;
116
+ };
117
+ const mul = () => {
118
+ let a = unary();
119
+ while (isOp('*') || isOp('/')) {
120
+ const op = tokens[p].v;
121
+ p += 1;
122
+ a = { k: 'bin', op, a, b: unary() };
123
+ }
124
+ return a;
125
+ };
126
+ const unary = () => {
127
+ if (isOp('-')) {
128
+ p += 1;
129
+ return { k: 'neg', a: unary() };
130
+ }
131
+ return primary();
132
+ };
133
+ const primary = () => {
134
+ const t = peek();
135
+ if (t === undefined)
136
+ throw new FormulaError('The formula ends too early.');
137
+ p += 1;
138
+ if (t.t === 'num')
139
+ return { k: 'num', v: t.v };
140
+ if (t.t === 'str')
141
+ return { k: 'str', v: t.v };
142
+ if (t.t === 'op' && t.v === '(') {
143
+ const inner = or();
144
+ expect(')');
145
+ return inner;
146
+ }
147
+ if (t.t === 'name') {
148
+ if (isOp('(')) {
149
+ const arity = FUNCTIONS[t.v];
150
+ if (arity === undefined)
151
+ throw new FormulaError(`There is no function “${t.v}”.`);
152
+ p += 1;
153
+ const args = [];
154
+ if (!isOp(')')) {
155
+ args.push(or());
156
+ while (isOp(',')) {
157
+ p += 1;
158
+ args.push(or());
159
+ }
160
+ }
161
+ expect(')');
162
+ if (args.length < arity[0] || args.length > arity[1])
163
+ throw new FormulaError(`${t.v} takes ${arity[0] === arity[1] ? arity[0] : `${arity[0]} to ${arity[1]}`} values.`);
164
+ return { k: 'call', f: t.v, args };
165
+ }
166
+ if (!/^[A-Z][A-Z0-9_]*$/.test(t.v))
167
+ throw new FormulaError(`“${t.v}”: variables are written in capitals (WAGE, ABSENT_DAYS…).`);
168
+ return { k: 'var', v: t.v };
169
+ }
170
+ throw new FormulaError(`Unexpected “${t.v}”.`);
171
+ };
172
+ const node = or();
173
+ if (p < tokens.length)
174
+ throw new FormulaError(`Unexpected “${tokens[p].v}”.`);
175
+ return node;
176
+ }
177
+ /** The variables a formula reads. */
178
+ export function variablesOf(node) {
179
+ switch (node.k) {
180
+ case 'var':
181
+ return [node.v];
182
+ case 'neg':
183
+ case 'not':
184
+ return variablesOf(node.a);
185
+ case 'bin':
186
+ return [...variablesOf(node.a), ...variablesOf(node.b)];
187
+ case 'call':
188
+ return node.args.flatMap(variablesOf);
189
+ default:
190
+ return [];
191
+ }
192
+ }
193
+ const ZERO = orm.toDecimal(0);
194
+ const ONE = orm.toDecimal(1);
195
+ const truth = (b) => (b ? ONE : ZERO);
196
+ /** The tax of `amount` by a progressive table: each band at its rate. */
197
+ export function slabTax(slab, amount) {
198
+ let left = amount;
199
+ let floor = ZERO;
200
+ let tax = ZERO;
201
+ for (const band of slab.bands) {
202
+ if (left.lte(0))
203
+ break;
204
+ const width = band.upTo === null ? left : band.upTo.minus(floor);
205
+ const part = left.lt(width) ? left : width;
206
+ if (part.gt(0))
207
+ tax = tax.plus(part.times(band.rate).div(100));
208
+ left = left.minus(part);
209
+ if (band.upTo !== null)
210
+ floor = band.upTo;
211
+ }
212
+ return tax;
213
+ }
214
+ /** Evaluates a parsed formula. @throws {FormulaError} for an unknown variable or table, or a division by zero */
215
+ export function evaluate(node, scope) {
216
+ const value = (n) => {
217
+ switch (n.k) {
218
+ case 'num':
219
+ return orm.toDecimal(n.v);
220
+ case 'str':
221
+ throw new FormulaError(`“${n.v}” is a name, not a number.`);
222
+ case 'var': {
223
+ const v = scope.variables.get(n.v);
224
+ if (v !== undefined)
225
+ return v;
226
+ if (scope.zero?.(n.v) === true)
227
+ return ZERO;
228
+ throw new FormulaError(`Unknown variable ${n.v}.`);
229
+ }
230
+ case 'neg':
231
+ return value(n.a).neg();
232
+ case 'not':
233
+ return truth(value(n.a).isZero());
234
+ case 'bin': {
235
+ if (n.op === 'and')
236
+ return truth(!value(n.a).isZero() && !value(n.b).isZero());
237
+ if (n.op === 'or')
238
+ return truth(!value(n.a).isZero() || !value(n.b).isZero());
239
+ const a = value(n.a);
240
+ const b = value(n.b);
241
+ switch (n.op) {
242
+ case '+':
243
+ return a.plus(b);
244
+ case '-':
245
+ return a.minus(b);
246
+ case '*':
247
+ return a.times(b);
248
+ case '/':
249
+ if (b.isZero())
250
+ throw new FormulaError('A division by zero.');
251
+ return a.div(b);
252
+ case '<':
253
+ return truth(a.lt(b));
254
+ case '<=':
255
+ return truth(a.lte(b));
256
+ case '>':
257
+ return truth(a.gt(b));
258
+ case '>=':
259
+ return truth(a.gte(b));
260
+ case '==':
261
+ return truth(a.eq(b));
262
+ default:
263
+ return truth(!a.eq(b));
264
+ }
265
+ }
266
+ case 'call': {
267
+ const args = n.args;
268
+ switch (n.f) {
269
+ case 'if':
270
+ return value(args[0]).isZero()
271
+ ? value(args[2])
272
+ : value(args[1]);
273
+ case 'slab': {
274
+ const table = args[0];
275
+ if (table.k !== 'str')
276
+ throw new FormulaError("slab takes the table's code in quotes: slab('TAX', amount).");
277
+ const slab = scope.slabs.get(table.v);
278
+ if (slab === undefined)
279
+ throw new FormulaError(`No slab table ${table.v} for this period.`);
280
+ return slabTax(slab, value(args[1]));
281
+ }
282
+ case 'round': {
283
+ const places = args.length > 1 ? Number(value(args[1]).toString()) : 0;
284
+ return value(args[0]).toDecimalPlaces(places);
285
+ }
286
+ case 'floor':
287
+ return value(args[0]).floor();
288
+ case 'ceil':
289
+ return value(args[0]).ceil();
290
+ case 'abs':
291
+ return value(args[0]).abs();
292
+ default: {
293
+ const vs = args.map(value);
294
+ return vs.reduce((m, v) => ((n.f === 'min' ? v.lt(m) : v.gt(m)) ? v : m));
295
+ }
296
+ }
297
+ }
298
+ }
299
+ };
300
+ return value(node);
301
+ }
302
+ /** The formula with its variables' values written in: `WAGE * 0.6` → `50000 × 0.6`. */
303
+ export function explain(text, scope) {
304
+ return tokenize(text)
305
+ .map((t) => {
306
+ if (t.t === 'name' && /^[A-Z][A-Z0-9_]*$/.test(t.v)) {
307
+ const v = scope.variables.get(t.v) ?? (scope.zero?.(t.v) === true ? ZERO : undefined);
308
+ return v === undefined ? t.v : v.toDecimalPlaces(2).toString();
309
+ }
310
+ if (t.t === 'str')
311
+ return `'${t.v}'`;
312
+ if (t.t === 'op')
313
+ return t.v === '*' ? '×' : t.v === '/' ? '÷' : t.v;
314
+ return t.v;
315
+ })
316
+ .join(' ')
317
+ .replace(/\( /g, '(')
318
+ .replace(/ \)/g, ')')
319
+ .replace(/ ,/g, ',');
320
+ }
@@ -0,0 +1,2 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export declare const bn: Readonly<Record<string, string>>;
@@ -0,0 +1,206 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export const bn = {
3
+ 'A code is written in capitals, digits and _.': 'কোড বড় হাতের অক্ষর, অঙ্ক ও _ দিয়ে লিখুন।',
4
+ 'A correction names the run it corrects; a regular run none.': 'সংশোধনীতে যে রান সংশোধন করা হচ্ছে তার নাম থাকে; নিয়মিত রানে থাকে না।',
5
+ 'A correction pays the difference to an approved run of the same period, which stays as it was.': 'সংশোধনী একই মেয়াদের অনুমোদিত রানের সাথে পার্থক্যটুকু পরিশোধ করে; সেই রান অপরিবর্তিত থাকে।',
6
+ 'A correction: the net of the person’s payslip in the corrected run.': 'সংশোধনী: সংশোধিত রানে ব্যক্তির বেতন স্লিপের নিট।',
7
+ 'A loan and its instalment are positive, the instalment no more than the loan.': 'ঋণ ও তার কিস্তি ধনাত্মক হবে, কিস্তি ঋণের চেয়ে বেশি হবে না।',
8
+ 'A rule ends on or after it starts.': 'নিয়ম শুরুর দিন বা তার পরে শেষ হয়।',
9
+ 'A run ends on or after it starts.': 'রান শুরুর দিন বা তার পরে শেষ হয়।',
10
+ 'Account number': 'হিসাব নম্বর',
11
+ Active: 'সক্রিয়',
12
+ Allowance: 'ভাতা',
13
+ Amount: 'অঙ্ক',
14
+ 'Applies when': 'যখন প্রযোজ্য',
15
+ Approve: 'অনুমোদন করুন',
16
+ 'Approve and lock this run?': 'এই রান অনুমোদন করে লক করবেন?',
17
+ Approved: 'অনুমোদিত',
18
+ 'Back to draft': 'খসড়ায় ফেরত নিন',
19
+ 'Band rate (%)': 'স্তরের হার (%)',
20
+ 'Band up to': 'স্তরের সীমা',
21
+ Bands: 'স্তরসমূহ',
22
+ 'Bangladesh: July; India: April.': 'বাংলাদেশ: জুলাই; ভারত: এপ্রিল।',
23
+ Bank: 'ব্যাংক',
24
+ 'Bank transfer': 'ব্যাংক ট্রান্সফার',
25
+ Basic: 'মূল বেতন',
26
+ 'Basic and allowances make the gross; deductions come off it; company contributions are paid on top.': 'মূল বেতন ও ভাতা মিলে মোট বেতন; কর্তন তা থেকে বাদ যায়; প্রতিষ্ঠানের অংশ এর অতিরিক্ত পরিশোধ হয়।',
27
+ 'Basic and allowances.': 'মূল বেতন ও ভাতা।',
28
+ 'Being repaid': 'পরিশোধ চলছে',
29
+ 'Being repaid: each approved run deducts the instalment until nothing remains.': 'পরিশোধ চলছে: কিছু বাকি না থাকা পর্যন্ত প্রতিটি অনুমোদিত রান কিস্তি কর্তন করে।',
30
+ Branch: 'শাখা',
31
+ Cancel: 'বাতিল করুন',
32
+ Cancelled: 'বাতিল',
33
+ Cash: 'নগদ',
34
+ Category: 'শ্রেণি',
35
+ Code: 'কোড',
36
+ Company: 'প্রতিষ্ঠান',
37
+ 'Company contribution': 'প্রতিষ্ঠানের অংশ',
38
+ 'Company contributions': 'প্রতিষ্ঠানের অংশসমূহ',
39
+ 'Compute payslips': 'বেতন স্লিপ হিসাব করুন',
40
+ 'Compute the payslips before approving the run.': 'রান অনুমোদনের আগে বেতন স্লিপ হিসাব করুন।',
41
+ 'Compute the payslips, read their warnings, then approve: an approved run is locked.': 'বেতন স্লিপ হিসাব করুন, সতর্কবার্তা পড়ুন, তারপর অনুমোদন করুন: অনুমোদিত রান লক হয়ে যায়।',
42
+ Computed: 'হিসাবকৃত',
43
+ 'Computed, checked, approved (then locked), paid.': 'হিসাবকৃত, যাচাইকৃত, অনুমোদিত (তারপর লক), পরিশোধিত।',
44
+ Configuration: 'কনফিগারেশন',
45
+ Contract: 'চুক্তি',
46
+ Contributions: 'অংশসমূহ',
47
+ Correction: 'সংশোধনী',
48
+ Corrections: 'সংশোধনীসমূহ',
49
+ Corrects: 'যা সংশোধন করে',
50
+ 'Created At': 'তৈরির সময়',
51
+ 'Created By': 'তৈরি করেছেন',
52
+ Date: 'তারিখ',
53
+ 'Deducted each month': 'মাসিক কর্তন',
54
+ Deduction: 'কর্তন',
55
+ Deductions: 'কর্তনসমূহ',
56
+ 'Display Name': 'প্রদর্শিত নাম',
57
+ Draft: 'খসড়া',
58
+ Employee: 'কর্মী',
59
+ 'Employee (own payslips once approved)': 'কর্মী (অনুমোদনের পর নিজের বেতন স্লিপ)',
60
+ 'Employee: ______________ For the company: ______________': 'কর্মী: ______________ প্রতিষ্ঠানের পক্ষে: ______________',
61
+ 'Empty: always; otherwise a formula that is not zero (SERVICE_MONTHS >= 12).': 'খালি: সবসময়; অন্যথায় এমন সূত্র যার মান শূন্য নয় (SERVICE_MONTHS >= 12)।',
62
+ Explanation: 'ব্যাখ্যা',
63
+ 'Festival bonus run': 'উৎসব ভাতার রান',
64
+ 'First deduction in': 'প্রথম কর্তনের মাস',
65
+ 'Fiscal year': 'অর্থবছর',
66
+ 'For information': 'তথ্যের জন্য',
67
+ Formula: 'সূত্র',
68
+ From: 'থেকে',
69
+ 'From the rule: whether the amount adds to the gross, comes off it, or is paid by the company on top.': 'নিয়ম অনুযায়ী: অঙ্কটি মোট বেতনে যোগ হয়, তা থেকে বাদ যায়, নাকি প্রতিষ্ঠান অতিরিক্ত পরিশোধ করে।',
70
+ Gross: 'মোট বেতন',
71
+ 'Gross by person': 'ব্যক্তি অনুযায়ী মোট বেতন',
72
+ 'Gross less deductions: what is paid out.': 'মোট বেতন থেকে কর্তন বাদে: যা পরিশোধ করা হয়।',
73
+ ID: 'আইডি',
74
+ 'In capitals; later rules read this rule’s amount by it (BASIC, HOUSE_RENT…).': 'বড় হাতের অক্ষরে; পরের নিয়মগুলো এটি দিয়ে এই নিয়মের অঙ্ক পড়ে (BASIC, HOUSE_RENT…)।',
75
+ 'In force': 'কার্যকর',
76
+ "In the payroll language: WAGE * 0.6, max(0, ABSENT_DAYS) * BASIC / 30, slab('TAX', …).": "বেতন সূত্রের ভাষায়: WAGE * 0.6, max(0, ABSENT_DAYS) * BASIC / 30, slab('TAX', …)।",
77
+ Inputs: 'ইনপুটসমূহ',
78
+ Item: 'আইটেম',
79
+ Kind: 'ধরন',
80
+ Lines: 'লাইন',
81
+ Loan: 'ঋণ',
82
+ 'Loan repayment': 'ঋণ পরিশোধ',
83
+ Loans: 'ঋণসমূহ',
84
+ 'Loans outstanding': 'বকেয়া ঋণ',
85
+ 'Mark as paid': 'পরিশোধিত হিসেবে চিহ্নিত করুন',
86
+ Mine: 'আমার',
87
+ 'Mobile wallet': 'মোবাইল ওয়ালেট',
88
+ Month: 'মাস',
89
+ Nagad: 'নগদ (Nagad)',
90
+ Name: 'নাম',
91
+ Net: 'নিট',
92
+ 'Net paid before': 'আগে পরিশোধিত নিট',
93
+ 'Net pay': 'নিট বেতন',
94
+ 'Net pay by month': 'মাস অনুযায়ী নিট বেতন',
95
+ 'Net pay this month': 'এ মাসের নিট বেতন',
96
+ Note: 'নোট',
97
+ 'October 2026 salaries, the Eid bonus…': 'অক্টোবর ২০২৬-এর বেতন, ঈদের ভাতা…',
98
+ 'On the payslip': 'বেতন স্লিপে',
99
+ 'One payslip per person in a run.': 'একটি রানে প্রতি ব্যক্তির একটি বেতন স্লিপ।',
100
+ Overview: 'সারসংক্ষেপ',
101
+ 'Page {{page}} of {{pages}}': 'পৃষ্ঠা {{page}} / {{pages}}',
102
+ Paid: 'পরিশোধিত',
103
+ 'Paid by': 'পরিশোধের মাধ্যম',
104
+ 'Paid by the company on top of the gross (its share of the provident fund…).': 'মোট বেতনের অতিরিক্ত প্রতিষ্ঠান যা পরিশোধ করে (ভবিষ্য তহবিলে তার অংশ…)।',
105
+ 'Paid on': 'পরিশোধের তারিখ',
106
+ Parameters: 'প্যারামিটারসমূহ',
107
+ Pay: 'পরিশোধ',
108
+ Payroll: 'বেতন প্রক্রিয়া',
109
+ 'Payroll {{name}} {{title}}': 'বেতন প্রক্রিয়া {{name}} {{title}}',
110
+ 'Payroll input': 'বেতন ইনপুট',
111
+ 'Payroll inputs': 'বেতন ইনপুটসমূহ',
112
+ 'Payroll manager (approves and pays runs)': 'বেতন ব্যবস্থাপক (রান অনুমোদন ও পরিশোধ করেন)',
113
+ 'Payroll manager (approves runs)': 'বেতন ব্যবস্থাপক (রান অনুমোদন করেন)',
114
+ 'Payroll officer (prepares runs)': 'বেতন কর্মকর্তা (রান প্রস্তুত করেন)',
115
+ 'Payroll parameter': 'বেতন প্যারামিটার',
116
+ 'Payroll parameters': 'বেতন প্যারামিটারসমূহ',
117
+ 'Payroll run': 'বেতন রান',
118
+ 'Payroll run approved': 'বেতন রান অনুমোদিত',
119
+ 'Payroll summary': 'বেতনের সারসংক্ষেপ',
120
+ 'Payroll: own payslips': 'বেতন প্রক্রিয়া: নিজের বেতন স্লিপ',
121
+ Payslip: 'বেতন স্লিপ',
122
+ 'Payslip line': 'বেতন স্লিপের লাইন',
123
+ 'Payslip reference': 'বেতন স্লিপের রেফারেন্স',
124
+ Payslips: 'বেতন স্লিপসমূহ',
125
+ 'Payslips this month': 'এ মাসের বেতন স্লিপ',
126
+ People: 'জনবল',
127
+ 'Per month': 'মাসিক',
128
+ 'Per-person payroll value': 'ব্যক্তিভিত্তিক বেতন মান',
129
+ 'Per-person values': 'ব্যক্তিভিত্তিক মান',
130
+ Period: 'মেয়াদ',
131
+ Position: 'পদ',
132
+ 'Prepared by: ______________ Approved by: ______________': 'প্রস্তুতকারী: ______________ অনুমোদনকারী: ______________',
133
+ 'Rate (%)': 'হার (%)',
134
+ 'Read in formulas as E_ and the code (E_PF_MEMBER, E_INVESTMENT, E_MOBILE_ALLOWANCE).': 'সূত্রে E_ ও কোড হিসেবে পড়া হয় (E_PF_MEMBER, E_INVESTMENT, E_MOBILE_ALLOWANCE)।',
135
+ 'Read in formulas as FESTIVAL (1 or 0): the run that pays a festival bonus (Eid, Puja…).': 'সূত্রে FESTIVAL (১ বা ০) হিসেবে পড়া হয়: যে রানে উৎসব ভাতা দেওয়া হয় (ঈদ, পূজা…)।',
136
+ 'Read in formulas as INPUT_ and the code (INPUT_BONUS).': 'সূত্রে INPUT_ ও কোড হিসেবে পড়া হয় (INPUT_BONUS)।',
137
+ 'Read in formulas as P_ and the code (P_TAX_FREE).': 'সূত্রে P_ ও কোড হিসেবে পড়া হয় (P_TAX_FREE)।',
138
+ "Read in formulas as slab('CODE', amount).": "সূত্রে slab('CODE', amount) হিসেবে পড়া হয়।",
139
+ Reference: 'রেফারেন্স',
140
+ Regular: 'নিয়মিত',
141
+ Remaining: 'বাকি',
142
+ Repaid: 'পরিশোধিত',
143
+ Repayment: 'পরিশোধ',
144
+ Repayments: 'পরিশোধসমূহ',
145
+ Rocket: 'রকেট',
146
+ 'Routing number': 'রাউটিং নম্বর',
147
+ Rule: 'নিয়ম',
148
+ Rules: 'নিয়মসমূহ',
149
+ Run: 'রান',
150
+ Runs: 'রানসমূহ',
151
+ 'Runs to approve': 'অনুমোদনযোগ্য রান',
152
+ 'Salary loan': 'বেতন ঋণ',
153
+ 'Salary loan {{name}}': 'বেতন ঋণ {{name}}',
154
+ 'Salary loan agreement': 'বেতন ঋণ চুক্তি',
155
+ 'Salary loan started': 'বেতন ঋণ শুরু হয়েছে',
156
+ 'Salary loans': 'বেতন ঋণসমূহ',
157
+ 'Salary rule': 'বেতনের নিয়ম',
158
+ 'Salary rules': 'বেতনের নিয়মসমূহ',
159
+ 'Salary structure': 'বেতন কাঠামো',
160
+ 'Salary structures': 'বেতন কাঠামোসমূহ',
161
+ 'Salary structures, monthly runs with explained payslips, loans and payment files': 'বেতন কাঠামো, ব্যাখ্যাসহ বেতন স্লিপে মাসিক রান, ঋণ ও পেমেন্ট ফাইল',
162
+ Sequence: 'ক্রম',
163
+ Slab: 'স্ল্যাব',
164
+ 'Slab band': 'স্ল্যাবের স্তর',
165
+ 'Slab table': 'স্ল্যাব সারণি',
166
+ 'Slab tables': 'স্ল্যাব সারণিসমূহ',
167
+ 'Slab tables (with their bands)': 'স্ল্যাব সারণি (স্তরসহ)',
168
+ Slip: 'স্লিপ',
169
+ 'Start deductions': 'কর্তন শুরু করুন',
170
+ State: 'অবস্থা',
171
+ Structure: 'কাঠামো',
172
+ 'The band ends at this amount; empty: the rest.': 'স্তরটি এই অঙ্কে শেষ হয়; খালি: অবশিষ্ট সব।',
173
+ 'The employee agrees that the instalment is deducted from each month’s pay until the loan is repaid.': 'ঋণ পরিশোধ না হওয়া পর্যন্ত প্রতি মাসের বেতন থেকে কিস্তি কর্তনে কর্মী সম্মত।',
174
+ 'The fiscal year starts in': 'অর্থবছর শুরু হয়',
175
+ 'The formula or the condition is not in the payroll language.': 'সূত্র বা শর্তটি বেতন সূত্রের ভাষায় নয়।',
176
+ 'The formula with its values: how the amount came about.': 'মানসহ সূত্র: অঙ্কটি কীভাবে এল।',
177
+ 'The instalments taken by approved payroll runs.': 'অনুমোদিত বেতন রানে কর্তনকৃত কিস্তি।',
178
+ 'The loan less what was repaid; the loan ends when nothing remains.': 'ঋণ থেকে পরিশোধিত অংশ বাদে; কিছু বাকি না থাকলে ঋণ শেষ হয়।',
179
+ 'The month it is paid in.': 'যে মাসে পরিশোধ করা হয়।',
180
+ 'The net, less what the corrected payslip paid.': 'নিট, সংশোধিত বেতন স্লিপে যা পরিশোধ হয়েছে তা বাদে।',
181
+ 'The payslips’ basic and allowances.': 'বেতন স্লিপের মূল বেতন ও ভাতা।',
182
+ 'The rules this contract is paid by; without one, the person is left out of payroll runs.': 'যে নিয়মে এই চুক্তির বেতন দেওয়া হয়; না থাকলে ব্যক্তি বেতন রান থেকে বাদ পড়েন।',
183
+ Title: 'শিরোনাম',
184
+ To: 'পর্যন্ত',
185
+ 'To approve': 'অনুমোদন বাকি',
186
+ 'To check': 'যাচাই বাকি',
187
+ 'To pay now': 'এখন পরিশোধযোগ্য',
188
+ Totals: 'মোট',
189
+ 'Up to': 'পর্যন্ত',
190
+ 'Updated At': 'হালনাগাদের সময়',
191
+ 'Updated By': 'হালনাগাদ করেছেন',
192
+ 'Valid from': 'কার্যকর শুরু',
193
+ 'Valid to': 'কার্যকর পর্যন্ত',
194
+ Value: 'মান',
195
+ 'Variables: WAGE, PERIOD_DAYS, CONTRACT_DAYS, SERVICE_MONTHS, MONTH, FY_MONTH, MONTHS_LEFT, FESTIVAL, E_…, PRESENT_DAYS, ABSENT_DAYS, LEAVE_DAYS, HOLIDAYS, LATE_DAYS, OVERTIME_HOURS, OVERTIME_RATE, LOAN, INPUT_…, YTD_…, P_…, and the codes of earlier rules. Functions: min, max, abs, round, floor, ceil, if, slab.': 'চলক: WAGE, PERIOD_DAYS, CONTRACT_DAYS, SERVICE_MONTHS, MONTH, FY_MONTH, MONTHS_LEFT, FESTIVAL, E_…, PRESENT_DAYS, ABSENT_DAYS, LEAVE_DAYS, HOLIDAYS, LATE_DAYS, OVERTIME_HOURS, OVERTIME_RATE, LOAN, INPUT_…, YTD_…, P_… এবং আগের নিয়মগুলোর কোড। ফাংশন: min, max, abs, round, floor, ceil, if, slab।',
196
+ Wallet: 'ওয়ালেট',
197
+ 'Wallet number': 'ওয়ালেট নম্বর',
198
+ Warnings: 'সতর্কবার্তা',
199
+ 'What the payslips pay out.': 'বেতন স্লিপে যা পরিশোধ হয়।',
200
+ 'What to check before approving: days not yet approved, a missing contract…': 'অনুমোদনের আগে যা যাচাই করবেন: অনুমোদন বাকি থাকা দিন, অনুপস্থিত চুক্তি…',
201
+ 'Where the bands come from (the Finance Act, the year).': 'স্তরগুলোর উৎস (অর্থ আইন, বছর)।',
202
+ 'Where the value comes from (the law, the circular, the year).': 'মানের উৎস (আইন, প্রজ্ঞাপন, বছর)।',
203
+ 'Which payment file the person’s net pay goes into.': 'ব্যক্তির নিট বেতন কোন পেমেন্ট ফাইলে যাবে।',
204
+ 'With warnings': 'সতর্কবার্তাসহ',
205
+ 'Year-to-date sums and the months left in the year (for tax spread over the year) count from here.': 'বছরের শুরু থেকে মোট এবং বছরের বাকি মাস (সারা বছরে কর ভাগ করার জন্য) এখান থেকে গণনা হয়।',
206
+ };