payroll-rules-india 2.1.0 → 2.2.0

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.
@@ -1,2 +1,3 @@
1
1
  import { Rule } from "../../utils/types";
2
2
  export declare const bonusRule: Rule;
3
+ export declare const bonusBasicPlusDARule: Rule;
@@ -10,3 +10,14 @@ export const bonusRule = {
10
10
  monthlyFormula: "round(basic * 0.0833, 2)",
11
11
  annualFormula: "round(basic * 0.0833 * 12, 2)",
12
12
  };
13
+ export const bonusBasicPlusDARule = {
14
+ ruleCode: "BONUS_BASIC_DA",
15
+ name: "Bonus - 8.33% of Basic + DA",
16
+ category: "Earning",
17
+ type: "Custom",
18
+ version: "FY2024-2025",
19
+ description: "Bonus = (Basic + DA) × 8.33%",
20
+ condition: "basicPlusDA > 0",
21
+ monthlyFormula: "round(basicPlusDA * 0.0833, 2)",
22
+ annualFormula: "round(basicPlusDA * 0.0833 * 12, 2)",
23
+ };
@@ -1,2 +1,3 @@
1
1
  import { Rule } from "../../utils/types";
2
2
  export declare const elRule: Rule;
3
+ export declare const elAllowanceRule: Rule;
@@ -10,3 +10,14 @@ export const elRule = {
10
10
  monthlyFormula: "round(basic * 0.05, 2)",
11
11
  annualFormula: "round(basic * 0.05 * 12, 2)",
12
12
  };
13
+ export const elAllowanceRule = {
14
+ ruleCode: "EL_ALLOWANCE",
15
+ name: "Earned Leave Allowance",
16
+ category: "Earning",
17
+ type: "Statutory",
18
+ version: "FY2024-2025",
19
+ description: "EL allowance calculated as 5% of (Basic + Dearness Allowance).",
20
+ condition: "basicPlusDA > 0",
21
+ monthlyFormula: "round(basicPlusDA * 0.05, 0)",
22
+ annualFormula: "round(basicPlusDA * 0.05 * 12, 2)",
23
+ };
@@ -2,3 +2,4 @@ import { Rule } from "../../utils/types";
2
2
  export declare const esiRule: Rule;
3
3
  export declare const ESI_Employee_On_Basic: Rule;
4
4
  export declare const ESIRuleOnBasic: Rule;
5
+ export declare const ESI_Employee_On_BasicPlusDA: Rule;
@@ -30,3 +30,14 @@ export const ESIRuleOnBasic = {
30
30
  condition: "basic <= 21000",
31
31
  monthlyFormula: "ceil(basic * 0.0075)",
32
32
  };
33
+ export const ESI_Employee_On_BasicPlusDA = {
34
+ ruleCode: "ESI_EMP_BASIC_DA",
35
+ name: "ESI Employee on Basic + DA",
36
+ category: "Deduction",
37
+ type: "Statutory",
38
+ version: "FY2024-2025",
39
+ description: "Employee ESI @ 0.75% calculated on (Basic + DA)",
40
+ condition: "basicPlusDA > 0",
41
+ monthlyFormula: "round(basicPlusDA * 0.0075, 2)",
42
+ annualFormula: "round(basicPlusDA * 0.0075 * 12, 2)",
43
+ };
@@ -1,3 +1,3 @@
1
1
  import { Rule } from "../../utils/types";
2
2
  export declare const pfBasicRule: Rule;
3
- export declare const pfBasicDaRule: Rule;
3
+ export declare const employeePfRule: Rule;
@@ -10,15 +10,14 @@ export const pfBasicRule = {
10
10
  monthlyFormula: "round(min(basic, 15000) * 0.12, 2)",
11
11
  annualFormula: "round(min(basic, 15000) * 0.12 * 12, 2)",
12
12
  };
13
- // PF: min(Basic + DA, 15000) * 0.12
14
- export const pfBasicDaRule = {
15
- ruleCode: "PF_BASIC_DA",
16
- name: "Provident Fund (Employee) - Basic + DA",
13
+ export const employeePfRule = {
14
+ ruleCode: "PF_EMPLOYEE",
15
+ name: "Provident Fund (Employee)",
17
16
  category: "Deduction",
18
17
  type: "Statutory",
19
18
  version: "FY2024-2025",
20
- description: "Employee contribution to Provident Fund — 12% of (Basic + DA) if above15,000, otherwise 12% of ₹15,000.",
21
- condition: "isPfApplicable == true && (basic + da) > 0",
22
- monthlyFormula: "round(min(basic + da, 15000) * 0.12, 2)",
23
- annualFormula: "round(min(basic + da, 15000) * 0.12 * 12, 2)",
19
+ description: "PF = 12% of (Basic + DA), capped at1,800 (₹15,000 wage ceiling)",
20
+ condition: "isPfApplicable && basicPlusDA > 0",
21
+ monthlyFormula: "round(min(basicPlusDA, 15000) * 0.12, 0)",
22
+ annualFormula: "round(min(basicPlusDA, 15000) * 0.12, 0) * 12",
24
23
  };
@@ -4,3 +4,4 @@ export declare const rbEarningRule492: Rule;
4
4
  export declare const rbBasic5Rule: Rule;
5
5
  export declare const rbBasic10Rule: Rule;
6
6
  export declare const rbBasic4_11Rule: Rule;
7
+ export declare const rbBasicPlusDA4_11Rule: Rule;
@@ -56,3 +56,14 @@ export const rbBasic4_11Rule = {
56
56
  monthlyFormula: "round(basic * 0.0411, 2)",
57
57
  annualFormula: "round(basic * 0.0411 * 12, 2)",
58
58
  };
59
+ export const rbBasicPlusDA4_11Rule = {
60
+ ruleCode: "RB_BASIC_DA_4_11",
61
+ name: "Retention Bonus - 4.11% of Basic + DA",
62
+ category: "Earning",
63
+ type: "Custom",
64
+ version: "FY2024-2025",
65
+ description: "Retention Bonus = (Basic + DA) × 4.11%",
66
+ condition: "basicPlusDA > 0",
67
+ monthlyFormula: "round(basicPlusDA * 0.0411, 2)",
68
+ annualFormula: "round(basicPlusDA * 0.0411 * 12, 2)",
69
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payroll-rules-india",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Custom and statutory payroll rules engine for India salary calculations.",
5
5
  "author": "Yogesh c",
6
6
  "license": "MIT",