Skip to content
πŸ› οΈToolsShed

Gratuity Calculator

Calculate gratuity amount using India Act, Non-Act, UAE, or custom formula.

Monthly salary amount (your last drawn salary)

Gratuity Formulas Explained

  • India (Gratuity Act): 15/26 Γ— Salary Γ— Years of Service
  • India (Non-Act): 15/30 Γ— Salary Γ— Years of Service
  • UAE: 21/30 Γ— Salary Γ— Years (max 5 years) + 1 Γ— Salary Γ— Extra Years

About this tool

A gratuity is a lump-sum payment that employers provide to employees upon retirement, resignation, or termination of service. This calculator helps you estimate your gratuity entitlement under different regulatory frameworks, including India's Payment of Gratuity Act 1972, non-statutory schemes, UAE labor law, or custom formulas that your organization may follow. Understanding your gratuity amount is essential for retirement planning and negotiating employment terms.

To use this calculator, select your employment jurisdiction and the calculation method that applies to you. Enter your basic salary, tenure in years, and any additional factors required by the specific formula. The tool instantly computes your estimated gratuity and shows you the breakdown so you can see exactly how your payment was calculated. This transparency helps you verify amounts proposed by your employer or prepare for negotiations during exit discussions.

Frequently Asked Questions

Code Implementation

def calculate_gratuity(
    last_salary: float,
    years_of_service: float,
    formula: str = "india_act"
) -> float:
    """
    Calculate gratuity based on formula.
    - india_act: (15/26) * last_salary * years (for employees covered under Gratuity Act)
    - india_non_act: (15/30) * last_salary * years
    - uae: (21/30) * last_salary * years (for first 5 years, then 30 days/year)
    """
    if formula == "india_act":
        return (15 / 26) * last_salary * years_of_service
    elif formula == "india_non_act":
        return (15 / 30) * last_salary * years_of_service
    elif formula == "uae":
        if years_of_service <= 5:
            return (21 / 30) * last_salary * years_of_service
        else:
            first_five = (21 / 30) * last_salary * 5
            remaining = last_salary * (years_of_service - 5)
            return first_five + remaining
    else:
        raise ValueError(f"Unknown formula: {formula}")

salary = 50000
years = 10
print(f"India (Act): {calculate_gratuity(salary, years, 'india_act'):.2f}")
print(f"India (Non-Act): {calculate_gratuity(salary, years, 'india_non_act'):.2f}")
print(f"UAE: {calculate_gratuity(salary, years, 'uae'):.2f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.