Tax Filing Service

<back to all web services

CreateUmsatzsteuererklaerung2023Xml

SyncUmsatzsteuerJahressteuererklärung2023

A synchronous service to create XML content that represents the annual VAT return for 2023.

Requires Authentication
The following routes are available for this service:
POST/CreateUmsatzsteuererklaerung2023XmlA synchronous service to create xml content that represents the annual VAT return for 2023
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

/**
* Basisklasse für einen benutzerdefinierten Datentyp
*/
// @Api(Description="Basisklasse für einen benutzerdefinierten Datentyp")
abstract class CustomTypBase implements ICustomTyp
{
    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    CustomTypBase({this.alias});
    CustomTypBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'alias': alias
    };

    getTypeName() => "CustomTypBase";
    TypeContext? context = _ctx;
}

/**
* 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.")
class Bool1Typ extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    bool? wert;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    Bool1Typ({this.wert,this.alias});
    Bool1Typ.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert,
        'alias': alias
    });

    getTypeName() => "Bool1Typ";
    TypeContext? context = _ctx;
}

/**
* Berichtigte Erklärung
*/
// @Api(Description="Berichtigte Erklärung")
class BerErkl2023 implements IConvertible
{
    /**
    * Berichtigte Steuererklärung
    */
    // @ApiMember(Description="Berichtigte Steuererklärung", Name="E3000601")
    Bool1Typ? e3000601;

    BerErkl2023({this.e3000601});
    BerErkl2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3000601 = JsonConverters.fromJson(json['e3000601'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3000601': JsonConverters.toJson(e3000601,'Bool1Typ',context!)
    };

    getTypeName() => "BerErkl2023";
    TypeContext? context = _ctx;
}

/**
* Zeichenkettenfeld.
*/
// @Api(Description="Zeichenkettenfeld.")
class StringTyp extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    String? wert;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    StringTyp({this.wert,this.alias});
    StringTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert,
        'alias': alias
    });

    getTypeName() => "StringTyp";
    TypeContext? context = _ctx;
}

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

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

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

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

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

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

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

    /**
    * Postfach
    */
    // @ApiMember(Description="Postfach", Name="E3001404")
    StringTyp? e3001404;

    UnternehmenAdr2023({this.e3001101,this.e3001203,this.e3001204,this.e3001205,this.e3001206,this.e3001207,this.e3001403,this.e3001404});
    UnternehmenAdr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001101 = JsonConverters.fromJson(json['e3001101'],'StringTyp',context!);
        e3001203 = JsonConverters.fromJson(json['e3001203'],'StringTyp',context!);
        e3001204 = JsonConverters.fromJson(json['e3001204'],'StringTyp',context!);
        e3001205 = JsonConverters.fromJson(json['e3001205'],'StringTyp',context!);
        e3001206 = JsonConverters.fromJson(json['e3001206'],'StringTyp',context!);
        e3001207 = JsonConverters.fromJson(json['e3001207'],'StringTyp',context!);
        e3001403 = JsonConverters.fromJson(json['e3001403'],'StringTyp',context!);
        e3001404 = JsonConverters.fromJson(json['e3001404'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001101': JsonConverters.toJson(e3001101,'StringTyp',context!),
        'e3001203': JsonConverters.toJson(e3001203,'StringTyp',context!),
        'e3001204': JsonConverters.toJson(e3001204,'StringTyp',context!),
        'e3001205': JsonConverters.toJson(e3001205,'StringTyp',context!),
        'e3001206': JsonConverters.toJson(e3001206,'StringTyp',context!),
        'e3001207': JsonConverters.toJson(e3001207,'StringTyp',context!),
        'e3001403': JsonConverters.toJson(e3001403,'StringTyp',context!),
        'e3001404': JsonConverters.toJson(e3001404,'StringTyp',context!)
    };

    getTypeName() => "UnternehmenAdr2023";
    TypeContext? context = _ctx;
}

/**
* Kontakt eines Unternehmens
*/
// @Api(Description="Kontakt eines Unternehmens")
class UnternehmenKontakt2023 implements IConvertible
{
    /**
    * Telefon
    */
    // @ApiMember(Description="Telefon", Name="E3001202")
    StringTyp? e3001202;

    /**
    * E-Mail Adresse
    */
    // @ApiMember(Description="E-Mail Adresse", Name="E3001301")
    StringTyp? e3001301;

    UnternehmenKontakt2023({this.e3001202,this.e3001301});
    UnternehmenKontakt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001202 = JsonConverters.fromJson(json['e3001202'],'StringTyp',context!);
        e3001301 = JsonConverters.fromJson(json['e3001301'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001202': JsonConverters.toJson(e3001202,'StringTyp',context!),
        'e3001301': JsonConverters.toJson(e3001301,'StringTyp',context!)
    };

    getTypeName() => "UnternehmenKontakt2023";
    TypeContext? context = _ctx;
}

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

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

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

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

    /**
    * Kontakt
    */
    // @ApiMember(Description="Kontakt", Name="Kontakt")
    UnternehmenKontakt2023? kontakt;

    Unternehmen2023({this.e3000901,this.e3000902,this.e3001001,this.adr,this.kontakt});
    Unternehmen2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3000901 = JsonConverters.fromJson(json['e3000901'],'StringTyp',context!);
        e3000902 = JsonConverters.fromJson(json['e3000902'],'StringTyp',context!);
        e3001001 = JsonConverters.fromJson(json['e3001001'],'StringTyp',context!);
        adr = JsonConverters.fromJson(json['adr'],'UnternehmenAdr2023',context!);
        kontakt = JsonConverters.fromJson(json['kontakt'],'UnternehmenKontakt2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3000901': JsonConverters.toJson(e3000901,'StringTyp',context!),
        'e3000902': JsonConverters.toJson(e3000902,'StringTyp',context!),
        'e3001001': JsonConverters.toJson(e3001001,'StringTyp',context!),
        'adr': JsonConverters.toJson(adr,'UnternehmenAdr2023',context!),
        'kontakt': JsonConverters.toJson(kontakt,'UnternehmenKontakt2023',context!)
    };

    getTypeName() => "Unternehmen2023";
    TypeContext? context = _ctx;
}

/**
* Im Ausland ansässiger Unternehmer
*/
// @Api(Description="Im Ausland ansässiger Unternehmer")
class ImAuslAnsUnt2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3001402;

    ImAuslAnsUnt2023({this.e3001402});
    ImAuslAnsUnt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001402 = JsonConverters.fromJson(json['e3001402'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001402': JsonConverters.toJson(e3001402,'Bool1Typ',context!)
    };

    getTypeName() => "ImAuslAnsUnt2023";
    TypeContext? context = _ctx;
}

/**
* Fiskalvertreter
*/
// @Api(Description="Fiskalvertreter")
class Fiskalvertr2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3001801;

    Fiskalvertr2023({this.e3001801});
    Fiskalvertr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001801 = JsonConverters.fromJson(json['e3001801'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001801': JsonConverters.toJson(e3001801,'Bool1Typ',context!)
    };

    getTypeName() => "Fiskalvertr2023";
    TypeContext? context = _ctx;
}

/**
* Stellt ein Datumbereich dar (TT.MM-TT.MM) dar
*/
// @Api(Description="Stellt ein Datumbereich dar (TT.MM-TT.MM) dar")
class ErklaerungZeitraum implements IConvertible
{
    /**
    * Der Anfang des Datumbreiches.
    */
    // @ApiMember(Description="Der Anfang des Datumbreiches.", Name="Start")
    DateTime? start;

    /**
    * Das Ende des Datumbereiches.
    */
    // @ApiMember(Description="Das Ende des Datumbereiches.", Name="Ende")
    DateTime? ende;

    ErklaerungZeitraum({this.start,this.ende});
    ErklaerungZeitraum.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        start = JsonConverters.fromJson(json['start'],'DateTime',context!);
        ende = JsonConverters.fromJson(json['ende'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'start': JsonConverters.toJson(start,'DateTime',context!),
        'ende': JsonConverters.toJson(ende,'DateTime',context!)
    };

    getTypeName() => "ErklaerungZeitraum";
    TypeContext? context = _ctx;
}

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

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    ZeitraumTyp({this.wert,this.alias});
    ZeitraumTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.fromJson(json['wert'],'ErklaerungZeitraum',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': JsonConverters.toJson(wert,'ErklaerungZeitraum',context!),
        'alias': alias
    });

    getTypeName() => "ZeitraumTyp";
    TypeContext? context = _ctx;
}

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

    /**
    * 2. Zeitraum
    */
    // @ApiMember(Description="2. Zeitraum", Name="E3001501")
    ZeitraumTyp? e3001501;

    DauerUntEig2023({this.e3001401,this.e3001501});
    DauerUntEig2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001401 = JsonConverters.fromJson(json['e3001401'],'ZeitraumTyp',context!);
        e3001501 = JsonConverters.fromJson(json['e3001501'],'ZeitraumTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001401': JsonConverters.toJson(e3001401,'ZeitraumTyp',context!),
        'e3001501': JsonConverters.toJson(e3001501,'ZeitraumTyp',context!)
    };

    getTypeName() => "DauerUntEig2023";
    TypeContext? context = _ctx;
}

/**
* Art der Entgelte
*/
// @flags()
class Entgeltart
{
    static const Entgeltart VereinbarteEntgelte = const Entgeltart._(1);
    static const Entgeltart VereinnahmteEntgelte = const Entgeltart._(16);

    final int _value;
    const Entgeltart._(this._value);
    int get value => _value;
    static List<Entgeltart> get values => const [VereinbarteEntgelte,VereinnahmteEntgelte];
}

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

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    EntgeltartTyp({this.wert,this.alias});
    EntgeltartTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.fromJson(json['wert'],'Entgeltart',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': JsonConverters.toJson(wert,'Entgeltart',context!),
        'alias': alias
    });

    getTypeName() => "EntgeltartTyp";
    TypeContext? context = _ctx;
}

/**
* Besteuerung der Entgelte
*/
// @Api(Description="Besteuerung der Entgelte")
class BestArt2023 implements IConvertible
{
    /**
    * Die Steuer wurde berechnet nach
    */
    // @ApiMember(Description="Die Steuer wurde berechnet nach", IsRequired=true, Name="E3002203")
    EntgeltartTyp? e3002203;

    BestArt2023({this.e3002203});
    BestArt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002203 = JsonConverters.fromJson(json['e3002203'],'EntgeltartTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002203': JsonConverters.toJson(e3002203,'EntgeltartTyp',context!)
    };

    getTypeName() => "BestArt2023";
    TypeContext? context = _ctx;
}

/**
* Verrechnung / Abtretung
*/
// @Api(Description="Verrechnung / Abtretung")
class Verrech2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3001701;

    Verrech2023({this.e3001701});
    Verrech2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3001701 = JsonConverters.fromJson(json['e3001701'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3001701': JsonConverters.toJson(e3001701,'Bool1Typ',context!)
    };

    getTypeName() => "Verrech2023";
    TypeContext? context = _ctx;
}

/**
* Ergänzende Angaben zur Steuererklärung
*/
// @Api(Description="Ergänzende Angaben zur Steuererklärung")
class ErgAngErkl2023 implements IConvertible
{
    /**
    * Ü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")
    Bool1Typ? e3002201;

    /**
    * Ergänzende Angaben zur Steuererklärung
    */
    // @ApiMember(Description="Ergänzende Angaben zur Steuererklärung", Name="E3002202")
    StringTyp? e3002202;

    ErgAngErkl2023({this.e3002201,this.e3002202});
    ErgAngErkl2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002201 = JsonConverters.fromJson(json['e3002201'],'Bool1Typ',context!);
        e3002202 = JsonConverters.fromJson(json['e3002202'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002201': JsonConverters.toJson(e3002201,'Bool1Typ',context!),
        'e3002202': JsonConverters.toJson(e3002202,'StringTyp',context!)
    };

    getTypeName() => "ErgAngErkl2023";
    TypeContext? context = _ctx;
}

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

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

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

    /**
    * 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")
    DauerUntEig2023? dauerUntEig;

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

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

    /**
    * Ergänzende Angaben zur Steuererklärung
    */
    // @ApiMember(Description="Ergänzende Angaben zur Steuererklärung", Name="ErgAngErkl")
    ErgAngErkl2023? ergAngErkl;

    Allg2023({this.unternehmen,this.imAuslAnsUnt,this.fiskalvetr,this.dauerUntEig,this.bestArt,this.verrech,this.ergAngErkl});
    Allg2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        unternehmen = JsonConverters.fromJson(json['unternehmen'],'Unternehmen2023',context!);
        imAuslAnsUnt = JsonConverters.fromJson(json['imAuslAnsUnt'],'ImAuslAnsUnt2023',context!);
        fiskalvetr = JsonConverters.fromJson(json['fiskalvetr'],'Fiskalvertr2023',context!);
        dauerUntEig = JsonConverters.fromJson(json['dauerUntEig'],'DauerUntEig2023',context!);
        bestArt = JsonConverters.fromJson(json['bestArt'],'BestArt2023',context!);
        verrech = JsonConverters.fromJson(json['verrech'],'Verrech2023',context!);
        ergAngErkl = JsonConverters.fromJson(json['ergAngErkl'],'ErgAngErkl2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'unternehmen': JsonConverters.toJson(unternehmen,'Unternehmen2023',context!),
        'imAuslAnsUnt': JsonConverters.toJson(imAuslAnsUnt,'ImAuslAnsUnt2023',context!),
        'fiskalvetr': JsonConverters.toJson(fiskalvetr,'Fiskalvertr2023',context!),
        'dauerUntEig': JsonConverters.toJson(dauerUntEig,'DauerUntEig2023',context!),
        'bestArt': JsonConverters.toJson(bestArt,'BestArt2023',context!),
        'verrech': JsonConverters.toJson(verrech,'Verrech2023',context!),
        'ergAngErkl': JsonConverters.toJson(ergAngErkl,'ErgAngErkl2023',context!)
    };

    getTypeName() => "Allg2023";
    TypeContext? context = _ctx;
}

class Kanzlei2023 implements IConvertible
{
    /**
    * Bearbeiterkennzeichen
    */
    // @ApiMember(Description="Bearbeiterkennzeichen", Name="E3002509")
    StringTyp? e3002509;

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

    /**
    * (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")
    StringTyp? e3002507;

    Kanzlei2023({this.e3002509,this.e3002506,this.e3002507});
    Kanzlei2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002509 = JsonConverters.fromJson(json['e3002509'],'StringTyp',context!);
        e3002506 = JsonConverters.fromJson(json['e3002506'],'StringTyp',context!);
        e3002507 = JsonConverters.fromJson(json['e3002507'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002509': JsonConverters.toJson(e3002509,'StringTyp',context!),
        'e3002506': JsonConverters.toJson(e3002506,'StringTyp',context!),
        'e3002507': JsonConverters.toJson(e3002507,'StringTyp',context!)
    };

    getTypeName() => "Kanzlei2023";
    TypeContext? context = _ctx;
}

class Bearb2023 implements IConvertible
{
    /**
    * Name
    */
    // @ApiMember(Description="Name", Name="E3002501")
    StringTyp? e3002501;

    /**
    * Vorname
    */
    // @ApiMember(Description="Vorname", Name="E3002502")
    StringTyp? e3002502;

    Bearb2023({this.e3002501,this.e3002502});
    Bearb2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002501 = JsonConverters.fromJson(json['e3002501'],'StringTyp',context!);
        e3002502 = JsonConverters.fromJson(json['e3002502'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002501': JsonConverters.toJson(e3002501,'StringTyp',context!),
        'e3002502': JsonConverters.toJson(e3002502,'StringTyp',context!)
    };

    getTypeName() => "Bearb2023";
    TypeContext? context = _ctx;
}

class MitwirkAdr2023 implements IConvertible
{
    /**
    * Straße, Hausnummer
    */
    // @ApiMember(Description="Straße, Hausnummer", Name="E3002503")
    StringTyp? e3002503;

    /**
    * Postleitzahl, Wohnort
    */
    // @ApiMember(Description="Postleitzahl, Wohnort", Name="E3002504")
    StringTyp? e3002504;

    MitwirkAdr2023({this.e3002503,this.e3002504});
    MitwirkAdr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002503 = JsonConverters.fromJson(json['e3002503'],'StringTyp',context!);
        e3002504 = JsonConverters.fromJson(json['e3002504'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002503': JsonConverters.toJson(e3002503,'StringTyp',context!),
        'e3002504': JsonConverters.toJson(e3002504,'StringTyp',context!)
    };

    getTypeName() => "MitwirkAdr2023";
    TypeContext? context = _ctx;
}

class MitwirkKontakt2023 implements IConvertible
{
    /**
    * Telefon
    */
    // @ApiMember(Description="Telefon", Name="E3002505")
    StringTyp? e3002505;

    /**
    * zusätzliche Angaben
    */
    // @ApiMember(Description="zusätzliche Angaben", Name="E3002508")
    StringTyp? e3002508;

    MitwirkKontakt2023({this.e3002505,this.e3002508});
    MitwirkKontakt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002505 = JsonConverters.fromJson(json['e3002505'],'StringTyp',context!);
        e3002508 = JsonConverters.fromJson(json['e3002508'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002505': JsonConverters.toJson(e3002505,'StringTyp',context!),
        'e3002508': JsonConverters.toJson(e3002508,'StringTyp',context!)
    };

    getTypeName() => "MitwirkKontakt2023";
    TypeContext? context = _ctx;
}

class MitwirkErkl2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3002602;

