Tax Filing Service

<back to all web services

SubmitUmsatzsteuererklaerung2023

SyncUmsatzsteuerJahressteuererklärung2023

A synchronous service to submit an annual VAT return for 2023.

Requires Authentication
The following routes are available for this service:
POST/SubmitUmsatzsteuererklaerung2023A synchronous service to submit an annual VAT return for 2023
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    /**
    * A synchronous service to submit an annual VAT return for 2023.
    */
    @Api(Description="A synchronous service to submit an annual VAT return for 2023.")
    public static class SubmitUmsatzsteuererklaerung2023 extends SubmitUmsatzsteuererklaerung2023Base
    {
        /**
        * Berichtigte Erklärung
        */
        @ApiMember(Description="Berichtigte Erklärung", Name="BerErkl")
        public BerErkl2023 berErkl = null;

        /**
        * A. Allgemeine Angaben.
        */
        @ApiMember(Description="A. Allgemeine Angaben.", Name="Allg")
        public Allg2023 allg = null;

        /**
        * Angaben zu den Mitwirkenden, die bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt haben.
        */
        @ApiMember(Description="Angaben zu den Mitwirkenden, die bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt haben.", Name="Mitwirk")
        public Mitwirk2023 mitwirk = null;

        /**
        * B. Angaben zur Besteuerung der Kleinunternehmer (§ 19 Absatz 1 UStG). Die Zeilen 33 und 34 sind nur auszufüllen, wenn der Umsatz $VZ-1$ (zuzüglich Steuer) nicht mehr als 22.000 € betragen hat und auf die Anwendung des § 19 Absatz 1 UStG nicht verzichtet worden ist.
        */
        @ApiMember(Description="B. Angaben zur Besteuerung der Kleinunternehmer (§ 19 Absatz 1 UStG). Die Zeilen 33 und 34 sind nur auszufüllen, wenn der Umsatz $VZ-1$ (zuzüglich Steuer) nicht mehr als 22.000 € betragen hat und auf die Anwendung des § 19 Absatz 1 UStG nicht verzichtet worden ist.", Name="Kleinuntern")
        public Kleinuntern2023 kleinuntern = null;

        /**
        * C. Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
        */
        @ApiMember(Description="C. Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.", Name="Umsaetze")
        public Umsaetze2023 umsaetze = null;

        /**
        * D. Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
        */
        @ApiMember(Description="D. Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.", Name="UmsStfrei")
        public UmsStfrei2023 umsStfrei = null;

        /**
        * E. Innergemeinschaftliche Erwerbe.
        */
        @ApiMember(Description="E. Innergemeinschaftliche Erwerbe.", Name="IgErw")
        public IgErw2023 igErw = null;

        /**
        * F. Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG).
        */
        @ApiMember(Description="F. Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG).", Name="Auslag13a")
        public Auslag13a2023 auslag13a = null;

        /**
        * G. Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG).
        */
        @ApiMember(Description="G. Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG).", Name="IgDrei")
        public IgDrei2023 igDrei = null;

        /**
        * H. Leistungsempfänger als Steuerschuldner (§ 13b UStG).
        */
        @ApiMember(Description="H. Leistungsempfänger als Steuerschuldner (§ 13b UStG).", Name="Ums13b")
        public Ums13b2023 ums13b = null;

        /**
        * I. Ergänzende Angaben zu Umsätzen.
        */
        @ApiMember(Description="I. Ergänzende Angaben zu Umsätzen.", Name="ErgAngUms")
        public ErgAngUms2023 ergAngUms = null;

        /**
        * J. Abziehbare Vorsteuerbeträge
        */
        @ApiMember(Description="J. Abziehbare Vorsteuerbeträge", Name="AbzVoSt")
        public AbzVoSt2023 abzVoSt = null;

        /**
        * K. Berichtigung des Vorsteuerabzugs (§ 15a UStG)
        */
        @ApiMember(Description="K. Berichtigung des Vorsteuerabzugs (§ 15a UStG)", Name="BerVoSt15a")
        public BerVoSt15a2023 berVoSt15a = null;

        /**
        * L. Berechnung der zu entrichtenden Umsatzsteuer
        */
        @ApiMember(Description="L. Berechnung der zu entrichtenden Umsatzsteuer", Name="BerechUSt")
        public BerechUSt2023 berechUSt = null;

        /**
        * Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer
        */
        @ApiMember(Description="Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer", Name="Un")
        public UN2023 un = null;

        /**
        * Anlage FV zur Umsatzsteuererklärung
        */
        @ApiMember(Description="Anlage FV zur Umsatzsteuererklärung", Name="Fv")
        public FV2023 fv = null;

        /**
        * Der Vorgang bei einer Veranlagung.
        */
        @ApiMember(Description="Der Vorgang bei einer Veranlagung.")
        public VeranlagungVorgangTyp vorgang = null;

        /**
        * Die Steuernummer. Bundeseinheitliche 13-stellige Steuernummer im ELSTER-Steuernummernformat
        */
        @ApiMember(Description="Die Steuernummer. Bundeseinheitliche 13-stellige Steuernummer im ELSTER-Steuernummernformat")
        public StringTyp stNr = null;

        /**
        * Ordnungsbegriff
        */
        @ApiMember(Description="Ordnungsbegriff")
        public StringTyp ordnungsbegriff = null;

        /**
        * Identifikationsnummer steuerpflichtige Person / Ehemann / Person A
        */
        @ApiMember(Description="Identifikationsnummer steuerpflichtige Person / Ehemann / Person A")
        public StringTyp id = null;

        /**
        * Identifikationsnummer Ehefrau / Person B
        */
        @ApiMember(Description="Identifikationsnummer Ehefrau / Person B")
        public StringTyp idEhefrau = null;

        /**
        * Name, alphanumerisch, max. 45-stellig.
        */
        @ApiMember(Description="Name, alphanumerisch, max. 45-stellig.")
        public StringTyp absName = null;

        /**
        * Straße und Hausnummer, alphanumerisch, max. 30-stellig.
        */
        @ApiMember(Description="Straße und Hausnummer, alphanumerisch, max. 30-stellig.")
        public StringTyp absStr = null;

        /**
        * Postleitzahl des Absenders der Erklärung, numerisch, 5-stellig.
        */
        @ApiMember(Description="Postleitzahl des Absenders der Erklärung, numerisch, 5-stellig.")
        public StringTyp absPlz = null;

        /**
        * Ort, alphanumerisch, max. 29-stellig.
        */
        @ApiMember(Description="Ort, alphanumerisch, max. 29-stellig.")
        public StringTyp absOrt = null;

        /**
        * Copyrightmeldung des SW-Herstellers, alphanumerisch, max.50-stellig
        */
        @ApiMember(Description="Copyrightmeldung des SW-Herstellers, alphanumerisch, max.50-stellig")
        public StringTyp copyright = null;

        /**
        * TeleNummer (für finanzamtsinterne Zwecke; keine Eingabe durch Anwender)
        */
        @ApiMember(Description="TeleNummer (für finanzamtsinterne Zwecke; keine Eingabe durch Anwender)")
        public StringTyp teleNummer = null;

        /**
        * Die Art des ermittelten Ordnungsbegriffs zu füllen.
        */
        @ApiMember(Description="Die Art des ermittelten Ordnungsbegriffs zu füllen.")
        public OrdNrArtTyp ordNrArt = null;

        /**
        * Die zur Abholung notwendigen Informationen werden hier angegeben.
        */
        @ApiMember(Description="Die zur Abholung notwendigen Informationen werden hier angegeben.")
        public E50Rueckuebermittlung rueckuebermittlung = null;

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

        /**
        * The details of the provider that submits the tax data.
        */
        @ApiMember(Description="The details of the provider that submits the tax data.", IsRequired=true, Name="DatenLieferant")
        public String datenLieferant = 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;
        
        public BerErkl2023 getBerErkl() { return berErkl; }
        public SubmitUmsatzsteuererklaerung2023 setBerErkl(BerErkl2023 value) { this.berErkl = value; return this; }
        public Allg2023 getAllg() { return allg; }
        public SubmitUmsatzsteuererklaerung2023 setAllg(Allg2023 value) { this.allg = value; return this; }
        public Mitwirk2023 getMitwirk() { return mitwirk; }
        public SubmitUmsatzsteuererklaerung2023 setMitwirk(Mitwirk2023 value) { this.mitwirk = value; return this; }
        public Kleinuntern2023 getKleinuntern() { return kleinuntern; }
        public SubmitUmsatzsteuererklaerung2023 setKleinuntern(Kleinuntern2023 value) { this.kleinuntern = value; return this; }
        public Umsaetze2023 getUmsaetze() { return umsaetze; }
        public SubmitUmsatzsteuererklaerung2023 setUmsaetze(Umsaetze2023 value) { this.umsaetze = value; return this; }
        public UmsStfrei2023 getUmsStfrei() { return umsStfrei; }
        public SubmitUmsatzsteuererklaerung2023 setUmsStfrei(UmsStfrei2023 value) { this.umsStfrei = value; return this; }
        public IgErw2023 getIgErw() { return igErw; }
        public SubmitUmsatzsteuererklaerung2023 setIgErw(IgErw2023 value) { this.igErw = value; return this; }
        public Auslag13a2023 getAuslag13a() { return auslag13a; }
        public SubmitUmsatzsteuererklaerung2023 setAuslag13a(Auslag13a2023 value) { this.auslag13a = value; return this; }
        public IgDrei2023 getIgDrei() { return igDrei; }
        public SubmitUmsatzsteuererklaerung2023 setIgDrei(IgDrei2023 value) { this.igDrei = value; return this; }
        public Ums13b2023 getUms13b() { return ums13b; }
        public SubmitUmsatzsteuererklaerung2023 setUms13b(Ums13b2023 value) { this.ums13b = value; return this; }
        public ErgAngUms2023 getErgAngUms() { return ergAngUms; }
        public SubmitUmsatzsteuererklaerung2023 setErgAngUms(ErgAngUms2023 value) { this.ergAngUms = value; return this; }
        public AbzVoSt2023 getAbzVoSt() { return abzVoSt; }
        public SubmitUmsatzsteuererklaerung2023 setAbzVoSt(AbzVoSt2023 value) { this.abzVoSt = value; return this; }
        public BerVoSt15a2023 getBerVoSt15a() { return berVoSt15a; }
        public SubmitUmsatzsteuererklaerung2023 setBerVoSt15a(BerVoSt15a2023 value) { this.berVoSt15a = value; return this; }
        public BerechUSt2023 getBerechUSt() { return berechUSt; }
        public SubmitUmsatzsteuererklaerung2023 setBerechUSt(BerechUSt2023 value) { this.berechUSt = value; return this; }
        public UN2023 getUn() { return un; }
        public SubmitUmsatzsteuererklaerung2023 setUn(UN2023 value) { this.un = value; return this; }
        public FV2023 getFv() { return fv; }
        public SubmitUmsatzsteuererklaerung2023 setFv(FV2023 value) { this.fv = value; return this; }
        public VeranlagungVorgangTyp getVorgang() { return vorgang; }
        public SubmitUmsatzsteuererklaerung2023 setVorgang(VeranlagungVorgangTyp value) { this.vorgang = value; return this; }
        public StringTyp getStNr() { return stNr; }
        public SubmitUmsatzsteuererklaerung2023 setStNr(StringTyp value) { this.stNr = value; return this; }
        public StringTyp getOrdnungsbegriff() { return ordnungsbegriff; }
        public SubmitUmsatzsteuererklaerung2023 setOrdnungsbegriff(StringTyp value) { this.ordnungsbegriff = value; return this; }
        public StringTyp getId() { return id; }
        public SubmitUmsatzsteuererklaerung2023 setId(StringTyp value) { this.id = value; return this; }
        public StringTyp getIdEhefrau() { return idEhefrau; }
        public SubmitUmsatzsteuererklaerung2023 setIdEhefrau(StringTyp value) { this.idEhefrau = value; return this; }
        public StringTyp getAbsName() { return absName; }
        public SubmitUmsatzsteuererklaerung2023 setAbsName(StringTyp value) { this.absName = value; return this; }
        public StringTyp getAbsStr() { return absStr; }
        public SubmitUmsatzsteuererklaerung2023 setAbsStr(StringTyp value) { this.absStr = value; return this; }
        public StringTyp getAbsPlz() { return absPlz; }
        public SubmitUmsatzsteuererklaerung2023 setAbsPlz(StringTyp value) { this.absPlz = value; return this; }
        public StringTyp getAbsOrt() { return absOrt; }
        public SubmitUmsatzsteuererklaerung2023 setAbsOrt(StringTyp value) { this.absOrt = value; return this; }
        public StringTyp getCopyright() { return copyright; }
        public SubmitUmsatzsteuererklaerung2023 setCopyright(StringTyp value) { this.copyright = value; return this; }
        public StringTyp getTeleNummer() { return teleNummer; }
        public SubmitUmsatzsteuererklaerung2023 setTeleNummer(StringTyp value) { this.teleNummer = value; return this; }
        public OrdNrArtTyp getOrdNrArt() { return ordNrArt; }
        public SubmitUmsatzsteuererklaerung2023 setOrdNrArt(OrdNrArtTyp value) { this.ordNrArt = value; return this; }
        public E50Rueckuebermittlung getRueckuebermittlung() { return rueckuebermittlung; }
        public SubmitUmsatzsteuererklaerung2023 setRueckuebermittlung(E50Rueckuebermittlung value) { this.rueckuebermittlung = value; return this; }
        public String getBundesfinanzamtsnummer() { return bundesfinanzamtsnummer; }
        public SubmitUmsatzsteuererklaerung2023 setBundesfinanzamtsnummer(String value) { this.bundesfinanzamtsnummer = value; return this; }
        public String getDatenLieferant() { return datenLieferant; }
        public SubmitUmsatzsteuererklaerung2023 setDatenLieferant(String value) { this.datenLieferant = value; return this; }
        public Boolean isDuplexDruck() { return duplexDruck; }
        public SubmitUmsatzsteuererklaerung2023 setDuplexDruck(Boolean value) { this.duplexDruck = value; return this; }
        public String getProtocolPrefix() { return protocolPrefix; }
        public SubmitUmsatzsteuererklaerung2023 setProtocolPrefix(String value) { this.protocolPrefix = value; return this; }
        public String getFussText() { return fussText; }
        public SubmitUmsatzsteuererklaerung2023 setFussText(String value) { this.fussText = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public SubmitUmsatzsteuererklaerung2023 setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
    }

    /**
    * Submits an annual VAT return (Umsatzsteuerjahresserklärung) for 2023.
    */
    @Api(Description="Submits an annual VAT return (Umsatzsteuerjahresserklärung) for 2023.")
    public static class SubmitUmsatzsteuererklaerung2023Base implements IPost, IDruckRequest, IVeschlueselungsRequest
    {
        /**
        * Berichtigte Erklärung
        */
        @ApiMember(Description="Berichtigte Erklärung", Name="BerErkl")
        public BerErkl2023 berErkl = null;

        /**
        * A. Allgemeine Angaben.
        */
        @ApiMember(Description="A. Allgemeine Angaben.", Name="Allg")
        public Allg2023 allg = null;

        /**
        * Angaben zu den Mitwirkenden, die bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt haben.
        */
        @ApiMember(Description="Angaben zu den Mitwirkenden, die bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt haben.", Name="Mitwirk")
        public Mitwirk2023 mitwirk = null;

        /**
        * B. Angaben zur Besteuerung der Kleinunternehmer (§ 19 Absatz 1 UStG). Die Zeilen 33 und 34 sind nur auszufüllen, wenn der Umsatz $VZ-1$ (zuzüglich Steuer) nicht mehr als 22.000 € betragen hat und auf die Anwendung des § 19 Absatz 1 UStG nicht verzichtet worden ist.
        */
        @ApiMember(Description="B. Angaben zur Besteuerung der Kleinunternehmer (§ 19 Absatz 1 UStG). Die Zeilen 33 und 34 sind nur auszufüllen, wenn der Umsatz $VZ-1$ (zuzüglich Steuer) nicht mehr als 22.000 € betragen hat und auf die Anwendung des § 19 Absatz 1 UStG nicht verzichtet worden ist.", Name="Kleinuntern")
        public Kleinuntern2023 kleinuntern = null;

        /**
        * C. Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
        */
        @ApiMember(Description="C. Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.", Name="Umsaetze")
        public Umsaetze2023 umsaetze = null;

        /**
        * D. Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
        */
        @ApiMember(Description="D. Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.", Name="UmsStfrei")
        public UmsStfrei2023 umsStfrei = null;

        /**
        * E. Innergemeinschaftliche Erwerbe.
        */
        @ApiMember(Description="E. Innergemeinschaftliche Erwerbe.", Name="IgErw")
        public IgErw2023 igErw = null;

        /**
        * F. Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG).
        */
        @ApiMember(Description="F. Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG).", Name="Auslag13a")
        public Auslag13a2023 auslag13a = null;

        /**
        * G. Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG).
        */
        @ApiMember(Description="G. Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG).", Name="IgDrei")
        public IgDrei2023 igDrei = null;

        /**
        * H. Leistungsempfänger als Steuerschuldner (§ 13b UStG).
        */
        @ApiMember(Description="H. Leistungsempfänger als Steuerschuldner (§ 13b UStG).", Name="Ums13b")
        public Ums13b2023 ums13b = null;

        /**
        * I. Ergänzende Angaben zu Umsätzen.
        */
        @ApiMember(Description="I. Ergänzende Angaben zu Umsätzen.", Name="ErgAngUms")
        public ErgAngUms2023 ergAngUms = null;

        /**
        * J. Abziehbare Vorsteuerbeträge
        */
        @ApiMember(Description="J. Abziehbare Vorsteuerbeträge", Name="AbzVoSt")
        public AbzVoSt2023 abzVoSt = null;

        /**
        * K. Berichtigung des Vorsteuerabzugs (§ 15a UStG)
        */
        @ApiMember(Description="K. Berichtigung des Vorsteuerabzugs (§ 15a UStG)", Name="BerVoSt15a")
        public BerVoSt15a2023 berVoSt15a = null;

        /**
        * L. Berechnung der zu entrichtenden Umsatzsteuer
        */
        @ApiMember(Description="L. Berechnung der zu entrichtenden Umsatzsteuer", Name="BerechUSt")
        public BerechUSt2023 berechUSt = null;

        /**
        * Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer
        */
        @ApiMember(Description="Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer", Name="Un")
        public UN2023 un = null;

        /**
        * Anlage FV zur Umsatzsteuererklärung
        */
        @ApiMember(Description="Anlage FV zur Umsatzsteuererklärung", Name="Fv")
        public FV2023 fv = null;

        /**
        * Der Vorgang bei einer Veranlagung.
        */
        @ApiMember(Description="Der Vorgang bei einer Veranlagung.")
        public VeranlagungVorgangTyp vorgang = null;

        /**
        * Die Steuernummer. Bundeseinheitliche 13-stellige Steuernummer im ELSTER-Steuernummernformat
        */
        @ApiMember(Description="Die Steuernummer. Bundeseinheitliche 13-stellige Steuernummer im ELSTER-Steuernummernformat")
        public StringTyp stNr = null;

        /**
        * Ordnungsbegriff
        */
        @ApiMember(Description="Ordnungsbegriff")
        public StringTyp ordnungsbegriff = null;

        /**
        * Identifikationsnummer steuerpflichtige Person / Ehemann / Person A
        */
        @ApiMember(Description="Identifikationsnummer steuerpflichtige Person / Ehemann / Person A")
        public StringTyp id = null;

        /**
        * Identifikationsnummer Ehefrau / Person B
        */
        @ApiMember(Description="Identifikationsnummer Ehefrau / Person B")
        public StringTyp idEhefrau = null;

        /**
        * Name, alphanumerisch, max. 45-stellig.
        */
        @ApiMember(Description="Name, alphanumerisch, max. 45-stellig.")
        public StringTyp absName = null;

        /**
        * Straße und Hausnummer, alphanumerisch, max. 30-stellig.
        */
        @ApiMember(Description="Straße und Hausnummer, alphanumerisch, max. 30-stellig.")
        public StringTyp absStr = null;

        /**
        * Postleitzahl des Absenders der Erklärung, numerisch, 5-stellig.
        */
        @ApiMember(Description="Postleitzahl des Absenders der Erklärung, numerisch, 5-stellig.")
        public StringTyp absPlz = null;

        /**
        * Ort, alphanumerisch, max. 29-stellig.
        */
        @ApiMember(Description="Ort, alphanumerisch, max. 29-stellig.")
        public StringTyp absOrt = null;

        /**
        * Copyrightmeldung des SW-Herstellers, alphanumerisch, max.50-stellig
        */
        @ApiMember(Description="Copyrightmeldung des SW-Herstellers, alphanumerisch, max.50-stellig")
        public StringTyp copyright = null;

        /**
        * TeleNummer (für finanzamtsinterne Zwecke; keine Eingabe durch Anwender)
        */
        @ApiMember(Description="TeleNummer (für finanzamtsinterne Zwecke; keine Eingabe durch Anwender)")
        public StringTyp teleNummer = null;

        /**
        * Die Art des ermittelten Ordnungsbegriffs zu füllen.
        */
        @ApiMember(Description="Die Art des ermittelten Ordnungsbegriffs zu füllen.")
        public OrdNrArtTyp ordNrArt = null;

        /**
        * Die zur Abholung notwendigen Informationen werden hier angegeben.
        */
        @ApiMember(Description="Die zur Abholung notwendigen Informationen werden hier angegeben.")
        public E50Rueckuebermittlung rueckuebermittlung = null;

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

        /**
        * The details of the provider that submits the tax data.
        */
        @ApiMember(Description="The details of the provider that submits the tax data.", IsRequired=true, Name="DatenLieferant")
        public String datenLieferant = 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;
        
        public BerErkl2023 getBerErkl() { return berErkl; }
        public SubmitUmsatzsteuererklaerung2023Base setBerErkl(BerErkl2023 value) { this.berErkl = value; return this; }
        public Allg2023 getAllg() { return allg; }
        public SubmitUmsatzsteuererklaerung2023Base setAllg(Allg2023 value) { this.allg = value; return this; }
        public Mitwirk2023 getMitwirk() { return mitwirk; }
        public SubmitUmsatzsteuererklaerung2023Base setMitwirk(Mitwirk2023 value) { this.mitwirk = value; return this; }
        public Kleinuntern2023 getKleinuntern() { return kleinuntern; }
        public SubmitUmsatzsteuererklaerung2023Base setKleinuntern(Kleinuntern2023 value) { this.kleinuntern = value; return this; }
        public Umsaetze2023 getUmsaetze() { return umsaetze; }
        public SubmitUmsatzsteuererklaerung2023Base setUmsaetze(Umsaetze2023 value) { this.umsaetze = value; return this; }
        public UmsStfrei2023 getUmsStfrei() { return umsStfrei; }
        public SubmitUmsatzsteuererklaerung2023Base setUmsStfrei(UmsStfrei2023 value) { this.umsStfrei = value; return this; }
        public IgErw2023 getIgErw() { return igErw; }
        public SubmitUmsatzsteuererklaerung2023Base setIgErw(IgErw2023 value) { this.igErw = value; return this; }
        public Auslag13a2023 getAuslag13a() { return auslag13a; }
        public SubmitUmsatzsteuererklaerung2023Base setAuslag13a(Auslag13a2023 value) { this.auslag13a = value; return this; }
        public IgDrei2023 getIgDrei() { return igDrei; }
        public SubmitUmsatzsteuererklaerung2023Base setIgDrei(IgDrei2023 value) { this.igDrei = value; return this; }
        public Ums13b2023 getUms13b() { return ums13b; }
        public SubmitUmsatzsteuererklaerung2023Base setUms13b(Ums13b2023 value) { this.ums13b = value; return this; }
        public ErgAngUms2023 getErgAngUms() { return ergAngUms; }
        public SubmitUmsatzsteuererklaerung2023Base setErgAngUms(ErgAngUms2023 value) { this.ergAngUms = value; return this; }
        public AbzVoSt2023 getAbzVoSt() { return abzVoSt; }
        public SubmitUmsatzsteuererklaerung2023Base setAbzVoSt(AbzVoSt2023 value) { this.abzVoSt = value; return this; }
        public BerVoSt15a2023 getBerVoSt15a() { return berVoSt15a; }
        public SubmitUmsatzsteuererklaerung2023Base setBerVoSt15a(BerVoSt15a2023 value) { this.berVoSt15a = value; return this; }
        public BerechUSt2023 getBerechUSt() { return berechUSt; }
        public SubmitUmsatzsteuererklaerung2023Base setBerechUSt(BerechUSt2023 value) { this.berechUSt = value; return this; }
        public UN2023 getUn() { return un; }
        public SubmitUmsatzsteuererklaerung2023Base setUn(UN2023 value) { this.un = value; return this; }
        public FV2023 getFv() { return fv; }
        public SubmitUmsatzsteuererklaerung2023Base setFv(FV2023 value) { this.fv = value; return this; }
        public VeranlagungVorgangTyp getVorgang() { return vorgang; }
        public SubmitUmsatzsteuererklaerung2023Base setVorgang(VeranlagungVorgangTyp value) { this.vorgang = value; return this; }
        public StringTyp getStNr() { return stNr; }
        public SubmitUmsatzsteuererklaerung2023Base setStNr(StringTyp value) { this.stNr = value; return this; }
        public StringTyp getOrdnungsbegriff() { return ordnungsbegriff; }
        public SubmitUmsatzsteuererklaerung2023Base setOrdnungsbegriff(StringTyp value) { this.ordnungsbegriff = value; return this; }
        public StringTyp getId() { return id; }
        public SubmitUmsatzsteuererklaerung2023Base setId(StringTyp value) { this.id = value; return this; }
        public StringTyp getIdEhefrau() { return idEhefrau; }
        public SubmitUmsatzsteuererklaerung2023Base setIdEhefrau(StringTyp value) { this.idEhefrau = value; return this; }
        public StringTyp getAbsName() { return absName; }
        public SubmitUmsatzsteuererklaerung2023Base setAbsName(StringTyp value) { this.absName = value; return this; }
        public StringTyp getAbsStr() { return absStr; }
        public SubmitUmsatzsteuererklaerung2023Base setAbsStr(StringTyp value) { this.absStr = value; return this; }
        public StringTyp getAbsPlz() { return absPlz; }
        public SubmitUmsatzsteuererklaerung2023Base setAbsPlz(StringTyp value) { this.absPlz = value; return this; }
        public StringTyp getAbsOrt() { return absOrt; }
        public SubmitUmsatzsteuererklaerung2023Base setAbsOrt(StringTyp value) { this.absOrt = value; return this; }
        public StringTyp getCopyright() { return copyright; }
        public SubmitUmsatzsteuererklaerung2023Base setCopyright(StringTyp value) { this.copyright = value; return this; }
        public StringTyp getTeleNummer() { return teleNummer; }
        public SubmitUmsatzsteuererklaerung2023Base setTeleNummer(StringTyp value) { this.teleNummer = value; return this; }
        public OrdNrArtTyp getOrdNrArt() { return ordNrArt; }
        public SubmitUmsatzsteuererklaerung2023Base setOrdNrArt(OrdNrArtTyp value) { this.ordNrArt = value; return this; }
        public E50Rueckuebermittlung getRueckuebermittlung() { return rueckuebermittlung; }
        public SubmitUmsatzsteuererklaerung2023Base setRueckuebermittlung(E50Rueckuebermittlung value) { this.rueckuebermittlung = value; return this; }
        public String getBundesfinanzamtsnummer() { return bundesfinanzamtsnummer; }
        public SubmitUmsatzsteuererklaerung2023Base setBundesfinanzamtsnummer(String value) { this.bundesfinanzamtsnummer = value; return this; }
        public String getDatenLieferant() { return datenLieferant; }
        public SubmitUmsatzsteuererklaerung2023Base setDatenLieferant(String value) { this.datenLieferant = value; return this; }
        public Boolean isDuplexDruck() { return duplexDruck; }
        public SubmitUmsatzsteuererklaerung2023Base setDuplexDruck(Boolean value) { this.duplexDruck = value; return this; }
        public String getProtocolPrefix() { return protocolPrefix; }
        public SubmitUmsatzsteuererklaerung2023Base setProtocolPrefix(String value) { this.protocolPrefix = value; return this; }
        public String getFussText() { return fussText; }
        public SubmitUmsatzsteuererklaerung2023Base setFussText(String value) { this.fussText = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public SubmitUmsatzsteuererklaerung2023Base setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
    }

    /**
    * Berichtigte Erklärung
    */
    @Api(Description="Berichtigte Erklärung")
    public static class BerErkl2023
    {
        /**
        * Berichtigte Steuererklärung
        */
        @ApiMember(Description="Berichtigte Steuererklärung", Name="E3000601")
        public Bool1Typ e3000601 = null;
        
        public Bool1Typ isE3000601() { return e3000601; }
        public BerErkl2023 setE3000601(Bool1Typ value) { this.e3000601 = value; return this; }
    }

    /**
    * Boolescher Datentyp, welcher als '1' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.
    */
    @Api(Description="Boolescher Datentyp, welcher als '1' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.")
    public static class Bool1Typ extends CustomTypBase
    {
        /**
        * Wenn der Wert true ist, '1' wird im Jahressteuererklärung angeschrieben; ansonsten ein Leerstring.
        */
        @ApiMember(Description="Wenn der Wert true ist, '1' wird im Jahressteuererklärung angeschrieben; ansonsten ein Leerstring.", IsRequired=true, Name="Wert")
        public Boolean wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public Boolean isWert() { return wert; }
        public Bool1Typ setWert(Boolean value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public Bool1Typ setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Basisklasse für einen benutzerdefinierten Datentyp
    */
    @Api(Description="Basisklasse für einen benutzerdefinierten Datentyp")
    public static class CustomTypBase implements ICustomTyp
    {
        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public String getAlias() { return alias; }
        public CustomTypBase setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Allgemeine Angaben
    */
    @Api(Description="Allgemeine Angaben")
    public static class Allg2023
    {
        /**
        * Angaben zum Unternehmen
        */
        @ApiMember(Description="Angaben zum Unternehmen", IsRequired=true, Name="Unternehmen")
        @Validate(Validator="NotNull")
        public Unternehmen2023 unternehmen = null;

        /**
        * Im Ausland ansässiger Unternehmer?
        */
        @ApiMember(Description="Im Ausland ansässiger Unternehmer?", Name="ImAuslAnsUnt")
        public ImAuslAnsUnt2023 imAuslAnsUnt = null;

        /**
        * Fiskalvertreter?
        */
        @ApiMember(Description="Fiskalvertreter?", Name="Fiskalvetr")
        public Fiskalvertr2023 fiskalvetr = null;

        /**
        * Dauer der Unternehmereigenschaft (falls nicht vom 1. Januar bis zum 31. Dezember 2023)
        */
        @ApiMember(Description="Dauer der Unternehmereigenschaft (falls nicht vom 1. Januar bis zum 31. Dezember 2023)", Name="DauerUntEig")
        public DauerUntEig2023 dauerUntEig = null;

        /**
        * Besteuerungen der Entgelte
        */
        @ApiMember(Description="Besteuerungen der Entgelte", Name="BestArt")
        public BestArt2023 bestArt = null;

        /**
        * Verrechnungen / Abtretungen
        */
        @ApiMember(Description="Verrechnungen / Abtretungen", Name="Verrech")
        public Verrech2023 verrech = null;

        /**
        * Ergänzende Angaben zur Steuererklärung
        */
        @ApiMember(Description="Ergänzende Angaben zur Steuererklärung", Name="ErgAngErkl")
        public ErgAngErkl2023 ergAngErkl = null;
        
        public Unternehmen2023 getUnternehmen() { return unternehmen; }
        public Allg2023 setUnternehmen(Unternehmen2023 value) { this.unternehmen = value; return this; }
        public ImAuslAnsUnt2023 getImAuslAnsUnt() { return imAuslAnsUnt; }
        public Allg2023 setImAuslAnsUnt(ImAuslAnsUnt2023 value) { this.imAuslAnsUnt = value; return this; }
        public Fiskalvertr2023 getFiskalvetr() { return fiskalvetr; }
        public Allg2023 setFiskalvetr(Fiskalvertr2023 value) { this.fiskalvetr = value; return this; }
        public DauerUntEig2023 getDauerUntEig() { return dauerUntEig; }
        public Allg2023 setDauerUntEig(DauerUntEig2023 value) { this.dauerUntEig = value; return this; }
        public BestArt2023 getBestArt() { return bestArt; }
        public Allg2023 setBestArt(BestArt2023 value) { this.bestArt = value; return this; }
        public Verrech2023 getVerrech() { return verrech; }
        public Allg2023 setVerrech(Verrech2023 value) { this.verrech = value; return this; }
        public ErgAngErkl2023 getErgAngErkl() { return ergAngErkl; }
        public Allg2023 setErgAngErkl(ErgAngErkl2023 value) { this.ergAngErkl = value; return this; }
    }

    /**
    * Angaben zum Unternehmen
    */
    @Api(Description="Angaben zum Unternehmen")
    public static class Unternehmen2023
    {
        /**
        * Name des Unternehmers
        */
        @ApiMember(Description="Name des Unternehmers", IsRequired=true, Name="E3000901")
        public StringTyp e3000901 = null;

        /**
        * ggf. abweichender Firmenname
        */
        @ApiMember(Description="ggf. abweichender Firmenname", Name="E3000902")
        public StringTyp e3000902 = null;

        /**
        * Art des Unternehmens
        */
        @ApiMember(Description="Art des Unternehmens", Name="E3001001")
        public StringTyp e3001001 = null;

        /**
        * Adresse oder Postfach
        */
        @ApiMember(Description="Adresse oder Postfach", Name="Adr")
        public UnternehmenAdr2023 adr = null;

        /**
        * Kontakt
        */
        @ApiMember(Description="Kontakt", Name="Kontakt")
        public UnternehmenKontakt2023 kontakt = null;
        
        public StringTyp getE3000901() { return e3000901; }
        public Unternehmen2023 setE3000901(StringTyp value) { this.e3000901 = value; return this; }
        public StringTyp getE3000902() { return e3000902; }
        public Unternehmen2023 setE3000902(StringTyp value) { this.e3000902 = value; return this; }
        public StringTyp getE3001001() { return e3001001; }
        public Unternehmen2023 setE3001001(StringTyp value) { this.e3001001 = value; return this; }
        public UnternehmenAdr2023 getAdr() { return adr; }
        public Unternehmen2023 setAdr(UnternehmenAdr2023 value) { this.adr = value; return this; }
        public UnternehmenKontakt2023 getKontakt() { return kontakt; }
        public Unternehmen2023 setKontakt(UnternehmenKontakt2023 value) { this.kontakt = value; return this; }
    }

    /**
    * Zeichenkettenfeld.
    */
    @Api(Description="Zeichenkettenfeld.")
    public static class StringTyp extends CustomTypBase
    {
        /**
        * Der Wert des Datentyps.  1 bis 999 Zeichen, alphanumerisch
        */
        @ApiMember(Description="Der Wert des Datentyps. \n 1 bis 999 Zeichen, alphanumerisch", IsRequired=true, Name="Wert")
        public String wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public String getWert() { return wert; }
        public StringTyp setWert(String value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public StringTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Adresse oder Postfach eines Unternehmens
    */
    @Api(Description="Adresse oder Postfach eines Unternehmens")
    public static class UnternehmenAdr2023
    {
        /**
        * Straße
        */
        @ApiMember(Description="Straße", IsRequired=true, Name="E3001101")
        @Validate(Validator="NotNull")
        public StringTyp e3001101 = null;

        /**
        * Hausnummer
        */
        @ApiMember(Description="Hausnummer", IsRequired=true, Name="E3001203")
        @Validate(Validator="NotNull")
        public StringTyp e3001203 = null;

        /**
        * Hausnummerzusatz
        */
        @ApiMember(Description="Hausnummerzusatz", Name="E3001204")
        public StringTyp e3001204 = null;

        /**
        * Adressergänzung
        */
        @ApiMember(Description="Adressergänzung", Name="E3001205")
        public StringTyp e3001205 = null;

        /**
        * Postleitzahl
        */
        @ApiMember(Description="Postleitzahl", Name="E3001206")
        public StringTyp e3001206 = null;

        /**
        * Ort
        */
        @ApiMember(Description="Ort", Name="E3001207")
        public StringTyp e3001207 = null;

        /**
        * Postleitzahl zu Postfach
        */
        @ApiMember(Description="Postleitzahl zu Postfach", Name="E3001403")
        public StringTyp e3001403 = null;

        /**
        * Postfach
        */
        @ApiMember(Description="Postfach", Name="E3001404")
        public StringTyp e3001404 = null;
        
        public StringTyp getE3001101() { return e3001101; }
        public UnternehmenAdr2023 setE3001101(StringTyp value) { this.e3001101 = value; return this; }
        public StringTyp getE3001203() { return e3001203; }
        public UnternehmenAdr2023 setE3001203(StringTyp value) { this.e3001203 = value; return this; }
        public StringTyp getE3001204() { return e3001204; }
        public UnternehmenAdr2023 setE3001204(StringTyp value) { this.e3001204 = value; return this; }
        public StringTyp getE3001205() { return e3001205; }
        public UnternehmenAdr2023 setE3001205(StringTyp value) { this.e3001205 = value; return this; }
        public StringTyp getE3001206() { return e3001206; }
        public UnternehmenAdr2023 setE3001206(StringTyp value) { this.e3001206 = value; return this; }
        public StringTyp getE3001207() { return e3001207; }
        public UnternehmenAdr2023 setE3001207(StringTyp value) { this.e3001207 = value; return this; }
        public StringTyp getE3001403() { return e3001403; }
        public UnternehmenAdr2023 setE3001403(StringTyp value) { this.e3001403 = value; return this; }
        public StringTyp getE3001404() { return e3001404; }
        public UnternehmenAdr2023 setE3001404(StringTyp value) { this.e3001404 = value; return this; }
    }

    /**
    * Kontakt eines Unternehmens
    */
    @Api(Description="Kontakt eines Unternehmens")
    public static class UnternehmenKontakt2023
    {
        /**
        * Telefon
        */
        @ApiMember(Description="Telefon", Name="E3001202")
        public StringTyp e3001202 = null;

        /**
        * E-Mail Adresse
        */
        @ApiMember(Description="E-Mail Adresse", Name="E3001301")
        public StringTyp e3001301 = null;
        
        public StringTyp getE3001202() { return e3001202; }
        public UnternehmenKontakt2023 setE3001202(StringTyp value) { this.e3001202 = value; return this; }
        public StringTyp getE3001301() { return e3001301; }
        public UnternehmenKontakt2023 setE3001301(StringTyp value) { this.e3001301 = value; return this; }
    }

    /**
    * Im Ausland ansässiger Unternehmer
    */
    @Api(Description="Im Ausland ansässiger Unternehmer")
    public static class ImAuslAnsUnt2023
    {
        /**
        * Im Ausland ansässiger Unternehmer. Bitte tätigen Sie in diesem Fall auch Angaben auf der Anlage UN.
        */
        @ApiMember(Description="Im Ausland ansässiger Unternehmer. Bitte tätigen Sie in diesem Fall auch Angaben auf der Anlage UN.", Name="E3001402")
        public Bool1Typ e3001402 = null;
        
        public Bool1Typ isE3001402() { return e3001402; }
        public ImAuslAnsUnt2023 setE3001402(Bool1Typ value) { this.e3001402 = value; return this; }
    }

    /**
    * Fiskalvertreter
    */
    @Api(Description="Fiskalvertreter")
    public static class Fiskalvertr2023
    {
        /**
        * Fiskalvertreter. Bitte tätigen Sie in diesem Fall auch Angaben auf der Anlage FV.
        */
        @ApiMember(Description="Fiskalvertreter. Bitte tätigen Sie in diesem Fall auch Angaben auf der Anlage FV.", Name="E3001801")
        public Bool1Typ e3001801 = null;
        
        public Bool1Typ isE3001801() { return e3001801; }
        public Fiskalvertr2023 setE3001801(Bool1Typ value) { this.e3001801 = value; return this; }
    }

    /**
    * Dauer der Unternehmereigenschaft
    */
    @Api(Description="Dauer der Unternehmereigenschaft")
    public static class DauerUntEig2023
    {
        /**
        * 1. Zeitraum
        */
        @ApiMember(Description="1. Zeitraum", Name="E3001401")
        public ZeitraumTyp e3001401 = null;

        /**
        * 2. Zeitraum
        */
        @ApiMember(Description="2. Zeitraum", Name="E3001501")
        public ZeitraumTyp e3001501 = null;
        
        public ZeitraumTyp getE3001401() { return e3001401; }
        public DauerUntEig2023 setE3001401(ZeitraumTyp value) { this.e3001401 = value; return this; }
        public ZeitraumTyp getE3001501() { return e3001501; }
        public DauerUntEig2023 setE3001501(ZeitraumTyp value) { this.e3001501 = value; return this; }
    }

    /**
    * Datum-Uhrzeit-Typ. Format: TT.MM - TT. MM
    */
    @Api(Description="Datum-Uhrzeit-Typ. Format: TT.MM - TT. MM")
    public static class ZeitraumTyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.
        */
        @ApiMember(Description="Wert des Datentyps.", IsRequired=true, Name="Wert")
        public ErklaerungZeitraum wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public ErklaerungZeitraum getWert() { return wert; }
        public ZeitraumTyp setWert(ErklaerungZeitraum value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public ZeitraumTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Stellt ein Datumbereich dar (TT.MM-TT.MM) dar
    */
    @Api(Description="Stellt ein Datumbereich dar (TT.MM-TT.MM) dar")
    public static class ErklaerungZeitraum
    {
        /**
        * Der Anfang des Datumbreiches.
        */
        @ApiMember(Description="Der Anfang des Datumbreiches.", Name="Start")
        public Date start = null;

        /**
        * Das Ende des Datumbereiches.
        */
        @ApiMember(Description="Das Ende des Datumbereiches.", Name="Ende")
        public Date ende = null;
        
        public Date getStart() { return start; }
        public ErklaerungZeitraum setStart(Date value) { this.start = value; return this; }
        public Date getEnde() { return ende; }
        public ErklaerungZeitraum setEnde(Date value) { this.ende = value; return this; }
    }

    /**
    * Besteuerung der Entgelte
    */
    @Api(Description="Besteuerung der Entgelte")
    public static class BestArt2023
    {
        /**
        * Die Steuer wurde berechnet nach
        */
        @ApiMember(Description="Die Steuer wurde berechnet nach", IsRequired=true, Name="E3002203")
        public EntgeltartTyp e3002203 = null;
        
        public EntgeltartTyp getE3002203() { return e3002203; }
        public BestArt2023 setE3002203(EntgeltartTyp value) { this.e3002203 = value; return this; }
    }

    /**
    * Datentyp, welches die Art der Entgeltart darstellt.
    */
    @Api(Description="Datentyp, welches die Art der Entgeltart darstellt.")
    public static class EntgeltartTyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.
        */
        @ApiMember(Description="Wert des Datentyps.", IsRequired=true, Name="Wert")
        public Entgeltart wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public Entgeltart getWert() { return wert; }
        public EntgeltartTyp setWert(Entgeltart value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public EntgeltartTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Art der Entgelte
    */
    @Flags()
    public static enum Entgeltart
    {
        @SerializedName("1") VereinbarteEntgelte(1),
        @SerializedName("16") VereinnahmteEntgelte(16);

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

    /**
    * Verrechnung / Abtretung
    */
    @Api(Description="Verrechnung / Abtretung")
    public static class Verrech2023
    {
        /**
        * Verrechnung des Erstattungsbetrages erwünscht / Erstattungsbetrag ist abgetreten (Teilen Sie bitte die Verrechnungswünsche dem Finanzamt gesondert mit).
        */
        @ApiMember(Description="Verrechnung des Erstattungsbetrages erwünscht / Erstattungsbetrag ist abgetreten (Teilen Sie bitte die Verrechnungswünsche dem Finanzamt gesondert mit).", Name="E3001701")
        public Bool1Typ e3001701 = null;
        
        public Bool1Typ isE3001701() { return e3001701; }
        public Verrech2023 setE3001701(Bool1Typ value) { this.e3001701 = value; return this; }
    }

    /**
    * Ergänzende Angaben zur Steuererklärung
    */
    @Api(Description="Ergänzende Angaben zur Steuererklärung")
    public static class ErgAngErkl2023
    {
        /**
        * Über die Angaben in der Steuererklärung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen?
        */
        @ApiMember(Description="Über die Angaben in der Steuererklärung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen?", Name="E3002201")
        public Bool1Typ e3002201 = null;

        /**
        * Ergänzende Angaben zur Steuererklärung
        */
        @ApiMember(Description="Ergänzende Angaben zur Steuererklärung", Name="E3002202")
        public StringTyp e3002202 = null;
        
        public Bool1Typ isE3002201() { return e3002201; }
        public ErgAngErkl2023 setE3002201(Bool1Typ value) { this.e3002201 = value; return this; }
        public StringTyp getE3002202() { return e3002202; }
        public ErgAngErkl2023 setE3002202(StringTyp value) { this.e3002202 = value; return this; }
    }

    /**
    * Angaben zum Mitwirkender, der bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt hat.
    */
    @Api(Description="Angaben zum Mitwirkender, der bei der Anfertigung dieser Steuererklärung einschließlich der Anlagen mitgewirkt hat.")
    public static class Mitwirk2023
    {
        /**
        * Angaben zu den Kanzleien
        */
        @ApiMember(Description="Angaben zu den Kanzleien", Name="Kanzlei")
        public Kanzlei2023 kanzlei = null;

        /**
        * Angaben zu den Bearbeiter
        */
        @ApiMember(Description="Angaben zu den Bearbeiter", Name="Bearb")
        public Bearb2023 bearb = null;

        /**
        * Adressen der Mitwirkende
        */
        @ApiMember(Description="Adressen der Mitwirkende", Name="Adr")
        public MitwirkAdr2023 adr = null;

        /**
        * Kontakte der Mitwirkende
        */
        @ApiMember(Description="Kontakte der Mitwirkende", Name="Kontakt")
        public MitwirkKontakt2023 kontakt = null;

        /**
        * Mitwirkungen bei der Steuererklärung
        */
        @ApiMember(Description="Mitwirkungen bei der Steuererklärung", Name="MitwirkErkl")
        public MitwirkErkl2023 mitwirkErkl = null;
        
        public Kanzlei2023 getKanzlei() { return kanzlei; }
        public Mitwirk2023 setKanzlei(Kanzlei2023 value) { this.kanzlei = value; return this; }
        public Bearb2023 getBearb() { return bearb; }
        public Mitwirk2023 setBearb(Bearb2023 value) { this.bearb = value; return this; }
        public MitwirkAdr2023 getAdr() { return adr; }
        public Mitwirk2023 setAdr(MitwirkAdr2023 value) { this.adr = value; return this; }
        public MitwirkKontakt2023 getKontakt() { return kontakt; }
        public Mitwirk2023 setKontakt(MitwirkKontakt2023 value) { this.kontakt = value; return this; }
        public MitwirkErkl2023 getMitwirkErkl() { return mitwirkErkl; }
        public Mitwirk2023 setMitwirkErkl(MitwirkErkl2023 value) { this.mitwirkErkl = value; return this; }
    }

    public static class Kanzlei2023
    {
        /**
        * Bearbeiterkennzeichen
        */
        @ApiMember(Description="Bearbeiterkennzeichen", Name="E3002509")
        public StringTyp e3002509 = null;

        /**
        * Mandantennummer
        */
        @ApiMember(Description="Mandantennummer", Name="E3002506")
        public StringTyp e3002506 = null;

        /**
        * (Feld? wird nicht gedruckt) Ihr Zeichen/gegebenenfalls Zuordnungskriterium für Bescheiddatenübermittlung
        */
        @ApiMember(Description="(Feld? wird nicht gedruckt) Ihr Zeichen/gegebenenfalls Zuordnungskriterium für Bescheiddatenübermittlung", Name="E3002507")
        public StringTyp e3002507 = null;
        
        public StringTyp getE3002509() { return e3002509; }
        public Kanzlei2023 setE3002509(StringTyp value) { this.e3002509 = value; return this; }
        public StringTyp getE3002506() { return e3002506; }
        public Kanzlei2023 setE3002506(StringTyp value) { this.e3002506 = value; return this; }
        public StringTyp getE3002507() { return e3002507; }
        public Kanzlei2023 setE3002507(StringTyp value) { this.e3002507 = value; return this; }
    }

    public static class Bearb2023
    {
        /**
        * Name
        */
        @ApiMember(Description="Name", Name="E3002501")
        public StringTyp e3002501 = null;

        /**
        * Vorname
        */
        @ApiMember(Description="Vorname", Name="E3002502")
        public StringTyp e3002502 = null;
        
        public StringTyp getE3002501() { return e3002501; }
        public Bearb2023 setE3002501(StringTyp value) { this.e3002501 = value; return this; }
        public StringTyp getE3002502() { return e3002502; }
        public Bearb2023 setE3002502(StringTyp value) { this.e3002502 = value; return this; }
    }

    public static class MitwirkAdr2023
    {
        /**
        * Straße, Hausnummer
        */
        @ApiMember(Description="Straße, Hausnummer", Name="E3002503")
        public StringTyp e3002503 = null;

        /**
        * Postleitzahl, Wohnort
        */
        @ApiMember(Description="Postleitzahl, Wohnort", Name="E3002504")
        public StringTyp e3002504 = null;
        
        public StringTyp getE3002503() { return e3002503; }
        public MitwirkAdr2023 setE3002503(StringTyp value) { this.e3002503 = value; return this; }
        public StringTyp getE3002504() { return e3002504; }
        public MitwirkAdr2023 setE3002504(StringTyp value) { this.e3002504 = value; return this; }
    }

    public static class MitwirkKontakt2023
    {
        /**
        * Telefon
        */
        @ApiMember(Description="Telefon", Name="E3002505")
        public StringTyp e3002505 = null;

        /**
        * zusätzliche Angaben
        */
        @ApiMember(Description="zusätzliche Angaben", Name="E3002508")
        public StringTyp e3002508 = null;
        
        public StringTyp getE3002505() { return e3002505; }
        public MitwirkKontakt2023 setE3002505(StringTyp value) { this.e3002505 = value; return this; }
        public StringTyp getE3002508() { return e3002508; }
        public MitwirkKontakt2023 setE3002508(StringTyp value) { this.e3002508 = value; return this; }
    }

    public static class MitwirkErkl2023
    {
        /**
        * Die Steuererklärung wurde unter Mitwirkung eines Angehörigen der steuerberatenden Berufe im Sinne der §§ 3 und 4 des Steuerberatungsgesetzes erstellt
        */
        @ApiMember(Description="Die Steuererklärung wurde unter Mitwirkung eines Angehörigen der steuerberatenden Berufe im Sinne der §§ 3 und 4 des Steuerberatungsgesetzes erstellt", Name="E3002602")
        public Bool1Typ e3002602 = null;
        
        public Bool1Typ isE3002602() { return e3002602; }
        public MitwirkErkl2023 setE3002602(Bool1Typ value) { this.e3002602 = value; return this; }
    }

    /**
    * Angaben der Besteuerung von Kleinunternehmer der Umsatzsteuererklärung.
    */
    @Api(Description="Angaben der Besteuerung von Kleinunternehmer der Umsatzsteuererklärung.")
    public static class Kleinuntern2023
    {
        /**
        * Betrag Tabelle
        */
        @ApiMember(Description="Betrag Tabelle", Name="Tabelle")
        public KleineunternTabelle2023 tabelle = null;
        
        public KleineunternTabelle2023 getTabelle() { return tabelle; }
        public Kleinuntern2023 setTabelle(KleineunternTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Kleinenuntern Betrag Tabelle 2023
    */
    @Api(Description="Kleinenuntern Betrag Tabelle 2023")
    public static class KleineunternTabelle2023
    {
        /**
        * Umsatz im Kalenderjahr 2022 (Berechnung nach § 19 Absatz 1 und 3 UStG)
        */
        @ApiMember(Description="Umsatz im Kalenderjahr 2022 (Berechnung nach § 19 Absatz 1 und 3 UStG)", Name="E3002301")
        public GeldBetragOhneCent5DETyp e3002301 = null;

        /**
        * Umsatz im Kalenderjahr 2023 (Berechnung nach § 19 Absatz 1 und 3 UStG)
        */
        @ApiMember(Description="Umsatz im Kalenderjahr 2023 (Berechnung nach § 19 Absatz 1 und 3 UStG)", Name="E3002401")
        public GeldBetragOhneCent12DETyp e3002401 = null;
        
        public GeldBetragOhneCent5DETyp getE3002301() { return e3002301; }
        public KleineunternTabelle2023 setE3002301(GeldBetragOhneCent5DETyp value) { this.e3002301 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3002401() { return e3002401; }
        public KleineunternTabelle2023 setE3002401(GeldBetragOhneCent12DETyp value) { this.e3002401 = value; return this; }
    }

    /**
    * Geldbetrag ohne Cent mit 6 Stellen. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.
    */
    @Api(Description="Geldbetrag ohne Cent mit 6 Stellen. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.")
    public static class GeldBetragOhneCent5DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.", IsRequired=true)
        public GeldBetragOhneCent5DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public GeldBetragOhneCent5DE getBetrag() { return betrag; }
        public GeldBetragOhneCent5DETyp setBetrag(GeldBetragOhneCent5DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public GeldBetragOhneCent5DETyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Represents an amount of money without cents whose value has a maximum length of 5 digits.That is, 1 to 5 digits. Minus sign allowed
    */
    @Api(Description="Represents an amount of money without cents whose value has a maximum length of 5 digits.That is, 1 to 5 digits. Minus sign allowed")
    public static class GeldBetragOhneCent5DE extends GeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Integer wert = null;
        
        public Integer getWert() { return wert; }
        public GeldBetragOhneCent5DE setWert(Integer 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 GeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Integer wert = null;
        
        public Integer getWert() { return wert; }
        public GeldBetragOhneCent setWert(Integer value) { this.wert = value; return this; }
    }

    /**
    * Geldbetrag ohne Cent mit 13 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.
    */
    @Api(Description="Geldbetrag ohne Cent mit 13 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.")
    public static class GeldBetragOhneCent12DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.", IsRequired=true)
        public GeldBetragOhneCent12DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public GeldBetragOhneCent12DE getBetrag() { return betrag; }
        public GeldBetragOhneCent12DETyp setBetrag(GeldBetragOhneCent12DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public GeldBetragOhneCent12DETyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Represents an amount of money without cents whose value has a maximum length of 12 digits. That is, 1 to 12 digits. Minus sign allowed.
    */
    @Api(Description="Represents an amount of money without cents whose value has a maximum length of 12 digits. That is, 1 to 12 digits. Minus sign allowed.")
    public static class GeldBetragOhneCent12DE extends GrossGeldBetragOhneCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Long wert = null;
        
        public Long getWert() { return wert; }
        public GeldBetragOhneCent12DE 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; }
    }

    /**
    * Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben
    */
    @Api(Description="Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben")
    public static class Umsaetze2023
    {
        /**
        * Umsätze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Umsätze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
        public UmsaetzeTabelle2023 tabelle = null;
        
        public UmsaetzeTabelle2023 getTabelle() { return tabelle; }
        public Umsaetze2023 setTabelle(UmsaetzeTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Umsaetze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    @Api(Description="Umsaetze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)")
    public static class UmsaetzeTabelle2023
    {
        /**
        * Umsätze zum allgemeinen Steuersatz
        */
        @ApiMember(Description="Umsätze zum allgemeinen Steuersatz", Name="UmsAllg")
        public UmsAllg2023 umsAllg = null;

        /**
        * Umsätze zum ermäßigten Steuersatz
        */
        @ApiMember(Description="Umsätze zum ermäßigten Steuersatz", Name="UmsErm")
        public UmsErm2023 umsErm = null;

        /**
        * Umsätze zum ermäßigten Steuersatz
        */
        @ApiMember(Description="Umsätze zum ermäßigten Steuersatz", Name="UmsErm0")
        public UmsErm02023 umsErm0 = null;

        /**
        * Umsätze zu anderen Steuersätzen
        */
        @ApiMember(Description="Umsätze zu anderen Steuersätzen", Name="UmsAnd")
        public UmsAnd2023 umsAnd = null;

        /**
        * Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG
        */
        @ApiMember(Description="Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG", Name="UmsLuf")
        public UmsLuf2023 umsLuf = null;

        /**
        * Steuer infolge Wechsels der Besteuerungsform
        */
        @ApiMember(Description="Steuer infolge Wechsels der Besteuerungsform", Name="WechsBestForm")
        public WechsBestForm2023 wechsBestForm = null;

        /**
        * Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung
        */
        @ApiMember(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung", Name="NachstStSatzAend")
        public NachstStSatzAend2023 nachstStSatzAend = null;

        /**
        * Summe
        */
        @ApiMember(Description="Summe", Name="UmsSum")
        public UmsSum2023 umsSum = null;
        
        public UmsAllg2023 getUmsAllg() { return umsAllg; }
        public UmsaetzeTabelle2023 setUmsAllg(UmsAllg2023 value) { this.umsAllg = value; return this; }
        public UmsErm2023 getUmsErm() { return umsErm; }
        public UmsaetzeTabelle2023 setUmsErm(UmsErm2023 value) { this.umsErm = value; return this; }
        public UmsErm02023 getUmsErm0() { return umsErm0; }
        public UmsaetzeTabelle2023 setUmsErm0(UmsErm02023 value) { this.umsErm0 = value; return this; }
        public UmsAnd2023 getUmsAnd() { return umsAnd; }
        public UmsaetzeTabelle2023 setUmsAnd(UmsAnd2023 value) { this.umsAnd = value; return this; }
        public UmsLuf2023 getUmsLuf() { return umsLuf; }
        public UmsaetzeTabelle2023 setUmsLuf(UmsLuf2023 value) { this.umsLuf = value; return this; }
        public WechsBestForm2023 getWechsBestForm() { return wechsBestForm; }
        public UmsaetzeTabelle2023 setWechsBestForm(WechsBestForm2023 value) { this.wechsBestForm = value; return this; }
        public NachstStSatzAend2023 getNachstStSatzAend() { return nachstStSatzAend; }
        public UmsaetzeTabelle2023 setNachstStSatzAend(NachstStSatzAend2023 value) { this.nachstStSatzAend = value; return this; }
        public UmsSum2023 getUmsSum() { return umsSum; }
        public UmsaetzeTabelle2023 setUmsSum(UmsSum2023 value) { this.umsSum = value; return this; }
    }

    /**
    * Umsätze zum allgemeinen Steuersatz
    */
    @Api(Description="Umsätze zum allgemeinen Steuersatz")
    public static class UmsAllg2023
    {
        /**
        * Lieferungen und sonstige Leistungen zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen und sonstige Leistungen zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003303")
        public GeldBetragOhneCent12DETyp e3003303 = null;

        /**
        * Lieferungen und sonstige Leistungen zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen und sonstige Leistungen zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003304")
        public GeldBetragMitCent12DETyp e3003304 = null;

        /**
        * Umsätze zum Unentgeltliche Wertabgaben
        */
        @ApiMember(Description="Umsätze zum Unentgeltliche Wertabgaben", Name="Unent_Wertabgaben")
        public UmsAllgUnentWertabgaben2023 unent_Wertabgaben = null;
        
        public GeldBetragOhneCent12DETyp getE3003303() { return e3003303; }
        public UmsAllg2023 setE3003303(GeldBetragOhneCent12DETyp value) { this.e3003303 = value; return this; }
        public GeldBetragMitCent12DETyp getE3003304() { return e3003304; }
        public UmsAllg2023 setE3003304(GeldBetragMitCent12DETyp value) { this.e3003304 = value; return this; }
        public UmsAllgUnentWertabgaben2023 getUnentWertabgaben() { return unent_Wertabgaben; }
        public UmsAllg2023 setUnentWertabgaben(UmsAllgUnentWertabgaben2023 value) { this.unent_Wertabgaben = value; return this; }
    }

    /**
    * Geldbetrag mit Cent mit 12 Vorkommastellen. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt. ',' als Dezimaltrennzeichen.
    */
    @Api(Description="Geldbetrag mit Cent mit 12 Vorkommastellen. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt. ',' als Dezimaltrennzeichen.")
    public static class GeldBetragMitCent12DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt.", IsRequired=true, Name="Betrag")
        public GeldBetragMitCent12DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public GeldBetragMitCent12DE getBetrag() { return betrag; }
        public GeldBetragMitCent12DETyp setBetrag(GeldBetragMitCent12DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public GeldBetragMitCent12DETyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Represents an amount of money with cents whose value has a maximum length of 14 digits. That is, 1 to 12 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 14 digits. That is, 1 to 12 digits before the decimal separator and 2 digits after the decimal separator. Minus sign allowed.")
    public static class GeldBetragMitCent12DE extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public GeldBetragMitCent12DE 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; }
    }

    /**
    * Umsätze zum Unentgeltliche Wertabgaben
    */
    @Api(Description="Umsätze zum Unentgeltliche Wertabgaben")
    public static class UmsAllgUnentWertabgaben2023
    {
        /**
        * Lieferungen nach § 3 Absatz 1b UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen nach § 3 Absatz 1b UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003405")
        public GeldBetragOhneCent12DETyp e3003405 = null;

        /**
        * Lieferungen nach § 3 Absatz 1b UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen nach § 3 Absatz 1b UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003406")
        public GeldBetragMitCent12DETyp e3003406 = null;

        /**
        * Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003505")
        public GeldBetragOhneCent12DETyp e3003505 = null;

        /**
        * Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003506")
        public GeldBetragMitCent12DETyp e3003506 = null;
        
        public GeldBetragOhneCent12DETyp getE3003405() { return e3003405; }
        public UmsAllgUnentWertabgaben2023 setE3003405(GeldBetragOhneCent12DETyp value) { this.e3003405 = value; return this; }
        public GeldBetragMitCent12DETyp getE3003406() { return e3003406; }
        public UmsAllgUnentWertabgaben2023 setE3003406(GeldBetragMitCent12DETyp value) { this.e3003406 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3003505() { return e3003505; }
        public UmsAllgUnentWertabgaben2023 setE3003505(GeldBetragOhneCent12DETyp value) { this.e3003505 = value; return this; }
        public GeldBetragMitCent12DETyp getE3003506() { return e3003506; }
        public UmsAllgUnentWertabgaben2023 setE3003506(GeldBetragMitCent12DETyp value) { this.e3003506 = value; return this; }
    }

    /**
    * Umsätze zum ermäßigten Steuersatz
    */
    @Api(Description="Umsätze zum ermäßigten Steuersatz")
    public static class UmsErm2023
    {
        /**
        * Lieferungen und sonstige Leistungen zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen und sonstige Leistungen zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3004401")
        public GeldBetragOhneCent12DETyp e3004401 = null;

        /**
        * Lieferungen und sonstige Leistungen zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen und sonstige Leistungen zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3004402")
        public GeldBetragMitCent12DETyp e3004402 = null;

        /**
        * Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben
        */
        @ApiMember(Description="Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben", Name="Unent_Wertabgaben")
        public UmsErmUnentWertabgaben2023 unent_Wertabgaben = null;
        
        public GeldBetragOhneCent12DETyp getE3004401() { return e3004401; }
        public UmsErm2023 setE3004401(GeldBetragOhneCent12DETyp value) { this.e3004401 = value; return this; }
        public GeldBetragMitCent12DETyp getE3004402() { return e3004402; }
        public UmsErm2023 setE3004402(GeldBetragMitCent12DETyp value) { this.e3004402 = value; return this; }
        public UmsErmUnentWertabgaben2023 getUnentWertabgaben() { return unent_Wertabgaben; }
        public UmsErm2023 setUnentWertabgaben(UmsErmUnentWertabgaben2023 value) { this.unent_Wertabgaben = value; return this; }
    }

    /**
    * Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben
    */
    @Api(Description="Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben")
    public static class UmsErmUnentWertabgaben2023
    {
        /**
        * Lieferungen nach § 3 Absatz 1b UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen nach § 3 Absatz 1b UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003703")
        public GeldBetragOhneCent12DETyp e3003703 = null;

        /**
        * Lieferungen nach § 3 Absatz 1b UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen nach § 3 Absatz 1b UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003704")
        public GeldBetragMitCent12DETyp e3003704 = null;

        /**
        * Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003803")
        public GeldBetragOhneCent12DETyp e3003803 = null;

        /**
        * Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 % (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3003804")
        public GeldBetragMitCent12DETyp e3003804 = null;
        
        public GeldBetragOhneCent12DETyp getE3003703() { return e3003703; }
        public UmsErmUnentWertabgaben2023 setE3003703(GeldBetragOhneCent12DETyp value) { this.e3003703 = value; return this; }
        public GeldBetragMitCent12DETyp getE3003704() { return e3003704; }
        public UmsErmUnentWertabgaben2023 setE3003704(GeldBetragMitCent12DETyp value) { this.e3003704 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3003803() { return e3003803; }
        public UmsErmUnentWertabgaben2023 setE3003803(GeldBetragOhneCent12DETyp value) { this.e3003803 = value; return this; }
        public GeldBetragMitCent12DETyp getE3003804() { return e3003804; }
        public UmsErmUnentWertabgaben2023 setE3003804(GeldBetragMitCent12DETyp value) { this.e3003804 = value; return this; }
    }

    /**
    * Umsätze zum ermäßigten Steuersatz von 0 %
    */
    @Api(Description="Umsätze zum ermäßigten Steuersatz von 0 %")
    public static class UmsErm02023
    {
        /**
        * Lieferungen und sonstige Leistungen zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Lieferungen und sonstige Leistungen zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3002801")
        public PositiverGeldBetragOhneCent12DETyp e3002801 = null;

        /**
        * Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)
        */
        @ApiMember(Description="Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)", Name="Unent_Wertabgaben")
        public UmsErm0UnentWertabgaben2023 unent_Wertabgaben = null;
        
        public PositiverGeldBetragOhneCent12DETyp getE3002801() { return e3002801; }
        public UmsErm02023 setE3002801(PositiverGeldBetragOhneCent12DETyp value) { this.e3002801 = value; return this; }
        public UmsErm0UnentWertabgaben2023 getUnentWertabgaben() { return unent_Wertabgaben; }
        public UmsErm02023 setUnentWertabgaben(UmsErm0UnentWertabgaben2023 value) { this.unent_Wertabgaben = value; return this; }
    }

    /**
    * Positiver Geldbetrag ohne Cent mit 13 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen NICHT erlaubt.
    */
    @Api(Description="Positiver Geldbetrag ohne Cent mit 13 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen NICHT erlaubt.")
    public static class PositiverGeldBetragOhneCent12DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen NICHT erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen NICHT erlaubt.", IsRequired=true)
        public PositiverGeldBetragOhneCent12DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public PositiverGeldBetragOhneCent12DE getBetrag() { return betrag; }
        public PositiverGeldBetragOhneCent12DETyp setBetrag(PositiverGeldBetragOhneCent12DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public PositiverGeldBetragOhneCent12DETyp setAlias(String value) { this.alias = value; return this; }
    }

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

    /**
    * Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)
    */
    @Api(Description="Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)")
    public static class UmsErm0UnentWertabgaben2023
    {
        /**
        * Lieferungen nach § 3 Absatz 1b UStG zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Lieferungen nach § 3 Absatz 1b UStG zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3002901")
        public PositiverGeldBetragOhneCent12DETyp e3002901 = null;

        /**
        * Sonstige Leistungen nach § 3 Absatz 9a UStG zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3 Absatz 9a UStG zu 0 % (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3003001")
        public PositiverGeldBetragOhneCent12DETyp e3003001 = null;
        
        public PositiverGeldBetragOhneCent12DETyp getE3002901() { return e3002901; }
        public UmsErm0UnentWertabgaben2023 setE3002901(PositiverGeldBetragOhneCent12DETyp value) { this.e3002901 = value; return this; }
        public PositiverGeldBetragOhneCent12DETyp getE3003001() { return e3003001; }
        public UmsErm0UnentWertabgaben2023 setE3003001(PositiverGeldBetragOhneCent12DETyp value) { this.e3003001 = value; return this; }
    }

    /**
    * Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    @Api(Description="Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)")
    public static class UmsAnd2023
    {
        /**
        * Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3005001")
        public GeldBetragOhneCent12DETyp e3005001 = null;

        /**
        * Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3005002")
        public GeldBetragMitCent12DETyp e3005002 = null;
        
        public GeldBetragOhneCent12DETyp getE3005001() { return e3005001; }
        public UmsAnd2023 setE3005001(GeldBetragOhneCent12DETyp value) { this.e3005001 = value; return this; }
        public GeldBetragMitCent12DETyp getE3005002() { return e3005002; }
        public UmsAnd2023 setE3005002(GeldBetragMitCent12DETyp value) { this.e3005002 = value; return this; }
    }

    /**
    * Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG
    */
    @Api(Description="Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG")
    public static class UmsLuf2023
    {
        /**
        * Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit Umsatzsteuer-Identifikationsnummer", Name="E3005201")
        public GeldBetragOhneCent12DETyp e3005201 = null;

        /**
        * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben), für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, z. B. Wein)
        */
        @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben), für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, z. B. Wein)", Name="E3005005")
        public GeldBetragOhneCent12DETyp e3005005 = null;

        /**
        * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben), für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, z. B. Wein)
        */
        @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben), für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkoholische Flüssigkeiten, z. B. Wein)", Name="E3005006")
        public GeldBetragMitCent12DETyp e3005006 = null;

        /**
        * Übrige steuerpflichtige Umsätze land- und forstwirtschaftlicher Betriebe, für die keine Steuer zu entrichten ist
        */
        @ApiMember(Description="Übrige steuerpflichtige Umsätze land- und forstwirtschaftlicher Betriebe, für die keine Steuer zu entrichten ist", Name="E3005801")
        public GeldBetragOhneCent12DETyp e3005801 = null;
        
        public GeldBetragOhneCent12DETyp getE3005201() { return e3005201; }
        public UmsLuf2023 setE3005201(GeldBetragOhneCent12DETyp value) { this.e3005201 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3005005() { return e3005005; }
        public UmsLuf2023 setE3005005(GeldBetragOhneCent12DETyp value) { this.e3005005 = value; return this; }
        public GeldBetragMitCent12DETyp getE3005006() { return e3005006; }
        public UmsLuf2023 setE3005006(GeldBetragMitCent12DETyp value) { this.e3005006 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3005801() { return e3005801; }
        public UmsLuf2023 setE3005801(GeldBetragOhneCent12DETyp value) { this.e3005801 = value; return this; }
    }

    /**
    * Steuer infolge Wechsels der Besteuerungsform
    */
    @Api(Description="Steuer infolge Wechsels der Besteuerungsform")
    public static class WechsBestForm2023
    {
        /**
        * Steuer (Nachsteuer) auf vereinnahmte Anzahlungen infolge des Wechsels der Besteuerungsform
        */
        @ApiMember(Description="Steuer (Nachsteuer) auf vereinnahmte Anzahlungen infolge des Wechsels der Besteuerungsform", Name="E3102901")
        public PositiverGeldBetragMitCent12DETyp e3102901 = null;
        
        public PositiverGeldBetragMitCent12DETyp getE3102901() { return e3102901; }
        public WechsBestForm2023 setE3102901(PositiverGeldBetragMitCent12DETyp value) { this.e3102901 = value; return this; }
    }

    /**
    * Absoluter Geldbetrag mit Cent mit 12 Vorkommastellen. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt. ',' als Dezimaltrennzeichen.
    */
    @Api(Description="Absoluter Geldbetrag mit Cent mit 12 Vorkommastellen. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt. ',' als Dezimaltrennzeichen.")
    public static class PositiverGeldBetragMitCent12DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.  Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps.  Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.", IsRequired=true, Name="Betrag")
        public PositiverGeldBetragMitCent12DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public PositiverGeldBetragMitCent12DE getBetrag() { return betrag; }
        public PositiverGeldBetragMitCent12DETyp setBetrag(PositiverGeldBetragMitCent12DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public PositiverGeldBetragMitCent12DETyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Represents an unsigned amount of money with cents whose value has a maximum length of 14 digits. That is, 1 to 12 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 14 digits. That is, 1 to 12 digits before the decimal separator and 2 digits after the decimal separator. Minus sign NOT allowed.")
    public static class PositiverGeldBetragMitCent12DE extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public PositiverGeldBetragMitCent12DE setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung
    */
    @Api(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung")
    public static class NachstStSatzAend2023
    {
        /**
        * Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung
        */
        @ApiMember(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung", Name="E3005901")
        public GeldBetragMitCent12DETyp e3005901 = null;
        
        public GeldBetragMitCent12DETyp getE3005901() { return e3005901; }
        public NachstStSatzAend2023 setE3005901(GeldBetragMitCent12DETyp value) { this.e3005901 = value; return this; }
    }

    /**
    * Summe
    */
    @Api(Description="Summe")
    public static class UmsSum2023
    {
        /**
        * Summe der Steuer (zu übertragen in Zeile 102)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 102)", Name="E3006001")
        public GeldBetragMitCent12DETyp e3006001 = null;
        
        public GeldBetragMitCent12DETyp getE3006001() { return e3006001; }
        public UmsSum2023 setE3006001(GeldBetragMitCent12DETyp value) { this.e3006001 = value; return this; }
    }

    /**
    * Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
    */
    @Api(Description="Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.")
    public static class UmsStfrei2023
    {
        /**
        * Bemessungsgrundlage ohne Umsatzsteuer
        */
        @ApiMember(Description="Bemessungsgrundlage ohne Umsatzsteuer", Name="Tabelle")
        public UmsStfreiTabelle2023 tabelle = null;
        
        public UmsStfreiTabelle2023 getTabelle() { return tabelle; }
        public UmsStfrei2023 setTabelle(UmsStfreiTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Bemessungsgrundlage ohne Umsatzsteuer
    */
    @Api(Description="Bemessungsgrundlage ohne Umsatzsteuer")
    public static class UmsStfreiTabelle2023
    {
        /**
        * Steuerfreie Umsätze mit Vorsteuerabzug
        */
        @ApiMember(Description="Steuerfreie Umsätze mit Vorsteuerabzug", Name="MitVoStAbz")
        public MitVoStAbz2023 mitVoStAbz = null;

        /**
        * Steuerfreie Umsätze ohne Vorsteuerabzug
        */
        @ApiMember(Description="Steuerfreie Umsätze ohne Vorsteuerabzug", Name="OhneVoStAbz")
        public OhneVoStAbz2023 ohneVoStAbz = null;
        
        public MitVoStAbz2023 getMitVoStAbz() { return mitVoStAbz; }
        public UmsStfreiTabelle2023 setMitVoStAbz(MitVoStAbz2023 value) { this.mitVoStAbz = value; return this; }
        public OhneVoStAbz2023 getOhneVoStAbz() { return ohneVoStAbz; }
        public UmsStfreiTabelle2023 setOhneVoStAbz(OhneVoStAbz2023 value) { this.ohneVoStAbz = value; return this; }
    }

    /**
    * Steuerfreie Umsätze mit Vorsteuerabzug
    */
    @Api(Description="Steuerfreie Umsätze mit Vorsteuerabzug")
    public static class MitVoStAbz2023
    {
        /**
        * a) Liste innergemeinschaftlicher Lieferungen (§ 4 Nummer 1 Buchstabe b UStG)
        */
        @ApiMember(Description="a) Liste innergemeinschaftlicher Lieferungen (§ 4 Nummer 1 Buchstabe b UStG)", Name="IgLfg")
        public IgLfg2023 igLfg = null;

        /**
        * b) Liste weiterer steuerfreien Umsätze mit Vorsteuerabzug (zum Beispiel nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG)
        */
        @ApiMember(Description="b) Liste weiterer steuerfreien Umsätze mit Vorsteuerabzug (zum Beispiel nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG)", Name="IgLfg")
        public UmsStFreiWeit2023 umsStFreiWeit = null;
        
        public IgLfg2023 getIgLfg() { return igLfg; }
        public MitVoStAbz2023 setIgLfg(IgLfg2023 value) { this.igLfg = value; return this; }
        public UmsStFreiWeit2023 getUmsStFreiWeit() { return umsStFreiWeit; }
        public MitVoStAbz2023 setUmsStFreiWeit(UmsStFreiWeit2023 value) { this.umsStFreiWeit = value; return this; }
    }

    /**
    * Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG)
    */
    @Api(Description="Innergemeinschaftliche Lieferungen (§ 4 Nummer 1 Buchstabe b UStG)")
    public static class IgLfg2023
    {
        /**
        * an Abnehmer mit Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="an Abnehmer mit Umsatzsteuer-Identifikationsnummer", Name="E3103301")
        public GeldBetragOhneCent12DETyp e3103301 = null;

        /**
        * neuer Fahrzeuge an Abnehmer ohne Umsatzsteuer-Identifikationsnummer
        */
        @ApiMember(Description="neuer Fahrzeuge an Abnehmer ohne Umsatzsteuer-Identifikationsnummer", Name="E3103401")
        public GeldBetragOhneCent12DETyp e3103401 = null;

        /**
        * neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)
        */
        @ApiMember(Description="neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)", Name="E3103501")
        public GeldBetragOhneCent12DETyp e3103501 = null;
        
        public GeldBetragOhneCent12DETyp getE3103301() { return e3103301; }
        public IgLfg2023 setE3103301(GeldBetragOhneCent12DETyp value) { this.e3103301 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3103401() { return e3103401; }
        public IgLfg2023 setE3103401(GeldBetragOhneCent12DETyp value) { this.e3103401 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3103501() { return e3103501; }
        public IgLfg2023 setE3103501(GeldBetragOhneCent12DETyp value) { this.e3103501 = value; return this; }
    }

    /**
    * Weitere steuerfreie Umsätze mit Vorsteuerabzug (zum Beispiel nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG)
    */
    @Api(Description="Weitere steuerfreie Umsätze mit Vorsteuerabzug (zum Beispiel nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG)")
    public static class UmsStFreiWeit2023
    {
        /**
        * Ausfuhrlieferungen und Lohnveredelungen an Gegenständen der Ausfuhr (§ 4 Nummer 1 Buchstabe a UStG)
        */
        @ApiMember(Description="Ausfuhrlieferungen und Lohnveredelungen an Gegenständen der Ausfuhr (§ 4 Nummer 1 Buchstabe a UStG)", Name="E3103801")
        public GeldBetragOhneCent12DETyp e3103801 = null;

        /**
        * Weitere steuerfreie Umsätze mit Vorsteuerabzug (z. B. nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG), Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer) 
        */
        @ApiMember(Description="Weitere steuerfreie Umsätze mit Vorsteuerabzug (z. B. nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG), Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer) ", Name="E3103901")
        public StringTyp e3103901 = null;

        /**
        * Weitere steuerfreie Umsätze mit Vorsteuerabzug (z. B. nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG), Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer)
        */
        @ApiMember(Description="Weitere steuerfreie Umsätze mit Vorsteuerabzug (z. B. nach § 4 Nummer 1 Buchstabe a, 2 bis 7 UStG), Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer)", Name="E3103902")
        public GeldBetragOhneCent12DETyp e3103902 = null;

        /**
        * Umsätze im Sinne des Offshore-Steuerabkommens, des Zusatzabkommens zum NATO-Truppenstatut und des Ergänzungsabkommens zum Protokoll über die NATO-Hauptquartiere
        */
        @ApiMember(Description="Umsätze im Sinne des Offshore-Steuerabkommens, des Zusatzabkommens zum NATO-Truppenstatut und des Ergänzungsabkommens zum Protokoll über die NATO-Hauptquartiere", Name="E3104001")
        public GeldBetragOhneCent12DETyp e3104001 = null;

        /**
        * Reiseleistungen nach § 25 Absatz 2 UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Reiseleistungen nach § 25 Absatz 2 UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3104101")
        public GeldBetragOhneCent12DETyp e3104101 = null;

        /**
        * Summe der Zeilen 41 bis 44
        */
        @ApiMember(Description="Summe der Zeilen 41 bis 44", Name="E3104201")
        public GeldBetragOhneCent12DETyp e3104201 = null;
        
        public GeldBetragOhneCent12DETyp getE3103801() { return e3103801; }
        public UmsStFreiWeit2023 setE3103801(GeldBetragOhneCent12DETyp value) { this.e3103801 = value; return this; }
        public StringTyp getE3103901() { return e3103901; }
        public UmsStFreiWeit2023 setE3103901(StringTyp value) { this.e3103901 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3103902() { return e3103902; }
        public UmsStFreiWeit2023 setE3103902(GeldBetragOhneCent12DETyp value) { this.e3103902 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104001() { return e3104001; }
        public UmsStFreiWeit2023 setE3104001(GeldBetragOhneCent12DETyp value) { this.e3104001 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104101() { return e3104101; }
        public UmsStFreiWeit2023 setE3104101(GeldBetragOhneCent12DETyp value) { this.e3104101 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104201() { return e3104201; }
        public UmsStFreiWeit2023 setE3104201(GeldBetragOhneCent12DETyp value) { this.e3104201 = value; return this; }
    }

    /**
    * Steuerfreie Umsätze ohne Vorsteuerabzug
    */
    @Api(Description="Steuerfreie Umsätze ohne Vorsteuerabzug")
    public static class OhneVoStAbz2023
    {
        /**
        * a) Steuerfreie Umsätze ohne Vorsteuerabzug nicht zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend
        */
        @ApiMember(Description="a) Steuerfreie Umsätze ohne Vorsteuerabzug nicht zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend", Name="NichtGesUms")
        public NichtGesUms2023 nichtGesUms = null;

        /**
        * b) Steuerfreie Umsätze ohne Vorsteuerabzug zum Gesamtumsatz(§ 19 Absatz 3 UStG) gehörend
        */
        @ApiMember(Description="b) Steuerfreie Umsätze ohne Vorsteuerabzug zum Gesamtumsatz(§ 19 Absatz 3 UStG) gehörend", Name="GesUms")
        public GesUms2023 gesUms = null;
        
        public NichtGesUms2023 getNichtGesUms() { return nichtGesUms; }
        public OhneVoStAbz2023 setNichtGesUms(NichtGesUms2023 value) { this.nichtGesUms = value; return this; }
        public GesUms2023 getGesUms() { return gesUms; }
        public OhneVoStAbz2023 setGesUms(GesUms2023 value) { this.gesUms = value; return this; }
    }

    /**
    * Steuerfreie Umsätze ohne Vorsteuerabzug nicht zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend
    */
    @Api(Description="Steuerfreie Umsätze ohne Vorsteuerabzug nicht zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend")
    public static class NichtGesUms2023
    {
        /**
        * z. B. nach § 4 Nummer 12 UStG (Vermietung und Verpachtung von Grundstücken)
        */
        @ApiMember(Description="z. B. nach § 4 Nummer 12 UStG (Vermietung und Verpachtung von Grundstücken)", Name="E3104401")
        public GeldBetragOhneCent12DETyp e3104401 = null;

        /**
        * nach § 4 Nummer ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="nach § 4 Nummer ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3104501")
        public StringTyp e3104501 = null;

        /**
        * nach § 4 Nummer ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="nach § 4 Nummer ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3104502")
        public GeldBetragOhneCent12DETyp e3104502 = null;

        /**
        * Summe der Zeilen 46 und 47
        */
        @ApiMember(Description="Summe der Zeilen 46 und 47", Name="E3104601")
        public GeldBetragOhneCent12DETyp e3104601 = null;
        
        public GeldBetragOhneCent12DETyp getE3104401() { return e3104401; }
        public NichtGesUms2023 setE3104401(GeldBetragOhneCent12DETyp value) { this.e3104401 = value; return this; }
        public StringTyp getE3104501() { return e3104501; }
        public NichtGesUms2023 setE3104501(StringTyp value) { this.e3104501 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104502() { return e3104502; }
        public NichtGesUms2023 setE3104502(GeldBetragOhneCent12DETyp value) { this.e3104502 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104601() { return e3104601; }
        public NichtGesUms2023 setE3104601(GeldBetragOhneCent12DETyp value) { this.e3104601 = value; return this; }
    }

    public static class GesUms2023
    {
        /**
        * Zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer)
        */
        @ApiMember(Description="Zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer)", Name="E3104901")
        public StringTyp e3104901 = null;

        /**
        * Zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Zum Gesamtumsatz (§ 19 Absatz 3 UStG) gehörend nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3104902")
        public GeldBetragOhneCent12DETyp e3104902 = null;
        
        public StringTyp getE3104901() { return e3104901; }
        public GesUms2023 setE3104901(StringTyp value) { this.e3104901 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3104902() { return e3104902; }
        public GesUms2023 setE3104902(GeldBetragOhneCent12DETyp value) { this.e3104902 = value; return this; }
    }

    /**
    * Innergemeinschaftliche Erwerbe
    */
    @Api(Description="Innergemeinschaftliche Erwerbe")
    public static class IgErw2023
    {
        /**
        * Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle
        */
        @ApiMember(Description="Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle", Name="Tabelle")
        public IgErwTabelle2023 tabelle = null;
        
        public IgErwTabelle2023 getTabelle() { return tabelle; }
        public IgErw2023 setTabelle(IgErwTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle
    */
    @Api(Description="Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle")
    public static class IgErwTabelle2023
    {
        /**
        * Steuerfreie innergemeinschaftliche Erwerbe
        */
        @ApiMember(Description="Steuerfreie innergemeinschaftliche Erwerbe", Name="Stfrei")
        public Stfrei2023 stfrei = null;

        /**
        * Steuerpflichtige innergemeinschaftliche Erwerbe (§ 1a UStG)
        */
        @ApiMember(Description="Steuerpflichtige innergemeinschaftliche Erwerbe (§ 1a UStG)", Name="Stpfl")
        public Stpfl2023 stpfl = null;

        /**
        * Summe
        */
        @ApiMember(Description="Summe", Name="IgErwSum")
        public IgErwSum2023 igErwSum = null;
        
        public Stfrei2023 getStfrei() { return stfrei; }
        public IgErwTabelle2023 setStfrei(Stfrei2023 value) { this.stfrei = value; return this; }
        public Stpfl2023 getStpfl() { return stpfl; }
        public IgErwTabelle2023 setStpfl(Stpfl2023 value) { this.stpfl = value; return this; }
        public IgErwSum2023 getIgErwSum() { return igErwSum; }
        public IgErwTabelle2023 setIgErwSum(IgErwSum2023 value) { this.igErwSum = value; return this; }
    }

    public static class Stfrei2023
    {
        /**
        * von bestimmten Gegenständen und Anlagegold nach §§ 4b und 25c UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="von bestimmten Gegenständen und Anlagegold nach §§ 4b und 25c UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3100901")
        public GeldBetragOhneCent12DETyp e3100901 = null;
        
        public GeldBetragOhneCent12DETyp getE3100901() { return e3100901; }
        public Stfrei2023 setE3100901(GeldBetragOhneCent12DETyp value) { this.e3100901 = value; return this; }
    }

    /**
    * Steuerpflichtige innergemeinschaftliche Erwerbe (§ 1a UStG)
    */
    @Api(Description="Steuerpflichtige innergemeinschaftliche Erwerbe (§ 1a UStG)")
    public static class Stpfl2023
    {
        /**
        * zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3100902")
        public GeldBetragOhneCent12DETyp e3100902 = null;

        /**
        * zum Steuersatz von 19 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent (Steuer)", Name="E3100903")
        public GeldBetragMitCent12DETyp e3100903 = null;

        /**
        * zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3101301")
        public GeldBetragOhneCent12DETyp e3101301 = null;

        /**
        * zum Steuersatz von 7 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent (Steuer)", Name="E3101302")
        public GeldBetragMitCent12DETyp e3101302 = null;

        /**
        * zum Steuersatz von 0 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 0 Prozent (Steuer)", Name="E3101305")
        public PositiverGeldBetragOhneCent12DETyp e3101305 = null;

        /**
        * zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3101303")
        public GeldBetragOhneCent12DETyp e3101303 = null;

        /**
        * zu anderen Steuersätzen (Steuer)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="E3101304")
        public GeldBetragMitCent12DETyp e3101304 = null;

        /**
        * neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne USt-Identifikationsnummer zum allgemeinen Steuersatz (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne USt-Identifikationsnummer zum allgemeinen Steuersatz (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3101401")
        public GeldBetragOhneCent12DETyp e3101401 = null;

        /**
        * neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne USt-Identifikationsnummer zum allgemeinen Steuersatz (Steuer)
        */
        @ApiMember(Description="neuer Fahrzeuge (§ 1b Absatz 2 und 3 UStG) von Lieferern ohne USt-Identifikationsnummer zum allgemeinen Steuersatz (Steuer)", Name="E3101402")
        public GeldBetragMitCent12DETyp e3101402 = null;
        
        public GeldBetragOhneCent12DETyp getE3100902() { return e3100902; }
        public Stpfl2023 setE3100902(GeldBetragOhneCent12DETyp value) { this.e3100902 = value; return this; }
        public GeldBetragMitCent12DETyp getE3100903() { return e3100903; }
        public Stpfl2023 setE3100903(GeldBetragMitCent12DETyp value) { this.e3100903 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3101301() { return e3101301; }
        public Stpfl2023 setE3101301(GeldBetragOhneCent12DETyp value) { this.e3101301 = value; return this; }
        public GeldBetragMitCent12DETyp getE3101302() { return e3101302; }
        public Stpfl2023 setE3101302(GeldBetragMitCent12DETyp value) { this.e3101302 = value; return this; }
        public PositiverGeldBetragOhneCent12DETyp getE3101305() { return e3101305; }
        public Stpfl2023 setE3101305(PositiverGeldBetragOhneCent12DETyp value) { this.e3101305 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3101303() { return e3101303; }
        public Stpfl2023 setE3101303(GeldBetragOhneCent12DETyp value) { this.e3101303 = value; return this; }
        public GeldBetragMitCent12DETyp getE3101304() { return e3101304; }
        public Stpfl2023 setE3101304(GeldBetragMitCent12DETyp value) { this.e3101304 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3101401() { return e3101401; }
        public Stpfl2023 setE3101401(GeldBetragOhneCent12DETyp value) { this.e3101401 = value; return this; }
        public GeldBetragMitCent12DETyp getE3101402() { return e3101402; }
        public Stpfl2023 setE3101402(GeldBetragMitCent12DETyp value) { this.e3101402 = value; return this; }
    }

    /**
    * Summe
    */
    @Api(Description="Summe")
    public static class IgErwSum2023
    {
        /**
        * Summe der Steuer (zu übertragen in Zeile 153)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 153)", Name="E3101501")
        public GeldBetragMitCent12DETyp e3101501 = null;
        
        public GeldBetragMitCent12DETyp getE3101501() { return e3101501; }
        public IgErwSum2023 setE3101501(GeldBetragMitCent12DETyp value) { this.e3101501 = value; return this; }
    }

    /**
    * Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG)
    */
    @Api(Description="Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG)")
    public static class Auslag13a2023
    {
        /**
        * Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
        public Auslag13aTabelle2023 tabelle = null;
        
        public Auslag13aTabelle2023 getTabelle() { return tabelle; }
        public Auslag13a2023 setTabelle(Auslag13aTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    @Api(Description="Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)")
    public static class Auslag13aTabelle2023
    {
        /**
        * Lieferungen, die der Auslagerung vorangegangen sind (§ 4 Nummer 4a Satz 1 Buchstabe a Satz 2 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Lieferungen, die der Auslagerung vorangegangen sind (§ 4 Nummer 4a Satz 1 Buchstabe a Satz 2 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102804")
        public GeldBetragOhneCent12DETyp e3102804 = null;

        /**
        * Lieferungen, die der Auslagerung vorangegangen sind (§ 4 Nummer 4a Satz 1 Buchstabe a Satz 2 UStG) (Steuer)
        */
        @ApiMember(Description="Lieferungen, die der Auslagerung vorangegangen sind (§ 4 Nummer 4a Satz 1 Buchstabe a Satz 2 UStG) (Steuer)", Name="E3102805")
        public GeldBetragMitCent12DETyp e3102805 = null;

        /**
        * Summe der Steuer (zu übertragen in Zeile 154)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 154)", Name="Auslag13aSum")
        public Auslag13aSum2023 auslag13aSum = null;
        
        public GeldBetragOhneCent12DETyp getE3102804() { return e3102804; }
        public Auslag13aTabelle2023 setE3102804(GeldBetragOhneCent12DETyp value) { this.e3102804 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102805() { return e3102805; }
        public Auslag13aTabelle2023 setE3102805(GeldBetragMitCent12DETyp value) { this.e3102805 = value; return this; }
        public Auslag13aSum2023 getAuslag13aSum() { return auslag13aSum; }
        public Auslag13aTabelle2023 setAuslag13aSum(Auslag13aSum2023 value) { this.auslag13aSum = value; return this; }
    }

    /**
    * Summe der Steuer (zu übertragen in Zeile 154)
    */
    @Api(Description="Summe der Steuer (zu übertragen in Zeile 154)")
    public static class Auslag13aSum2023
    {
        /**
        * Summe der Steuer (zu übertragen in Zeile 154)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 154)", Name="E3102904")
        public GeldBetragMitCent12DETyp e3102904 = null;
        
        public GeldBetragMitCent12DETyp getE3102904() { return e3102904; }
        public Auslag13aSum2023 setE3102904(GeldBetragMitCent12DETyp value) { this.e3102904 = value; return this; }
    }

    /**
    * Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG)
    */
    @Api(Description="Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG)")
    public static class IgDrei2023
    {
        /**
        * Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
        public IgDreiTabelle2023 tabelle = null;
        
        public IgDreiTabelle2023 getTabelle() { return tabelle; }
        public IgDrei2023 setTabelle(IgDreiTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    @Api(Description="Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)")
    public static class IgDreiTabelle2023
    {
        /**
        * Lieferungen des ersten Abnehmers
        */
        @ApiMember(Description="Lieferungen des ersten Abnehmers", Name="LfgErstAbn")
        public LfgErstAbn2023 lfgErstAbn = null;

        /**
        * Lieferungen, für die der letzte Abnehmer die Umsatzsteuer schuldet
        */
        @ApiMember(Description="Lieferungen, für die der letzte Abnehmer die Umsatzsteuer schuldet", Name="LfgLetztAbn")
        public LfgLetztAbn2023 lfgLetztAbn = null;

        /**
        * Summe
        */
        @ApiMember(Description="Summe", Name="IgDreiSum")
        public IgDreiSum2023 igDreiSum = null;
        
        public LfgErstAbn2023 getLfgErstAbn() { return lfgErstAbn; }
        public IgDreiTabelle2023 setLfgErstAbn(LfgErstAbn2023 value) { this.lfgErstAbn = value; return this; }
        public LfgLetztAbn2023 getLfgLetztAbn() { return lfgLetztAbn; }
        public IgDreiTabelle2023 setLfgLetztAbn(LfgLetztAbn2023 value) { this.lfgLetztAbn = value; return this; }
        public IgDreiSum2023 getIgDreiSum() { return igDreiSum; }
        public IgDreiTabelle2023 setIgDreiSum(IgDreiSum2023 value) { this.igDreiSum = value; return this; }
    }

    /**
    * Lieferungen des ersten Abnehmers
    */
    @Api(Description="Lieferungen des ersten Abnehmers")
    public static class LfgErstAbn2023
    {
        /**
        * Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)
        */
        @ApiMember(Description="Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)", Name="E3101801")
        public GeldBetragOhneCent12DETyp e3101801 = null;
        
        public GeldBetragOhneCent12DETyp getE3101801() { return e3101801; }
        public LfgErstAbn2023 setE3101801(GeldBetragOhneCent12DETyp value) { this.e3101801 = value; return this; }
    }

    /**
    * Lieferungen, für die der letzte Abnehmer die Umsatzsteuer schuldet
    */
    @Api(Description="Lieferungen, für die der letzte Abnehmer die Umsatzsteuer schuldet")
    public static class LfgLetztAbn2023
    {
        /**
        * zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3101701")
        public GeldBetragOhneCent12DETyp e3101701 = null;

        /**
        * zum Steuersatz von 19 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 19 Prozent (Steuer)", Name="E3101702")
        public GeldBetragMitCent12DETyp e3101702 = null;

        /**
        * zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102301")
        public GeldBetragOhneCent12DETyp e3102301 = null;

        /**
        * zum Steuersatz von 7 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 7 Prozent (Steuer)", Name="E3102302")
        public GeldBetragMitCent12DETyp e3102302 = null;

        /**
        * zum Steuersatz von 0 Prozent (Steuer)
        */
        @ApiMember(Description="zum Steuersatz von 0 Prozent (Steuer)", Name="E3102305")
        public PositiverGeldBetragOhneCent12DETyp e3102305 = null;

        /**
        * zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102303")
        public GeldBetragOhneCent12DETyp e3102303 = null;

        /**
        * zu anderen Steuersätzen (Steuer)
        */
        @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="E3102304")
        public GeldBetragMitCent12DETyp e3102304 = null;
        
        public GeldBetragOhneCent12DETyp getE3101701() { return e3101701; }
        public LfgLetztAbn2023 setE3101701(GeldBetragOhneCent12DETyp value) { this.e3101701 = value; return this; }
        public GeldBetragMitCent12DETyp getE3101702() { return e3101702; }
        public LfgLetztAbn2023 setE3101702(GeldBetragMitCent12DETyp value) { this.e3101702 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3102301() { return e3102301; }
        public LfgLetztAbn2023 setE3102301(GeldBetragOhneCent12DETyp value) { this.e3102301 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102302() { return e3102302; }
        public LfgLetztAbn2023 setE3102302(GeldBetragMitCent12DETyp value) { this.e3102302 = value; return this; }
        public PositiverGeldBetragOhneCent12DETyp getE3102305() { return e3102305; }
        public LfgLetztAbn2023 setE3102305(PositiverGeldBetragOhneCent12DETyp value) { this.e3102305 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3102303() { return e3102303; }
        public LfgLetztAbn2023 setE3102303(GeldBetragOhneCent12DETyp value) { this.e3102303 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102304() { return e3102304; }
        public LfgLetztAbn2023 setE3102304(GeldBetragMitCent12DETyp value) { this.e3102304 = value; return this; }
    }

    /**
    * Summe
    */
    @Api(Description="Summe")
    public static class IgDreiSum2023
    {
        /**
        * Summe der Steuer (zu übertragen in Zeile 105)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 105)", Name="E3102401")
        public GeldBetragMitCent12DETyp e3102401 = null;
        
        public GeldBetragMitCent12DETyp getE3102401() { return e3102401; }
        public IgDreiSum2023 setE3102401(GeldBetragMitCent12DETyp value) { this.e3102401 = value; return this; }
    }

    public static class Ums13b2023
    {
        /**
        * Leistungsempfänger als Steuerschuldner (§ 13b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
        */
        @ApiMember(Description="Leistungsempfänger als Steuerschuldner (§ 13b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
        public Ums13bTabelle2023 tabelle = null;
        
        public Ums13bTabelle2023 getTabelle() { return tabelle; }
        public Ums13b2023 setTabelle(Ums13bTabelle2023 value) { this.tabelle = value; return this; }
    }

    public static class Ums13bTabelle2023
    {
        /**
        * Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Sonstige Leistungen nach § 3a Absatz 2 UStG eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102205")
        public GeldBetragOhneCent12DETyp e3102205 = null;

        /**
        * Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Steuer)
        */
        @ApiMember(Description="Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Steuer)", Name="E3102206")
        public GeldBetragMitCent12DETyp e3102206 = null;

        /**
        * Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 3 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102307")
        public GeldBetragOhneCent12DETyp e3102307 = 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="E3102308")
        public GeldBetragMitCent12DETyp e3102308 = null;

        /**
        * Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Andere Leistungen (§ 13b Absatz 2 Nummer 1, 2, 4 bis 12 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3102503")
        public GeldBetragOhneCent12DETyp e3102503 = 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="E3102504")
        public GeldBetragMitCent12DETyp e3102504 = null;

        /**
        * Summe
        */
        @ApiMember(Description="Summe", Name="Ums13bSum")
        public Ums13bSum2023 ums13bSum = null;
        
        public GeldBetragOhneCent12DETyp getE3102205() { return e3102205; }
        public Ums13bTabelle2023 setE3102205(GeldBetragOhneCent12DETyp value) { this.e3102205 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102206() { return e3102206; }
        public Ums13bTabelle2023 setE3102206(GeldBetragMitCent12DETyp value) { this.e3102206 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3102307() { return e3102307; }
        public Ums13bTabelle2023 setE3102307(GeldBetragOhneCent12DETyp value) { this.e3102307 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102308() { return e3102308; }
        public Ums13bTabelle2023 setE3102308(GeldBetragMitCent12DETyp value) { this.e3102308 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3102503() { return e3102503; }
        public Ums13bTabelle2023 setE3102503(GeldBetragOhneCent12DETyp value) { this.e3102503 = value; return this; }
        public GeldBetragMitCent12DETyp getE3102504() { return e3102504; }
        public Ums13bTabelle2023 setE3102504(GeldBetragMitCent12DETyp value) { this.e3102504 = value; return this; }
        public Ums13bSum2023 getUms13bSum() { return ums13bSum; }
        public Ums13bTabelle2023 setUms13bSum(Ums13bSum2023 value) { this.ums13bSum = value; return this; }
    }

    /**
    * Summe der Steuer (zu übertragen in Zeile 156)
    */
    @Api(Description="Summe der Steuer (zu übertragen in Zeile 156)")
    public static class Ums13bSum2023
    {
        /**
        * Summe der Steuer (zu übertragen in Zeile 106)
        */
        @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 106)", Name="E3102601")
        public GeldBetragMitCent12DETyp e3102601 = null;
        
        public GeldBetragMitCent12DETyp getE3102601() { return e3102601; }
        public Ums13bSum2023 setE3102601(GeldBetragMitCent12DETyp value) { this.e3102601 = value; return this; }
    }

    /**
    * Ergänzende Angaben zu Umsätzen
    */
    @Api(Description="Ergänzende Angaben zu Umsätzen")
    public static class ErgAngUms2023
    {
        /**
        * Ergänzende Angaben zu Umsätzen Betrag Tabelle
        */
        @ApiMember(Description="Ergänzende Angaben zu Umsätzen Betrag Tabelle", Name="Tabelle")
        public ErgAngUmsTabelle2023 tabelle = null;
        
        public ErgAngUmsTabelle2023 getTabelle() { return tabelle; }
        public ErgAngUms2023 setTabelle(ErgAngUmsTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Ergänzende Angaben zu Umsätzen Betrag Tabelle
    */
    @Api(Description="Ergänzende Angaben zu Umsätzen Betrag Tabelle")
    public static class ErgAngUmsTabelle2023
    {
        /**
        * Umsätze, die auf Grund eines Verzichts auf Steuerbefreiung (§ 9 UStG) als steuerpflichtig behandelt worden sind (in Abschnitt C enthalten) (Betrag volle EUR)
        */
        @ApiMember(Description="Umsätze, die auf Grund eines Verzichts auf Steuerbefreiung (§ 9 UStG) als steuerpflichtig behandelt worden sind (in Abschnitt C enthalten) (Betrag volle EUR)", Name="E3105201")
        public GeldBetragOhneCent12DETyp e3105201 = null;

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

        /**
        * Telekommunikations-, Rundfunk- und Fernsehdienstleistungen sowie auf elektronischem Weg erbrachte sonstige Leistungen an im übrigen Gemeinschaftsgebiet ansässige Nichtunternehmer sowie innergemeinschaftliche Fernverkäufe in das übrige Gemeinschaftsgebiet unter der Voraussetzung des § 3a Absatz 5 Sätze 3 und 4 UStG und § 3c Absatz 4 Sätze 1 und 2 UStG (in Abschnitt B oder C enthalten) (Betrag volle EUR)
        */
        @ApiMember(Description="Telekommunikations-, Rundfunk- und Fernsehdienstleistungen sowie auf elektronischem Weg erbrachte sonstige Leistungen an im übrigen Gemeinschaftsgebiet ansässige Nichtunternehmer sowie innergemeinschaftliche Fernverkäufe in das übrige Gemeinschaftsgebiet unter der Voraussetzung des § 3a Absatz 5 Sätze 3 und 4 UStG und § 3c Absatz 4 Sätze 1 und 2 UStG (in Abschnitt B oder C enthalten) (Betrag volle EUR)", Name="E3105101")
        public GeldBetragOhneCent12DETyp e3105101 = null;

        /**
        * Telekommunikations-, Rundfunk- und Fernsehdienstleistungen sowie auf elektronischem Weg erbrachte sonstige Leistungen an im übrigen Gemeinschaftsgebiet ansässige Nichtunternehmer sowie innergemeinschaftliche Fernverkäufe in das übrige Gemeinschaftsgebiet unter der Voraussetzung des § 3a Absatz 5 Sätze 3 und 4 UStG und § 3c Absatz 4 Sätze 1 und 2 UStG (in anderen EU-Mitgliedstaaten zu versteuern) (Betrag volle EUR)
        */
        @ApiMember(Description="Telekommunikations-, Rundfunk- und Fernsehdienstleistungen sowie auf elektronischem Weg erbrachte sonstige Leistungen an im übrigen Gemeinschaftsgebiet ansässige Nichtunternehmer sowie innergemeinschaftliche Fernverkäufe in das übrige Gemeinschaftsgebiet unter der Voraussetzung des § 3a Absatz 5 Sätze 3 und 4 UStG und § 3c Absatz 4 Sätze 1 und 2 UStG (in anderen EU-Mitgliedstaaten zu versteuern) (Betrag volle EUR)", Name="E3105102")
        public GeldBetragOhneCent12DETyp e3105102 = null;

        /**
        * Nicht steuerbare Geschäftsveräußerung im Ganzen gemäß § 1 Absatz 1a UStG (Betrag volle EUR)
        */
        @ApiMember(Description="Nicht steuerbare Geschäftsveräußerung im Ganzen gemäß § 1 Absatz 1a UStG (Betrag volle EUR)", Name="E3105602")
        public GeldBetragOhneCent12DETyp e3105602 = null;

        /**
        * Nicht steuerbare sonstige Leistungen gemäß § 18b Satz 1 Nummer 2 UStG (Betrag volle EUR)
        */
        @ApiMember(Description="Nicht steuerbare sonstige Leistungen gemäß § 18b Satz 1 Nummer 2 UStG (Betrag volle EUR)", Name="E3105702")
        public GeldBetragOhneCent12DETyp e3105702 = null;

        /**
        * Übrige nicht steuerbare Umsätze (Leistungsort nicht im Inland) (Betrag volle EUR)
        */
        @ApiMember(Description="Übrige nicht steuerbare Umsätze (Leistungsort nicht im Inland) (Betrag volle EUR)", Name="E3105801")
        public GeldBetragOhneCent12DETyp e3105801 = null;

        /**
        * In den Zeilen 72, 74 und 75 enthaltene Umsätze, die nach § 15 Absatz 2 und 3 UStG den Vorsteuerabzug ausschließen (Betrag volle EUR)
        */
        @ApiMember(Description="In den Zeilen 72, 74 und 75 enthaltene Umsätze, die nach § 15 Absatz 2 und 3 UStG den Vorsteuerabzug ausschließen (Betrag volle EUR)", Name="E3105901")
        public GeldBetragOhneCent12DETyp e3105901 = null;

        /**
        * Auf den inländischen Streckenanteil entfallende Umsätze grenzüberschreitender Personenbeförderungen im Luftverkehr (§ 26 Absatz 3 UStG) (Betrag volle EUR)
        */
        @ApiMember(Description="Auf den inländischen Streckenanteil entfallende Umsätze grenzüberschreitender Personenbeförderungen im Luftverkehr (§ 26 Absatz 3 UStG) (Betrag volle EUR)", Name="E3106001")
        public GeldBetragOhneCent12DETyp e3106001 = null;

        /**
        * Minderung der Bemessungsgrundlage nach § 17 Absatz 1 Satz 1 in Verbindung mit Absatz 2 Nummer 1 Satz 1 UStG (in Abschnitt B oder C enthalten) (Betrag volle EUR)
        */
        @ApiMember(Description="Minderung der Bemessungsgrundlage nach § 17 Absatz 1 Satz 1 in Verbindung mit Absatz 2 Nummer 1 Satz 1 UStG (in Abschnitt B oder C enthalten) (Betrag volle EUR)", Name="E3106101")
        public PositiverGeldBetragOhneCent12DETyp e3106101 = null;
        
        public GeldBetragOhneCent12DETyp getE3105201() { return e3105201; }
        public ErgAngUmsTabelle2023 setE3105201(GeldBetragOhneCent12DETyp value) { this.e3105201 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105301() { return e3105301; }
        public ErgAngUmsTabelle2023 setE3105301(GeldBetragOhneCent12DETyp value) { this.e3105301 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105101() { return e3105101; }
        public ErgAngUmsTabelle2023 setE3105101(GeldBetragOhneCent12DETyp value) { this.e3105101 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105102() { return e3105102; }
        public ErgAngUmsTabelle2023 setE3105102(GeldBetragOhneCent12DETyp value) { this.e3105102 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105602() { return e3105602; }
        public ErgAngUmsTabelle2023 setE3105602(GeldBetragOhneCent12DETyp value) { this.e3105602 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105702() { return e3105702; }
        public ErgAngUmsTabelle2023 setE3105702(GeldBetragOhneCent12DETyp value) { this.e3105702 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105801() { return e3105801; }
        public ErgAngUmsTabelle2023 setE3105801(GeldBetragOhneCent12DETyp value) { this.e3105801 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3105901() { return e3105901; }
        public ErgAngUmsTabelle2023 setE3105901(GeldBetragOhneCent12DETyp value) { this.e3105901 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3106001() { return e3106001; }
        public ErgAngUmsTabelle2023 setE3106001(GeldBetragOhneCent12DETyp value) { this.e3106001 = value; return this; }
        public PositiverGeldBetragOhneCent12DETyp getE3106101() { return e3106101; }
        public ErgAngUmsTabelle2023 setE3106101(PositiverGeldBetragOhneCent12DETyp value) { this.e3106101 = value; return this; }
    }

    /**
    * Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG)
    */
    @Api(Description="Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG)")
    public static class AbzVoSt2023
    {
        /**
        * Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle
        */
        @ApiMember(Description="Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle", Name="Tabelle")
        public AbzVoStTabelle2023 tabelle = null;
        
        public AbzVoStTabelle2023 getTabelle() { return tabelle; }
        public AbzVoSt2023 setTabelle(AbzVoStTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle
    */
    @Api(Description="Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle")
    public static class AbzVoStTabelle2023
    {
        /**
        * Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Absatz 1 Satz 1 Nummer 1 UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Absatz 1 Satz 1 Nummer 1 UStG)", Name="E3006201")
        public GeldBetragMitCent12DETyp e3006201 = null;

        /**
        * Vorsteuerbeträge aus innergemeinschaftlichen Erwerben von Gegenständen (§ 15 Absatz 1 Satz 1 Nummer 3 UStG) 
        */
        @ApiMember(Description="Vorsteuerbeträge aus innergemeinschaftlichen Erwerben von Gegenständen (§ 15 Absatz 1 Satz 1 Nummer 3 UStG) ", Name="E3006301")
        public GeldBetragMitCent12DETyp e3006301 = null;

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

        /**
        * Vorsteuerabzug für die Steuer, die der Abnehmer als Auslagerer nach § 13a Absatz 1 Nummer 6 UStG schuldet (§ 15 Absatz 1 Satz 1 Nummer 5 UStG)
        */
        @ApiMember(Description="Vorsteuerabzug für die Steuer, die der Abnehmer als Auslagerer nach § 13a Absatz 1 Nummer 6 UStG schuldet (§ 15 Absatz 1 Satz 1 Nummer 5 UStG)", Name="E3006503")
        public GeldBetragMitCent12DETyp e3006503 = 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="E3006502")
        public GeldBetragMitCent12DETyp e3006502 = null;

        /**
        * Vorsteuerbeträge nach dem Durchschnittssatz für bestimmte Körperschaften, Personenvereinigungen und Vermögensmassen (§ 23a UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge nach dem Durchschnittssatz für bestimmte Körperschaften, Personenvereinigungen und Vermögensmassen (§ 23a UStG)", Name="E3006601")
        public GeldBetragMitCent12DETyp e3006601 = 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="E3006701")
        public GeldBetragMitCent12DETyp e3006701 = null;

        /**
        * Vorsteuerbeträge aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Absatz 5 UStG)
        */
        @ApiMember(Description="Vorsteuerbeträge aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Absatz 5 UStG)", Name="E3006801")
        public GeldBetragMitCent12DETyp e3006801 = null;

        /**
        * Summe der Vorsteuerbeträge (zu übertragen in Zeile 108)
        */
        @ApiMember(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 108)", Name="AbzVoStSum")
        public AbzVoStSum2023 abzVoStSum = null;

        /**
        * Ergänzende Angabe
        */
        @ApiMember(Description="Ergänzende Angabe", Name="AbzVoStSum")
        public ErgAng2023 ergAng = null;
        
        public GeldBetragMitCent12DETyp getE3006201() { return e3006201; }
        public AbzVoStTabelle2023 setE3006201(GeldBetragMitCent12DETyp value) { this.e3006201 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006301() { return e3006301; }
        public AbzVoStTabelle2023 setE3006301(GeldBetragMitCent12DETyp value) { this.e3006301 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006401() { return e3006401; }
        public AbzVoStTabelle2023 setE3006401(GeldBetragMitCent12DETyp value) { this.e3006401 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006503() { return e3006503; }
        public AbzVoStTabelle2023 setE3006503(GeldBetragMitCent12DETyp value) { this.e3006503 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006502() { return e3006502; }
        public AbzVoStTabelle2023 setE3006502(GeldBetragMitCent12DETyp value) { this.e3006502 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006601() { return e3006601; }
        public AbzVoStTabelle2023 setE3006601(GeldBetragMitCent12DETyp value) { this.e3006601 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006701() { return e3006701; }
        public AbzVoStTabelle2023 setE3006701(GeldBetragMitCent12DETyp value) { this.e3006701 = value; return this; }
        public GeldBetragMitCent12DETyp getE3006801() { return e3006801; }
        public AbzVoStTabelle2023 setE3006801(GeldBetragMitCent12DETyp value) { this.e3006801 = value; return this; }
        public AbzVoStSum2023 getAbzVoStSum() { return abzVoStSum; }
        public AbzVoStTabelle2023 setAbzVoStSum(AbzVoStSum2023 value) { this.abzVoStSum = value; return this; }
        public ErgAng2023 getErgAng() { return ergAng; }
        public AbzVoStTabelle2023 setErgAng(ErgAng2023 value) { this.ergAng = value; return this; }
    }

    /**
    * Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)
    */
    @Api(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)")
    public static class AbzVoStSum2023
    {
        /**
        * Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)
        */
        @ApiMember(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)", Name="E3006901")
        public GeldBetragMitCent12DETyp e3006901 = null;
        
        public GeldBetragMitCent12DETyp getE3006901() { return e3006901; }
        public AbzVoStSum2023 setE3006901(GeldBetragMitCent12DETyp value) { this.e3006901 = value; return this; }
    }

    public static class ErgAng2023
    {
        /**
        * Minderung der abziehbaren Vorsteuerbeträge nach § 17 Absatz 1 Satz 2 in Verbindung mit Absatz 2 Nummer 1 Satz 1 UStG (in den Zeilen 79, 84 und 85 enthalten)
        */
        @ApiMember(Description="Minderung der abziehbaren Vorsteuerbeträge nach § 17 Absatz 1 Satz 2 in Verbindung mit Absatz 2 Nummer 1 Satz 1 UStG (in den Zeilen 79, 84 und 85 enthalten)", Name="E3007001")
        public PositiverGeldBetragMitCent12DETyp e3007001 = null;
        
        public PositiverGeldBetragMitCent12DETyp getE3007001() { return e3007001; }
        public ErgAng2023 setE3007001(PositiverGeldBetragMitCent12DETyp value) { this.e3007001 = value; return this; }
    }

    /**
    * Berichtigung des Vorsteuerabzugs (§ 15a UStG).
    */
    @Api(Description="Berichtigung des Vorsteuerabzugs (§ 15a UStG).")
    public static class BerVoSt15a2023
    {
        /**
        * Sind im Kalenderjahr 2023 Grundstücke, Grundstücksteile, Gebäude oder Gebäudeteile, für die Vorsteuer abgezogen worden ist, erstmals tatsächlich verwendet worden?
        */
        @ApiMember(Description="Sind im Kalenderjahr 2023 Grundstücke, Grundstücksteile, Gebäude oder Gebäudeteile, für die Vorsteuer abgezogen worden ist, erstmals tatsächlich verwendet worden?", Name="GrdstErstmVerw")
        public GrdstErstmVerw2023 grdstErstmVerw = null;

        /**
        * Haben sich im Jahr 2023 die für den ursprünglichen Vorsteuerabzug maßgebenden Verhältnisse geändert bei
        */
        @ApiMember(Description="Haben sich im Jahr 2023 die für den ursprünglichen Vorsteuerabzug maßgebenden Verhältnisse geändert bei", Name="AendVerh")
        public AendVerh2023 aendVerh = null;

        /**
        * Die Verhältnisse, die ursprünglich für die Beurteilung des Vorsteuerabzugs maßgebend waren, haben sich seitdem geändert durch:
        */
        @ApiMember(Description="Die Verhältnisse, die ursprünglich für die Beurteilung des Vorsteuerabzugs maßgebend waren, haben sich seitdem geändert durch:", Name="GrundAendVerh")
        public GrundAendVerh2023 grundAendVerh = null;

        /**
        * Nutzungsänderung
        */
        @ApiMember(Description="Nutzungsänderung", Name="VoStBerBetr")
        public VoStBerBetr2023 voStBerBetr = null;
        
        public GrdstErstmVerw2023 getGrdstErstmVerw() { return grdstErstmVerw; }
        public BerVoSt15a2023 setGrdstErstmVerw(GrdstErstmVerw2023 value) { this.grdstErstmVerw = value; return this; }
        public AendVerh2023 getAendVerh() { return aendVerh; }
        public BerVoSt15a2023 setAendVerh(AendVerh2023 value) { this.aendVerh = value; return this; }
        public GrundAendVerh2023 getGrundAendVerh() { return grundAendVerh; }
        public BerVoSt15a2023 setGrundAendVerh(GrundAendVerh2023 value) { this.grundAendVerh = value; return this; }
        public VoStBerBetr2023 getVoStBerBetr() { return voStBerBetr; }
        public BerVoSt15a2023 setVoStBerBetr(VoStBerBetr2023 value) { this.voStBerBetr = value; return this; }
    }

    /**
    * Angaben zur erstmaligen Verwendung von Grundstücken, Grundstücksteilen, Gebäuden oder Gebäudeteilen
    */
    @Api(Description="Angaben zur erstmaligen Verwendung von Grundstücken, Grundstücksteilen, Gebäuden oder Gebäudeteilen")
    public static class GrdstErstmVerw2023
    {
        /**
        * Sind im Kalenderjahr 2023 Grundstücke, Grundstücksteile, Gebäude oder Gebäudeteile, für die Vorsteuer abgezogen worden ist, erstmals tatsächlich verwendet worden? Falls ja, bitte eine 1 eintragen
        */
        @ApiMember(Description="Sind im Kalenderjahr 2023 Grundstücke, Grundstücksteile, Gebäude oder Gebäudeteile, für die Vorsteuer abgezogen worden ist, erstmals tatsächlich verwendet worden? Falls ja, bitte eine 1 eintragen", Name="E3007301")
        public Bool1Typ e3007301 = null;

        /**
        * Angaben zum Grundstück oder Gebäude.
        */
        @ApiMember(Description="Angaben zum Grundstück oder Gebäude.", Name="AngGrdst")
        public AngGrdst2023 angGrdst = null;
        
        public Bool1Typ isE3007301() { return e3007301; }
        public GrdstErstmVerw2023 setE3007301(Bool1Typ value) { this.e3007301 = value; return this; }
        public AngGrdst2023 getAngGrdst() { return angGrdst; }
        public GrdstErstmVerw2023 setAngGrdst(AngGrdst2023 value) { this.angGrdst = value; return this; }
    }

    /**
    * Angaben zum Grundstück oder Gebäude.
    */
    @Api(Description="Angaben zum Grundstück oder Gebäude.")
    public static class AngGrdst2023
    {
        /**
        * Lage des Grundstücks oder Gebäudes
        */
        @ApiMember(Description="Lage des Grundstücks oder Gebäudes", Name="E3007401")
        public StringTyp e3007401 = null;

        /**
        * Zeitpunkt der erstmaligen tatsächlichen Verwendung
        */
        @ApiMember(Description="Zeitpunkt der erstmaligen tatsächlichen Verwendung", Name="E3007402")
        public DatumUhrzeitTyp e3007402 = null;

        /**
        * Art der Verwendung im Erstjahr
        */
        @ApiMember(Description="Art der Verwendung im Erstjahr", Name="E3007403")
        public StringTyp e3007403 = null;

        /**
        * Umfang der Verwendung im Erstjahr
        */
        @ApiMember(Description="Umfang der Verwendung im Erstjahr", Name="E3007404")
        public PositiverGeldBetragMitCent13DETyp e3007404 = null;

        /**
        * insgesamt angefallene Vorsteuer
        */
        @ApiMember(Description="insgesamt angefallene Vorsteuer", Name="E3007405")
        public GeldBetragOhneCent12DETyp e3007405 = null;

        /**
        * in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer
        */
        @ApiMember(Description="in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer", Name="E3007406")
        public GeldBetragOhneCent12DETyp e3007406 = null;
        
        public StringTyp getE3007401() { return e3007401; }
        public AngGrdst2023 setE3007401(StringTyp value) { this.e3007401 = value; return this; }
        public DatumUhrzeitTyp getE3007402() { return e3007402; }
        public AngGrdst2023 setE3007402(DatumUhrzeitTyp value) { this.e3007402 = value; return this; }
        public StringTyp getE3007403() { return e3007403; }
        public AngGrdst2023 setE3007403(StringTyp value) { this.e3007403 = value; return this; }
        public PositiverGeldBetragMitCent13DETyp getE3007404() { return e3007404; }
        public AngGrdst2023 setE3007404(PositiverGeldBetragMitCent13DETyp value) { this.e3007404 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3007405() { return e3007405; }
        public AngGrdst2023 setE3007405(GeldBetragOhneCent12DETyp value) { this.e3007405 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3007406() { return e3007406; }
        public AngGrdst2023 setE3007406(GeldBetragOhneCent12DETyp value) { this.e3007406 = value; return this; }
    }

    /**
    * Datum-Uhrzeit-Typ. Format: TT.MM.JJJJ.
    */
    @Api(Description="Datum-Uhrzeit-Typ. Format: TT.MM.JJJJ.")
    public static class DatumUhrzeitTyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.
        */
        @ApiMember(Description="Wert des Datentyps.", IsRequired=true, Name="Wert")
        public Date wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public Date getWert() { return wert; }
        public DatumUhrzeitTyp setWert(Date value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public DatumUhrzeitTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Absoluter Geldbetrag mit Cent mit 13 Vorkommastellen. Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt. ',' als Dezimaltrennzeichen.
    */
    @Api(Description="Absoluter Geldbetrag mit Cent mit 13 Vorkommastellen. Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt. ',' als Dezimaltrennzeichen.")
    public static class PositiverGeldBetragMitCent13DETyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.  Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.
        */
        @ApiMember(Description="Wert des Datentyps.  Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.", IsRequired=true)
        public PositiverGeldBetragMitCent13DE betrag = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public PositiverGeldBetragMitCent13DE getBetrag() { return betrag; }
        public PositiverGeldBetragMitCent13DETyp setBetrag(PositiverGeldBetragMitCent13DE value) { this.betrag = value; return this; }
        public String getAlias() { return alias; }
        public PositiverGeldBetragMitCent13DETyp setAlias(String value) { this.alias = 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 PositiverGeldBetragMitCent13DE extends GeldBetragMitCent
    {
        /**
        * The intrinsic currency value.
        */
        @ApiMember(Description="The intrinsic currency value.")
        public Double wert = null;
        
        public Double getWert() { return wert; }
        public PositiverGeldBetragMitCent13DE setWert(Double value) { this.wert = value; return this; }
    }

    /**
    * Haben sich im Jahr 2023 die für den ursprünglichen Vorsteuerabzug maßgebenden Verhältnisse geändert bei.
    */
    @Api(Description="Haben sich im Jahr 2023 die für den ursprünglichen Vorsteuerabzug maßgebenden Verhältnisse geändert bei.")
    public static class AendVerh2023
    {
        /**
        * 1. Grundstücken, Grundstücksteilen, Gebäuden oder Gebäudeteilen, die innerhalb der letzten 10 Jahre erstmals tatsächlich und nicht nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 'true' eintragen
        */
        @ApiMember(Description="1. Grundstücken, Grundstücksteilen, Gebäuden oder Gebäudeteilen, die innerhalb der letzten 10 Jahre erstmals tatsächlich und nicht nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 'true' eintragen", Name="E3007601")
        public Bool1Typ e3007601 = null;

        /**
        * 2. anderen Wirtschaftsgütern und sonstigen Leistungen, die innerhalb der letzten 5 Jahre erstmals tatsächlich und nicht nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 'true' eintragen)
        */
        @ApiMember(Description="2. anderen Wirtschaftsgütern und sonstigen Leistungen, die innerhalb der letzten 5 Jahre erstmals tatsächlich und nicht nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 'true' eintragen)", Name="E3008501")
        public Bool1Typ e3008501 = null;

        /**
        * 3. Wirtschaftsgütern und sonstigen Leistungen, die nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 1 eintragen
        */
        @ApiMember(Description="3. Wirtschaftsgütern und sonstigen Leistungen, die nur einmalig zur Ausführung von Umsätzen verwendet worden sind? Falls ja, bitte eine 1 eintragen", Name="E3008601")
        public Bool1Typ e3008601 = null;
        
        public Bool1Typ isE3007601() { return e3007601; }
        public AendVerh2023 setE3007601(Bool1Typ value) { this.e3007601 = value; return this; }
        public Bool1Typ isE3008501() { return e3008501; }
        public AendVerh2023 setE3008501(Bool1Typ value) { this.e3008501 = value; return this; }
        public Bool1Typ isE3008601() { return e3008601; }
        public AendVerh2023 setE3008601(Bool1Typ value) { this.e3008601 = value; return this; }
    }

    /**
    * Die Verhältnisse, die ursprünglich für die Beurteilung des Vorsteuerabzugs maßgebend waren, haben sich seitdem geändert durch:
    */
    @Api(Description="Die Verhältnisse, die ursprünglich für die Beurteilung des Vorsteuerabzugs maßgebend waren, haben sich seitdem geändert durch:")
    public static class GrundAendVerh2023
    {
        /**
        * Veräußerung
        */
        @ApiMember(Description="Veräußerung", Name="E3007801")
        public BoolXTyp e3007801 = null;

        /**
        * Lieferung im Sinne des § 3 Absatz 1b UStG
        */
        @ApiMember(Description="Lieferung im Sinne des § 3 Absatz 1b UStG", Name="E3007802")
        public BoolXTyp e3007802 = null;

        /**
        * Wechsel der Besteuerungsform, § 15a Absatz 7 UStG
        */
        @ApiMember(Description="Wechsel der Besteuerungsform, § 15a Absatz 7 UStG", Name="E3007803")
        public BoolXTyp e3007803 = null;

        /**
        * Nutzungsänderungen
        */
        @ApiMember(Description="Nutzungsänderungen", Name="NutzAend")
        public NutzAend2023 nutzAend = null;
        
        public BoolXTyp isE3007801() { return e3007801; }
        public GrundAendVerh2023 setE3007801(BoolXTyp value) { this.e3007801 = value; return this; }
        public BoolXTyp isE3007802() { return e3007802; }
        public GrundAendVerh2023 setE3007802(BoolXTyp value) { this.e3007802 = value; return this; }
        public BoolXTyp isE3007803() { return e3007803; }
        public GrundAendVerh2023 setE3007803(BoolXTyp value) { this.e3007803 = value; return this; }
        public NutzAend2023 getNutzAend() { return nutzAend; }
        public GrundAendVerh2023 setNutzAend(NutzAend2023 value) { this.nutzAend = value; return this; }
    }

    /**
    * Boolescher Datentyp, welcher als 'X' (Ja) oder Leerstring (Nein) im Jahressteuererklärung angeschrieben wird.
    */
    @Api(Description="Boolescher Datentyp, welcher als 'X' (Ja) oder Leerstring (Nein) im Jahressteuererklärung angeschrieben wird.")
    public static class BoolXTyp extends CustomTypBase
    {
        /**
        * Wenn der Wert true ist, 'X' wird im Jahressteuererklärung angeschrieben; ansonsten ein Leerstring.
        */
        @ApiMember(Description="Wenn der Wert true ist, 'X' wird im Jahressteuererklärung angeschrieben; ansonsten ein Leerstring.", IsRequired=true, Name="Wert")
        public Boolean wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public Boolean isWert() { return wert; }
        public BoolXTyp setWert(Boolean value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public BoolXTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Nutzungsänderung.
    */
    @Api(Description="Nutzungsänderung.")
    public static class NutzAend2023
    {
        /**
        * Nutzungsänderung, und zwar
        */
        @ApiMember(Description="Nutzungsänderung, und zwar", Name="E3007901")
        public BoolXTyp e3007901 = null;

        /**
        * Übergang von steuerpflichtiger zu steuerfreier Vermietung oder umgekehrt beziehungsweise Änderung des Verwendungsschlüssels bei gemischt genutzten Grundstücken (insbesondere bei Mieterwechsel)
        */
        @ApiMember(Description="Übergang von steuerpflichtiger zu steuerfreier Vermietung oder umgekehrt beziehungsweise Änderung des Verwendungsschlüssels bei gemischt genutzten Grundstücken (insbesondere bei Mieterwechsel)", Name="E3008001")
        public BoolXTyp e3008001 = null;

        /**
        * steuerfreie Vermietung bisher eigengewerblich genutzter Räume oder umgekehrt; Übergang von einer Vermietung für NATO- oder ähnliche Zwecke zu einer nach  § 4 Nummer 12 UStG steuerfreien Vermietung
        */
        @ApiMember(Description="steuerfreie Vermietung bisher eigengewerblich genutzter Räume oder umgekehrt; Übergang von einer Vermietung für NATO- oder ähnliche Zwecke zu einer nach  § 4 Nummer 12 UStG steuerfreien Vermietung", Name="E3008202")
        public BoolXTyp e3008202 = null;

        /**
        * Andere Gründe für die geänderte Beurteilung des Vorsteuerabzugs:
        */
        @ApiMember(Description="Andere Gründe für die geänderte Beurteilung des Vorsteuerabzugs:", Name="E3008401")
        public BoolXTyp e3008401 = null;

        /**
        * Begründung
        */
        @ApiMember(Description="Begründung", Name="E3008402")
        public StringTyp e3008402 = null;
        
        public BoolXTyp isE3007901() { return e3007901; }
        public NutzAend2023 setE3007901(BoolXTyp value) { this.e3007901 = value; return this; }
        public BoolXTyp isE3008001() { return e3008001; }
        public NutzAend2023 setE3008001(BoolXTyp value) { this.e3008001 = value; return this; }
        public BoolXTyp isE3008202() { return e3008202; }
        public NutzAend2023 setE3008202(BoolXTyp value) { this.e3008202 = value; return this; }
        public BoolXTyp isE3008401() { return e3008401; }
        public NutzAend2023 setE3008401(BoolXTyp value) { this.e3008401 = value; return this; }
        public StringTyp getE3008402() { return e3008402; }
        public NutzAend2023 setE3008402(StringTyp value) { this.e3008402 = value; return this; }
    }

    /**
    * Vorsteuerberichtigungsbeträge.
    */
    @Api(Description="Vorsteuerberichtigungsbeträge.")
    public static class VoStBerBetr2023
    {
        /**
        * Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle
        */
        @ApiMember(Description="Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle", Name="Tabelle")
        public VoStBerBetrTabelle2023 tabelle = null;
        
        public VoStBerBetrTabelle2023 getTabelle() { return tabelle; }
        public VoStBerBetr2023 setTabelle(VoStBerBetrTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle
    */
    @Api(Description="Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle")
    public static class VoStBerBetrTabelle2023
    {
        /**
        * zu 1. (z. B. Grundstücke, § 15a Absatz 1 Satz 2 UStG) (nachträglich abziehbar)
        */
        @ApiMember(Description="zu 1. (z. B. Grundstücke, § 15a Absatz 1 Satz 2 UStG) (nachträglich abziehbar)", Name="E3008701")
        public PositiverGeldBetragMitCent12DETyp e3008701 = null;

        /**
        * zu 1. (z. B. Grundstücke, § 15a Absatz 1 Satz 2 UStG) (zurückzuzahlen)
        */
        @ApiMember(Description="zu 1. (z. B. Grundstücke, § 15a Absatz 1 Satz 2 UStG) (zurückzuzahlen)", Name="E3008702")
        public PositiverGeldBetragMitCent12DETyp e3008702 = null;

        /**
        * zu 2. (z. B. andere Wirtschaftsgüter, § 15a Absatz 1 Satz 1 UStG)
        */
        @ApiMember(Description="zu 2. (z. B. andere Wirtschaftsgüter, § 15a Absatz 1 Satz 1 UStG)", Name="E3008801")
        public PositiverGeldBetragMitCent12DETyp e3008801 = null;

        /**
        * zu 2. (z. B. andere Wirtschaftsgüter, § 15a Absatz 1 Satz 1 UStG) (zurückzuzahlen)
        */
        @ApiMember(Description="zu 2. (z. B. andere Wirtschaftsgüter, § 15a Absatz 1 Satz 1 UStG) (zurückzuzahlen)", Name="E3008802")
        public PositiverGeldBetragMitCent12DETyp e3008802 = null;

        /**
        * zu 3. (z. B. Wirtschaftsgüter,§ 15a Absatz 2 UStG) (nachträglich abziehbar)
        */
        @ApiMember(Description="zu 3. (z. B. Wirtschaftsgüter,§ 15a Absatz 2 UStG) (nachträglich abziehbar)", Name="E3008803")
        public PositiverGeldBetragMitCent12DETyp e3008803 = null;

        /**
        * zu 3. (z. B. Wirtschaftsgüter, § 15a Absatz 2 UStG) (zurückzuzahlen)
        */
        @ApiMember(Description="zu 3. (z. B. Wirtschaftsgüter, § 15a Absatz 2 UStG) (zurückzuzahlen)", Name="E3008804")
        public PositiverGeldBetragMitCent12DETyp e3008804 = null;

        /**
        * Summe
        */
        @ApiMember(Description="Summe", Name="VoStBerBetrSum")
        public VoStBerBetrSum2023 voStBerBetrSum = null;
        
        public PositiverGeldBetragMitCent12DETyp getE3008701() { return e3008701; }
        public VoStBerBetrTabelle2023 setE3008701(PositiverGeldBetragMitCent12DETyp value) { this.e3008701 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008702() { return e3008702; }
        public VoStBerBetrTabelle2023 setE3008702(PositiverGeldBetragMitCent12DETyp value) { this.e3008702 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008801() { return e3008801; }
        public VoStBerBetrTabelle2023 setE3008801(PositiverGeldBetragMitCent12DETyp value) { this.e3008801 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008802() { return e3008802; }
        public VoStBerBetrTabelle2023 setE3008802(PositiverGeldBetragMitCent12DETyp value) { this.e3008802 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008803() { return e3008803; }
        public VoStBerBetrTabelle2023 setE3008803(PositiverGeldBetragMitCent12DETyp value) { this.e3008803 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008804() { return e3008804; }
        public VoStBerBetrTabelle2023 setE3008804(PositiverGeldBetragMitCent12DETyp value) { this.e3008804 = value; return this; }
        public VoStBerBetrSum2023 getVoStBerBetrSum() { return voStBerBetrSum; }
        public VoStBerBetrTabelle2023 setVoStBerBetrSum(VoStBerBetrSum2023 value) { this.voStBerBetrSum = value; return this; }
    }

    /**
    * Summe
    */
    @Api(Description="Summe")
    public static class VoStBerBetrSum2023
    {
        /**
        * Summe nachträglich abziehbar (zu übertragen in Zeile 109)
        */
        @ApiMember(Description="Summe nachträglich abziehbar (zu übertragen in Zeile 109)", Name="E3008901")
        public PositiverGeldBetragMitCent12DETyp e3008901 = null;

        /**
        * Summe zurückzuzahlen (zu übertragen in Zeile 111)
        */
        @ApiMember(Description="Summe zurückzuzahlen (zu übertragen in Zeile 111)", Name="E3008902")
        public PositiverGeldBetragMitCent12DETyp e3008902 = null;
        
        public PositiverGeldBetragMitCent12DETyp getE3008901() { return e3008901; }
        public VoStBerBetrSum2023 setE3008901(PositiverGeldBetragMitCent12DETyp value) { this.e3008901 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3008902() { return e3008902; }
        public VoStBerBetrSum2023 setE3008902(PositiverGeldBetragMitCent12DETyp value) { this.e3008902 = value; return this; }
    }

    /**
    * Berechnung der zu entrichtenden Umsatzsteuer.
    */
    @Api(Description="Berechnung der zu entrichtenden Umsatzsteuer.")
    public static class BerechUSt2023
    {
        /**
        * Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle
        */
        @ApiMember(Description="Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle", Name="Tabelle")
        public BerechUStTabelle2023 tabelle = null;
        
        public BerechUStTabelle2023 getTabelle() { return tabelle; }
        public BerechUSt2023 setTabelle(BerechUStTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle
    */
    @Api(Description="Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle")
    public static class BerechUStTabelle2023
    {
        /**
        * Umsatzsteuer auf steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben (aus Zeile 37)
        */
        @ApiMember(Description="Umsatzsteuer auf steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben (aus Zeile 37)", Name="E3009201")
        public GeldBetragMitCent12DETyp e3009201 = null;

        /**
        * Umsatzsteuer auf innergemeinschaftliche Erwerbe (aus Zeile 56)
        */
        @ApiMember(Description="Umsatzsteuer auf innergemeinschaftliche Erwerbe (aus Zeile 56)", Name="E3009401")
        public GeldBetragMitCent12DETyp e3009401 = null;

        /**
        * Umsatzsteuer, die vom Auslagerer oder Lagerhalter geschuldet wird (§ 13a Absatz 1 Nummer 6 UStG) (aus Zeile 58)
        */
        @ApiMember(Description="Umsatzsteuer, die vom Auslagerer oder Lagerhalter geschuldet wird (§ 13a Absatz 1 Nummer 6 UStG) (aus Zeile 58)", Name="E3009602")
        public GeldBetragMitCent12DETyp e3009602 = null;

        /**
        * Umsatzsteuer, die vom letzten Abnehmer im innergemeinschaftlichen Dreiecksgeschäft geschuldet wird (§ 25b Absatz 2 UStG) (aus Zeile 64)
        */
        @ApiMember(Description="Umsatzsteuer, die vom letzten Abnehmer im innergemeinschaftlichen Dreiecksgeschäft geschuldet wird (§ 25b Absatz 2 UStG) (aus Zeile 64)", Name="E3009501")
        public GeldBetragMitCent12DETyp e3009501 = null;

        /**
        * Umsatzsteuer, die vom Leistungsempfänger nach § 13b UStG geschuldet wird (aus Zeile 68)
        */
        @ApiMember(Description="Umsatzsteuer, die vom Leistungsempfänger nach § 13b UStG geschuldet wird (aus Zeile 68)", Name="E3009502")
        public GeldBetragMitCent12DETyp e3009502 = null;

        /**
        * Zwischensumme
        */
        @ApiMember(Description="Zwischensumme", Name="E3009801")
        public GeldBetragMitCent12DETyp e3009801 = null;

        /**
        * Abziehbare Vorsteuerbeträge (aus Zeile 87)
        */
        @ApiMember(Description="Abziehbare Vorsteuerbeträge (aus Zeile 87)", Name="E3009901")
        public GeldBetragMitCent12DETyp e3009901 = null;

        /**
        * Vorsteuerbeträge, die auf Grund des § 15a UStG nachträglich abziehbar sind (aus Zeile 101)
        */
        @ApiMember(Description="Vorsteuerbeträge, die auf Grund des § 15a UStG nachträglich abziehbar sind (aus Zeile 101)", Name="E3010001")
        public PositiverGeldBetragMitCent12DETyp e3010001 = null;

        /**
        * Verbleibender Betrag
        */
        @ApiMember(Description="Verbleibender Betrag", Name="E3010201")
        public GeldBetragMitCent12DETyp e3010201 = null;

        /**
        * Vorsteuerbeträge, die auf Grund des § 15a UStG zurückzuzahlen sind (aus Zeile 101)
        */
        @ApiMember(Description="Vorsteuerbeträge, die auf Grund des § 15a UStG zurückzuzahlen sind (aus Zeile 101)", Name="E3009701")
        public PositiverGeldBetragMitCent12DETyp e3009701 = null;

        /**
        * In Rechnungen unrichtig oder unberechtigt ausgewiesene Steuerbeträge (§ 14c UStG) sowie Steuerbeträge, die nach § 6a Absatz 4 Satz 2 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 UStG geschuldet werden", Name="E3010301")
        public GeldBetragMitCent12DETyp e3010301 = null;

        /**
        * Steuerbeträge, die nach § 17 Absatz 1 Satz 7 UStG geschuldet werden
        */
        @ApiMember(Description="Steuerbeträge, die nach § 17 Absatz 1 Satz 7 UStG geschuldet werden", Name="E3010401")
        public GeldBetragMitCent12DETyp e3010401 = null;

        /**
        * Steuer- und Vorsteuerbeträge, die auf frühere Besteuerungszeiträume entfallen (nur für Kleinunternehmer, die § 19 Absatz 1 UStG anwenden)
        */
        @ApiMember(Description="Steuer- und Vorsteuerbeträge, die auf frühere Besteuerungszeiträume entfallen (nur für Kleinunternehmer, die § 19 Absatz 1 UStG anwenden)", Name="E3010501")
        public GeldBetragMitCent12DETyp e3010501 = null;

        /**
        * Umsatzsteuer / Überschuss (bei Überschuss - bitte dem Betrag ein Minuszeichen voranstellen)
        */
        @ApiMember(Description="Umsatzsteuer / Überschuss (bei Überschuss - bitte dem Betrag ein Minuszeichen voranstellen)", Name="E3010601")
        public GeldBetragMitCent12DETyp e3010601 = null;

        /**
        * Anrechenbare Beträge (aus Zeile 19 der Anlage UN)
        */
        @ApiMember(Description="Anrechenbare Beträge (aus Zeile 19 der Anlage UN)", Name="E3010602")
        public GeldBetragMitCent12DETyp e3010602 = null;

        /**
        * Verbleibende Umsatzsteuer / Verbleibender Überschuss
        */
        @ApiMember(Description="Verbleibende Umsatzsteuer / Verbleibender Überschuss", Name="VerblUSt")
        public VerblUSt2023 verblUSt = null;

        /**
        * Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -
        */
        @ApiMember(Description="Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -", Name="ZahlErstatt")
        public ZahlErstatt2023 zahlErstatt = null;
        
        public GeldBetragMitCent12DETyp getE3009201() { return e3009201; }
        public BerechUStTabelle2023 setE3009201(GeldBetragMitCent12DETyp value) { this.e3009201 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009401() { return e3009401; }
        public BerechUStTabelle2023 setE3009401(GeldBetragMitCent12DETyp value) { this.e3009401 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009602() { return e3009602; }
        public BerechUStTabelle2023 setE3009602(GeldBetragMitCent12DETyp value) { this.e3009602 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009501() { return e3009501; }
        public BerechUStTabelle2023 setE3009501(GeldBetragMitCent12DETyp value) { this.e3009501 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009502() { return e3009502; }
        public BerechUStTabelle2023 setE3009502(GeldBetragMitCent12DETyp value) { this.e3009502 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009801() { return e3009801; }
        public BerechUStTabelle2023 setE3009801(GeldBetragMitCent12DETyp value) { this.e3009801 = value; return this; }
        public GeldBetragMitCent12DETyp getE3009901() { return e3009901; }
        public BerechUStTabelle2023 setE3009901(GeldBetragMitCent12DETyp value) { this.e3009901 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3010001() { return e3010001; }
        public BerechUStTabelle2023 setE3010001(PositiverGeldBetragMitCent12DETyp value) { this.e3010001 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010201() { return e3010201; }
        public BerechUStTabelle2023 setE3010201(GeldBetragMitCent12DETyp value) { this.e3010201 = value; return this; }
        public PositiverGeldBetragMitCent12DETyp getE3009701() { return e3009701; }
        public BerechUStTabelle2023 setE3009701(PositiverGeldBetragMitCent12DETyp value) { this.e3009701 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010301() { return e3010301; }
        public BerechUStTabelle2023 setE3010301(GeldBetragMitCent12DETyp value) { this.e3010301 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010401() { return e3010401; }
        public BerechUStTabelle2023 setE3010401(GeldBetragMitCent12DETyp value) { this.e3010401 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010501() { return e3010501; }
        public BerechUStTabelle2023 setE3010501(GeldBetragMitCent12DETyp value) { this.e3010501 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010601() { return e3010601; }
        public BerechUStTabelle2023 setE3010601(GeldBetragMitCent12DETyp value) { this.e3010601 = value; return this; }
        public GeldBetragMitCent12DETyp getE3010602() { return e3010602; }
        public BerechUStTabelle2023 setE3010602(GeldBetragMitCent12DETyp value) { this.e3010602 = value; return this; }
        public VerblUSt2023 getVerblUSt() { return verblUSt; }
        public BerechUStTabelle2023 setVerblUSt(VerblUSt2023 value) { this.verblUSt = value; return this; }
        public ZahlErstatt2023 getZahlErstatt() { return zahlErstatt; }
        public BerechUStTabelle2023 setZahlErstatt(ZahlErstatt2023 value) { this.zahlErstatt = value; return this; }
    }

    /**
    * Verbleibende Umsatzsteuer / Verbleibender Überschuss.
    */
    @Api(Description="Verbleibende Umsatzsteuer / Verbleibender Überschuss.")
    public static class VerblUSt2023
    {
        /**
        * Verbleibende Umsatzsteuer / Verbleibender Überschuss (bei verbleibendem Überschuss - bitte dem Betrag ein Minuszeichen voranstellen)
        */
        @ApiMember(Description="Verbleibende Umsatzsteuer / Verbleibender Überschuss (bei verbleibendem Überschuss - bitte dem Betrag ein Minuszeichen voranstellen)", IsRequired=true, Name="E3011101")
        @Validate(Validator="NotNull")
        public GeldBetragMitCent12DETyp e3011101 = null;

        /**
        * Vorauszahlungssoll 2023 (einschließlich Sondervorauszahlung)
        */
        @ApiMember(Description="Vorauszahlungssoll 2023 (einschließlich Sondervorauszahlung)", IsRequired=true, Name="E3011301")
        @Validate(Validator="NotNull")
        public GeldBetragMitCent12DETyp e3011301 = null;
        
        public GeldBetragMitCent12DETyp getE3011101() { return e3011101; }
        public VerblUSt2023 setE3011101(GeldBetragMitCent12DETyp value) { this.e3011101 = value; return this; }
        public GeldBetragMitCent12DETyp getE3011301() { return e3011301; }
        public VerblUSt2023 setE3011301(GeldBetragMitCent12DETyp value) { this.e3011301 = value; return this; }
    }

    /**
    * Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -
    */
    @Api(Description="Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -")
    public static class ZahlErstatt2023
    {
        /**
        * Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch (bei Erstattungsanspruch - bitte dem Betrag ein Minuszeichen voranstellen)
        */
        @ApiMember(Description="Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch (bei Erstattungsanspruch - bitte dem Betrag ein Minuszeichen voranstellen)", IsRequired=true, Name="E3011401")
        @Validate(Validator="NotNull")
        public GeldBetragMitCent12DETyp e3011401 = null;
        
        public GeldBetragMitCent12DETyp getE3011401() { return e3011401; }
        public ZahlErstatt2023 setE3011401(GeldBetragMitCent12DETyp value) { this.e3011401 = value; return this; }
    }

    /**
    * Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer.
    */
    @Api(Description="Anlage UN zur Umsatzsteuererklärung für im Ausland ansässige Unternehmer.")
    public static class UN2023
    {
        /**
        * A. Allgemeine Angaben
        */
        @ApiMember(Description="A. Allgemeine Angaben", Name="Allg")
        public UnAllg2023 allg = null;

        /**
        * B. Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern
        */
        @ApiMember(Description="B. Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern", Name="VoStVerguetBZSt")
        public VoStVerguetBZSt2023 voStVerguetBZSt = null;

        /**
        * C. Anrechenbare Beträge
        */
        @ApiMember(Description="C. Anrechenbare Beträge", Name="AnrechBetr")
        public AnrechBetr2023 anrechBetr = null;

        /**
        * D. Ergänzende Angaben zu Umsätzen
        */
        @ApiMember(Description="D. Ergänzende Angaben zu Umsätzen", Name="ErgAngUms")
        public UnErgAngUms2023 ergAngUms = null;
        
        public UnAllg2023 getAllg() { return allg; }
        public UN2023 setAllg(UnAllg2023 value) { this.allg = value; return this; }
        public VoStVerguetBZSt2023 getVoStVerguetBZSt() { return voStVerguetBZSt; }
        public UN2023 setVoStVerguetBZSt(VoStVerguetBZSt2023 value) { this.voStVerguetBZSt = value; return this; }
        public AnrechBetr2023 getAnrechBetr() { return anrechBetr; }
        public UN2023 setAnrechBetr(AnrechBetr2023 value) { this.anrechBetr = value; return this; }
        public UnErgAngUms2023 getErgAngUms() { return ergAngUms; }
        public UN2023 setErgAngUms(UnErgAngUms2023 value) { this.ergAngUms = value; return this; }
    }

    /**
    * Allgemeine Angaben.
    */
    @Api(Description="Allgemeine Angaben.")
    public static class UnAllg2023
    {
        /**
        * Bankverbindung
        */
        @ApiMember(Description="Bankverbindung", Name="Bank")
        public Bank2023 bank = null;

        /**
        * Bevollmächtigter/Empfangsbevollmächtigter
        */
        @ApiMember(Description="Bevollmächtigter/Empfangsbevollmächtigter", Name="Vollm")
        public Vollm2023 vollm = null;
        
        public Bank2023 getBank() { return bank; }
        public UnAllg2023 setBank(Bank2023 value) { this.bank = value; return this; }
        public Vollm2023 getVollm() { return vollm; }
        public UnAllg2023 setVollm(Vollm2023 value) { this.vollm = value; return this; }
    }

    /**
    * Bankverbindung.
    */
    @Api(Description="Bankverbindung.")
    public static class Bank2023
    {
        /**
        * IBAN
        */
        @ApiMember(Description="IBAN", Name="E3201001")
        public StringTyp e3201001 = null;

        /**
        * BIC (nur bei Bankverbindungen außerhalb des Europäischen Wirtschaftsraums)
        */
        @ApiMember(Description="BIC (nur bei Bankverbindungen außerhalb des Europäischen Wirtschaftsraums)", Name="E3201002")
        public StringTyp e3201002 = null;

        /**
        * Name des Geldinstituts (Zweigstelle) und Ort
        */
        @ApiMember(Description="Name des Geldinstituts (Zweigstelle) und Ort", Name="E3200901")
        public StringTyp e3200901 = null;

        /**
        * Kontonummer (nur bei Bankverbindungen außerhalb des Europäischen Zahlungsverkehrsraums - SEPA)
        */
        @ApiMember(Description="Kontonummer (nur bei Bankverbindungen außerhalb des Europäischen Zahlungsverkehrsraums - SEPA)", Name="E3200902")
        public StringTyp e3200902 = null;

        /**
        * Kontoinhaber laut Zeile 4 auf Vordruck USt2A
        */
        @ApiMember(Description="Kontoinhaber laut Zeile 4 auf Vordruck USt2A", Name="E3200904")
        public BoolXTyp e3200904 = null;

        /**
        * Name des Kontoinhabers
        */
        @ApiMember(Description="Name des Kontoinhabers", Name="E3200905")
        public StringTyp e3200905 = null;
        
        public StringTyp getE3201001() { return e3201001; }
        public Bank2023 setE3201001(StringTyp value) { this.e3201001 = value; return this; }
        public StringTyp getE3201002() { return e3201002; }
        public Bank2023 setE3201002(StringTyp value) { this.e3201002 = value; return this; }
        public StringTyp getE3200901() { return e3200901; }
        public Bank2023 setE3200901(StringTyp value) { this.e3200901 = value; return this; }
        public StringTyp getE3200902() { return e3200902; }
        public Bank2023 setE3200902(StringTyp value) { this.e3200902 = value; return this; }
        public BoolXTyp isE3200904() { return e3200904; }
        public Bank2023 setE3200904(BoolXTyp value) { this.e3200904 = value; return this; }
        public StringTyp getE3200905() { return e3200905; }
        public Bank2023 setE3200905(StringTyp value) { this.e3200905 = value; return this; }
    }

    /**
    * Bevollmächtigter/Empfangsbevollmächtigter.
    */
    @Api(Description="Bevollmächtigter/Empfangsbevollmächtigter.")
    public static class Vollm2023
    {
        /**
        * Zur Wahrnehmung der steuerlichen Pflichten und Rechte als Bevollmächtigter (§ 80 AO) ist bestellt:
        */
        @ApiMember(Description="Zur Wahrnehmung der steuerlichen Pflichten und Rechte als Bevollmächtigter (§ 80 AO) ist bestellt:", Name="E3201301")
        public BoolXTyp e3201301 = null;

        /**
        * Zum Empfang von Schriftstücken als Empfangsbevollmächtigter (§ 123 AO) ist bestellt:
        */
        @ApiMember(Description="Zum Empfang von Schriftstücken als Empfangsbevollmächtigter (§ 123 AO) ist bestellt:", Name="E3201401")
        public BoolXTyp e3201401 = null;

        /**
        * Name
        */
        @ApiMember(Description="Name", Name="E3201501")
        public StringTyp e3201501 = null;

        /**
        * Straße
        */
        @ApiMember(Description="Straße", Name="E3201601")
        public StringTyp e3201601 = null;

        /**
        * Hausnummer
        */
        @ApiMember(Description="Hausnummer", Name="E3201302")
        public StringTyp e3201302 = null;

        /**
        * Hausnummerzusatz
        */
        @ApiMember(Description="Hausnummerzusatz", Name="E3201303")
        public StringTyp e3201303 = null;

        /**
        * Adressergänzung
        */
        @ApiMember(Description="Adressergänzung", Name="E3201304")
        public StringTyp e3201304 = null;

        /**
        * Postleitzahl
        */
        @ApiMember(Description="Postleitzahl", Name="E3201403")
        public StringTyp e3201403 = null;

        /**
        * Ort
        */
        @ApiMember(Description="Ort", Name="E3201404")
        public StringTyp e3201404 = null;

        /**
        * Postleitzahl zu Postfach
        */
        @ApiMember(Description="Postleitzahl zu Postfach", Name="E3201503")
        public StringTyp e3201503 = null;

        /**
        * Postfach
        */
        @ApiMember(Description="Postfach", Name="E3201504")
        public StringTyp e3201504 = null;

        /**
        * Bevollmächtigter/Empfangsbevollmächtigter Kontakt
        */
        @ApiMember(Description="Bevollmächtigter/Empfangsbevollmächtigter Kontakt", Name="Kontakt")
        public VollmKontakt2023 kontakt = null;

        /**
        * Angaben zur Unterschrift
        */
        @ApiMember(Description="Angaben zur Unterschrift", Name="AngUnterschr")
        public AngUnterschr2023 angUnterschr = null;
        
        public BoolXTyp isE3201301() { return e3201301; }
        public Vollm2023 setE3201301(BoolXTyp value) { this.e3201301 = value; return this; }
        public BoolXTyp isE3201401() { return e3201401; }
        public Vollm2023 setE3201401(BoolXTyp value) { this.e3201401 = value; return this; }
        public StringTyp getE3201501() { return e3201501; }
        public Vollm2023 setE3201501(StringTyp value) { this.e3201501 = value; return this; }
        public StringTyp getE3201601() { return e3201601; }
        public Vollm2023 setE3201601(StringTyp value) { this.e3201601 = value; return this; }
        public StringTyp getE3201302() { return e3201302; }
        public Vollm2023 setE3201302(StringTyp value) { this.e3201302 = value; return this; }
        public StringTyp getE3201303() { return e3201303; }
        public Vollm2023 setE3201303(StringTyp value) { this.e3201303 = value; return this; }
        public StringTyp getE3201304() { return e3201304; }
        public Vollm2023 setE3201304(StringTyp value) { this.e3201304 = value; return this; }
        public StringTyp getE3201403() { return e3201403; }
        public Vollm2023 setE3201403(StringTyp value) { this.e3201403 = value; return this; }
        public StringTyp getE3201404() { return e3201404; }
        public Vollm2023 setE3201404(StringTyp value) { this.e3201404 = value; return this; }
        public StringTyp getE3201503() { return e3201503; }
        public Vollm2023 setE3201503(StringTyp value) { this.e3201503 = value; return this; }
        public StringTyp getE3201504() { return e3201504; }
        public Vollm2023 setE3201504(StringTyp value) { this.e3201504 = value; return this; }
        public VollmKontakt2023 getKontakt() { return kontakt; }
        public Vollm2023 setKontakt(VollmKontakt2023 value) { this.kontakt = value; return this; }
        public AngUnterschr2023 getAngUnterschr() { return angUnterschr; }
        public Vollm2023 setAngUnterschr(AngUnterschr2023 value) { this.angUnterschr = value; return this; }
    }

    /**
    * Bevollmächtigter/Empfangsbevollmächtigter Kontakt.
    */
    @Api(Description="Bevollmächtigter/Empfangsbevollmächtigter Kontakt.")
    public static class VollmKontakt2023
    {
        /**
        * Telefon
        */
        @ApiMember(Description="Telefon", Name="E3201602")
        public StringTyp e3201602 = null;

        /**
        * E-Mail-Adresse
        */
        @ApiMember(Description="E-Mail-Adresse", Name="E3201502")
        public StringTyp e3201502 = null;
        
        public StringTyp getE3201602() { return e3201602; }
        public VollmKontakt2023 setE3201602(StringTyp value) { this.e3201602 = value; return this; }
        public StringTyp getE3201502() { return e3201502; }
        public VollmKontakt2023 setE3201502(StringTyp value) { this.e3201502 = value; return this; }
    }

    /**
    * Angaben zur Unterschrift.
    */
    @Api(Description="Angaben zur Unterschrift.")
    public static class AngUnterschr2023
    {
        /**
        * Die Umsatzsteuererklärung wurde vom Bevollmächtigten elektronisch authentifiziert übermittelt. Die Voraussetzungen des § 150 Absatz 3 AO liegen vor.
        */
        @ApiMember(Description="Die Umsatzsteuererklärung wurde vom Bevollmächtigten elektronisch authentifiziert übermittelt. Die Voraussetzungen des § 150 Absatz 3 AO liegen vor.", Name="E3201701")
        public BoolXTyp e3201701 = null;
        
        public BoolXTyp isE3201701() { return e3201701; }
        public AngUnterschr2023 setE3201701(BoolXTyp value) { this.e3201701 = value; return this; }
    }

    /**
    * Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern.
    */
    @Api(Description="Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern.")
    public static class VoStVerguetBZSt2023
    {
        /**
        * Ist für das Kalenderjahr 2023 die Vergütung von Vorsteuern in einem besonderen Verfahren (§ 18 Absatz 9 UStG, §§ 59 bis 61a UStDV) beantragt worden?
        */
        @ApiMember(Description="Ist für das Kalenderjahr 2023 die Vergütung von Vorsteuern in einem besonderen Verfahren (§ 18 Absatz 9 UStG, §§ 59 bis 61a UStDV) beantragt worden?", IsRequired=true, Name="E3201101")
        @Validate(Validator="NotNull")
        public Bool12Typ e3201101 = null;
        
        public Bool12Typ isE3201101() { return e3201101; }
        public VoStVerguetBZSt2023 setE3201101(Bool12Typ value) { this.e3201101 = value; return this; }
    }

    /**
    * Boolescher Datentyp, welcher als '1' (Ja) oder '2' (Nein) im Jahressteuererklärung angeschrieben wird.
    */
    @Api(Description="Boolescher Datentyp, welcher als '1' (Ja) oder '2' (Nein) im Jahressteuererklärung angeschrieben wird.")
    public static class Bool12Typ extends CustomTypBase
    {
        /**
        * Wenn der Wert true ist, '1' wird im Jahressteuererklärung angeschrieben; ansonsten '2'.
        */
        @ApiMember(Description="Wenn der Wert true ist, '1' wird im Jahressteuererklärung angeschrieben; ansonsten '2'.", IsRequired=true, Name="Wert")
        public Boolean wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public Boolean isWert() { return wert; }
        public Bool12Typ setWert(Boolean value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public Bool12Typ setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * C. Anrechenbare Beträge.
    */
    @Api(Description="C. Anrechenbare Beträge.")
    public static class AnrechBetr2023
    {
        /**
        * Bei der Beförderungseinzelbesteuerung entrichtete Umsatzsteuer (§ 18 Absatz 5b Satz 2 UStG) - Belege bitte gesondert übermitteln -
        */
        @ApiMember(Description="Bei der Beförderungseinzelbesteuerung entrichtete Umsatzsteuer (§ 18 Absatz 5b Satz 2 UStG) - Belege bitte gesondert übermitteln -", Name="E3201902")
        public GeldBetragMitCent12DETyp e3201902 = null;

        /**
        * Entrichtete Sicherheitsleistungen (§ 18 Absatz 12 Satz 5 UStG) - Belege bitte gesondert übermitteln -
        */
        @ApiMember(Description="Entrichtete Sicherheitsleistungen (§ 18 Absatz 12 Satz 5 UStG) - Belege bitte gesondert übermitteln -", Name="E3202002")
        public GeldBetragMitCent12DETyp e3202002 = null;

        /**
        * Summe (zu übertragen in Zeile 116 der Steuererklärung)
        */
        @ApiMember(Description="Summe (zu übertragen in Zeile 116 der Steuererklärung)", Name="E3202102")
        public GeldBetragMitCent12DETyp e3202102 = null;
        
        public GeldBetragMitCent12DETyp getE3201902() { return e3201902; }
        public AnrechBetr2023 setE3201902(GeldBetragMitCent12DETyp value) { this.e3201902 = value; return this; }
        public GeldBetragMitCent12DETyp getE3202002() { return e3202002; }
        public AnrechBetr2023 setE3202002(GeldBetragMitCent12DETyp value) { this.e3202002 = value; return this; }
        public GeldBetragMitCent12DETyp getE3202102() { return e3202102; }
        public AnrechBetr2023 setE3202102(GeldBetragMitCent12DETyp value) { this.e3202102 = value; return this; }
    }

    /**
    * Ergänzende Angaben zu Umsätzen.
    */
    @Api(Description="Ergänzende Angaben zu Umsätzen.")
    public static class UnErgAngUms2023
    {
        /**
        * Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)
        */
        @ApiMember(Description="Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)", Name="Tabelle")
        public UnErgAngUmsTabelle2023 tabelle = null;
        
        public UnErgAngUmsTabelle2023 getTabelle() { return tabelle; }
        public UnErgAngUms2023 setTabelle(UnErgAngUmsTabelle2023 value) { this.tabelle = value; return this; }
    }

    /**
    * Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)
    */
    @Api(Description="Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)")
    public static class UnErgAngUmsTabelle2023
    {
        /**
        * In den steuerpflichtigen Umsätzen enthaltene Umsätze
        */
        @ApiMember(Description="In den steuerpflichtigen Umsätzen enthaltene Umsätze", Name="InstpflUmsEnt")
        public InstpflUmsEnt2023 instpflUmsEnt = null;
        
        public InstpflUmsEnt2023 getInstpflUmsEnt() { return instpflUmsEnt; }
        public UnErgAngUmsTabelle2023 setInstpflUmsEnt(InstpflUmsEnt2023 value) { this.instpflUmsEnt = value; return this; }
    }

    /**
    * In den steuerpflichtigen Umsätzen enthaltene Umsätze.
    */
    @Api(Description="In den steuerpflichtigen Umsätzen enthaltene Umsätze.")
    public static class InstpflUmsEnt2023
    {
        /**
        * Innergemeinschaftliche Fernverkäufe aus dem übrigen Gemeinschaftsgebiet (§ 3c UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
        */
        @ApiMember(Description="Innergemeinschaftliche Fernverkäufe aus dem übrigen Gemeinschaftsgebiet (§ 3c UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="E3201901")
        public GeldBetragOhneCent12DETyp e3201901 = null;
        
        public GeldBetragOhneCent12DETyp getE3201901() { return e3201901; }
        public InstpflUmsEnt2023 setE3201901(GeldBetragOhneCent12DETyp value) { this.e3201901 = value; return this; }
    }

    /**
    * Anlage FV zur Umsatzsteuererklärung 2023
    */
    @Api(Description="Anlage FV zur Umsatzsteuererklärung 2023")
    public static class FV2023
    {
        /**
        * Aufstellung aller vertretenen Unternehmer
        */
        @ApiMember(Description="Aufstellung aller vertretenen Unternehmer", Name="AufstAllerVertrUnt")
        public AufstAllerVertrUnt2023 aufstAllerVertrUnt = null;
        
        public AufstAllerVertrUnt2023 getAufstAllerVertrUnt() { return aufstAllerVertrUnt; }
        public FV2023 setAufstAllerVertrUnt(AufstAllerVertrUnt2023 value) { this.aufstAllerVertrUnt = value; return this; }
    }

    /**
    * Aufstellung aller vertretenen Unternehmer
    */
    @Api(Description="Aufstellung aller vertretenen Unternehmer")
    public static class AufstAllerVertrUnt2023
    {
        /**
        * Die vertretenen Unternehmer
        */
        @ApiMember(Description="Die vertretenen Unternehmer", Name="Einzs")
        public ArrayList<Einz2023> einzs = null;

        /**
        * Die Summe
        */
        @ApiMember(Description="Die Summe", Name="Sum")
        public AufstAllerVertrUntSum2023 sum = null;
        
        public ArrayList<Einz2023> getEinzs() { return einzs; }
        public AufstAllerVertrUnt2023 setEinzs(ArrayList<Einz2023> value) { this.einzs = value; return this; }
        public AufstAllerVertrUntSum2023 getSum() { return sum; }
        public AufstAllerVertrUnt2023 setSum(AufstAllerVertrUntSum2023 value) { this.sum = value; return this; }
    }

    /**
    * Einzelner vertretene Unternehmer
    */
    @Api(Description="Einzelner vertretene Unternehmer")
    public static class Einz2023
    {
        /**
        * Name des vertretenen Unternehmers
        */
        @ApiMember(Description="Name des vertretenen Unternehmers", Name="E3300201")
        public StringTyp e3300201 = null;

        /**
        * Anschrift des vertretenen Unternehmers
        */
        @ApiMember(Description="Anschrift des vertretenen Unternehmers", Name="E3300202")
        public StringTyp e3300202 = null;

        /**
        * Falls vorhanden: Umsatzsteuer-Identifikationsnummer des vertretenen Unternehmers
        */
        @ApiMember(Description="Falls vorhanden: Umsatzsteuer-Identifikationsnummer des vertretenen Unternehmers", Name="E3300203")
        public StringTyp e3300203 = null;

        /**
        * Summe der jeweiligen Bemessungsgrundlagen in EUR
        */
        @ApiMember(Description="Summe der jeweiligen Bemessungsgrundlagen in EUR", Name="E3300204")
        public GeldBetragOhneCent12DETyp e3300204 = null;
        
        public StringTyp getE3300201() { return e3300201; }
        public Einz2023 setE3300201(StringTyp value) { this.e3300201 = value; return this; }
        public StringTyp getE3300202() { return e3300202; }
        public Einz2023 setE3300202(StringTyp value) { this.e3300202 = value; return this; }
        public StringTyp getE3300203() { return e3300203; }
        public Einz2023 setE3300203(StringTyp value) { this.e3300203 = value; return this; }
        public GeldBetragOhneCent12DETyp getE3300204() { return e3300204; }
        public Einz2023 setE3300204(GeldBetragOhneCent12DETyp value) { this.e3300204 = value; return this; }
    }

    /**
    * Summe
    */
    @Api(Description="Summe")
    public static class AufstAllerVertrUntSum2023
    {
        /**
        *  Summe in EUR
        */
        @ApiMember(Description=" Summe in EUR", Name="E3300301")
        public GeldBetragOhneCent12DETyp e3300301 = null;
        
        public GeldBetragOhneCent12DETyp getE3300301() { return e3300301; }
        public AufstAllerVertrUntSum2023 setE3300301(GeldBetragOhneCent12DETyp value) { this.e3300301 = value; return this; }
    }

    /**
    * Datentyp, welches den Vorgang bei einer Veranlagung darstellt.
    */
    @Api(Description="Datentyp, welches den Vorgang bei einer Veranlagung darstellt.")
    public static class VeranlagungVorgangTyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.
        */
        @ApiMember(Description="Wert des Datentyps.", IsRequired=true, Name="Wert")
        public VeranlagungVorgang wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public VeranlagungVorgang getWert() { return wert; }
        public VeranlagungVorgangTyp setWert(VeranlagungVorgang value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public VeranlagungVorgangTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Stellt den Vorgang bei einer Veranlagung dar.
    */
    public static enum VeranlagungVorgang
    {
        NurVeranlagung(1),
        VeranlagungMitVorauszahlung(4);

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

    /**
    * Datentyp, welches die ermittelten Ordnungsbegriff zu füllen darstellt.
    */
    @Api(Description="Datentyp, welches die ermittelten Ordnungsbegriff zu füllen darstellt.")
    public static class OrdNrArtTyp extends CustomTypBase
    {
        /**
        * Wert des Datentyps.
        */
        @ApiMember(Description="Wert des Datentyps.", IsRequired=true, Name="Wert")
        public OrdNrArt wert = null;

        /**
        * Identifizierung der Zeile / Typ im Fremdprogramm.
        */
        @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
        public String alias = null;
        
        public OrdNrArt getWert() { return wert; }
        public OrdNrArtTyp setWert(OrdNrArt value) { this.wert = value; return this; }
        public String getAlias() { return alias; }
        public OrdNrArtTyp setAlias(String value) { this.alias = value; return this; }
    }

    /**
    * Stellt die Art der Ordnungsnummer dar.
    */
    public static enum OrdNrArt
    {
        S,
        O;
    }

    /**
    * Stellt die Informationen zur Bescheidrückübermittlung für die neue Struktur der Jahrresteuererklärung dar.
    */
    @Api(Description="Stellt die Informationen zur Bescheidrückübermittlung für die neue Struktur der Jahrresteuererklärung dar.")
    public static class E50Rueckuebermittlung
    {
        /**
        * Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?
        */
        @ApiMember(Description="Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?")
        public Bool12Typ bescheid = null;

        /**
        * Art der Benachrichtigung über vorliegende Bescheiddaten zur Abholung.
        */
        @ApiMember(Description="Art der Benachrichtigung über vorliegende Bescheiddaten zur Abholung.")
        public StringTyp artRueckuebermittlung = null;

        /**
        * Schlüssel unter dem die Bescheiddaten verschlüsselt zur Abholung bereitgestellt werden sollen
        */
        @ApiMember(Description="Schlüssel unter dem die Bescheiddaten verschlüsselt zur Abholung bereitgestellt werden sollen")
        public StringTyp schluesselRueckuebermittlung = null;

        /**
        * Benachrichtigungsadresse (in der Regel E-Mail-Adresse) für die Benachrichtigung über die elektronische Bereitstellung der Bescheiddaten.
        */
        @ApiMember(Description="Benachrichtigungsadresse (in der Regel E-Mail-Adresse) für die Benachrichtigung über die elektronische Bereitstellung der Bescheiddaten.")
        public StringTyp adresseRueckuebermittlung = null;
        
        public Bool12Typ isBescheid() { return bescheid; }
        public E50Rueckuebermittlung setBescheid(Bool12Typ value) { this.bescheid = value; return this; }
        public StringTyp getArtRueckuebermittlung() { return artRueckuebermittlung; }
        public E50Rueckuebermittlung setArtRueckuebermittlung(StringTyp value) { this.artRueckuebermittlung = value; return this; }
        public StringTyp getSchluesselRueckuebermittlung() { return schluesselRueckuebermittlung; }
        public E50Rueckuebermittlung setSchluesselRueckuebermittlung(StringTyp value) { this.schluesselRueckuebermittlung = value; return this; }
        public StringTyp getAdresseRueckuebermittlung() { return adresseRueckuebermittlung; }
        public E50Rueckuebermittlung setAdresseRueckuebermittlung(StringTyp value) { this.adresseRueckuebermittlung = 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; }
    }

    /**
    * 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 SubmitUmsatzsteuererklaerung2023 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 /SubmitUmsatzsteuererklaerung2023 HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	berErkl: 
	{
		e3000601: 
		{
			wert: False,
			alias: String
		}
	},
	allg: 
	{
		unternehmen: 
		{
			e3000901: 
			{
				wert: String,
				alias: String
			},
			e3000902: 
			{
				wert: String,
				alias: String
			},
			e3001001: 
			{
				wert: String,
				alias: String
			},
			adr: 
			{
				e3001101: 
				{
					wert: String,
					alias: String
				},
				e3001203: 
				{
					wert: String,
					alias: String
				},
				e3001204: 
				{
					wert: String,
					alias: String
				},
				e3001205: 
				{
					wert: String,
					alias: String
				},
				e3001206: 
				{
					wert: String,
					alias: String
				},
				e3001207: 
				{
					wert: String,
					alias: String
				},
				e3001403: 
				{
					wert: String,
					alias: String
				},
				e3001404: 
				{
					wert: String,
					alias: String
				}
			},
			kontakt: 
			{
				e3001202: 
				{
					wert: String,
					alias: String
				},
				e3001301: 
				{
					wert: String,
					alias: String
				}
			}
		},
		imAuslAnsUnt: 
		{
			e3001402: 
			{
				wert: False,
				alias: String
			}
		},
		fiskalvetr: 
		{
			e3001801: 
			{
				wert: False,
				alias: String
			}
		},
		dauerUntEig: 
		{
			e3001401: 
			{
				wert: 
				{
					start: 0001-01-01,
					ende: 0001-01-01
				},
				alias: String
			},
			e3001501: 
			{
				wert: 
				{
					start: 0001-01-01,
					ende: 0001-01-01
				},
				alias: String
			}
		},
		bestArt: 
		{
			e3002203: 
			{
				wert: 1,
				alias: String
			}
		},
		verrech: 
		{
			e3001701: 
			{
				wert: False,
				alias: String
			}
		},
		ergAngErkl: 
		{
			e3002201: 
			{
				wert: False,
				alias: String
			},
			e3002202: 
			{
				wert: String,
				alias: String
			}
		}
	},
	mitwirk: 
	{
		kanzlei: 
		{
			e3002509: 
			{
				wert: String,
				alias: String
			},
			e3002506: 
			{
				wert: String,
				alias: String
			},
			e3002507: 
			{
				wert: String,
				alias: String
			}
		},
		bearb: 
		{
			e3002501: 
			{
				wert: String,
				alias: String
			},
			e3002502: 
			{
				wert: String,
				alias: String
			}
		},
		adr: 
		{
			e3002503: 
			{
				wert: String,
				alias: String
			},
			e3002504: 
			{
				wert: String,
				alias: String
			}
		},
		kontakt: 
		{
			e3002505: 
			{
				wert: String,
				alias: String
			},
			e3002508: 
			{
				wert: String,
				alias: String
			}
		},
		mitwirkErkl: 
		{
			e3002602: 
			{
				wert: False,
				alias: String
			}
		}
	},
	kleinuntern: 
	{
		tabelle: 
		{
			e3002301: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3002401: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			}
		}
	},
	umsaetze: 
	{
		tabelle: 
		{
			umsAllg: 
			{
				e3003303: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3003304: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				unent_Wertabgaben: 
				{
					e3003405: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003406: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003505: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003506: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			},
			umsErm: 
			{
				e3004401: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3004402: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				unent_Wertabgaben: 
				{
					e3003703: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003704: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003803: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003804: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			},
			umsErm0: 
			{
				e3002801: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				unent_Wertabgaben: 
				{
					e3002901: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3003001: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			},
			umsAnd: 
			{
				e3005001: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3005002: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			umsLuf: 
			{
				e3005201: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3005005: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3005006: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3005801: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			wechsBestForm: 
			{
				e3102901: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			nachstStSatzAend: 
			{
				e3005901: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			umsSum: 
			{
				e3006001: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	umsStfrei: 
	{
		tabelle: 
		{
			mitVoStAbz: 
			{
				igLfg: 
				{
					e3103301: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3103401: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3103501: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				},
				umsStFreiWeit: 
				{
					e3103801: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3103901: 
					{
						wert: String,
						alias: String
					},
					e3103902: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3104001: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3104101: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3104201: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			},
			ohneVoStAbz: 
			{
				nichtGesUms: 
				{
					e3104401: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3104501: 
					{
						wert: String,
						alias: String
					},
					e3104502: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3104601: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				},
				gesUms: 
				{
					e3104901: 
					{
						wert: String,
						alias: String
					},
					e3104902: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			}
		}
	},
	igErw: 
	{
		tabelle: 
		{
			stfrei: 
			{
				e3100901: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			stpfl: 
			{
				e3100902: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3100903: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101301: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101302: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101305: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101303: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101304: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101401: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101402: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			igErwSum: 
			{
				e3101501: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	auslag13a: 
	{
		tabelle: 
		{
			e3102804: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102805: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			auslag13aSum: 
			{
				e3102904: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	igDrei: 
	{
		tabelle: 
		{
			lfgErstAbn: 
			{
				e3101801: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			lfgLetztAbn: 
			{
				e3101701: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3101702: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3102301: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3102302: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3102305: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3102303: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3102304: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			igDreiSum: 
			{
				e3102401: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	ums13b: 
	{
		tabelle: 
		{
			e3102205: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102206: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102307: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102308: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102503: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3102504: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			ums13bSum: 
			{
				e3102601: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	ergAngUms: 
	{
		tabelle: 
		{
			e3105201: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105301: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105101: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105102: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105602: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105702: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105801: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3105901: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3106001: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3106101: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			}
		}
	},
	abzVoSt: 
	{
		tabelle: 
		{
			e3006201: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006301: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006401: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006503: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006502: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006601: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006701: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3006801: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			abzVoStSum: 
			{
				e3006901: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			ergAng: 
			{
				e3007001: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	berVoSt15a: 
	{
		grdstErstmVerw: 
		{
			e3007301: 
			{
				wert: False,
				alias: String
			},
			angGrdst: 
			{
				e3007401: 
				{
					wert: String,
					alias: String
				},
				e3007402: 
				{
					wert: 0001-01-01,
					alias: String
				},
				e3007403: 
				{
					wert: String,
					alias: String
				},
				e3007404: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3007405: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3007406: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		},
		aendVerh: 
		{
			e3007601: 
			{
				wert: False,
				alias: String
			},
			e3008501: 
			{
				wert: False,
				alias: String
			},
			e3008601: 
			{
				wert: False,
				alias: String
			}
		},
		grundAendVerh: 
		{
			e3007801: 
			{
				wert: False,
				alias: String
			},
			e3007802: 
			{
				wert: False,
				alias: String
			},
			e3007803: 
			{
				wert: False,
				alias: String
			},
			nutzAend: 
			{
				e3007901: 
				{
					wert: False,
					alias: String
				},
				e3008001: 
				{
					wert: False,
					alias: String
				},
				e3008202: 
				{
					wert: False,
					alias: String
				},
				e3008401: 
				{
					wert: False,
					alias: String
				},
				e3008402: 
				{
					wert: String,
					alias: String
				}
			}
		},
		voStBerBetr: 
		{
			tabelle: 
			{
				e3008701: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3008702: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3008801: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3008802: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3008803: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3008804: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				voStBerBetrSum: 
				{
					e3008901: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					},
					e3008902: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			}
		}
	},
	berechUSt: 
	{
		tabelle: 
		{
			e3009201: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009401: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009602: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009501: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009502: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009801: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009901: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010001: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010201: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3009701: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010301: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010401: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010501: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010601: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3010602: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			verblUSt: 
			{
				e3011101: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				},
				e3011301: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			},
			zahlErstatt: 
			{
				e3011401: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	un: 
	{
		allg: 
		{
			bank: 
			{
				e3201001: 
				{
					wert: String,
					alias: String
				},
				e3201002: 
				{
					wert: String,
					alias: String
				},
				e3200901: 
				{
					wert: String,
					alias: String
				},
				e3200902: 
				{
					wert: String,
					alias: String
				},
				e3200904: 
				{
					wert: False,
					alias: String
				},
				e3200905: 
				{
					wert: String,
					alias: String
				}
			},
			vollm: 
			{
				e3201301: 
				{
					wert: False,
					alias: String
				},
				e3201401: 
				{
					wert: False,
					alias: String
				},
				e3201501: 
				{
					wert: String,
					alias: String
				},
				e3201601: 
				{
					wert: String,
					alias: String
				},
				e3201302: 
				{
					wert: String,
					alias: String
				},
				e3201303: 
				{
					wert: String,
					alias: String
				},
				e3201304: 
				{
					wert: String,
					alias: String
				},
				e3201403: 
				{
					wert: String,
					alias: String
				},
				e3201404: 
				{
					wert: String,
					alias: String
				},
				e3201503: 
				{
					wert: String,
					alias: String
				},
				e3201504: 
				{
					wert: String,
					alias: String
				},
				kontakt: 
				{
					e3201602: 
					{
						wert: String,
						alias: String
					},
					e3201502: 
					{
						wert: String,
						alias: String
					}
				},
				angUnterschr: 
				{
					e3201701: 
					{
						wert: False,
						alias: String
					}
				}
			}
		},
		voStVerguetBZSt: 
		{
			e3201101: 
			{
				wert: False,
				alias: String
			}
		},
		anrechBetr: 
		{
			e3201902: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3202002: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			},
			e3202102: 
			{
				betrag: 
				{
					wert: 0
				},
				alias: String
			}
		},
		ergAngUms: 
		{
			tabelle: 
			{
				instpflUmsEnt: 
				{
					e3201901: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			}
		}
	},
	fv: 
	{
		aufstAllerVertrUnt: 
		{
			einzs: 
			[
				{
					e3300201: 
					{
						wert: String,
						alias: String
					},
					e3300202: 
					{
						wert: String,
						alias: String
					},
					e3300203: 
					{
						wert: String,
						alias: String
					},
					e3300204: 
					{
						betrag: 
						{
							wert: 0
						},
						alias: String
					}
				}
			],
			sum: 
			{
				e3300301: 
				{
					betrag: 
					{
						wert: 0
					},
					alias: String
				}
			}
		}
	},
	vorgang: 
	{
		wert: NurVeranlagung,
		alias: String
	},
	stNr: 
	{
		wert: String,
		alias: String
	},
	ordnungsbegriff: 
	{
		wert: String,
		alias: String
	},
	id: 
	{
		wert: String,
		alias: String
	},
	idEhefrau: 
	{
		wert: String,
		alias: String
	},
	absName: 
	{
		wert: String,
		alias: String
	},
	absStr: 
	{
		wert: String,
		alias: String
	},
	absPlz: 
	{
		wert: String,
		alias: String
	},
	absOrt: 
	{
		wert: String,
		alias: String
	},
	copyright: 
	{
		wert: String,
		alias: String
	},
	teleNummer: 
	{
		wert: String,
		alias: String
	},
	ordNrArt: 
	{
		wert: S,
		alias: String
	},
	rueckuebermittlung: 
	{
		bescheid: 
		{
			wert: False,
			alias: String
		},
		artRueckuebermittlung: 
		{
			wert: String,
			alias: String
		},
		schluesselRueckuebermittlung: 
		{
			wert: String,
			alias: String
		},
		adresseRueckuebermittlung: 
		{
			wert: String,
			alias: String
		}
	},
	bundesfinanzamtsnummer: String,
	datenLieferant: String,
	duplexDruck: False,
	protocolPrefix: String,
	fussText: String,
	zertifikat: 
	{
		id: 00000000000000000000000000000000,
		index: 0,
		pin: String,
		description: String,
		tags: 
		[
			String
		],
		name: String,
		content: AA==
	}
}
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
		}
	}
}