1. Introduction
OpenFASTER is a vendor-independent family of open standards for exchanging the data required for EU withholding-tax and dividend reporting. It is designed so that Certified Financial Intermediaries (CFIs) — banks, custodians, central securities depositories, and other reporting parties — can produce and exchange this data interoperably, regardless of which vendor or in-house system they use.
1.1. Scope
The scope of OpenFASTER is purely operational: defining the technical data model, vocabulary, and (in future modules) the exchange mechanics that make indirect reporting and the collection of supplementary data efficient and standardized across the EU.
OpenFASTER deliberately does not address:
-
legislative or business-logic questions (for example, whether anonymous reporting is permissible);
-
the internal calculation of tax positions; or
-
commercial or contractual arrangements between participants.
1.2. Regulatory context
OpenFASTER is developed against the timeline of the EU [FASTER] initiative and the German [MIKADIV] reporting procedure.
| Milestone | Date |
|---|---|
| Standardized dividend reporting (MiKaDiv) | 2027-01-01 |
| Full regulatory reporting under FASTER | 2030-01-01 |
The goals shared with these initiatives are harmonized dividend reporting, reduced withholding-tax fraud, greater transparency for tax authorities, and efficient cross-border tax-reclaim processing.
2. Terminology
Certified Financial Intermediary (CFI)
- A regulated party — such as a bank, custodian, or central securities depository — that participates in withholding-tax and dividend reporting and exchanges disclosure data with other participants.
A disclosure
- One complete third-party disclosure record for a single capital-income event, identified and linked together by a single RequestId.
RequestId
- The identifier that ties together all parts of one disclosure. It is a linking key only: any value that is unique within the submission is valid, so it need not be a UUID.
paying agent
- The German institution responsible for the withholding-tax reporting for a given capital-income event.
tax voucher
- The tax certificate (Steuerbescheinigung) issued in respect of a capital-income event.
3. The MiKaDiv Third-Party Disclosure module
The first OpenFASTER module defines the data required for a German MiKaDiv (§45b EStG) third-party disclosure: the structured description of a capital-income event, the securities involved, every party in the chain, and the receipts and deliveries that support a first-in-first-out (FIFO) determination.
An accompanying self-documenting Excel template is published alongside this specification: MiKaDiv Third-Party Disclosure Template. Each sheet mirrors one logical group below; every field carries its English description, type constraints, and requiredness in the header rows.
3.1. Source schema
The data model of this module is derived from the XML Schema Definition (XSD) produced by the VIB (Verband Internationaler Banken e.V.), the association representing internationally active banks in Germany. The VIB is developing this schema to standardize the electronic exchange of MiKaDiv third-party disclosure data between banks and towards the German paying agent.
OpenFASTER treats the VIB XSD as the machine source of truth: the field definitions, requiredness, enumerations, the data dictionary in this document, and the accompanying Excel template are all generated directly from it. As the VIB schema evolves, regenerating from the updated XSD keeps this specification and the template in lock-step with the VIB source.
3.2. Data model
A disclosure is decomposed into several logical groups (rendered as separate sheets in the Excel template). Every group carries the RequestId so that the groups can be recombined into one record.
| Group | Rows per RequestId | Purpose |
|---|---|---|
| Requests Master | 1 | Request-level metadata; new request vs cancellation; account owner scalars. |
| Security Related Information | 0..1 | The capital-income event, security identification, tax breakdown, and depositary-receipt block. |
| Tax Voucher Individuals / Legal Persons | up to 2 receivers total | The recipients of the tax voucher. |
| Third Party Individuals / Legal Persons | up to 5 total | Account holders who are not the beneficial owner. |
| Custody Chain | up to 20 | The ordered intermediary chain, closest-to-beneficiary first. |
| FIFO Trades | up to 1000 each way | Receipts and deliveries with FIFO already applied by the submitter. |
| Raw Transactions All | unbounded | The unreduced ledger when the paying agent performs the FIFO calculation. |
When the raw ledger is supplied, the German paying agent performs the FIFO determination; when the submitter applies FIFO itself, the reduced trades are supplied directly.
3.3. Linking model
The RequestId is the key on the Requests Master group and the first column of every other group. Because it is used only to join the groups, any value that is unique within a submission works.
-
Cancellations. Set
RecordType=Cancelon the master group, fillPreviousRequestIdForCancellation(and optionallyReportSerialNumber), and leave every other group empty for that RequestId. -
Community recipients. A community tax-voucher receiver (up to 10 members) is captured by setting
ReceiverGroupType=CommunityMemberon the tax-voucher groups and giving all members of one community the sameCommunityGroupId. A community counts as one receiver.
3.4. Conformance requirements
A conforming producer MUST populate every field marked Required for each group
it emits. Fields marked Conditional MUST be populated when the condition stated
in their description holds, and MUST otherwise be omitted or left empty. Fields
marked Optional MAY be omitted.
Enum-typed fields MUST carry one of the values enumerated for that field in Enumerations. A conforming consumer MUST reject a disclosure whose enum-typed field carries a value outside the enumerated set.
4. Data dictionary
The following field-level definitions are generated from ThirdPartyDisclosureRequest.xsd. Each group below corresponds to one sheet of the accompanying Excel template. The RequestId column links the groups of a single disclosure together.
4.1. 1 Requests Master
Significance. The parent record. One row per disclosure, holding administrative and routing metadata, the record type (new request vs cancellation), the directly-contracted securities account, the account type and the account relationship. Every other sheet links back to this one through RequestId.
Cardinality. Exactly 1 row per RequestId (this sheet defines the RequestId).
When to fill. Always - every disclosure or cancellation starts here.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Identifier for the request, defined by you. Used only as the key that links every sheet together, so any unique value (e.g. a running number) is fine. |
| 2 | RecordType
| Required | Enum (RecordType): Request, Cancel
| 'Request' for a MiKaDiv reporting for income; 'Cancel' to cancel a previously submitted request (leave the child sheets empty for cancellation rows). |
| 3 | AccountNumber
| Required | Text (max 200) | Account number of the requesting custodian. |
| 4 | ClientReference
| Optional | Text (max 200) | Custom reference data of the client. |
| 5 | ClientContactpersonName
| Optional | Text (max 200) | Name of the responsible foreign bank contact person. |
| 6 | ClientContactpersonPhone
| Optional | Text (max 35) | Telephone number of the responsible foreign bank contact person. |
| 7 | ClientContactpersonEmail
| Optional | Text (max 200) | E-mail address of the responsible foreign bank contact person. |
| 8 | RequestedService
| Conditional | Enum (RequestedService): TaxReportAndCertificate, Reclaim, Relief
| Type of requested service. |
| 9 | RequestedServiceReason
| Optional | Text (max 256) | Reason for the requested service, especially for correction or cancellation. |
| 10 | RequestedAttestationType
| Optional | Enum (RequestedAttestationType): BV, PV, SB
| Type of requested tax voucher. |
| 11 | IsCorrectionRequest
| Optional | Enum (Boolean): true, false
| A correction is to be performed for a report. The data record contains a reference to the preceding request. |
| 12 | PreviousRequestIdForCorrection
| Optional | UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) | If the request is for correction of a previous request, then the RequestId of the previous request must be provided. |
| 13 | ReportSerialNumber
| Optional | UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) | Serial number (UUID) of an already submitted report, if provided previously by the German Paying agent. Used as a (additional) reference for correction. |
| 14 | TaxCertificatePrintedContactpersonName
| Optional | Text (max 200) | Name of the contact person for the customer, printed on the tax certificate or cover letter. |
| 15 | TaxCertificatePrintedContactpersonPhone
| Optional | Text (max 35) | Telephone number of the contact person for the customer, printed on the tax certificate or cover letter. |
| 16 | TaxCertificatePrintedContactpersonEmail
| Optional | Text (max 200) | E-mail address of the contact person for the customer, printed on the tax certificate or cover letter. |
| 17 | TaxCertificateAlternativeRecipientName
| Optional | Text (max 200) | Name of the alternative mailing address recipient. |
| 18 | TaxCertificateAlternativeRecipientAddress
| Optional | Text (max 256) | Address of the alternative mailing address recipient. |
| 19 | TaxCertificateAlternativeRecipientEmail
| Optional | Text (max 256) | E-mail address of the alternative mailing address recipient. |
| 20 | EventType
| Optional | Text (max 20) | Event designations of the German paying agent according to ISO 20022. |
| 21 | FundId
| Optional | Text (max 20) | Fund identifier (status certificate number). |
| 22 | PreviousRequestIdForCancellation
| Conditional | UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) | If the request is for cancellation of a previous request, then the RequestId of the previous request must be provided. |
| 23 | SecuritiesAccountNumber
| Conditional | Text (max 200) | Account number of the tax voucher person at the custodian to whom the tax voucher person is directly contracted. |
| 24 | AccountType
| Conditional | Enum (AccountType): A, B, Ct, D, E, F, G
| Account type. |
| 25 | AccountRelationship
| Optional | Enum (AccountRelationship): Trust, Usufruct, Pledge
| If the tax voucher person is not the beneficial owner (creditor), then the account relationship has to be specified. |
4.2. 2 Security Related Information
Significance. The single capital-income event being disclosed: the security (ISIN, name, type), the corporate-action reference, payment details, the complete tax breakdown (gross/net, withholding tax, solidarity surcharge and the nominal quantities per holding category) and which receipts/deliveries mode is used. It also contains the depositary-receipt block (underlying German security, record date, issuance ratios, certificates held), which describes the depositary receipt (e.g. ADR/GDR) through which the income was received.
Cardinality. 0..1 row per RequestId.
When to fill. Required when RecordType = Request. Leave empty for RecordType = Cancel. Within this sheet, the depositary-receipt fields are required only when IsDepositaryReceipt = true.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | IncomeIdentifier
| Optional | Text (max 45) | Unique identifier for an income. Must be unique over subsequent files. For a subsequent request to the same income, the same identifier must be provided. To be defined by the customer institute. |
| 3 | CustodianIncomeIdentifier
| Optional | Text (max 45) | Bookingnumber of the payment received from the custodian. Used to reference a specific booking, if there are multiple custody chains. |
| 4 | ISIN
| Required | ISIN (ISO 6166, 12 chars: 2 letters + 10 alphanumeric) | International Securities Identification Number (ISIN) according to ISO 6166: 2 uppercase letters followed by 10 alphanumeric characters. |
| 5 | NameOfSecurity
| Required | Text (max 256) | Designation of the category of security. |
| 6 | TypeOfSecurity
| Optional | Enum (TypeOfSecurity): Equity, Bond, DepositaryReceipt
| Type of the security generating the capital income. Determines the category of the financial instrument held in the custodian account. |
| 7 | COAF
| Required | Text (Corporate Action Event Reference, max 16) | Corporate Action Event Reference (COAF). |
| 8 | IsDepositaryReceipt
| Required | Enum (Boolean): true, false
| Did the beneficial owner receive the capital income via a depositary receipt on German equities (for example via an American Depositary Receipt (ADR))? Then the structure DepositaryReceipts has to be provided. |
| 9 | CorporateActionIdOfUnderlyingSecurity
| Optional | Text (max 45) | Depositary receipt only: Corporate Action Identifier of the custodian for the underlying security. |
| 10 | ISINOfUnderlyingSecurity
| Conditional | ISIN (ISO 6166, 12 chars: 2 letters + 10 alphanumeric) | International Securities Identification Number (ISIN) according to ISO 6166: 2 uppercase letters followed by 10 alphanumeric characters. |
| 11 | NameOfUnderlyingSecurity
| Conditional | Text (max 256) | Name of the underlying German security. |
| 12 | Recorddate
| Conditional | Date (YYYY-MM-DD) | Record date of the underlying German share. |
| 13 | TotalNumberOfCertificatesIssued
| Optional | Decimal (19 digits total, 4 decimals) | Total number of depositary certificates (DRs) issued on the date of the profit distribution resolution (date of annual general meeting of the German stock corporation) by the respective DR issuer. |
| 14 | TotalNumberOfUnderlyingShares
| Optional | Decimal (19 digits total, 4 decimals) | Total number of underlying German ordinary shares deposited by the respective DR issuer at the German depositary bank on the date of the profit resolution distribution of the German stock corporation. |
| 15 | Ratio
| Optional | Decimal (13 digits total, 2 decimals) | Ratio of the depositary certificate to the deposited securities. The ratio of depositary certificates stipulated in the issue conditions of the depositary certificate to the domestic securities stored by the German depository. |
| 16 | NumberOfCertificatesHeld
| Conditional | Decimal (19 digits total, 4 decimals) | Number of depositary certificates held by the creditor of the capital income (of the tax certificate) at the date of the profit distribution resolution. |
| 17 | Paydate
| Required | Date (YYYY-MM-DD) | Date of Payment. |
| 18 | PayoutType
| Required | Enum (PayoutType): Cash, Shares
| Type of Payment. |
| 19 | CashAccountNumber
| Required | Text (max 200) | Cash account number to which the income got credited at the custodian to whom the tax voucher person is directly contracted. |
| 20 | AccountNumberPayingAgentLevel
| Optional | Text (max 200) | If known: Account number of the account at the level of the German paying agent in which the shares are held. |
| 21 | GrossAmount
| Required | Decimal (16 digits total, 2 decimals) | Gross amount of the capital income generated (in Euro). |
| 22 | NetIncomePayment
| Required | Decimal (16 digits total, 2 decimals) | Net income payment (in EURO). |
| 23 | WithholdingTaxAmount
| Required | Decimal (16 digits total, 2 decimals) | German withholding tax amount in Euro. |
| 24 | SurchargesAmount
| Required | Decimal (16 digits total, 2 decimals) | German solidarity surcharge amount in Euro. |
| 25 | WithholdingTaxRate
| Required | Decimal (4 digits total, 2 decimals) | Tax rate applied to capital income (German withholding tax rate). |
| 26 | SurchargesRate
| Required | Decimal (4 digits total, 2 decimals) | Tax rate of the solidarity surcharge applied (Solidarity surcharge rate) The current solidarity surcharge rate of 5.5% must be populated as 5.50. |
| 27 | Nominal
| Required | Decimal (19 digits total, 4 decimals) | Quantity of securities on which the capital income is based (Number of shares / nominal value on which the income has been paid including Market Claims). |
| 28 | NominalMoreThan5DaysPriorExdate
| Required | Decimal (19 digits total, 4 decimals) | Number of shares which have been received more than 5 days prior to the ex-date. |
| 29 | NominalWithin5DaysPriorExdate
| Required | Decimal (19 digits total, 4 decimals) | Number of shares which have been received within 5 days prior to the ex-date. |
| 30 | NominalLinkedToFinancialArrangement
| Required | Decimal (19 digits total, 4 decimals) | Number of German shares value which were linked to Financial Arrangements (particularly hedging instruments like options, futures etc. but also borrowed securities or securities purchased under a Repo). Financial arrangements in the meaning of Section 45b (3) of the German Income Tax Act and as defined in margin number 80 of the guidance notes of the German Ministry of Finance from April 22, 2025. According to marginal 5 of the guidance notes from the German Ministry of Finance, German shares were linked to Financial Arrangements if the Financial Arrangements were not yet settled, expired or otherwise completed on the day after the annual general meeting of the German stock corporation which distributed the dividend. |
| 31 | NominalNotLinkedToFinancialArrangement
| Required | Decimal (19 digits total, 4 decimals) | Number of German shares which were not linked to a Financial Arrangement. |
| 32 | NominalLinkedToSecLending
| Required | Decimal (19 digits total, 4 decimals) | Number of German shares which are linked to a securities lending transaction that had not yet been completed on the day after the annual general meeting (AGM date). |
| 33 | NominalLinkedToRepo
| Required | Decimal (19 digits total, 4 decimals) | Number of German shares which are linked to a repo transaction that had not yet been completed on the day after the annual general meeting (AGM date). |
| 34 | ReceiptsAndDeliveriesMode
| Required | Enum (ReceiptsAndDeliveriesMode): FiFo, All
| Whether receipts/deliveries are declared with FiFo calculation (use the '8 FIFO Trades' sheet) or without (use the '9 Raw Transactions All' sheet). |
| 35 | FifoReceiptsMoreThan1000Available
| Conditional | Enum (Boolean): true, false
| Are more than 1.000 (one thousand) remaining reportable receipt transactions available? |
| 36 | FifoDeliveriesMoreThan1000Available
| Conditional | Enum (Boolean): true, false
| Are more than 1.000 (one thousand) reportable deliver transactions available? |
| 37 | OpeningBalance
| Conditional | Decimal (19 digits total, 4 decimals) | Balance before 12 month. |
| 38 | OpeningBalanceDate
| Conditional | DateTime (YYYY-MM-DDThh:mm:ss) | Date of the initial holdings evaluation. |
4.3. 3 Tax Voucher Individuals
Significance. Natural persons who receive the tax certificate (voucher) - either as beneficial owner (Creditor) or as account holder - with their name, registration address and tax identification. Community members are recorded here as well.
Cardinality. Tax-voucher receivers total up to 2 per RequestId, counted across this sheet and '4 Tax Voucher Legal Persons'. A community counts as ONE receiver and may span up to 10 member rows that share one CommunityGroupId.
When to fill. For Request records at least one tax-voucher receiver is required (here or on the legal-persons sheet). Add one row per natural-person receiver or community member.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Relationship
| Required | Enum (TVRelationship): Creditor, AccountHolder
| Indicate the role of the tax certificate receiver person. |
| 3 | ReceiverGroupType
| Required | Enum (ReceiverGroupType): Single, CommunityMember
| 'Single' for a normal recipient; 'CommunityMember' when this row is one member of a community of up to 10 persons. |
| 4 | CommunityGroupId
| Conditional | Text (max 45) | Identifier grouping up to 10 community members into one receiver. Required when ReceiverGroupType=CommunityMember. |
| 5 | PersonIdentifier
| Optional | Text (max 45) | Unique identifier for a person. Must be unique over subsequent files. For a subsequent request to the same person, the same identifier must be provided. To be defined by the customer institute. |
| 6 | Title
| Optional | Text (max 20) | The person’s title if applicable. |
| 7 | NamePrefix
| Optional | Text (max 20) | The person’s name prefix if applicable. |
| 8 | FirstName
| Required | Text (max 45) | The person’s first name. |
| 9 | LastName
| Required | Text (max 45) | The person’s last name. |
| 10 | NameAffix
| Optional | Text (max 20) | The person’s name prefix if applicable. |
| 11 | DateOfBirth
| Required | Date (YYYY-MM-DD; partial 0000 allowed) | Date of birth. Partially unknown dates are permitted: yyyy-mm-00 (unknown day), yyyy-00-00 (unknown month and day), 0000-00-00 (entirely unknown). |
| 12 | StreetOrPostalCode
| Optional | Text (max 80) | The street name of the address. |
| 13 | HouseNumber
| Optional | Integer (0 - 99999) | Possible range 0 – 99999. Specifying the house number “0” as a default, if no house number has been assigned, is not permissible. Specifying it as such is only permissible if the municipality has assigned the number “0”. |
| 14 | HouseNumberAddition
| Optional | Text (max 20) | Possible additions to the house number in the address: With a house number “5a”, the “a” would be mentioned here, the “5” must be indicated in the house number field. With a house number “105-109”, the “-109” would be mentioned here. |
| 15 | AddressAddition
| Optional | Text (max 50) | Possible addition to foreign addresses. |
| 16 | Postcode
| Optional | Text (max 5) | The postcode of the address. For German addresses only five digits are allowed. |
| 17 | City
| Required | Text (max 80) | The place name of the address. |
| 18 | Country
| Optional | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | The contry of the address in ISO 3166-1 alpha-2. |
| 19 | CountryOfTaxResidence
| Required | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | Country of tax residency in ISO 3166-1 alpha-2. |
| 20 | PersonTaxCategory
| Required | Enum (PersonTaxCategory): German, NonGerman
| 'German' or 'NonGerman'. Determines which tax-ID fields apply. |
| 21 | InvestmentMarketTaxId
| Conditional | Numeric string (German IdNr, exactly 11 digits) | The German tax identification number (IdNr) of the tax voucher person. Only digits are permitted. |
| 22 | ForeignTaxId
| Conditional | Text (max 35) | If no German tax id number has been assigned yet: Tax identification attribute awarded by the country of residence. |
4.4. 4 Tax Voucher Legal Persons
Significance. Non-natural tax-certificate receivers (companies, funds, partnerships) with name, registration address and the detailed legal-person tax identification.
Cardinality. Counts towards the up-to-2 tax-voucher receivers per RequestId (shared with '3 Tax Voucher Individuals').
When to fill. For Request records, use when a tax-voucher receiver (or community member) is a legal person.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Relationship
| Required | Enum (TVRelationship): Creditor, AccountHolder
| Indicate the role of the tax certificate receiver person. |
| 3 | ReceiverGroupType
| Required | Enum (ReceiverGroupType): Single, CommunityMember
| 'Single' for a normal recipient; 'CommunityMember' when this row is one member of a community of up to 10 persons. |
| 4 | CommunityGroupId
| Conditional | Text (max 45) | Identifier grouping up to 10 community members into one receiver. Required when ReceiverGroupType=CommunityMember. |
| 5 | PersonIdentifier
| Optional | Text (max 45) | Unique identifier for a person. Must be unique over subsequent files. For a subsequent request to the same person, the same identifier must be provided. To be defined by the customer institute. |
| 6 | Name
| Required | Text (max 256) | The name of the non-natural person. |
| 7 | StreetOrPostalCode
| Optional | Text (max 80) | The street name of the address. |
| 8 | HouseNumber
| Optional | Integer (0 - 99999) | Possible range 0 – 99999. Specifying the house number “0” as a default, if no house number has been assigned, is not permissible. Specifying it as such is only permissible if the municipality has assigned the number “0”. |
| 9 | HouseNumberAddition
| Optional | Text (max 20) | Possible additions to the house number in the address: With a house number “5a”, the “a” would be mentioned here, the “5” must be indicated in the house number field. With a house number “105-109”, the “-109” would be mentioned here. |
| 10 | AddressAddition
| Optional | Text (max 50) | Possible addition to foreign addresses. |
| 11 | Postcode
| Optional | Text (max 5) | The postcode of the address. For German addresses only five digits are allowed. |
| 12 | City
| Required | Text (max 80) | The place name of the address. |
| 13 | Country
| Optional | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | The contry of the address in ISO 3166-1 alpha-2. |
| 14 | CountryOfTaxResidence
| Required | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | Country of tax residency in ISO 3166-1 alpha-2. |
| 15 | PersonTaxCategory
| Required | Enum (PersonTaxCategory): German, NonGerman
| 'German' or 'NonGerman'. Determines which tax-ID fields apply. |
| 16 | InvestmentMarketBusinessId
| Conditional | Numeric string (German Wirtschafts-IdNr, 13 digits) | German business identification number. The business identification number of the non-natural person without a hyphen before the differentiating element. |
| 17 | InvestmentMarketTaxNumber
| Conditional | Numeric string (German Steuernummer, 13 digits) | If a German business identification number hasn´t been assigned yet: The German tax number of the non-natural person. |
| 18 | LEI
| Conditional | LEI (ISO 17442, 20 alphanumeric) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available, the Legal Entity Identifier (LEI). |
| 19 | EUID
| Conditional | Text (max 200) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available nor a Legal Entity Identifier (LEI) is available, the European unique identifier (EUID; as referred to in Article 16 of Directive (EU) 2017/1132 of the European Parliament and of the Council). |
| 20 | ForeignTaxId
| Conditional | Text (max 35) | Tax identification number assigned to the tax voucher person by its country of tax residency. |
| 21 | LegalForm
| Conditional | Text (max 60) | The foreign legal entity type must be specified as free text. Long and short form. |
| 22 | DateOfFoundation
| Conditional | Date (YYYY-MM-DD) | Date when the entity was established / founded / incorporated / launched. |
4.5. 5 Third Party Individuals
Significance. Natural persons who are the account holder but not the beneficial owner (third parties), stating in what capacity they hold for the beneficial owner (trustee, pledgor or grantor of usufruct).
Cardinality. Third-party persons total up to 5 per RequestId, counted across this sheet and '6 Third Party Legal Persons'.
When to fill. Only when the account holder is not the beneficial owner AND the beneficial owner is disclosed. Otherwise leave empty.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Relationship
| Required | Enum (TPRelationship): Trustee, Pledgor, Grantor of usufruct
| If the account holder is not the beneficial owner, this category specifies, how the account holder represents the beneficial owner. |
| 3 | PersonIdentifier
| Optional | Text (max 45) | Unique identifier for a person. Must be unique over subsequent files. For a subsequent request to the same person, the same identifier must be provided. To be defined by the customer institute. |
| 4 | Title
| Optional | Text (max 20) | The person’s title if applicable. |
| 5 | NamePrefix
| Optional | Text (max 20) | The person’s name prefix if applicable. |
| 6 | FirstName
| Required | Text (max 45) | The person’s first name. |
| 7 | LastName
| Required | Text (max 45) | The person’s last name. |
| 8 | NameAffix
| Optional | Text (max 20) | The person’s name prefix if applicable. |
| 9 | DateOfBirth
| Required | Date (YYYY-MM-DD; partial 0000 allowed) | Date of birth. Partially unknown dates are permitted: yyyy-mm-00 (unknown day), yyyy-00-00 (unknown month and day), 0000-00-00 (entirely unknown). |
| 10 | StreetOrPostalCode
| Optional | Text (max 80) | The street name of the address. |
| 11 | HouseNumber
| Optional | Integer (0 - 99999) | Possible range 0 – 99999. Specifying the house number “0” as a default, if no house number has been assigned, is not permissible. Specifying it as such is only permissible if the municipality has assigned the number “0”. |
| 12 | HouseNumberAddition
| Optional | Text (max 20) | Possible additions to the house number in the address: With a house number “5a”, the “a” would be mentioned here, the “5” must be indicated in the house number field. With a house number “105-109”, the “-109” would be mentioned here. |
| 13 | AddressAddition
| Optional | Text (max 50) | Possible addition to foreign addresses. |
| 14 | Postcode
| Optional | Text (max 5) | The postcode of the address. For German addresses only five digits are allowed. |
| 15 | City
| Required | Text (max 80) | The place name of the address. |
| 16 | Country
| Optional | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | The contry of the address in ISO 3166-1 alpha-2. |
| 17 | CountryOfTaxResidence
| Required | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | Country of tax residency in ISO 3166-1 alpha-2. |
| 18 | PersonTaxCategory
| Required | Enum (PersonTaxCategory): German, NonGerman
| 'German' or 'NonGerman'. Determines which tax-ID fields apply. |
| 19 | InvestmentMarketTaxId
| Conditional | Numeric string (German IdNr, exactly 11 digits) | The German tax identification number (IdNr) of the tax voucher person. Only digits are permitted. |
| 20 | ForeignTaxId
| Conditional | Text (max 35) | If no German tax id number has been assigned yet: Tax identification attribute awarded by the country of residence. |
4.6. 6 Third Party Legal Persons
Significance. Non-natural third parties (account holders that are not the beneficial owner) with name, address and legal-person tax identification, including the special investment-funds tax number where relevant.
Cardinality. Counts towards the up-to-5 third-party persons per RequestId (shared with '5 Third Party Individuals').
When to fill. Same condition as '5 Third Party Individuals', when the third party is a legal person.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Relationship
| Required | Enum (TPRelationship): Trustee, Pledgor, Grantor of usufruct
| If the account holder is not the beneficial owner, this category specifies, how the account holder represents the beneficial owner. |
| 3 | PersonIdentifier
| Optional | Text (max 45) | Unique identifier for a person. Must be unique over subsequent files. For a subsequent request to the same person, the same identifier must be provided. To be defined by the customer institute. |
| 4 | Name
| Required | Text (max 256) | The name of the non-natural person. |
| 5 | StreetOrPostalCode
| Optional | Text (max 80) | The street name of the address. |
| 6 | HouseNumber
| Optional | Integer (0 - 99999) | Possible range 0 – 99999. Specifying the house number “0” as a default, if no house number has been assigned, is not permissible. Specifying it as such is only permissible if the municipality has assigned the number “0”. |
| 7 | HouseNumberAddition
| Optional | Text (max 20) | Possible additions to the house number in the address: With a house number “5a”, the “a” would be mentioned here, the “5” must be indicated in the house number field. With a house number “105-109”, the “-109” would be mentioned here. |
| 8 | AddressAddition
| Optional | Text (max 50) | Possible addition to foreign addresses. |
| 9 | Postcode
| Optional | Text (max 5) | The postcode of the address. For German addresses only five digits are allowed. |
| 10 | City
| Required | Text (max 80) | The place name of the address. |
| 11 | Country
| Optional | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | The contry of the address in ISO 3166-1 alpha-2. |
| 12 | CountryOfTaxResidence
| Required | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | Country of tax residency in ISO 3166-1 alpha-2. |
| 13 | PersonTaxCategory
| Required | Enum (PersonTaxCategory): German, NonGerman
| 'German' or 'NonGerman'. Determines which tax-ID fields apply. |
| 14 | InvestmentMarketBusinessId
| Conditional | Numeric string (German Wirtschafts-IdNr, 13 digits) | German business identification number. The business identification number of the non-natural person without a hyphen before the differentiating element. |
| 15 | InvestmentMarketTaxNumber
| Conditional | Numeric string (German Steuernummer, 13 digits) | If a German business identification number hasn´t been assigned yet: The German tax number of the non-natural person. |
| 16 | InvestmentMarketSpecialFundsTaxNumber
| Conditional | Numeric string (German Steuernummer, 13 digits) | This specific German tax number gets assigned by the German Federal Central Tax Authority (Bundeszentralamt für Steuern) to non-German Special-Investment Funds in the meaning of Section 26 of the German Investment Tax Act (GITA) which opted to be treated as a tax transparent fund under Section 30 GITA. This is a conditional mandatory field. Please leave the field blank if you don´t meet the above condition. |
| 17 | LEI
| Conditional | LEI (ISO 17442, 20 alphanumeric) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available, the Legal Entity Identifier (LEI). |
| 18 | EUID
| Conditional | Text (max 200) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available nor a Legal Entity Identifier (LEI) is available, the European unique identifier (EUID; as referred to in Article 16 of Directive (EU) 2017/1132 of the European Parliament and of the Council). |
| 19 | ForeignTaxId
| Conditional | Text (max 35) | Tax identification number assigned to the tax voucher person by its country of tax residency. |
4.7. 7 Custody Chain
Significance. The ordered chain of custodians / intermediaries between the beneficiary and the German paying agent. Each link carries its name, address, tax identification, BIC, account number, account type and the nominal held.
Cardinality. 0..20 rows per RequestId, ordered by NumberInChain (1 = the custodian closest to the beneficiary).
When to fill. Required for Request records; add one row per intermediary link in the custody chain.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | NumberInChain
| Required | Integer | Order in the custody chain. 1 is the custodian with the securities account for the beneficiary of person holding in favor of the beneficiary on its account. |
| 3 | NameOfIntermediary
| Required | Text (max 256) | Name of the depository/(sub-)custodian. |
| 4 | StreetOrPostalCode
| Optional | Text (max 80) | The street name of the address. |
| 5 | HouseNumber
| Optional | Integer (0 - 99999) | Possible range 0 – 99999. Specifying the house number “0” as a default, if no house number has been assigned, is not permissible. Specifying it as such is only permissible if the municipality has assigned the number “0”. |
| 6 | HouseNumberAddition
| Optional | Text (max 20) | Possible additions to the house number in the address: With a house number “5a”, the “a” would be mentioned here, the “5” must be indicated in the house number field. With a house number “105-109”, the “-109” would be mentioned here. |
| 7 | AddressAddition
| Optional | Text (max 50) | Possible addition to foreign addresses. |
| 8 | Postcode
| Optional | Text (max 5) | The postcode of the address. For German addresses only five digits are allowed. |
| 9 | City
| Required | Text (max 80) | The place name of the address. |
| 10 | Country
| Optional | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | The contry of the address in ISO 3166-1 alpha-2. |
| 11 | AccountNumber
| Required | Text (max 200) | Account number or securities account in which the securities are held by the customer of an intermediary (i.e. the beneficiary or the person holding the position of the beneficiary on its account or the preceding intermediary). |
| 12 | AccountType
| Required | Enum (AccountType): A, B, Ct, D, E, F, G
| Account type. |
| 13 | NominalInAccount
| Required | Decimal (19 digits total, 4 decimals) | Number of shares / nominal value held in the account of the respective account holder (i.e. the tax voucher person or of the third party holding the securities in the name of the tax voucher person or the preceding intermediary) (Number of shares held in the account). |
| 14 | BIC
| Optional | BIC (ISO 9362, 8 or 11 alphanumeric) | BIC (Bank Identifier Code) is an 8 to 11-character code used to uniquely identify banks globally during international transactions, often called a SWIFT code. Structure: Comprised of 4 letters (bank code), 2 letters (country code), 2 letters/numbers (location code), and an optional 3-digit branch code (or 'XXX' for head office). |
| 15 | CountryOfTaxResidence
| Required | Country code (ISO 3166-1 alpha-2, 2 uppercase letters) | Country of tax residency in ISO 3166-1 alpha-2. |
| 16 | PersonTaxCategory
| Required | Enum (PersonTaxCategory): German, NonGerman
| 'German' or 'NonGerman'. Determines which tax-ID fields apply. |
| 17 | InvestmentMarketBusinessId
| Conditional | Numeric string (German Wirtschafts-IdNr, 13 digits) | German business identification number. The business identification number of the non-natural person without a hyphen before the differentiating element. |
| 18 | InvestmentMarketTaxNumber
| Conditional | Numeric string (German Steuernummer, 13 digits) | If a German business identification number hasn´t been assigned yet: The German tax number of the non-natural person. |
| 19 | LEI
| Conditional | LEI (ISO 17442, 20 alphanumeric) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available, the Legal Entity Identifier (LEI). |
| 20 | EUID
| Conditional | Text (max 200) | If neither a German business tax id number in the meaning of section 139c German General Tax Code nor a German tax id number (usually the Corporate Income Tax id number) is available nor a Legal Entity Identifier (LEI) is available, the European unique identifier (EUID; as referred to in Article 16 of Directive (EU) 2017/1132 of the European Parliament and of the Council). |
| 21 | ForeignTaxId
| Conditional | Text (max 35) | Tax identification number assigned to the tax voucher person by its country of tax residency. |
4.8. 8 FIFO Trades
Significance. Receipts and deliveries within the relevant window, already reduced with FiFo (first-in-first-out) calculation by the submitter. Receipts and deliveries share this sheet and are distinguished by the Direction column.
Cardinality. Up to 1000 Receipt rows and up to 1000 Delivery rows per RequestId.
When to fill. Only when ReceiptsAndDeliveriesMode = FiFo. Leave empty when the mode = All.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Direction
| Required | Enum (FifoDirection): Receipt, Delivery
| 'Receipt' (purchase / delivery-in / loan / repo) or 'Delivery' (sale / delivery-out / loan / repo). Up to 1000 rows each per request. |
| 3 | Nominal
| Required | Decimal (19 digits total, 4 decimals) | Number of shares / nominal value on which the transaction is based (= per receipt trade with acquisition date < 1 year prior to the day of the annual shareholders' meeting (day of the dividend distribution resolution). |
| 4 | TradeDate
| Required | Date (YYYY-MM-DD) | Trade Date. |
| 5 | TransactionType
| Required | Enum (FifoTransactionType): PO, SO, DT, TL, TP, RL, RP
| Category of securities trading transacted. |
| 6 | ContractualSettlementDate
| Required | Date (YYYY-MM-DD) | Agreed settlement date (Contractual settlement date). |
| 7 | ActualSettlementDate
| Required | Date (YYYY-MM-DD) | Actual settlement date. |
| 8 | TransactionReference
| Optional | Text (max 45) | Transaction reference beneficial owner/customer . |
| 9 | TransactionReferencePayingAgent
| Optional | Text (max 45) | Transaction reference German Paying Agent. |
4.9. 9 Raw Transactions All
Significance. The full, unreduced ledger of receipts and deliveries (no FiFo applied); the German paying agent performs the FiFo calculation. The opening balance is captured on the Security Related Information sheet; every movement is one row here.
Cardinality. Unbounded rows per RequestId.
When to fill. Only when ReceiptsAndDeliveriesMode = All. Leave empty when the mode = FiFo.
| # | Field | Requiredness | Type / Allowed values | Description |
|---|---|---|---|---|
| 1 | RequestId
| Required | Text (identifier used to link the sheets; any unique value) | Foreign key. Must match a RequestId in the '1 Requests Master' sheet. |
| 2 | Nominal
| Required | Decimal (19 digits total, 4 decimals) | Number of shares / nominal value on which the transaction is based (= per deliver trade, if the trade date is within 47 calendar days after the date of the annual shareholders' meeting (AGM date; day of the dividend distribution resolution). |
| 3 | TradeDate
| Required | Date (YYYY-MM-DD) | Trade Date. |
| 4 | IntraDaySequence
| Required | Integer | Sortable number, for the case that more than one transaction per trade date is delivered. |
| 5 | TransactionType
| Required | Enum (RawTransactionType): Buy, Sell, Transfer, SlbOpen, SlbClose, RepoOpen, RepoClose, Dividend, Interest, Other
| Category of securities trading transacted. |
| 6 | ContractualSettlementDate
| Required | Date (YYYY-MM-DD) | Agreed settlement date (Contractual settlement date). |
| 7 | ActualSettlementDate
| Required | Date (YYYY-MM-DD) | Actual settlement date. |
| 8 | COAF
| Conditional | Text (Corporate Action Event Reference, max 16) | Corporate action event reference (COAF). Must be provided, if dividend or interest transaction type. |
| 9 | TransactionReference
| Optional | Text (max 45) | Transaction reference beneficial owner/customer . |
| 10 | TransactionReferencePayingAgent
| Optional | Text (max 45) | Transaction reference German Paying Agent. |
5. Enumerations
Every value that an enum-typed field may carry, with its meaning and the fields that use it.
5.1. Boolean
Used in: 1 Requests Master.IsCorrectionRequest, 2 Security Related Information.IsDepositaryReceipt, 2 Security Related Information.FifoReceiptsMoreThan1000Available, 2 Security Related Information.FifoDeliveriesMoreThan1000Available
| Value | Meaning |
|---|---|
true
| Yes - the condition applies. |
false
| No - the condition does not apply. |
5.2. RecordType
Used in: 1 Requests Master.RecordType
| Value | Meaning |
|---|---|
Request
| A MiKaDiv reporting-for-income disclosure (a new or corrective submission). |
Cancel
| Cancellation of a previously submitted disclosure request; only the master cancellation fields are filled and the child sheets stay empty. |
5.3. RequestedService
Used in: 1 Requests Master.RequestedService
| Value | Meaning |
|---|---|
TaxReportAndCertificate
| The custodian is to perform a reporting of type 11. For domestic taxpayers, a tax certificate shall be issued. |
Reclaim
| The custodian should create or forward the application for reclaim of withholding tax. Additional information for the application needs to be delivered. |
Relief
| The custodian provided relief at source and additional information gets provided via the request. |
5.4. RequestedAttestationType
Used in: 1 Requests Master.RequestedAttestationType
| Value | Meaning |
|---|---|
BV
| BV for template III. |
PV
| PV for template I. |
SB
| SB for collective tax voucher. |
5.5. AccountType
Used in: 1 Requests Master.AccountType, 7 Custody Chain.AccountType
| Value | Meaning |
|---|---|
A
| A - Own Account |
B
| B – Third-party general account |
Ct
| C – Third-party individual account |
D
| D – Detail register account of a third-party general account |
E
| E – Third-party global account other than B |
F
| F – Individual account of a securities holder other than D or C |
G
| G – Other type of account |
5.6. AccountRelationship
Used in: 1 Requests Master.AccountRelationship
| Value | Meaning |
|---|---|
Trust
| Fiduciary account |
Usufruct
| Securities account held in usufruct |
Pledge
| Pledged securities account |
5.7. TypeOfSecurity
Used in: 2 Security Related Information.TypeOfSecurity
| Value | Meaning |
|---|---|
Equity
| Equity security (share). Represents ownership in a corporation and entitles the holder to dividends and voting rights. Capital income typically arises from dividend distributions. |
Bond
| Debt security (bond). Represents a creditor relationship with the issuer and entitles the holder to interest payments. Capital income typically arises from interest distributions. |
DepositaryReceipt
| Depositary receipt (e.g. ADR, GDR). A certificate issued by a depositary bank representing shares of a foreign company held in custody. Capital income arises from the underlying dividend distributions of the foreign security. |
5.8. PayoutType
Used in: 2 Security Related Information.PayoutType
| Value | Meaning |
|---|---|
Cash
| Payment in Cash. |
Shares
| Payment in Shares (stock dividend). |
5.9. ReceiptsAndDeliveriesMode
Used in: 2 Security Related Information.ReceiptsAndDeliveriesMode
| Value | Meaning |
|---|---|
FiFo
| Receipts and deliveries are declared WITH FiFo calculation already applied by the submitter - fill the FIFO Trades sheet. |
All
| Receipts and deliveries are declared WITHOUT FiFo (the German paying agent applies FiFo) - fill the Raw Transactions All sheet. |
5.10. TVRelationship
Used in: 3 Tax Voucher Individuals.Relationship, 4 Tax Voucher Legal Persons.Relationship
| Value | Meaning |
|---|---|
Creditor
| Creditor (beneficial owner). |
AccountHolder
| Account holder (not the beneficial owner). |
5.11. TPRelationship
Used in: 5 Third Party Individuals.Relationship, 6 Third Party Legal Persons.Relationship
| Value | Meaning |
|---|---|
Trustee
| Trustee. |
Pledgor
| Pledgor. |
Grantor of usufruct
| Grantor of usufruct. |
5.12. ReceiverGroupType
Used in: 3 Tax Voucher Individuals.ReceiverGroupType, 4 Tax Voucher Legal Persons.ReceiverGroupType
| Value | Meaning |
|---|---|
Single
| A single tax-certificate receiver (one individual or one legal person). |
CommunityMember
| One member of a community of up to 10 persons; all members share the same CommunityGroupId and together form one receiver. |
5.13. PersonTaxCategory
Used in: 3 Tax Voucher Individuals.PersonTaxCategory, 4 Tax Voucher Legal Persons.PersonTaxCategory, 5 Third Party Individuals.PersonTaxCategory, 6 Third Party Legal Persons.PersonTaxCategory, 7 Custody Chain.PersonTaxCategory
| Value | Meaning |
|---|---|
German
| German-identified person: provide German identifiers (IdNr / Wirtschafts-IdNr / Steuernummer). |
NonGerman
| Non-German person: provide foreign identifiers (ForeignTaxId, LEI, EUID, or legal form + date of foundation, as applicable). |
5.14. FifoDirection
Used in: 8 FIFO Trades.Direction
| Value | Meaning |
|---|---|
Receipt
| Receipt trade: purchases, book-entry transfers in (delivery in), securities lending, and repo transactions. |
Delivery
| Delivery trade: sales, book-entry transfers out (delivery out), securities lending, and repo transactions. |
5.15. FifoTransactionType
Used in: 8 FIFO Trades.TransactionType
| Value | Meaning |
|---|---|
PO
| Acquisition of securities. |
SO
| Sale of securities. |
DT
| Book-entry transfer (delivery in). |
TL
| Transfer based on a securities loan. |
TP
| Transfer based on a repo transaction. |
RL
| Retransfer based on a securities loan. |
RP
| Retransfer based on a repo transaction. |
5.16. RawTransactionType
Used in: 9 Raw Transactions All.TransactionType
| Value | Meaning |
|---|---|
Buy
| Buy of securities. |
Sell
| Sell of securities. |
Transfer
| Book-entry transfer. |
SlbOpen
| Transfer based on a securities loan. |
SlbClose
| Retransfer based on a securities loan. |
RepoOpen
| Transfer based on a repo transaction. |
RepoClose
| Retransfer based on a repo transaction. |
Dividend
| Dividend distribution. |
Interest
| Interest payment. |
Other
| Other. |
6. Planned work
The following modules and improvements are planned. They are not part of the normative content of this document yet; they are recorded here to describe the intended direction of the OpenFASTER family.
6.1. Bulk disclosure template
A revised template (and matching schema) in which an arbitrary number of beneficiaries, income lines, and related records can be entered, enabling mass/batch processing of disclosures rather than one disclosure at a time.
6.2. Published multilingual vocabulary
A published vocabulary that fixes the (non-official) translations of the field names and their explanations into several languages, each validated by appropriate domain experts. This lets institutions across jurisdictions work against a shared, authoritative set of terms while the official German schema remains the legal reference.
6.3. UUID return format
A format (an XSD plus an equivalent Excel representation) with which a reporting entity — for example Clearstream, or another reporting party — can report the assigned UUIDs back to the foreign banks that originated the disclosures, closing the loop between submission and acknowledgement.
7. Versioning
OpenFASTER specifications use semantic versioning
(MAJOR.MINOR.PATCH). This document is version 1.0.0.
-
MAJOR — incompatible changes to the data model (for example, removing a field, or changing its meaning or requiredness).
-
MINOR — backwards-compatible additions (for example, new optional fields or new enumeration values).
-
PATCH — editorial or documentation-only corrections.
The changelog is published at the top of this document
(Changelog). It is maintained in
documentation/changelog.include.bs and included automatically when
the specification is built.