| 1 | Validate tax class, allowances, social insurance attributes | Rule engine | Cross-reference against tax authority data (e.g. ELStAM in Germany), deterministic |
| 2 | Verify collective agreement classification | AI Agent | Agent classifies: which collective agreement, which pay grade, which level? Cross-references against master data and detects inconsistencies |
| 3 | Calculate base remuneration | Collective agreement | Lookup in versioned rate table: region + grade + level |
| 4 | Calculate supplements (night/Sunday/public holiday) | AI Agent + collective agreement | Agent classifies supplement type from shift data. Collective agreement defines rates + accumulation rule (highest applies, night always additive) |
| 5 | Identify tax-exempt portions | Rule engine | Tax-exempt thresholds for shift supplements per jurisdiction (in Germany: EStG; (UK: HMRC shift premium guidance)) |
| 6 | Calculate salary conversion / occupational pension | Rule engine | Employee contribution + employer top-up, tax/social insurance thresholds verified |
| 7 | Calculate social insurance contributions | Rule engine | Health, pension, unemployment, care insurance with contribution ceiling checks, sliding zone for marginal employment |
| 8 | Apply garnishments | Rule engine + human | Garnishment table deterministic; for priority conflicts: Human-in-the-Loop |
| 9 | Variance check against prior period | AI detects, human decides | The AI detects variances more reliably than any payroll clerk. But the decision about what to do with a variance must remain with the human: was it a promotion, a data error or a genuine payroll error? Without this separation, compliance monitoring becomes performance surveillance - and in Germany, that triggers works council co-determination rights (BetrVG). Across the EU, employee representation bodies have comparable oversight requirements. |
| 10 | Generate posting entries | Rule engine | GL account assignment, cost centre, posting period - deterministic |