1. Not yet retrievable: a disclosure
BZSt has not yet published the transport for this payload. Per
the official DIP-KAFE v1.4.0 communication handbook, section 6.2: The
DIP envelope scheme for the notification of administrative files is not available yet.
Only kafe-va.xsd’s payload shape is
published (schemaVersion 1.0.0, unrevised since its 2023-11-20 creation,
even as the request-side schema has gone through five revisions). This
document describes that payload shape so implementers know what to expect
once retrieval becomes possible -- it is not a working integration
today.
2. The KaFE Refund Application Response format
One KAFE-VA delivery batches one or more Steuerbescheid (decision
notice) entries; each answers exactly one prior Erstattungsantrag, correlated via the
Bezugsantrag back-reference block — four distinct fields
(TransferticketId, AntragId, RegistrierNr, KennNr), a richer
correlation than KAFE-RM’s own single-AntragId correlation documented
in the Request document.
2.1. Source schema
This document’s field definitions and enumerations are generated directly
from BZSt’s published kafe-va.xsd — regenerating from an updated XSD
keeps this document in lock-step with the BZSt source, the same way the Request document is generated
from kafe.xsd.
2.2. Approval and clawback semantics
SummeAbrechnung’s sign carries the decision: a positive amount is a
refund in the applicant’s favour; a negative amount is a payment debit
(clawback). Faelligkeit (a due date) is only present when the amount is
negative — BZSt’s own documentation warns that late-payment penalties
apply if the debit isn’t settled by that date. BescheidArt distinguishes
a first decision (ERSTBESCHEID) from a corrected one (KORREKTUR) for
the same application, but is not chained to the specific earlier notice it
corrects — only back to the original Erstattungsantrag, via
Bezugsantrag. Hinweise is only a boolean flag recording whether the
notice carries additional remarks; the substantive legal reasoning for any
decision, in every case, exists only inside BescheidPdf (a
base64-encoded PDF) — never as structured XML.
3. Decision notice fields
One KAFE-VA delivery batches one or more Steuerbescheid (decision notice) entries; each answers exactly one prior Erstattungsantrag, correlated via the Bezugsantrag back-reference block. Fields below are grouped by where they appear in that structure.
3.1. Decision notice envelope
| Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|
BescheidId
| Optional | UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) | UUID, die den Bescheid eindeutig kennzeichnet. |
BescheidArt
| Required | Text | Kennzeichnung, ob es sich um einen erstmaligen oder korrigierten Bescheid handelt. |
SummeAbrechnung
| Required | Decimal (2 decimals) | Abrechnungsbetrag. Negativer Betrag bei Zahllast (Rückforderung). |
Faelligkeit
| Optional | Date (YYYY-MM-DD) | Fälligkeit der Forderung (nur bei Rückforderung) |
Hinweise
| Required | Boolean (true / false) | Kennzeichnung, ob der Bescheid Hinweise enthält. |
3.2. Reference back to the original application
| Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|
TransferticketId
| Required | Text (1-170 characters) | TransferticketId der Lieferung, in der der Antrag enthalten war. |
AntragId
| Required | UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) | In der Lieferung angegebene UUID des Antrages. |
RegistrierNr
| Required | Text (9 characters, BZSt-assigned) | Aktenzeichen unter der der Antrag beim BZSt registriert wurde (Registriernummer). |
KennNr
| Required | Numeric string (8-digit BZSt withholding-tax number) | Kenn-Nummer des BZSt |
3.3. Per-income refund breakdown
| Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|
ErtragId
| Required | Integer | Im Bezugsantrag angegebene ErtragId (laufende Nummer des Ertrags). |
ErstattungKapESt
| Required | Decimal (2 decimals) | Erstattungsbetrag Kapitalertragsteuer |
ErstattungSolZ
| Required | Decimal (2 decimals) | Erstattungsbetrag Solidaritätszuschlag |
4. Enumerations
Every value that an enum-typed field in the decision notice may carry, with its meaning.
4.1. BescheidArt
| Value | Meaning |
|---|---|
ERSTBESCHEID
| First (initial) decision notice for a given Erstattungsantrag. |
KORREKTUR
| Corrected decision notice superseding an earlier one for the same Erstattungsantrag -- not chained to which specific earlier notice it corrects (only back to the original application, via Bezugsantrag). |
5. Known gaps in this schema
Worth disclosing rather than silently working around: kafe-va.xsd’s own
schemaVersion has been fixed at 1.0.0 since its creation on
2023-11-20, unrevised even as the request-side kafe.xsd has gone through
five revisions (through 1.4.0). There is no PreviousBescheidId-style
field chaining a KORREKTUR notice to the specific earlier Bescheid it
corrects — only Bezugsantrag’s reference back to the original
application. And unlike MiKaDiv’s own Response
document, which at least had one real sample XML to verify against, no
real BescheidPdf/Steuerbescheid sample has been examined during this
module’s research — this document’s coverage is derived entirely from the
schema’s own structure, not confirmed against a real example.