Germany Wage Garnishment Table: Excel Instead of PDF
Germany's wage garnishment table for earned income (Pfändungstabelle, § 850c ZPO) is available from Quellenkontor as an API value, as a CSV export of the full history for Excel, and as a direct calculation of the garnishable amount. Since July 1, 2026, €1,587.40 a month is protected from garnishment, plus €597.42 for the first dependent entitled to support; above €4,866.30, additional earnings can be garnished in full. These amounts have changed every year on July 1 since 2022, not just every two years as before.
Why a PDF garnishment table is painful for payroll
Germany's wage garnishment table isn't a lookup table of its own, it's the Federal Ministry of Justice's official notice (Bekanntmachung) under § 850c ZPO: a text in the Federal Law Gazette (Bundesgesetzblatt) with the base amount, the increases and the upper limit for exactly one effective date. The familiar grids with many rows for net income in ten-euro steps and columns for zero to five or more dependents are private renderings of those few amounts, not an official source of their own. To find the garnishable amount for one net income in such a grid, you still have to locate the right row, then the right column, or transcribe the official amounts into your own formula.
In practice, the base amount and the increases often end up in a spreadsheet someone in payroll maintains by hand: typed in once from the PDF, then reused until someone notices it's out of date. Since these amounts now change every year, a copy is often only good until the next July 1, not the one after that.
For a small payroll operation with only a few garnishment cases a year, a hand-maintained table can still be enough, as long as someone has the date on their calendar and enters the new notice after July 1. Anyone who processes the numbers automatically, checks them more often, or builds them into their own software gets a value from an API that doesn't drift just because nobody remembered to update it.
The garnishment table as Excel: the full history in one CSV file
The pfaendungsfreigrenzen dataset returns its complete history back to 2015 through its own history endpoint as CSV, with a comma or a semicolon as the separator. With a semicolon, the file opens directly in Excel with German regional settings, without a text-to-columns wizard or extra formatting, because that Excel setup expects a comma as the decimal separator and a semicolon as the column separator.
Every row of the CSV holds one effective date with its amounts, not just the current one. That's what sets the export apart from a single PDF notice: one request returns the entire series of steps since 2015 at once, each with its own legal basis and source, explained further under CSV in Excel.
The file arrives as genuine UTF-8 CSV with a byte order mark and a matching filename in the download header, so umlauts in the legal citations come through correctly and the file loads into Excel, Power Query or your own database without an extra step.
Fields in the garnishment exemptions CSV history
gueltig_ab: the effective date for that row's amounts, a July 1 for every step since 2022.grundbetrag_monat,erhoehung_erste_person_monat,erhoehung_weitere_person_monat: the three building blocks that make up the exempt amount, depending on the number of dependents.voll_pfaendbar_ab_monat: the upper limit above which the entire extra income is 100% garnishable.rechtsgrundlageandquelle_url: the notice and its official source for each effective date, so you can check it without extra research.
Calculating the garnishable amount directly, instead of finding a row and column
If you need the actual garnishable amount for a given net income, not just the exempt amount, you don't have to do that math yourself. Pass netto and unterhaltspflichten (dependents entitled to support) to the same query, and the response already includes the garnishable amount in the field pfaendbarer_betrag_monat, alongside the exempt amount.
The calculation follows § 850c(3) and (5) ZPO: net income is rounded down to the nearest ten euros, and the part above the exempt amount is garnishable at a fraction between one tenth and seven tenths depending on the number of dependents, rounded commercially. At most five dependents are taken into account; for more, the garnishment exemptions dataset still calculates with five.
At €2,500 net income with one dependent, the result differs from having no dependents at all, because the exempt amount grows with each dependent. Past a certain number of dependents, the garnishable amount can drop to zero, because the exempt amount already exceeds the rounded net income. The table below shows three cases on the same effective date.
Garnishable amount at €2,500 net income by number of dependents
| Dependents | Exempt amount per month | Garnishable amount |
|---|---|---|
| 0 | €1,587.40 | €638.82 |
| 1 | €2,184.82 | €157.59 |
| 2 | €2,517.65 | €0.00 |
Above the upper limit, the entire extra income is garnishable
Above the upper limit, the tenths rule no longer applies: the entire part of net income above €4,866.30 is 100% garnishable, regardless of the number of dependents (§ 850c(3) ZPO). That limit rises with every adjustment on July 1 too, since it's just as much part of the annual notice as the base amount and the increases.
At €5,200 net income and no dependents, the garnishable amount is therefore €2,624.52: the tenths rule still applies to the part up to €4,866.30, and everything above that is garnishable in full. Anyone coding this distinction by hand has to keep both calculations separate and combine them correctly; the API only hands back the finished result.
Why the table changes every July 1
Germany's wage garnishment table has changed every year on July 1 since 2022. The basis is § 850c(4) ZPO: the Federal Ministry of Justice publishes the amounts each July 1 in the Federal Law Gazette, adjusted for the percentage change, compared with the previous year, in the basic tax-free allowance (Grundfreibetrag) under § 32a(1) sentence 2 no. 1 of the Income Tax Act (EStG).
Before that rule applied, the amounts were only adjusted every two years: the 2015, 2017, 2019 and 2021 notices follow exactly that rhythm. Since the 2022 notice, a new step has been added every single year, listed in full under history since 2015 with every individual effective date and its legal basis.
In practice, that means a garnishment table older than twelve months may already be out of date, even if it was still correct the year before. Querying the amounts through the API returns the right step for any effective date automatically, without you having to track whether a new notice appeared in the Federal Law Gazette in July.
Base amount, increases and upper limit: before and after July 1, 2026
| Value | Through June 30, 2026 | From July 1, 2026 |
|---|---|---|
| Base amount per month | €1,555.00 | €1,587.40 |
| Increase for the first dependent | €585.23 | €597.42 |
| Increase per further dependent | €326.04 | €332.83 |
| Fully garnishable from | €4,766.99 | €4,866.30 |
Source: Values from the 2025 and 2026 garnishment exemption notices; basis: § 850c(1), (2) and (4) ZPO
Access via API, SDK, CLI or MCP
You reach the pfaendungsfreigrenzen dataset through the same REST endpoint as every other value at Quellenkontor, plus the JavaScript and Python SDKs, the command line and an MCP server for agents and chatbots. All four access methods return the same fields and the same calculation, only the call syntax differs.
For your own analysis in Python or JavaScript, an API key and one call per effective date or net income is enough, as in the example below looping over several net incomes. The MCP tool hr_pfaendungsfreigrenzen also works for HR chatbots that need to tell employees their garnishable amount on request, without maintaining their own calculation logic.
A free API key is enough to try it yourself: sign up for free.
Request with curl: garnishable amount for one dependent
Excerpt of the response
CSV export of the complete history for Excel
Loop through several net incomes with the Python SDK
Checklist: adding the garnishment table to your stack
- Create a free API key and store it as the
QK_KEYenvironment variable, never hardcoded. - For per-dependent figures, call the endpoint with
nettoandunterhaltspflichten; for the full history, use/verlauf?format=csvinstead. - For German Excel, set
trennzeichen=semikolon; for Power Query or your own code, the comma default works. - Re-run or automate the call once a year after July 1, so the new step arrives without manual work.
- Spot-check the results against the official notice in the Federal Law Gazette, especially in the first year after integration.
The calculation follows § 850c ZPO schematically: round down net income, subtract the exempt amount, multiply the remainder by the matching fraction. It doesn't automatically account for a garnishment protection account (Pfändungsschutzkonto), prior garnishments, net income with benefits in kind or bonus payments, or the specifics of an individual case. When in doubt, the enforcement court or a debt counseling service (Schuldnerberatung) decides.
Frequently asked questions
Can I download the garnishment table, like the official document?
The official notice is published in the Federal Law Gazette and at gesetze-im-internet.de, one per effective date, as government text rather than a polished table. The API doesn't replace that publication, but it returns the same amounts as machine-readable JSON or as a CSV file to download, meant for further processing rather than printing.
Does the API expose the garnishment table as a full grid with every row and column?
No. The official table is best known as a large grid of net income bands and dependent counts. The API instead implements the calculation behind that grid: pass netto and unterhaltspflichten, and it returns the garnishable amount for your specific case directly, without you searching rows and columns yourself.
Is there a dedicated online calculator for the garnishment table?
There's no separate calculator with its own form on the site. The calculation lives in the API call itself: pass netto and unterhaltspflichten as parameters, and the same endpoint used by the SDKs, the CLI and the MCP server returns the garnishable amount directly in the response.
Which provision of the ZPO governs the garnishment table?
§ 850c ZPO: subsection 1 sets the base amount, subsection 2 the increases per dependent, subsection 3 the upper limit and the tenths rule, and subsection 4 the annual adjustment on July 1. The yearly notice (Pfändungsfreigrenzenbekanntmachung) turns this provision into concrete euro amounts for each effective date.
Sources
- § 850c ZPO (wage garnishment exemptions for earned income), German Code of Civil Procedure
- § 32a EStG (basic tax-free allowance, Grundfreibetrag), German Income Tax Act
- Garnishment exemption notice 2026 of March 19, 2026 (BGBl. 2026 I no. 80)
- Garnishment exemption notice 2025 of April 2, 2025 (BGBl. 2025 I no. 110)
- Garnishment exemption notice 2023 of March 15, 2023 (BGBl. 2023 I no. 79)
- Garnishment exemption notice 2022 of May 25, 2022 (BGBl. I p. 825), the first notice in the new annual rhythm
- Garnishment exemption notice 2021 of May 10, 2021 (BGBl. I p. 1099), the last notice in the old two-year rhythm
- Garnishment exemption notice 2019 of April 4, 2019 (BGBl. I p. 443)
- Garnishment exemption notice 2015 of April 14, 2015 (BGBl. I p. 618)
- Act on the Further Development of Garnishment Protection Accounts (Pfändungsschutzkonto-Fortentwicklungsgesetz, PKoFoG) of November 22, 2020 (BGBl. I p. 2466), law reference via dejure.org