Locate Gross Pay, Wage Tax & Leave Days (Bruttogehalt, Lohnsteuer, Urlaubstage) on Any Personio or DATEV Screenshot
Most extraction tools break on German payroll screens: DATEV renders the payslip as one dense standardized table, Personio wraps the same legal fields in modern cards. This one reads both by meaning — about 5 seconds per screenshot instead of 3 minutes of typing (35x faster).
~5s per screenshot · Up to 99% accuracy on clear printed text
Seven Fields a German Payslip Carries That a US Stub Does Not
German payroll law (§108 Gewerbeordnung) requires every monthly payslip (Lohnabrechnung) to show gross pay, three tax lines, and four social insurance contributions. Type these seven column names and the AI pairs each value with its German label on either layout.
Earnings before any deduction
Progressive income tax withheld monthly, set by tax class (Steuerklasse)
Only for registered church members — 8% or 9% by state
5.5% of wage tax above the threshold — still on 2025/2026 slips
KV/RV/AV/PV — health, pension, unemployment & care, split into employee (AN-Anteil) and employer (AG-Anteil)
Take-home after all tax and social lines
Granted, taken, and remaining days from Personio's Time off view
One German payslip screenshot produces a row like this — including lines US stubs never list:
| Gross (Brutto) | Wage Tax | Church Tax | Solidarity | Social Ins. | Net Pay | Leave |
|---|---|---|---|---|---|---|
| €4,850.00 | €712.00 | €64.08 | €0.00 | €1,000.30 | €3,073.62 | 18 |
Same German Payroll Law, Two Completely Different Screens
A German payslip carries more deduction lines than any US equivalent — wage tax, church tax, solidarity surcharge, and four social insurance branches, each with an employee and an employer share. DATEV renders this as the dense standardized table every tax advisor (Steuerberater) generates; Personio presents the same legal fields as card rows.
"I work in germany and understanding the salary slip is the one of the difficult tasks…"
— r/germany thread on understanding a German salary slip
That thread fills with the same confusion every month: what Bruttogehalt and Nettoverdienst mean, whether the KV line is the employee's share or the employer's, why church tax appears on one slip and not another's. The payslip has a fixed structure but no fixed layout — an employee who switched jobs twice may hold slips in three formats.
Why German Payslips Break Template Tools
The deduction block has employer shares that look like deductions. DATEV prints KV, RV, AV, and PV twice — the AN-Anteil you actually pay, and an AG-Anteil reference line the employer pays. A row-anchored parser copies both, inflating deductions by roughly 50%.
Tax lines are conditional, not constant. Kirchensteuer only exists for church members. Solidaritätszuschlag is zero for most taxpayers since 2021 but still appears on higher earners' 2025/2026 slips. Templates expecting every line fail when the count changes.
Abbreviations and layouts vary by payroll system. DATEV uses dense codes (LSt, KiSt, SolZ, AN, AG); Personio spells out the same terms in modern cards. A positional template built on one DATEV table breaks on a Personio screen — and on the next employer's DATEV version.
How Semantic Extraction Reads the German Gross-to-Net Chain
Name the column in English; the AI matches the German label. Type "Gross Pay (Bruttogehalt)" and the model finds the figure paired with Bruttogehalt on a DATEV table — or with the same term on a Personio salary card. The label defines the field, so the layout stops mattering.
Conditional lines are extracted as shown, or left empty. No Kirchensteuer on the slip means an empty column, not a guessed value. A Solidaritätszuschlag line of €0.00 or €48.90 is captured verbatim — the AI reads what the payroll system printed.
One batch across DATEV tables and Personio cards. A DATEV Lohnabrechnung, a Personio payslip document, and a Personio Time off screen fill the same seven columns in one export.
From a Personio Card or DATEV Table to a Payroll Row in Three Steps
Capture the Screen While You Still Have Access
In Personio, open the payslip under Documents → Payroll, or the Time off balance view. In DATEV Arbeitnehmer online, open the Lohnabrechnung from your Lohndokumente list. Screenshot the full document — if a payslip spans two pages on screen, capture each page. Leaving a company deactivates both portals, so grab the screenshots before your access ends. JPG, PNG, or WebP.
Name the Seven Columns Once
Type Gross Pay (Bruttogehalt), Wage Tax (Lohnsteuer), Church Tax (Kirchensteuer), Solidarity Surcharge (Solidaritätszuschlag), Social Insurance — Employee Share (AN-Anteil), Net Pay (Nettoverdienst), Leave Balance (Urlaubstage). The AI locates each label-value pair on either layout — dense DATEV table or Personio card — and keeps the employee share separate from the employer reference line.
Download One Row per Payslip or Leave Screen
Each screenshot becomes one seven-column row — twelve months of Personio or DATEV screens become a clean salary and leave history you can filter, compare, and hand to a lender, landlord, or tax advisor (Steuerberater). About 5 seconds per screenshot versus 3 minutes of typing (35x faster). Export as XLSX or CSV.
What a German Payroll Screen Can Prove — and What It Cannot Do
The extracted spreadsheet is a faithful record of what the screen shows. Here is where that is enough — and where the payslip still needs a professional.
When It Works Best
Clear, full-resolution screenshots of Personio or DATEV Arbeitnehmer screens. Machine-rendered payroll figures reach up to 99% accuracy.
Personio and DATEV mixed in one batch. The same seven columns work across the dense DATEV table and Personio's card UI — the AI reads by label meaning, not by layout.
Building a salary and leave history across months. Batch twelve monthly captures and compare gross, tax, and Urlaubstage figures month over month.
When to Be Cautious
The tool does not compute tax liability or verify deductions. It extracts what the payslip shows — it cannot confirm whether your Lohnsteuer or social insurance amounts are legally correct, or advise on tax class choices.
Truncated or multi-page payslips lose lines. If a DATEV Lohnabrechnung scrolls past the visible area, the lines below the fold are not in the image — capture each page.
Regional and personal variations are extracted as shown, not reconciled. Church tax differs by state (Bundesland) — 8% vs 9% — and health add-on rates vary by insurer (Krankenkasse). The AI records what your slip shows.
Frequently Asked Questions
Can I extract Gross Pay (Bruttogehalt) and Net Pay (Nettoverdienst) when they sit in different blocks of a DATEV payslip?
Yes. A German Lohnabrechnung is built as three blocks — header identifiers, earnings and deductions, and payment totals. The AI reads each label-value pair independently, so Gross Pay (Bruttogehalt) is pulled from the earnings block, Net Pay (Nettoverdienst) from the payment totals block, and both land in the same output row. The same two values come from Personio's salary cards, with the same column names.
Will the AI confuse the employer share (AG-Anteil) with my own deduction (AN-Anteil)?
Not if you name the column precisely. German payslips list each social insurance contribution twice: the employee share (AN-Anteil) is a real deduction from your pay, while the employer share (AG-Anteil) is a reference line that looks identical but is not taken from your salary. Define the column as "Social Insurance — Employee Share (AN-Anteil)" and the AI picks the correct line by its label.
Church Tax (Kirchensteuer) does not apply to me — will the column be wrong or empty?
Empty, not wrong. Church tax appears on the payslip only if you are registered as a member of a tax-collecting religious community — the Konfession field in the payslip header determines it. If your slip has no Kirchensteuer line, the column stays empty. If you are a member (Catholic, Protestant, or another recognized community), the line appears and is extracted with its amount — 8% of wage tax in Bavaria and Baden-Württemberg, 9% in other states.
Solidarity Surcharge (Solidaritätszuschlag) disappeared from my 2021 payslip — why is it on my 2025 or 2026 one?
The solidarity surcharge was reduced but never abolished. Since 2021 roughly 90% of taxpayers are exempt because their annual wage tax stays below the threshold — but anyone whose Lohnsteuer exceeds it (€20,350 for single filers in 2026) still pays 5.5% of wage tax as Solidaritätszuschlag. The AI extracts the line exactly as shown: a zero amount or an absent line stays zero or empty, a positive amount is captured verbatim. The tool does not decide whether you should be paying it.
Can I batch Personio leave-balance screens and DATEV payslips in one run?
Yes. The same seven column names process both in one batch. DATEV Lohnabrechnung screens fill the money columns — Bruttogehalt, Lohnsteuer, Nettoverdienst — while Personio's Time off balance view fills Leave Balance (Urlaubstage) with granted, taken, and remaining days. A screenshot that does not contain a field leaves that column empty rather than guessing. The output is one spreadsheet with one row per screenshot, covering payroll and leave data from both systems.
Return to the work & HR app screenshot overview for paystub, PTO, benefits, and attendance extraction across ADP, Workday, Sage, and Japanese/Korean HR apps.
For the US side of the same salary record, gross pay, deductions, and YTD totals from ADP and Gusto paystub screenshots extract with the same column-name approach — but far fewer tax and social lines.
And when the formal payslip numbers need context, sender, timestamp, and text from manager feedback in Slack and Teams round out the performance side of your employment record.