💰 Finance

India Salary Calculator

Free india salary calculator — instant accurate results with step-by-step breakdown. No signup required.

⚡ Free to use 📱 Mobile friendly 🕒 Updated: June 03, 2026
🧮 India Salary Calculator
Net Annual Take-Home
₹0
After all deductions & tax
function calculate() { const gross = parseFloat(document.getElementById("i1").value) || 0; const basicPct = parseFloat(document.getElementById("i2").value) || 0; const hraPct = parseFloat(document.getElementById("i3").value) || 0; const monthlyRent = parseFloat(document.getElementById("i4").value) || 0; const cityType = document.getElementById("i5").value; const stdDed = parseFloat(document.getElementById("i6").value) || 0; const sec80C = parseFloat(document.getElementById("i7").value) || 0; const sec80D = parseFloat(document.getElementById("i8").value) || 0; const regime = document.getElementById("i9").value; if (gross <= 0) { showResult("₹0", "Enter valid gross salary", [{"label":"Error","value":"Invalid input","cls":"red"}]); return; } const basic = (gross * basicPct) / 100; const hra = (gross * hraPct) / 100; const annualRent = monthlyRent * 12; // HRA exemption let hraExempt = 0; if (cityType === "metro") { hraExempt = Math.min(hra, annualRent - (basic * 0.1), gross * 0.5); } else { hraExempt = Math.min(hra, annualRent - (basic * 0.1), gross * 0.4); } hraExempt = Math.max(0, hraExempt); // Gross taxable income let grossTaxable = gross - hraExempt; // Standard deduction const stdDedActual = Math.min(stdDed, 50000); grossTaxable -= stdDedActual; // Section 80C (max 1.5L) const sec80CActual = Math.min(sec80C, 150000); grossTaxable -= sec80CActual; // Section 80D (max 25000 for self, 50000 for family) const sec80DActual = Math.min(sec80D, 25000); grossTaxable -= sec80DActual; grossTaxable = Math.max(0, grossTaxable); // Tax calculation let tax = 0; let taxSlabs = []; if (regime === "old") { // Old regime slabs const slabs = [ {limit: 250000, rate: 0}, {limit: 500000, rate: 0.05}, {limit: 1000000, rate: 0.2}, {limit: Infinity, rate: 0.3} ]; let remaining = grossTaxable; let prevLimit = 0; for (let s of slabs) { if (remaining > 0) { let taxableInSlab = Math.min(remaining, s.limit - prevLimit); let slabTax = taxableInSlab * s.rate; tax += slabTax; taxSlabs.push({label: `₹${(prevLimit/100000).toFixed(0)}L - ₹${(s.limit/100000).toFixed(0)}L @ ${(s.rate*100).toFixed(0)}%`, value: `₹${slabTax.toFixed(0)}`, cls: slabTax > 0 ? "yellow" : "green"}); remaining -= taxableInSlab; prevLimit = s.limit; } } } else { // New regime slabs (FY 2023-24) const slabs = [ {limit: 300000, rate: 0}, {limit: 600000, rate: 0.05}, {limit: 900000, rate: 0.1}, {limit: 1200000, rate: 0.15}, {limit: 1500000, rate: 0.2}, {limit: Infinity, rate: 0.3} ]; let remaining = grossTaxable; let prevLimit = 0; for (let s of slabs) { if (remaining > 0) { let taxableInSlab = Math.min(remaining, s.limit - prevLimit); let slabTax = taxableInSlab * s.rate; tax += slabTax; taxSlabs.push({label: `₹${(prevLimit/100000).toFixed(0)}L - ₹${(s.limit/100000).toFixed(0)}L @ ${(s.rate*100).toFixed(0)}%`, value: `₹${slabTax.toFixed(0)}`, cls: slabTax > 0 ? "yellow" : "green"}); remaining -= taxableInSlab; prevLimit = s.limit; } } } // Cess 4% const cess = tax * 0.04; const totalTax = tax + cess; // Rebate under 87A (if taxable income <= 5L in old, 7L in new) let rebate = 0; if (regime === "old" && grossTaxable <= 500000) { rebate = Math.min(totalTax, 12500); } else if (regime === "new" && grossTaxable <= 700000) { rebate = Math.min(totalTax, 25000); } const finalTax = Math.max(0, totalTax - rebate); // Monthly take-home const monthlyGross = gross / 12; const monthlyTax = finalTax / 12; const monthlyDeductions = (stdDedActual + hraExempt + sec80CActual + sec80DActual) / 12; const monthlyTakeHome = monthlyGross - monthlyTax - (monthlyDeductions * 0.3); // approximate PF & other deductions const annualTakeHome = gross - finalTax - (stdDedActual + sec80CActual + sec80DActual) * 0.3; // Primary result const primaryValue = `₹${Math.round(annualTakeHome).toLocaleString('en-IN')}`; const primaryLabel = "Net Annual Take-Home"; const primarySub = `Monthly: ₹${Math.round(monthlyTakeHome).toLocaleString('en-IN')} | Tax: ₹${Math.round(finalTax).toLocaleString('en-IN')}`; // Result grid items const gridItems = [ {label: "Gross Salary", value: `₹${gross.toLocaleString('en-IN')}`, cls: "green"}, {label: "Basic Pay", value: `₹${basic.toLocaleString('en-IN')} (${basicPct}%)`, cls: "green"}, {label: "HRA (Actual)", value: `₹${hra.toLocaleString('en-IN')}`, cls: "green"}, {label: "HRA Exempt", value: `₹${Math.round(hraExempt).toLocaleString('en-IN')}`, cls: hraExempt > 0 ? "green" : "yellow"}, {label: "Standard Deduction", value: `₹${stdDedActual.toLocaleString('en-IN')}`, cls: "green"}, {label: "Section 80C", value: `₹${sec80CActual.toLocaleString('en-IN')}`, cls: sec80CActual > 0 ? "green" : "yellow"}, {label: "Section 80D", value: `₹${sec80DActual.toLocaleString('en-IN')}`, cls: sec80DActual > 0 ? "green" : "yellow"}, {label: "Taxable Income", value: `₹${Math.round(grossTaxable).toLocaleString('en-IN')}`, cls: grossTaxable > 1000000 ? "red" : "yellow"}, {label: "Income Tax", value: `₹${Math.round(tax).toLocaleString('en-IN')}`, cls: tax > 50000 ? "red" : "yellow"}, {label: "Cess (4%)", value: `₹${Math.round(cess).toLocaleString('en-IN')}`, cls: "yellow"}, {label: "Rebate (87A)", value: `₹${Math.round(rebate).toLocaleString('en-IN')}`, cls: rebate > 0 ? "green" : "yellow"}, {label: "Total Tax", value: `₹${Math.round(finalTax).toLocaleString('en-IN')}`, cls: finalTax > 50000 ? "red" : (finalTax > 0 ? "yellow" : "green")} ]; // Breakdown table let breakdownHTML = ``; const items = [ {name: "Gross Salary", val: gross}, {name: "Basic Pay", val: basic}, {name: "HRA", val: hra}, {name: "HRA Exempt", val: hraExempt}, {name: "Standard Deduction", val: stdDedActual}, {name: "80C Deduction", val: sec80CActual}, {name: "80D Deduction", val: sec80DActual}, {name: "Taxable Income", val: grossTaxable}, {name: "Income Tax", val: tax}, {name: "Cess", val: cess}, {name: "Rebate", val: rebate}, {name: "Final Tax", val: finalTax}, {name: "Annual Take-Home", val: annualTakeHome} ]; for (let item of items) { const pct = gross > 0 ? ((item.val / gross) * 100
📊 Monthly In-Hand Salary Breakdown by Tax Regime (India FY 2024-25)

What is India Salary Calculator?

An India Salary Calculator is a specialized financial tool that converts your gross annual salary (Cost to Company or CTC) into your actual monthly in-hand take-home pay, after accounting for all statutory deductions and tax liabilities specific to Indian tax laws. Unlike simple percentage-based estimators, this calculator precisely accounts for Employee Provident Fund (EPF), Professional Tax (PT), and income tax calculated under the new or old tax regime based on your declared investments. For any salaried professional in India, understanding the gap between your offered CTC and what lands in your bank account each month is critical for budgeting, loan eligibility, and negotiating job offers.

This tool is primarily used by job seekers evaluating offer letters, HR professionals validating payroll structures, and employees planning their annual tax-saving investments. Freelancers transitioning to full-time roles also rely on it to compare compensation packages accurately. Without a dedicated India Salary Calculator, most individuals overestimate their monthly income by 15–30%, leading to poor financial planning and unpleasant surprises on payday.

Our free online India Salary Calculator delivers instant, accurate results with a complete step-by-step breakdown of every deduction. No signup, no hidden fees, and no personal data collection — just enter your CTC, select your tax regime, and receive your precise in-hand salary in seconds.

How to Use This India Salary Calculator

Using our India Salary Calculator is straightforward and takes less than two minutes. Simply follow these five steps to convert your CTC into accurate monthly take-home pay, complete with a detailed deduction report.

  1. Enter Your Annual CTC: Input your total Cost to Company (CTC) in the designated field. This figure should include your basic salary, house rent allowance (HRA), special allowances, bonuses, gratuity, employer PF contribution, and any other benefits your employer provides. For example, if your offer letter states ₹12,00,000 per annum, enter 1200000.
  2. Select Your Tax Regime: Choose between the Old Tax Regime (with deductions under Section 80C, 80D, HRA exemption, etc.) or the New Tax Regime (lower rates, no exemptions). Your selection dramatically impacts your final in-hand amount. If you are unsure, the calculator provides a side-by-side comparison to help you decide.
  3. Enter Monthly Rent (Optional for HRA): If you select the Old Tax Regime and receive HRA as part of your CTC, input your actual monthly rent. The calculator uses this to compute HRA exemption under Section 10(13A), which reduces your taxable income. Leave blank if you live in a rent-free accommodation or do not claim HRA.
  4. Specify Section 80C Investments (Optional): Under the Old Tax Regime, enter your total annual investments eligible for deduction under Section 80C (PPF, ELSS, life insurance premiums, tuition fees, etc.), up to the maximum limit of ₹1,50,000. The calculator automatically applies this deduction to lower your tax liability.
  5. Click Calculate: Press the "Calculate" button. Within seconds, the tool displays your monthly in-hand salary, a complete breakdown of all deductions (EPF, PT, Income Tax, Gratuity), and the annual summary. You can adjust any input and recalculate instantly to compare different scenarios.

For best accuracy, ensure you have your latest Form 16 or salary slip handy to verify your exact CTC components. The calculator also highlights whether you are better off under the old or new tax regime based on your specific inputs.

Formula and Calculation Method

The India Salary Calculator uses a multi-step formula that mirrors actual Indian payroll processing. The core logic separates your CTC into monthly components, applies mandatory statutory deductions, and then subtracts income tax based on the chosen regime. The formula is designed to match the standard calculation used by most Indian companies, ensuring your results are payroll-accurate.

Formula
Monthly In-Hand Salary = (Gross Annual Salary – Annual Deductions – Annual Income Tax) ÷ 12

Where Gross Annual Salary = CTC – Employer PF Contribution – Gratuity. Annual Deductions include Employee PF Contribution (12% of basic), Professional Tax (as per state slab), and any other deductions like insurance premiums deducted by employer.

Understanding the Variables

CTC (Cost to Company): The total annual expense your employer incurs for you. This includes basic pay, HRA, special allowances, bonuses, employer PF (usually 12% of basic), gratuity (4.81% of basic), and other benefits like medical insurance, meal coupons, or stock options. Importantly, employer PF and gratuity are not paid to you directly — they are either contributed to your PF account or held as a future liability.

Basic Salary: Typically 40–50% of your CTC. This is the foundation for calculating PF, gratuity, and sometimes HRA. A higher basic salary increases PF contributions and gratuity but also raises taxable income.

House Rent Allowance (HRA): A component of salary meant to cover rental expenses. Under the Old Tax Regime, HRA is partially or fully exempt from tax based on your rent paid, city of residence (metro vs. non-metro), and basic salary. The exemption is the minimum of: (a) actual HRA received, (b) 50% of basic for metro cities (40% for non-metro), or (c) actual rent paid minus 10% of basic.

Employee PF Contribution: Mandatory 12% of your basic salary deducted every month and contributed to your EPF account. The employer also contributes 12% (with 8.33% going to EPS and 3.67% to EPF). This deduction reduces your monthly take-home pay but builds your retirement corpus.

Professional Tax (PT): A state-level tax on employment, deducted monthly by the employer. Amounts vary by state — for example, Karnataka charges ₹200/month for salaries above ₹15,000, while Maharashtra charges up to ₹300/month. Some states like Tamil Nadu have different slabs. The calculator automatically applies the standard PT for your selected state.

Income Tax: Calculated based on your chosen tax regime. Under the New Tax Regime (FY 2024-25), tax is 0% up to ₹3 lakh, 5% from ₹3–7 lakh, 10% from ₹7–10 lakh, 15% from ₹10–12 lakh, 20% from ₹12–15 lakh, and 30% above ₹15 lakh. The Old Tax Regime has different slabs but allows deductions like 80C, 80D, HRA exemption, and standard deduction of ₹50,000.

Step-by-Step Calculation

Step 1: Determine your Gross Annual Salary by subtracting employer PF (12% of basic) and gratuity (4.81% of basic) from your CTC. For example, if CTC is ₹12,00,000 and basic is ₹4,80,000, employer PF = ₹57,600 and gratuity = ₹23,088. Gross salary = ₹12,00,000 – ₹57,600 – ₹23,088 = ₹11,19,312.

Step 2: Calculate your monthly gross salary by dividing the annual gross by 12. In this case, ₹11,19,312 ÷ 12 = ₹93,276 per month.

Step 3: Deduct monthly employee PF (12% of basic ÷ 12) and professional tax. Employee PF = ₹4,800/month (₹57,600 ÷ 12). PT (assuming Karnataka) = ₹200/month. Total monthly deductions before tax = ₹5,000.

Step 4: Compute annual taxable income. Under Old Regime: Gross salary minus standard deduction (₹50,000) minus Section 80C investments (up to ₹1,50,000) minus HRA exemption. Under New Regime: Gross salary minus standard deduction only (₹50,000).

Step 5: Calculate annual income tax using the applicable slab rates, then add 4% health and education cess. Divide the annual tax by 12 to get monthly tax deduction.

Step 6: Monthly in-hand salary = Monthly gross salary – Monthly deductions (PF + PT) – Monthly income tax.

Example Calculation

Let us walk through a realistic scenario to see exactly how the India Salary Calculator works. We will use the case of Priya, a software engineer in Bangalore with a CTC of ₹15,00,000 per annum, opting for the Old Tax Regime.

Example Scenario: Priya, age 28, works at a tech startup in Bangalore (metro city). Her CTC is ₹15,00,000 with basic salary at 50% (₹7,50,000), HRA at 20% (₹3,00,000), and special allowances making up the rest. She pays ₹18,000 per month in rent and invests ₹1,20,000 annually in PPF and ELSS under Section 80C. She chooses the Old Tax Regime to maximize deductions.

Step 1: Gross Annual Salary
Employer PF = 12% of ₹7,50,000 = ₹90,000
Gratuity = 4.81% of ₹7,50,000 = ₹36,075
Gross Salary = ₹15,00,000 – ₹90,000 – ₹36,075 = ₹13,73,925

Step 2: Monthly Gross Salary
₹13,73,925 ÷ 12 = ₹1,14,494 per month

Step 3: Monthly Deductions Before Tax
Employee PF = 12% of ₹7,50,000 ÷ 12 = ₹7,500/month
Professional Tax (Karnataka) = ₹200/month
Total pre-tax deductions = ₹7,700/month

Step 4: Taxable Income Calculation
Gross Salary = ₹13,73,925
Less: Standard Deduction = ₹50,000
Less: HRA Exemption = Minimum of (a) Actual HRA ₹3,00,000, (b) 50% of basic ₹3,75,000, (c) Actual Rent ₹2,16,000 – 10% of basic ₹75,000 = ₹1,41,000 → HRA exemption = ₹1,41,000
Less: Section 80C = ₹1,20,000
Taxable Income = ₹13,73,925 – ₹50,000 – ₹1,41,000 – ₹1,20,000 = ₹10,62,925

Step 5: Income Tax Calculation (Old Regime)
0–₹2,50,000: Nil
₹2,50,001–₹5,00,000: 5% of ₹2,50,000 = ₹12,500
₹5,00,001–₹10,00,000: 20% of ₹5,00,000 = ₹1,00,000
₹10,00,001–₹10,62,925: 30% of ₹62,925 = ₹18,878
Total Tax = ₹12,500 + ₹1,00,000 + ₹18,878 = ₹1,31,378
Add 4% Cess = ₹5,255
Annual Tax = ₹1,36,633
Monthly Tax = ₹11,386

Step 6: Monthly In-Hand Salary
Monthly Gross = ₹1,14,494
Minus PF + PT = ₹7,700
Minus Tax = ₹11,386
Monthly In-Hand = ₹95,408

This means Priya's actual take-home pay is ₹95,408 per month, which is about 76% of her gross monthly salary of ₹1,25,000 (₹15,00,000 ÷ 12). The remaining 24% goes to PF, tax, gratuity, and professional tax. Without the calculator, she might have assumed her in-hand salary was closer to ₹1,10,000.

Another Example

Now consider Arjun, a marketing manager in Delhi with a CTC of ₹8,00,000. He opts for the New Tax Regime (FY 2024-25) and does not claim any deductions. His basic salary is ₹3,60,000 (45% of CTC). Employer PF = ₹43,200, Gratuity = ₹17,316. Gross salary = ₹8,00,000 – ₹43,200 – ₹17,316 = ₹7,39,484. Monthly gross = ₹61,624. Employee PF = ₹3,600/month, PT (Delhi) = ₹250/month. Taxable income = ₹7,39,484 – ₹50,000 standard deduction = ₹6,89,484. Under New Regime: 0% up to ₹3,00,000, 5% on ₹4,00,000 (₹3L–₹7L) = ₹20,000, 10% on nil (since ₹6,89,484 is below ₹7L). Tax = ₹20,000 + 4% cess = ₹20,800. Monthly tax = ₹1,733. Monthly in-hand = ₹61,624 – ₹3,600 – ₹250 – ₹1,733 = ₹56,041. Arjun gets about 84% of his gross CTC as take-home, significantly higher than Priya because of the new regime's lower tax burden at this income level.

Benefits of Using India Salary Calculator

An accurate India Salary Calculator is not just a convenience — it is a financial necessity for anyone navigating India's complex payroll and tax system. Without it, you are essentially guessing at your actual income, which can lead to budgeting errors, missed tax-saving opportunities, and even failed loan applications. Here are the specific benefits you gain by using this tool.

  • Eliminates Salary Confusion: Most employees confuse their CTC with take-home pay, leading to unrealistic expectations. This calculator shows exactly what lands in your bank account after all statutory deductions. For example, a ₹12 lakh CTC might yield only ₹85,000–₹90,000 per month in hand, not the ₹1,00,000 many assume. This clarity helps you plan monthly expenses, EMIs, and savings accurately.
  • Optimizes Tax Regime Selection: The calculator lets you compare your in-hand salary under both the Old and New Tax Regimes instantly. This is invaluable because the best choice depends on your specific investment habits, HRA eligibility, and income level. Many people lose thousands of rupees annually by choosing the wrong regime — this tool prevents that mistake.
  • Validates Job Offers: When evaluating multiple job offers with different CTC structures, this calculator normalizes them into comparable monthly take-home figures. One offer might have a lower CTC but higher in-hand salary due to fewer deductions, while another might have a higher CTC with heavy PF and gratuity components. The calculator reveals the true value of each offer.
  • Supports Loan and EMI Planning: Banks and NBFCs assess your loan eligibility based on your net monthly income, not your CTC. By providing your accurate in-hand salary, the calculator helps you determine how much home loan, car loan, or personal loan you can realistically afford. A common mistake is applying for loans based on CTC, leading to rejection or over-borrowing.
  • Encourages Strategic Tax Planning: The detailed deduction breakdown shows exactly how much tax you are paying and where you can save. For instance, if you see that your tax under the Old Regime is high because you are not utilizing Section 80C fully, you can increase your PPF or ELSS investments to reduce taxable income. The calculator acts as a personal tax advisor.

Tips and Tricks for Best Results

To get the most accurate and actionable results from your India Salary Calculator, follow these expert tips. Small errors in input can lead to significant differences in your calculated take-home pay, so precision matters.

Pro Tips

  • Always enter your exact CTC breakup from your offer letter or Form 16, not a rounded estimate. Even a ₹10,000 difference in CTC can change your monthly in-hand by ₹500–₹800 due to tax slab effects.
  • If you are unsure about your basic salary percentage, use 50% of CTC as a default — this is the most common structure in Indian IT and service industries. However, check your salary slip for the exact number.
  • When comparing tax regimes, run the calculator twice — once with your actual 80C investments and HRA (Old Regime) and once with zero deductions (New Regime). The regime that gives you the higher monthly in-hand is usually better, but also consider long-term benefits like PF accumulation.
  • Update your rent input every time your rent changes or if you move to a different city. HRA exemption varies significantly between metro and non-metro cities (50% vs. 40% of basic), so using the wrong city designation can overstate or understate your tax savings by thousands.

    Frequently Asked Questions

    The India Salary Calculator is a financial tool that computes your net take-home pay after deducting components like Income Tax (as per old or new tax regime), Employee Provident Fund (EPF), Professional Tax, and other statutory deductions from your gross CTC (Cost to Company). It specifically measures your in-hand monthly salary, annual net income, and detailed breakup of deductions such as tax slabs and EPF contributions. For example, if your CTC is ₹12,00,000, the calculator will show you exactly how much you receive each month after subtracting around ₹1,38,000 in EPF and applicable income tax.

    The India Salary Calculator uses the formula: Net Annual Salary = Gross CTC – (Employee EPF Contribution + Professional Tax + Income Tax Deductions). Employee EPF is calculated as 12% of basic salary (typically 40-50% of CTC), while Income Tax is computed based on the selected regime—old regime (with deductions under Section 80C, 80D, etc.) or new regime (lower slabs, no deductions). For instance, on a CTC of ₹10,00,000, the calculator subtracts ₹1,20,000 (EPF), ₹2,500 (Professional Tax), and tax as per slab to arrive at net monthly pay of approximately ₹68,000.

    A healthy net-to-gross ratio in the India Salary Calculator is typically between 70% and 80% for most salaried employees. For example, a CTC of ₹15,00,000 yielding a net annual salary of ₹11,25,000 (75%) is considered good. Higher ratios (above 80%) are common for lower tax brackets, while lower ratios (below 65%) may indicate high deductions due to large EPF contributions or higher tax slabs. The calculator helps you assess if your deductions are within expected norms for your income level.

    The India Salary Calculator is highly accurate when you input correct data like basic pay, HRA, allowances, and tax regime choice, with typical accuracy within 1-2% of actual payslip amounts. However, it may not account for company-specific variables like variable pay, performance bonuses, or employer-specific deductions (e.g., group insurance premiums). For a standard salaried employee with fixed components, the calculator's result usually matches the payslip within ₹500-₹1,000 per month.

    Key limitations include its inability to handle irregular bonuses, stock options (ESOPs), or variable pay that changes monthly, as it assumes fixed annual components. It also cannot factor in employer-specific benefits like fuel reimbursement or medical insurance premiums that vary by company. Additionally, the calculator may not update instantly for mid-year tax rule changes, and it assumes consistent deductions throughout the year, which may not reflect real-world adjustments like leave without pay.

    Compared to manual calculations using Excel or consulting a chartered accountant, the India Salary Calculator is faster and less error-prone, providing instant results with built-in tax slab logic. Professional methods offer more customization for complex scenarios like multiple income sources or advanced tax planning (e.g., HRA exemption optimization), but require expertise. The calculator is ideal for quick estimates, while a CA is better for maximizing deductions or handling non-standard salary structures like freelancers.

    Many users mistakenly believe the calculator's result includes the employer's 12% EPF contribution (e.g., ₹14,400 monthly on a ₹1,20,000 basic) as part of their in-hand salary. In reality, the employer's EPF goes directly to your provident fund account and is not accessible until retirement or resignation, so it is excluded from net take-home pay. The calculator correctly shows only employee deductions and tax, making the net salary lower than the gross CTC by a significant margin.

    For example, if you receive two offers—Offer A: CTC ₹18,00,000 with high basic pay (60%) and Offer B: CTC ₹18,00,000 with low basic pay (30%) but high allowances—the calculator reveals that Offer A may yield lower net take-home due to higher EPF and tax deductions. Using the tool, you can see that Offer A gives ₹1,12,000 monthly versus Offer B's ₹1,18,000, helping you choose the better option. This is especially useful when negotiating salary or switching jobs.

Last updated: June 03, 2026 · Bookmark this page for quick access

🔗 You May Also Like

ComponentAmount (₹)% of Gross