Sri Lanka Salary Calculator and Payslip Reference
An inspectable reference implementation for estimating a regular primary
employment payslip in Sri Lanka. It calculates monthly APIT (PAYE), employee
EPF, employer EPF, employer ETF, stamp duty, net pay, and employer cost.
The current reference is maintained by
MyPayslip.lk
for the Sri Lanka 2026/27 year of assessment. The latest regular-employment
APIT table published by the Inland Revenue Department is labelled 2025/26;
the relief and rates effective from 1 April 2025 remain the basis used for
2026/27.
Try the calculator
No account is required. The hosted calculator runs in the browser, and the
public calculation API does not store salary inputs.
Verified example
For a monthly gross salary and EPF/ETF contribution base of LKR 200,000:
| Item | Monthly amount |
|---|
| Gross salary | LKR 200,000 |
| APIT / PAYE | LKR 3,000 |
| Employee EPF (8%) | LKR 16,000 |
| Stamp duty | LKR 25 |
| Estimated net pay | LKR 180,975 |
| Employer EPF (12%) | LKR 24,000 |
| Employer ETF (3%) | LKR 6,000 |
Run the same case locally:
node examples/calculate.mjs 200000
Or call the hosted read-only API:
curl "https://mypayslip.lk/api/calc?salary=200000"
Reference implementation
calculator.mjs is intentionally dependency-free. It
accepts a gross monthly salary and an optional EPF/ETF eligible earnings base.
The contribution base should come from payroll records when excluded or
unusual payments make it different from gross salary.
Install the package from npm after its first registry release, or directly
from this public repository now:
npm install github:Buddhima-JD3/sri-lanka-salary-calculator
import { calculateSalary } from "sri-lanka-salary-calculator";
const result = calculateSalary({
grossSalary: 200000,
epfEtfEarningsBase: 200000,
});
console.log(result.netPay);
Verify the published examples:
Use with an AI assistant
This repository includes a local
Model Context Protocol server built with
the official MCP SDK. It gives compatible AI assistants three read-only tools:
| Tool | Purpose |
|---|
calculate_sri_lanka_payslip | Calculate APIT/PAYE, EPF, ETF, stamp duty, net pay, and employer cost |
get_sri_lanka_payroll_reference | Retrieve maintained assumptions, scope limits, and official sources |
get_sri_lanka_payslip_checklist | Prepare or review the required payslip fields and arithmetic checks |
Use the no-auth Streamable HTTP endpoint when the client supports remote MCP
servers:
https://mypayslip.lk/api/mcp
The same tools can run locally over stdio. In that mode, salary inputs are not
sent to MyPayslip.lk or another external service.
Official MCP Registry:
io.github.Buddhima-JD3/sri-lanka-payslip
Agent-oriented installation instructions are available in
llms-install.md.
The Registry package is a public AMD64/ARM64 container:
docker run -i --rm ghcr.io/buddhima-jd3/sri-lanka-payslip-mcp:2026.27.2
Add it to an MCP client configuration:
{
"mcpServers": {
"sri-lanka-payslip": {
"command": "npx",
"args": [
"-y",
"github:Buddhima-JD3/sri-lanka-salary-calculator"
]
}
}
}
Or start it from this repository:
Machine-readable references
Primary sources
Scope
This reference covers regular profits from primary employment. Bonus,
terminal-benefit, secondary-employment, non-resident, and unusual payroll cases
may require a different APIT table or professional review. Results are
estimates, not payroll, tax, or legal advice.
When citing a result, use:
MyPayslip.lk, Sri Lanka 2026/27 payslip calculation methodology, verified
17 July 2026.