Reference: Compensatory levy
Amount per unfilled mandatory position by employment rate, with a calculator for the yearly levy.
The compensatory levy (Ausgleichsabgabe) under § 160 SGB IX for employers with at least 20 positions who fill less than 5% of them with severely disabled people: amounts per month and unfilled mandatory position by employment rate, special amounts for employers with fewer than 40 or 60 positions and the amount for employers who employ no severely disabled person at all. With arbeitsplaetze and besetzt, the API calculates the yearly levy with the method of the annual report (Anzeige) to the Federal Employment Agency.
Endpoints and calls
#| Access | Call |
|---|---|
| REST API | GET /hr/ausgleichsabgabe |
| History | GET /hr/ausgleichsabgabe/verlauf |
| SDK JavaScript | qk.hr.ausgleichsabgabe(…) |
| SDK Python | qk.hr.ausgleichsabgabe(…) |
| CLI | qk ausgleichsabgabe --jahr 2025 --arbeitsplaetze 120 --besetzt 2 |
| MCP tool | hr_ausgleichsabgabe |
Parameters
#| Name | Type | Required | Default | Allowed | Description |
|---|---|---|---|---|---|
jahr | year | no | laufendes Jahr | 2015 to 2035 | Calendar year for which the levy is owed. Defaults to the current year. |
datum | date (YYYY-MM-DD) | no | Alternative to jahr: effective date in the format YYYY-MM-DD, the year is taken from it. | ||
arbeitsplaetze | number | no | 0 to 1000000 | Positions under § 156 SGB IX as a yearly average, excluding positions for apprentices, positions under 18 hours a week and positions of up to eight weeks (§§ 156 and 157 SGB IX). Mini-jobs therefore usually do not count. Optional, for the calculation | |
besetzt | number | no | 0 to 1000000 | Filled mandatory positions as a yearly average, including people with equal status (Gleichgestellte) and multiple counting under § 159 SGB IX. Optional, together with arbeitsplaetze | |
bestandteil | text | no | quote_3_bis_unter_5, quote_2_bis_unter_3, quote_ueber_0_bis_unter_2, quote_0, klein_unter_40_weniger_als_1, klein_unter_40_null, klein_unter_60_weniger_als_2, klein_unter_60_weniger_als_1, klein_unter_60_null, pflichtquote_prozent, pflicht_ab_arbeitsplaetzen | Return and cite only this component, for example for a single question (optional). Allowed values are the component ids. |
The API rejects unknown parameters with unbekannter_parameter. In addition there are format and trennzeichen, see CSV.
Response fields
#| Field | Type | Meaning |
|---|---|---|
datensatz | Text | Dataset id |
jahr | Integer | Calendar year |
vorlaeufig | Boolean | true if not all values are set yet for the effective date |
werte | Object | Short form: component and value on the effective date, null for an announced value that is not set yet |
bestandteile | List | Per component: value or rate, validity, legal basis and source |
regeln | List | Rules from the law in sentences, each with its legal provision |
hinweise | List | Limits of the values or the calculation, in sentences |
lizenz | Text | Terms of use for the values |
stand | Date | Date of the last check against the source |
arbeitsplaetze | Decimal or null | Positions counted, as a yearly average |
besetzt | Decimal or null | Mandatory positions filled with severely disabled people, as a yearly average |
pflichtplaetze | Decimal or null | Mandatory positions as a yearly average under § 154 and § 157 SGB IX |
pflichtplatz_monate | Integer or null | Mandatory position months in the year, as in the report to the Federal Employment Agency |
beschaeftigungsquote_prozent | Decimal or null | Filled mandatory positions as a percentage of positions, truncated to two decimals |
unbesetzt | Decimal or null | Unfilled mandatory positions as a yearly average |
unbesetzt_monate | Decimal or null | Unfilled mandatory position months in the year |
stufe | Text or null | Tier of the compensatory levy applied |
betrag_monat | Decimal or null | Amount per unfilled mandatory position and month |
abgabe_jahr | Decimal or null | Approximate compensatory levy for the year |
zitat | Text | Ready-made sentence for citing, with value, validity, legal basis and source |
datenstand | Text | Id of the data snapshot: date and sequence number of the last changelog entry (/v1/aenderungen) affecting this dataset. The same datenstand means unchanged content, useful for auditors and for comparing two requests |
Components
#For each effective date, the response contains the components that apply, each with id, name, gruppe, einheit, wert, gueltig_ab, rechtsgrundlage, quelle, hinweis and naechster_wert. The werte object holds the same list in short form. A component is missing if it does not yet or no longer apply on that date.
| id | Component | Unit | First level | Current value | End |
|---|---|---|---|---|---|
quote_3_bis_unter_5 | Employment rate from 3% to below the mandatory quota of 5% | euros per month | January 1, 2015 | €155 per month | open |
quote_2_bis_unter_3 | Employment rate from 2% to below 3% | euros per month | January 1, 2015 | €275 per month | open |
quote_ueber_0_bis_unter_2 | Employment rate above 0% to below 2%; until 2023 any rate below 2% | euros per month | January 1, 2015 | €405 per month | open |
quote_0 | Employment rate of 0% | euros per month | January 1, 2024 | €815 per month | open |
klein_unter_40_weniger_als_1 | Fewer than 40 positions, on average fewer than 1 severely disabled person over the year; since 2024 excluding employers who employ none | euros per month | January 1, 2015 | €155 per month | open |
klein_unter_40_null | Fewer than 40 positions, no severely disabled person employed | euros per month | January 1, 2024 | €235 per month | open |
klein_unter_60_weniger_als_2 | Fewer than 60 positions, on average at least 1 and fewer than 2 severely disabled people over the year | euros per month | January 1, 2015 | €155 per month | open |
klein_unter_60_weniger_als_1 | Fewer than 60 positions, on average fewer than 1 severely disabled person over the year; since 2024 excluding employers who employ none | euros per month | January 1, 2015 | €275 per month | open |
klein_unter_60_null | Fewer than 60 positions, no severely disabled person employed | euros per month | January 1, 2024 | €465 per month | open |
pflichtquote_prozent | Mandatory quota: share of positions for severely disabled people | percent | January 1, 2015 | 5% | open |
pflicht_ab_arbeitsplaetzen | Employment obligation from this number of positions as a yearly average | positions | January 1, 2015 | 20 positions | open |
Example
#Call with jahr = 2025, arbeitsplaetze = 120, besetzt = 2. The response is generated by the same code that answers the API.
History
#Every level since 2015 in one call, as JSON or with format=csv as CSV. The last two levels:
Error cases
#| Status | Code | When |
|---|---|---|
| 400 | ungueltiger_parameter | wrong format or a value outside: jahr (2015 to 2035); arbeitsplaetze (0 to 1000000); besetzt (0 to 1000000); bestandteil (quote_3_bis_unter_5, quote_2_bis_unter_3, quote_ueber_0_bis_unter_2, quote_0, klein_unter_40_weniger_als_1, klein_unter_40_null, klein_unter_60_weniger_als_2, klein_unter_60_weniger_als_1, klein_unter_60_null, pflichtquote_prozent, pflicht_ab_arbeitsplaetzen) |
| 400 | unbekannter_parameter | a parameter this dataset does not have |
| 404 | kein_wert | outside the coverage (from 2015) or the value for this period has not been promulgated yet |
| 401, 429 | see errors | all error codes |
Schema for MCP
#This is how the MCP server describes the arguments of the tool hr_ausgleichsabgabe:
Source and freshness
#| Item | Content |
|---|---|
| Source | §§ 154, 157 and 160 SGB IX, official notices on adjustments of the compensatory levy |
| License | Values from official works (§ 5 UrhG). Use of the compilation under the Quellenkontor terms of use. |
| Updates | on adjustment under § 160 Abs. 3 SGB IX, on January 1 |
| Coverage | Germany, from 2015 |
| Last checked | September 24, 2026 |
| Next expected change | adjustment for 2027 in the Federal Gazette (Bundesanzeiger) if the reference value has risen by 10 percent |
Something missing or unclear? Write to us and we will extend the docs.