Create or update additional data of a SIGN DE client
fiskaly SUBMIT DE (1.0.16)
Download OpenAPI specification:
Imprint: fiskaly.com/impressum | Privacy Policy: fiskaly.com/datenschutz
The fiskaly SUBMIT DE (formerly SIGN DE x Submission API) is a RESTful API that allows the management of taxpayer, establishment, client and submission information as relates to the requirements for submitting a declaration on the use of Electronic Record-keeping Systems/ERS (Elektronische Aufzeichnungssysteme/EAS in German) in § 146a (4) of the German Tax Code (AO) and section "1.16. Mitteilungspflicht nach § 146a Abs. 4 AO" of the corresponding application decree for the tax code (AEAO). The fiskaly SUBMIT DE supports the input and validation of all relevant information, the generation of the submission in the required XML format, and finally the transmission of the submission to the fiscal authorities.
The declaration requirement (Mitteilungspflicht) under §146a (4) AO has entered into force nationwide in Germany on 1 January 2025, with a grace period until 31 July 2025. The declaration requirement affects digital cash registers as well as taximeters and odometers.
The fiskaly SUBMIT DE API has been developed as part of a joint pilot project together with the fiscal administration of the state of Hesse (Hessische Finanzverwaltung) and partners from industry.
Note: Integrators should consult the German Finance Ministry's (BMF) FAQ and the official data entry guide.
The fiskaly SUBMIT DE is structured so as to represent the entities and relationships required for a declaration submission according to § 146a (4) AO.
This API uses UUIDv4. Requests like UpsertEstablishment or CreateSubmission create new resources. To run such requests, generate a random UUIDv4, then put the UUIDv4 in the request path as indicated for each endpoint. This UUIDv4 will be assigned to the newly created resource.
A good way to generate a UUIDv4 is to use a library in your programming language of choice (like this) or an online generator (like this). Barring extremely unlikely collisions with already extant UUIDs (in which case requests will fail due to a lack of access rights), a UUIDv4 created this way will be random and unique throughout the system.
Using your system's id or a UUID bound to your hardware is a bad way to create a UUIDv4. If you use a UUID of your cash register as the client_id in UpsertExternalClient, you will not be able to use it again for another TSS. The UUIDs of fiskaly resources have to be truly random and non-dependent on any properties of your system.
Please note that the UUIDs of fiskaly resources are used only in the context of fiskaly APIs. Unless also used in the data fields provided for the respective resources, they will not be included in the submissions to the tax authorities.
There are general character restrictions that apply to all string values in this API.
Strings must comply with the following UTF-8 character set:
- Printable ASCII characters
- Currency characters:
¢,£,¥,€ - Special symbols:
¡,§,©,¬,®,°,±,µ,²,³,¹,¶,·,«,»,¿ - Extended Latin characters:
Œ,œ,Š,š,Ÿ,Ž,ž
The allowed characters match the following regular expression pattern:
[\u0020-\u007E\u00A1-\u00A3\u00A5\u00A7\u00A9-\u00AC\u00AE-\u00B3\u00B5-\u00B7\u00B9-\u00BB\u00BF-\u00FF\u0152-\u0153\u0160-\u0161\u0178\u017D-\u017E\u20AC]+
The taxpayer is a registered entity (a physical person or legal entity) identifiable via a specific tax number. A taxpayer owns a number of clients (ERS) that are present in a number of establishments and thus falls under the requirements of § 146a (4) AO. For each establishment, the taxpayer is obliged to create a different submission listing the clients located there.
In the fiskaly SUBMIT DE, the taxpayer is identified with the organization ID contained in the JWT used by the API clients. Each organization can thus manage a single taxpayer entity. If the organization you have set up in the fiskaly dashboard covers more than one taxpayers, please contact our support team (dev-support@fiskaly.com).
Note: In the fiskaly SUBMIT DE you have to provide the 13-digit unified federal tax number (Vereinheitlichtes Bundesschema zur elektronischen Übermittlung), as well as the unified federal tax office number (Bundesfinanzamt-Nummer), which is required for the final transmission. If the tax office number is not provided, the API will extract it from the first four digits of the tax number. Please make sure that these numbers are correctly provided to the API. Many taxpayers will not be aware of their 13-digit tax number, but only the 10-digit or 11-digit variant, depending on their federal state. Please use the BMF conversion tool to retrieve the 13-digit tax number. If you are uncertain to which tax office you are assigned, you can consult the tax office search tool.
The establishment is a business premises where the taxpayer has located a number of clients. A taxpayer can own and operate a number of establishments. For each establishment, the taxpayer is obliged to create a different submission listing the clients present there. All clients present in the premises of an establishment, whether actively used or not, shall be included in the submission. Clients that leave the establishment (e.g. for repairs or to be moved to another of the taxpayer's establishments) or the taxpayer's ownership altogether (e.g. when they are irretrievably defective or sold to another taxpayer) shall be declared as decommissioned.
The use of a TSS (Technical Security System, Technische Sicherheitseinrichtung/TSE in German) is mandatory with all ERS in active use according to §146a (1) AO to ensure the fiscalization of the transactions registered in the ERS. Inactive ERS or those in storage are not obliged to be connected to a TSS, but this step must be done before they are taken into operation.
For fiskaly SIGN DE users, the fiskaly SUBMIT DE automatically retrieves all relevant data from the information provided in the SIGN DE API. No additional integration is required. For non-SIGN DE TSS, see below.
A client is equivalent to an ERS in the context of §146a (4) AO. A taxpayer can own and operate a number of clients, spread out across a number of establishments, but no client can be shared by two or more establishments at the same time. For each establishment, the taxpayer is obliged to create a different submission listing the clients present there.
For fiskaly SIGN DE clients, the fiskaly SUBMIT DE retrieves part of the client data from the data provided in the SIGN DE API. The remainder of the data (additional data) required in the context of §146a (4) AO need to be input separately via this API. For non-SIGN DE clients, see below.
The fiskaly SUBMIT DE allows the submission of ERS using non-SIGN DE TSS as external resources. This requires the input of all necessary information on the client via UpsertExternalClient, as well as on its associated TSS, via UpsertExternalTss.
Note: As the API was primarily conceived for the SIGN DE use case, all clients are assigned to a TSS, rather than vice versa. As a result, it is currently not possible to cover cases where an ERS is present in an establishment without being associated with a TSS (e.g. when a cash register is in storage).
A submission is the set of information about an establishment and the clients operated there by the respective taxpayer.
The submission file is an XML-formatted document generated by the fiskaly SUBMIT DE that can be downloaded by the taxpayer to be checked for correctness. A preview PDF is also provided as a human-readable alternative. The API can then transmit the submission to the fiscal authorities.
The stages of the submission generation process are reflected in the state of the submission resource in the API. These stages can be seen in a UML-like activity diagram here. Likewise, the stages of the transmission of a submission, once generated, including the possibility of cancelling a transmission, can be seen here.
Note: Integrators of the API that offer its functionality to their customers as a service must ensure that the latter (i.e. the actual taxpayers or entities authorized by them) have seen the submission XML file/preview PDF and explicitly verified the correctness of each generated submission before it is transmitted to the fiscal authorities.
The purpose of the declaration requirement is to provide the tax authorities with a timeline of changes to the ERS available in an establishment. It is therefore strongly recommended to transmit the submissions in a sequential, chronological order, reflecting each change or set of changes that are subject to mandatory declaration as they have occurred. Should a submission reflecting a specific state of an establishment fail, we recommend first retrying submitting this same state (e.g. via retry of a transmission), before submitting a more up-to-date state for the same establishment, so that changes are submitted in the correct order.
Status codes in the 400-499 range indicate errors that have been caused by the requesting application (e.g., a malformed request body has been sent).
Retrying such requests with the same request body is pointless and will result in the same status code again.
Some 4xx errors can be handled programmatically. The error response is in JSON format and is structured like this:
{
"status_code": 400,
"error": "Bad Request",
"code": "E_SOME_ERROR",
"message": "Something bad happened"
}
The response will contain an error code or other information that reveals the reason for the error. Change the request accordingly before retrying. Below you can find the most frequent errors and how to fix them.
401UnauthorizedE_UNAUTHORIZED_ACCESSAuthenticate API
403ForbiddenE_ACCESS_FORBIDDEN
404Resource does not existE_ESTABLISHMENT_NOT_FOUNDE_TAXPAYER_NOT_FOUNDE_TAXPAYER_ADDRESS_NOT_FOUNDE_TAXPAYER_PERSON_NOT_FOUNDE_SUBMISSION_NOT_FOUNDE_CLIENT_NOT_FOUNDE_CLIENT_ADDITIONAL_DATA_NOT_FOUND
409Conflict423LockedE_LOCKED_RESOURCE
Examples
Some examples of various error responses are shown below. The content of the error message is unstructured and may contain information in different languages.
- OpenAPI schema validation errors
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "API request validation failed",
"status": 400,
"validation": {
"message": "request body has an error: doesn't match schema #/components/schemas/ExternalTss: Error at \"/serial_number\": minimum string length is 64\nSchema:\n {\n \"description\": \"The serial number in hexadecimal numbers. Seriennummer der technischen Sicherheitseinrichtung\",\n \"maxLength\": 64,\n \"minLength\": 64,\n \"pattern\": \"^[a-fA-F0-9]{64,64}$\",\n \"type\": \"string\"\n }\n\nValue:\n \"255091809035200255529997861609352212430648220283133286655640727\"\n"
}
}
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "API request validation failed",
"status": 400,
"validation": {
"message": "request body has an error: doesn't match schema #/components/schemas/Taxpayer: Error at \"/tax_number\": maximum string length is 13\nSchema:\n {\n \"description\": \"Tax number. Please check the note on tax number [above](#section/Ontology/Taxpayer). Steuernummer. Bitte die Anmerkung zur Steuernummer [oben](#section/Ontology/Taxpayer) betrachten.\",\n \"example\": \"1234012345678\",\n \"maxLength\": 13,\n \"minLength\": 13,\n \"pattern\": \"^[0-9]{4}0[0-9]{8}$\",\n \"type\": \"string\"\n }\n\nValue:\n \"91980113100100\"\n"
}
}
- Taxpayer validation errors
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "bad request\ninvalid Taxpayer fields: \"vat_number\": Ungültige UStIDNr",
"status": 400,
"validation": {
"message": "invalid Taxpayer fields: \"vat_number\": Ungültige UStIDNr"
}
}
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "bad request\ninvalid Taxpayer fields: \"identification_number\": Ungültige Identifikationsnummer.",
"status": 400,
"validation": {
"message": "invalid Taxpayer fields: \"identification_number\": Ungültige Identifikationsnummer"
}
}
- Internal validation errors
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "bad request\nvalidation failed: Code: zahlZuKlein\nMessage: Der im Feld 'Firmenname' eingegebene Wert muss größer oder gleich <MinWert> sein.",
"status": 400,
"validation": {
"code": "zahlZuKlein",
"message": "Der im Feld 'Firmenname' eingegebene Wert muss größer oder gleich <MinWert> sein."
}
}
{
"code": "E_BAD_REQUEST",
"error": "Bad Request",
"message": "bad request\nvalidation failed: Code: Aufz146a_067\nMessage: Sie haben bei der Art des Aufzeichnungssystems die Auswahl Taxameter oder Wegstreckenzähler getroffen. Im Feld Bemerkungen (zum eAufzeichnungssystem) muss das jeweilige Kfz-Kennzeichen des Fahrzeuges angegeben werden. Bitte ergänzen Sie ihre Angaben zum Feld Bemerkungen (eAufzeichnungssystem).",
"status": 400,
"validation": {
"code": "Aufz146a_067",
"message": "Sie haben bei der Art des Aufzeichnungssystems die Auswahl Taxameter oder Wegstreckenzähler getroffen. Im Feld Bemerkungen (zum eAufzeichnungssystem) muss das jeweilige Kfz-Kennzeichen des Fahrzeuges angegeben werden. Bitte ergänzen Sie ihre Angaben zum Feld Bemerkungen (eAufzeichnungssystem)."
}
}
Status codes in the 500-599 range indicate errors on the server side. These errors can be considered temporary.
The EXTERNAL_VALIDATION_FAILED status occurs when the submitted XML file passes internal validation but fails ERiC's plausibility checks.
Upon failure, the error details are retrieved in the form of an XML file detailing the exact error. If no XML file is provided by ERiC, the error details can be found in the field error_description.
SUBMIT DE does not provide an exhaustive list of possible errors,
as the validation logic is determined by ERiC and subject to updates by the German tax authorities.
This example XML file represents a validation error example.
At fiskaly we strive to always improve ourselves, our systems and quality that we deliver. As in all software projects, there will be issues as well. We're living a transparent operation process, and will inform about known operation problems via status.fiskaly.com. Before raising a new issue, please check there first.
Please read the article How to raise an issue to provide us with all required details in case of an issue, so that it can be solved in your interest as soon as possible.
For a quick first demo, you may use Postman. We prepared a Postman collection that allows you to step through the most important functions of this API.
Download and install the Postman application.
Create an API key and API secret via the fiskaly dashboard. See the relevant point of the SIGN DE V2 API Quick Start section for details.
Insert your API key and API secret below, and click the Download Postman environment button to get your personalized Postman environment:
Download the Postman collection. This collection includes examples of using the different endpoints of the SUBMIT DE.
Start Postman and select Upload Files from the Import dialog:
File > Import... (Ctrl+O)Select the collection and environment files that you downloaded:
After importing the collection and environment files, the Postman screen should look like this:
Select the SUBMIT DE environment:
Finally, click on the SUBMIT DE collection, and run it by clicking on the Run collection button:
Frequent questions regarding the usage of the fiskaly SUBMIT DE are covered in the Support FAQs.
Disclaimer
The example responses provided in this documentation are for illustrative purposes only.
Actual API responses may vary, especially regarding dynamic fields like state.
The fiskaly SUBMIT DE follows Semantic Versioning.
The version number has a pattern of MAJOR.MINOR.PATCH. We increment the
MAJORversion when we make incompatible API changes,MINORversion when we add functionality in a backwards-compatible manner, andPATCHversion when we make backwards-compatible bug fixes.
1.0.16 [2025-12-29] Release
- Improved validation for BSI certification IDs.
1.0.15 [2025-11-10] Release
- The ERiC library is updated to the version 42.4.4.0.
- New plausibility check on the BSI certificate ID (BSIID_Inhalt, Aufz146a_084): For BSI certification IDs with year numbers from 2019 to 2023, it is now checked whether the entered combination (NNNN-YYYY) corresponds to one of the assigned BSI certification IDs. BSI certification IDs with year numbers before 2019 or from 2024 onwards are accepted without further verification.
- New validation rule: The combination of the recording system’s serial number (SeriennummerAS) and manufacturer (Hersteller) may only be specified once. If the same combination occurs multiple times, the following error message is displayed: "Die Angaben zu den elektronischen Aufzeichnungssystemen sind unplausibel. Die Kombination aus Seriennummer und Hersteller wurde mehrfach verwendet. Bitte prüfen Sie Ihre Eingaben."
1.0.14 [2025-08-11] Release
- The
fiskaly SIGN DE x Submission APIhas been renamed tofiskaly SUBMIT DE. This is a naming change only and does not affect API functionality or endpoints.
1.0.13 [2025-07-29] Release
- The getSubmissionFile operation now supports an XmlHeader URL parameter. When set to
true, this parameter will prepend the standard XML declaration (<?xml version="1.0" encoding="UTF-8" standalone="yes"?>) to the beginning of the XML file.
1.0.12 [2025-07-14] Release
- The getClientList operation has been updated to return submission-specific
metadataonly
1.0.11 [2025-07-03] Release
- The ERiC library is updated to the version 42.2.2.0.
- The field
legal_formwas extended with new values in the operation upsertTaxpayer:30- Eingetragene Genossenschaft (eG)38- Gemeinnützige Gesellschaft mit beschränkter Haftung (gGmbH)40- Stiftung & Co. KG52- Eingetragener Verein
1.0.10 [2025-06-13] Release
- Operations UpsertClientAdditionalData and GetClientAdditionalData now allow updating of metadata, and will return the metadata in their responses.
1.0.9 [2025-05-27] Release
- Failed requests may contain a
validationsection with the details on the cause of failure in themessageproperty, and an optionalcodeproperty.
1.0.8 [2025-05-20] Release
- Introduced the GetClientListPerOrgEnv endpoint to list active clients belonging to the caller's organization and environment.
1.0.7 [2025-05-08] Release
- Introduced
client_originquery parameter for filtering clients in GetClientList endpoint.
1.0.6 [2025-05-07] Release
- Allow creating a Taxpayer in UpsertTaxpayer for different environments under the same organization.
1.0.5 [2025-04-16] Release
- The field
date_commissioningin upsertExternalTss has been set to optional. - The field
date_tss_commissioningin upsertExternalClient was added as an optional field. This date should reflect the commissioning date of the TSS on the given ERS (client). This is the recommended usage. If this field is not set, but a valid TSS commissioning date is provided, the TSS commissioning date will be used as a fallback.
1.0.4 [2025-04-15] Release
- Return
E_CLIENT_NOT_FOUNDin UpsertClientAdditionalData instead of creating additional client data when the client does not exist.
1.0.3 [2025-03-05] Release
- Made the
tax_office_numberfield in upsertTaxpayer optional. It must be provided if not contained in thetax_numberotherwise, it is inferred from the first 4 digits of thetax_number.
1.0.2 [2025-03-03] Release
- Enforced stricter strings validation. Input is now restricted to a defined UTF-8 character set, validated using a regex. The allowed characters and regex pattern are documented in the API specification under Strings section.
1.0.1 [2025-01-22] Release
- Corrected the behavior of UUID validations to be compatible with all UUIDs of SignDEv2 TSSes and Clients.
1.0.0 [2025-01-01] Release
fiskaly SIGN DE x Submission APIis now available in theLIVEenvironment.
0.1.19 [2024-12-19] Release
- Added the field
tss_idto the responses of the endpoints upsertExternalClient, getExternalClient and getClientList.
0.1.18 [2024-12-12] Release
- Corrected the Postman collection regarding wrong location of field
web_address. - Removed the value
6(Sonstiges) from the list of possible values of the fieldtypein the endpoints upsertExternalClient and upsertClientAdditionalData. - Removed the value
4(Sonstiges) from the list of possible values of the fieldtypein the endpoint the upsertExternalTss. - Corrected the
remainingfield in the getClientList endpoint. - New endpoint introduced to list external TSS instances: getExternalTssList
0.1.17-preview [2024-11-29] Preview Release
-
Attention! This release introduces several breaking changes including the latest changes in the ERiC/ELSTER requirements. Please review the changes carefully and adjust your integration accordingly. This release is expected to be the last set of API changes before the LIVE phase of the SIGN DE x Submission API starting in January 2025.
-
The ERiC library is updated to the version 41.2.6.0.
-
The field
data_transmitteris removed from the request body of the createSubmission endpoint. -
The field
type_otheris removed from the request body of the upsertExternalClient and upsertClientAdditionalData endpoints. -
The fields
type_other,date_installation,date_expiration,manufacturerandbsi_certificate_valid_toare removed from the request body of the upsertExternalTss endpoint. -
New required field
legal_consentis added to the endpoint triggerTransmission. See the OpenAPI description for more information. -
The length and pattern of the field
serial_numberin the request body of the upsertExternalTss endpoint are updated. -
Transmission of the submission now requires the preview PDF to be downloaded and viewed beforehand, through the Download submission preview PDF endpoint. Download of the preview PDF will change the state of the submission from
VALIDATION_SUCCEEDEDtoREADY_FOR_TRANSMISSION. -
The description of the field
remarksin the request body of the upsertExternalClient and upsertClientAdditionalData endpoints is updated. -
The operation getTaxpayer now returns stored
metadataas expected. -
Representation and rendering of the fields
country,legal_formin the operation upsertTaxpayer in OpenAPI specification and on the documentation page are improved. -
Representation and rendering of the field
typein the operations upsertExternalClient and upsertExternalTss in OpenAPI specification and on the documentation page is improved. -
Updated Postman collection reflects the latest changes in the API.
0.1.16-preview [2024-06-03] Preview Release
- Corrected error code
500 Internal Server Errorto400 Bad Requestfor endpoint UpsertExternalClient when the external TSS or the Establishment could not be found. - Corrected error code
500 Internal Server Errorto400 Bad Requestfor endpoint CreateSubmission when the Establishment could not be found.
0.1.15-preview [2024-02-29] Preview Release
- The pilot phase has ended on 2024-02-29
0.1.14-preview [2024-02-19] Preview Release
- The creation of the submission now requires the information of the 'Datenübermittler' defined explicitly for legal reasons. The required field
data_transmitterwas added toCreate submissionoperation for this reason.
0.1.13-preview [2024-01-23] Preview Release
- Added
time_transmittedtoSubmissionto hold the time the submission was successfully transmitted to ERiC/ELSTER and recieved a non-error response.
0.1.12-preview [2024-01-22] Preview Release
- Added additional validation for the fields
tax_number,vat_numberandgeneral_information.information.identification_numberof theTaxpayer
0.1.11-preview [2024-01-18] Preview Release
- Fixed omitted elements
ArtTSEandHerstellerTSEin the XML in case of fiskaly TSS
0.1.10-preview [2024-01-12] Preview Release
- Documentation updates
- Added link to the fiskaly Support FAQs for the fiskaly SIGN DE x Submission API
- Added activity diagram for the submission generation
- Added activity diagram for the submission transmission
0.1.9-preview [2024-01-08] Preview Release
- Stability improvements.
post_addressis required forCompanyAddress.
0.1.8-preview [2024-01-05] Preview Release
- Stability improvements.
- Add informative response body in the case of validation errors.
0.1.7-preview [2023-12-14] Preview Release
- The field
web_address(InternetAdresse) was moved from the address structure to the person structure.
0.1.6-preview [2023-12-07] Preview Release
- The field
economic_id(Wirtschafts-Identifikationsnummer) was removed from the taxpayer structure as the ID is not yet being assigned
0.1.5-preview [2023-12-06] Preview Release
- The field
economic_idwas removed from the legal person - The field
economic_idwas added to the taxpayer - The ERiC library has been updated to the version 39.2.4
0.1.4-preview [2023-11-29] Preview Release
- Corrections to the required fields of client and TSS endpoints
modelis required for external clients / SIGN DE client additional datadate_commissioningis required for external TSSdate_expirationis required for external TSSdate_installationis optional for external TSSmanufactureris optional for external TSSbsi_certificate_valid_tois optional for external TSS
0.1.3-preview [2023-11-15] Preview Release
- Postman collection 'SIGN DE x Submission API' has been added including external and SIGN DE scenarios
0.1.2-preview [2023-11-09] Preview Release
- The serial number of the non-fiskaly ('external') Client is required
0.1.1-preview [2023-10-30] Preview Release
- The tax payer now needs a mandatory tax office number to be set. For testing purposes 5192 can be used.
- The pilot phase will only allow the tax offices Gießen (2620) and Wießbaden (2640) to send non-test submissions
0.1.0-preview [2023-10-10] Preview Release
- Initial pre-release of the API (changes still possible).
- Management functions for all entities (Taxpayer, Establishment, Client, TSS) are provided.
- Both fiskaly SIGN DE and non-fiskaly ('external') resources (TSS, Client) can be managed.
- Submission statements can be created, validated, and transmitted to the ELSTER server.
- API returns validation errors in XML format or the Submission data in XML and PDF format in case of successful validation.
- All submissions will transmitted as test data at this stage.
Authenticate API
To access our API, you need to have a valid JWT token. This endpoint creates the token with your api_key and api_secret.
If you don't have an api_key, you can create one via the fiskaly dashboard.
The api_secret will be generated for you after you create the api_key.
The token must be sent with every following request in the Authorization header field using the Bearer authentication scheme.
See details here.
WARNING: even if you delete or otherwise deactivate your API credentials, any generated tokens will remain valid until they expire
(currently up to 24 hours).
Request Body schema: application/json
| api_key required | string (ApiKeyKey) Key of an API Key |
| api_secret required | string (ApiKeySecret) Secret of an API Key (to be used only with |
Responses
Request samples
- Payload
{- "api_key": "string",
- "api_secret": "string"
}Response samples
- 200
- 401
{- "access_token": "string",
- "access_token_claims": {
- "env": "TEST",
- "organization_id": "01234567-89ab-49ab-b012-3456789abcde"
}, - "access_token_expires_at": 1577833200,
- "access_token_expires_in": 0,
- "refresh_token": "string",
- "refresh_token_expires_at": 1577833200,
- "refresh_token_expires_in": 0
}Retrieve taxpayer information
Returns the submitted information for a taxpayer
Authorizations:
Responses
Response samples
- 200
- 401
- 404
- 423
{- "general_information": {
- "address": {
- "post_address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}
}, - "information": {
- "birthdate": "01.12.2099",
- "first_name": "string",
- "identification_number": "10123456789",
- "last_name": "string",
- "prefix": "string",
- "salutation": "1",
- "suffix": "string",
- "title": "string",
- "web_address": "string"
}, - "person": "natural"
}, - "metadata": {
- "my_property_1": "1234",
}, - "tax_number": "1234012345678",
- "tax_office_number": "5192",
- "vat_number": "DE124356789",
- "env": "TEST"
}Create or update taxpayer
Creates or updates the information for a taxpayer
Authorizations:
Request Body schema: application/json
required | object (GeneralInformation) General information about the company. AllgAngaben |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. | |
| tax_number required | |
| tax_office_number | string (TaxOfficeNumber) = 4 characters ^(10\d{2})|(11\d{2})|(21\d{2})|(22\d{2})|(23\... Please provide also the tax office number if it is not contained in the tax number. Bitte Bundesfinanzamtsnummer separat angeben, wenn sie nicht in der Steuernummer vorkommt. |
| vat_number | string (VatNumber) = 11 characters ^DE[0-9]{9}$ VAT number. Umsatzsteuer-Identifikationsnummer |
Responses
Request samples
- Payload
{- "general_information": {
- "address": {
- "post_address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}
}, - "information": {
- "birthdate": "01.12.2099",
- "first_name": "string",
- "identification_number": "10123456789",
- "last_name": "string",
- "prefix": "string",
- "salutation": "1",
- "suffix": "string",
- "title": "string",
- "web_address": "string"
}, - "person": "natural"
}, - "metadata": {
- "my_property_1": "1234",
}, - "tax_number": "1234012345678",
- "tax_office_number": "5192",
- "vat_number": "DE124356789"
}Response samples
- 200
- 400
- 401
- 423
{- "general_information": {
- "address": {
- "post_address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}
}, - "information": {
- "birthdate": "01.12.2099",
- "first_name": "string",
- "identification_number": "10123456789",
- "last_name": "string",
- "prefix": "string",
- "salutation": "1",
- "suffix": "string",
- "title": "string",
- "web_address": "string"
}, - "person": "natural"
}, - "metadata": {
- "my_property_1": "1234",
}, - "tax_number": "1234012345678",
- "tax_office_number": "5192",
- "vat_number": "DE124356789",
- "env": "TEST"
}Retrieve establishments
Returns a list of establishments submitted by a taxpayer
Authorizations:
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{4}|[... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
Responses
Response samples
- 200
- 401
- 423
{- "pagination": {
- "limit": 10,
- "next": "string",
- "remaining": 0,
- "token": "string"
}, - "results": [
- {
- "address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}, - "decommissioning_date": "01.12.2099",
- "designation": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "remarks": "string",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}
]
}Delete establishment
Deletes information about a specific establishment
Authorizations:
path Parameters
| establishment_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an establishment. |
Responses
Response samples
- 401
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Retrieve establishment
Returns information about a specific establishment
Authorizations:
path Parameters
| establishment_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an establishment. |
Responses
Response samples
- 200
- 401
- 404
- 423
{- "address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}, - "decommissioning_date": "01.12.2099",
- "designation": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "remarks": "string",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}Create or update establishment
Updates information about a specific establishment
Authorizations:
path Parameters
| establishment_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an establishment. |
Request Body schema: application/json
required | object Address. Adresse |
| decommissioning_date | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Decommissioning of business premises. Außerbetriebnahme Betriebsstätte |
| designation | string [ 1 .. 200 ] characters Designation of place of business. Bezeichnung Betriebsstätte |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. | |
| remarks | string [ 1 .. 1000 ] characters Remarks. Bemerkungen |
Responses
Request samples
- Payload
{- "address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}, - "decommissioning_date": "01.12.2099",
- "designation": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "remarks": "string"
}Response samples
- 200
- 400
- 401
- 423
{- "address": {
- "address_additional": "string",
- "house_number": "stri",
- "house_number_suffix": "string",
- "street": "string",
- "town": "string",
- "zip_code": "strin"
}, - "decommissioning_date": "01.12.2099",
- "designation": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "remarks": "string",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}Retrieve list of external TSS instances
Retrieves list of stored information about the external TSS instances (i.e. a TSS instances from a manufacturer other than fiskaly).
Authorizations:
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{4}|[... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 423
- 500
{- "pagination": {
- "limit": 10,
- "next": "string",
- "remaining": 0,
- "token": "string"
}, - "results": [
- {
- "bsi_id": "stringstr",
- "date_commissioning": "01.12.2099",
- "metadata": {
- "my_property_1": "1234",
}, - "serial_number": "stringstringstringstringstringstringstringstringstringstringstri",
- "type": "1",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}
]
}Deletes information about an external TSS
Deletes stored information about the external TSS (i.e. a TSS from a manufacturer other than fiskaly). The TSS can be deleted only if there are no active clients linked to it.
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
Responses
Response samples
- 400
- 401
- 403
- 404
- 423
- 500
{- "code": "E_BAD_REQUEST",
- "error": "Bad Request",
- "message": "The request is invalid.",
- "status": 400,
- "validation": {
- "code": "string",
- "message": "string"
}
}Retrieve information about an external TSS
Retrieves stored information about the external TSS (i.e. a TSS from a manufacturer other than fiskaly).
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 423
- 500
{- "bsi_id": "stringstr",
- "date_commissioning": "01.12.2099",
- "metadata": {
- "my_property_1": "1234",
}, - "serial_number": "stringstringstringstringstringstringstringstringstringstringstri",
- "type": "1",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}Create or update an external TSS
Store information about the external TSS (i.e. a TSS from a manufacturer other than fiskaly), that is relevant in the context of a submission according to "§146a (4) Abgabenordnung".
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
Request Body schema: application/json
| bsi_id required | string = 9 characters ^\d{4}-\d{4}$ BSI Certificate ID ( |
| date_commissioning | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Commissioning date of the TSS. Inbetriebnahme der technischen Sicherheitseinrichtung |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. | |
| serial_number required | string = 64 characters ^[a-fA-F0-9]{64,64}$ The serial number in hexadecimal numbers. Seriennummer der technischen Sicherheitseinrichtung |
| type required | string (Type of the TSS. Art / Bauform der technischen Sicherheitseinrichtung.) Enum: "1" "2" "3"
|
Responses
Request samples
- Payload
{- "bsi_id": "stringstr",
- "date_commissioning": "01.12.2099",
- "metadata": {
- "my_property_1": "1234",
}, - "serial_number": "stringstringstringstringstringstringstringstringstringstringstri",
- "type": "1"
}Response samples
- 200
- 400
- 401
- 403
- 423
- 500
{- "bsi_id": "stringstr",
- "date_commissioning": "01.12.2099",
- "metadata": {
- "my_property_1": "1234",
}, - "serial_number": "stringstringstringstringstringstringstringstringstringstringstri",
- "type": "1",
- "env": "TEST",
- "id": "01234567-89ab-49ab-b012-3456789abcde"
}Retrieve all clients
Returns a list of all clients (SIGN DE and external) assigned to the users's organization and environment.
Authorizations:
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{4}|[... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| client_origin | string (ClientOrigin) Enum: "sign-de" "external" Filters clients by their origin.
If omitted, all clients are returned. |
Responses
Response samples
- 200
- 401
- 423
{- "pagination": {
- "limit": 10,
- "next": "string",
- "remaining": 0,
- "token": "string"
}, - "results": [
- {
- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "date_tss_commissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "serial_number": "string",
- "software": "string",
- "software_version": "string",
- "type": "1",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "tss_id": "01234567-89ab-49ab-b012-3456789abcde"
}
]
}Retrieve clients of an establishment
Returns a list of all clients (SIGN DE and external) assigned to an establishment.
Authorizations:
path Parameters
| establishment_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an establishment. |
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{4}|[... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| client_origin | string (ClientOrigin) Enum: "sign-de" "external" Filters clients by their origin.
If omitted, all clients are returned. |
Responses
Response samples
- 200
- 401
- 423
{- "pagination": {
- "limit": 10,
- "next": "string",
- "remaining": 0,
- "token": "string"
}, - "results": [
- {
- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "date_tss_commissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "serial_number": "string",
- "software": "string",
- "software_version": "string",
- "type": "1",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "tss_id": "01234567-89ab-49ab-b012-3456789abcde"
}
]
}Deletes information about an external client
Deletes external client entry. An external client is defined as one using a TSS from a manufacturer other than fiskaly.
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
| client_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external client (ERS). |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Retrieve stored information of an external client
Returns information about an external client (i.e. a client using a TSS from a manufacturer other than fiskaly) that is relevant in the context of a submission according to "§146a (4) Abgabenordnung".
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
| client_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external client (ERS). |
Responses
Response samples
- 200
- 401
- 404
- 423
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "date_tss_commissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "serial_number": "string",
- "software": "string",
- "software_version": "string",
- "type": "1",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "tss_id": "01234567-89ab-49ab-b012-3456789abcde"
}Create or update an external client
Information about an external client (i.e. a client using a TSS from a manufacturer other than fiskaly) that is relevant in the context of a submission according to "§146a (4) Abgabenordnung",
Authorizations:
path Parameters
| tss_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external TSS. |
| client_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an external client (ERS). |
Request Body schema: application/json
| date_acquisition required | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Acquisition of the electronic recording system. Anschaffung des elektronischen Aufzeichnungssystems |
| date_commissioning required | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Commissioning of the electronic recording system. Inbetriebnahme des elektronischen Aufzeichnungssystems |
| date_decommissioning | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Decommissioning of the electronic recording system. Außerbetriebnahme des elektronischen Aufzeichnungssystems |
| date_tss_commissioning | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Commissioning date of the TSS on the given electronic recording system. Inbetriebnahme der technischen Sicherheitseinrichtung auf dem jeweiligen elektronischen Aufzeichnungssystem |
| decommissioning_reason | string [ 1 .. 1000 ] characters Reason for decommissioning. Grund der Außerbetriebnahme |
| establishment_id | string <uuid> (EstablishmentIdentifier) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Uniquely identifies an establishment. Eindeutige Identifizierung eines Betriebs. |
| manufacturer required | string [ 1 .. 1000 ] characters Manufacturer. Hersteller |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. | |
| model required | string [ 1 .. 1000 ] characters Model. Modell |
| remarks | string [ 1 .. 1000 ] characters Remarks. Bemerkungen zum eAs (z. B. bei Art des eAs Taxameter oder Wegstreckenzähler das Kfz-Kennzeichen) |
| serial_number required | string [ 1 .. 1000 ] characters Serial number of the ERS. Seriennummer des elektronischen Aufzeichnungssystems/Software-App |
| software required | string [ 1 .. 1000 ] characters Software. Software |
| software_version | string [ 1 .. 1000 ] characters Software version. Software-Version |
| type required | string (Client types) Enum: "1" "2" "3" "4" "5"
|
Responses
Request samples
- Payload
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "date_tss_commissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "serial_number": "string",
- "software": "string",
- "software_version": "string",
- "type": "1"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 423
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "date_tss_commissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "serial_number": "string",
- "software": "string",
- "software_version": "string",
- "type": "1",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "tss_id": "01234567-89ab-49ab-b012-3456789abcde"
}Deletes additional data of a SIGN DE client
Deletes additional data related to a client.
Authorizations:
path Parameters
| tss_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 TSS. |
| client_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 client (ERS). |
Responses
Response samples
- 400
- 401
- 403
- 404
- 423
- 500
{- "code": "E_BAD_REQUEST",
- "error": "Bad Request",
- "message": "The request is invalid.",
- "status": 400,
- "validation": {
- "code": "string",
- "message": "string"
}
}Retrieve additional data of a SIGN DE client
Returns additional information about a specific SIGN DE client that is relevant in the context of a submission according to "§146a (4) Abgabenordnung".
Authorizations:
path Parameters
| tss_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 TSS. |
| client_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 client (ERS). |
Responses
Response samples
- 200
- 401
- 404
- 423
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "software": "string",
- "software_version": "string",
- "type": "1"
}Create or update additional data of a SIGN DE client
Additional information about a specific SIGN DE client that is relevant in the context of a submission according to "§146a (4) Abgabenordnung".
Authorizations:
path Parameters
| tss_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 TSS. |
| client_id required | string <uuid> (SignDEv2UniversallyUniqueIdentifier) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a SignDEv2 client (ERS). |
Request Body schema: application/json
| date_acquisition required | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Acquisition of the electronic recording system. Anschaffung des elektronischen Aufzeichnungssystems |
| date_commissioning required | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Commissioning of the electronic recording system. Inbetriebnahme des elektronischen Aufzeichnungssystems |
| date_decommissioning | string^(0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\... Decommissioning of the electronic recording system. Außerbetriebnahme des elektronischen Aufzeichnungssystems |
| decommissioning_reason | string [ 1 .. 1000 ] characters Reason for decommissioning. Grund der Außerbetriebnahme |
| establishment_id | string <uuid> (EstablishmentIdentifier) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Uniquely identifies an establishment. Eindeutige Identifizierung eines Betriebs. |
| manufacturer required | string [ 1 .. 1000 ] characters Manufacturer. Hersteller |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. | |
| model required | string [ 1 .. 1000 ] characters Model. Modell |
| remarks | string [ 1 .. 1000 ] characters Remarks. Bemerkungen zum eAs (z. B. bei Art des eAs Taxameter oder Wegstreckenzähler das Kfz-Kennzeichen) |
| software required | string [ 1 .. 1000 ] characters Software. Software |
| software_version | string [ 1 .. 1000 ] characters Software version. Software-Version |
| type required | string (Client types) Enum: "1" "2" "3" "4" "5"
|
Responses
Request samples
- Payload
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "software": "string",
- "software_version": "string",
- "type": "1"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 423
{- "date_acquisition": "01.12.2099",
- "date_commissioning": "01.12.2099",
- "date_decommissioning": "01.12.2099",
- "decommissioning_reason": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "manufacturer": "string",
- "metadata": {
- "my_property_1": "1234",
}, - "model": "string",
- "remarks": "string",
- "software": "string",
- "software_version": "string",
- "type": "1"
}Retrieve submissions
Returns a list of submissions created by a taxpayer. Only clients without a decommissioning date are counted for AnzahlAufzeichnungssysteme.
Authorizations:
query Parameters
| establishment_id | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: establishment_id=01234567-89ab-49ab-b012-3456789abcde Uniquely identifies an establishment. |
| state | string (SubmissionState) Enum: "CREATED" "VALIDATION_TRIGGERED" "INTERNAL_VALIDATION_FAILED" "EXTERNAL_VALIDATION_FAILED" "VALIDATION_SUCCEEDED" "XML_GENERATION_SUCCEEDED" "XML_GENERATION_FAILED" "READY_FOR_TRANSMISSION" "TRANSMISSION_PENDING" "TRANSMISSION_IN_PROGRESS" "TRANSMISSION_FAILED" "TRANSMISSION_SUCCEEDED" "TRANSMISSION_CANCELLED" "ERROR" Defines the state of submission. |
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{4}|[... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| time_start | integer >= 0 Only return submissions with creation time not before the given start date. |
| time_end | integer >= 0 Only return submissions with creation time not after the given end date. |
Responses
Response samples
- 200
- 401
- 423
{- "pagination": {
- "limit": 10,
- "next": "string",
- "remaining": 0,
- "token": "string"
}, - "results": [
- {
- "env": "TEST",
- "error_description": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "metadata": {
- "my_property_1": "1234",
}, - "state": "CREATED",
- "time_created": "2019-08-24T14:15:22Z",
- "time_error": "2019-08-24T14:15:22Z",
- "time_generated": "2019-08-24T14:15:22Z",
- "time_transmitted": "2019-08-24T14:15:22Z"
}
]
}Delete submission
Deletes the submission. Not possible if a submission is being transmitted or has been already transmitted. Only clients without a decommissioning date are counted for AnzahlAufzeichnungssysteme.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 401
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Retrieve submission
Returns the information of a specific submission
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 200
- 401
- 404
- 423
Example of external validation error
{- "env": "TEST",
- "error_description": "[610301006] Fehler beim Parsen der Eingabedaten. Details stehen im Logfile (eric.log).",
- "establishment_id": "1b2c8c8f-c5ae-4ab2-888a-a2f733df1343",
- "id": "bf64861b-913c-447c-9163-10a8981da815",
- "state": "EXTERNAL_VALIDATION_FAILED",
- "time_created": "2024-06-25T13:00:40.834873Z",
- "time_error": "2024-06-25T13:00:41.03935Z",
- "time_generated": "2024-06-25T13:00:40.834873Z"
}Create submission
Creates a submission. Only clients without a decommissioning date are counted for AnzahlAufzeichnungssysteme.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Request Body schema: application/json
| establishment_id required | string <uuid> (EstablishmentIdentifier) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Uniquely identifies an establishment. Eindeutige Identifizierung eines Betriebs. |
object (Metadata) <= 20 properties Arbitrary custom key-value data. Metadata is useful for storing additional, structured information on an object. Note: You can specify up to 20 keys, with key names up to 40 characters long and values up to 500 characters long. |
Responses
Request samples
- Payload
Example of success request with required fields
{- "establishment_id": "1b2c8c8f-c5ae-4ab2-888a-a2f733df1343"
}Response samples
- 200
- 400
- 401
- 409
- 423
{- "env": "TEST",
- "error_description": "string",
- "establishment_id": "01234567-89ab-49ab-b012-3456789abcde",
- "id": "01234567-89ab-49ab-b012-3456789abcde",
- "metadata": {
- "my_property_1": "1234",
}, - "state": "CREATED",
- "time_created": "2019-08-24T14:15:22Z",
- "time_error": "2019-08-24T14:15:22Z",
- "time_generated": "2019-08-24T14:15:22Z",
- "time_transmitted": "2019-08-24T14:15:22Z"
}Download XML file of submission
Returns the submitted information in the XML format required for its transmission to the fiscal authorities.
If you need different XML format, you can specify it in the query parameter format.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
query Parameters
| xml_header | boolean (XmlHeader) Default: false A flag to explicitly add the XML declaration to the output. If 'true', the header |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Cancel transmission
Cancels submission transmission. Not possible if a submission is actively being transmitted or has been already transmitted.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 409
- 423
{- "establishment_id": "a85af7ba-b194-4034-997f-bbd31a462bf2",
- "id": "a271225a-c926-4530-824d-20a3a7a1d59d",
- "state": "TRANSMISSION_CANCELLED",
- "time_created": "2025-01-01T10:00:00.0000000",
- "time_generated": "2025-01-01T10:00:01.0000000"
}Trigger transmission
Triggers transmission of a specific submission to the fiscal authorities. Only possible if the submission is in the state READY_FOR_TRANSMISSION.
By sending "legal_consent": true in the request body, the integrator consents to the terms in the legal_consent description.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Request Body schema: application/json
| legal_consent required | boolean We hereby confirm to fiskaly Deutschland GmbH:
Wir bestätigen fiskaly Deutschland GmbH:
|
Responses
Request samples
- Payload
{- "legal_consent": true
}Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 423
{- "establishment_id": "a85af7ba-b194-4034-997f-bbd31a462bf2",
- "id": "a271225a-c926-4530-824d-20a3a7a1d59d",
- "state": "TRANSMISSION_PENDING",
- "time_created": "2025-01-01T10:00:00.0000000",
- "time_generated": "2025-01-01T10:00:01.0000000"
}Download submission transmission PDF
When transmission is successful, this provides a file, generated by ERiC, containing submission in the PDF format.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Download ERiC/ELSTER transmission XML.
When the transmission via ERiC/ELSTER has failed, this provides a file that contains a set of errors in the XML format.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Download submission preview PDF
When validation is successful, this provides a preview of the submission, generated by ERiC, in the PDF format.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Download ERiC validation XML.
When validation has failed, this provides a file that contains a set of errors in the XML format.
Authorizations:
path Parameters
| submission_id required | string <uuid> (UniversallyUniqueIdentifierV4) ^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?4[a-fA-F0-9]... Example: 01234567-89ab-49ab-b012-3456789abcde Uniquely identifies a submission. |
Responses
Response samples
- 401
- 403
- 404
- 423
{- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation.",
- "status": 401,
- "validation": {
- "code": "string",
- "message": "string"
}
}Was this page helpful?




