Salary Slip Analyzer — Indian payslip parsed into structured JSON for YoY comparison
Indian salary slips are dense and idiosyncratic. Every employer uses slightly different component names — "Special Allowance" at one company is "Performance Pay" at another; "HRA" sometimes splits into multiple sub-components; deduction names vary by state and PSU vs private context. Manually comparing payslips across years or across employers means decoding each one fresh. The salary slip analyzer parses the slip into structured JSON while preserving the original component names verbatim, enabling accurate year-over-year and employer-to-employer comparison. Here is what gets extracted, why component-name preservation beats normalization, and how PII is handled in the output.
What the analyzer extracts
Drop a monthly salary slip PDF — any major Indian employer (IT services, finance, manufacturing, government, PSU). The analyzer extracts five structured groups:
- Employer info. Company name, address (if shown), PAN / TAN if visible. Useful for matching slips to employer records.
- Employee info. Name, employee ID, PAN (masked), UAN (truncated), department, designation. PII automatically masked in output.
- Period. Pay period dates, payment date, working days, days worked, leaves taken. Useful for verifying salary calculations against attendance.
- Earnings (per-component). Basic, HRA, Special Allowance, LTA, conveyance, medical, bonus, performance-pay, statutory bonus, and any employer-specific components. Each line item preserved with its original name.
- Deductions (per-component). EPF (employee + employer share separately), PT (Professional Tax — varies by state), TDS, ESI if applicable, voluntary deductions (loan EMIs, insurance premiums, food/transport deductions). Each preserved separately.
- Totals + YTD. Gross / Net for the slip period, plus year-to-date earnings, deductions, and tax-related totals where shown.
Why component-name preservation matters
The single most important design choice in the analyzer is verbatim component-name preservation. Three reasons it matters:
- YoY comparison accuracy. If your slip shows "Special Allowance" for 3 years and you change employer, the new employer might call the same thing "Performance Pay" or "Variable Pay." Normalizing both to "Allowance" loses the granularity needed to compare apples to apples. Verbatim preservation lets you map the components manually with full visibility.
- Tax-treatment differences. Different earnings components have different tax treatments — HRA has rent-deduction allowance, LTA has trip-frequency rules, Special Allowance is fully taxable. Normalizing flattens these distinctions and breaks downstream tax calculations.
- Negotiation context. When negotiating a raise or new offer, knowing how your existing employer structures your comp (Basic vs HRA vs Special) affects what to ask for. Normalized output to "Allowance" loses the structural information.
PII masking — what gets shown and what gets hidden
Indian salary slips contain personally-identifiable information. The analyzer masks PII in the output by default:
- PAN masked as XXXXX1234X. First 5 characters masked, last 5 visible. Sufficient for matching across documents but not enough to enable identity theft.
- UAN truncated to last 4 digits. Universal Account Number for EPF. Last 4 digits shown for verification; first 8 masked.
- Aadhaar — if present — masked similarly. Last 4 digits only. (Aadhaar rarely appears on salary slips but some PSUs include it.)
- Source PDF — 60-minute auto-delete. Uploaded PDFs are deleted from our servers within 60 minutes. The structured JSON contains masked PII; the source PDF with un-masked PII doesn't persist.
Three workflows where structured analysis pays off
Specific use cases:
- Multi-month / multi-year comparison. Track your comp evolution over time. Parse slips from the last 12-24 months; observe how component structure has shifted. Useful for verifying expected raises landed, identifying changes in HRA or PT, spotting unexpected deductions.
- Employer-to-employer offer comparison. When considering a new role, compare offer letters component-by-component against your current slip's structure. Same total comp can have different post-tax outcomes depending on Basic vs HRA vs Special split.
- Tax planning / ITR preparation. Slip-level earnings totals are inputs to FY-end ITR filing. The structured JSON makes it easy to sum across slips for accurate annual earnings figures.
What this tool doesn't do
Three deliberate non-features:
- Doesn't compute taxable income for the year. Single-slip taxable income is sometimes shown; FY-end taxable income usually requires Form 16. Use ITR Analyzer for FY-end taxable-income computation; this tool covers monthly slips.
- Doesn't advise on tax planning. The structured JSON is data; tax-planning recommendations need a chartered accountant or a dedicated tax-planning tool. The output is your input to those conversations, not a substitute.
- Doesn't auto-detect mistakes. If the slip has an error (missed component, wrong deduction), the analyzer surfaces what the slip shows, not what should be there. Verification against payroll-team confirmation or against your offer letter is still needed.
Limits and pricing
Salary Slip Analyzer charges 10 credits per slip. The tool handles PDFs up to 25 MB. Processing runs on our servers; the slip is in memory only during analysis. Source PDFs delete within 60 minutes; structured output JSON returned with masked PII.
Common pairings: Salary Slip + Multi-Bank Statement Analyzer for full month-by-month financial picture. Salary Slip parsed for multiple months + Excel for visual YoY trends. Salary Slip → ITR Analyzer at FY-end for tax-return-prep workflow.