Tax Filing Service

<back to all web services

SubmitUStVa2023AsEntrepreneur

SyncUmsatzsteuerVoranmeldungBearbeiteVorgangValidiereAuthentifiziereSendeDrucke2023

A synchronous service to submit an preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023.

Requires Authentication
The following routes are available for this service:
POST/SubmitUStVa2023AsEntrepreneurA synchronous service to submit an preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    /**
    * A synchronous service to submit an preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023.
    */
    @Api(Description="A synchronous service to submit an preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023.")
    public static class SubmitUStVa2023AsEntrepreneur extends SubmitUStVa2023AsEntrepreneurBase
    {
        /**
        * Die Umsatzsteuervoranmeldung (The preliminary VAT return).
        */
        @ApiMember(Description="Die Umsatzsteuervoranmeldung (The preliminary VAT return).", IsRequired=true, Name="Umsatzsteuervoranmeldung")
        public Umsatzsteuervoranmeldung2023 umsatzsteuervoranmeldung = null;

        /**
        * Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).
        */
        @ApiMember(Description="Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).", IsRequired=true, Name="DatenLieferant")
        public DatenLieferant datenLieferant = null;

        /**
        * Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).
        */
        @ApiMember(Description="Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).", Name="Unternehmer")
        public Unternehmer unternehmer = null;

        /**
        * Das Datum der Erstellung (Date of creation).
        */
        @ApiMember(Description="Das Datum der Erstellung (Date of creation).", IsRequired=true, Name="Erstellungsdatum")
        public Date erstellungsdatum = null;

        /**
        * Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).
        */
        @ApiMember(Description="Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).", IsRequired=true, Name="Bundesfinanzamtsnummer")
        public String bundesfinanzamtsnummer = null;

        /**
        * Die Anbindung zum ELSTER Online Portal (EOP).
        */
        @ApiMember(Description="Die Anbindung zum ELSTER Online Portal (EOP).", Name="EOP")
        public EOP eop = null;

        /**
        * Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.
        */
        @ApiMember(Description="Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.", Name="DuplexDruck")
        public Boolean duplexDruck = null;

        /**
        * Name prefix of the generated transfer protocol file.
        */
        @ApiMember(Description="Name prefix of the generated transfer protocol file.", IsRequired=true, Name="ProtocolPrefix")
        public String protocolPrefix = null;

        /**
        * Footer text to be used on the printout (optional).
        */
        @ApiMember(Description="Footer text to be used on the printout (optional).", Name="FussText")
        public String fussText = null;

        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;

        /**
        * Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.
        */
        @ApiMember(Description="Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.", Name="AbrufCode")
        public String abrufCode = null;
        
        public Umsatzsteuervoranmeldung2023 getUmsatzsteuervoranmeldung() { return umsatzsteuervoranmeldung; }
        public SubmitUStVa2023AsEntrepreneur setUmsatzsteuervoranmeldung(Umsatzsteuervoranmeldung2023 value) { this.umsatzsteuervoranmeldung = value; return this; }
        public DatenLieferant getDatenLieferant() { return datenLieferant; }
        public SubmitUStVa2023AsEntrepreneur setDatenLieferant(DatenLieferant value) { this.datenLieferant = value; return this; }
        public Unternehmer getUnternehmer() { return unternehmer; }
        public SubmitUStVa2023AsEntrepreneur setUnternehmer(Unternehmer value) { this.unternehmer = value; return this; }
        public Date getErstellungsdatum() { return erstellungsdatum; }
        public SubmitUStVa2023AsEntrepreneur setErstellungsdatum(Date value) { this.erstellungsdatum = value; return this; }
        public String getBundesfinanzamtsnummer() { return bundesfinanzamtsnummer; }
        public SubmitUStVa2023AsEntrepreneur setBundesfinanzamtsnummer(String value) { this.bundesfinanzamtsnummer = value; return this; }
        public EOP getEop() { return eop; }
        public SubmitUStVa2023AsEntrepreneur setEop(EOP value) { this.eop = value; return this; }
        public Boolean isDuplexDruck() { return duplexDruck; }
        public SubmitUStVa2023AsEntrepreneur setDuplexDruck(Boolean value) { this.duplexDruck = value; return this; }
        public String getProtocolPrefix() { return protocolPrefix; }
        public SubmitUStVa2023AsEntrepreneur setProtocolPrefix(String value) { this.protocolPrefix = value; return this; }
        public String getFussText() { return fussText; }
        public SubmitUStVa2023AsEntrepreneur setFussText(String value) { this.fussText = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public SubmitUStVa2023AsEntrepreneur setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
        public String getAbrufCode() { return abrufCode; }
        public SubmitUStVa2023AsEntrepreneur setAbrufCode(String value) { this.abrufCode = value; return this; }
    }

    /**
    * Submits the preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023.
    */
    @Api(Description="Submits the preliminary VAT return (Umsatzsteuervoranmeldung) as an Entrepreneur for 2023.")
    public static class SubmitUStVa2023AsEntrepreneurBase extends SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase
    {
        /**
        * Die Umsatzsteuervoranmeldung (The preliminary VAT return).
        */
        @ApiMember(Description="Die Umsatzsteuervoranmeldung (The preliminary VAT return).", IsRequired=true, Name="Umsatzsteuervoranmeldung")
        public Umsatzsteuervoranmeldung2023 umsatzsteuervoranmeldung = null;

        /**
        * Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).
        */
        @ApiMember(Description="Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).", IsRequired=true, Name="DatenLieferant")
        public DatenLieferant datenLieferant = null;

        /**
        * Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).
        */
        @ApiMember(Description="Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).", Name="Unternehmer")
        public Unternehmer unternehmer = null;

        /**
        * Das Datum der Erstellung (Date of creation).
        */
        @ApiMember(Description="Das Datum der Erstellung (Date of creation).", IsRequired=true, Name="Erstellungsdatum")
        public Date erstellungsdatum = null;

        /**
        * Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).
        */
        @ApiMember(Description="Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).", IsRequired=true, Name="Bundesfinanzamtsnummer")
        public String bundesfinanzamtsnummer = null;

        /**
        * Die Anbindung zum ELSTER Online Portal (EOP).
        */
        @ApiMember(Description="Die Anbindung zum ELSTER Online Portal (EOP).", Name="EOP")
        public EOP eop = null;

        /**
        * Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.
        */
        @ApiMember(Description="Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.", Name="DuplexDruck")
        public Boolean duplexDruck = null;

        /**
        * Name prefix of the generated transfer protocol file.
        */
        @ApiMember(Description="Name prefix of the generated transfer protocol file.", IsRequired=true, Name="ProtocolPrefix")
        public String protocolPrefix = null;

        /**
        * Footer text to be used on the printout (optional).
        */
        @ApiMember(Description="Footer text to be used on the printout (optional).", Name="FussText")
        public String fussText = null;

        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;

        /**
        * Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.
        */
        @ApiMember(Description="Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.", Name="AbrufCode")
        public String abrufCode = null;
        
        public Umsatzsteuervoranmeldung2023 getUmsatzsteuervoranmeldung() { return umsatzsteuervoranmeldung; }
        public SubmitUStVa2023AsEntrepreneurBase setUmsatzsteuervoranmeldung(Umsatzsteuervoranmeldung2023 value) { this.umsatzsteuervoranmeldung = value; return this; }
        public DatenLieferant getDatenLieferant() { return datenLieferant; }
        public SubmitUStVa2023AsEntrepreneurBase setDatenLieferant(DatenLieferant value) { this.datenLieferant = value; return this; }
        public Unternehmer getUnternehmer() { return unternehmer; }
        public SubmitUStVa2023AsEntrepreneurBase setUnternehmer(Unternehmer value) { this.unternehmer = value; return this; }
        public Date getErstellungsdatum() { return erstellungsdatum; }
        public SubmitUStVa2023AsEntrepreneurBase setErstellungsdatum(Date value) { this.erstellungsdatum = value; return this; }
        public String getBundesfinanzamtsnummer() { return bundesfinanzamtsnummer; }
        public SubmitUStVa2023AsEntrepreneurBase setBundesfinanzamtsnummer(String value) { this.bundesfinanzamtsnummer = value; return this; }
        public EOP getEop() { return eop; }
        public SubmitUStVa2023AsEntrepreneurBase setEop(EOP value) { this.eop = value; return this; }
        public Boolean isDuplexDruck() { return duplexDruck; }
        public SubmitUStVa2023AsEntrepreneurBase setDuplexDruck(Boolean value) { this.duplexDruck = value; return this; }
        public String getProtocolPrefix() { return protocolPrefix; }
        public SubmitUStVa2023AsEntrepreneurBase setProtocolPrefix(String value) { this.protocolPrefix = value; return this; }
        public String getFussText() { return fussText; }
        public SubmitUStVa2023AsEntrepreneurBase setFussText(String value) { this.fussText = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public SubmitUStVa2023AsEntrepreneurBase setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
        public String getAbrufCode() { return abrufCode; }
        public SubmitUStVa2023AsEntrepreneurBase setAbrufCode(String value) { this.abrufCode = value; return this; }
    }

    /**
    * Submits a VAT registration (Umsatzsteueranmeldung) for 2023 and files in the XML content as an Entrepreneur
    */
    @Api(Description="Submits a VAT registration (Umsatzsteueranmeldung) for 2023 and files in the XML content as an Entrepreneur")
    public static class SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase implements IPost, IDruckRequest, IVeschlueselungsRequest
    {
        /**
        * Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).
        */
        @ApiMember(Description="Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).", IsRequired=true, Name="DatenLieferant")
        public DatenLieferant datenLieferant = null;

        /**
        * Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).
        */
        @ApiMember(Description="Der natürliche oder jüritische Person, der den Steuerfall bearbeitet und abgibt (The natural or legal person who processes and submits the tax case).", Name="Unternehmer")
        public Unternehmer unternehmer = null;

        /**
        * Das Datum der Erstellung (Date of creation).
        */
        @ApiMember(Description="Das Datum der Erstellung (Date of creation).", IsRequired=true, Name="Erstellungsdatum")
        public Date erstellungsdatum = null;

        /**
        * Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).
        */
        @ApiMember(Description="Die vierstellige Bundesfinanzamtsnummer des empfangenden Finanzamtes (The four-digit federal tax office number of the receiving tax office).", IsRequired=true, Name="Bundesfinanzamtsnummer")
        public String bundesfinanzamtsnummer = null;

        /**
        * Die Anbindung zum ELSTER Online Portal (EOP).
        */
        @ApiMember(Description="Die Anbindung zum ELSTER Online Portal (EOP).", Name="EOP")
        public EOP eop = null;

        /**
        * Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.
        */
        @ApiMember(Description="Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.", Name="DuplexDruck")
        public Boolean duplexDruck = null;

        /**
        * Name prefix of the generated transfer protocol file.
        */
        @ApiMember(Description="Name prefix of the generated transfer protocol file.", IsRequired=true, Name="ProtocolPrefix")
        public String protocolPrefix = null;

        /**
        * Footer text to be used on the printout (optional).
        */
        @ApiMember(Description="Footer text to be used on the printout (optional).", Name="FussText")
        public String fussText = null;

        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;

        /**
        * Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.
        */
        @ApiMember(Description="Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.", Name="AbrufCode")
        public String abrufCode = null;
        
        public DatenLieferant getDatenLieferant() { return datenLieferant; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setDatenLieferant(DatenLieferant value) { this.datenLieferant = value; return this; }
        public Unternehmer getUnternehmer() { return unternehmer; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setUnternehmer(Unternehmer value) { this.unternehmer = value; return this; }
        public Date getErstellungsdatum() { return erstellungsdatum; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setErstellungsdatum(Date value) { this.erstellungsdatum = value; return this; }
        public String getBundesfinanzamtsnummer() { return bundesfinanzamtsnummer; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setBundesfinanzamtsnummer(String value) { this.bundesfinanzamtsnummer = value; return this; }
        public EOP getEop() { return eop; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setEop(EOP value) { this.eop = value; return this; }
        public Boolean isDuplexDruck() { return duplexDruck; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setDuplexDruck(Boolean value) { this.duplexDruck = value; return this; }
        public String getProtocolPrefix() { return protocolPrefix; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setProtocolPrefix(String value) { this.protocolPrefix = value; return this; }
        public String getFussText() { return fussText; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setFussText(String value) { this.fussText = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
        public String getAbrufCode() { return abrufCode; }
        public SubmitUmsatzsteueranmeldung2023AsEntrepreneurBase setAbrufCode(String value) { this.abrufCode = value; return this; }
    }

    /**
    * Beim DatenLieferanten handelt es sich um diejenige natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird,um die Daten zu übersenden (auf den Sendeknopf drückt - NICHT jedoch ein etwaiger Erfüllungsgehilfe).
    */
    @Api(Description="Beim DatenLieferanten handelt es sich um diejenige natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird,um die Daten zu übersenden (auf den Sendeknopf drückt - NICHT jedoch ein etwaiger Erfüllungsgehilfe).")
    public static class DatenLieferant
    {
        /**
        * Der Name des Datenlieferants.
        */
        @ApiMember(Description="Der Name des Datenlieferants.", IsRequired=true, Name="Name")
        public String name = null;

        /**
        * Der Straßenname des Datenlieferants.
        */
        @ApiMember(Description="Der Straßenname des Datenlieferants.", IsRequired=true, Name="Strasse")
        public String strasse = null;

        /**
        * Die Postleitzahl des Datenlieferants.
        */
        @ApiMember(Description="Die Postleitzahl des Datenlieferants.", IsRequired=true, Name="PLZ")
        public String plz = null;

        /**
        * Der Ort des Datenlieferants.
        */
        @ApiMember(Description="Der Ort des Datenlieferants.", IsRequired=true, Name="Ort")
        public String ort = null;

        /**
        * Die Telefonnummer (optional) des Datenlieferants.
        */
        @ApiMember(Description="Die Telefonnummer (optional) des Datenlieferants.", Name="Telefon")
        public String telefon = null;

        /**
        * Die Email-Adresse (optional) des Datenlieferant.
        */
        @ApiMember(Description="Die Email-Adresse (optional) des Datenlieferant.", Name="Email")
        public String email = null;
        
        public String getName() { return name; }
        public DatenLieferant setName(String value) { this.name = value; return this; }
        public String getStrasse() { return strasse; }
        public DatenLieferant setStrasse(String value) { this.strasse = value; return this; }
        public String getPlz() { return plz; }
        public DatenLieferant setPlz(String value) { this.plz = value; return this; }
        public String getOrt() { return ort; }
        public DatenLieferant setOrt(String value) { this.ort = value; return this; }
        public String getTelefon() { return telefon; }
        public DatenLieferant setTelefon(String value) { this.telefon = value; return this; }
        public String getEmail() { return email; }
        public DatenLieferant setEmail(String value) { this.email = value; return this; }
    }

    /**
    * Stellt einen Unternehmer dar.
    */
    @Api(Description="Stellt einen Unternehmer dar.")
    public static class Unternehmer
    {
        /**
        * Der Bezeichnung (optional) des Unternehmers (normalerweise der Name des Unternehmers Unternehmen).
        */
        @ApiMember(Description="Der Bezeichnung (optional) des Unternehmers (normalerweise der Name des Unternehmers Unternehmen).", Name="Bezeichnung")
        public String bezeichnung = null;

        /**
        * Der Name (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Name (optional) des Unternehmers.", Name="Name")
        public String name = null;

        /**
        * Der Vorname (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Vorname (optional) des Unternehmers.", Name="Vorname")
        public String vorname = null;

        /**
        * Der Namenvorsatz (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Namenvorsatz (optional) des Unternehmers.", Name="Namensvorsatz")
        public String namensvorsatz = null;

        /**
        * Der Namenzusatz (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Namenzusatz (optional) des Unternehmers.", Name="Namenszusatz")
        public String namenszusatz = null;

        /**
        * Der Straßenname (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Straßenname (optional) des Unternehmers.", Name="Str")
        public String str = null;

        /**
        * Die Hausnummer (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Hausnummer (optional) des Unternehmers.", Name="Hausnummer")
        public String hausnummer = null;

        /**
        * Der Hausnummernzusatz (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Hausnummernzusatz (optional) des Unternehmers.", Name="HNrZusatz")
        public String hNrZusatz = null;

        /**
        * Der Anschriftenzusatz (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Anschriftenzusatz (optional) des Unternehmers.", Name="AnschriftenZusatz")
        public String anschriftenZusatz = null;

        /**
        * Der Ort (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Ort (optional) des Unternehmers.", Name="Ort")
        public String ort = null;

        /**
        * Die Postleitzahl (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Postleitzahl (optional) des Unternehmers.", Name="PLZ")
        public String plz = null;

        /**
        * Die Auslandspostleitzahl (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Auslandspostleitzahl (optional) des Unternehmers.", Name="AuslandsPLZ")
        public String auslandsPLZ = null;

        /**
        * Der Ländername (falls Anschrift im Ausland) des Unternehmers - optional. Der Ländername des Unternehmers kann mit 1-20 alphanumerischen Zeichen geliefert werden.
        */
        @ApiMember(Description="Der Ländername (falls Anschrift im Ausland) des Unternehmers - optional. \nDer Ländername des Unternehmers kann mit 1-20 alphanumerischen Zeichen geliefert werden.", Name="Land")
        public String land = null;

        /**
        * Der Ort des Postfaches (optional) des Unternehmers.
        */
        @ApiMember(Description="Der Ort des Postfaches (optional) des Unternehmers.", Name="PostfachOrt")
        public String postfachOrt = null;

        /**
        * Das Postfach (optional) des Unternehmers.
        */
        @ApiMember(Description="Das Postfach (optional) des Unternehmers.", Name="Postfach")
        public String postfach = null;

        /**
        * Die Postleitzahl (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Postleitzahl (optional) des Unternehmers.", Name="PostfachPLZ")
        public String postfachPLZ = null;

        /**
        * Die Großkundenpostleitzahl (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Großkundenpostleitzahl (optional) des Unternehmers.", Name="GKPLZ")
        public String gkplz = null;

        /**
        * Die Telefonnummer (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Telefonnummer (optional) des Unternehmers.", Name="Telefon")
        public String telefon = null;

        /**
        * Die Emailadresse (optional) des Unternehmers.
        */
        @ApiMember(Description="Die Emailadresse (optional) des Unternehmers.", Name="Email")
        public String email = null;
        
        public String getBezeichnung() { return bezeichnung; }
        public Unternehmer setBezeichnung(String value) { this.bezeichnung = value; return this; }
        public String getName() { return name; }
        public Unternehmer setName(String value) { this.name = value; return this; }
        public String getVorname() { return vorname; }
        public Unternehmer setVorname(String value) { this.vorname = value; return this; }
        public String getNamensvorsatz() { return namensvorsatz; }
        public Unternehmer setNamensvorsatz(String value) { this.namensvorsatz = value; return this; }
        public String getNamenszusatz() { return namenszusatz; }
        public Unternehmer setNamenszusatz(String value) { this.namenszusatz = value; return this; }
        public String getStr() { return str; }
        public Unternehmer setStr(String value) { this.str = value; return this; }
        public String getHausnummer() { return hausnummer; }
        public Unternehmer setHausnummer(String value) { this.hausnummer = value; return this; }
        public String getHNrZusatz() { return hNrZusatz; }
        public Unternehmer setHNrZusatz(String value) { this.hNrZusatz = value; return this; }
        public String getAnschriftenZusatz() { return anschriftenZusatz; }
        public Unternehmer setAnschriftenZusatz(String value) { this.anschriftenZusatz = value; return this; }
        public String getOrt() { return ort; }
        public Unternehmer setOrt(String value) { this.ort = value; return this; }
        public String getPlz() { return plz; }
        public Unternehmer setPlz(String value) { this.plz = value; return this; }
        public String getAuslandsPLZ() { return auslandsPLZ; }
        public Unternehmer setAuslandsPLZ(String value) { this.auslandsPLZ = value; return this; }
        public String getLand() { return land; }
        public Unternehmer setLand(String value) { this.land = value; return this; }
        public String getPostfachOrt() { return postfachOrt; }
        public Unternehmer setPostfachOrt(String value) { this.postfachOrt = value; return this; }
        public String getPostfach() { return postfach; }
        public Unternehmer setPostfach(String value) { this.postfach = value; return this; }
        public String getPostfachPLZ() { return postfachPLZ; }
        public Unternehmer setPostfachPLZ(String value) { this.postfachPLZ = value; return this; }
        public String getGkplz() { return gkplz; }
        public Unternehmer setGkplz(String value) { this.gkplz = value; return this; }
        public String getTelefon() { return telefon; }
        public Unternehmer setTelefon(String value) { this.telefon = value; return this; }
        public String getEmail() { return email; }
        public Unternehmer setEmail(String value) { this.email = value; return this; }
    }

    /**
    * Stellt eine Anbindung zum ELSTER Online Portal (EOP) dar.
    */
    @Api(Description="Stellt eine Anbindung zum ELSTER Online Portal (EOP) dar.")
    public static class EOP
    {
        public String transferausgabe = null;
        
        public String getTransferausgabe() { return transferausgabe; }
        public EOP setTransferausgabe(String value) { this.transferausgabe = value; return this; }
    }

    /**
    * Represents a portal certificate that is protected by a password.
    */
    @Api(Description="Represents a portal certificate that is protected by a password.")
    public static class PortalCertificate extends FileBase implements ISecuredCertificate, IHasIndex
    {
        /**
        * The unique identifier of the certificate.
        */
        @ApiMember(Description="The unique identifier of the certificate.")
        public UUID id = null;

        /**
        * The position of the certificate element in an indexed collection of certificates.
        */
        @ApiMember(Description="The position of the certificate element in an indexed collection of certificates.")
        public Integer index = null;

        /**
        * The password to protect the certificate from unauthorized access.
        */
        @StringLength(255)
        @ApiMember(Description="The password to protect the certificate from unauthorized access.")
        public String pin = null;

        /**
        * The description of the certificate.
        */
        @StringLength(2147483647)
        @ApiMember(Description="The description of the certificate.")
        public String description = null;

        /**
        * Tags that can be used to label or identify the certificate.
        */
        @ApiMember(Description="Tags that can be used to label or identify the certificate.")
        public ArrayList<String> tags = null;

        /**
        * Gets or sets the file name of the certificate.
        */
        @ApiMember(Description="Gets or sets the file name of the certificate.")
        public String name = null;

        /**
        * The raw data content of the file.
        */
        @ApiMember(Description="The raw data content of the file.", Name="Content")
        public byte[] content = null;
        
        public UUID getId() { return id; }
        public PortalCertificate setId(UUID value) { this.id = value; return this; }
        public Integer getIndex() { return index; }
        public PortalCertificate setIndex(Integer value) { this.index = value; return this; }
        public String getPin() { return pin; }
        public PortalCertificate setPin(String value) { this.pin = value; return this; }
        public String getDescription() { return description; }
        public PortalCertificate setDescription(String value) { this.description = value; return this; }
        public ArrayList<String> getTags() { return tags; }
        public PortalCertificate setTags(ArrayList<String> value) { this.tags = value; return this; }
        public String getName() { return name; }
        public PortalCertificate setName(String value) { this.name = value; return this; }
        public byte[] getContent() { return content; }
        public PortalCertificate setContent(byte[] value) { this.content = value; return this; }
    }

    /**
    * Represents a base class for a file with raw data.
    */
    @Api(Description="Represents a base class for a file with raw data.")
    public static class FileBase
    {
        /**
        * The raw data content of the file.
        */
        @ApiMember(Description="The raw data content of the file.", Name="Content")
        public byte[] content = null;
        
        public byte[] getContent() { return content; }
        public FileBase setContent(byte[] value) { this.content = value; return this; }
    }

    /**
    * Umsatzsteuervoranmeldung für 2023 (Preliminary VAT declaration for 2023).
    */
    @Api(Description="Umsatzsteuervoranmeldung für 2023 (Preliminary VAT declaration for 2023).")
    public static class Umsatzsteuervoranmeldung2023
    {
        /**
        * Das Jahr der Veranlagung.
        */
        @ApiMember(Description="Das Jahr der Veranlagung.", IsRequired=true, Name="Jahr")
        public Integer jahr = null;

        /**
        * Anmeldungszeitraum.
        */
        @ApiMember(Description="Anmeldungszeitraum.", IsRequired=true, Name="Zeitraum")
        public AnmeldungZeitraum zeitraum = null;

        /**
        * Steuernummer
        */
        @ApiMember(Description="Steuernummer", IsRequired=true, Name="Steuernummer")
        public String steuernummer = null;

        /**
        * Fünfstellige HerstellerID (Pflichtangabe wenn der zugehörige Kontext angegeben wird).
        */
        @ApiMember(Description="Fünfstellige HerstellerID (Pflichtangabe wenn der zugehörige Kontext angegeben wird).", IsRequired=true, Name="Kz09")
        public Kz09 kz09 = null;

        /**
        * Berichtigte Anmeldung
        */
        @ApiMember(Description="Berichtigte Anmeldung", Name="Kz10")
        public Ganzzahl1EN kz10 = null;

        /**
        * Nicht steuerbare sonstige Leistungen gemäß § 18b Satz 1 Nummer 2 UStG
        */
        @ApiMember(Description="Nicht steuerbare sonstige Leistungen gemäß § 18b Satz 1 Nummer 2 UStG", Name="Kz21")
        public GeldBetragOhneCent13EN kz21 = null;

        /**
        * Belege
        */
        @ApiMember(Description="Belege", Name="Kz22")
        public Ganzzahl1EN kz22 = null;

        /**
        * Über die Angaben in der Steueranmeldung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen
        */
        @ApiMember(Description="Über die Angaben in der Steueranmeldung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen", Name="Kz23")
        public Ganzzahl1EN kz23 = null;

        /**
        * Ergänzende Angaben zur Steueranmeldung
        */
        @ApiMember(Description="Ergänzende Angaben zur Steueranmeldung", Name="Kz23_Begruendung")
        public String kz23_Begruendung = null;

        /**
        * Das SEPA-Lastschriftmandat wird ausnahmsweise (zum Beispiel wegen Verrechnungswünschen) für diesen Voranmeldungszeitraum widerrufen (falls ja, bitte eine 1 eintragen). Ein gegebenenfalls verbleibender Restbetrag ist gesondert zu entrichten.
        */
        @ApiMember(Description="Das SEPA-Lastschriftmandat wird ausnahmsweise (zum Beispiel wegen Verrechnungswünschen) für diesen Voranmeldungszeitraum widerrufen (falls ja, bitte eine 1 eintragen). Ein gegebenenfalls verbleibender Restbetrag ist gesondert zu entrichten.", Name="Kz26")
        public Ganzzahl1EN kz26 = null;

        /**
        * Verrechnung des Erstattungsbetrags erwünscht / Erstattungsbetrag ist abgetreten (Teilen Sie bitte die Verrechnungswünsche dem Finanzamt gesondert mit).
        */
        @ApiMember(Description="Verrechnung des Erstattungsbetrags erwünscht / Erstattungsbetrag ist abgetreten (Teilen Sie bitte die Verrechnungswünsche dem Finanzamt gesondert mit).", Name="Kz29")
        public Ganzzahl1EN kz29 = null;

        /**
        * zu anderen Steuersätzen (Bemessungsgrundlage)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage)", Name="Kz35")
        public GeldBetragOhneCent13EN kz35 = null;

        /**
        * zu anderen Steuersätzen (Steuer)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="Kz36")
        public GeldBetragMitCent11EN kz36 = null;

        /**
        * Minderung der abziehbaren Vorsteuerbeträge (in der Zeile 37 aus Rechnungen von anderen Unternehmen (§ 15 Absatz 1 Satz 1 Nummer 1 UStG) sowie in den Zeilen 41 und 42 enthalten)
        */
        @ApiMember(Description="Minderung der abziehbaren Vorsteuerbeträge (in der Zeile 37 aus Rechnungen von anderen Unternehmen (§ 15 Absatz 1 Satz 1 Nummer 1 UStG) sowie in den Zeilen 41 und 42 enthalten)", Name="Kz37")
        public PositiverGeldBetragMitCent11EN kz37 = null;

        /**
        * Abzug der festgesetzten Sondervorauszahlung für Dauerfristverlängerung (in der Regel nur in der letzten Voranmeldung des Besteuerungszeitraums auszufüllen)
        */
        @ApiMember(Description="Abzug der festgesetzten Sondervorauszahlung für Dauerfristverlängerung (in der Regel nur in der letzten Voranmeldung des Besteuerungszeitraums auszufüllen)", Name="Kz39")
        public PositiverGeldBetragMitCent13EN kz39 = null;

        /**
        * Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) an Abnehmer mit Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) an Abnehmer mit Umsatzsteuer-Identifikationsnummer", Name="Kz41")
        public GeldBetragOhneCent13EN kz41 = null;

        /**
        * Lieferungen des ersten Abnehmers bei innergemeinschaftlichen Dreiecksgeschäften (§ 25b UStG)
        */
        @ApiMember(Description="Lieferungen des ersten Abnehmers bei innergemeinschaftlichen Dreiecksgeschäften (§ 25b UStG)", Name="Kz42")
        public GeldBetragOhneCent13EN kz42 = null;

        /**
        * Weitere steuerfreie Umsätze mit Vorsteuerabzug (zum Beispiel Ausfuhrlieferungen, Umsätze nach § 4 Nummer 2 bis 7 UStG)
        */
        @ApiMember(Description="Weitere steuerfreie Umsätze mit Vorsteuerabzug (zum Beispiel Ausfuhrlieferungen, Umsätze nach § 4 Nummer 2 bis 7 UStG)", Name="Kz43")
        public GeldBetragOhneCent13EN kz43 = null;

        /**
        * Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) neuer Fahrzeuge an Abnehmer ohne Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) neuer Fahrzeuge an Abnehmer ohne Umsatzsteuer-Identifikationsnummer", Name="Kz44")
        public GeldBetragOhneCent13EN kz44 = null;

        /**
        * Übrige nicht steuerbare Umsätze (Leistungsort nicht im Inland)
        */
        @ApiMember(Description="Übrige nicht steuerbare Umsätze (Leistungsort nicht im Inland)", Name="Kz45")
        public GeldBetragOhneCent13EN kz45 = null;

        /**
        * Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage)", Name="Kz46")
        public GeldBetragOhneCent13EN kz46 = null;

        /**
        * Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Steuer)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Steuer)", Name="Kz47")
        public GeldBetragMitCent11EN kz47 = null;

        /**
        * Steuerfreie Umsätze ohne Vorsteuerabzug (zum Beispiel Umsätze nach § 4 Nummer 8 bis 29 UStG)
        */
        @ApiMember(Description="Steuerfreie Umsätze ohne Vorsteuerabzug (zum Beispiel Umsätze nach § 4 Nummer 8 bis 29 UStG)", Name="Kz48")
        public GeldBetragOhneCent13EN kz48 = null;

        /**
        * Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)
        */
        @ApiMember(Description="Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG) neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)", Name="Kz49")
        public GeldBetragOhneCent13EN kz49 = null;

        /**
        * Minderung der Bemessungsgrundlage (in den Zeilen 12 bis 17 enthalten)
        */
        @ApiMember(Description="Minderung der Bemessungsgrundlage (in den Zeilen 12 bis 17 enthalten)", Name="Kz50")
        public PositiverGeldBetragOhneCent13EN kz50 = null;

        /**
        * Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG) sowie von Kleinunternehmern im Sinne des § 19 Absatz 1 UStG (§ 15 Absatz 4a UStG)
        */
        @ApiMember(Description="Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG) sowie von Kleinunternehmern im Sinne des § 19 Absatz 1 UStG (§ 15 Absatz 4a UStG)", Name="Kz59")
        public GeldBetragMitCent11EN kz59 = null;

        /**
        * Steuerpflichtige Umsätze des leistenden Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet
        */
        @ApiMember(Description="Steuerpflichtige Umsätze des leistenden Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet", Name="Kz60")
        public GeldBetragOhneCent13EN kz60 = null;

        /**
        * Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen (§ 15 Absatz 1 Satz 1 Nummer 3 UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen (§ 15 Absatz 1 Satz 1 Nummer 3 UStG)", Name="Kz61")
        public GeldBetragMitCent11EN kz61 = null;

        /**
        * Entstandene Einfuhrumsatzsteuer (§ 15 Absatz 1 Satz 1 Nummer 2 UStG))
        */
        @ApiMember(Description="Entstandene Einfuhrumsatzsteuer (§ 15 Absatz 1 Satz 1 Nummer 2 UStG))", Name="Kz62")
        public GeldBetragMitCent11EN kz62 = null;

        /**
        * Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind (§ 23a UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind (§ 23a UStG)", Name="Kz63")
        public GeldBetragMitCent11EN kz63 = null;

        /**
        * Berichtigung des Vorsteuerabzugs (§ 15a UStG)
        */
        @ApiMember(Description="Berichtigung des Vorsteuerabzugs (§ 15a UStG)", Name="Kz64")
        public GeldBetragMitCent11EN kz64 = null;

        /**
        * Steuer infolge des Wechsels der Besteuerungsform sowie Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung
        */
        @ApiMember(Description="Steuer infolge des Wechsels der Besteuerungsform sowie Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung", Name="Kz65")
        public GeldBetragMitCent11EN kz65 = null;

        /**
        * Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Absatz 1 Satz 1 Nummer 1 UStG),  aus Leistungen im Sinne des § 13a Absatz 1 Nummer 6 UStG (§ 15 Absatz 1 Satz 1 Nummer 5 UStG) und aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Absatz 5 UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Absatz 1 Satz 1 Nummer 1 UStG),  aus Leistungen im Sinne des § 13a Absatz 1 Nummer 6 UStG (§ 15 Absatz 1 Satz 1 Nummer 5 UStG) und aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Absatz 5 UStG)", Name="Kz66")
        public GeldBetragMitCent11EN kz66 = null;

        /**
        * Vorsteuerbeträge aus Leistungen im Sinne des § 13b UStG (§ 15 Absatz 1 Satz 1 Nummer 4 UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge aus Leistungen im Sinne des § 13b UStG (§ 15 Absatz 1 Satz 1 Nummer 4 UStG)", Name="Kz67")
        public GeldBetragMitCent11EN kz67 = null;

        /**
        * In Rechnungen unrichtig oder unberechtigt ausgewiesene Steuerbeträge (§ 14c UStG) sowie Steuerbeträge, die nach § 6a Absatz 4 Satz 2, § 17 Absatz 1 Satz 7, § 25b Absatz 2 UStG oder von einem Auslagerer oder Lagerhalter nach § 13a Absatz 1 Nummer 6 UStG geschuldet werden
        */
        @ApiMember(Description="In Rechnungen unrichtig oder unberechtigt ausgewiesene Steuerbeträge (§ 14c UStG) sowie Steuerbeträge, die nach § 6a Absatz 4 Satz 2, § 17 Absatz 1 Satz 7, § 25b Absatz 2 UStG oder von einem Auslagerer oder Lagerhalter nach § 13a Absatz 1 Nummer 6 UStG geschuldet werden", Name="Kz69")
        public GeldBetragMitCent11EN kz69 = null;

        /**
        * Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Bemessungsgrundlage)
        */
        @ApiMember(Description="Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Bemessungsgrundlage)", Name="Kz73")
        public GeldBetragOhneCent13EN kz73 = null;

        /**
        * Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Steuer)
        */
        @ApiMember(Description="Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Steuer)", Name="Kz74")
        public GeldBetragMitCent11EN kz74 = null;

        /**
        * Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, zum Beispiel Wein) (Bemessungsgrundlage)
        */
        @ApiMember(Description="Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, zum Beispiel Wein) (Bemessungsgrundlage)", Name="Kz76")
        public GeldBetragOhneCent13EN kz76 = null;

        /**
        * Lieferungen land- und forstwirtschaftlicher Betriebe nach § 24 UStG an Abnehmer mit Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="Lieferungen land- und forstwirtschaftlicher Betriebe nach § 24 UStG an Abnehmer mit Umsatzsteuer-Identifikationsnummer", Name="Kz77")
        public GeldBetragOhneCent13EN kz77 = null;

        /**
        * Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, zum Beispiel Wein) (Steuer)
        */
        @ApiMember(Description="Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, zum Beispiel Wein) (Steuer)", Name="Kz80")
        public GeldBetragMitCent11EN kz80 = null;

        /**
        * zum Steuersatz von 19 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent", Name="Kz81")
        public GeldBetragOhneCent13EN kz81 = null;

        /**
        * Verbleibende Umsatzsteuer-Vorauszahlung beziehungsweise verbleibender Überschuss
        */
        @ApiMember(Description="Verbleibende Umsatzsteuer-Vorauszahlung beziehungsweise verbleibender Überschuss", IsRequired=true, Name="Kz83")
        public GeldBetragMitCent11EN kz83 = null;

        /**
        * Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Bemessungsgrundlage)
        */
        @ApiMember(Description="Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Bemessungsgrundlage)", Name="Kz84")
        public GeldBetragOhneCent13EN kz84 = null;

        /**
        * Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Steuer)
        */
        @ApiMember(Description="Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Steuer)", Name="Kz85")
        public GeldBetragMitCent11EN kz85 = null;

        /**
        * zum Steuersatz von 7 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent", Name="Kz86")
        public GeldBetragOhneCent13EN kz86 = null;

        /**
        * zum Steuersatz von 0 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 0 Prozent", Name="Kz87")
        public GeldBetragOhneCent13EN kz87 = null;

        /**
        * zum Steuersatz von 19 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent", Name="Kz89")
        public GeldBetragOhneCent13EN kz89 = null;

        /**
        * zum Steuersatz von 0 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 0 Prozent", Name="Kz90")
        public GeldBetragOhneCent13EN kz90 = null;

        /**
        * Steuerfreie innergemeinschaftliche Erwerbe von bestimmten Gegenständen und Anlagegold (§§ 4b und 25c UStG)
        */
        @ApiMember(Description="Steuerfreie innergemeinschaftliche Erwerbe von bestimmten Gegenständen und Anlagegold (§§ 4b und 25c UStG)", Name="Kz91")
        public GeldBetragOhneCent13EN kz91 = null;

        /**
        * zum Steuersatz von 7 Prozent
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent", Name="Kz93")
        public GeldBetragOhneCent13EN kz93 = null;

        /**
        * Erwerbe nach §§ 4b und 25c UStG
        */
        @ApiMember(Description="Erwerbe nach §§ 4b und 25c UStG", Name="Kz94")
        public GeldBetragOhneCent13EN kz94 = null;

        /**
        * zu anderen Steuersätzen (Bemessungsgrundlage)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage)", Name="Kz95")
        public GeldBetragOhneCent13EN kz95 = null;

        /**
        * neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne Umsatzsteuer-Identifikationsnummer zum allgemeinen Steuersatz (Steuer)
        */
        @ApiMember(Description="neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne Umsatzsteuer-Identifikationsnummer zum allgemeinen Steuersatz (Steuer)", Name="Kz96")
        public GeldBetragMitCent11EN kz96 = null;

        /**
        * zu anderen Steuersätzen (Steuer)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="Kz98")
        public GeldBetragMitCent11EN kz98 = null;
        
        public Integer getJahr() { return jahr; }
        public Umsatzsteuervoranmeldung2023 setJahr(Integer value) { this.jahr = value; return this; }
        public AnmeldungZeitraum getZeitraum() { return zeitraum; }
        public Umsatzsteuervoranmeldung2023 setZeitraum(AnmeldungZeitraum value) { this.zeitraum = value; return this; }
        public String getSteuernummer() { return steuernummer; }
        public Umsatzsteuervoranmeldung2023 setSteuernummer(String value) { this.steuernummer = value; return this; }
        public Kz09 getKz09() { return kz09; }
        public Umsatzsteuervoranmeldung2023 setKz09(Kz09 value) { this.kz09 = value; return this; }
        public Ganzzahl1EN getKz10() { return kz10; }
        public Umsatzsteuervoranmeldung2023 setKz10(Ganzzahl1EN value) { this.kz10 = value; return this; }
        public GeldBetragOhneCent13EN getKz21() { return kz21; }
        public Umsatzsteuervoranmeldung2023 setKz21(GeldBetragOhneCent13EN value) { this.kz21 = value; return this; }
        public Ganzzahl1EN getKz22() { return kz22; }
        public Umsatzsteuervoranmeldung2023 setKz22(Ganzzahl1EN value) { this.kz22 = value; return this; }
        public Ganzzahl1EN getKz23() { return kz23; }
        public Umsatzsteuervoranmeldung2023 setKz23(Ganzzahl1EN value) { this.kz23 = value; return this; }
        public String getKz23Begruendung() { return kz23_Begruendung; }
        public Umsatzsteuervoranmeldung2023 setKz23Begruendung(String value) { this.kz23_Begruendung = value; return this; }
        public Ganzzahl1EN getKz26() { return kz26; }
        public Umsatzsteuervoranmeldung2023 setKz26(Ganzzahl1EN value) { this.kz26 = value; return this; }
        public Ganzzahl1EN getKz29() { return kz29; }
        public Umsatzsteuervoranmeldung2023 setKz29(Ganzzahl1EN value) { this.kz29 = value; return this; }
        public GeldBetragOhneCent13EN getKz35() { return kz35; }
        public Umsatzsteuervoranmeldung2023 setKz35(GeldBetragOhneCent13EN value) { this.kz35 = value; return this; }
        public GeldBetragMitCent11EN getKz36() { return kz36; }
        public Umsatzsteuervoranmeldung2023 setKz36(GeldBetragMitCent11EN value) { this.kz36 = value; return this; }
        public PositiverGeldBetragMitCent11EN getKz37() { return kz37; }
        public Umsatzsteuervoranmeldung2023 setKz37(PositiverGeldBetragMitCent11EN value) { this.kz37 = value; return this; }
        public PositiverGeldBetragMitCent13EN getKz39() { return kz39; }
        public Umsatzsteuervoranmeldung2023 setKz39(PositiverGeldBetragMitCent13EN value) { this.kz39 = value; return this; }
        public GeldBetragOhneCent13EN getKz41() { return kz41; }
        public Umsatzsteuervoranmeldung2023 setKz41(GeldBetragOhneCent13EN value) { this.kz41 = value; return this; }
        public GeldBetragOhneCent13EN getKz42() { return kz42; }
        public Umsatzsteuervoranmeldung2023 setKz42(GeldBetragOhneCent13EN value) { this.kz42 = value; return this; }
        public GeldBetragOhneCent13EN getKz43() { return kz43; }
        public Umsatzsteuervoranmeldung2023 setKz43(GeldBetragOhneCent13EN value) { this.kz43 = value; return this; }
        public GeldBetragOhneCent13EN getKz44() { return kz44; }
        public Umsatzsteuervoranmeldung2023 setKz44(GeldBetragOhneCent13EN value) { this.kz44 = value; return this; }
        public GeldBetragOhneCent13EN getKz45() { return kz45; }
        public Umsatzsteuervoranmeldung2023 setKz45(GeldBetragOhneCent13EN value) { this.kz45 = value; return this; }
        public GeldBetragOhneCent13EN getKz46() { return kz46; }
        public Umsatzsteuervoranmeldung2023 setKz46(GeldBetragOhneCent13EN value) { this.kz46 = value; return this; }
        public GeldBetragMitCent11EN getKz47() { return kz47; }
        public Umsatzsteuervoranmeldung2023 setKz47(GeldBetragMitCent11EN value) { this.kz47 = value; return this; }
        public GeldBetragOhneCent13EN getKz48() { return kz48; }
        public Umsatzsteuervoranmeldung2023 setKz48(GeldBetragOhneCent13EN value) { this.kz48 = value; return this; }
        public GeldBetragOhneCent13EN getKz49() { return kz49; }
        public Umsatzsteuervoranmeldung2023 setKz49(GeldBetragOhneCent13EN value) { this.kz49 = value; return this; }
        public PositiverGeldBetragOhneCent13EN getKz50() { return kz50; }
        public Umsatzsteuervoranmeldung2023 setKz50(PositiverGeldBetragOhneCent13EN value) { this.kz50 = value; return this; }
        public GeldBetragMitCent11EN getKz59() { return kz59; }
        public Umsatzsteuervoranmeldung2023 setKz59(GeldBetragMitCent11EN value) { this.kz59 = value; return this; }
        public GeldBetragOhneCent13EN getKz60() { return kz60; }
        public Umsatzsteuervoranmeldung2023 setKz60(GeldBetragOhneCent13EN value) { this.kz60 = value; return this; }
        public GeldBetragMitCent11EN getKz61() { return kz61; }
        public Umsatzsteuervoranmeldung2023 setKz61(GeldBetragMitCent11EN value) { this.kz61 = value; return this; }
        public GeldBetragMitCent11EN getKz62() { return kz62; }
        public Umsatzsteuervoranmeldung2023 setKz62(GeldBetragMitCent11EN value) { this.kz62 = value; return this; }
        public GeldBetragMitCent11EN getKz63() { return kz63; }
        public Umsatzsteuervoranmeldung2023 setKz63(GeldBetragMitCent11EN value) { this.kz63 = value; return this; }
        public GeldBetragMitCent11EN getKz64() { return kz64; }
        public Umsatzsteuervoranmeldung2023 setKz64(GeldBetragMitCent11EN value) { this.kz64 = value; return this; }
        public GeldBetragMitCent11EN getKz65() { return kz65; }
        public Umsatzsteuervoranmeldung2023 setKz65(GeldBetragMitCent11EN value) { this.kz65 = value; return this; }
        public GeldBetragMitCent11EN getKz66() { return kz66; }
        public Umsatzsteuervoranmeldung2023 setKz66(GeldBetragMitCent11EN value) { this.kz66 = value; return this; }
        public GeldBetragMitCent11EN getKz67() { return kz67; }
        public Umsatzsteuervoranmeldung2023 setKz67(GeldBetragMitCent11EN value) { this.kz67 = value; return this; }
        public GeldBetragMitCent11EN getKz69() { return kz69; }
        public Umsatzsteuervoranmeldung2023 setKz69(GeldBetragMitCent11EN value) { this.kz69 = value; return this; }
        public GeldBetragOhneCent13EN getKz73() { return kz73; }
        public Umsatzsteuervoranmeldung2023 setKz73(GeldBetragOhneCent13EN value) { this.kz73 = value; return this; }
        public GeldBetragMitCent11EN getKz74() { return kz74; }
        public Umsatzsteuervoranmeldung2023 setKz74(GeldBetragMitCent11EN value) { this.kz74 = value; return this; }
        public GeldBetragOhneCent13EN getKz76() { return kz76; }
        public Umsatzsteuervoranmeldung2023 setKz76(GeldBetragOhneCent13EN value) { this.kz76 = value; return this; }
        public GeldBetragOhneCent13EN getKz77() { return kz77; }
        public Umsatzsteuervoranmeldung2023 setKz77(GeldBetragOhneCent13EN value) { this.kz77 = value; return this; }
        public GeldBetragMitCent11EN getKz80() { return kz80; }
        public Umsatzsteuervoranmeldung2023 setKz80(GeldBetragMitCent11EN value) { this.kz80 = value; return this; }
        public GeldBetragOhneCent13EN getKz81() { return kz81; }
        public Umsatzsteuervoranmeldung2023 setKz81(GeldBetragOhneCent13EN value) { this.kz81 = value; return this; }
        public GeldBetragMitCent11EN getKz83() { return kz83; }
        public Umsatzsteuervoranmeldung2023 setKz83(GeldBetragMitCent11EN value) { this.kz83 = value; return this; }
        public GeldBetragOhneCent13EN getKz84() { return kz84; }
        public Umsatzsteuervoranmeldung2023 setKz84(GeldBetragOhneCent13EN value) { this.kz84 = value; return this; }
        public GeldBetragMitCent11EN getKz85() { return kz85; }
        public Umsatzsteuervoranmeldung2023 setKz85(GeldBetragMitCent11EN value) { this.kz85 = value; return this; }
        public GeldBetragOhneCent13EN getKz86() { return kz86; }
        public Umsatzsteuervoranmeldung2023 setKz86(GeldBetragOhneCent13EN value) { this.kz86 = value; return this; }
        public GeldBetragOhneCent13EN getKz87() { return kz87; }
        public Umsatzsteuervoranmeldung2023 setKz87(GeldBetragOhneCent13EN value) { this.kz87 = value; return this; }
        public GeldBetragOhneCent13EN getKz89() { return kz89; }
        public Umsatzsteuervoranmeldung2023 setKz89(GeldBetragOhneCent13EN value) { this.kz89 = value; return this; }
        public GeldBetragOhneCent13EN getKz90() { return kz90; }
        public Umsatzsteuervoranmeldung2023 setKz90(GeldBetragOhneCent13EN value) { this.kz90 = value; return this; }
        public GeldBetragOhneCent13EN getKz91() { return kz91; }
        public Umsatzsteuervoranmeldung2023 setKz91(GeldBetragOhneCent13EN value) { this.kz91 = value; return this; }
        public GeldBetragOhneCent13EN getKz93() { return kz93; }
        public Umsatzsteuervoranmeldung2023 setKz93(GeldBetragOhneCent13EN value) { this.kz93 = value; return this; }
        public GeldBetragOhneCent13EN getKz94() { return kz94; }
        public Umsatzsteuervoranmeldung2023 setKz94(GeldBetragOhneCent13EN value) { this.kz94 = value; return this; }
        public GeldBetragOhneCent13EN getKz95() { return kz95; }
        public Umsatzsteuervoranmeldung2023 setKz95(GeldBetragOhneCent13EN value) { this.kz95 = value; return this; }
        public GeldBetragMitCent11EN getKz96() { return kz96; }
        public Umsatzsteuervoranmeldung2023 setKz96(GeldBetragMitCent11EN value) { this.kz96 = value; return this; }
        public GeldBetragMitCent11EN getKz98() { return kz98; }
        public Umsatzsteuervoranmeldung2023 setKz98(GeldBetragMitCent11EN value) { this.kz98 = value; return this; }
    }

    /**
    * Stellt den Zeitraum für eine Anmeldung dar
    */
    public static enum AnmeldungZeitraum
    {
        ZR01(1),
        ZR02(2),
        ZR03(3),
        ZR04(4),
        ZR05(5),
        ZR06(6),
        ZR07(7),
        ZR08(8),
        ZR09(9),
        ZR10(10),
        ZR11(11),
        ZR12(12),
        ZR41(41),
        ZR42(42),
        ZR43(43),
        ZR44(44);

        private final int value;
        AnmeldungZeitraum(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    /**
    * Stellt den Pflichtkennzahl Kz09 dar, welche die Angabe diverser Informationen ermöglicht. Beispiele: 74931 74931*Name Berater*Berufsbezeichnung*** 74931*****Name Mandant 74931***Tel.Nr:Berater/Vorwahl*Tel.Nr:Berater/Anschluss*Name Mandant
    */
    @Api(Description="Stellt den Pflichtkennzahl Kz09 dar, welche die Angabe diverser Informationen ermöglicht. Beispiele: 74931 74931*Name Berater*Berufsbezeichnung*** 74931*****Name Mandant 74931***Tel.Nr:Berater/Vorwahl*Tel.Nr:Berater/Anschluss*Name Mandant")
    public static class Kz09
    {
        /**
        * Die Bezeichnung des Softwareherstellers (Pflicht), über dessen Software die Steuererklärung oder (Vor)anmeldung abgegeben wird. Die Bezeichnung muss 5-stellig sein.
        */
        @ApiMember(Description="Die Bezeichnung des Softwareherstellers (Pflicht), über dessen Software die Steuererklärung oder (Vor)anmeldung abgegeben wird. Die Bezeichnung muss 5-stellig sein.", IsRequired=true, Name="HerstellerId")
        public Integer herstellerId = null;

        /**
        * Der Name des Beraters, welcher die Steuererklärung oder (Vor)anmeldung abgegeben wird. Das Name des Beraters kann von 0- bis 85-stellig sein.
        */
        @ApiMember(Description="Der Name des Beraters, welcher die Steuererklärung oder (Vor)anmeldung abgegeben wird. Das Name des Beraters kann von 0- bis 85-stellig sein.", Name="BeraterName")
        public String beraterName = null;

        /**
        * Die Berufbezeichnung des Beraters. Die Berufbezeichnung des Beraterskann von 0- bis 85-stellig sein.
        */
        @ApiMember(Description="Die Berufbezeichnung des Beraters. Die Berufbezeichnung des Beraterskann von 0- bis 85-stellig sein.", Name="Berufsbezeichnung")
        public String berufsbezeichnung = null;

        /**
        * Die Telefonnummervorwahl des Beraters. Die Telefonnummervorwahl des Beraters kann von 0- bis 85-stellig sein.
        */
        @ApiMember(Description="Die Telefonnummervorwahl des Beraters. Die Telefonnummervorwahl des Beraters kann von 0- bis 85-stellig sein.", Name="Berufsbezeichnung")
        public String beraterTelNrVorwahl = null;

        /**
        * Der Telefonnummeranschluss des Beraters. Der Telefonnummeranschluss des Beraters kann von 0- bis 85-stellig sein.
        */
        @ApiMember(Description="Der Telefonnummeranschluss des Beraters. Der Telefonnummeranschluss des Beraters kann von 0- bis 85-stellig sein.", Name="BeraterTelNrAnschluss")
        public String beraterTelNrAnschluss = null;

        /**
        * Der Name des Mandanten. Der Name des Mandanten kann von 0- bis 85-stellig sein.
        */
        @ApiMember(Description="Der Name des Mandanten. Der Name des Mandanten kann von 0- bis 85-stellig sein.", Name="MandantName")
        public String mandantName = null;
        
        public Integer getHerstellerId() { return herstellerId; }
        public Kz09 setHerstellerId(Integer value) { this.herstellerId = value; return this; }
        public String getBeraterName() { return beraterName; }
        public Kz09 setBeraterName(String value) { this.beraterName = value; return this; }
        public String getBerufsbezeichnung() { return berufsbezeichnung; }
        public Kz09 setBerufsbezeichnung(String value) { this.berufsbezeichnung = value; return this; }
        public String getBeraterTelNrVorwahl() { return beraterTelNrVorwahl; }
        public Kz09 setBeraterTelNrVorwahl(String value) { this.beraterTelNrVorwahl = value; return this; }
        public String getBeraterTelNrAnschluss() { return beraterTelNrAnschluss; }
        public Kz09 setBeraterTelNrAnschluss(String value) { this.beraterTelNrAnschluss = value; return this; }
        public String getMandantName() { return mandantName; }
        public Kz09 setMandantName(String value) { this.mandantName = value; return this; }
    }

    /**
    * Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.
    */
    @Api(Description="Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.")
    public static class Ganzzahl1EN extends Ganzzahl
    {
        /**
        * The intrinsic integer value.
        */
        @ApiMember(Description="The intrinsic integer value.")
        public Integer wert = null;
        
        public Integer getWert() { return wert; }
        public Ganzzahl1EN setWert(Integer value) { this.wert = value; return this; }
    }

    /**
    * Specifies an integer data type with limits and a specialized string representation
    */
    @Api(Description="Specifies an integer data type with limits and a specialized string representation")
    public static class Ganzzahl
    {
        /**
        * The intrinsic integer value.
        */
        @ApiMember(Description="The intrinsic integer value.")
        public Integer wert = null;
        
        public Integer getWert() { return wert; }
        public Ganzzahl setWert(Integer value) { this.wert = value; return this; }
    }

    /**
    * Represents an amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign allowed.
    */
    @Api(Description="Represents an amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign allowed.")
    public static class GeldBetragOhneCent13EN extends GrossGeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Long wert = null;
        
        public Long getWert() { return wert; }
        public GeldBetragOhneCent13EN setWert(Long value) { this.wert = value; return this; }
    }

    /**
    * Specifies an amount of money without cents with limits and a specialized string representation
    */
    @Api(Description="Specifies an amount of money without cents with limits and a specialized string representation")
    public static class GrossGeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Long wert = null;
        
        public Long getWert() { return wert; }
        public GrossGeldBetragOhneCent setWert(Long value) { this.wert = value; return this; }
    }

    /**
    * Represents an amount of money with cents whose value has a maximum length of 13 digits. That is, 1 to 11 digits before the decimal separator and 2 digits after the decimal separator. Minus sign allowed.
    */
    @Api(Description="Represents an amount of money with cents whose value has a maximum length of 13 digits. That is, 1 to 11 digits before the decimal separator and 2 digits after the decimal separator. Minus sign allowed.")
    public static class GeldBetragMitCent11EN extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public GeldBetragMitCent11EN setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Specifies an amount of money with cents with limits and a specialized string representation
    */
    @Api(Description="Specifies an amount of money with cents with limits and a specialized string representation")
    public static class GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public GeldBetragMitCent setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Represents an unsigned amount of money with cents whose value has a maximum length of 13 digits. That is, 1 to 11 digits before the decimal separator and 2 digits after the decimal separator. Minus sign NOT allowed.
    */
    @Api(Description="Represents an unsigned amount of money with cents whose value has a maximum length of 13 digits. That is, 1 to 11 digits before the decimal separator and 2 digits after the decimal separator. Minus sign NOT allowed.")
    public static class PositiverGeldBetragMitCent11EN extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public PositiverGeldBetragMitCent11EN setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Represents an unsigned amount of money with cents whose value has a maximum length of 15 digits. That is, 1 to 13 digits before the decimal separator and 2 digits after the decimal separator. Minus sign NOT allowed.
    */
    @Api(Description="Represents an unsigned amount of money with cents whose value has a maximum length of 15 digits. That is, 1 to 13 digits before the decimal separator and 2 digits after the decimal separator. Minus sign NOT allowed.")
    public static class PositiverGeldBetragMitCent13EN extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public PositiverGeldBetragMitCent13EN setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Represents an unsigned amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign NOT allowed.
    */
    @Api(Description="Represents an unsigned amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign NOT allowed.")
    public static class PositiverGeldBetragOhneCent13EN extends GrossGeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Long wert = null;
        
        public Long getWert() { return wert; }
        public PositiverGeldBetragOhneCent13EN setWert(Long value) { this.wert = value; return this; }
    }

    /**
    * A type that encapsulates the return values from the ERiC API function that processes tax data.
    */
    @Api(Description="A type that encapsulates the return values from the ERiC API function that processes tax data.")
    public static class BearbeiteVorgangResponse extends EricFehlerCodeResponse
    {
        /**
        * The return value of the process.
        */
        @ApiMember(Description="The return value of the process.")
        public EricBearbeiteVorgang rueckgabe = null;

        /**
        * The server response of the process.
        */
        @ApiMember(Description="The server response of the process.")
        public Elster serverantwort = null;

        /**
        * If available, the PDF-based files to represent generated transfer prototocols.
        */
        @ApiMember(Description="If available, the PDF-based files to represent generated transfer prototocols.")
        public ArrayList<BinaryFile> transferProtocols = null;

        /**
        * The status code that the ERiC API function returns.
        */
        @ApiMember(Description="The status code that the ERiC API function returns.", Name="StatusCode")
        public EricFehlerCode statusCode = null;

        /**
        * The status message that the ERiC API function returns.
        */
        @ApiMember(Description="The status message that the ERiC API function returns.", Name="StatusText")
        public String statusText = null;

        /**
        * The unique identifier of the response.
        */
        @ApiMember(Description="The unique identifier of the response.", Name="Id")
        public String id = null;

        /**
        * The position of the response element in an indexed collection.
        */
        @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
        public Integer index = null;

        /**
        * Metadata that contains structured error information on the service response.
        */
        @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
        public ResponseStatus responseStatus = null;
        
        public EricBearbeiteVorgang getRueckgabe() { return rueckgabe; }
        public BearbeiteVorgangResponse setRueckgabe(EricBearbeiteVorgang value) { this.rueckgabe = value; return this; }
        public Elster getServerantwort() { return serverantwort; }
        public BearbeiteVorgangResponse setServerantwort(Elster value) { this.serverantwort = value; return this; }
        public ArrayList<BinaryFile> getTransferProtocols() { return transferProtocols; }
        public BearbeiteVorgangResponse setTransferProtocols(ArrayList<BinaryFile> value) { this.transferProtocols = value; return this; }
        public EricFehlerCode getStatusCode() { return statusCode; }
        public BearbeiteVorgangResponse setStatusCode(EricFehlerCode value) { this.statusCode = value; return this; }
        public String getStatusText() { return statusText; }
        public BearbeiteVorgangResponse setStatusText(String value) { this.statusText = value; return this; }
        public String getId() { return id; }
        public BearbeiteVorgangResponse setId(String value) { this.id = value; return this; }
        public Integer getIndex() { return index; }
        public BearbeiteVorgangResponse setIndex(Integer value) { this.index = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public BearbeiteVorgangResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    /**
    * Represent a base response that encapsulate any ERiC API function return value.
    */
    @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
    public static class EricFehlerCodeResponse extends ServiceReponseBase
    {
        /**
        * The status code that the ERiC API function returns.
        */
        @ApiMember(Description="The status code that the ERiC API function returns.", Name="StatusCode")
        public EricFehlerCode statusCode = null;

        /**
        * The status message that the ERiC API function returns.
        */
        @ApiMember(Description="The status message that the ERiC API function returns.", Name="StatusText")
        public String statusText = null;

        /**
        * The unique identifier of the response.
        */
        @ApiMember(Description="The unique identifier of the response.", Name="Id")
        public String id = null;

        /**
        * The position of the response element in an indexed collection.
        */
        @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
        public Integer index = null;

        /**
        * Metadata that contains structured error information on the service response.
        */
        @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
        public ResponseStatus responseStatus = null;
        
        public EricFehlerCode getStatusCode() { return statusCode; }
        public EricFehlerCodeResponse setStatusCode(EricFehlerCode value) { this.statusCode = value; return this; }
        public String getStatusText() { return statusText; }
        public EricFehlerCodeResponse setStatusText(String value) { this.statusText = value; return this; }
        public String getId() { return id; }
        public EricFehlerCodeResponse setId(String value) { this.id = value; return this; }
        public Integer getIndex() { return index; }
        public EricFehlerCodeResponse setIndex(Integer value) { this.index = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public EricFehlerCodeResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    /**
    * Specifies a service response from an ERiC service operation.
    */
    @Api(Description="Specifies a service response from an ERiC service operation.")
    public static class ServiceReponseBase implements IHasIndex
    {
        /**
        * The unique identifier of the response.
        */
        @ApiMember(Description="The unique identifier of the response.", Name="Id")
        public String id = null;

        /**
        * The position of the response element in an indexed collection.
        */
        @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
        public Integer index = null;

        /**
        * Metadata that contains structured error information on the service response.
        */
        @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
        public ResponseStatus responseStatus = null;
        
        public String getId() { return id; }
        public ServiceReponseBase setId(String value) { this.id = value; return this; }
        public Integer getIndex() { return index; }
        public ServiceReponseBase setIndex(Integer value) { this.index = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public ServiceReponseBase setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    /**
    * Enumeration of ERiC API error codes.
    */
    public static enum EricFehlerCode
    {
        EricOk(0),
        EricGlobalUnknown(610001001),
        EricGlobalPruefFehler(610001002),
        EricGlobalHinweise(610001003),
        EricGlobalFehlermeldungNichtVorhanden(610001007),
        EricGlobalKeineDatenVorhanden(610001008),
        EricGlobalNichtGenuegendArbeitsspeicher(610001013),
        EricGlobalDateiNichtGefunden(610001014),
        EricGlobalHerstellerIdNichtErlaubt(610001016),
        EricGlobalIllegalState(610001017),
        EricGlobalFunktionNichtErlaubt(610001018),
        EricGlobalEchtfallNichtErlaubt(610001019),
        EricGlobalNoVersandInBetaVersion(610001020),
        EricGlobalTestmerkerUngueltig(610001025),
        EricGlobalDatensatzZuGross(610001026),
        EricGlobalVerschluesselungsParameterNichtErlaubt(610001027),
        EricGlobalNurPortalzertifikatErlaubt(610001028),
        EricGlobalAbrufcodeNichtErlaubt(610001029),
        EricGlobalErrorXmlCreate(610001030),
        EricGlobalTextpuffergroesseFix(610001031),
        EricGlobalInternerFehler(610001032),
        EricGlobalArithmetikfehler(610001033),
        EricGlobalSteuernummerUngueltig(610001034),
        EricGlobalSteuernummerFalscheLaenge(610001035),
        EricGlobalSteuernummerNichtNumerisch(610001036),
        EricGlobalLandesnummerUnbekannt(610001037),
        EricGlobalBufanrUnbekannt(610001038),
        EricGlobalLandesnummerBufanr(610001039),
        EricGlobalPufferZugriffskonflikt(610001040),
        EricGlobalPufferUeberlauf(610001041),
        EricGlobalDatenartversionUnbekannt(610001042),
        EricGlobalDatenartversionXmlInkonsistent(610001044),
        EricGlobalCommondataNichtVerfuegbar(610001045),
        EricGlobalLogException(610001046),
        EricGlobalTransportschluesselNichtErlaubt(610001047),
        EricGlobalOeffentlicherSchluesselUngueltig(610001048),
        EricGlobalTransportschluesselTypFalsch(610001049),
        EricGlobalPufferUngleicherInstanz(610001050),
        EricGlobalVorsatzUngueltig(610001051),
        EricGlobalDateizugriffVerweigert(610001053),
        EricGlobalUngueltigeInstanz(610001080),
        EricGlobalNichtInitialisiert(610001081),
        EricGlobalMehrfacheInitialisierung(610001082),
        EricGlobalFehlerInitialisierung(610001083),
        EricGlobalUnknownParameterError(610001102),
        EricGlobalCheckCorruptedNds(610001108),
        EricGlobalVerschluesselungsParameterNichtAngegeben(610001206),
        EricGlobalSendFlagMehrAlsEines(610001209),
        EricGlobalUngueltigeFlagKombination(610001218),
        EricGlobalErsteSeiteDruckNichtUnterstuetzt(610001220),
        EricGlobalUngueltigerParameter(610001222),
        EricGlobalDruckFuerVerfahrenNichtErlaubt(610001224),
        EricGlobalVersandArtNichtUnterstuetzt(610001225),
        EricGlobalUngueltigeParameterVersion(610001226),
        EricGlobalTransferhandle(610001227),
        EricGlobalPlugininitialisierung(610001228),
        EricGlobalInkompatibleVersionen(610001229),
        EricGlobalVerschluesselungsverfahrenNichtUnterstuetzt(610001230),
        EricGlobalMehrfachaufrufeNichtUnterstuetzt(610001231),
        EricGlobalUtiCountryNotSupported(610001404),
        EricGlobalIbanFormalerFehler(610001501),
        EricGlobalIbanLaendercodeFehler(610001502),
        EricGlobalIbanLandesformatFehler(610001503),
        EricGlobalIbanPruefzifferFehler(610001504),
        EricGlobalBicFormalerFehler(610001510),
        EricGlobalBicLaendercodeFehler(610001511),
        EricGlobalZulassungsnummerZuLang(610001519),
        EricGlobalIdnummerUngueltig(610001525),
        EricGlobalNullParameter(610001526),
        EricGlobalEwazUngueltig(610001527),
        EricGlobalEwazLandeskuerzelUnbekannt(610001528),
        EricGlobalUpdateNecessary(610001851),
        EricGlobalEinstellungNameUngueltig(610001860),
        EricGlobalEinstellungWertUngueltig(610001861),
        EricGlobalErrDekodieren(610001862),
        EricGlobalFunktionNichtUnterstuetzt(610001863),
        EricGlobalNutzdatenticketsNichtEindeutig(610001865),
        EricGlobalNutzdatenheaderversionenUneinheitlich(610001866),
        EricGlobalBundeslaenderUneinheitlich(610001867),
        EricGlobalZeitraeumeUneinheitlich(610001868),
        EricGlobalNutzdatenheaderEmpfaengerNichtKorrekt(610001869),
        EricTransferComError(610101200),
        EricTransferVorgangNichtUnterstuetzt(610101201),
        EricTransferErrXmlTheader(610101210),
        EricTransferErrParam(610101251),
        EricTransferErrDatenteilendnotfound(610101253),
        EricTransferErrBegindatenlieferant(610101255),
        EricTransferErrEnddatenlieferant(610101256),
        EricTransferErrBegintransportschluessel(610101257),
        EricTransferErrEndtransportschluessel(610101258),
        EricTransferErrBegindatengroesse(610101259),
        EricTransferErrEnddatengroesse(610101260),
        EricTransferErrSend(610101271),
        EricTransferErrNotencrypted(610101274),
        EricTransferErrProxyconnect(610101276),
        EricTransferErrConnectserver(610101278),
        EricTransferErrNoresponse(610101279),
        EricTransferErrProxyauth(610101280),
        EricTransferErrSendInit(610101282),
        EricTransferErrTimeout(610101283),
        EricTransferErrProxyportInvalid(610101284),
        EricTransferErrOther(610101291),
        EricTransferErrXmlNheader(610101292),
        EricTransferErrXmlEncoding(610101293),
        EricTransferErrEndsiguser(610101294),
        EricTransferErrXmltagNichtGefunden(610101295),
        EricTransferErrDatenteilfehler(610101297),
        EricTransferEidZertifikatfehler(610101500),
        EricTransferEidKeinkonto(610101510),
        EricTransferEidIdnrnichteindeutig(610101511),
        EricTransferEidServerfehler(610101512),
        EricTransferEidKeinclient(610101520),
        EricTransferEidClientfehler(610101521),
        EricTransferEidFehlendefelder(610101522),
        EricTransferEidIdentifikationabgebrochen(610101523),
        EricTransferEidNpablockiert(610101524),
        EricCryptErrorCreateKey(610201016),
        EricCryptEInvalidHandle(610201101),
        EricCryptEMaxSession(610201102),
        EricCryptEBusy(610201103),
        EricCryptEOutOfMem(610201104),
        EricCryptEPsePath(610201105),
        EricCryptEPinWrong(610201106),
        EricCryptEPinLocked(610201107),
        EricCryptEP7Read(610201108),
        EricCryptEP7Decode(610201109),
        EricCryptEP7Recipient(610201110),
        EricCryptEP12Read(610201111),
        EricCryptEP12Decode(610201112),
        EricCryptEP12SigKey(610201113),
        EricCryptEP12EncKey(610201114),
        EricCryptEP11SigKey(610201115),
        EricCryptEP11EncKey(610201116),
        EricCryptEXmlParse(610201117),
        EricCryptEXmlSigAdd(610201118),
        EricCryptEXmlSigTag(610201119),
        EricCryptEXmlSigSign(610201120),
        EricCryptEEncodeUnknown(610201121),
        EricCryptEEncodeError(610201122),
        EricCryptEXmlInit(610201123),
        EricCryptEEncrypt(610201124),
        EricCryptEDecrypt(610201125),
        EricCryptEP11SlotEmpty(610201126),
        EricCryptENoSigEncKey(610201127),
        EricCryptELoadDll(610201128),
        EricCryptENoService(610201129),
        EricCryptEEsiclException(610201130),
        EricCryptETokenTypeMismatch(610201144),
        EricCryptEP12Create(610201146),
        EricCryptEVerifyCertChain(610201147),
        EricCryptEP11EngineLoaded(610201148),
        EricCryptEUserCancel(610201149),
        EricCryptZertifikat(610201200),
        EricCryptSignatur(610201201),
        EricCryptNichtUnterstuetztesPseFormat(610201203),
        EricCryptPinBenoetigt(610201205),
        EricCryptPinStaerkeNichtAusreichend(610201206),
        EricCryptEIntern(610201208),
        EricCryptZertifikatspfadKeinVerzeichnis(610201209),
        EricCryptZertifikatsdateiExistiertBereits(610201210),
        EricCryptPinEnthaeltUngueltigeZeichen(610201211),
        EricCryptEInvalidParamAbc(610201212),
        EricCryptCorrupted(610201213),
        EricCryptEidkarteNichtUnterstuetzt(610201214),
        EricCryptEScSlotEmpty(610201215),
        EricCryptEScNoApplet(610201216),
        EricCryptEScSession(610201217),
        EricCryptEP11NoSigCert(610201218),
        EricCryptEP11InitFailed(610201219),
        EricCryptEP11NoEncCert(610201220),
        EricCryptEP12NoSigCert(610201221),
        EricCryptEP12NoEncCert(610201222),
        EricCryptEScEncKey(610201223),
        EricCryptEScNoSigCert(610201224),
        EricCryptEScNoEncCert(610201225),
        EricCryptEScInitFailed(610201226),
        EricCryptEScSigKey(610201227),
        EricIoFehler(610301001),
        EricIoDateiInkorrekt(610301005),
        EricIoParseFehler(610301006),
        EricIoNdsGenerierungFehlgeschlagen(610301007),
        EricIoMasterdatenserviceNichtVerfuegbar(610301010),
        EricIoSteuerzeichenImNds(610301014),
        EricIoVersionsinformationenNichtGefunden(610301031),
        EricIoFalschesVerfahren(610301104),
        EricIoReaderMehrfacheSteuerfaelle(610301105),
        EricIoReaderUnerwarteteElemente(610301106),
        EricIoReaderFormaleFehler(610301107),
        EricIoReaderFalschesEncoding(610301108),
        EricIoReaderMehrfacheNutzdatenElemente(610301109),
        EricIoReaderMehrfacheNutzdatenblockElemente(610301110),
        EricIoUnbekannteDatenart(610301111),
        EricIoReaderUntersachbereichUngueltig(610301114),
        EricIoReaderZuVieleNutzdatenblockElemente(610301115),
        EricIoReaderSteuerzeichenImTransferheader(610301150),
        EricIoReaderSteuerzeichenImNutzdatenheader(610301151),
        EricIoReaderSteuerzeichenInDenNutzdaten(610301152),
        EricIoReaderZuVieleAnhaenge(610301190),
        EricIoReaderAnhangZuGross(610301191),
        EricIoReaderAnhaengeZuGross(610301192),
        EricIoReaderSchemaValidierungsfehler(610301200),
        EricIoReaderUnbekannteXmlEntity(610301201),
        EricIoDatenteilnotfound(610301252),
        EricIoDatenteilendnotfound(610301253),
        EricIoUebergabeparameterFehlerhaft(610301300),
        EricIoUngueltigeUtF8Sequenz(610301400),
        EricIoUngueltigeZeichenInParameter(610301401),
        EricPrintInternerFehler(610501001),
        EricPrintDruckvorlageNichtGefunden(610501002),
        EricPrintUngueltigerDateiPfad(610501004),
        EricPrintInitialisierungFehlerhaft(610501007),
        EricPrintAusgabezielUnbekannt(610501008),
        EricPrintAbbruchDruckvorbereitung(610501009),
        EricPrintAbbruchGenerierung(610501010),
        EricPrintSteuerfallNichtUnterstuetzt(610501011),
        EricPrintFusstextZuLang(610501012);

        private final int value;
        EricFehlerCode(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    /**
    * Represents a structure that contains the first output of the ERiC tax data submission process.
    */
    @Api(Description="Represents a structure that contains the first output of the ERiC tax data submission process.")
    public static class EricBearbeiteVorgang
    {
        /**
        * Information from the successful processing a tax declaration.
        */
        @ApiMember(Description="Information from the successful processing a tax declaration.")
        public Erfolg erfolg = null;

        /**
        * Gets or sets information on all data deliveries, including deliveries that have not been confirmed by the server.
        */
        @ApiMember(Description="Gets or sets information on all data deliveries, including deliveries that have not been confirmed by the server.")
        public Transfers transfers = null;

        /**
        * Error rules that result from the processing of a tax declaration.
        */
        @ApiMember(Description="Error rules that result from the processing of a tax declaration.")
        public ArrayList<FehlerRegelpruefung> fehlerRegelpruefungen = null;

        /**
        * Hints that result the processing of a tax declaration.
        */
        @ApiMember(Description="Hints that result the processing of a tax declaration.")
        public ArrayList<Hinweis> hinweise = null;
        
        public Erfolg getErfolg() { return erfolg; }
        public EricBearbeiteVorgang setErfolg(Erfolg value) { this.erfolg = value; return this; }
        public Transfers getTransfers() { return transfers; }
        public EricBearbeiteVorgang setTransfers(Transfers value) { this.transfers = value; return this; }
        public ArrayList<FehlerRegelpruefung> getFehlerRegelpruefungen() { return fehlerRegelpruefungen; }
        public EricBearbeiteVorgang setFehlerRegelpruefungen(ArrayList<FehlerRegelpruefung> value) { this.fehlerRegelpruefungen = value; return this; }
        public ArrayList<Hinweis> getHinweise() { return hinweise; }
        public EricBearbeiteVorgang setHinweise(ArrayList<Hinweis> value) { this.hinweise = value; return this; }
    }

    /**
    * Represents information returned from a successful tax declaration process.
    */
    @Api(Description="Represents information returned from a successful tax declaration process.")
    public static class Erfolg
    {
        /**
        * The generated tele-number for the successful tax declaration process.
        */
        @ApiMember(Description="The generated tele-number for the successful tax declaration process.")
        public ArrayList<String> telenummer = null;

        /**
        * The classification key for the successful tax declaration process.
        */
        @ApiMember(Description="The classification key for the successful tax declaration process.")
        public ArrayList<String> ordnungsbegriffe = null;
        
        public ArrayList<String> getTelenummer() { return telenummer; }
        public Erfolg setTelenummer(ArrayList<String> value) { this.telenummer = value; return this; }
        public ArrayList<String> getOrdnungsbegriffe() { return ordnungsbegriffe; }
        public Erfolg setOrdnungsbegriffe(ArrayList<String> value) { this.ordnungsbegriffe = value; return this; }
    }

    /**
    * Represents information on all data deliveries, including deliveries that have not been confirmed by the server. For more information, see the ERiC developer manual in the 'TransferTicket' section.
    */
    @Api(Description="Represents information on all data deliveries, including deliveries that have not been confirmed by the server. For more information, see the ERiC developer manual in the 'TransferTicket' section.")
    public static class Transfers
    {
        /**
        * Contains information on all data deliveries, including deliveries that have not been confirmed by the server.
        */
        @ApiMember(Description="Contains information on all data deliveries, including deliveries that have not been confirmed by the server.")
        public ArrayList<Transfer> transferList = null;
        
        public ArrayList<Transfer> getTransferList() { return transferList; }
        public Transfers setTransferList(ArrayList<Transfer> value) { this.transferList = value; return this; }
    }

    /**
    * Represents information on the delivery.
    */
    @Api(Description="Represents information on the delivery.")
    public static class Transfer
    {
        /**
        * The ticket of the transfer.
        */
        @ApiMember(Description="The ticket of the transfer.")
        public String transferTicket = null;
        
        public String getTransferTicket() { return transferTicket; }
        public Transfer setTransferTicket(String value) { this.transferTicket = value; return this; }
    }

    /**
    * Represents information on an ERiC reference.
    */
    @Api(Description="Represents information on an ERiC reference.")
    public static class FehlerRegelpruefung
    {
        /**
        * The user data ticket of the reference.
        */
        @ApiMember(Description="The user data ticket of the reference.")
        public String nutzdatenticket = null;

        /**
        * The field identifier of the reference.
        */
        @ApiMember(Description="The field identifier of the reference.")
        public String feldidentifikator = null;

        /**
        * The multi-line index of the reference.
        */
        @ApiMember(Description="The multi-line index of the reference.")
        public String mehrfachzeilenindex = null;

        /**
        * The delivery number form of the reference.
        */
        @ApiMember(Description="The delivery number form of the reference.")
        public String lfdNrVordruck = null;

        /**
        * Indicates the line number of the error field mentioned in the form.
        */
        @ApiMember(Description="Indicates the line number of the error field mentioned in the form.")
        public String vordruckZeilennummer = null;

        /**
        * Specifies the value of one or more index fields that identify the context of error messages.
        */
        @ApiMember(Description="Specifies the value of one or more index fields that identify the context of error messages.")
        public ArrayList<SemantischerIndex> semantischeIndexes = null;

        /**
        * The sub-subject-area of the reference.
        */
        @ApiMember(Description="The sub-subject-area of the reference.")
        public String untersachbereich = null;

        /**
        * The private identification number of the reference.
        */
        @ApiMember(Description="The private identification number of the reference.")
        public String privateKennnummer = null;

        /**
        * The name of the rule that applies to the reference.
        */
        @ApiMember(Description="The name of the rule that applies to the reference.")
        public String regelName = null;

        /**
        * The technical error identifier of the reference.
        */
        @ApiMember(Description="The technical error identifier of the reference.")
        public String fachlicheFehlerId = null;

        /**
        * The textual details of the reference.
        */
        @ApiMember(Description="The textual details of the reference.")
        public String text = null;
        
        public String getNutzdatenticket() { return nutzdatenticket; }
        public FehlerRegelpruefung setNutzdatenticket(String value) { this.nutzdatenticket = value; return this; }
        public String getFeldidentifikator() { return feldidentifikator; }
        public FehlerRegelpruefung setFeldidentifikator(String value) { this.feldidentifikator = value; return this; }
        public String getMehrfachzeilenindex() { return mehrfachzeilenindex; }
        public FehlerRegelpruefung setMehrfachzeilenindex(String value) { this.mehrfachzeilenindex = value; return this; }
        public String getLfdNrVordruck() { return lfdNrVordruck; }
        public FehlerRegelpruefung setLfdNrVordruck(String value) { this.lfdNrVordruck = value; return this; }
        public String getVordruckZeilennummer() { return vordruckZeilennummer; }
        public FehlerRegelpruefung setVordruckZeilennummer(String value) { this.vordruckZeilennummer = value; return this; }
        public ArrayList<SemantischerIndex> getSemantischeIndexes() { return semantischeIndexes; }
        public FehlerRegelpruefung setSemantischeIndexes(ArrayList<SemantischerIndex> value) { this.semantischeIndexes = value; return this; }
        public String getUntersachbereich() { return untersachbereich; }
        public FehlerRegelpruefung setUntersachbereich(String value) { this.untersachbereich = value; return this; }
        public String getPrivateKennnummer() { return privateKennnummer; }
        public FehlerRegelpruefung setPrivateKennnummer(String value) { this.privateKennnummer = value; return this; }
        public String getRegelName() { return regelName; }
        public FehlerRegelpruefung setRegelName(String value) { this.regelName = value; return this; }
        public String getFachlicheFehlerId() { return fachlicheFehlerId; }
        public FehlerRegelpruefung setFachlicheFehlerId(String value) { this.fachlicheFehlerId = value; return this; }
        public String getText() { return text; }
        public FehlerRegelpruefung setText(String value) { this.text = value; return this; }
    }

    /**
    * Represents value of an index field, which identfies the context about an error message.
    */
    @Api(Description="Represents value of an index field, which identfies the context about an error message.")
    public static class SemantischerIndex
    {
        /**
        * The name of the index field.
        */
        @ApiMember(Description="The name of the index field.")
        public String name = null;

        /**
        * The value of the index field.
        */
        @ApiMember(Description="The value of the index field.")
        public String value = null;
        
        public String getName() { return name; }
        public SemantischerIndex setName(String value) { this.name = value; return this; }
        public String getValue() { return value; }
        public SemantischerIndex setValue(String value) { this.value = value; return this; }
    }

    public static class Hinweis
    {
        /**
        * The user data ticket of the reference.
        */
        @ApiMember(Description="The user data ticket of the reference.")
        public String nutzdatenticket = null;

        /**
        * The field identifier of the reference.
        */
        @ApiMember(Description="The field identifier of the reference.")
        public String feldidentifikator = null;

        /**
        * The multi-line index of the reference.
        */
        @ApiMember(Description="The multi-line index of the reference.")
        public String mehrfachzeilenindex = null;

        /**
        * The delivery number form of the reference.
        */
        @ApiMember(Description="The delivery number form of the reference.")
        public String lfdNrVordruck = null;

        /**
        * Indicates the line number of the error field mentioned in the form.
        */
        @ApiMember(Description="Indicates the line number of the error field mentioned in the form.")
        public String vordruckZeilennummer = null;

        /**
        * Specifies the value of one or more index fields that identify the context of error messages.
        */
        @ApiMember(Description="Specifies the value of one or more index fields that identify the context of error messages.")
        public ArrayList<SemantischerIndex> semantischeIndexes = null;

        /**
        * The sub-subject-area of the reference.
        */
        @ApiMember(Description="The sub-subject-area of the reference.")
        public String untersachbereich = null;

        /**
        * The private identification number of the reference.
        */
        @ApiMember(Description="The private identification number of the reference.")
        public String privateKennnummer = null;

        /**
        * The name of the rule that applies to the reference.
        */
        @ApiMember(Description="The name of the rule that applies to the reference.")
        public String regelName = null;

        /**
        * The technical note identifier of the reference.
        */
        @ApiMember(Description="The technical note identifier of the reference.")
        public String fachlicheHinweisId = null;

        /**
        * The textual details of the reference.
        */
        @ApiMember(Description="The textual details of the reference.")
        public String text = null;
        
        public String getNutzdatenticket() { return nutzdatenticket; }
        public Hinweis setNutzdatenticket(String value) { this.nutzdatenticket = value; return this; }
        public String getFeldidentifikator() { return feldidentifikator; }
        public Hinweis setFeldidentifikator(String value) { this.feldidentifikator = value; return this; }
        public String getMehrfachzeilenindex() { return mehrfachzeilenindex; }
        public Hinweis setMehrfachzeilenindex(String value) { this.mehrfachzeilenindex = value; return this; }
        public String getLfdNrVordruck() { return lfdNrVordruck; }
        public Hinweis setLfdNrVordruck(String value) { this.lfdNrVordruck = value; return this; }
        public String getVordruckZeilennummer() { return vordruckZeilennummer; }
        public Hinweis setVordruckZeilennummer(String value) { this.vordruckZeilennummer = value; return this; }
        public ArrayList<SemantischerIndex> getSemantischeIndexes() { return semantischeIndexes; }
        public Hinweis setSemantischeIndexes(ArrayList<SemantischerIndex> value) { this.semantischeIndexes = value; return this; }
        public String getUntersachbereich() { return untersachbereich; }
        public Hinweis setUntersachbereich(String value) { this.untersachbereich = value; return this; }
        public String getPrivateKennnummer() { return privateKennnummer; }
        public Hinweis setPrivateKennnummer(String value) { this.privateKennnummer = value; return this; }
        public String getRegelName() { return regelName; }
        public Hinweis setRegelName(String value) { this.regelName = value; return this; }
        public String getFachlicheHinweisId() { return fachlicheHinweisId; }
        public Hinweis setFachlicheHinweisId(String value) { this.fachlicheHinweisId = value; return this; }
        public String getText() { return text; }
        public Hinweis setText(String value) { this.text = value; return this; }
    }

    /**
    * Represents an ELSTER document.
    */
    @Api(Description="Represents an ELSTER document.")
    public static class Elster
    {
        /**
        * The transfer header part of the ELSTER document.
        */
        @ApiMember(Description="The transfer header part of the ELSTER document.", IsRequired=true)
        public TransferHeader transferHeader = null;

        /**
        * The data (facts) part of the ELSTER document.
        */
        @ApiMember(Description="The data (facts) part of the ELSTER document.")
        public DatenTeil datenTeil = null;
        
        public TransferHeader getTransferHeader() { return transferHeader; }
        public Elster setTransferHeader(TransferHeader value) { this.transferHeader = value; return this; }
        public DatenTeil getDatenTeil() { return datenTeil; }
        public Elster setDatenTeil(DatenTeil value) { this.datenTeil = value; return this; }
    }

    /**
    * Represents the transfer header part of an ELSTER document.
    */
    @Api(Description="Represents the transfer header part of an ELSTER document.")
    public static class TransferHeader
    {
        /**
        * The version of the transfer header.
        */
        @ApiMember(Description="The version of the transfer header.", IsRequired=true)
        public String version = null;

        /**
        * The tax operation used in the ELSTER process.
        */
        @ApiMember(Description="The tax operation used in the ELSTER process.", IsRequired=true)
        public Verfahren verfahren = null;

        /**
        * The tax data type of the ELSTER process.
        */
        @ApiMember(Description="The tax data type of the ELSTER process.", IsRequired=true)
        public Datenart datenArt = null;

        /**
        * The authentification procedure of the ELSTER process.
        */
        @ApiMember(Description="The authentification procedure of the ELSTER process.", IsRequired=true)
        public Vorgang vorgang = null;

        /**
        * The ticket identifier after a successful ELSTER process.
        */
        @ApiMember(Description="The ticket identifier after a successful ELSTER process.")
        public String transferTicket = null;

        /**
        * The flag that indicates whether the tax declaration or filing is a test case. For production purposes, this value should not be set.
        */
        @ApiMember(Description="The flag that indicates whether the tax declaration or filing is a test case. For production purposes, this value should not be set.")
        public Testmerker testmerker = null;

        /**
        * The signature and associated information on the compressed, encrypted, base64-encoded content of the the data part of a tax declaration / statement.
        */
        @ApiMember(Description="The signature and associated information on the compressed, encrypted, base64-encoded content of the the data part of a tax declaration / statement.")
        public SigUser sigUser = null;

        /**
        * The receiving ELSTER server.
        */
        @ApiMember(Description="The receiving ELSTER server.")
        public Empfaenger empfaenger = null;

        /**
        * The identifier of the software manufacturer, through whose software the tax declaration is filed.
        */
        @ApiMember(Description="The identifier of the software manufacturer, through whose software the tax declaration is filed.", IsRequired=true)
        public String herstellerID = null;

        /**
        * The details of the provider that submits tax data.
        */
        @ApiMember(Description="The details of the provider that submits tax data.", IsRequired=true)
        public String datenLieferant = null;

        /**
        * The date of receipt of the tax data.
        */
        @ApiMember(Description="The date of receipt of the tax data.")
        public Date eingangsDatum = null;

        /**
        * The encryption data required for authenticated transmission of tax data.
        */
        @ApiMember(Description="The encryption data required for authenticated transmission of tax data.")
        public Datei datei = null;

        /**
        * The return code of the transfer header and is included in the response XML of the ELSTER server. The value should never be set by the data provider.
        */
        @ApiMember(Description="The return code of the transfer header and is included in the response XML of the ELSTER server. The value should never be set by the data provider.")
        public RC rc = null;

        /**
        * The details of the software that submits the tax data.
        */
        @ApiMember(Description="The details of the software that submits the tax data.")
        public String versionClient = null;

        /**
        * Data extensions to the transfer header.
        */
        @ApiMember(Description="Data extensions to the transfer header.")
        public Zusatz zusatz = null;
        
        public String getVersion() { return version; }
        public TransferHeader setVersion(String value) { this.version = value; return this; }
        public Verfahren getVerfahren() { return verfahren; }
        public TransferHeader setVerfahren(Verfahren value) { this.verfahren = value; return this; }
        public Datenart getDatenArt() { return datenArt; }
        public TransferHeader setDatenArt(Datenart value) { this.datenArt = value; return this; }
        public Vorgang getVorgang() { return vorgang; }
        public TransferHeader setVorgang(Vorgang value) { this.vorgang = value; return this; }
        public String getTransferTicket() { return transferTicket; }
        public TransferHeader setTransferTicket(String value) { this.transferTicket = value; return this; }
        public Testmerker getTestmerker() { return testmerker; }
        public TransferHeader setTestmerker(Testmerker value) { this.testmerker = value; return this; }
        public SigUser getSigUser() { return sigUser; }
        public TransferHeader setSigUser(SigUser value) { this.sigUser = value; return this; }
        public Empfaenger getEmpfaenger() { return empfaenger; }
        public TransferHeader setEmpfaenger(Empfaenger value) { this.empfaenger = value; return this; }
        public String getHerstellerID() { return herstellerID; }
        public TransferHeader setHerstellerID(String value) { this.herstellerID = value; return this; }
        public String getDatenLieferant() { return datenLieferant; }
        public TransferHeader setDatenLieferant(String value) { this.datenLieferant = value; return this; }
        public Date getEingangsDatum() { return eingangsDatum; }
        public TransferHeader setEingangsDatum(Date value) { this.eingangsDatum = value; return this; }
        public Datei getDatei() { return datei; }
        public TransferHeader setDatei(Datei value) { this.datei = value; return this; }
        public RC getRc() { return rc; }
        public TransferHeader setRc(RC value) { this.rc = value; return this; }
        public String getVersionClient() { return versionClient; }
        public TransferHeader setVersionClient(String value) { this.versionClient = value; return this; }
        public Zusatz getZusatz() { return zusatz; }
        public TransferHeader setZusatz(Zusatz value) { this.zusatz = value; return this; }
    }

    /**
    * Auflistung der gültigen Verfahren
    */
    public static enum Verfahren
    {
        ElsterAnmeldung,
        ElsterBereitstellung,
        ElsterBilanz,
        ElsterBRM,
        ElsterBRMOrg,
        ElsterDatenabholung,
        ElsterErklaerung,
        ElsterExtern,
        ElsterFSE,
        ElsterKapESt,
        ElsterKMV,
        ElsterKontoabfrage,
        ElsterLavendel,
        ElsterLohn,
        ElsterLohn2,
        ElsterNachricht,
        ElsterSignatur,
        ElsterVollmachtDB;
    }

    /**
    * Auflistung aller gültigen Datenarten.
    */
    public static enum Datenart
    {
        Anlage34a,
        AnpassungVorauszahlung,
        AntragUStVerguetung4a,
        AbrufcodeAntrag,
        AenderungAdresse,
        AbrufcodeStorno,
        AbrufvollmachtAnlage,
        AbrufvollmachtUpdate,
        AenderungBankverbindung,
        AntraegeRechteLoeschen,
        AntraegeUndRechte,
        Aufzeichnung146a,
        BetPG,
        Bilanz,
        Belegnachreichung,
        BsbMitteilung,
        BzSt2,
        C19Mitteilung,
        DUeAbmelden,
        DUeAnmelden,
        DUeUmmelden,
        Einspruch,
        EinspruchNachtrag,
        EinspruchRuecknahme,
        ELeVAntragELStAM,
        ELeVErmaessigung,
        ELeVGetrenntlebend,
        ELeVSteuerklassenwechsel,
        ELeVWiederaufnahmeEhe,
        EpAntwort,
        EpBescheid,
        EpMitteilung,
        EpKurzmitteilung,
        ElsterErklaerungDaten,
        ElsterKMVDaten,
        ElsterLohn2Daten,
        ElsterLohnDaten,
        ElsterVaStDaten,
        ElsterDIVADaten,
        ElsterDIVDaten,
        ElsterEPBescheidDaten,
        ElsterEPMitteilungDaten,
        EpStBescheidAbholung,
        EpStMitteilungAbholung,
        Erbschaftsteuer,
        ESt,
        EStbeschraenkt,
        Euer,
        EUn,
        Fein,
        ForschungZulAntrag,
        KStAntragOptionPersG,
        FlhMitteilung,
        FreistellungKapitalertraegeBV,
        Fristverlaengerung,
        FsEVerein,
        Gewerbemeldung,
        GdbMitteilung,
        Gewinnermittlung13aEStG,
        GewSt,
        GewStZ,
        GrundsteuerBW,
        GrundsteuerBY,
        GrundsteuerHE,
        GrundsteuerHH,
        GrundsteuerNI,
        Grundsteuerwert,
        InvStG56Abs5,
        InvStG51Feststellung,
        KapEStA,
        KapEStInvStG,
        KapG,
        KapGAus,
        KkvMitteilung,
        Kontoabfrage,
        Kontoinformation,
        KSt,
        KStZ,
        KttAnmeldungHH,
        KttAnzeigeHH,
        Lohnersatzleistung,
        LohnersatzMitteilung,
        LStA,
        LStB,
        LStHVVMAnlage,
        LStHVVMUpdate,
        OghMitteilung,
        VermoegenswirksameLeistung,
        VmWiderruf,
        VollmachtDetails,
        VNoVMVRegistrierung,
        VNoVMVUpdate,
        VNoVMVLoeschung,
        VollfAAnlage,
        VollfAUpdate,
        VMoVMVStBAnlage,
        VMoVMVStBUpdate,
        VMoVMVFreischaltung,
        VagMitteilung,
        DivaDatenBZSt,
        DivaEinwilligungAnlageBRM,
        DivaEinwilligungFreisch,
        DivaEinwilligungUpdateBRM,
        DivaWiderrufBRM,
        DivaErgebnisliste,
        LStHVDivaAdresseBRM,
        VmErgebnisListeVNSicht,
        PersG,
        PostfachAnfrage,
        PostfachStatus,
        ProtokollAnforderung,
        Registrierung,
        Schenkungsteuer,
        SonstigeNachrichten,
        SpezRechtAntrag,
        SpezRechtFreischaltung,
        SpezRechtListe,
        SpezRechtStorno,
        SpezRechtTeilnahme,
        StAb50a,
        Statusabfrage,
        UnentgeltlicheDepotuebertragung,
        UenstAnmeldungBE,
        UenstAnzeigeBE,
        USt,
        UStVA,
        UStDV,
        UStSV,
        VgnAnmeldungHB,
        VgnAnmeldungBE,
        VgnAnmeldungHH,
        VgnAnzeigeHH,
        WtbAnmeldungHB,
        Zmdo,
        ElsterVollmachtDaten,
        MitteilungAbholung;
    }

    /**
    * Hauptinformation ob die Daten authentifiziert wurden (send-Auth) oder nicht (send-NoSig)
    */
    public static enum Vorgang
    {
        SendAuth,
        SendAuthPart,
        SendNoSig,
        SendNoSigPart;
    }

    /**
    * Kennzeichnung der Datenlieferung ob es sich um einen Testfall handelt, gilt fuer die gesamte Datenlieferung. Ein Echtfall enthält dieses Element nicht. Ein Testfall muss mit einem Testmerker versehen werden, damit er nicht wie ein Echtfall verarbeitet wird. Handelt es sich um Daten, die nur zum Testen des Frontends versendet wurden, müssen sie nicht mehr weiter verarbeitet werden.
    */
    public static enum Testmerker
    {
        TM010000001(10000001),
        TM080000001(80000001),
        TM160000001(160000001),
        TM160000002(160000002),
        TM220000000(220000000),
        TM220002000(220002000),
        TM230000001(230000001),
        TM240000000(240000000),
        TM370000001(370000001),
        TM520000000(520000000),
        TM700000001(700000001),
        TM700000004(700000004);

        private final int value;
        Testmerker(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    /**
    * Represents the signature and associated information of the compressed, encrypted, base64-encoded content of the data part of the tax declaration/statement.
    */
    @Api(Description="Represents the signature and associated information of the compressed, encrypted, base64-encoded content of the data part of the tax declaration/statement.")
    public static class SigUser
    {
        /**
        * The content of the data. Currently supported: Raw XML (text), XElement or IXmlSerializable
        */
        @ApiMember(Description="The content of the data. Currently supported: Raw XML (text), XElement or IXmlSerializable")
        public Object inhalt = null;
        
        public Object getInhalt() { return inhalt; }
        public SigUser setInhalt(Object value) { this.inhalt = value; return this; }
    }

    /**
    * Represents a receiver of tax data.
    */
    @Api(Description="Represents a receiver of tax data.")
    public static class Empfaenger
    {
        /**
        * The identifier of the receiver.
        */
        @ApiMember(Description="The identifier of the receiver.")
        public String id = null;

        /**
        * The destination of the receiver.
        */
        @ApiMember(Description="The destination of the receiver.")
        public Bundesland ziel = null;
        
        public String getId() { return id; }
        public Empfaenger setId(String value) { this.id = value; return this; }
        public Bundesland getZiel() { return ziel; }
        public Empfaenger setZiel(Bundesland value) { this.ziel = value; return this; }
    }

    /**
    * Einheitliche Abkürzungen fuer die Bundesländer bzw. alternative Empfänger
    */
    public static enum Bundesland
    {
        Bw,
        By,
        Be,
        Bb,
        Hb,
        Hh,
        He,
        Mv,
        Ni,
        Nw,
        Rp,
        Sl,
        Sn,
        St,
        Sh,
        Th,
        Ec,
        Bf,
        Cs,
        Cd,
        Cm,
        Cn,
        Ds,
        Op,
        Tk,
        Zf;
    }

    /**
    * Represents information on the encryption of tax data.
    */
    @Api(Description="Represents information on the encryption of tax data.")
    public static class Datei
    {
        /**
        * The type of data encryption used.
        */
        @ApiMember(Description="The type of data encryption used.")
        public Verschluesselungsart verschluesselung = null;

        /**
        * The type of data compression used.
        */
        @ApiMember(Description="The type of data compression used.")
        public Kompression kompression = null;

        /**
        * The transport key used in the encryption.
        */
        @ApiMember(Description="The transport key used in the encryption.")
        public String transportSchluessel = null;

        /**
        * [Documentation unavailable]
        */
        @ApiMember(Description="[Documentation unavailable]")
        public Erstellung erstellung = null;
        
        public Verschluesselungsart getVerschluesselung() { return verschluesselung; }
        public Datei setVerschluesselung(Verschluesselungsart value) { this.verschluesselung = value; return this; }
        public Kompression getKompression() { return kompression; }
        public Datei setKompression(Kompression value) { this.kompression = value; return this; }
        public String getTransportSchluessel() { return transportSchluessel; }
        public Datei setTransportSchluessel(String value) { this.transportSchluessel = value; return this; }
        public Erstellung getErstellung() { return erstellung; }
        public Datei setErstellung(Erstellung value) { this.erstellung = value; return this; }
    }

    /**
    * Protokoll der Verschluesselung. Es kann vorkommen, dass verschieden Verschluesselungsarten eingesetzt werden, eine Unterscheidung ist hier nötig, um das richtige Entschluesselungstool anzusteuern. Mit welcher Verschluesselungsart wurden die Inhalte von den Elementen 'DatenLieferant' und ggf. 'SigUser' im TransferHeader und dem Element 'DatenTeil' verschluesselt
    */
    public static enum Verschluesselungsart
    {
        Pkcs7v15,
        Pkcs7v15enveloped,
        NoBasE64,
        CmsEncryptedData,
        CmsEnvelopedData,
        EnvelopedDataRsaOaepAes128GZipB64;
    }

    /**
    * Mit welcher Kompression wurden die Inhalte von den Elementen DatenLieferant und ggf. SigUser im TransferHeader und dem Element DatenTeil komprimiert.
    */
    public static enum Kompression
    {
        Gzip,
        NoBasE64;
    }

    /**
    * [Documentation unavailable]
    */
    @Api(Description="[Documentation unavailable]")
    public static class Erstellung
    {
        /**
        * [Documentation unavailable]
        */
        @ApiMember(Description="[Documentation unavailable]")
        public EricTyp eric = null;
        
        public EricTyp getEric() { return eric; }
        public Erstellung setEric(EricTyp value) { this.eric = value; return this; }
    }

    /**
    * [Documentation unavailable]
    */
    @Api(Description="[Documentation unavailable]")
    public static class EricTyp
    {
        /**
        * The content of the data. Currently supported: Raw XML (text), XmlElement, XElement or IXmlSerializable
        */
        @ApiMember(Description="The content of the data. Currently supported: Raw XML (text), XmlElement, XElement or IXmlSerializable")
        public Object inhalt = null;
        
        public Object getInhalt() { return inhalt; }
        public EricTyp setInhalt(Object value) { this.inhalt = value; return this; }
    }

    /**
    * Represents an ERiC return code.
    */
    @Api(Description="Represents an ERiC return code.")
    public static class RC
    {
        /**
        * The return value of the return code.
        */
        @ApiMember(Description="The return value of the return code.")
        public Rueckgabe rueckgabe = null;

        /**
        * The internal value of the return code.
        */
        @ApiMember(Description="The internal value of the return code.")
        public Stack stack = null;
        
        public Rueckgabe getRueckgabe() { return rueckgabe; }
        public RC setRueckgabe(Rueckgabe value) { this.rueckgabe = value; return this; }
        public Stack getStack() { return stack; }
        public RC setStack(Stack value) { this.stack = value; return this; }
    }

    /**
    * Represents an external error stack.
    */
    @Api(Description="Represents an external error stack.")
    public static class Rueckgabe
    {
        /**
        * The external error code. Either a zero (0) if no external errors occurred; otherwise an error number.
        */
        @ApiMember(Description="The external error code. Either a zero (0) if no external errors occurred; otherwise an error number.")
        public String code = null;

        /**
        * The external error message.
        */
        @ApiMember(Description="The external error message.")
        public String text = null;
        
        public String getCode() { return code; }
        public Rueckgabe setCode(String value) { this.code = value; return this; }
        public String getText() { return text; }
        public Rueckgabe setText(String value) { this.text = value; return this; }
    }

    /**
    * Represents an internal error stack.
    */
    @Api(Description="Represents an internal error stack.")
    public static class Stack
    {
        /**
        * The internal error code. Either a zero (0) if no internal errors occurred; otherwise an error number.
        */
        @ApiMember(Description="The internal error code. Either a zero (0) if no internal errors occurred; otherwise an error number.")
        public String code = null;

        /**
        * The external error message.
        */
        @ApiMember(Description="The external error message.")
        public String text = null;
        
        public String getCode() { return code; }
        public Stack setCode(String value) { this.code = value; return this; }
        public String getText() { return text; }
        public Stack setText(String value) { this.text = value; return this; }
    }

    /**
    * Represents an ERiC extension.
    */
    @Api(Description="Represents an ERiC extension.")
    public static class Zusatz
    {
        /**
        * The user-customizable items for the extension. Data providers can use these items for their own extensions/information.
        */
        @ApiMember(Description="The user-customizable items for the extension. Data providers can use these items for their own extensions/information.")
        public ArrayList<String> infos = null;

        /**
        * The ELSTER items for the extension. They can be included in the response XML from the ELSTER server, if special information must be returned to the user after data submission. For example, for authenticated submission, information about impending certificate expiration etc. It must not be supplied by the data provider (even when empty).
        */
        @ApiMember(Description="The ELSTER items for the extension. They can be included in the response XML from the ELSTER server, if special information must be returned to the user after data submission. For example, for authenticated submission, information about impending certificate expiration etc. It must not be supplied by the data provider (even when empty).")
        public ArrayList<String> elsterInfos = null;
        
        public ArrayList<String> getInfos() { return infos; }
        public Zusatz setInfos(ArrayList<String> value) { this.infos = value; return this; }
        public ArrayList<String> getElsterInfos() { return elsterInfos; }
        public Zusatz setElsterInfos(ArrayList<String> value) { this.elsterInfos = value; return this; }
    }

    /**
    * Represents the data part of an ELSTER document.
    */
    @Api(Description="Represents the data part of an ELSTER document.")
    public static class DatenTeil
    {
        /**
        * The blocks of tax data of the ELSTER document.
        */
        @ApiMember(Description="The blocks of tax data of the ELSTER document.", IsRequired=true)
        public ArrayList<Nutzdatenblock> nutzdatenbloecke = null;
        
        public ArrayList<Nutzdatenblock> getNutzdatenbloecke() { return nutzdatenbloecke; }
        public DatenTeil setNutzdatenbloecke(ArrayList<Nutzdatenblock> value) { this.nutzdatenbloecke = value; return this; }
    }

    /**
    * Represents a block of tax data.
    */
    @Api(Description="Represents a block of tax data.")
    public static class Nutzdatenblock
    {
        /**
        * The header part of the block.
        */
        @ApiMember(Description="The header part of the block.", IsRequired=true)
        public NutzdatenHeader nutzdatenHeader = null;

        /**
        * The data part of the block.
        */
        @ApiMember(Description="The data part of the block.", IsRequired=true)
        public Nutzdaten nutzdaten = null;
        
        public NutzdatenHeader getNutzdatenHeader() { return nutzdatenHeader; }
        public Nutzdatenblock setNutzdatenHeader(NutzdatenHeader value) { this.nutzdatenHeader = value; return this; }
        public Nutzdaten getNutzdaten() { return nutzdaten; }
        public Nutzdatenblock setNutzdaten(Nutzdaten value) { this.nutzdaten = value; return this; }
    }

    /**
    * Represents the header of a tax data.
    */
    @Api(Description="Represents the header of a tax data.")
    public static class NutzdatenHeader
    {
        /**
        * The version of the header.
        */
        @ApiMember(Description="The version of the header.", IsRequired=true)
        public String version = null;

        /**
        * The ticket identifier of the header.
        */
        @ApiMember(Description="The ticket identifier of the header.", IsRequired=true)
        public String nutzdatenTicket = null;

        /**
        * The receiver of the header.
        */
        @ApiMember(Description="The receiver of the header.", IsRequired=true)
        public NDHEmpfaenger empfaenger = null;

        /**
        * The software manufacturer, through whose software the tax declaration or filing is submitted.
        */
        @ApiMember(Description="The software manufacturer, through whose software the tax declaration or filing is submitted.", IsRequired=true)
        public Hersteller hersteller = null;

        /**
        * The details of the data provider (e.g. taxpayer, tax consulant or firm), who produced the tax data and it must not necessarily be the same person declared in the TransferHeader section.
        */
        @ApiMember(Description="The details of the data provider (e.g. taxpayer, tax consulant or firm), who produced the tax data and it must not necessarily be the same person declared in the TransferHeader section.")
        public String datenLieferant = null;

        /**
        * The return code of the header.
        */
        @ApiMember(Description="The return code of the header.")
        public RC rc = null;

        /**
        * The data extensions of the header.
        */
        @ApiMember(Description="The data extensions of the header.")
        public Zusatz zusatz = null;
        
        public String getVersion() { return version; }
        public NutzdatenHeader setVersion(String value) { this.version = value; return this; }
        public String getNutzdatenTicket() { return nutzdatenTicket; }
        public NutzdatenHeader setNutzdatenTicket(String value) { this.nutzdatenTicket = value; return this; }
        public NDHEmpfaenger getEmpfaenger() { return empfaenger; }
        public NutzdatenHeader setEmpfaenger(NDHEmpfaenger value) { this.empfaenger = value; return this; }
        public Hersteller getHersteller() { return hersteller; }
        public NutzdatenHeader setHersteller(Hersteller value) { this.hersteller = value; return this; }
        public String getDatenLieferant() { return datenLieferant; }
        public NutzdatenHeader setDatenLieferant(String value) { this.datenLieferant = value; return this; }
        public RC getRc() { return rc; }
        public NutzdatenHeader setRc(RC value) { this.rc = value; return this; }
        public Zusatz getZusatz() { return zusatz; }
        public NutzdatenHeader setZusatz(Zusatz value) { this.zusatz = value; return this; }
    }

    /**
    * Represents a receiver of tax data.
    */
    @Api(Description="Represents a receiver of tax data.")
    public static class NDHEmpfaenger
    {
        /**
        * The identifier of the receiver.
        */
        @ApiMember(Description="The identifier of the receiver.")
        public EmpfaengerID id = null;

        /**
        * The value of the receiver.
        */
        @ApiMember(Description="The value of the receiver.")
        public String value = null;
        
        public EmpfaengerID getId() { return id; }
        public NDHEmpfaenger setId(EmpfaengerID value) { this.id = value; return this; }
        public String getValue() { return value; }
        public NDHEmpfaenger setValue(String value) { this.value = value; return this; }
    }

    /**
    * Represents a receriver ID
    */
    public static enum EmpfaengerID
    {
        L,
        F;
    }

    /**
    * Represents a manufacturer/vendor of tax software.
    */
    @Api(Description="Represents a manufacturer/vendor of tax software.")
    public static class Hersteller
    {
        /**
        * The product name of the tax software produced by the manufacturer.
        */
        @ApiMember(Description="The product name of the tax software produced by the manufacturer.")
        public String produktName = null;

        /**
        * The product version of the tax software produced by the manufacturer.
        */
        @ApiMember(Description="The product version of the tax software produced by the manufacturer.")
        public String produktVersion = null;
        
        public String getProduktName() { return produktName; }
        public Hersteller setProduktName(String value) { this.produktName = value; return this; }
        public String getProduktVersion() { return produktVersion; }
        public Hersteller setProduktVersion(String value) { this.produktVersion = value; return this; }
    }

    /**
    * Represents an encapsulation of tax data content.
    */
    @Api(Description="Represents an encapsulation of tax data content.")
    public static class Nutzdaten
    {
        /**
        * The content of the tax data. This varies by tax declaration. Currently supported formats: Raw XML (text), XElement, and IXmlSerializable
        */
        @ApiMember(Description="The content of the tax data. This varies by tax declaration. Currently supported formats: Raw XML (text), XElement, and IXmlSerializable", IsRequired=true)
        public Object inhalt = null;
        
        public Object getInhalt() { return inhalt; }
        public Nutzdaten setInhalt(Object value) { this.inhalt = value; return this; }
    }

    /**
    * Represents a file that contains raw data content in bytes
    */
    @Api(Description="Represents a file that contains raw data content in bytes")
    public static class BinaryFile extends FileBase
    {
        /**
        * The attributes of the file.
        */
        @ApiMember(Description="The attributes of the file.", Name="Metadata")
        public FileMetadata metadata = null;

        /**
        * The name of the file without information on its directory path.
        */
        @ApiMember(Description="The name of the file without information on its directory path.", Name="Name")
        public String name = null;

        /**
        * The raw data content of the file.
        */
        @ApiMember(Description="The raw data content of the file.", Name="Content")
        public byte[] content = null;
        
        public FileMetadata getMetadata() { return metadata; }
        public BinaryFile setMetadata(FileMetadata value) { this.metadata = value; return this; }
        public String getName() { return name; }
        public BinaryFile setName(String value) { this.name = value; return this; }
        public byte[] getContent() { return content; }
        public BinaryFile setContent(byte[] value) { this.content = value; return this; }
    }

    /**
    * Represents information about a file or directory.
    */
    @Api(Description="Represents information about a file or directory.")
    public static class FileMetadata implements IFileMetadata
    {
        /**
        * The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.
        */
        @ApiMember(Description="The name of the file.\nFor files, gets the name of the file.\nFor directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.", Name="Name")
        public String name = null;

        /**
        * The full path of the directory or file.
        */
        @ApiMember(Description="The full path of the directory or file.", Name="FullName")
        public String fullName = null;

        /**
        * The time the current file or directory was last accessed.
        */
        @ApiMember(Description="The time the current file or directory was last accessed.", Name="LastAccessTime")
        public Date lastAccessTime = null;

        /**
        * The name of the file.
        */
        @ApiMember(Description="The name of the file.", Name="LastAccessTimeUtc")
        public Date lastAccessTimeUtc = null;

        /**
        * The time when the current file or directory was last written to.
        */
        @ApiMember(Description="The time when the current file or directory was last written to.", Name="LastAccessTime")
        public Date lastWriteTime = null;

        /**
        * The time, in coordinated universal time (UTC), when the current file or directory was last written to.
        */
        @ApiMember(Description="The time, in coordinated universal time (UTC), when the current file or directory was last written to.", Name="LastWriteTimeUtc")
        public Date lastWriteTimeUtc = null;

        /**
        * The size, in bytes, of the current file.
        */
        @ApiMember(Description="The size, in bytes, of the current file.", Name="Length")
        public Long length = null;

        /**
        * The size, in bytes, of the current file.
        */
        @ApiMember(Description="The size, in bytes, of the current file.", Name="UserId")
        public Integer userId = null;

        /**
        * The file group id.
        */
        @ApiMember(Description="The file group id.", Name="GroupId")
        public Integer groupId = null;

        /**
        * A value that indicates whether the others can read from this file.
        */
        @ApiMember(Description="A value that indicates whether the others can read from this file.", Name="OthersCanRead")
        public Boolean othersCanRead = null;

        /**
        * A value that indicates whether the group members can execute this file.
        */
        @ApiMember(Description="A value that indicates whether the group members can execute this file.", Name="GroupCanExecute")
        public Boolean groupCanExecute = null;

        /**
        * A value that indicates whether the group members can write into this file.
        */
        @ApiMember(Description="A value that indicates whether the group members can write into this file.", Name="GroupCanWrite")
        public Boolean groupCanWrite = null;

        /**
        * A value that indicates whether the group members can read from this file.
        */
        @ApiMember(Description="A value that indicates whether the group members can read from this file.", Name="GroupCanRead")
        public Boolean groupCanRead = null;

        /**
        * A value that indicates whether the owner can execute this file.
        */
        @ApiMember(Description="A value that indicates whether the owner can execute this file.", Name="OwnerCanExecute")
        public Boolean ownerCanExecute = null;

        /**
        * A value that indicates whether the owner can write into this file.
        */
        @ApiMember(Description="A value that indicates whether the owner can write into this file.", Name="OwnerCanWrite")
        public Boolean ownerCanWrite = null;

        /**
        * A value that indicates whether the owner can read from this file.
        */
        @ApiMember(Description="A value that indicates whether the owner can read from this file.", Name="OthersCanRead")
        public Boolean ownerCanRead = null;

        /**
        * A value that indicates whether others can read from this file.
        */
        @ApiMember(Description="A value that indicates whether others can read from this file.", Name="OthersCanExecute")
        public Boolean othersCanExecute = null;

        /**
        * A value that indicates whether others can write into this file.
        */
        @ApiMember(Description="A value that indicates whether others can write into this file.", Name="OthersCanWrite")
        public Boolean othersCanWrite = null;

        /**
        * Extensions to the file attributes.
        */
        @ApiMember(Description="Extensions to the file attributes.", Name="Extensions")
        public HashMap<String,String> extensions = null;
        
        public String getName() { return name; }
        public FileMetadata setName(String value) { this.name = value; return this; }
        public String getFullName() { return fullName; }
        public FileMetadata setFullName(String value) { this.fullName = value; return this; }
        public Date getLastAccessTime() { return lastAccessTime; }
        public FileMetadata setLastAccessTime(Date value) { this.lastAccessTime = value; return this; }
        public Date getLastAccessTimeUtc() { return lastAccessTimeUtc; }
        public FileMetadata setLastAccessTimeUtc(Date value) { this.lastAccessTimeUtc = value; return this; }
        public Date getLastWriteTime() { return lastWriteTime; }
        public FileMetadata setLastWriteTime(Date value) { this.lastWriteTime = value; return this; }
        public Date getLastWriteTimeUtc() { return lastWriteTimeUtc; }
        public FileMetadata setLastWriteTimeUtc(Date value) { this.lastWriteTimeUtc = value; return this; }
        public Long getLength() { return length; }
        public FileMetadata setLength(Long value) { this.length = value; return this; }
        public Integer getUserId() { return userId; }
        public FileMetadata setUserId(Integer value) { this.userId = value; return this; }
        public Integer getGroupId() { return groupId; }
        public FileMetadata setGroupId(Integer value) { this.groupId = value; return this; }
        public Boolean isOthersCanRead() { return othersCanRead; }
        public FileMetadata setOthersCanRead(Boolean value) { this.othersCanRead = value; return this; }
        public Boolean isGroupCanExecute() { return groupCanExecute; }
        public FileMetadata setGroupCanExecute(Boolean value) { this.groupCanExecute = value; return this; }
        public Boolean isGroupCanWrite() { return groupCanWrite; }
        public FileMetadata setGroupCanWrite(Boolean value) { this.groupCanWrite = value; return this; }
        public Boolean isGroupCanRead() { return groupCanRead; }
        public FileMetadata setGroupCanRead(Boolean value) { this.groupCanRead = value; return this; }
        public Boolean isOwnerCanExecute() { return ownerCanExecute; }
        public FileMetadata setOwnerCanExecute(Boolean value) { this.ownerCanExecute = value; return this; }
        public Boolean isOwnerCanWrite() { return ownerCanWrite; }
        public FileMetadata setOwnerCanWrite(Boolean value) { this.ownerCanWrite = value; return this; }
        public Boolean isOwnerCanRead() { return ownerCanRead; }
        public FileMetadata setOwnerCanRead(Boolean value) { this.ownerCanRead = value; return this; }
        public Boolean isOthersCanExecute() { return othersCanExecute; }
        public FileMetadata setOthersCanExecute(Boolean value) { this.othersCanExecute = value; return this; }
        public Boolean isOthersCanWrite() { return othersCanWrite; }
        public FileMetadata setOthersCanWrite(Boolean value) { this.othersCanWrite = value; return this; }
        public HashMap<String,String> getExtensions() { return extensions; }
        public FileMetadata setExtensions(HashMap<String,String> value) { this.extensions = value; return this; }
    }

}

Java SubmitUStVa2023AsEntrepreneur DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /SubmitUStVa2023AsEntrepreneur HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	umsatzsteuervoranmeldung: 
	{
		jahr: 0,
		zeitraum: 0,
		steuernummer: String,
		kz09: 
		{
			herstellerId: 0,
			beraterName: String,
			berufsbezeichnung: String,
			beraterTelNrVorwahl: String,
			beraterTelNrAnschluss: String,
			mandantName: String
		},
		kz10: 
		{
			wert: 0
		},
		kz21: 
		{
			wert: 0
		},
		kz22: 
		{
			wert: 0
		},
		kz23: 
		{
			wert: 0
		},
		kz23_Begruendung: String,
		kz26: 
		{
			wert: 0
		},
		kz29: 
		{
			wert: 0
		},
		kz35: 
		{
			wert: 0
		},
		kz36: 
		{
			wert: 0
		},
		kz37: 
		{
			wert: 0
		},
		kz39: 
		{
			wert: 0
		},
		kz41: 
		{
			wert: 0
		},
		kz42: 
		{
			wert: 0
		},
		kz43: 
		{
			wert: 0
		},
		kz44: 
		{
			wert: 0
		},
		kz45: 
		{
			wert: 0
		},
		kz46: 
		{
			wert: 0
		},
		kz47: 
		{
			wert: 0
		},
		kz48: 
		{
			wert: 0
		},
		kz49: 
		{
			wert: 0
		},
		kz50: 
		{
			wert: 0
		},
		kz59: 
		{
			wert: 0
		},
		kz60: 
		{
			wert: 0
		},
		kz61: 
		{
			wert: 0
		},
		kz62: 
		{
			wert: 0
		},
		kz63: 
		{
			wert: 0
		},
		kz64: 
		{
			wert: 0
		},
		kz65: 
		{
			wert: 0
		},
		kz66: 
		{
			wert: 0
		},
		kz67: 
		{
			wert: 0
		},
		kz69: 
		{
			wert: 0
		},
		kz73: 
		{
			wert: 0
		},
		kz74: 
		{
			wert: 0
		},
		kz76: 
		{
			wert: 0
		},
		kz77: 
		{
			wert: 0
		},
		kz80: 
		{
			wert: 0
		},
		kz81: 
		{
			wert: 0
		},
		kz83: 
		{
			wert: 0
		},
		kz84: 
		{
			wert: 0
		},
		kz85: 
		{
			wert: 0
		},
		kz86: 
		{
			wert: 0
		},
		kz87: 
		{
			wert: 0
		},
		kz89: 
		{
			wert: 0
		},
		kz90: 
		{
			wert: 0
		},
		kz91: 
		{
			wert: 0
		},
		kz93: 
		{
			wert: 0
		},
		kz94: 
		{
			wert: 0
		},
		kz95: 
		{
			wert: 0
		},
		kz96: 
		{
			wert: 0
		},
		kz98: 
		{
			wert: 0
		}
	},
	datenLieferant: 
	{
		name: String,
		strasse: String,
		plz: String,
		ort: String,
		telefon: String,
		email: String
	},
	unternehmer: 
	{
		bezeichnung: String,
		name: String,
		vorname: String,
		namensvorsatz: String,
		namenszusatz: String,
		str: String,
		hausnummer: String,
		hNrZusatz: String,
		anschriftenZusatz: String,
		ort: String,
		plz: String,
		auslandsPLZ: String,
		land: String,
		postfachOrt: String,
		postfach: String,
		postfachPLZ: String,
		gkplz: String,
		telefon: String,
		email: String
	},
	erstellungsdatum: 0001-01-01,
	bundesfinanzamtsnummer: String,
	eop: 
	{
		transferausgabe: String
	},
	duplexDruck: False,
	protocolPrefix: String,
	fussText: String,
	zertifikat: 
	{
		id: 00000000000000000000000000000000,
		index: 0,
		pin: String,
		description: String,
		tags: 
		[
			String
		],
		name: String,
		content: AA==
	},
	abrufCode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	rueckgabe: 
	{
		erfolg: 
		{
			telenummer: 
			[
				String
			],
			ordnungsbegriffe: 
			[
				String
			]
		},
		transfers: 
		{
			transferList: 
			[
				{
					transferTicket: String
				}
			]
		},
		fehlerRegelpruefungen: 
		[
			{
				nutzdatenticket: String,
				feldidentifikator: String,
				mehrfachzeilenindex: String,
				lfdNrVordruck: String,
				vordruckZeilennummer: String,
				semantischeIndexes: 
				[
					{
						name: String,
						value: String
					}
				],
				untersachbereich: String,
				privateKennnummer: String,
				regelName: String,
				fachlicheFehlerId: String,
				text: String
			}
		],
		hinweise: 
		[
			{
				nutzdatenticket: String,
				feldidentifikator: String,
				mehrfachzeilenindex: String,
				lfdNrVordruck: String,
				vordruckZeilennummer: String,
				semantischeIndexes: 
				[
					{
						name: String,
						value: String
					}
				],
				untersachbereich: String,
				privateKennnummer: String,
				regelName: String,
				fachlicheHinweisId: String,
				text: String
			}
		]
	},
	serverantwort: 
	{
		transferHeader: 
		{
			version: String,
			verfahren: ElsterAnmeldung,
			datenArt: 34a,
			vorgang: send-Auth,
			transferTicket: String,
			testmerker: 0,
			sigUser: 
			{
				inhalt: {}
			},
			empfaenger: 
			{
				id: String,
				ziel: BW
			},
			herstellerID: String,
			datenLieferant: String,
			eingangsDatum: 0001-01-01,
			datei: 
			{
				verschluesselung: PKCS#7v1.5,
				kompression: GZIP,
				transportSchluessel: String,
				erstellung: 
				{
					eric: 
					{
						inhalt: {}
					}
				}
			},
			rc: 
			{
				rueckgabe: 
				{
					code: String,
					text: String
				},
				stack: 
				{
					code: String,
					text: String
				}
			},
			versionClient: String,
			zusatz: 
			{
				infos: 
				[
					String
				],
				elsterInfos: 
				[
					String
				]
			}
		},
		datenTeil: 
		{
			nutzdatenbloecke: 
			[
				{
					nutzdatenHeader: 
					{
						version: String,
						nutzdatenTicket: String,
						empfaenger: 
						{
							id: L,
							value: String
						},
						hersteller: 
						{
							produktName: String,
							produktVersion: String
						},
						datenLieferant: String,
						rc: 
						{
							rueckgabe: 
							{
								code: String,
								text: String
							},
							stack: 
							{
								code: String,
								text: String
							}
						},
						zusatz: 
						{
							infos: 
							[
								String
							],
							elsterInfos: 
							[
								String
							]
						}
					},
					nutzdaten: 
					{
						inhalt: {}
					}
				}
			]
		}
	},
	transferProtocols: 
	[
		{
			metadata: 
			{
				name: String,
				fullName: String,
				lastAccessTime: 0001-01-01,
				lastAccessTimeUtc: 0001-01-01,
				lastWriteTime: 0001-01-01,
				lastWriteTimeUtc: 0001-01-01,
				length: 0,
				userId: 0,
				groupId: 0,
				othersCanRead: False,
				groupCanExecute: False,
				groupCanWrite: False,
				groupCanRead: False,
				ownerCanExecute: False,
				ownerCanWrite: False,
				ownerCanRead: False,
				othersCanExecute: False,
				othersCanWrite: False,
				extensions: 
				{
					String: String
				}
			},
			name: String,
			content: AA==
		}
	],
	statusCode: ERIC_OK,
	statusText: String,
	id: String,
	index: 0,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}