Practical writing on payroll compliance infrastructure — products, architecture, and the hard problems in multi-country payroll.
Eight architectural decisions that separate Payroll Engine from conventional payroll systems — time-splitting, four-layer regulations, test-driven compliance, and more.
Payroll isn't a feature — it's infrastructure. What that means in practice: the calculation engine, country regulations, consolidation, and why the foundation is open source.
Building a SaaS payroll product means solving multi-tenancy, regulation isolation, and annual compliance cycles — before writing a single line of product code.
694 integration tests across 11 countries. Not unit tests — full payrun executions against a live backend. How PayrollEx verifies every regulation before it reaches production.
The Model Context Protocol gives AI agents structured access to payroll data — through a defined, permission-controlled interface. Not a chatbot. A tool protocol for payroll infrastructure.
200 companies × 5 countries doesn’t mean 1,000 forks. How the three-layer regulation stack lets providers share statutory logic while customizing per tenant.
Tax rates and contribution ceilings change every year. Why they live in versioned JSON lookups with validFrom dates — not in application code.
Ten provider adapters — bidirectional: importing HR master data into Payroll Engine and exporting computed results to ERP/finance systems, without ever overwriting the HR system’s master data.
WT 7000–7030: a uniform interface across all countries. How regional and global consolidation works — from single-tenant reports to multi-currency aggregation.
Payroll consultants understand the law but can’t write code. Token-based valueActions and JSON regulation files close the gap — no IDE required.
The calculation engine is MIT-licensed. The country regulations are commercial. This split is intentional — and it’s the core architectural decision.
Why embedded payroll doesn’t need embedded UI widgets. The regulation defines the fields, the AI conducts the dialog — no form, no frontend code, no widget maintenance.
Payroll data is among the most sensitive personal data under GDPR. How the engine addresses data minimization, audit trails, retention, role-based access, and data subject rights at the infrastructure level.
Set up the engine, deploy a country regulation, configure a tenant, enter employee data, run the payroll — a practical walkthrough for providers getting started without writing payroll logic.
External EWA providers estimate net pay with flat-rate models. Payroll Engine calculates the exact net — using the same forecast engine that produces the legal payslip. No estimation gap, no compliance risk.
AI won’t replace payroll professionals who embrace it. How MCP Server, AI-driven case input, and consolidation queries transform payroll from an operational function into a strategic one — without removing the human from the loop.
Swapping global payroll aggregators rearranges black boxes. The real gap is the layer underneath — a unified data layer that normalizes statutory meaning, not just field names, with period-versioned mapping and a per-number audit trail. Why reconciliation never ends, and what actually fixes it.
A factual comparison of embedded payroll APIs — country coverage, architecture, data ownership, and when each is the right choice.
Deel, Remote, and Papaya Global run payroll as a service. PayrollEx provides the engine so platforms can run payroll themselves. A comparison of the two models.
Building payroll from scratch takes 24+ months per country. Buying a SaaS locks you in. Embedding a compliance engine is the third option. A framework for the decision.
Most payroll engines are black boxes. Open-source infrastructure provides a different foundation for compliance trust — auditability, reproducibility, and vendor independence.
One calculation engine, eleven country regulations, three regional consolidations. How multi-country payroll works — from isolated regulations to unified reporting.
Why fixing last month's pay isn't one number. Delta calculations, cascading effects, and why tax follows cash while social security follows accrual.
A salary change on the 15th means every downstream formula must split. Naive weighted averages fail with non-linear tax brackets — and the CalendarPeriod × CalendarPeriod trap silently halves your contributions.
Garnishment isn’t subtraction. Disposable earnings, type-specific caps, priority rules, and the circular dependency between net pay and deductions — across five jurisdictions.
Bonuses, 13th month, severance — payments that break the monthly model. How countries annualize, apply flat rates, or attribute to prior months, and why social security ceilings make it worse.
Progressive brackets, credit phase-outs, cumulative PAYE, and dual-path impatriate regimes. Why annualization changes everything and how a missing bracket silently shifts all higher income.
Contribution ceilings differ per branch, per period, and per country. Split BBG, Midijob interpolation, Cuota de Solidaridad, and why AHV is uncapped while ALV isn’t.
NJ-NY commuter credits, 26 Swiss cantons, Scottish tax codes, and Kirchensteuer splits. From withholding allocation to multi-currency consolidation.
DSN, RTI, ELStAM, Sistema RED — mandatory electronic declarations that aren’t just output. When government data feeds back into the calculation.
Government-mandated reduced hours, fictional SV earnings, proportional base reductions, and the interaction with one-time payments during short-time work.
Finiquito, PILON, rupture conventionnelle — multi-component settlements where each part has different tax and social security treatment.
80% Luxembourg, 20% home office — split payroll, A1 certificates, and post-COVID telework thresholds for frontier workers.
Sector-level agreements that override legal minimums — IT waiting days, seniority tramo tables, transport plus, and why convenios are the default in Spain and France.
Preview, Forecast, Legal — three job types with different isolation guarantees. What-if scenarios, budget projections, and forecasting across tax-year boundaries.
Running payroll for 200 companies across multiple countries — annual change cycles, data regulation satellites, 3-layer tenant customization, and what happens when January has a bug.
When a regulation changes, every other calculation must still be correct. Guards, mid-month splits, retroactive correction deltas — and why full-payrun regression suites are the only safe approach.
The EU Pay Transparency Directive requires salary range disclosures, gender pay gap reporting, and employee access to pay information by June 2026. What payroll infrastructure must deliver — and what changes for multi-country providers.
Country, provider, industry, tenant — four layers, one payslip. How baseRegulations and payroll layers compose without forking.
Five tokens, three lines of JSON, one working wage type. How valueActions express payroll calculations without C#.
Salary, tax class, pension opt-in — the Case/CaseField model defines what data exists, how it’s validated, and how it changes over time.
Tax rates change every year — your code shouldn’t. How versioned lookup tables and annual data satellites separate compliance updates from calculation logic.
Your bonus must know where it belongs. How collectors wire provider wage types into country-level tax and social security calculations.
Some extensions take a click, others take a regulation. Data stubs activate by configuration — logic stubs require a provider override.
When tokens aren’t enough — C# Custom Actions for lookup arithmetic, time-segmented calculations, and complex decision trees.
Ship with proof. Full payrun integration tests — same engine, same execution path as production — for every regulation overlay.
The payslip is just the beginning. Server-side report scripts query payrun results and produce employer cost overviews, YTD summaries, and custom analytics.
From stub to payslip — an end-to-end walkthrough building a Dutch transport-sector pension overlay with data satellites, Custom Actions, and integration tests.