The Problem
When a court orders an employer to withhold part of an employee’s wages for a creditor, the payroll system must answer a deceptively simple question: how much can legally be taken?
The answer is never “the full amount owed.” Every jurisdiction protects a minimum income — a floor below which the employee’s wages cannot be reduced. But defining that floor involves a web of rules that vary by country, creditor type, family size, and the nature of the debt. Child support takes priority over commercial debt. Tax levies have their own caps. Some countries protect a fixed amount; others protect a percentage of net pay; some use progressive scales that leave more to the employee as income rises.
The fundamental challenge is circularity. The garnishable amount depends on net pay after taxes and social security. But in some jurisdictions, certain garnishment deductions are themselves pre-tax (like German Unterhaltspfandung in edge cases) or affect the social security base. Net pay depends on the garnishment, and the garnishment depends on net pay. A payroll engine must break this cycle with a defined calculation order — and different countries break it in different places.
The multi-creditor problem: An employee has a child support order ($600/month), a commercial garnishment ($400/month), and a federal tax levy (per IRS Pub 1494). All three arrive at the employer simultaneously. The garnishable amount is $1,200/month, but after protecting the exempt floor, only $850 is available. Who gets paid? In what order? Can the commercial creditor take anything at all after child support is satisfied? The answers differ in every country.
Most payroll systems treat garnishment as an afterthought — a manual deduction entered by a payroll administrator and subtracted from net pay. This works for a single garnishment with a fixed amount. It fails the moment you need priority ordering, type-specific caps, threshold tables that change annually, or multiple creditors competing for the same garnishable pool. And in multi-country operations, it fails completely, because the rules are mutually incompatible.
How It Works
Every garnishment system operates on the same three-step logic: (1) calculate disposable earnings, (2) determine the garnishable amount, (3) allocate across creditors. But the definition of each step varies dramatically between jurisdictions.
Disposable Earnings by Country
| Country | Legal Basis | “Disposable Earnings” Definition | Protected Floor |
|---|---|---|---|
| DE | § 850c ZPO + Pfandungsfreigrenzenbekanntmachung | Net pay after tax and mandatory social security contributions | Threshold table: 1,491.75 EUR/month (0 dependents, 2024/25); increases per dependent |
| US | CCPA Title III, 15 USC § 1673; IRS Pub 1494 | Gross pay minus legally required deductions (tax, SS, Medicare) | Lesser of 25% of disposable earnings or amount exceeding 30× federal minimum wage ($217.50/week at $7.25/hr) |
| UK | Attachment of Earnings Act 1971; Council Tax (Administration and Enforcement) Regulations 1992 | Net earnings: gross minus tax, NI, pension contributions | Protected earnings rate set by court order (DEO); fixed-percentage table for council tax (CTAEO) |
| ES | Art. 607 LEC (Ley de Enjuiciamiento Civil) | Net salary after tax and social security | SMI (Salario Mínimo Interprofesional) is fully protected: 1,134 EUR/month (14 pagas, 2025); progressive scale above SMI |
| AT | § 291a ff EO (Exekutionsordnung) | Net income after tax and social security | Existenzminimum table: updated annually; increases per dependent (Unterhaltsberechtigte) |
Germany: The § 850c Threshold Table
Germany uses a detailed threshold table published annually as the Pfandungsfreigrenzenbekanntmachung. The protected amount depends on the employee’s net income and the number of dependents (Unterhaltsberechtigte). The table works as follows:
- Below the base threshold (1,491.75 EUR/month for 0 dependents): nothing is garnishable
- Between the base and the cap (currently around 4,298.01 EUR/month for 0 dependents): a progressive percentage is garnishable — 30% of the first tier, 50% of the second, 70% of the third, and so on
- Above the cap: everything beyond the protected amount is fully garnishable
- Each additional dependent raises the protected thresholds by a fixed increment (currently around 558.78 EUR for the first dependent, decreasing for subsequent ones)
The table is not a simple percentage — it is a progressive bracket system similar to income tax. An employee with net pay of 2,500 EUR and zero dependents has a garnishable amount of approximately 604.94 EUR, not 25% of 2,500 EUR (625 EUR). The difference comes from the bracket structure, which protects a larger share of lower income tiers.
United States: CCPA + Type-Specific Overrides
The US federal Consumer Credit Protection Act (CCPA) sets the baseline: the maximum garnishment is the lesser of 25% of disposable earnings or the amount by which disposable earnings exceed 30 times the federal minimum wage ($7.25/hour × 30 = $217.50/week).
But this is only the default. Specific debt types have their own caps:
- Child support / alimony: Up to 50% of disposable earnings if supporting another family, 60% if not; add 5% if more than 12 weeks in arrears (15 USC § 1673(b))
- Federal tax levies: IRS Pub 1494 table based on filing status and exemptions — protects a per-pay-period exempt amount, everything above is garnishable
- Federal student loans: Up to 15% of disposable earnings (20 USC § 1095a)
- State tax levies: Vary by state — some follow CCPA, others have their own caps
State laws can further limit the federal caps but cannot exceed them. New York, for instance, caps general garnishment at 10% of gross or 25% of disposable, whichever is less. Texas prohibits garnishment for most consumer debts entirely (Tex. Prop. Code § 42.001). A multi-state employer must apply the more protective of federal or state law for each employee’s work location.
Spain: The Art. 607 LEC Progressive Scale
Spain’s garnishment rules are distinctive because they protect the Salario Mínimo Interprofesional (SMI) entirely — no deduction is permitted from the first SMI tranche of net income. Above that, a progressive scale applies:
- First additional SMI (1× to 2× SMI): 30% garnishable
- Second additional SMI (2× to 3× SMI): 50% garnishable
- Third additional SMI (3× to 4× SMI): 60% garnishable
- Fourth additional SMI (4× to 5× SMI): 75% garnishable
- Above 5× SMI: 90% garnishable
With the 2025 SMI at 1,134 EUR/month (14 pagas), an employee with 3,000 EUR net has: 0 EUR from the first 1,134, 30% of the next 1,134 (340.20 EUR), 50% of the next 732 (366 EUR) = total garnishable of 706.20 EUR. The court may adjust these percentages by up to 50% based on the debtor’s family circumstances (Art. 607.4 LEC), adding another variable that must be configurable per employee.
UK: Two Distinct Instruments
The UK has two main garnishment mechanisms that operate on fundamentally different principles:
- Attachment of Earnings Order (AEO / DEO): Used for maintenance, fines, and judgment debts. The court order specifies a normal deduction rate (the target percentage) and a protected earnings rate (the floor below which net pay cannot fall). The employer deducts the normal rate unless doing so would breach the protected rate.
- Council Tax Attachment of Earnings Order (CTAEO): Used specifically for council tax arrears. Uses a fixed-percentage table based on net earnings bands — no court-specified protected rate. For example: net earnings of £310–£550/month = 3% deduction; £550–£740 = 5%; up to 17% for earnings above £2,020/month.
An employee can have both a DEO and a CTAEO simultaneously. The DEO takes priority: the CTAEO is calculated on net earnings after the DEO deduction, not on the original net. This layered priority means the order of calculation matters — reversing it produces a different result.
Where It Gets Tricky
Multiple Simultaneous Creditors
A single garnishment is manageable. Two or three simultaneously is where most systems break. The core problem: each garnishment order specifies an amount or percentage, but the available pool depends on what other garnishments have already been deducted.
Consider a German employee with net pay of 2,800 EUR and two garnishment orders:
- Order A: Child support (Unterhalt), 600 EUR/month
- Order B: Commercial debt (Kaufmannische Forderung), 400 EUR/month
Under § 850d ZPO, child support garnishment has extended access — it can reach further into the protected amount than ordinary garnishments. The threshold table gives a lower protected floor for Unterhalt than for commercial debt. So the garnishable pool is different depending on which creditor you are evaluating:
- For child support (extended threshold): garnishable amount might be 1,100 EUR
- For commercial debt (standard § 850c threshold): garnishable amount might be 750 EUR
Child support is satisfied first (600 EUR). The remaining garnishable pool for commercial debt is not 750 − 600 = 150 EUR. It must be recalculated: the commercial creditor’s garnishable amount is based on the standard threshold applied to the net pay after child support has been deducted. The effective net is 2,800 − 600 = 2,200 EUR, which changes the bracket lookup entirely. The commercial creditor might receive only 120 EUR, not the 150 EUR a naive subtraction would suggest.
The Circular Dependency
The most fundamental architectural challenge in garnishment is the dependency cycle:
- Garnishment amount depends on disposable earnings
- Disposable earnings = net pay after tax and social security
- In some jurisdictions, garnishment deductions can affect the tax base for subsequent periods (through year-end reconciliation)
- Tax determines net pay, which determines disposable earnings, which determines garnishment
Most countries break this cycle by defining garnishment as strictly post-net: the garnishment is calculated after all tax and social security deductions are finalized, and does not feed back into the tax calculation. Germany, the US, the UK, Spain, and Austria all follow this pattern for the current-period calculation.
But edge cases exist. In Germany, if the garnishment is for Unterhalt (child support) and the employee claims the child as a Kinderfreibetrag (child tax allowance), there is an indirect feedback loop: the garnishment reduces the employee’s actual ability to support the child, which could in theory affect the allowance — though in practice the Freibetrag is fixed by ELStAM and does not adjust per-period. The architectural takeaway is that the post-net placement must be enforced by the calculation engine, not merely assumed.
Priority Ordering Across Types
When multiple garnishment types coexist, they do not compete equally. Every jurisdiction defines a priority hierarchy:
| Priority | DE | US | UK | ES | AT |
|---|---|---|---|---|---|
| 1 (highest) | Unterhalt (§ 850d ZPO) | Child support / alimony | DEO (maintenance) | Alimentos (Art. 608 LEC) | Unterhalt (§ 291c EO) |
| 2 | Ordinary garnishment (§ 850c ZPO) | Federal tax levy (IRS) | DEO (judgment debt) | Ordinary embargo (Art. 607 LEC) | Ordinary Pfandung (§ 291a EO) |
| 3 | — | State tax levy | CTAEO (council tax) | — | — |
| 4 | — | Federal student loan | AEO (other) | — | — |
| 5 | — | Creditor garnishment (CCPA) | — | — | — |
Higher-priority garnishments are satisfied first. Lower-priority garnishments only receive funds from whatever remains in the garnishable pool after higher-priority claims are fulfilled. If the pool is exhausted by higher-priority claims, lower-priority creditors receive nothing that period — but the debt is not discharged; it accumulates as arrears.
Threshold Versioning
Garnishment thresholds change regularly. Germany publishes new Pfandungstabellen every two years (most recently effective July 1, 2023). Spain updates the SMI annually. The US federal minimum wage has been $7.25/hour since 2009, but state minimum wages change frequently, and state garnishment rules often reference the state minimum rather than the federal.
A payroll system must apply the correct threshold version for the pay period, not the current version. A January 2026 payroll must use the January 2026 thresholds even if the system is processing that payroll in March 2026. And if thresholds change mid-year (as Germany’s do every July 1), the system must correctly apply the old thresholds for June and the new ones for July — even when processing both months in the same batch run.
Garnishment and One-Time Payments
Regular monthly garnishment is complex enough, but one-time payments (bonuses, 13th-month salary, severance) add another layer. In Germany, the § 850c table is designed for monthly income. When a bonus is paid, it is added to the month’s net income before the threshold lookup. A monthly net of 2,000 EUR with a 5,000 EUR bonus means the threshold lookup uses 7,000 EUR — well above the cap, making a large portion fully garnishable.
In Spain, the 14-pagas system (12 monthly + 2 extra payments) creates a structural issue: the extra payments in June and December effectively double the monthly income for garnishment purposes, but the SMI reference is the monthly SMI. The employee’s protected floor doesn’t double in bonus months, meaning a significantly larger portion of the extra payment is garnishable compared to a regular month.
Austria handles this with separate garnishment thresholds for regular and extraordinary payments (Sonderzahlungen), recognizing that the 13th and 14th month salaries have a different legal character under Austrian labor law (§ 291a Abs. 2 EO).
How PE Solves It
Payroll Engine’s garnishment architecture is built on three principles: post-net placement, priority-ordered sequential processing, and threshold versioning through data regulations.
Post-Net Wage Type Architecture
Every wage type in PE has a sequence number that determines its execution order within the payrun. Garnishment wage types are placed in the 6500+ range — after all tax calculations (5000–5199), social security calculations (5200–6499), and the net pay calculation itself.
This placement is not advisory; it is structurally enforced. A garnishment wage type reads the net pay result from the preceding wage types in the chain and cannot influence their calculation. The circular dependency is broken by architecture: garnishment observes the finalized net but does not participate in determining it.
The sequence within the 6500+ range implements creditor priority. Child support garnishments execute first (e.g., WT 6501), ordinary garnishments second (e.g., WT 6505), and each subsequent garnishment reads the remaining garnishable pool as reduced by all prior garnishments. The wage type chain is inherently ordered, so priority conflicts are impossible — the execution sequence is the priority order.
Creditor Priority via Wage Type Sequence
Each creditor type maps to a specific wage type number, and the numbering determines the execution order:
| WT Range | Creditor Type | Priority |
|---|---|---|
| 6501–6504 | Child support / maintenance (Unterhalt, alimentos, DEO maintenance) | Highest |
| 6505–6509 | Tax levies (IRS levy, state tax levy) | High |
| 6510–6519 | Ordinary garnishment (commercial, judgment debt, CTAEO) | Standard |
| 6520–6529 | Student loan, administrative garnishment | Lower |
When WT 6505 (tax levy) executes, it can read the result of WT 6501 (child support) to determine how much of the garnishable pool has already been consumed. The formula: garnishable_pool = disposable_earnings - already_garnished. The “already_garnished” value is simply the sum of all prior garnishment wage types in the chain — available via standard wage type references.
This design scales to any number of simultaneous creditors without special-case logic. Adding a third or fourth garnishment is a matter of adding wage types in the appropriate range. The engine processes them in sequence, each one drawing from the remaining pool.
Country-Specific Threshold Tables
The garnishment thresholds for each country are stored in data regulations — versioned lookup tables with effective dates. The German § 850c threshold table, for example, is a progressive lookup keyed by monthly net income and number of dependents. The US CCPA calculation references the federal minimum wage. Spain’s Art. 607 scale references the SMI.
Each data regulation carries a validFrom date. When Germany publishes new Pfandungstabellen effective July 1, a new data regulation version takes effect on that date. Payrolls processed for June use the old thresholds; payrolls for July use the new ones. No code changes required — only a data update.
The threshold lookup itself uses PE’s standard lookup types:
- Progressive lookups for the German § 850c table: distribute the net income across brackets, applying different garnishment percentages to each tier
- Threshold lookups for the UK CTAEO table: match the net earnings band and return a single deduction percentage
- Formula-based calculations for the US CCPA: compare 25% of disposable earnings vs. the excess over 30 × minimum wage and take the lesser
Handling Multiple Creditors of the Same Type
A common real-world scenario: an employee has two child support orders from two different courts, for two different children. Both are “highest priority” — neither outranks the other. The garnishable pool must be split between them.
PE handles this through intra-priority allocation. When multiple wage types occupy the same priority range and the pool is insufficient to satisfy all of them, the allocation follows the court-ordered amounts on a pro-rata basis. If Order A demands 600 EUR and Order B demands 400 EUR, and only 700 EUR is available, Order A receives 420 EUR (60%) and Order B receives 280 EUR (40%). The pro-rata split is a standard wage type pattern — each garnishment wage type reads the total demanded at its priority level and calculates its proportional share.
Arrears Tracking
When the garnishable pool in a given period is insufficient to satisfy a garnishment order, the shortfall becomes arrears. PE tracks arrears through case values with period-specific entries. Each garnishment case (representing one court order) carries a running balance. The wage type reads the current order amount plus accumulated arrears, caps the deduction at the available pool, and records the new arrears balance for the next period.
This is critical for compliance: an employer who stops deducting when the current order is fulfilled but ignores accumulated arrears is in violation of the court order. Conversely, an employer who deducts arrears without respecting the current period’s garnishable cap violates the employee’s wage protection rights. The balance between these two obligations is maintained by the wage type formula, which always enforces: actual_deduction = min(order_amount + arrears, available_pool).
Test Case References
The following integration tests validate the scenarios described in this article:
| Test | Country | Scenario |
|---|---|---|
WT-TC6501-DE-Lohnpfaendung-Neu |
DE | § 850c ZPO threshold table — single creditor, 0 dependents |
WT-TC6505-US-Garnishment |
US | CCPA garnishment with federal minimum wage floor calculation |
WT-TC6501-AT-Lohnpfaendung |
AT | Existenzminimum lookup — single creditor with dependents |
WT-TC5200-UK-AoE-Fixed |
UK | Attachment of Earnings Order — fixed deduction with protected earnings rate |
WT-TC5200-UK-AoE-Percentage |
UK | Attachment of Earnings Order — percentage-based deduction (CTAEO table) |
WT-TC5200-ES-Embargo-Capped |
ES | Art. 607 LEC progressive scale with SMI floor — garnishment capped at available pool |
See how PE handles this
Garnishment is where payroll meets the legal system — court orders, priority rules, and threshold tables that change every year. Payroll Engine’s post-net wage type architecture handles multiple simultaneous creditors with country-specific priority ordering and versioned threshold data across all supported jurisdictions.
Request a Demo →
Germany
United States
United Kingdom
Spain
Austria