Reference: Wage tax return
Limits for monthly, quarterly and annual wage tax returns, filing day and payment grace period since 2015.
Whether you file the wage tax return (Lohnsteuer-Anmeldung) monthly, quarterly or once a year depends on the wage tax payable for the previous year (§ 41a Abs. 2 EStG). The dataset provides both limits, the filing day on the tenth day after the end of the period and the three-day grace period for the late payment surcharge.
Endpoints and calls
#| Access | Call |
|---|---|
| REST API | GET /hr/lohnsteuer-anmeldung |
| History | GET /hr/lohnsteuer-anmeldung/verlauf |
| SDK JavaScript | qk.hr.lohnsteuerAnmeldung(…) |
| SDK Python | qk.hr.lohnsteuer_anmeldung(…) |
| CLI | qk lohnsteuer-anmeldung --datum 2026-10-01 |
| MCP tool | hr_lohnsteuer_anmeldung |
Parameters
#| Name | Type | Required | Default | Allowed | Description |
|---|---|---|---|---|---|
datum | date (YYYY-MM-DD) | no | heute | Effective date in the format YYYY-MM-DD. Defaults to today. | |
bestandteil | text | no | grenze_jahresanmeldung, grenze_quartalsanmeldung, abgabefrist_tage, schonfrist_saeumniszuschlag_tage | 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 |
datum | Date | Requested effective date |
vorlaeufig | Boolean | true if not all values are set yet for the effective date; pending values are null |
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 |
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 |
|---|---|---|---|---|---|
grenze_jahresanmeldung | Limit for the annual wage tax return: wage tax payable for the previous year at most | euros | January 1, 2015 | €1,080 | open |
grenze_quartalsanmeldung | Limit for the quarterly wage tax return: wage tax payable for the previous year at most | euros | January 1, 2015 | €5,000 | open |
abgabefrist_tage | Filing and payment deadline: days after the end of the return period | days | January 1, 2015 | 10 days | open |
schonfrist_saeumniszuschlag_tage | Payment grace period: days without late payment surcharge | days | January 1, 2015 | 3 days | open |
Example
#Call with datum = 2026-10-01. 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: bestandteil (grenze_jahresanmeldung, grenze_quartalsanmeldung, abgabefrist_tage, schonfrist_saeumniszuschlag_tage) |
| 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_lohnsteuer_anmeldung:
Source and freshness
#| Item | Content |
|---|---|
| Source | § 41a EStG, §§ 152, 240 AO |
| License | Values from official works (§ 5 UrhG). Use of the compilation under the Quellenkontor terms of use. |
| Updates | when the law changes |
| Coverage | Germany, from 2015 |
| Last checked | September 26, 2026 |
| Next expected change | only if the law changes |
Something missing or unclear? Write to us and we will extend the docs.