Open-source multi-country payroll calculation engine built on n8n. Supports South Africa, UK, and US tax jurisdictions.
Dedukto
Open-source multi-country payroll engine with real tax calculations.
Gross-to-net across South Africa, United Kingdom, and United States — with an MCP server for AI agent integration.
Live Demo ·
MCP Server ·
Jurisdictions ·
Quick Start ·
Architecture
---
## Overview
Dedukto is a precision-engineered payroll calculation engine that handles statutory deductions across three major tax jurisdictions. It ships with:
- **Interactive Frontend** — Liquid-glass UI with live payroll processing, PDF payslips, and compliance reports
- **MCP Server** — Model Context Protocol server exposing payroll calculations as AI-callable tools
- **n8n Workflow** — Visual automation workflow for batch payroll processing
**Built for transparency.** Every tax bracket, rebate, and threshold is implemented in auditable code with source comments referencing official SARS, HMRC, and IRS documentation.
### Key Features
- **Real Tax Calculations** — Current brackets per jurisdiction (ZA 2025/26, UK 2025/26, US 2025) from official government sources
- **3 Jurisdictions** — South Africa (PAYE, UIF, SDL), United Kingdom (Income Tax, NI, Pension), United States (Federal, State, FICA, 401(k))
- **MCP Server** — 3 tools (`calculate_paye`, `calculate_net_pay`, `list_tax_brackets`) callable by any MCP-compatible AI agent
- **Interactive Frontend** — Purple liquid-glass UI with live payroll processing, master-detail payslips, and PDF export
- **Compliance Report** — Aggregated multi-country summary with per-jurisdiction breakdowns
- **52+ Tests** — 31 JS unit tests + 21 Python tests covering all tax calculations and MCP tools
---
## MCP Server
Dedukto exposes SARS 2024/25 payroll calculations as **Model Context Protocol (MCP)** tools — callable by Claude Desktop, LangGraph agents, or any MCP-compatible client.
### Tools
| Tool | Input | Output |
|---|---|---|
| `calculate_paye` | annual gross, jurisdiction, age | Full PAYE/UIF/SDL breakdown + net pay |
| `calculate_net …