    MitwirkErkl2023({this.e3002602});
    MitwirkErkl2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002602 = JsonConverters.fromJson(json['e3002602'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002602': JsonConverters.toJson(e3002602,'Bool1Typ',context!)
    };

    getTypeName() => "MitwirkErkl2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class Mitwirk2023 implements IConvertible
{
    /**
    * Angaben zu den Kanzleien
    */
    // @ApiMember(Description="Angaben zu den Kanzleien", Name="Kanzlei")
    Kanzlei2023? kanzlei;

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

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

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

    /**
    * Mitwirkungen bei der Steuererklärung
    */
    // @ApiMember(Description="Mitwirkungen bei der Steuererklärung", Name="MitwirkErkl")
    MitwirkErkl2023? mitwirkErkl;

    Mitwirk2023({this.kanzlei,this.bearb,this.adr,this.kontakt,this.mitwirkErkl});
    Mitwirk2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        kanzlei = JsonConverters.fromJson(json['kanzlei'],'Kanzlei2023',context!);
        bearb = JsonConverters.fromJson(json['bearb'],'Bearb2023',context!);
        adr = JsonConverters.fromJson(json['adr'],'MitwirkAdr2023',context!);
        kontakt = JsonConverters.fromJson(json['kontakt'],'MitwirkKontakt2023',context!);
        mitwirkErkl = JsonConverters.fromJson(json['mitwirkErkl'],'MitwirkErkl2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'kanzlei': JsonConverters.toJson(kanzlei,'Kanzlei2023',context!),
        'bearb': JsonConverters.toJson(bearb,'Bearb2023',context!),
        'adr': JsonConverters.toJson(adr,'MitwirkAdr2023',context!),
        'kontakt': JsonConverters.toJson(kontakt,'MitwirkKontakt2023',context!),
        'mitwirkErkl': JsonConverters.toJson(mitwirkErkl,'MitwirkErkl2023',context!)
    };

    getTypeName() => "Mitwirk2023";
    TypeContext? context = _ctx;
}

/**
* 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")
abstract class GeldBetragOhneCent
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    GeldBetragOhneCent({this.wert});
    GeldBetragOhneCent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'wert': wert
    };

    getTypeName() => "GeldBetragOhneCent";
    TypeContext? context = _ctx;
}

/**
* 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")
class GeldBetragOhneCent5DE extends GeldBetragOhneCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    GeldBetragOhneCent5DE({this.wert});
    GeldBetragOhneCent5DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "GeldBetragOhneCent5DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class GeldBetragOhneCent5DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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)
    GeldBetragOhneCent5DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    GeldBetragOhneCent5DETyp({this.betrag,this.alias});
    GeldBetragOhneCent5DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'GeldBetragOhneCent5DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'GeldBetragOhneCent5DE',context!),
        'alias': alias
    });

    getTypeName() => "GeldBetragOhneCent5DETyp";
    TypeContext? context = _ctx;
}

/**
* 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")
abstract class GrossGeldBetragOhneCent
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    GrossGeldBetragOhneCent({this.wert});
    GrossGeldBetragOhneCent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'wert': wert
    };

    getTypeName() => "GrossGeldBetragOhneCent";
    TypeContext? context = _ctx;
}

/**
* 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.")
class GeldBetragOhneCent12DE extends GrossGeldBetragOhneCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    GeldBetragOhneCent12DE({this.wert});
    GeldBetragOhneCent12DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "GeldBetragOhneCent12DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class GeldBetragOhneCent12DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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)
    GeldBetragOhneCent12DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    GeldBetragOhneCent12DETyp({this.betrag,this.alias});
    GeldBetragOhneCent12DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'GeldBetragOhneCent12DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'GeldBetragOhneCent12DE',context!),
        'alias': alias
    });

    getTypeName() => "GeldBetragOhneCent12DETyp";
    TypeContext? context = _ctx;
}

/**
* Kleinenuntern Betrag Tabelle 2023
*/
// @Api(Description="Kleinenuntern Betrag Tabelle 2023")
class KleineunternTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent5DETyp? e3002301;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3002401;

    KleineunternTabelle2023({this.e3002301,this.e3002401});
    KleineunternTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002301 = JsonConverters.fromJson(json['e3002301'],'GeldBetragOhneCent5DETyp',context!);
        e3002401 = JsonConverters.fromJson(json['e3002401'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002301': JsonConverters.toJson(e3002301,'GeldBetragOhneCent5DETyp',context!),
        'e3002401': JsonConverters.toJson(e3002401,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "KleineunternTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Angaben der Besteuerung von Kleinunternehmer der Umsatzsteuererklärung.
*/
// @Api(Description="Angaben der Besteuerung von Kleinunternehmer der Umsatzsteuererklärung.")
class Kleinuntern2023 implements IConvertible
{
    /**
    * Betrag Tabelle
    */
    // @ApiMember(Description="Betrag Tabelle", Name="Tabelle")
    KleineunternTabelle2023? tabelle;

    Kleinuntern2023({this.tabelle});
    Kleinuntern2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'KleineunternTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'KleineunternTabelle2023',context!)
    };

    getTypeName() => "Kleinuntern2023";
    TypeContext? context = _ctx;
}

/**
* 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")
abstract class GeldBetragMitCent
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    double? wert;

    GeldBetragMitCent({this.wert});
    GeldBetragMitCent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        wert = JsonConverters.toDouble(json['wert']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'wert': wert
    };

    getTypeName() => "GeldBetragMitCent";
    TypeContext? context = _ctx;
}

/**
* 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.")
class GeldBetragMitCent12DE extends GeldBetragMitCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    double? wert;

    GeldBetragMitCent12DE({this.wert});
    GeldBetragMitCent12DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.toDouble(json['wert']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "GeldBetragMitCent12DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class GeldBetragMitCent12DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    GeldBetragMitCent12DETyp({this.betrag,this.alias});
    GeldBetragMitCent12DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'GeldBetragMitCent12DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'GeldBetragMitCent12DE',context!),
        'alias': alias
    });

    getTypeName() => "GeldBetragMitCent12DETyp";
    TypeContext? context = _ctx;
}

/**
* Umsätze zum Unentgeltliche Wertabgaben
*/
// @Api(Description="Umsätze zum Unentgeltliche Wertabgaben")
class UmsAllgUnentWertabgaben2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3003405;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3003406;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3003505;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3003506;

    UmsAllgUnentWertabgaben2023({this.e3003405,this.e3003406,this.e3003505,this.e3003506});
    UmsAllgUnentWertabgaben2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3003405 = JsonConverters.fromJson(json['e3003405'],'GeldBetragOhneCent12DETyp',context!);
        e3003406 = JsonConverters.fromJson(json['e3003406'],'GeldBetragMitCent12DETyp',context!);
        e3003505 = JsonConverters.fromJson(json['e3003505'],'GeldBetragOhneCent12DETyp',context!);
        e3003506 = JsonConverters.fromJson(json['e3003506'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3003405': JsonConverters.toJson(e3003405,'GeldBetragOhneCent12DETyp',context!),
        'e3003406': JsonConverters.toJson(e3003406,'GeldBetragMitCent12DETyp',context!),
        'e3003505': JsonConverters.toJson(e3003505,'GeldBetragOhneCent12DETyp',context!),
        'e3003506': JsonConverters.toJson(e3003506,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "UmsAllgUnentWertabgaben2023";
    TypeContext? context = _ctx;
}

/**
* Umsätze zum allgemeinen Steuersatz
*/
// @Api(Description="Umsätze zum allgemeinen Steuersatz")
class UmsAllg2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3003303;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3003304;

    /**
    * Umsätze zum Unentgeltliche Wertabgaben
    */
    // @ApiMember(Description="Umsätze zum Unentgeltliche Wertabgaben", Name="Unent_Wertabgaben")
    UmsAllgUnentWertabgaben2023? unent_Wertabgaben;

    UmsAllg2023({this.e3003303,this.e3003304,this.unent_Wertabgaben});
    UmsAllg2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3003303 = JsonConverters.fromJson(json['e3003303'],'GeldBetragOhneCent12DETyp',context!);
        e3003304 = JsonConverters.fromJson(json['e3003304'],'GeldBetragMitCent12DETyp',context!);
        unent_Wertabgaben = JsonConverters.fromJson(json['unent_Wertabgaben'],'UmsAllgUnentWertabgaben2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3003303': JsonConverters.toJson(e3003303,'GeldBetragOhneCent12DETyp',context!),
        'e3003304': JsonConverters.toJson(e3003304,'GeldBetragMitCent12DETyp',context!),
        'unent_Wertabgaben': JsonConverters.toJson(unent_Wertabgaben,'UmsAllgUnentWertabgaben2023',context!)
    };

    getTypeName() => "UmsAllg2023";
    TypeContext? context = _ctx;
}

/**
* Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben
*/
// @Api(Description="Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben")
class UmsErmUnentWertabgaben2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3003703;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3003704;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3003803;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3003804;

    UmsErmUnentWertabgaben2023({this.e3003703,this.e3003704,this.e3003803,this.e3003804});
    UmsErmUnentWertabgaben2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3003703 = JsonConverters.fromJson(json['e3003703'],'GeldBetragOhneCent12DETyp',context!);
        e3003704 = JsonConverters.fromJson(json['e3003704'],'GeldBetragMitCent12DETyp',context!);
        e3003803 = JsonConverters.fromJson(json['e3003803'],'GeldBetragOhneCent12DETyp',context!);
        e3003804 = JsonConverters.fromJson(json['e3003804'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3003703': JsonConverters.toJson(e3003703,'GeldBetragOhneCent12DETyp',context!),
        'e3003704': JsonConverters.toJson(e3003704,'GeldBetragMitCent12DETyp',context!),
        'e3003803': JsonConverters.toJson(e3003803,'GeldBetragOhneCent12DETyp',context!),
        'e3003804': JsonConverters.toJson(e3003804,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "UmsErmUnentWertabgaben2023";
    TypeContext? context = _ctx;
}

/**
* Umsätze zum ermäßigten Steuersatz
*/
// @Api(Description="Umsätze zum ermäßigten Steuersatz")
class UmsErm2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3004401;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3004402;

    /**
    * Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben
    */
    // @ApiMember(Description="Umsätze zum ermäßigten Steuersatz Unentgeltliche Wertabgaben", Name="Unent_Wertabgaben")
    UmsErmUnentWertabgaben2023? unent_Wertabgaben;

    UmsErm2023({this.e3004401,this.e3004402,this.unent_Wertabgaben});
    UmsErm2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3004401 = JsonConverters.fromJson(json['e3004401'],'GeldBetragOhneCent12DETyp',context!);
        e3004402 = JsonConverters.fromJson(json['e3004402'],'GeldBetragMitCent12DETyp',context!);
        unent_Wertabgaben = JsonConverters.fromJson(json['unent_Wertabgaben'],'UmsErmUnentWertabgaben2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3004401': JsonConverters.toJson(e3004401,'GeldBetragOhneCent12DETyp',context!),
        'e3004402': JsonConverters.toJson(e3004402,'GeldBetragMitCent12DETyp',context!),
        'unent_Wertabgaben': JsonConverters.toJson(unent_Wertabgaben,'UmsErmUnentWertabgaben2023',context!)
    };

    getTypeName() => "UmsErm2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragOhneCent12DE extends GrossGeldBetragOhneCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    PositiverGeldBetragOhneCent12DE({this.wert});
    PositiverGeldBetragOhneCent12DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "PositiverGeldBetragOhneCent12DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragOhneCent12DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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)
    PositiverGeldBetragOhneCent12DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    PositiverGeldBetragOhneCent12DETyp({this.betrag,this.alias});
    PositiverGeldBetragOhneCent12DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'PositiverGeldBetragOhneCent12DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'PositiverGeldBetragOhneCent12DE',context!),
        'alias': alias
    });

    getTypeName() => "PositiverGeldBetragOhneCent12DETyp";
    TypeContext? context = _ctx;
}

/**
* Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)
*/
// @Api(Description="Umsätze zum ermäßigten Steuersatz von 0 % (Unentgeltliche Wertabgaben)")
class UmsErm0UnentWertabgaben2023 implements IConvertible
{
    /**
    * 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")
    PositiverGeldBetragOhneCent12DETyp? e3002901;

    /**
    * 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")
    PositiverGeldBetragOhneCent12DETyp? e3003001;

    UmsErm0UnentWertabgaben2023({this.e3002901,this.e3003001});
    UmsErm0UnentWertabgaben2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002901 = JsonConverters.fromJson(json['e3002901'],'PositiverGeldBetragOhneCent12DETyp',context!);
        e3003001 = JsonConverters.fromJson(json['e3003001'],'PositiverGeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002901': JsonConverters.toJson(e3002901,'PositiverGeldBetragOhneCent12DETyp',context!),
        'e3003001': JsonConverters.toJson(e3003001,'PositiverGeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "UmsErm0UnentWertabgaben2023";
    TypeContext? context = _ctx;
}

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

    /**
    * 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")
    UmsErm0UnentWertabgaben2023? unent_Wertabgaben;

    UmsErm02023({this.e3002801,this.unent_Wertabgaben});
    UmsErm02023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3002801 = JsonConverters.fromJson(json['e3002801'],'PositiverGeldBetragOhneCent12DETyp',context!);
        unent_Wertabgaben = JsonConverters.fromJson(json['unent_Wertabgaben'],'UmsErm0UnentWertabgaben2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3002801': JsonConverters.toJson(e3002801,'PositiverGeldBetragOhneCent12DETyp',context!),
        'unent_Wertabgaben': JsonConverters.toJson(unent_Wertabgaben,'UmsErm0UnentWertabgaben2023',context!)
    };

    getTypeName() => "UmsErm02023";
    TypeContext? context = _ctx;
}

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

    /**
    * Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    // @ApiMember(Description="Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="E3005002")
    GeldBetragMitCent12DETyp? e3005002;

    UmsAnd2023({this.e3005001,this.e3005002});
    UmsAnd2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3005001 = JsonConverters.fromJson(json['e3005001'],'GeldBetragOhneCent12DETyp',context!);
        e3005002 = JsonConverters.fromJson(json['e3005002'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3005001': JsonConverters.toJson(e3005001,'GeldBetragOhneCent12DETyp',context!),
        'e3005002': JsonConverters.toJson(e3005002,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "UmsAnd2023";
    TypeContext? context = _ctx;
}

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

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3005005;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3005006;

    /**
    * Ü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")
    GeldBetragOhneCent12DETyp? e3005801;

    UmsLuf2023({this.e3005201,this.e3005005,this.e3005006,this.e3005801});
    UmsLuf2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3005201 = JsonConverters.fromJson(json['e3005201'],'GeldBetragOhneCent12DETyp',context!);
        e3005005 = JsonConverters.fromJson(json['e3005005'],'GeldBetragOhneCent12DETyp',context!);
        e3005006 = JsonConverters.fromJson(json['e3005006'],'GeldBetragMitCent12DETyp',context!);
        e3005801 = JsonConverters.fromJson(json['e3005801'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3005201': JsonConverters.toJson(e3005201,'GeldBetragOhneCent12DETyp',context!),
        'e3005005': JsonConverters.toJson(e3005005,'GeldBetragOhneCent12DETyp',context!),
        'e3005006': JsonConverters.toJson(e3005006,'GeldBetragMitCent12DETyp',context!),
        'e3005801': JsonConverters.toJson(e3005801,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "UmsLuf2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragMitCent12DE extends GeldBetragMitCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    double? wert;

    PositiverGeldBetragMitCent12DE({this.wert});
    PositiverGeldBetragMitCent12DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.toDouble(json['wert']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "PositiverGeldBetragMitCent12DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragMitCent12DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    PositiverGeldBetragMitCent12DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    PositiverGeldBetragMitCent12DETyp({this.betrag,this.alias});
    PositiverGeldBetragMitCent12DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'PositiverGeldBetragMitCent12DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'PositiverGeldBetragMitCent12DE',context!),
        'alias': alias
    });

    getTypeName() => "PositiverGeldBetragMitCent12DETyp";
    TypeContext? context = _ctx;
}

/**
* Steuer infolge Wechsels der Besteuerungsform
*/
// @Api(Description="Steuer infolge Wechsels der Besteuerungsform")
class WechsBestForm2023 implements IConvertible
{
    /**
    * Steuer (Nachsteuer) auf vereinnahmte Anzahlungen infolge des Wechsels der Besteuerungsform
    */
    // @ApiMember(Description="Steuer (Nachsteuer) auf vereinnahmte Anzahlungen infolge des Wechsels der Besteuerungsform", Name="E3102901")
    PositiverGeldBetragMitCent12DETyp? e3102901;

    WechsBestForm2023({this.e3102901});
    WechsBestForm2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102901 = JsonConverters.fromJson(json['e3102901'],'PositiverGeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102901': JsonConverters.toJson(e3102901,'PositiverGeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "WechsBestForm2023";
    TypeContext? context = _ctx;
}

/**
* Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung
*/
// @Api(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung")
class NachstStSatzAend2023 implements IConvertible
{
    /**
    * Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung
    */
    // @ApiMember(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlichem wegen Steuersatzänderung", Name="E3005901")
    GeldBetragMitCent12DETyp? e3005901;

    NachstStSatzAend2023({this.e3005901});
    NachstStSatzAend2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3005901 = JsonConverters.fromJson(json['e3005901'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3005901': JsonConverters.toJson(e3005901,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "NachstStSatzAend2023";
    TypeContext? context = _ctx;
}

/**
* Summe
*/
// @Api(Description="Summe")
class UmsSum2023 implements IConvertible
{
    /**
    * Summe der Steuer (zu übertragen in Zeile 102)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 102)", Name="E3006001")
    GeldBetragMitCent12DETyp? e3006001;

    UmsSum2023({this.e3006001});
    UmsSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3006001 = JsonConverters.fromJson(json['e3006001'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3006001': JsonConverters.toJson(e3006001,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "UmsSum2023";
    TypeContext? context = _ctx;
}

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

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

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

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

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

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

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

    /**
    * Summe
    */
    // @ApiMember(Description="Summe", Name="UmsSum")
    UmsSum2023? umsSum;

    UmsaetzeTabelle2023({this.umsAllg,this.umsErm,this.umsErm0,this.umsAnd,this.umsLuf,this.wechsBestForm,this.nachstStSatzAend,this.umsSum});
    UmsaetzeTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        umsAllg = JsonConverters.fromJson(json['umsAllg'],'UmsAllg2023',context!);
        umsErm = JsonConverters.fromJson(json['umsErm'],'UmsErm2023',context!);
        umsErm0 = JsonConverters.fromJson(json['umsErm0'],'UmsErm02023',context!);
        umsAnd = JsonConverters.fromJson(json['umsAnd'],'UmsAnd2023',context!);
        umsLuf = JsonConverters.fromJson(json['umsLuf'],'UmsLuf2023',context!);
        wechsBestForm = JsonConverters.fromJson(json['wechsBestForm'],'WechsBestForm2023',context!);
        nachstStSatzAend = JsonConverters.fromJson(json['nachstStSatzAend'],'NachstStSatzAend2023',context!);
        umsSum = JsonConverters.fromJson(json['umsSum'],'UmsSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'umsAllg': JsonConverters.toJson(umsAllg,'UmsAllg2023',context!),
        'umsErm': JsonConverters.toJson(umsErm,'UmsErm2023',context!),
        'umsErm0': JsonConverters.toJson(umsErm0,'UmsErm02023',context!),
        'umsAnd': JsonConverters.toJson(umsAnd,'UmsAnd2023',context!),
        'umsLuf': JsonConverters.toJson(umsLuf,'UmsLuf2023',context!),
        'wechsBestForm': JsonConverters.toJson(wechsBestForm,'WechsBestForm2023',context!),
        'nachstStSatzAend': JsonConverters.toJson(nachstStSatzAend,'NachstStSatzAend2023',context!),
        'umsSum': JsonConverters.toJson(umsSum,'UmsSum2023',context!)
    };

    getTypeName() => "UmsaetzeTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben
*/
// @Api(Description="Steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben")
class Umsaetze2023 implements IConvertible
{
    /**
    * Umsätze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    // @ApiMember(Description="Umsätze Tabelle 2023 (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
    UmsaetzeTabelle2023? tabelle;

    Umsaetze2023({this.tabelle});
    Umsaetze2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'UmsaetzeTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'UmsaetzeTabelle2023',context!)
    };

    getTypeName() => "Umsaetze2023";
    TypeContext? context = _ctx;
}

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

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

    /**
    * neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)
    */
    // @ApiMember(Description="neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)", Name="E3103501")
    GeldBetragOhneCent12DETyp? e3103501;

    IgLfg2023({this.e3103301,this.e3103401,this.e3103501});
    IgLfg2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3103301 = JsonConverters.fromJson(json['e3103301'],'GeldBetragOhneCent12DETyp',context!);
        e3103401 = JsonConverters.fromJson(json['e3103401'],'GeldBetragOhneCent12DETyp',context!);
        e3103501 = JsonConverters.fromJson(json['e3103501'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3103301': JsonConverters.toJson(e3103301,'GeldBetragOhneCent12DETyp',context!),
        'e3103401': JsonConverters.toJson(e3103401,'GeldBetragOhneCent12DETyp',context!),
        'e3103501': JsonConverters.toJson(e3103501,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "IgLfg2023";
    TypeContext? context = _ctx;
}

/**
* 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)")
class UmsStFreiWeit2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3103801;

    /**
    * 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")
    StringTyp? e3103901;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3103902;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3104001;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3104101;

    /**
    * Summe der Zeilen 41 bis 44
    */
    // @ApiMember(Description="Summe der Zeilen 41 bis 44", Name="E3104201")
    GeldBetragOhneCent12DETyp? e3104201;

    UmsStFreiWeit2023({this.e3103801,this.e3103901,this.e3103902,this.e3104001,this.e3104101,this.e3104201});
    UmsStFreiWeit2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3103801 = JsonConverters.fromJson(json['e3103801'],'GeldBetragOhneCent12DETyp',context!);
        e3103901 = JsonConverters.fromJson(json['e3103901'],'StringTyp',context!);
        e3103902 = JsonConverters.fromJson(json['e3103902'],'GeldBetragOhneCent12DETyp',context!);
        e3104001 = JsonConverters.fromJson(json['e3104001'],'GeldBetragOhneCent12DETyp',context!);
        e3104101 = JsonConverters.fromJson(json['e3104101'],'GeldBetragOhneCent12DETyp',context!);
        e3104201 = JsonConverters.fromJson(json['e3104201'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3103801': JsonConverters.toJson(e3103801,'GeldBetragOhneCent12DETyp',context!),
        'e3103901': JsonConverters.toJson(e3103901,'StringTyp',context!),
        'e3103902': JsonConverters.toJson(e3103902,'GeldBetragOhneCent12DETyp',context!),
        'e3104001': JsonConverters.toJson(e3104001,'GeldBetragOhneCent12DETyp',context!),
        'e3104101': JsonConverters.toJson(e3104101,'GeldBetragOhneCent12DETyp',context!),
        'e3104201': JsonConverters.toJson(e3104201,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "UmsStFreiWeit2023";
    TypeContext? context = _ctx;
}

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

    /**
    * 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")
    UmsStFreiWeit2023? umsStFreiWeit;

    MitVoStAbz2023({this.igLfg,this.umsStFreiWeit});
    MitVoStAbz2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        igLfg = JsonConverters.fromJson(json['igLfg'],'IgLfg2023',context!);
        umsStFreiWeit = JsonConverters.fromJson(json['umsStFreiWeit'],'UmsStFreiWeit2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'igLfg': JsonConverters.toJson(igLfg,'IgLfg2023',context!),
        'umsStFreiWeit': JsonConverters.toJson(umsStFreiWeit,'UmsStFreiWeit2023',context!)
    };

    getTypeName() => "MitVoStAbz2023";
    TypeContext? context = _ctx;
}

/**
* 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")
class NichtGesUms2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3104401;

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

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

    /**
    * Summe der Zeilen 46 und 47
    */
    // @ApiMember(Description="Summe der Zeilen 46 und 47", Name="E3104601")
    GeldBetragOhneCent12DETyp? e3104601;

    NichtGesUms2023({this.e3104401,this.e3104501,this.e3104502,this.e3104601});
    NichtGesUms2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3104401 = JsonConverters.fromJson(json['e3104401'],'GeldBetragOhneCent12DETyp',context!);
        e3104501 = JsonConverters.fromJson(json['e3104501'],'StringTyp',context!);
        e3104502 = JsonConverters.fromJson(json['e3104502'],'GeldBetragOhneCent12DETyp',context!);
        e3104601 = JsonConverters.fromJson(json['e3104601'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3104401': JsonConverters.toJson(e3104401,'GeldBetragOhneCent12DETyp',context!),
        'e3104501': JsonConverters.toJson(e3104501,'StringTyp',context!),
        'e3104502': JsonConverters.toJson(e3104502,'GeldBetragOhneCent12DETyp',context!),
        'e3104601': JsonConverters.toJson(e3104601,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "NichtGesUms2023";
    TypeContext? context = _ctx;
}

class GesUms2023 implements IConvertible
{
    /**
    * 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")
    StringTyp? e3104901;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3104902;

    GesUms2023({this.e3104901,this.e3104902});
    GesUms2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3104901 = JsonConverters.fromJson(json['e3104901'],'StringTyp',context!);
        e3104902 = JsonConverters.fromJson(json['e3104902'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3104901': JsonConverters.toJson(e3104901,'StringTyp',context!),
        'e3104902': JsonConverters.toJson(e3104902,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "GesUms2023";
    TypeContext? context = _ctx;
}

/**
* Steuerfreie Umsätze ohne Vorsteuerabzug
*/
// @Api(Description="Steuerfreie Umsätze ohne Vorsteuerabzug")
class OhneVoStAbz2023 implements IConvertible
{
    /**
    * 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")
    NichtGesUms2023? nichtGesUms;

    /**
    * 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")
    GesUms2023? gesUms;

    OhneVoStAbz2023({this.nichtGesUms,this.gesUms});
    OhneVoStAbz2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nichtGesUms = JsonConverters.fromJson(json['nichtGesUms'],'NichtGesUms2023',context!);
        gesUms = JsonConverters.fromJson(json['gesUms'],'GesUms2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nichtGesUms': JsonConverters.toJson(nichtGesUms,'NichtGesUms2023',context!),
        'gesUms': JsonConverters.toJson(gesUms,'GesUms2023',context!)
    };

    getTypeName() => "OhneVoStAbz2023";
    TypeContext? context = _ctx;
}

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

    /**
    * Steuerfreie Umsätze ohne Vorsteuerabzug
    */
    // @ApiMember(Description="Steuerfreie Umsätze ohne Vorsteuerabzug", Name="OhneVoStAbz")
    OhneVoStAbz2023? ohneVoStAbz;

    UmsStfreiTabelle2023({this.mitVoStAbz,this.ohneVoStAbz});
    UmsStfreiTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        mitVoStAbz = JsonConverters.fromJson(json['mitVoStAbz'],'MitVoStAbz2023',context!);
        ohneVoStAbz = JsonConverters.fromJson(json['ohneVoStAbz'],'OhneVoStAbz2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'mitVoStAbz': JsonConverters.toJson(mitVoStAbz,'MitVoStAbz2023',context!),
        'ohneVoStAbz': JsonConverters.toJson(ohneVoStAbz,'OhneVoStAbz2023',context!)
    };

    getTypeName() => "UmsStfreiTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.
*/
// @Api(Description="Steuerfreie Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben.")
class UmsStfrei2023 implements IConvertible
{
    /**
    * Bemessungsgrundlage ohne Umsatzsteuer
    */
    // @ApiMember(Description="Bemessungsgrundlage ohne Umsatzsteuer", Name="Tabelle")
    UmsStfreiTabelle2023? tabelle;

    UmsStfrei2023({this.tabelle});
    UmsStfrei2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'UmsStfreiTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'UmsStfreiTabelle2023',context!)
    };

    getTypeName() => "UmsStfrei2023";
    TypeContext? context = _ctx;
}

class Stfrei2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3100901;

    Stfrei2023({this.e3100901});
    Stfrei2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3100901 = JsonConverters.fromJson(json['e3100901'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3100901': JsonConverters.toJson(e3100901,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "Stfrei2023";
    TypeContext? context = _ctx;
}

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

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

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

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

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

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

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

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3101401;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3101402;

    Stpfl2023({this.e3100902,this.e3100903,this.e3101301,this.e3101302,this.e3101305,this.e3101303,this.e3101304,this.e3101401,this.e3101402});
    Stpfl2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3100902 = JsonConverters.fromJson(json['e3100902'],'GeldBetragOhneCent12DETyp',context!);
        e3100903 = JsonConverters.fromJson(json['e3100903'],'GeldBetragMitCent12DETyp',context!);
        e3101301 = JsonConverters.fromJson(json['e3101301'],'GeldBetragOhneCent12DETyp',context!);
        e3101302 = JsonConverters.fromJson(json['e3101302'],'GeldBetragMitCent12DETyp',context!);
        e3101305 = JsonConverters.fromJson(json['e3101305'],'PositiverGeldBetragOhneCent12DETyp',context!);
        e3101303 = JsonConverters.fromJson(json['e3101303'],'GeldBetragOhneCent12DETyp',context!);
        e3101304 = JsonConverters.fromJson(json['e3101304'],'GeldBetragMitCent12DETyp',context!);
        e3101401 = JsonConverters.fromJson(json['e3101401'],'GeldBetragOhneCent12DETyp',context!);
        e3101402 = JsonConverters.fromJson(json['e3101402'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3100902': JsonConverters.toJson(e3100902,'GeldBetragOhneCent12DETyp',context!),
        'e3100903': JsonConverters.toJson(e3100903,'GeldBetragMitCent12DETyp',context!),
        'e3101301': JsonConverters.toJson(e3101301,'GeldBetragOhneCent12DETyp',context!),
        'e3101302': JsonConverters.toJson(e3101302,'GeldBetragMitCent12DETyp',context!),
        'e3101305': JsonConverters.toJson(e3101305,'PositiverGeldBetragOhneCent12DETyp',context!),
        'e3101303': JsonConverters.toJson(e3101303,'GeldBetragOhneCent12DETyp',context!),
        'e3101304': JsonConverters.toJson(e3101304,'GeldBetragMitCent12DETyp',context!),
        'e3101401': JsonConverters.toJson(e3101401,'GeldBetragOhneCent12DETyp',context!),
        'e3101402': JsonConverters.toJson(e3101402,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "Stpfl2023";
    TypeContext? context = _ctx;
}

/**
* Summe
*/
// @Api(Description="Summe")
class IgErwSum2023 implements IConvertible
{
    /**
    * Summe der Steuer (zu übertragen in Zeile 153)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 153)", Name="E3101501")
    GeldBetragMitCent12DETyp? e3101501;

    IgErwSum2023({this.e3101501});
    IgErwSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3101501 = JsonConverters.fromJson(json['e3101501'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3101501': JsonConverters.toJson(e3101501,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "IgErwSum2023";
    TypeContext? context = _ctx;
}

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

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

    /**
    * Summe
    */
    // @ApiMember(Description="Summe", Name="IgErwSum")
    IgErwSum2023? igErwSum;

    IgErwTabelle2023({this.stfrei,this.stpfl,this.igErwSum});
    IgErwTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        stfrei = JsonConverters.fromJson(json['stfrei'],'Stfrei2023',context!);
        stpfl = JsonConverters.fromJson(json['stpfl'],'Stpfl2023',context!);
        igErwSum = JsonConverters.fromJson(json['igErwSum'],'IgErwSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'stfrei': JsonConverters.toJson(stfrei,'Stfrei2023',context!),
        'stpfl': JsonConverters.toJson(stpfl,'Stpfl2023',context!),
        'igErwSum': JsonConverters.toJson(igErwSum,'IgErwSum2023',context!)
    };

    getTypeName() => "IgErwTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Innergemeinschaftliche Erwerbe
*/
// @Api(Description="Innergemeinschaftliche Erwerbe")
class IgErw2023 implements IConvertible
{
    /**
    * Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle
    */
    // @ApiMember(Description="Innergemeinschaftliche Erwerbe Bemessungsgrundlage ohne Umsatzsteuer Steuer Tabelle", Name="Tabelle")
    IgErwTabelle2023? tabelle;

    IgErw2023({this.tabelle});
    IgErw2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'IgErwTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'IgErwTabelle2023',context!)
    };

    getTypeName() => "IgErw2023";
    TypeContext? context = _ctx;
}

/**
* Summe der Steuer (zu übertragen in Zeile 154)
*/
// @Api(Description="Summe der Steuer (zu übertragen in Zeile 154)")
class Auslag13aSum2023 implements IConvertible
{
    /**
    * Summe der Steuer (zu übertragen in Zeile 154)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 154)", Name="E3102904")
    GeldBetragMitCent12DETyp? e3102904;

    Auslag13aSum2023({this.e3102904});
    Auslag13aSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102904 = JsonConverters.fromJson(json['e3102904'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102904': JsonConverters.toJson(e3102904,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "Auslag13aSum2023";
    TypeContext? context = _ctx;
}

/**
* 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)")
class Auslag13aTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3102804;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3102805;

    /**
    * Summe der Steuer (zu übertragen in Zeile 154)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 154)", Name="Auslag13aSum")
    Auslag13aSum2023? auslag13aSum;

    Auslag13aTabelle2023({this.e3102804,this.e3102805,this.auslag13aSum});
    Auslag13aTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102804 = JsonConverters.fromJson(json['e3102804'],'GeldBetragOhneCent12DETyp',context!);
        e3102805 = JsonConverters.fromJson(json['e3102805'],'GeldBetragMitCent12DETyp',context!);
        auslag13aSum = JsonConverters.fromJson(json['auslag13aSum'],'Auslag13aSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102804': JsonConverters.toJson(e3102804,'GeldBetragOhneCent12DETyp',context!),
        'e3102805': JsonConverters.toJson(e3102805,'GeldBetragMitCent12DETyp',context!),
        'auslag13aSum': JsonConverters.toJson(auslag13aSum,'Auslag13aSum2023',context!)
    };

    getTypeName() => "Auslag13aTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG)
*/
// @Api(Description="Steuerschuldner bei Auslagerung (§ 13a Absatz 1 Nummer 6 UStG)")
class Auslag13a2023 implements IConvertible
{
    /**
    * 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")
    Auslag13aTabelle2023? tabelle;

    Auslag13a2023({this.tabelle});
    Auslag13a2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'Auslag13aTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'Auslag13aTabelle2023',context!)
    };

    getTypeName() => "Auslag13a2023";
    TypeContext? context = _ctx;
}

/**
* Lieferungen des ersten Abnehmers
*/
// @Api(Description="Lieferungen des ersten Abnehmers")
class LfgErstAbn2023 implements IConvertible
{
    /**
    * Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)
    */
    // @ApiMember(Description="Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)", Name="E3101801")
    GeldBetragOhneCent12DETyp? e3101801;

    LfgErstAbn2023({this.e3101801});
    LfgErstAbn2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3101801 = JsonConverters.fromJson(json['e3101801'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3101801': JsonConverters.toJson(e3101801,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "LfgErstAbn2023";
    TypeContext? context = _ctx;
}

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

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

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

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

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

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

    /**
    * zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="E3102304")
    GeldBetragMitCent12DETyp? e3102304;

    LfgLetztAbn2023({this.e3101701,this.e3101702,this.e3102301,this.e3102302,this.e3102305,this.e3102303,this.e3102304});
    LfgLetztAbn2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3101701 = JsonConverters.fromJson(json['e3101701'],'GeldBetragOhneCent12DETyp',context!);
        e3101702 = JsonConverters.fromJson(json['e3101702'],'GeldBetragMitCent12DETyp',context!);
        e3102301 = JsonConverters.fromJson(json['e3102301'],'GeldBetragOhneCent12DETyp',context!);
        e3102302 = JsonConverters.fromJson(json['e3102302'],'GeldBetragMitCent12DETyp',context!);
        e3102305 = JsonConverters.fromJson(json['e3102305'],'PositiverGeldBetragOhneCent12DETyp',context!);
        e3102303 = JsonConverters.fromJson(json['e3102303'],'GeldBetragOhneCent12DETyp',context!);
        e3102304 = JsonConverters.fromJson(json['e3102304'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3101701': JsonConverters.toJson(e3101701,'GeldBetragOhneCent12DETyp',context!),
        'e3101702': JsonConverters.toJson(e3101702,'GeldBetragMitCent12DETyp',context!),
        'e3102301': JsonConverters.toJson(e3102301,'GeldBetragOhneCent12DETyp',context!),
        'e3102302': JsonConverters.toJson(e3102302,'GeldBetragMitCent12DETyp',context!),
        'e3102305': JsonConverters.toJson(e3102305,'PositiverGeldBetragOhneCent12DETyp',context!),
        'e3102303': JsonConverters.toJson(e3102303,'GeldBetragOhneCent12DETyp',context!),
        'e3102304': JsonConverters.toJson(e3102304,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "LfgLetztAbn2023";
    TypeContext? context = _ctx;
}

/**
* Summe
*/
// @Api(Description="Summe")
class IgDreiSum2023 implements IConvertible
{
    /**
    * Summe der Steuer (zu übertragen in Zeile 105)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 105)", Name="E3102401")
    GeldBetragMitCent12DETyp? e3102401;

    IgDreiSum2023({this.e3102401});
    IgDreiSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102401 = JsonConverters.fromJson(json['e3102401'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102401': JsonConverters.toJson(e3102401,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "IgDreiSum2023";
    TypeContext? context = _ctx;
}

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

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

    /**
    * Summe
    */
    // @ApiMember(Description="Summe", Name="IgDreiSum")
    IgDreiSum2023? igDreiSum;

    IgDreiTabelle2023({this.lfgErstAbn,this.lfgLetztAbn,this.igDreiSum});
    IgDreiTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        lfgErstAbn = JsonConverters.fromJson(json['lfgErstAbn'],'LfgErstAbn2023',context!);
        lfgLetztAbn = JsonConverters.fromJson(json['lfgLetztAbn'],'LfgLetztAbn2023',context!);
        igDreiSum = JsonConverters.fromJson(json['igDreiSum'],'IgDreiSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'lfgErstAbn': JsonConverters.toJson(lfgErstAbn,'LfgErstAbn2023',context!),
        'lfgLetztAbn': JsonConverters.toJson(lfgLetztAbn,'LfgLetztAbn2023',context!),
        'igDreiSum': JsonConverters.toJson(igDreiSum,'IgDreiSum2023',context!)
    };

    getTypeName() => "IgDreiTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG)
*/
// @Api(Description="Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG)")
class IgDrei2023 implements IConvertible
{
    /**
    * Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)
    */
    // @ApiMember(Description="Innergemeinschaftliche Dreiecksgeschäfte (§ 25b UStG) Tabelle (Bemessungsgrundlage ohne Umsatzsteuer Steuer)", Name="Tabelle")
    IgDreiTabelle2023? tabelle;

    IgDrei2023({this.tabelle});
    IgDrei2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'IgDreiTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'IgDreiTabelle2023',context!)
    };

    getTypeName() => "IgDrei2023";
    TypeContext? context = _ctx;
}

/**
* Summe der Steuer (zu übertragen in Zeile 156)
*/
// @Api(Description="Summe der Steuer (zu übertragen in Zeile 156)")
class Ums13bSum2023 implements IConvertible
{
    /**
    * Summe der Steuer (zu übertragen in Zeile 106)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 106)", Name="E3102601")
    GeldBetragMitCent12DETyp? e3102601;

    Ums13bSum2023({this.e3102601});
    Ums13bSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102601 = JsonConverters.fromJson(json['e3102601'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102601': JsonConverters.toJson(e3102601,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "Ums13bSum2023";
    TypeContext? context = _ctx;
}

class Ums13bTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3102205;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3102206;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3102307;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3102308;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3102503;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3102504;

    /**
    * Summe
    */
    // @ApiMember(Description="Summe", Name="Ums13bSum")
    Ums13bSum2023? ums13bSum;

    Ums13bTabelle2023({this.e3102205,this.e3102206,this.e3102307,this.e3102308,this.e3102503,this.e3102504,this.ums13bSum});
    Ums13bTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3102205 = JsonConverters.fromJson(json['e3102205'],'GeldBetragOhneCent12DETyp',context!);
        e3102206 = JsonConverters.fromJson(json['e3102206'],'GeldBetragMitCent12DETyp',context!);
        e3102307 = JsonConverters.fromJson(json['e3102307'],'GeldBetragOhneCent12DETyp',context!);
        e3102308 = JsonConverters.fromJson(json['e3102308'],'GeldBetragMitCent12DETyp',context!);
        e3102503 = JsonConverters.fromJson(json['e3102503'],'GeldBetragOhneCent12DETyp',context!);
        e3102504 = JsonConverters.fromJson(json['e3102504'],'GeldBetragMitCent12DETyp',context!);
        ums13bSum = JsonConverters.fromJson(json['ums13bSum'],'Ums13bSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3102205': JsonConverters.toJson(e3102205,'GeldBetragOhneCent12DETyp',context!),
        'e3102206': JsonConverters.toJson(e3102206,'GeldBetragMitCent12DETyp',context!),
        'e3102307': JsonConverters.toJson(e3102307,'GeldBetragOhneCent12DETyp',context!),
        'e3102308': JsonConverters.toJson(e3102308,'GeldBetragMitCent12DETyp',context!),
        'e3102503': JsonConverters.toJson(e3102503,'GeldBetragOhneCent12DETyp',context!),
        'e3102504': JsonConverters.toJson(e3102504,'GeldBetragMitCent12DETyp',context!),
        'ums13bSum': JsonConverters.toJson(ums13bSum,'Ums13bSum2023',context!)
    };

    getTypeName() => "Ums13bTabelle2023";
    TypeContext? context = _ctx;
}

class Ums13b2023 implements IConvertible
{
    /**
    * 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")
    Ums13bTabelle2023? tabelle;

    Ums13b2023({this.tabelle});
    Ums13b2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'Ums13bTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'Ums13bTabelle2023',context!)
    };

    getTypeName() => "Ums13b2023";
    TypeContext? context = _ctx;
}

/**
* Ergänzende Angaben zu Umsätzen Betrag Tabelle
*/
// @Api(Description="Ergänzende Angaben zu Umsätzen Betrag Tabelle")
class ErgAngUmsTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105201;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105301;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105101;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105102;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105602;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105702;

    /**
    * Ü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")
    GeldBetragOhneCent12DETyp? e3105801;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3105901;

    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3106001;

    /**
    * 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")
    PositiverGeldBetragOhneCent12DETyp? e3106101;

    ErgAngUmsTabelle2023({this.e3105201,this.e3105301,this.e3105101,this.e3105102,this.e3105602,this.e3105702,this.e3105801,this.e3105901,this.e3106001,this.e3106101});
    ErgAngUmsTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3105201 = JsonConverters.fromJson(json['e3105201'],'GeldBetragOhneCent12DETyp',context!);
        e3105301 = JsonConverters.fromJson(json['e3105301'],'GeldBetragOhneCent12DETyp',context!);
        e3105101 = JsonConverters.fromJson(json['e3105101'],'GeldBetragOhneCent12DETyp',context!);
        e3105102 = JsonConverters.fromJson(json['e3105102'],'GeldBetragOhneCent12DETyp',context!);
        e3105602 = JsonConverters.fromJson(json['e3105602'],'GeldBetragOhneCent12DETyp',context!);
        e3105702 = JsonConverters.fromJson(json['e3105702'],'GeldBetragOhneCent12DETyp',context!);
        e3105801 = JsonConverters.fromJson(json['e3105801'],'GeldBetragOhneCent12DETyp',context!);
        e3105901 = JsonConverters.fromJson(json['e3105901'],'GeldBetragOhneCent12DETyp',context!);
        e3106001 = JsonConverters.fromJson(json['e3106001'],'GeldBetragOhneCent12DETyp',context!);
        e3106101 = JsonConverters.fromJson(json['e3106101'],'PositiverGeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3105201': JsonConverters.toJson(e3105201,'GeldBetragOhneCent12DETyp',context!),
        'e3105301': JsonConverters.toJson(e3105301,'GeldBetragOhneCent12DETyp',context!),
        'e3105101': JsonConverters.toJson(e3105101,'GeldBetragOhneCent12DETyp',context!),
        'e3105102': JsonConverters.toJson(e3105102,'GeldBetragOhneCent12DETyp',context!),
        'e3105602': JsonConverters.toJson(e3105602,'GeldBetragOhneCent12DETyp',context!),
        'e3105702': JsonConverters.toJson(e3105702,'GeldBetragOhneCent12DETyp',context!),
        'e3105801': JsonConverters.toJson(e3105801,'GeldBetragOhneCent12DETyp',context!),
        'e3105901': JsonConverters.toJson(e3105901,'GeldBetragOhneCent12DETyp',context!),
        'e3106001': JsonConverters.toJson(e3106001,'GeldBetragOhneCent12DETyp',context!),
        'e3106101': JsonConverters.toJson(e3106101,'PositiverGeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "ErgAngUmsTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Ergänzende Angaben zu Umsätzen
*/
// @Api(Description="Ergänzende Angaben zu Umsätzen")
class ErgAngUms2023 implements IConvertible
{
    /**
    * Ergänzende Angaben zu Umsätzen Betrag Tabelle
    */
    // @ApiMember(Description="Ergänzende Angaben zu Umsätzen Betrag Tabelle", Name="Tabelle")
    ErgAngUmsTabelle2023? tabelle;

    ErgAngUms2023({this.tabelle});
    ErgAngUms2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'ErgAngUmsTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'ErgAngUmsTabelle2023',context!)
    };

    getTypeName() => "ErgAngUms2023";
    TypeContext? context = _ctx;
}

/**
* Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)
*/
// @Api(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)")
class AbzVoStSum2023 implements IConvertible
{
    /**
    * Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)
    */
    // @ApiMember(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)", Name="E3006901")
    GeldBetragMitCent12DETyp? e3006901;

    AbzVoStSum2023({this.e3006901});
    AbzVoStSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3006901 = JsonConverters.fromJson(json['e3006901'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3006901': JsonConverters.toJson(e3006901,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "AbzVoStSum2023";
    TypeContext? context = _ctx;
}

class ErgAng2023 implements IConvertible
{
    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3007001;

    ErgAng2023({this.e3007001});
    ErgAng2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007001 = JsonConverters.fromJson(json['e3007001'],'PositiverGeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007001': JsonConverters.toJson(e3007001,'PositiverGeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "ErgAng2023";
    TypeContext? context = _ctx;
}

/**
* Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle
*/
// @Api(Description="Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG) Steuer Tabelle")
class AbzVoStTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006201;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006301;

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

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006503;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006502;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006601;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3006701;

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

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

    /**
    * Ergänzende Angabe
    */
    // @ApiMember(Description="Ergänzende Angabe", Name="AbzVoStSum")
    ErgAng2023? ergAng;

    AbzVoStTabelle2023({this.e3006201,this.e3006301,this.e3006401,this.e3006503,this.e3006502,this.e3006601,this.e3006701,this.e3006801,this.abzVoStSum,this.ergAng});
    AbzVoStTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3006201 = JsonConverters.fromJson(json['e3006201'],'GeldBetragMitCent12DETyp',context!);
        e3006301 = JsonConverters.fromJson(json['e3006301'],'GeldBetragMitCent12DETyp',context!);
        e3006401 = JsonConverters.fromJson(json['e3006401'],'GeldBetragMitCent12DETyp',context!);
        e3006503 = JsonConverters.fromJson(json['e3006503'],'GeldBetragMitCent12DETyp',context!);
        e3006502 = JsonConverters.fromJson(json['e3006502'],'GeldBetragMitCent12DETyp',context!);
        e3006601 = JsonConverters.fromJson(json['e3006601'],'GeldBetragMitCent12DETyp',context!);
        e3006701 = JsonConverters.fromJson(json['e3006701'],'GeldBetragMitCent12DETyp',context!);
        e3006801 = JsonConverters.fromJson(json['e3006801'],'GeldBetragMitCent12DETyp',context!);
        abzVoStSum = JsonConverters.fromJson(json['abzVoStSum'],'AbzVoStSum2023',context!);
        ergAng = JsonConverters.fromJson(json['ergAng'],'ErgAng2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3006201': JsonConverters.toJson(e3006201,'GeldBetragMitCent12DETyp',context!),
        'e3006301': JsonConverters.toJson(e3006301,'GeldBetragMitCent12DETyp',context!),
        'e3006401': JsonConverters.toJson(e3006401,'GeldBetragMitCent12DETyp',context!),
        'e3006503': JsonConverters.toJson(e3006503,'GeldBetragMitCent12DETyp',context!),
        'e3006502': JsonConverters.toJson(e3006502,'GeldBetragMitCent12DETyp',context!),
        'e3006601': JsonConverters.toJson(e3006601,'GeldBetragMitCent12DETyp',context!),
        'e3006701': JsonConverters.toJson(e3006701,'GeldBetragMitCent12DETyp',context!),
        'e3006801': JsonConverters.toJson(e3006801,'GeldBetragMitCent12DETyp',context!),
        'abzVoStSum': JsonConverters.toJson(abzVoStSum,'AbzVoStSum2023',context!),
        'ergAng': JsonConverters.toJson(ergAng,'ErgAng2023',context!)
    };

    getTypeName() => "AbzVoStTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG)
*/
// @Api(Description="Abziehbare Vorsteuerbeträge (ohne die Berichtigung nach § 15a UStG)")
class AbzVoSt2023 implements IConvertible
{
    /**
    * 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")
    AbzVoStTabelle2023? tabelle;

    AbzVoSt2023({this.tabelle});
    AbzVoSt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'AbzVoStTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'AbzVoStTabelle2023',context!)
    };

    getTypeName() => "AbzVoSt2023";
    TypeContext? context = _ctx;
}

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

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    DatumUhrzeitTyp({this.wert,this.alias});
    DatumUhrzeitTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.fromJson(json['wert'],'DateTime',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': JsonConverters.toJson(wert,'DateTime',context!),
        'alias': alias
    });

    getTypeName() => "DatumUhrzeitTyp";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragMitCent13DE extends GeldBetragMitCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    double? wert;

    PositiverGeldBetragMitCent13DE({this.wert});
    PositiverGeldBetragMitCent13DE.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.toDouble(json['wert']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert
    });

    getTypeName() => "PositiverGeldBetragMitCent13DE";
    TypeContext? context = _ctx;
}

/**
* 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.")
class PositiverGeldBetragMitCent13DETyp extends CustomTypBase implements IConvertible
{
    /**
    * 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)
    PositiverGeldBetragMitCent13DE? betrag;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    PositiverGeldBetragMitCent13DETyp({this.betrag,this.alias});
    PositiverGeldBetragMitCent13DETyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        betrag = JsonConverters.fromJson(json['betrag'],'PositiverGeldBetragMitCent13DE',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'betrag': JsonConverters.toJson(betrag,'PositiverGeldBetragMitCent13DE',context!),
        'alias': alias
    });

    getTypeName() => "PositiverGeldBetragMitCent13DETyp";
    TypeContext? context = _ctx;
}

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

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

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

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

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

    /**
    * in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer
    */
    // @ApiMember(Description="in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer", Name="E3007406")
    GeldBetragOhneCent12DETyp? e3007406;

    AngGrdst2023({this.e3007401,this.e3007402,this.e3007403,this.e3007404,this.e3007405,this.e3007406});
    AngGrdst2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007401 = JsonConverters.fromJson(json['e3007401'],'StringTyp',context!);
        e3007402 = JsonConverters.fromJson(json['e3007402'],'DatumUhrzeitTyp',context!);
        e3007403 = JsonConverters.fromJson(json['e3007403'],'StringTyp',context!);
        e3007404 = JsonConverters.fromJson(json['e3007404'],'PositiverGeldBetragMitCent13DETyp',context!);
        e3007405 = JsonConverters.fromJson(json['e3007405'],'GeldBetragOhneCent12DETyp',context!);
        e3007406 = JsonConverters.fromJson(json['e3007406'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007401': JsonConverters.toJson(e3007401,'StringTyp',context!),
        'e3007402': JsonConverters.toJson(e3007402,'DatumUhrzeitTyp',context!),
        'e3007403': JsonConverters.toJson(e3007403,'StringTyp',context!),
        'e3007404': JsonConverters.toJson(e3007404,'PositiverGeldBetragMitCent13DETyp',context!),
        'e3007405': JsonConverters.toJson(e3007405,'GeldBetragOhneCent12DETyp',context!),
        'e3007406': JsonConverters.toJson(e3007406,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "AngGrdst2023";
    TypeContext? context = _ctx;
}

/**
* 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")
class GrdstErstmVerw2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3007301;

    /**
    * Angaben zum Grundstück oder Gebäude.
    */
    // @ApiMember(Description="Angaben zum Grundstück oder Gebäude.", Name="AngGrdst")
    AngGrdst2023? angGrdst;

    GrdstErstmVerw2023({this.e3007301,this.angGrdst});
    GrdstErstmVerw2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007301 = JsonConverters.fromJson(json['e3007301'],'Bool1Typ',context!);
        angGrdst = JsonConverters.fromJson(json['angGrdst'],'AngGrdst2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007301': JsonConverters.toJson(e3007301,'Bool1Typ',context!),
        'angGrdst': JsonConverters.toJson(angGrdst,'AngGrdst2023',context!)
    };

    getTypeName() => "GrdstErstmVerw2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class AendVerh2023 implements IConvertible
{
    /**
    * 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")
    Bool1Typ? e3007601;

    /**
    * 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")
    Bool1Typ? e3008501;

    /**
    * 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")
    Bool1Typ? e3008601;

    AendVerh2023({this.e3007601,this.e3008501,this.e3008601});
    AendVerh2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007601 = JsonConverters.fromJson(json['e3007601'],'Bool1Typ',context!);
        e3008501 = JsonConverters.fromJson(json['e3008501'],'Bool1Typ',context!);
        e3008601 = JsonConverters.fromJson(json['e3008601'],'Bool1Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007601': JsonConverters.toJson(e3007601,'Bool1Typ',context!),
        'e3008501': JsonConverters.toJson(e3008501,'Bool1Typ',context!),
        'e3008601': JsonConverters.toJson(e3008601,'Bool1Typ',context!)
    };

    getTypeName() => "AendVerh2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class BoolXTyp extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    bool? wert;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    BoolXTyp({this.wert,this.alias});
    BoolXTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert,
        'alias': alias
    });

    getTypeName() => "BoolXTyp";
    TypeContext? context = _ctx;
}

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

    /**
    * Ü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")
    BoolXTyp? e3008001;

    /**
    * 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")
    BoolXTyp? e3008202;

    /**
    * 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")
    BoolXTyp? e3008401;

    /**
    * Begründung
    */
    // @ApiMember(Description="Begründung", Name="E3008402")
    StringTyp? e3008402;

    NutzAend2023({this.e3007901,this.e3008001,this.e3008202,this.e3008401,this.e3008402});
    NutzAend2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007901 = JsonConverters.fromJson(json['e3007901'],'BoolXTyp',context!);
        e3008001 = JsonConverters.fromJson(json['e3008001'],'BoolXTyp',context!);
        e3008202 = JsonConverters.fromJson(json['e3008202'],'BoolXTyp',context!);
        e3008401 = JsonConverters.fromJson(json['e3008401'],'BoolXTyp',context!);
        e3008402 = JsonConverters.fromJson(json['e3008402'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007901': JsonConverters.toJson(e3007901,'BoolXTyp',context!),
        'e3008001': JsonConverters.toJson(e3008001,'BoolXTyp',context!),
        'e3008202': JsonConverters.toJson(e3008202,'BoolXTyp',context!),
        'e3008401': JsonConverters.toJson(e3008401,'BoolXTyp',context!),
        'e3008402': JsonConverters.toJson(e3008402,'StringTyp',context!)
    };

    getTypeName() => "NutzAend2023";
    TypeContext? context = _ctx;
}

/**
* 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:")
class GrundAendVerh2023 implements IConvertible
{
    /**
    * Veräußerung
    */
    // @ApiMember(Description="Veräußerung", Name="E3007801")
    BoolXTyp? e3007801;

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

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

    /**
    * Nutzungsänderungen
    */
    // @ApiMember(Description="Nutzungsänderungen", Name="NutzAend")
    NutzAend2023? nutzAend;

    GrundAendVerh2023({this.e3007801,this.e3007802,this.e3007803,this.nutzAend});
    GrundAendVerh2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3007801 = JsonConverters.fromJson(json['e3007801'],'BoolXTyp',context!);
        e3007802 = JsonConverters.fromJson(json['e3007802'],'BoolXTyp',context!);
        e3007803 = JsonConverters.fromJson(json['e3007803'],'BoolXTyp',context!);
        nutzAend = JsonConverters.fromJson(json['nutzAend'],'NutzAend2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3007801': JsonConverters.toJson(e3007801,'BoolXTyp',context!),
        'e3007802': JsonConverters.toJson(e3007802,'BoolXTyp',context!),
        'e3007803': JsonConverters.toJson(e3007803,'BoolXTyp',context!),
        'nutzAend': JsonConverters.toJson(nutzAend,'NutzAend2023',context!)
    };

    getTypeName() => "GrundAendVerh2023";
    TypeContext? context = _ctx;
}

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

    /**
    * Summe zurückzuzahlen (zu übertragen in Zeile 111)
    */
    // @ApiMember(Description="Summe zurückzuzahlen (zu übertragen in Zeile 111)", Name="E3008902")
    PositiverGeldBetragMitCent12DETyp? e3008902;

    VoStBerBetrSum2023({this.e3008901,this.e3008902});
    VoStBerBetrSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3008901 = JsonConverters.fromJson(json['e3008901'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008902 = JsonConverters.fromJson(json['e3008902'],'PositiverGeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3008901': JsonConverters.toJson(e3008901,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008902': JsonConverters.toJson(e3008902,'PositiverGeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "VoStBerBetrSum2023";
    TypeContext? context = _ctx;
}

/**
* Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle
*/
// @Api(Description="Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle")
class VoStBerBetrTabelle2023 implements IConvertible
{
    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008701;

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008702;

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008801;

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008802;

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008803;

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3008804;

    /**
    * Summe
    */
    // @ApiMember(Description="Summe", Name="VoStBerBetrSum")
    VoStBerBetrSum2023? voStBerBetrSum;

    VoStBerBetrTabelle2023({this.e3008701,this.e3008702,this.e3008801,this.e3008802,this.e3008803,this.e3008804,this.voStBerBetrSum});
    VoStBerBetrTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3008701 = JsonConverters.fromJson(json['e3008701'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008702 = JsonConverters.fromJson(json['e3008702'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008801 = JsonConverters.fromJson(json['e3008801'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008802 = JsonConverters.fromJson(json['e3008802'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008803 = JsonConverters.fromJson(json['e3008803'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3008804 = JsonConverters.fromJson(json['e3008804'],'PositiverGeldBetragMitCent12DETyp',context!);
        voStBerBetrSum = JsonConverters.fromJson(json['voStBerBetrSum'],'VoStBerBetrSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3008701': JsonConverters.toJson(e3008701,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008702': JsonConverters.toJson(e3008702,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008801': JsonConverters.toJson(e3008801,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008802': JsonConverters.toJson(e3008802,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008803': JsonConverters.toJson(e3008803,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3008804': JsonConverters.toJson(e3008804,'PositiverGeldBetragMitCent12DETyp',context!),
        'voStBerBetrSum': JsonConverters.toJson(voStBerBetrSum,'VoStBerBetrSum2023',context!)
    };

    getTypeName() => "VoStBerBetrTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Vorsteuerberichtigungsbeträge.
*/
// @Api(Description="Vorsteuerberichtigungsbeträge.")
class VoStBerBetr2023 implements IConvertible
{
    /**
    * Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle
    */
    // @ApiMember(Description="Vorsteuerberichtigungsbeträge nachträglich abziehbar zurückzuzahlen Tabelle", Name="Tabelle")
    VoStBerBetrTabelle2023? tabelle;

    VoStBerBetr2023({this.tabelle});
    VoStBerBetr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'VoStBerBetrTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'VoStBerBetrTabelle2023',context!)
    };

    getTypeName() => "VoStBerBetr2023";
    TypeContext? context = _ctx;
}

/**
* Berichtigung des Vorsteuerabzugs (§ 15a UStG).
*/
// @Api(Description="Berichtigung des Vorsteuerabzugs (§ 15a UStG).")
class BerVoSt15a2023 implements IConvertible
{
    /**
    * 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")
    GrdstErstmVerw2023? grdstErstmVerw;

    /**
    * 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")
    AendVerh2023? aendVerh;

    /**
    * 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")
    GrundAendVerh2023? grundAendVerh;

    /**
    * Nutzungsänderung
    */
    // @ApiMember(Description="Nutzungsänderung", Name="VoStBerBetr")
    VoStBerBetr2023? voStBerBetr;

    BerVoSt15a2023({this.grdstErstmVerw,this.aendVerh,this.grundAendVerh,this.voStBerBetr});
    BerVoSt15a2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        grdstErstmVerw = JsonConverters.fromJson(json['grdstErstmVerw'],'GrdstErstmVerw2023',context!);
        aendVerh = JsonConverters.fromJson(json['aendVerh'],'AendVerh2023',context!);
        grundAendVerh = JsonConverters.fromJson(json['grundAendVerh'],'GrundAendVerh2023',context!);
        voStBerBetr = JsonConverters.fromJson(json['voStBerBetr'],'VoStBerBetr2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'grdstErstmVerw': JsonConverters.toJson(grdstErstmVerw,'GrdstErstmVerw2023',context!),
        'aendVerh': JsonConverters.toJson(aendVerh,'AendVerh2023',context!),
        'grundAendVerh': JsonConverters.toJson(grundAendVerh,'GrundAendVerh2023',context!),
        'voStBerBetr': JsonConverters.toJson(voStBerBetr,'VoStBerBetr2023',context!)
    };

    getTypeName() => "BerVoSt15a2023";
    TypeContext? context = _ctx;
}

/**
* Verbleibende Umsatzsteuer / Verbleibender Überschuss.
*/
// @Api(Description="Verbleibende Umsatzsteuer / Verbleibender Überschuss.")
class VerblUSt2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DETyp? e3011101;

    /**
    * Vorauszahlungssoll 2023 (einschließlich Sondervorauszahlung)
    */
    // @ApiMember(Description="Vorauszahlungssoll 2023 (einschließlich Sondervorauszahlung)", IsRequired=true, Name="E3011301")
    // @Validate(Validator="NotNull")
    GeldBetragMitCent12DETyp? e3011301;

    VerblUSt2023({this.e3011101,this.e3011301});
    VerblUSt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3011101 = JsonConverters.fromJson(json['e3011101'],'GeldBetragMitCent12DETyp',context!);
        e3011301 = JsonConverters.fromJson(json['e3011301'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3011101': JsonConverters.toJson(e3011101,'GeldBetragMitCent12DETyp',context!),
        'e3011301': JsonConverters.toJson(e3011301,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "VerblUSt2023";
    TypeContext? context = _ctx;
}

/**
* Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -
*/
// @Api(Description="Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -")
class ZahlErstatt2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DETyp? e3011401;

    ZahlErstatt2023({this.e3011401});
    ZahlErstatt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3011401 = JsonConverters.fromJson(json['e3011401'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3011401': JsonConverters.toJson(e3011401,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "ZahlErstatt2023";
    TypeContext? context = _ctx;
}

/**
* Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle
*/
// @Api(Description="Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle")
class BerechUStTabelle2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DETyp? e3009201;

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

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3009602;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3009501;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3009502;

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

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

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3010001;

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

    /**
    * 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")
    PositiverGeldBetragMitCent12DETyp? e3009701;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3010301;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3010401;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3010501;

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

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

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

    /**
    * Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -
    */
    // @ApiMember(Description="Noch an die Finanzkasse zu entrichten - Abschlusszahlung / Erstattungsanspruch -", Name="ZahlErstatt")
    ZahlErstatt2023? zahlErstatt;

    BerechUStTabelle2023({this.e3009201,this.e3009401,this.e3009602,this.e3009501,this.e3009502,this.e3009801,this.e3009901,this.e3010001,this.e3010201,this.e3009701,this.e3010301,this.e3010401,this.e3010501,this.e3010601,this.e3010602,this.verblUSt,this.zahlErstatt});
    BerechUStTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3009201 = JsonConverters.fromJson(json['e3009201'],'GeldBetragMitCent12DETyp',context!);
        e3009401 = JsonConverters.fromJson(json['e3009401'],'GeldBetragMitCent12DETyp',context!);
        e3009602 = JsonConverters.fromJson(json['e3009602'],'GeldBetragMitCent12DETyp',context!);
        e3009501 = JsonConverters.fromJson(json['e3009501'],'GeldBetragMitCent12DETyp',context!);
        e3009502 = JsonConverters.fromJson(json['e3009502'],'GeldBetragMitCent12DETyp',context!);
        e3009801 = JsonConverters.fromJson(json['e3009801'],'GeldBetragMitCent12DETyp',context!);
        e3009901 = JsonConverters.fromJson(json['e3009901'],'GeldBetragMitCent12DETyp',context!);
        e3010001 = JsonConverters.fromJson(json['e3010001'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3010201 = JsonConverters.fromJson(json['e3010201'],'GeldBetragMitCent12DETyp',context!);
        e3009701 = JsonConverters.fromJson(json['e3009701'],'PositiverGeldBetragMitCent12DETyp',context!);
        e3010301 = JsonConverters.fromJson(json['e3010301'],'GeldBetragMitCent12DETyp',context!);
        e3010401 = JsonConverters.fromJson(json['e3010401'],'GeldBetragMitCent12DETyp',context!);
        e3010501 = JsonConverters.fromJson(json['e3010501'],'GeldBetragMitCent12DETyp',context!);
        e3010601 = JsonConverters.fromJson(json['e3010601'],'GeldBetragMitCent12DETyp',context!);
        e3010602 = JsonConverters.fromJson(json['e3010602'],'GeldBetragMitCent12DETyp',context!);
        verblUSt = JsonConverters.fromJson(json['verblUSt'],'VerblUSt2023',context!);
        zahlErstatt = JsonConverters.fromJson(json['zahlErstatt'],'ZahlErstatt2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3009201': JsonConverters.toJson(e3009201,'GeldBetragMitCent12DETyp',context!),
        'e3009401': JsonConverters.toJson(e3009401,'GeldBetragMitCent12DETyp',context!),
        'e3009602': JsonConverters.toJson(e3009602,'GeldBetragMitCent12DETyp',context!),
        'e3009501': JsonConverters.toJson(e3009501,'GeldBetragMitCent12DETyp',context!),
        'e3009502': JsonConverters.toJson(e3009502,'GeldBetragMitCent12DETyp',context!),
        'e3009801': JsonConverters.toJson(e3009801,'GeldBetragMitCent12DETyp',context!),
        'e3009901': JsonConverters.toJson(e3009901,'GeldBetragMitCent12DETyp',context!),
        'e3010001': JsonConverters.toJson(e3010001,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3010201': JsonConverters.toJson(e3010201,'GeldBetragMitCent12DETyp',context!),
        'e3009701': JsonConverters.toJson(e3009701,'PositiverGeldBetragMitCent12DETyp',context!),
        'e3010301': JsonConverters.toJson(e3010301,'GeldBetragMitCent12DETyp',context!),
        'e3010401': JsonConverters.toJson(e3010401,'GeldBetragMitCent12DETyp',context!),
        'e3010501': JsonConverters.toJson(e3010501,'GeldBetragMitCent12DETyp',context!),
        'e3010601': JsonConverters.toJson(e3010601,'GeldBetragMitCent12DETyp',context!),
        'e3010602': JsonConverters.toJson(e3010602,'GeldBetragMitCent12DETyp',context!),
        'verblUSt': JsonConverters.toJson(verblUSt,'VerblUSt2023',context!),
        'zahlErstatt': JsonConverters.toJson(zahlErstatt,'ZahlErstatt2023',context!)
    };

    getTypeName() => "BerechUStTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Berechnung der zu entrichtenden Umsatzsteuer.
*/
// @Api(Description="Berechnung der zu entrichtenden Umsatzsteuer.")
class BerechUSt2023 implements IConvertible
{
    /**
    * Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle
    */
    // @ApiMember(Description="Berechnung der zu entrichtenden Umsatzsteuer, Steuer Tabelle", Name="Tabelle")
    BerechUStTabelle2023? tabelle;

    BerechUSt2023({this.tabelle});
    BerechUSt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'BerechUStTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'BerechUStTabelle2023',context!)
    };

    getTypeName() => "BerechUSt2023";
    TypeContext? context = _ctx;
}

/**
* Bankverbindung.
*/
// @Api(Description="Bankverbindung.")
class Bank2023 implements IConvertible
{
    /**
    * IBAN
    */
    // @ApiMember(Description="IBAN", Name="E3201001")
    StringTyp? e3201001;

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

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

    /**
    * 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")
    StringTyp? e3200902;

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

    /**
    * Name des Kontoinhabers
    */
    // @ApiMember(Description="Name des Kontoinhabers", Name="E3200905")
    StringTyp? e3200905;

    Bank2023({this.e3201001,this.e3201002,this.e3200901,this.e3200902,this.e3200904,this.e3200905});
    Bank2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201001 = JsonConverters.fromJson(json['e3201001'],'StringTyp',context!);
        e3201002 = JsonConverters.fromJson(json['e3201002'],'StringTyp',context!);
        e3200901 = JsonConverters.fromJson(json['e3200901'],'StringTyp',context!);
        e3200902 = JsonConverters.fromJson(json['e3200902'],'StringTyp',context!);
        e3200904 = JsonConverters.fromJson(json['e3200904'],'BoolXTyp',context!);
        e3200905 = JsonConverters.fromJson(json['e3200905'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201001': JsonConverters.toJson(e3201001,'StringTyp',context!),
        'e3201002': JsonConverters.toJson(e3201002,'StringTyp',context!),
        'e3200901': JsonConverters.toJson(e3200901,'StringTyp',context!),
        'e3200902': JsonConverters.toJson(e3200902,'StringTyp',context!),
        'e3200904': JsonConverters.toJson(e3200904,'BoolXTyp',context!),
        'e3200905': JsonConverters.toJson(e3200905,'StringTyp',context!)
    };

    getTypeName() => "Bank2023";
    TypeContext? context = _ctx;
}

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

    /**
    * E-Mail-Adresse
    */
    // @ApiMember(Description="E-Mail-Adresse", Name="E3201502")
    StringTyp? e3201502;

    VollmKontakt2023({this.e3201602,this.e3201502});
    VollmKontakt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201602 = JsonConverters.fromJson(json['e3201602'],'StringTyp',context!);
        e3201502 = JsonConverters.fromJson(json['e3201502'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201602': JsonConverters.toJson(e3201602,'StringTyp',context!),
        'e3201502': JsonConverters.toJson(e3201502,'StringTyp',context!)
    };

    getTypeName() => "VollmKontakt2023";
    TypeContext? context = _ctx;
}

/**
* Angaben zur Unterschrift.
*/
// @Api(Description="Angaben zur Unterschrift.")
class AngUnterschr2023 implements IConvertible
{
    /**
    * 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")
    BoolXTyp? e3201701;

    AngUnterschr2023({this.e3201701});
    AngUnterschr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201701 = JsonConverters.fromJson(json['e3201701'],'BoolXTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201701': JsonConverters.toJson(e3201701,'BoolXTyp',context!)
    };

    getTypeName() => "AngUnterschr2023";
    TypeContext? context = _ctx;
}

/**
* Bevollmächtigter/Empfangsbevollmächtigter.
*/
// @Api(Description="Bevollmächtigter/Empfangsbevollmächtigter.")
class Vollm2023 implements IConvertible
{
    /**
    * 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")
    BoolXTyp? e3201301;

    /**
    * 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")
    BoolXTyp? e3201401;

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

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

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

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

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

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

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

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

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

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

    /**
    * Angaben zur Unterschrift
    */
    // @ApiMember(Description="Angaben zur Unterschrift", Name="AngUnterschr")
    AngUnterschr2023? angUnterschr;

    Vollm2023({this.e3201301,this.e3201401,this.e3201501,this.e3201601,this.e3201302,this.e3201303,this.e3201304,this.e3201403,this.e3201404,this.e3201503,this.e3201504,this.kontakt,this.angUnterschr});
    Vollm2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201301 = JsonConverters.fromJson(json['e3201301'],'BoolXTyp',context!);
        e3201401 = JsonConverters.fromJson(json['e3201401'],'BoolXTyp',context!);
        e3201501 = JsonConverters.fromJson(json['e3201501'],'StringTyp',context!);
        e3201601 = JsonConverters.fromJson(json['e3201601'],'StringTyp',context!);
        e3201302 = JsonConverters.fromJson(json['e3201302'],'StringTyp',context!);
        e3201303 = JsonConverters.fromJson(json['e3201303'],'StringTyp',context!);
        e3201304 = JsonConverters.fromJson(json['e3201304'],'StringTyp',context!);
        e3201403 = JsonConverters.fromJson(json['e3201403'],'StringTyp',context!);
        e3201404 = JsonConverters.fromJson(json['e3201404'],'StringTyp',context!);
        e3201503 = JsonConverters.fromJson(json['e3201503'],'StringTyp',context!);
        e3201504 = JsonConverters.fromJson(json['e3201504'],'StringTyp',context!);
        kontakt = JsonConverters.fromJson(json['kontakt'],'VollmKontakt2023',context!);
        angUnterschr = JsonConverters.fromJson(json['angUnterschr'],'AngUnterschr2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201301': JsonConverters.toJson(e3201301,'BoolXTyp',context!),
        'e3201401': JsonConverters.toJson(e3201401,'BoolXTyp',context!),
        'e3201501': JsonConverters.toJson(e3201501,'StringTyp',context!),
        'e3201601': JsonConverters.toJson(e3201601,'StringTyp',context!),
        'e3201302': JsonConverters.toJson(e3201302,'StringTyp',context!),
        'e3201303': JsonConverters.toJson(e3201303,'StringTyp',context!),
        'e3201304': JsonConverters.toJson(e3201304,'StringTyp',context!),
        'e3201403': JsonConverters.toJson(e3201403,'StringTyp',context!),
        'e3201404': JsonConverters.toJson(e3201404,'StringTyp',context!),
        'e3201503': JsonConverters.toJson(e3201503,'StringTyp',context!),
        'e3201504': JsonConverters.toJson(e3201504,'StringTyp',context!),
        'kontakt': JsonConverters.toJson(kontakt,'VollmKontakt2023',context!),
        'angUnterschr': JsonConverters.toJson(angUnterschr,'AngUnterschr2023',context!)
    };

    getTypeName() => "Vollm2023";
    TypeContext? context = _ctx;
}

/**
* Allgemeine Angaben.
*/
// @Api(Description="Allgemeine Angaben.")
class UnAllg2023 implements IConvertible
{
    /**
    * Bankverbindung
    */
    // @ApiMember(Description="Bankverbindung", Name="Bank")
    Bank2023? bank;

    /**
    * Bevollmächtigter/Empfangsbevollmächtigter
    */
    // @ApiMember(Description="Bevollmächtigter/Empfangsbevollmächtigter", Name="Vollm")
    Vollm2023? vollm;

    UnAllg2023({this.bank,this.vollm});
    UnAllg2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bank = JsonConverters.fromJson(json['bank'],'Bank2023',context!);
        vollm = JsonConverters.fromJson(json['vollm'],'Vollm2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bank': JsonConverters.toJson(bank,'Bank2023',context!),
        'vollm': JsonConverters.toJson(vollm,'Vollm2023',context!)
    };

    getTypeName() => "UnAllg2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class Bool12Typ extends CustomTypBase implements IConvertible
{
    /**
    * 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")
    bool? wert;

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    Bool12Typ({this.wert,this.alias});
    Bool12Typ.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = json['wert'];
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': wert,
        'alias': alias
    });

    getTypeName() => "Bool12Typ";
    TypeContext? context = _ctx;
}

/**
* Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern.
*/
// @Api(Description="Vorsteuer-Vergütungsverfahren beim Bundeszentralamt für Steuern.")
class VoStVerguetBZSt2023 implements IConvertible
{
    /**
    * 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")
    Bool12Typ? e3201101;

    VoStVerguetBZSt2023({this.e3201101});
    VoStVerguetBZSt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201101 = JsonConverters.fromJson(json['e3201101'],'Bool12Typ',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201101': JsonConverters.toJson(e3201101,'Bool12Typ',context!)
    };

    getTypeName() => "VoStVerguetBZSt2023";
    TypeContext? context = _ctx;
}

/**
* C. Anrechenbare Beträge.
*/
// @Api(Description="C. Anrechenbare Beträge.")
class AnrechBetr2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragMitCent12DETyp? e3201902;

    /**
    * 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")
    GeldBetragMitCent12DETyp? e3202002;

    /**
    * Summe (zu übertragen in Zeile 116 der Steuererklärung)
    */
    // @ApiMember(Description="Summe (zu übertragen in Zeile 116 der Steuererklärung)", Name="E3202102")
    GeldBetragMitCent12DETyp? e3202102;

    AnrechBetr2023({this.e3201902,this.e3202002,this.e3202102});
    AnrechBetr2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201902 = JsonConverters.fromJson(json['e3201902'],'GeldBetragMitCent12DETyp',context!);
        e3202002 = JsonConverters.fromJson(json['e3202002'],'GeldBetragMitCent12DETyp',context!);
        e3202102 = JsonConverters.fromJson(json['e3202102'],'GeldBetragMitCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201902': JsonConverters.toJson(e3201902,'GeldBetragMitCent12DETyp',context!),
        'e3202002': JsonConverters.toJson(e3202002,'GeldBetragMitCent12DETyp',context!),
        'e3202102': JsonConverters.toJson(e3202102,'GeldBetragMitCent12DETyp',context!)
    };

    getTypeName() => "AnrechBetr2023";
    TypeContext? context = _ctx;
}

/**
* In den steuerpflichtigen Umsätzen enthaltene Umsätze.
*/
// @Api(Description="In den steuerpflichtigen Umsätzen enthaltene Umsätze.")
class InstpflUmsEnt2023 implements IConvertible
{
    /**
    * 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")
    GeldBetragOhneCent12DETyp? e3201901;

    InstpflUmsEnt2023({this.e3201901});
    InstpflUmsEnt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3201901 = JsonConverters.fromJson(json['e3201901'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3201901': JsonConverters.toJson(e3201901,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "InstpflUmsEnt2023";
    TypeContext? context = _ctx;
}

/**
* Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)
*/
// @Api(Description="Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)")
class UnErgAngUmsTabelle2023 implements IConvertible
{
    /**
    * In den steuerpflichtigen Umsätzen enthaltene Umsätze
    */
    // @ApiMember(Description="In den steuerpflichtigen Umsätzen enthaltene Umsätze", Name="InstpflUmsEnt")
    InstpflUmsEnt2023? instpflUmsEnt;

    UnErgAngUmsTabelle2023({this.instpflUmsEnt});
    UnErgAngUmsTabelle2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        instpflUmsEnt = JsonConverters.fromJson(json['instpflUmsEnt'],'InstpflUmsEnt2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'instpflUmsEnt': JsonConverters.toJson(instpflUmsEnt,'InstpflUmsEnt2023',context!)
    };

    getTypeName() => "UnErgAngUmsTabelle2023";
    TypeContext? context = _ctx;
}

/**
* Ergänzende Angaben zu Umsätzen.
*/
// @Api(Description="Ergänzende Angaben zu Umsätzen.")
class UnErgAngUms2023 implements IConvertible
{
    /**
    * Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)
    */
    // @ApiMember(Description="Ergänzende Angaben zu Umsätzen Tabelle (Bemessungsgrundlage ohne Umsatzsteuer)", Name="Tabelle")
    UnErgAngUmsTabelle2023? tabelle;

    UnErgAngUms2023({this.tabelle});
    UnErgAngUms2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tabelle = JsonConverters.fromJson(json['tabelle'],'UnErgAngUmsTabelle2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tabelle': JsonConverters.toJson(tabelle,'UnErgAngUmsTabelle2023',context!)
    };

    getTypeName() => "UnErgAngUms2023";
    TypeContext? context = _ctx;
}

/**
* 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.")
class UN2023 implements IConvertible
{
    /**
    * A. Allgemeine Angaben
    */
    // @ApiMember(Description="A. Allgemeine Angaben", Name="Allg")
    UnAllg2023? allg;

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

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

    /**
    * D. Ergänzende Angaben zu Umsätzen
    */
    // @ApiMember(Description="D. Ergänzende Angaben zu Umsätzen", Name="ErgAngUms")
    UnErgAngUms2023? ergAngUms;

    UN2023({this.allg,this.voStVerguetBZSt,this.anrechBetr,this.ergAngUms});
    UN2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        allg = JsonConverters.fromJson(json['allg'],'UnAllg2023',context!);
        voStVerguetBZSt = JsonConverters.fromJson(json['voStVerguetBZSt'],'VoStVerguetBZSt2023',context!);
        anrechBetr = JsonConverters.fromJson(json['anrechBetr'],'AnrechBetr2023',context!);
        ergAngUms = JsonConverters.fromJson(json['ergAngUms'],'UnErgAngUms2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'allg': JsonConverters.toJson(allg,'UnAllg2023',context!),
        'voStVerguetBZSt': JsonConverters.toJson(voStVerguetBZSt,'VoStVerguetBZSt2023',context!),
        'anrechBetr': JsonConverters.toJson(anrechBetr,'AnrechBetr2023',context!),
        'ergAngUms': JsonConverters.toJson(ergAngUms,'UnErgAngUms2023',context!)
    };

    getTypeName() => "UN2023";
    TypeContext? context = _ctx;
}

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

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

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

    /**
    * Summe der jeweiligen Bemessungsgrundlagen in EUR
    */
    // @ApiMember(Description="Summe der jeweiligen Bemessungsgrundlagen in EUR", Name="E3300204")
    GeldBetragOhneCent12DETyp? e3300204;

    Einz2023({this.e3300201,this.e3300202,this.e3300203,this.e3300204});
    Einz2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3300201 = JsonConverters.fromJson(json['e3300201'],'StringTyp',context!);
        e3300202 = JsonConverters.fromJson(json['e3300202'],'StringTyp',context!);
        e3300203 = JsonConverters.fromJson(json['e3300203'],'StringTyp',context!);
        e3300204 = JsonConverters.fromJson(json['e3300204'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3300201': JsonConverters.toJson(e3300201,'StringTyp',context!),
        'e3300202': JsonConverters.toJson(e3300202,'StringTyp',context!),
        'e3300203': JsonConverters.toJson(e3300203,'StringTyp',context!),
        'e3300204': JsonConverters.toJson(e3300204,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "Einz2023";
    TypeContext? context = _ctx;
}

/**
* Summe
*/
// @Api(Description="Summe")
class AufstAllerVertrUntSum2023 implements IConvertible
{
    /**
    *  Summe in EUR
    */
    // @ApiMember(Description=" Summe in EUR", Name="E3300301")
    GeldBetragOhneCent12DETyp? e3300301;

    AufstAllerVertrUntSum2023({this.e3300301});
    AufstAllerVertrUntSum2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        e3300301 = JsonConverters.fromJson(json['e3300301'],'GeldBetragOhneCent12DETyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'e3300301': JsonConverters.toJson(e3300301,'GeldBetragOhneCent12DETyp',context!)
    };

    getTypeName() => "AufstAllerVertrUntSum2023";
    TypeContext? context = _ctx;
}

/**
* Aufstellung aller vertretenen Unternehmer
*/
// @Api(Description="Aufstellung aller vertretenen Unternehmer")
class AufstAllerVertrUnt2023 implements IConvertible
{
    /**
    * Die vertretenen Unternehmer
    */
    // @ApiMember(Description="Die vertretenen Unternehmer", Name="Einzs")
    List<Einz2023>? einzs;

    /**
    * Die Summe
    */
    // @ApiMember(Description="Die Summe", Name="Sum")
    AufstAllerVertrUntSum2023? sum;

    AufstAllerVertrUnt2023({this.einzs,this.sum});
    AufstAllerVertrUnt2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        einzs = JsonConverters.fromJson(json['einzs'],'List<Einz2023>',context!);
        sum = JsonConverters.fromJson(json['sum'],'AufstAllerVertrUntSum2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'einzs': JsonConverters.toJson(einzs,'List<Einz2023>',context!),
        'sum': JsonConverters.toJson(sum,'AufstAllerVertrUntSum2023',context!)
    };

    getTypeName() => "AufstAllerVertrUnt2023";
    TypeContext? context = _ctx;
}

/**
* Anlage FV zur Umsatzsteuererklärung 2023
*/
// @Api(Description="Anlage FV zur Umsatzsteuererklärung 2023")
class FV2023 implements IConvertible
{
    /**
    * Aufstellung aller vertretenen Unternehmer
    */
    // @ApiMember(Description="Aufstellung aller vertretenen Unternehmer", Name="AufstAllerVertrUnt")
    AufstAllerVertrUnt2023? aufstAllerVertrUnt;

    FV2023({this.aufstAllerVertrUnt});
    FV2023.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        aufstAllerVertrUnt = JsonConverters.fromJson(json['aufstAllerVertrUnt'],'AufstAllerVertrUnt2023',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'aufstAllerVertrUnt': JsonConverters.toJson(aufstAllerVertrUnt,'AufstAllerVertrUnt2023',context!)
    };

    getTypeName() => "FV2023";
    TypeContext? context = _ctx;
}

/**
* Stellt den Vorgang bei einer Veranlagung dar.
*/
enum VeranlagungVorgang
{
    NurVeranlagung,
    VeranlagungMitVorauszahlung,
}

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

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    VeranlagungVorgangTyp({this.wert,this.alias});
    VeranlagungVorgangTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.fromJson(json['wert'],'VeranlagungVorgang',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': JsonConverters.toJson(wert,'VeranlagungVorgang',context!),
        'alias': alias
    });

    getTypeName() => "VeranlagungVorgangTyp";
    TypeContext? context = _ctx;
}

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

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

    /**
    * Identifizierung der Zeile / Typ im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Typ im Fremdprogramm.", Name="Alias")
    String? alias;

    OrdNrArtTyp({this.wert,this.alias});
    OrdNrArtTyp.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        wert = JsonConverters.fromJson(json['wert'],'OrdNrArt',context!);
        alias = json['alias'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'wert': JsonConverters.toJson(wert,'OrdNrArt',context!),
        'alias': alias
    });

    getTypeName() => "OrdNrArtTyp";
    TypeContext? context = _ctx;
}

/**
* 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.")
class E50Rueckuebermittlung implements IConvertible
{
    /**
    * Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?
    */
    // @ApiMember(Description="Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?")
    Bool12Typ? bescheid;

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

    /**
    * 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")
    StringTyp? schluesselRueckuebermittlung;

    /**
    * 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.")
    StringTyp? adresseRueckuebermittlung;

    E50Rueckuebermittlung({this.bescheid,this.artRueckuebermittlung,this.schluesselRueckuebermittlung,this.adresseRueckuebermittlung});
    E50Rueckuebermittlung.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bescheid = JsonConverters.fromJson(json['bescheid'],'Bool12Typ',context!);
        artRueckuebermittlung = JsonConverters.fromJson(json['artRueckuebermittlung'],'StringTyp',context!);
        schluesselRueckuebermittlung = JsonConverters.fromJson(json['schluesselRueckuebermittlung'],'StringTyp',context!);
        adresseRueckuebermittlung = JsonConverters.fromJson(json['adresseRueckuebermittlung'],'StringTyp',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bescheid': JsonConverters.toJson(bescheid,'Bool12Typ',context!),
        'artRueckuebermittlung': JsonConverters.toJson(artRueckuebermittlung,'StringTyp',context!),
        'schluesselRueckuebermittlung': JsonConverters.toJson(schluesselRueckuebermittlung,'StringTyp',context!),
        'adresseRueckuebermittlung': JsonConverters.toJson(adresseRueckuebermittlung,'StringTyp',context!)
    };

    getTypeName() => "E50Rueckuebermittlung";
    TypeContext? context = _ctx;
}

/**
* Create XML content that represents an annual VAT return (Umsatzsteuerjahresserklärung) for 2023.
*/
// @Api(Description="Create XML content that represents an annual VAT return (Umsatzsteuerjahresserklärung) for 2023.")
abstract class CreateUmsatzsteuererklaerung2023XmlBase implements IPost
{
    /**
    * Berichtigte Erklärung
    */
    // @ApiMember(Description="Berichtigte Erklärung", Name="BerErkl")
    BerErkl2023? berErkl;

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

    /**
    * 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")
    Mitwirk2023? mitwirk;

    /**
    * 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")
    Kleinuntern2023? kleinuntern;

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

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    UN2023? un;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    String? bundesfinanzamtsnummer;

    /**
    * 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")
    String? datenLieferant;

    CreateUmsatzsteuererklaerung2023XmlBase({this.berErkl,this.allg,this.mitwirk,this.kleinuntern,this.umsaetze,this.umsStfrei,this.igErw,this.auslag13a,this.igDrei,this.ums13b,this.ergAngUms,this.abzVoSt,this.berVoSt15a,this.berechUSt,this.un,this.fv,this.vorgang,this.stNr,this.ordnungsbegriff,this.id,this.idEhefrau,this.absName,this.absStr,this.absPlz,this.absOrt,this.copyright,this.teleNummer,this.ordNrArt,this.rueckuebermittlung,this.bundesfinanzamtsnummer,this.datenLieferant});
    CreateUmsatzsteuererklaerung2023XmlBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        berErkl = JsonConverters.fromJson(json['berErkl'],'BerErkl2023',context!);
        allg = JsonConverters.fromJson(json['allg'],'Allg2023',context!);
        mitwirk = JsonConverters.fromJson(json['mitwirk'],'Mitwirk2023',context!);
        kleinuntern = JsonConverters.fromJson(json['kleinuntern'],'Kleinuntern2023',context!);
        umsaetze = JsonConverters.fromJson(json['umsaetze'],'Umsaetze2023',context!);
        umsStfrei = JsonConverters.fromJson(json['umsStfrei'],'UmsStfrei2023',context!);
        igErw = JsonConverters.fromJson(json['igErw'],'IgErw2023',context!);
        auslag13a = JsonConverters.fromJson(json['auslag13a'],'Auslag13a2023',context!);
        igDrei = JsonConverters.fromJson(json['igDrei'],'IgDrei2023',context!);
        ums13b = JsonConverters.fromJson(json['ums13b'],'Ums13b2023',context!);
        ergAngUms = JsonConverters.fromJson(json['ergAngUms'],'ErgAngUms2023',context!);
        abzVoSt = JsonConverters.fromJson(json['abzVoSt'],'AbzVoSt2023',context!);
        berVoSt15a = JsonConverters.fromJson(json['berVoSt15a'],'BerVoSt15a2023',context!);
        berechUSt = JsonConverters.fromJson(json['berechUSt'],'BerechUSt2023',context!);
        un = JsonConverters.fromJson(json['un'],'UN2023',context!);
        fv = JsonConverters.fromJson(json['fv'],'FV2023',context!);
        vorgang = JsonConverters.fromJson(json['vorgang'],'VeranlagungVorgangTyp',context!);
        stNr = JsonConverters.fromJson(json['stNr'],'StringTyp',context!);
        ordnungsbegriff = JsonConverters.fromJson(json['ordnungsbegriff'],'StringTyp',context!);
        id = JsonConverters.fromJson(json['id'],'StringTyp',context!);
        idEhefrau = JsonConverters.fromJson(json['idEhefrau'],'StringTyp',context!);
        absName = JsonConverters.fromJson(json['absName'],'StringTyp',context!);
        absStr = JsonConverters.fromJson(json['absStr'],'StringTyp',context!);
        absPlz = JsonConverters.fromJson(json['absPlz'],'StringTyp',context!);
        absOrt = JsonConverters.fromJson(json['absOrt'],'StringTyp',context!);
        copyright = JsonConverters.fromJson(json['copyright'],'StringTyp',context!);
        teleNummer = JsonConverters.fromJson(json['teleNummer'],'StringTyp',context!);
        ordNrArt = JsonConverters.fromJson(json['ordNrArt'],'OrdNrArtTyp',context!);
        rueckuebermittlung = JsonConverters.fromJson(json['rueckuebermittlung'],'E50Rueckuebermittlung',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        datenLieferant = json['datenLieferant'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'berErkl': JsonConverters.toJson(berErkl,'BerErkl2023',context!),
        'allg': JsonConverters.toJson(allg,'Allg2023',context!),
        'mitwirk': JsonConverters.toJson(mitwirk,'Mitwirk2023',context!),
        'kleinuntern': JsonConverters.toJson(kleinuntern,'Kleinuntern2023',context!),
        'umsaetze': JsonConverters.toJson(umsaetze,'Umsaetze2023',context!),
        'umsStfrei': JsonConverters.toJson(umsStfrei,'UmsStfrei2023',context!),
        'igErw': JsonConverters.toJson(igErw,'IgErw2023',context!),
        'auslag13a': JsonConverters.toJson(auslag13a,'Auslag13a2023',context!),
        'igDrei': JsonConverters.toJson(igDrei,'IgDrei2023',context!),
        'ums13b': JsonConverters.toJson(ums13b,'Ums13b2023',context!),
        'ergAngUms': JsonConverters.toJson(ergAngUms,'ErgAngUms2023',context!),
        'abzVoSt': JsonConverters.toJson(abzVoSt,'AbzVoSt2023',context!),
        'berVoSt15a': JsonConverters.toJson(berVoSt15a,'BerVoSt15a2023',context!),
        'berechUSt': JsonConverters.toJson(berechUSt,'BerechUSt2023',context!),
        'un': JsonConverters.toJson(un,'UN2023',context!),
        'fv': JsonConverters.toJson(fv,'FV2023',context!),
        'vorgang': JsonConverters.toJson(vorgang,'VeranlagungVorgangTyp',context!),
        'stNr': JsonConverters.toJson(stNr,'StringTyp',context!),
        'ordnungsbegriff': JsonConverters.toJson(ordnungsbegriff,'StringTyp',context!),
        'id': JsonConverters.toJson(id,'StringTyp',context!),
        'idEhefrau': JsonConverters.toJson(idEhefrau,'StringTyp',context!),
        'absName': JsonConverters.toJson(absName,'StringTyp',context!),
        'absStr': JsonConverters.toJson(absStr,'StringTyp',context!),
        'absPlz': JsonConverters.toJson(absPlz,'StringTyp',context!),
        'absOrt': JsonConverters.toJson(absOrt,'StringTyp',context!),
        'copyright': JsonConverters.toJson(copyright,'StringTyp',context!),
        'teleNummer': JsonConverters.toJson(teleNummer,'StringTyp',context!),
        'ordNrArt': JsonConverters.toJson(ordNrArt,'OrdNrArtTyp',context!),
        'rueckuebermittlung': JsonConverters.toJson(rueckuebermittlung,'E50Rueckuebermittlung',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer,
        'datenLieferant': datenLieferant
    };

    getTypeName() => "CreateUmsatzsteuererklaerung2023XmlBase";
    TypeContext? context = _ctx;
}

/**
* Represents the response from a service that generates XML content.
*/
// @Api(Description="Represents the response from a service that generates XML content.")
class XmlResponse implements IConvertible
{
    /**
    * The XML-based content of the response.
    */
    // @ApiMember(Description="The XML-based content of the response.")
    String? content;

    /**
    * Metadata that contains structured error information on the XML response.
    */
    // @ApiMember(Description="Metadata that contains structured error information on the XML response.")
    ResponseStatus? responseStatus;

    XmlResponse({this.content,this.responseStatus});
    XmlResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        content = json['content'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'content': content,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "XmlResponse";
    TypeContext? context = _ctx;
}

/**
* A synchronous service to create XML content that represents the annual VAT return for 2023.
*/
// @Api(Description="A synchronous service to create XML content that represents the annual VAT return for 2023.")
class CreateUmsatzsteuererklaerung2023Xml extends CreateUmsatzsteuererklaerung2023XmlBase implements IConvertible
{
    /**
    * Berichtigte Erklärung
    */
    // @ApiMember(Description="Berichtigte Erklärung", Name="BerErkl")
    BerErkl2023? berErkl;

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

    /**
    * 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")
    Mitwirk2023? mitwirk;

    /**
    * 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")
    Kleinuntern2023? kleinuntern;

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

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    UN2023? un;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    String? bundesfinanzamtsnummer;

    /**
    * 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")
    String? datenLieferant;

    CreateUmsatzsteuererklaerung2023Xml({this.berErkl,this.allg,this.mitwirk,this.kleinuntern,this.umsaetze,this.umsStfrei,this.igErw,this.auslag13a,this.igDrei,this.ums13b,this.ergAngUms,this.abzVoSt,this.berVoSt15a,this.berechUSt,this.un,this.fv,this.vorgang,this.stNr,this.ordnungsbegriff,this.id,this.idEhefrau,this.absName,this.absStr,this.absPlz,this.absOrt,this.copyright,this.teleNummer,this.ordNrArt,this.rueckuebermittlung,this.bundesfinanzamtsnummer,this.datenLieferant});
    CreateUmsatzsteuererklaerung2023Xml.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        berErkl = JsonConverters.fromJson(json['berErkl'],'BerErkl2023',context!);
        allg = JsonConverters.fromJson(json['allg'],'Allg2023',context!);
        mitwirk = JsonConverters.fromJson(json['mitwirk'],'Mitwirk2023',context!);
        kleinuntern = JsonConverters.fromJson(json['kleinuntern'],'Kleinuntern2023',context!);
        umsaetze = JsonConverters.fromJson(json['umsaetze'],'Umsaetze2023',context!);
        umsStfrei = JsonConverters.fromJson(json['umsStfrei'],'UmsStfrei2023',context!);
        igErw = JsonConverters.fromJson(json['igErw'],'IgErw2023',context!);
        auslag13a = JsonConverters.fromJson(json['auslag13a'],'Auslag13a2023',context!);
        igDrei = JsonConverters.fromJson(json['igDrei'],'IgDrei2023',context!);
        ums13b = JsonConverters.fromJson(json['ums13b'],'Ums13b2023',context!);
        ergAngUms = JsonConverters.fromJson(json['ergAngUms'],'ErgAngUms2023',context!);
        abzVoSt = JsonConverters.fromJson(json['abzVoSt'],'AbzVoSt2023',context!);
        berVoSt15a = JsonConverters.fromJson(json['berVoSt15a'],'BerVoSt15a2023',context!);
        berechUSt = JsonConverters.fromJson(json['berechUSt'],'BerechUSt2023',context!);
        un = JsonConverters.fromJson(json['un'],'UN2023',context!);
        fv = JsonConverters.fromJson(json['fv'],'FV2023',context!);
        vorgang = JsonConverters.fromJson(json['vorgang'],'VeranlagungVorgangTyp',context!);
        stNr = JsonConverters.fromJson(json['stNr'],'StringTyp',context!);
        ordnungsbegriff = JsonConverters.fromJson(json['ordnungsbegriff'],'StringTyp',context!);
        id = JsonConverters.fromJson(json['id'],'StringTyp',context!);
        idEhefrau = JsonConverters.fromJson(json['idEhefrau'],'StringTyp',context!);
        absName = JsonConverters.fromJson(json['absName'],'StringTyp',context!);
        absStr = JsonConverters.fromJson(json['absStr'],'StringTyp',context!);
        absPlz = JsonConverters.fromJson(json['absPlz'],'StringTyp',context!);
        absOrt = JsonConverters.fromJson(json['absOrt'],'StringTyp',context!);
        copyright = JsonConverters.fromJson(json['copyright'],'StringTyp',context!);
        teleNummer = JsonConverters.fromJson(json['teleNummer'],'StringTyp',context!);
        ordNrArt = JsonConverters.fromJson(json['ordNrArt'],'OrdNrArtTyp',context!);
        rueckuebermittlung = JsonConverters.fromJson(json['rueckuebermittlung'],'E50Rueckuebermittlung',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        datenLieferant = json['datenLieferant'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'berErkl': JsonConverters.toJson(berErkl,'BerErkl2023',context!),
        'allg': JsonConverters.toJson(allg,'Allg2023',context!),
        'mitwirk': JsonConverters.toJson(mitwirk,'Mitwirk2023',context!),
        'kleinuntern': JsonConverters.toJson(kleinuntern,'Kleinuntern2023',context!),
        'umsaetze': JsonConverters.toJson(umsaetze,'Umsaetze2023',context!),
        'umsStfrei': JsonConverters.toJson(umsStfrei,'UmsStfrei2023',context!),
        'igErw': JsonConverters.toJson(igErw,'IgErw2023',context!),
        'auslag13a': JsonConverters.toJson(auslag13a,'Auslag13a2023',context!),
        'igDrei': JsonConverters.toJson(igDrei,'IgDrei2023',context!),
        'ums13b': JsonConverters.toJson(ums13b,'Ums13b2023',context!),
        'ergAngUms': JsonConverters.toJson(ergAngUms,'ErgAngUms2023',context!),
        'abzVoSt': JsonConverters.toJson(abzVoSt,'AbzVoSt2023',context!),
        'berVoSt15a': JsonConverters.toJson(berVoSt15a,'BerVoSt15a2023',context!),
        'berechUSt': JsonConverters.toJson(berechUSt,'BerechUSt2023',context!),
        'un': JsonConverters.toJson(un,'UN2023',context!),
        'fv': JsonConverters.toJson(fv,'FV2023',context!),
        'vorgang': JsonConverters.toJson(vorgang,'VeranlagungVorgangTyp',context!),
        'stNr': JsonConverters.toJson(stNr,'StringTyp',context!),
        'ordnungsbegriff': JsonConverters.toJson(ordnungsbegriff,'StringTyp',context!),
        'id': JsonConverters.toJson(id,'StringTyp',context!),
        'idEhefrau': JsonConverters.toJson(idEhefrau,'StringTyp',context!),
        'absName': JsonConverters.toJson(absName,'StringTyp',context!),
        'absStr': JsonConverters.toJson(absStr,'StringTyp',context!),
        'absPlz': JsonConverters.toJson(absPlz,'StringTyp',context!),
        'absOrt': JsonConverters.toJson(absOrt,'StringTyp',context!),
        'copyright': JsonConverters.toJson(copyright,'StringTyp',context!),
        'teleNummer': JsonConverters.toJson(teleNummer,'StringTyp',context!),
        'ordNrArt': JsonConverters.toJson(ordNrArt,'OrdNrArtTyp',context!),
        'rueckuebermittlung': JsonConverters.toJson(rueckuebermittlung,'E50Rueckuebermittlung',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer,
        'datenLieferant': datenLieferant
    });

    getTypeName() => "CreateUmsatzsteuererklaerung2023Xml";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: <String, TypeInfo> {
    'CustomTypBase': TypeInfo(TypeOf.AbstractClass),
    'Bool1Typ': TypeInfo(TypeOf.Class, create:() => Bool1Typ()),
    'BerErkl2023': TypeInfo(TypeOf.Class, create:() => BerErkl2023()),
    'StringTyp': TypeInfo(TypeOf.Class, create:() => StringTyp()),
    'UnternehmenAdr2023': TypeInfo(TypeOf.Class, create:() => UnternehmenAdr2023()),
    'UnternehmenKontakt2023': TypeInfo(TypeOf.Class, create:() => UnternehmenKontakt2023()),
    'Unternehmen2023': TypeInfo(TypeOf.Class, create:() => Unternehmen2023()),
    'ImAuslAnsUnt2023': TypeInfo(TypeOf.Class, create:() => ImAuslAnsUnt2023()),
    'Fiskalvertr2023': TypeInfo(TypeOf.Class, create:() => Fiskalvertr2023()),
    'ErklaerungZeitraum': TypeInfo(TypeOf.Class, create:() => ErklaerungZeitraum()),
    'ZeitraumTyp': TypeInfo(TypeOf.Class, create:() => ZeitraumTyp()),
    'DauerUntEig2023': TypeInfo(TypeOf.Class, create:() => DauerUntEig2023()),
    'Entgeltart': TypeInfo(TypeOf.Enum, enumValues:Entgeltart.values),
    'EntgeltartTyp': TypeInfo(TypeOf.Class, create:() => EntgeltartTyp()),
    'BestArt2023': TypeInfo(TypeOf.Class, create:() => BestArt2023()),
    'Verrech2023': TypeInfo(TypeOf.Class, create:() => Verrech2023()),
    'ErgAngErkl2023': TypeInfo(TypeOf.Class, create:() => ErgAngErkl2023()),
    'Allg2023': TypeInfo(TypeOf.Class, create:() => Allg2023()),
    'Kanzlei2023': TypeInfo(TypeOf.Class, create:() => Kanzlei2023()),
    'Bearb2023': TypeInfo(TypeOf.Class, create:() => Bearb2023()),
    'MitwirkAdr2023': TypeInfo(TypeOf.Class, create:() => MitwirkAdr2023()),
    'MitwirkKontakt2023': TypeInfo(TypeOf.Class, create:() => MitwirkKontakt2023()),
    'MitwirkErkl2023': TypeInfo(TypeOf.Class, create:() => MitwirkErkl2023()),
    'Mitwirk2023': TypeInfo(TypeOf.Class, create:() => Mitwirk2023()),
    'GeldBetragOhneCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragOhneCent5DE': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent5DE()),
    'GeldBetragOhneCent5DETyp': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent5DETyp()),
    'GrossGeldBetragOhneCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragOhneCent12DE': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent12DE()),
    'GeldBetragOhneCent12DETyp': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent12DETyp()),
    'KleineunternTabelle2023': TypeInfo(TypeOf.Class, create:() => KleineunternTabelle2023()),
    'Kleinuntern2023': TypeInfo(TypeOf.Class, create:() => Kleinuntern2023()),
    'GeldBetragMitCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragMitCent12DE': TypeInfo(TypeOf.Class, create:() => GeldBetragMitCent12DE()),
    'GeldBetragMitCent12DETyp': TypeInfo(TypeOf.Class, create:() => GeldBetragMitCent12DETyp()),
    'UmsAllgUnentWertabgaben2023': TypeInfo(TypeOf.Class, create:() => UmsAllgUnentWertabgaben2023()),
    'UmsAllg2023': TypeInfo(TypeOf.Class, create:() => UmsAllg2023()),
    'UmsErmUnentWertabgaben2023': TypeInfo(TypeOf.Class, create:() => UmsErmUnentWertabgaben2023()),
    'UmsErm2023': TypeInfo(TypeOf.Class, create:() => UmsErm2023()),
    'PositiverGeldBetragOhneCent12DE': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragOhneCent12DE()),
    'PositiverGeldBetragOhneCent12DETyp': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragOhneCent12DETyp()),
    'UmsErm0UnentWertabgaben2023': TypeInfo(TypeOf.Class, create:() => UmsErm0UnentWertabgaben2023()),
    'UmsErm02023': TypeInfo(TypeOf.Class, create:() => UmsErm02023()),
    'UmsAnd2023': TypeInfo(TypeOf.Class, create:() => UmsAnd2023()),
    'UmsLuf2023': TypeInfo(TypeOf.Class, create:() => UmsLuf2023()),
    'PositiverGeldBetragMitCent12DE': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent12DE()),
    'PositiverGeldBetragMitCent12DETyp': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent12DETyp()),
    'WechsBestForm2023': TypeInfo(TypeOf.Class, create:() => WechsBestForm2023()),
    'NachstStSatzAend2023': TypeInfo(TypeOf.Class, create:() => NachstStSatzAend2023()),
    'UmsSum2023': TypeInfo(TypeOf.Class, create:() => UmsSum2023()),
    'UmsaetzeTabelle2023': TypeInfo(TypeOf.Class, create:() => UmsaetzeTabelle2023()),
    'Umsaetze2023': TypeInfo(TypeOf.Class, create:() => Umsaetze2023()),
    'IgLfg2023': TypeInfo(TypeOf.Class, create:() => IgLfg2023()),
    'UmsStFreiWeit2023': TypeInfo(TypeOf.Class, create:() => UmsStFreiWeit2023()),
    'MitVoStAbz2023': TypeInfo(TypeOf.Class, create:() => MitVoStAbz2023()),
    'NichtGesUms2023': TypeInfo(TypeOf.Class, create:() => NichtGesUms2023()),
    'GesUms2023': TypeInfo(TypeOf.Class, create:() => GesUms2023()),
    'OhneVoStAbz2023': TypeInfo(TypeOf.Class, create:() => OhneVoStAbz2023()),
    'UmsStfreiTabelle2023': TypeInfo(TypeOf.Class, create:() => UmsStfreiTabelle2023()),
    'UmsStfrei2023': TypeInfo(TypeOf.Class, create:() => UmsStfrei2023()),
    'Stfrei2023': TypeInfo(TypeOf.Class, create:() => Stfrei2023()),
    'Stpfl2023': TypeInfo(TypeOf.Class, create:() => Stpfl2023()),
    'IgErwSum2023': TypeInfo(TypeOf.Class, create:() => IgErwSum2023()),
    'IgErwTabelle2023': TypeInfo(TypeOf.Class, create:() => IgErwTabelle2023()),
    'IgErw2023': TypeInfo(TypeOf.Class, create:() => IgErw2023()),
    'Auslag13aSum2023': TypeInfo(TypeOf.Class, create:() => Auslag13aSum2023()),
    'Auslag13aTabelle2023': TypeInfo(TypeOf.Class, create:() => Auslag13aTabelle2023()),
    'Auslag13a2023': TypeInfo(TypeOf.Class, create:() => Auslag13a2023()),
    'LfgErstAbn2023': TypeInfo(TypeOf.Class, create:() => LfgErstAbn2023()),
    'LfgLetztAbn2023': TypeInfo(TypeOf.Class, create:() => LfgLetztAbn2023()),
    'IgDreiSum2023': TypeInfo(TypeOf.Class, create:() => IgDreiSum2023()),
    'IgDreiTabelle2023': TypeInfo(TypeOf.Class, create:() => IgDreiTabelle2023()),
    'IgDrei2023': TypeInfo(TypeOf.Class, create:() => IgDrei2023()),
    'Ums13bSum2023': TypeInfo(TypeOf.Class, create:() => Ums13bSum2023()),
    'Ums13bTabelle2023': TypeInfo(TypeOf.Class, create:() => Ums13bTabelle2023()),
    'Ums13b2023': TypeInfo(TypeOf.Class, create:() => Ums13b2023()),
    'ErgAngUmsTabelle2023': TypeInfo(TypeOf.Class, create:() => ErgAngUmsTabelle2023()),
    'ErgAngUms2023': TypeInfo(TypeOf.Class, create:() => ErgAngUms2023()),
    'AbzVoStSum2023': TypeInfo(TypeOf.Class, create:() => AbzVoStSum2023()),
    'ErgAng2023': TypeInfo(TypeOf.Class, create:() => ErgAng2023()),
    'AbzVoStTabelle2023': TypeInfo(TypeOf.Class, create:() => AbzVoStTabelle2023()),
    'AbzVoSt2023': TypeInfo(TypeOf.Class, create:() => AbzVoSt2023()),
    'DatumUhrzeitTyp': TypeInfo(TypeOf.Class, create:() => DatumUhrzeitTyp()),
    'PositiverGeldBetragMitCent13DE': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent13DE()),
    'PositiverGeldBetragMitCent13DETyp': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent13DETyp()),
    'AngGrdst2023': TypeInfo(TypeOf.Class, create:() => AngGrdst2023()),
    'GrdstErstmVerw2023': TypeInfo(TypeOf.Class, create:() => GrdstErstmVerw2023()),
    'AendVerh2023': TypeInfo(TypeOf.Class, create:() => AendVerh2023()),
    'BoolXTyp': TypeInfo(TypeOf.Class, create:() => BoolXTyp()),
    'NutzAend2023': TypeInfo(TypeOf.Class, create:() => NutzAend2023()),
    'GrundAendVerh2023': TypeInfo(TypeOf.Class, create:() => GrundAendVerh2023()),
    'VoStBerBetrSum2023': TypeInfo(TypeOf.Class, create:() => VoStBerBetrSum2023()),
    'VoStBerBetrTabelle2023': TypeInfo(TypeOf.Class, create:() => VoStBerBetrTabelle2023()),
    'VoStBerBetr2023': TypeInfo(TypeOf.Class, create:() => VoStBerBetr2023()),
    'BerVoSt15a2023': TypeInfo(TypeOf.Class, create:() => BerVoSt15a2023()),
    'VerblUSt2023': TypeInfo(TypeOf.Class, create:() => VerblUSt2023()),
    'ZahlErstatt2023': TypeInfo(TypeOf.Class, create:() => ZahlErstatt2023()),
    'BerechUStTabelle2023': TypeInfo(TypeOf.Class, create:() => BerechUStTabelle2023()),
    'BerechUSt2023': TypeInfo(TypeOf.Class, create:() => BerechUSt2023()),
    'Bank2023': TypeInfo(TypeOf.Class, create:() => Bank2023()),
    'VollmKontakt2023': TypeInfo(TypeOf.Class, create:() => VollmKontakt2023()),
    'AngUnterschr2023': TypeInfo(TypeOf.Class, create:() => AngUnterschr2023()),
    'Vollm2023': TypeInfo(TypeOf.Class, create:() => Vollm2023()),
    'UnAllg2023': TypeInfo(TypeOf.Class, create:() => UnAllg2023()),
    'Bool12Typ': TypeInfo(TypeOf.Class, create:() => Bool12Typ()),
    'VoStVerguetBZSt2023': TypeInfo(TypeOf.Class, create:() => VoStVerguetBZSt2023()),
    'AnrechBetr2023': TypeInfo(TypeOf.Class, create:() => AnrechBetr2023()),
    'InstpflUmsEnt2023': TypeInfo(TypeOf.Class, create:() => InstpflUmsEnt2023()),
    'UnErgAngUmsTabelle2023': TypeInfo(TypeOf.Class, create:() => UnErgAngUmsTabelle2023()),
    'UnErgAngUms2023': TypeInfo(TypeOf.Class, create:() => UnErgAngUms2023()),
    'UN2023': TypeInfo(TypeOf.Class, create:() => UN2023()),
    'Einz2023': TypeInfo(TypeOf.Class, create:() => Einz2023()),
    'AufstAllerVertrUntSum2023': TypeInfo(TypeOf.Class, create:() => AufstAllerVertrUntSum2023()),
    'AufstAllerVertrUnt2023': TypeInfo(TypeOf.Class, create:() => AufstAllerVertrUnt2023()),
    'List<Einz2023>': TypeInfo(TypeOf.Class, create:() => <Einz2023>[]),
    'FV2023': TypeInfo(TypeOf.Class, create:() => FV2023()),
    'VeranlagungVorgang': TypeInfo(TypeOf.Enum, enumValues:VeranlagungVorgang.values),
    'VeranlagungVorgangTyp': TypeInfo(TypeOf.Class, create:() => VeranlagungVorgangTyp()),
    'OrdNrArt': TypeInfo(TypeOf.Enum, enumValues:OrdNrArt.values),
    'OrdNrArtTyp': TypeInfo(TypeOf.Class, create:() => OrdNrArtTyp()),
    'E50Rueckuebermittlung': TypeInfo(TypeOf.Class, create:() => E50Rueckuebermittlung()),
    'CreateUmsatzsteuererklaerung2023XmlBase': TypeInfo(TypeOf.AbstractClass),
    'XmlResponse': TypeInfo(TypeOf.Class, create:() => XmlResponse()),
    'CreateUmsatzsteuererklaerung2023Xml': TypeInfo(TypeOf.Class, create:() => CreateUmsatzsteuererklaerung2023Xml()),
});

Dart CreateUmsatzsteuererklaerung2023Xml DTOs

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

HTTP + XML

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

POST /CreateUmsatzsteuererklaerung2023Xml HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateUmsatzsteuererklaerung2023Xml xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Umsatzsteuer.Requests">
  <AbsName alias="String">String</AbsName>
  <AbsOrt alias="String">String</AbsOrt>
  <AbsPlz alias="String">String</AbsPlz>
  <AbsStr alias="String">String</AbsStr>
  <AbzVoSt>
    <Tabelle>
      <E3006201 alias="String">0,00</E3006201>
      <E3006301 alias="String">0,00</E3006301>
      <E3006401 alias="String">0,00</E3006401>
      <E3006503 alias="String">0,00</E3006503>
      <E3006502 alias="String">0,00</E3006502>
      <E3006601 alias="String">0,00</E3006601>
      <E3006701 alias="String">0,00</E3006701>
      <E3006801 alias="String">0,00</E3006801>
      <Abz_VoSt_Sum>
        <E3006901 alias="String">0,00</E3006901>
      </Abz_VoSt_Sum>
      <Erg_Ang>
        <E3007001 alias="String">0,00</E3007001>
      </Erg_Ang>
    </Tabelle>
  </AbzVoSt>
  <Allg>
    <Unternehmen>
      <E3000901 alias="String">String</E3000901>
      <E3000902 alias="String">String</E3000902>
      <E3001001 alias="String">String</E3001001>
      <Adr>
        <E3001101 alias="String">String</E3001101>
        <E3001203 alias="String">String</E3001203>
        <E3001204 alias="String">String</E3001204>
        <E3001205 alias="String">String</E3001205>
        <E3001206 alias="String">String</E3001206>
        <E3001207 alias="String">String</E3001207>
        <E3001403 alias="String">String</E3001403>
        <E3001404 alias="String">String</E3001404>
      </Adr>
      <Kontakt>
        <E3001202 alias="String">String</E3001202>
        <E3001301 alias="String">String</E3001301>
      </Kontakt>
    </Unternehmen>
    <Dauer_Unt_Eig>
      <E3001401 alias="String">01.01-01.01</E3001401>
      <E3001501 alias="String">01.01-01.01</E3001501>
    </Dauer_Unt_Eig>
    <Best_Art>
      <E3002203 alias="String">1</E3002203>
    </Best_Art>
    <Erg_Ang_Erkl>
      <E3002202 alias="String">String</E3002202>
    </Erg_Ang_Erkl>
  </Allg>
  <Auslag13a>
    <Tabelle>
      <E3102804 alias="String">0</E3102804>
      <E3102805 alias="String">0,00</E3102805>
      <Auslag_13a_Sum>
        <E3102904 alias="String">0,00</E3102904>
      </Auslag_13a_Sum>
    </Tabelle>
  </Auslag13a>
  <BerErkl>
    <E3000601 alias="String" />
  </BerErkl>
  <BerVoSt15a>
    <Grdst_erstm_Verw>
      <Ang_Grdst>
        <E3007401 alias="String">String</E3007401>
        <E3007402 alias="String">01.01.0001</E3007402>
        <E3007403 alias="String">String</E3007403>
        <E3007404 alias="String">0,00</E3007404>
        <E3007405 alias="String">0</E3007405>
        <E3007406 alias="String">0</E3007406>
      </Ang_Grdst>
    </Grdst_erstm_Verw>
    <Grund_Aend_Verh>
      <Nutz_aend>
        <E3008402 alias="String">String</E3008402>
      </Nutz_aend>
    </Grund_Aend_Verh>
    <VoSt_Ber_Betr>
      <Tabelle>
        <E3008701 alias="String">0,00</E3008701>
        <E3008702 alias="String">0,00</E3008702>
        <E3008801 alias="String">0,00</E3008801>
        <E3008802 alias="String">0,00</E3008802>
        <E3008803 alias="String">0,00</E3008803>
        <E3008804 alias="String">0,00</E3008804>
        <VoSt_Ber_Betr_Sum>
          <E3008901 alias="String">0,00</E3008901>
          <E3008902 alias="String">0,00</E3008902>
        </VoSt_Ber_Betr_Sum>
      </Tabelle>
    </VoSt_Ber_Betr>
  </BerVoSt15a>
  <BerechUSt>
    <Tabelle>
      <E3009201 alias="String">0,00</E3009201>
      <E3009401 alias="String">0,00</E3009401>
      <E3009602 alias="String">0,00</E3009602>
      <E3009501 alias="String">0,00</E3009501>
      <E3009502 alias="String">0,00</E3009502>
      <E3009801 alias="String">0,00</E3009801>
      <E3009901 alias="String">0,00</E3009901>
      <E3010001 alias="String">0,00</E3010001>
      <E3010201 alias="String">0,00</E3010201>
      <E3009701 alias="String">0,00</E3009701>
      <E3010301 alias="String">0,00</E3010301>
      <E3010401 alias="String">0,00</E3010401>
      <E3010501 alias="String">0,00</E3010501>
      <E3010601 alias="String">0,00</E3010601>
      <E3010602 alias="String">0,00</E3010602>
      <Verbl_USt>
        <E3011101 alias="String">0,00</E3011101>
        <E3011301 alias="String">0,00</E3011301>
      </Verbl_USt>
      <Zahl_Erstatt>
        <E3011401 alias="String">0,00</E3011401>
      </Zahl_Erstatt>
    </Tabelle>
  </BerechUSt>
  <Bundesfinanzamtsnummer>String</Bundesfinanzamtsnummer>
  <Copyright alias="String">String</Copyright>
  <DatenLieferant>String</DatenLieferant>
  <ErgAngUms>
    <Tabelle>
      <E3105201 alias="String">0</E3105201>
      <E3105301 alias="String">0</E3105301>
      <E3105101 alias="String">0</E3105101>
      <E3105102 alias="String">0</E3105102>
      <E3105602 alias="String">0</E3105602>
      <E3105702 alias="String">0</E3105702>
      <E3105801 alias="String">0</E3105801>
      <E3105901 alias="String">0</E3105901>
      <E3106001 alias="String">0</E3106001>
      <E3106101 alias="String">0</E3106101>
    </Tabelle>
  </ErgAngUms>
  <Fv>
    <Aufst_aller_vertr_Unt>
      <Einz>
        <E3300201 alias="String">String</E3300201>
        <E3300202 alias="String">String</E3300202>
        <E3300203 alias="String">String</E3300203>
        <E3300204 alias="String">0</E3300204>
      </Einz>
      <Sum>
        <E3300301 alias="String">0</E3300301>
      </Sum>
    </Aufst_aller_vertr_Unt>
  </Fv>
  <ID alias="String">String</ID>
  <IDEhefrau alias="String">String</IDEhefrau>
  <IgDrei>
    <Tabelle>
      <Lfg_erst_Abn>
        <E3101801 alias="String">0</E3101801>
      </Lfg_erst_Abn>
      <Lfg_letzt_Abn>
        <E3101701 alias="String">0</E3101701>
        <E3101702 alias="String">0,00</E3101702>
        <E3102301 alias="String">0</E3102301>
        <E3102302 alias="String">0,00</E3102302>
        <E3102305 alias="String">0</E3102305>
        <E3102303 alias="String">0</E3102303>
        <E3102304 alias="String">0,00</E3102304>
      </Lfg_letzt_Abn>
      <Ig_Drei_Sum>
        <E3102401 alias="String">0,00</E3102401>
      </Ig_Drei_Sum>
    </Tabelle>
  </IgDrei>
  <IgErw>
    <Tabelle>
      <Stfrei>
        <E3100901 alias="String">0</E3100901>
      </Stfrei>
      <Stpfl>
        <E3100902 alias="String">0</E3100902>
        <E3100903 alias="String">0,00</E3100903>
        <E3101301 alias="String">0</E3101301>
        <E3101302 alias="String">0,00</E3101302>
        <E3101305 alias="String">0</E3101305>
        <E3101303 alias="String">0</E3101303>
        <E3101304 alias="String">0,00</E3101304>
        <E3101401 alias="String">0</E3101401>
        <E3101402 alias="String">0,00</E3101402>
      </Stpfl>
      <Ig_Erw_Sum>
        <E3101501 alias="String">0,00</E3101501>
      </Ig_Erw_Sum>
    </Tabelle>
  </IgErw>
  <Kleinuntern>
    <Tabelle>
      <E3002301 alias="String">0</E3002301>
      <E3002401 alias="String">0</E3002401>
    </Tabelle>
  </Kleinuntern>
  <Mitwirk>
    <Kanzlei>
      <E3002509 alias="String">String</E3002509>
      <E3002506 alias="String">String</E3002506>
      <E3002507 alias="String">String</E3002507>
    </Kanzlei>
    <Bearb>
      <E3002501 alias="String">String</E3002501>
      <E3002502 alias="String">String</E3002502>
    </Bearb>
    <Adr>
      <E3002503 alias="String">String</E3002503>
      <E3002504 alias="String">String</E3002504>
    </Adr>
    <Kontakt>
      <E3002505 alias="String">String</E3002505>
      <E3002508 alias="String">String</E3002508>
    </Kontakt>
  </Mitwirk>
  <OrdNrArt alias="String">S</OrdNrArt>
  <Ordnungsbegriff alias="String">String</Ordnungsbegriff>
  <Rueckuebermittlung>
    <Bescheid alias="String">2</Bescheid>
    <ArtRueckuebermittlung alias="String">String</ArtRueckuebermittlung>
    <SchluesselRueckuebermittlung alias="String">String</SchluesselRueckuebermittlung>
    <AdresseRueckuebermittlung alias="String">String</AdresseRueckuebermittlung>
  </Rueckuebermittlung>
  <StNr alias="String">String</StNr>
  <TeleNummer alias="String">String</TeleNummer>
  <Ums13b>
    <Tabelle>
      <E3102205 alias="String">0</E3102205>
      <E3102206 alias="String">0,00</E3102206>
      <E3102307 alias="String">0</E3102307>
      <E3102308 alias="String">0,00</E3102308>
      <E3102503 alias="String">0</E3102503>
      <E3102504 alias="String">0,00</E3102504>
      <Ums_13b_Sum>
        <E3102601 alias="String">0,00</E3102601>
      </Ums_13b_Sum>
    </Tabelle>
  </Ums13b>
  <UmsStfrei>
    <Tabelle>
      <Mit_VoSt_Abz>
        <Ig_Lfg>
          <E3103301 alias="String">0</E3103301>
          <E3103401 alias="String">0</E3103401>
          <E3103501 alias="String">0</E3103501>
        </Ig_Lfg>
        <Ums_stfrei_weit>
          <E3103801 alias="String">0</E3103801>
          <E3103901 alias="String">String</E3103901>
          <E3103902 alias="String">0</E3103902>
          <E3104001 alias="String">0</E3104001>
          <E3104101 alias="String">0</E3104101>
          <E3104201 alias="String">0</E3104201>
        </Ums_stfrei_weit>
      </Mit_VoSt_Abz>
      <Ohne_VoSt_Abz>
        <Nicht_Ges_Ums>
          <E3104401 alias="String">0</E3104401>
          <E3104501 alias="String">String</E3104501>
          <E3104502 alias="String">0</E3104502>
          <E3104601 alias="String">0</E3104601>
        </Nicht_Ges_Ums>
        <Ges_Ums>
          <E3104901 alias="String">String</E3104901>
          <E3104902 alias="String">0</E3104902>
        </Ges_Ums>
      </Ohne_VoSt_Abz>
    </Tabelle>
  </UmsStfrei>
  <Umsaetze>
    <Tabelle>
      <Ums_allg>
        <E3003303 alias="String">0</E3003303>
        <E3003304 alias="String">0,00</E3003304>
        <Unent_Wertabgaben>
          <E3003405 alias="String">0</E3003405>
          <E3003406 alias="String">0,00</E3003406>
          <E3003505 alias="String">0</E3003505>
          <E3003506 alias="String">0,00</E3003506>
        </Unent_Wertabgaben>
      </Ums_allg>
      <Ums_erm>
        <E3004401 alias="String">0</E3004401>
        <E3004402 alias="String">0,00</E3004402>
        <Unent_Wertabgaben>
          <E3003703 alias="String">0</E3003703>
          <E3003704 alias="String">0,00</E3003704>
          <E3003803 alias="String">0</E3003803>
          <E3003804 alias="String">0,00</E3003804>
        </Unent_Wertabgaben>
      </Ums_erm>
      <Ums_and>
        <E3005001 alias="String">0</E3005001>
        <E3005002 alias="String">0,00</E3005002>
      </Ums_and>
      <Ums_LuF>
        <E3005201 alias="String">0</E3005201>
        <E3005005 alias="String">0</E3005005>
        <E3005006 alias="String">0,00</E3005006>
        <E3005801 alias="String">0</E3005801>
      </Ums_LuF>
      <Wechs_Best_form>
        <E3102901 alias="String">0,00</E3102901>
      </Wechs_Best_form>
      <Wechs_St_satz_Aend>
        <E3005901 alias="String">0,00</E3005901>
      </Wechs_St_satz_Aend>
      <Ums_Sum>
        <E3006001 alias="String">0,00</E3006001>
      </Ums_Sum>
    </Tabelle>
  </Umsaetze>
  <Un>
    <Allg>
      <Bank>
        <E3201001 alias="String">String</E3201001>
        <E3201002 alias="String">String</E3201002>
        <E3200901 alias="String">String</E3200901>
        <E3200902 alias="String">String</E3200902>
        <E3200905 alias="String">String</E3200905>
      </Bank>
      <Vollm>
        <E3201501 alias="String">String</E3201501>
        <E3201601 alias="String">String</E3201601>
        <E3201302 alias="String">String</E3201302>
        <E3201303 alias="String">String</E3201303>
        <E3201304 alias="String">String</E3201304>
        <E3201403 alias="String">String</E3201403>
        <E3201404 alias="String">String</E3201404>
        <E3201503 alias="String">String</E3201503>
        <E3201504 alias="String">String</E3201504>
        <Kontakt>
          <E3201602 alias="String">String</E3201602>
          <E3201502 alias="String">String</E3201502>
        </Kontakt>
      </Vollm>
    </Allg>
    <VoSt_Verguet_BZSt>
      <E3201101 alias="String">2</E3201101>
    </VoSt_Verguet_BZSt>
    <Anrech_Betr>
      <E3201902 alias="String">0,00</E3201902>
      <E3202002 alias="String">0,00</E3202002>
      <E3202102 alias="String">0,00</E3202102>
    </Anrech_Betr>
    <Erg_Ang_Ums>
      <Tabelle>
        <In_stpfl_Ums_ent>
          <E3201901 alias="String">0</E3201901>
        </In_stpfl_Ums_ent>
      </Tabelle>
    </Erg_Ang_Ums>
  </Un>
  <Vorgang alias="String">01</Vorgang>
</CreateUmsatzsteuererklaerung2023Xml>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<XmlResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">
  <Content>String</Content>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</XmlResponse>