Tax Filing Service

<back to all web services

CreateUmsatzsteuererklaerung2018Xml

SyncUmsatzsteuerJahressteuererklärung2018

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

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

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

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

/**
* Stellt die Informationen zur Bescheidrückübermittlung dar.
*/
// @Api(Description="Stellt die Informationen zur Bescheidrückübermittlung dar.")
class Rueckuebermittlung implements IConvertible
{
    /**
    * Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?
    */
    // @ApiMember(Description="Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?")
    bool? bescheid;

    /**
    * Art der Adresse der Bescheidbereitstellung: INTERNET bei Rückübermittlung über Internet.
    */
    // @ApiMember(Description="Art der Adresse der Bescheidbereitstellung: INTERNET bei Rückübermittlung über Internet.")
    String? artRueckuebermittlung;

    /**
    * Öffentlicher Schlüssel mit variabler Länge.
    */
    // @ApiMember(Description="Öffentlicher Schlüssel mit variabler Länge.")
    String? schluesselRueckuebermittlung;

    /**
    * Erforderliche Adresselemente bei Benachrichtigung für Bescheidbereitstellung: E-Mail-Adresse.
    */
    // @ApiMember(Description="Erforderliche Adresselemente bei Benachrichtigung für Bescheidbereitstellung: E-Mail-Adresse.")
    String? adresseRueckuebermittlung;

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

    fromMap(Map<String, dynamic> json) {
        bescheid = json['bescheid'];
        artRueckuebermittlung = json['artRueckuebermittlung'];
        schluesselRueckuebermittlung = json['schluesselRueckuebermittlung'];
        adresseRueckuebermittlung = json['adresseRueckuebermittlung'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bescheid': bescheid,
        'artRueckuebermittlung': artRueckuebermittlung,
        'schluesselRueckuebermittlung': schluesselRueckuebermittlung,
        'adresseRueckuebermittlung': adresseRueckuebermittlung
    };

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

/**
* Basisklasse für einen benutzerdefinierten Feldtyp
*/
// @Api(Description="Basisklasse für einen benutzerdefinierten Feldtyp")
abstract class CustomFeldBase implements ICustomFeld
{
    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    CustomFeldBase({this.nr,this.index,this.lfdNr,this.alias});
    CustomFeldBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Boolescher Feldtyp, welcher als 'X' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.
*/
// @Api(Description="Boolescher Feldtyp, welcher als 'X' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.")
class BoolXFeld extends CustomFeldBase 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;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    BoolXFeld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    BoolXFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Boolescher Feldtyp, welcher als '1' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.
*/
// @Api(Description="Boolescher Feldtyp, welcher als '1' (Ja) oder '' (Nein) im Jahressteuererklärung angeschrieben wird.")
class Bool1Feld extends CustomFeldBase 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;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    Bool1Feld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    Bool1Feld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Zeichenkettenfeld.
*/
// @Api(Description="Zeichenkettenfeld.")
class StringFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.  1 bis 999 Zeichen, alphanumerisch
    */
    // @ApiMember(Description="Wert des Feldes. \n 1 bis 999 Zeichen, alphanumerisch", IsRequired=true, Name="Wert")
    String? wert;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    StringFeld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    StringFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "StringFeld";
    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;
}

/**
* Datums-Uhrzeitfeld. Format: TT.MM - TT. MM
*/
// @Api(Description="Datums-Uhrzeitfeld. Format: TT.MM - TT. MM")
class ZeitraumFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.
    */
    // @ApiMember(Description="Wert des Feldes.", IsRequired=true)
    ErklaerungZeitraum? wert;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    ZeitraumFeld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    ZeitraumFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Allgemeine Angaben der Umsatzteuererklärung für 2018
*/
// @Api(Description="Allgemeine Angaben der Umsatzteuererklärung für 2018")
class AllgemeineAngaben2018 implements IConvertible
{
    /**
    * Diese Steuererklärung wurde digital signiert?
    */
    // @ApiMember(Description="Diese Steuererklärung wurde digital signiert?", Name="Nr3000013")
    BoolXFeld? nr3000013;

    /**
    * Berichtigte Steuererklärung?
    */
    // @ApiMember(Description="Berichtigte Steuererklärung?", Name="Nr3000601")
    Bool1Feld? nr3000601;

    /**
    * Name des Unternehmers
    */
    // @ApiMember(Description="Name des Unternehmers", IsRequired=true, Name="Nr3000901")
    StringFeld? nr3000901;

    /**
    * gegebenenfalls abweichender Firmenname
    */
    // @ApiMember(Description="gegebenenfalls abweichender Firmenname", Name="Nr3000902")
    StringFeld? nr3000902;

    /**
    * Art des Unternehmens
    */
    // @ApiMember(Description="Art des Unternehmens", Name="Nr3001001")
    StringFeld? nr3001001;

    /**
    * Straße, Hausnummer
    */
    // @ApiMember(Description="Straße, Hausnummer", IsRequired=true, Name="Nr3001101")
    StringFeld? nr3001101;

    /**
    * Postleitzahl, Ort
    */
    // @ApiMember(Description="Postleitzahl, Ort", IsRequired=true, Name="Nr3001201")
    StringFeld? nr3001201;

    /**
    * Telefon
    */
    // @ApiMember(Description="Telefon", Name="Nr3001202")
    StringFeld? nr3001202;

    /**
    * E-Mail-Adresse
    */
    // @ApiMember(Description="E-Mail-Adresse", Name="Nr3001301")
    StringFeld? nr3001301;

    /**
    * 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="Nr3001402")
    Bool1Feld? nr3001402;

    /**
    * 1. Zeitraum
    */
    // @ApiMember(Description="1. Zeitraum", Name="Nr3001401")
    ZeitraumFeld? nr3001401;

    /**
    * 2. Zeitraum
    */
    // @ApiMember(Description="2. Zeitraum", Name="Nr3001501")
    ZeitraumFeld? nr3001501;

    /**
    * Verrechnung des Erstattungsbetrages erwünscht / Erstattungsbetrag ist abgetreten?
    */
    // @ApiMember(Description="Verrechnung des Erstattungsbetrages erwünscht / Erstattungsbetrag ist abgetreten?", Name="Nr3001701")
    Bool1Feld? nr3001701;

    /**
    * Ü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="Nr3002201")
    Bool1Feld? nr3002201;

    /**
    * Ergänzende Angaben zur Steuererklärung
    */
    // @ApiMember(Description="Ergänzende Angaben zur Steuererklärung", Name="Nr3002202")
    StringFeld? nr3002202;

    AllgemeineAngaben2018({this.nr3000013,this.nr3000601,this.nr3000901,this.nr3000902,this.nr3001001,this.nr3001101,this.nr3001201,this.nr3001202,this.nr3001301,this.nr3001402,this.nr3001401,this.nr3001501,this.nr3001701,this.nr3002201,this.nr3002202});
    AllgemeineAngaben2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3000013 = JsonConverters.fromJson(json['nr3000013'],'BoolXFeld',context!);
        nr3000601 = JsonConverters.fromJson(json['nr3000601'],'Bool1Feld',context!);
        nr3000901 = JsonConverters.fromJson(json['nr3000901'],'StringFeld',context!);
        nr3000902 = JsonConverters.fromJson(json['nr3000902'],'StringFeld',context!);
        nr3001001 = JsonConverters.fromJson(json['nr3001001'],'StringFeld',context!);
        nr3001101 = JsonConverters.fromJson(json['nr3001101'],'StringFeld',context!);
        nr3001201 = JsonConverters.fromJson(json['nr3001201'],'StringFeld',context!);
        nr3001202 = JsonConverters.fromJson(json['nr3001202'],'StringFeld',context!);
        nr3001301 = JsonConverters.fromJson(json['nr3001301'],'StringFeld',context!);
        nr3001402 = JsonConverters.fromJson(json['nr3001402'],'Bool1Feld',context!);
        nr3001401 = JsonConverters.fromJson(json['nr3001401'],'ZeitraumFeld',context!);
        nr3001501 = JsonConverters.fromJson(json['nr3001501'],'ZeitraumFeld',context!);
        nr3001701 = JsonConverters.fromJson(json['nr3001701'],'Bool1Feld',context!);
        nr3002201 = JsonConverters.fromJson(json['nr3002201'],'Bool1Feld',context!);
        nr3002202 = JsonConverters.fromJson(json['nr3002202'],'StringFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3000013': JsonConverters.toJson(nr3000013,'BoolXFeld',context!),
        'nr3000601': JsonConverters.toJson(nr3000601,'Bool1Feld',context!),
        'nr3000901': JsonConverters.toJson(nr3000901,'StringFeld',context!),
        'nr3000902': JsonConverters.toJson(nr3000902,'StringFeld',context!),
        'nr3001001': JsonConverters.toJson(nr3001001,'StringFeld',context!),
        'nr3001101': JsonConverters.toJson(nr3001101,'StringFeld',context!),
        'nr3001201': JsonConverters.toJson(nr3001201,'StringFeld',context!),
        'nr3001202': JsonConverters.toJson(nr3001202,'StringFeld',context!),
        'nr3001301': JsonConverters.toJson(nr3001301,'StringFeld',context!),
        'nr3001402': JsonConverters.toJson(nr3001402,'Bool1Feld',context!),
        'nr3001401': JsonConverters.toJson(nr3001401,'ZeitraumFeld',context!),
        'nr3001501': JsonConverters.toJson(nr3001501,'ZeitraumFeld',context!),
        'nr3001701': JsonConverters.toJson(nr3001701,'Bool1Feld',context!),
        'nr3002201': JsonConverters.toJson(nr3002201,'Bool1Feld',context!),
        'nr3002202': JsonConverters.toJson(nr3002202,'StringFeld',context!)
    };

    getTypeName() => "AllgemeineAngaben2018";
    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 5 Stellen. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.
*/
// @Api(Description="Geldbetrag ohne Cent mit 5 Stellen. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.")
class GeldBetragOhneCent5DEFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.
    */
    // @ApiMember(Description="Wert des Feldes. Mindestens eine Ziffer und maximal 5 Ziffern. Minusvorzeichen erlaubt.", IsRequired=true)
    GeldBetragOhneCent5DE? betrag;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    GeldBetragOhneCent5DEFeld({this.betrag,this.nr,this.index,this.lfdNr,this.alias});
    GeldBetragOhneCent5DEFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "GeldBetragOhneCent5DEFeld";
    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 12 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.
*/
// @Api(Description="Geldbetrag ohne Cent mit 12 Stellen. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.")
class GeldBetragOhneCent12DEFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.
    */
    // @ApiMember(Description="Wert des Feldes. Mindestens eine Ziffer und maximal 12 Ziffern. Minusvorzeichen erlaubt.", IsRequired=true)
    GeldBetragOhneCent12DE? betrag;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    GeldBetragOhneCent12DEFeld({this.betrag,this.nr,this.index,this.lfdNr,this.alias});
    GeldBetragOhneCent12DEFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Angaben der Besteuerung von Kleinunternehmer für die Umsatzsteuererkärung 2018
*/
// @Api(Description="Angaben der Besteuerung von Kleinunternehmer für die Umsatzsteuererkärung 2018")
class AngabenBesteuerungKleinunternehmer2018 implements IConvertible
{
    /**
    * Umsatz im Kalenderjahr 2017 (Berechnung nach § 19 Absatz 1 und 3 UStG)
    */
    // @ApiMember(Description="Umsatz im Kalenderjahr 2017 (Berechnung nach § 19 Absatz 1 und 3 UStG)", Name="Nr3002301")
    GeldBetragOhneCent5DEFeld? nr3002301;

    /**
    * Umsatz im Kalenderjahr 2018 (Berechnung nach § 19 Absatz 1 und 3 UStG)
    */
    // @ApiMember(Description="Umsatz im Kalenderjahr 2018 (Berechnung nach § 19 Absatz 1 und 3 UStG)", Name="Nr3002401")
    GeldBetragOhneCent12DEFeld? nr3002401;

    AngabenBesteuerungKleinunternehmer2018({this.nr3002301,this.nr3002401});
    AngabenBesteuerungKleinunternehmer2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'nr3002301': JsonConverters.toJson(nr3002301,'GeldBetragOhneCent5DEFeld',context!),
        'nr3002401': JsonConverters.toJson(nr3002401,'GeldBetragOhneCent12DEFeld',context!)
    };

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

/**
* Steuerfreie Lieferungen, usw. der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Steuerfreie Lieferungen, usw. der Umsatzsteuererklärung für 2018.")
class SteuerfreieLieferungenEtc2018 implements IConvertible
{
    /**
    * an Abnehmer mit USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="an Abnehmer mit USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3103301")
    GeldBetragOhneCent12DEFeld? nr3103301;

    /**
    * neuer Fahrzeuge an Abnehmer ohne USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="neuer Fahrzeuge an Abnehmer ohne USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3103401")
    GeldBetragOhneCent12DEFeld? nr3103401;

    /**
    * neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3103501")
    GeldBetragOhneCent12DEFeld? nr3103501;

    /**
    * Ausfuhrlieferungen und Lohnveredelungen an Gegenständen der Ausfuhr (§ 4 Nummer 1 Buchstabe a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Ausfuhrlieferungen und Lohnveredelungen an Gegenständen der Ausfuhr (§ 4 Nummer 1 Buchstabe a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3103801")
    GeldBetragOhneCent12DEFeld? nr3103801;

    /**
    * Umsätze nach § ... UStG:
    */
    // @ApiMember(Description="Umsätze nach § ... UStG:", Name="Nr3103901")
    StringFeld? nr3103901;

    /**
    * Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Umsätze nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3103902")
    GeldBetragOhneCent12DEFeld? nr3103902;

    /**
    * Umsätze im Sinne des Offshore-Steuerabkommens, des Zusatzabkommens zum NATO-Truppenstatut und des Ergänzungsabkommens zum Protokoll über die NATO-Hauptquartiere (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Umsätze im Sinne des Offshore-Steuerabkommens, des Zusatzabkommens zum NATO-Truppenstatut und des Ergänzungsabkommens zum Protokoll über die NATO-Hauptquartiere (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3104001")
    GeldBetragOhneCent12DEFeld? nr3104001;

    /**
    * 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="Nr3104101")
    GeldBetragOhneCent12DEFeld? nr3104101;

    /**
    * Summe der Zeilen 67 bis 70 (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Summe der Zeilen 67 bis 70 (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3104201")
    GeldBetragOhneCent12DEFeld? nr3104201;

    /**
    * nach § 4 Nummer 12 UStG (Vermietung und Verpachtung von Grundstücken und so weiter) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="nach § 4 Nummer 12 UStG (Vermietung und Verpachtung von Grundstücken und so weiter) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3104401")
    GeldBetragOhneCent12DEFeld? nr3104401;

    /**
    * nach § 4 Nummer ... UStG
    */
    // @ApiMember(Description="nach § 4 Nummer ... UStG", Name="Nr3104501")
    StringFeld? nr3104501;

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

    /**
    * Summe der Zeilen 73 und 74 (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Summe der Zeilen 73 und 74 (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3104601")
    GeldBetragOhneCent12DEFeld? nr3104601;

    /**
    * nach § ... UStG
    */
    // @ApiMember(Description="nach § ... UStG", Name="Nr3104901")
    StringFeld? nr3104901;

    /**
    * nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="nach § ... UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3104902")
    GeldBetragOhneCent12DEFeld? nr3104902;

    SteuerfreieLieferungenEtc2018({this.nr3103301,this.nr3103401,this.nr3103501,this.nr3103801,this.nr3103901,this.nr3103902,this.nr3104001,this.nr3104101,this.nr3104201,this.nr3104401,this.nr3104501,this.nr3104502,this.nr3104601,this.nr3104901,this.nr3104902});
    SteuerfreieLieferungenEtc2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3103301 = JsonConverters.fromJson(json['nr3103301'],'GeldBetragOhneCent12DEFeld',context!);
        nr3103401 = JsonConverters.fromJson(json['nr3103401'],'GeldBetragOhneCent12DEFeld',context!);
        nr3103501 = JsonConverters.fromJson(json['nr3103501'],'GeldBetragOhneCent12DEFeld',context!);
        nr3103801 = JsonConverters.fromJson(json['nr3103801'],'GeldBetragOhneCent12DEFeld',context!);
        nr3103901 = JsonConverters.fromJson(json['nr3103901'],'StringFeld',context!);
        nr3103902 = JsonConverters.fromJson(json['nr3103902'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104001 = JsonConverters.fromJson(json['nr3104001'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104101 = JsonConverters.fromJson(json['nr3104101'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104201 = JsonConverters.fromJson(json['nr3104201'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104401 = JsonConverters.fromJson(json['nr3104401'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104501 = JsonConverters.fromJson(json['nr3104501'],'StringFeld',context!);
        nr3104502 = JsonConverters.fromJson(json['nr3104502'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104601 = JsonConverters.fromJson(json['nr3104601'],'GeldBetragOhneCent12DEFeld',context!);
        nr3104901 = JsonConverters.fromJson(json['nr3104901'],'StringFeld',context!);
        nr3104902 = JsonConverters.fromJson(json['nr3104902'],'GeldBetragOhneCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3103301': JsonConverters.toJson(nr3103301,'GeldBetragOhneCent12DEFeld',context!),
        'nr3103401': JsonConverters.toJson(nr3103401,'GeldBetragOhneCent12DEFeld',context!),
        'nr3103501': JsonConverters.toJson(nr3103501,'GeldBetragOhneCent12DEFeld',context!),
        'nr3103801': JsonConverters.toJson(nr3103801,'GeldBetragOhneCent12DEFeld',context!),
        'nr3103901': JsonConverters.toJson(nr3103901,'StringFeld',context!),
        'nr3103902': JsonConverters.toJson(nr3103902,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104001': JsonConverters.toJson(nr3104001,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104101': JsonConverters.toJson(nr3104101,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104201': JsonConverters.toJson(nr3104201,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104401': JsonConverters.toJson(nr3104401,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104501': JsonConverters.toJson(nr3104501,'StringFeld',context!),
        'nr3104502': JsonConverters.toJson(nr3104502,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104601': JsonConverters.toJson(nr3104601,'GeldBetragOhneCent12DEFeld',context!),
        'nr3104901': JsonConverters.toJson(nr3104901,'StringFeld',context!),
        'nr3104902': JsonConverters.toJson(nr3104902,'GeldBetragOhneCent12DEFeld',context!)
    };

    getTypeName() => "SteuerfreieLieferungenEtc2018";
    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 GeldBetragMitCent12DEFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt.
    */
    // @ApiMember(Description="Wert des Feldes. Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen erlaubt.", IsRequired=true)
    GeldBetragMitCent12DE? betrag;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    GeldBetragMitCent12DEFeld({this.betrag,this.nr,this.index,this.lfdNr,this.alias});
    GeldBetragMitCent12DEFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Steuerpflichtige Lieferungen, usw. der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Steuerpflichtige Lieferungen, usw. der Umsatzsteuererklärung für 2018.")
class SteuerpflichtigeLieferungenEtc2018 implements IConvertible
{
    /**
    * Lieferungen und sonstige Leistungen zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Lieferungen und sonstige Leistungen zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3003303")
    GeldBetragOhneCent12DEFeld? nr3003303;

    /**
    * Lieferungen und sonstige Leistungen zu 19 Prozent (Steuer)
    */
    // @ApiMember(Description="Lieferungen und sonstige Leistungen zu 19 Prozent (Steuer)", Name="Nr3003304")
    GeldBetragMitCent12DEFeld? nr3003304;

    /**
    * Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3003405")
    GeldBetragOhneCent12DEFeld? nr3003405;

    /**
    * Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 19 Prozent (Steuer)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 19 Prozent (Steuer)", Name="Nr3003406")
    GeldBetragMitCent12DEFeld? nr3003406;

    /**
    * Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3003505")
    GeldBetragOhneCent12DEFeld? nr3003505;

    /**
    * Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 Prozent (Steuer)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 19 Prozent (Steuer)", Name="Nr3003506")
    GeldBetragMitCent12DEFeld? nr3003506;

    /**
    * Lieferungen und sonstige Leistungen zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Lieferungen und sonstige Leistungen zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3004401")
    GeldBetragOhneCent12DEFeld? nr3004401;

    /**
    * Lieferungen und sonstige Leistungen zu 7 Prozent (Steuer)
    */
    // @ApiMember(Description="Lieferungen und sonstige Leistungen zu 7 Prozent (Steuer)", Name="Nr3004402")
    GeldBetragMitCent12DEFeld? nr3004402;

    /**
    * Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3003703")
    GeldBetragOhneCent12DEFeld? nr3003703;

    /**
    * Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 7 Prozent (Steuer)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Lieferungen nach § 3 Absatz 1b UStG zu 7 Prozent (Steuer)", Name="Nr3003704")
    GeldBetragMitCent12DEFeld? nr3003704;

    /**
    * Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3003803")
    GeldBetragOhneCent12DEFeld? nr3003803;

    /**
    * Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 Prozent (Steuer)
    */
    // @ApiMember(Description="Unentgeltliche Wertabgaben - Sonstige Leistungen nach § 3 Absatz 9a UStG zu 7 Prozent (Steuer)", Name="Nr3003804")
    GeldBetragMitCent12DEFeld? nr3003804;

    /**
    * Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005001")
    GeldBetragOhneCent12DEFeld? nr3005001;

    /**
    * Umsätze zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="Umsätze zu anderen Steuersätzen (Steuer)", Name="Nr3005002")
    GeldBetragMitCent12DEFeld? nr3005002;

    /**
    * Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-Identifikationsnummer (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005201")
    GeldBetragOhneCent12DEFeld? nr3005201;

    /**
    * Steuerpflichtige Lieferungen (einschließlich unentgeltlicher Wertabgaben) von Sägewerkserzeugnissen, die in der Anlage 2 zum UStG nicht aufgeführt sind (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Steuerpflichtige Lieferungen (einschließlich unentgeltlicher Wertabgaben) von Sägewerkserzeugnissen, die in der Anlage 2 zum UStG nicht aufgeführt sind (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005301")
    GeldBetragOhneCent12DEFeld? nr3005301;

    /**
    * Steuerpflichtige Lieferungen (einschließlich unentgeltlicher Wertabgaben) von Sägewerkserzeugnissen, die in der Anlage 2 zum UStG nicht aufgeführt sind (Steuer)
    */
    // @ApiMember(Description="Steuerpflichtige Lieferungen (einschließlich unentgeltlicher Wertabgaben) von Sägewerkserzeugnissen, die in der Anlage 2 zum UStG nicht aufgeführt sind (Steuer)", Name="Nr3005302")
    GeldBetragMitCent12DEFeld? nr3005302;

    /**
    * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) zu 8,3 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) zu 8,3 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005003")
    GeldBetragOhneCent12DEFeld? nr3005003;

    /**
    * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) zu 8,3 Prozent (Steuer)
    */
    // @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) zu 8,3 Prozent (Steuer)", Name="Nr3005004")
    GeldBetragMitCent12DEFeld? nr3005004;

    /**
    * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) - Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) - Umsätze zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005701")
    GeldBetragOhneCent12DEFeld? nr3005701;

    /**
    * Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) - Umsätze zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="Steuerpflichtige Umsätze (einschließlich unentgeltlicher Wertabgaben) von Getränken, die in der Anlage 2 zum UStG nicht aufgeführt sind, sowie von alkoholischen Flüssigkeiten (zum Beispiel Wein) - Umsätze zu anderen Steuersätzen (Steuer)", Name="Nr3005702")
    GeldBetragMitCent12DEFeld? nr3005702;

    /**
    * Übrige steuerpflichtige Umsätze land- und forstwirtschaftlicher Betriebe, für die keine Steuer zu entrichten ist (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Übrige steuerpflichtige Umsätze land- und forstwirtschaftlicher Betriebe, für die keine Steuer zu entrichten ist (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3005801")
    GeldBetragOhneCent12DEFeld? nr3005801;

    /**
    * Nachsteuer/Anrechnung der Steuer, die auf bereits versteuerte Anzahlungen entfällt (im Falle der Anrechnung bitte auch Zeile 57 ausfüllen) (Steuer)
    */
    // @ApiMember(Description="Nachsteuer/Anrechnung der Steuer, die auf bereits versteuerte Anzahlungen entfällt (im Falle der Anrechnung bitte auch Zeile 57 ausfüllen) (Steuer)", Name="Nr3102901")
    GeldBetragMitCent12DEFeld? nr3102901;

    /**
    * Betrag der Anzahlungen, für die die anzurechnende Steuer in Zeile 56 angegeben worden ist (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Betrag der Anzahlungen, für die die anzurechnende Steuer in Zeile 56 angegeben worden ist (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102801")
    GeldBetragOhneCent12DEFeld? nr3102801;

    /**
    * Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung (Steuer)
    */
    // @ApiMember(Description="Nachsteuer auf versteuerte Anzahlungen und ähnlich wegen Steuersatzänderung (Steuer)", Name="Nr3005901")
    GeldBetragMitCent12DEFeld? nr3005901;

    /**
    * Summe der Steuer (zu übertragen in Zeile 152)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 152)", Name="Nr3006001")
    GeldBetragMitCent12DEFeld? nr3006001;

    SteuerpflichtigeLieferungenEtc2018({this.nr3003303,this.nr3003304,this.nr3003405,this.nr3003406,this.nr3003505,this.nr3003506,this.nr3004401,this.nr3004402,this.nr3003703,this.nr3003704,this.nr3003803,this.nr3003804,this.nr3005001,this.nr3005002,this.nr3005201,this.nr3005301,this.nr3005302,this.nr3005003,this.nr3005004,this.nr3005701,this.nr3005702,this.nr3005801,this.nr3102901,this.nr3102801,this.nr3005901,this.nr3006001});
    SteuerpflichtigeLieferungenEtc2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3003303 = JsonConverters.fromJson(json['nr3003303'],'GeldBetragOhneCent12DEFeld',context!);
        nr3003304 = JsonConverters.fromJson(json['nr3003304'],'GeldBetragMitCent12DEFeld',context!);
        nr3003405 = JsonConverters.fromJson(json['nr3003405'],'GeldBetragOhneCent12DEFeld',context!);
        nr3003406 = JsonConverters.fromJson(json['nr3003406'],'GeldBetragMitCent12DEFeld',context!);
        nr3003505 = JsonConverters.fromJson(json['nr3003505'],'GeldBetragOhneCent12DEFeld',context!);
        nr3003506 = JsonConverters.fromJson(json['nr3003506'],'GeldBetragMitCent12DEFeld',context!);
        nr3004401 = JsonConverters.fromJson(json['nr3004401'],'GeldBetragOhneCent12DEFeld',context!);
        nr3004402 = JsonConverters.fromJson(json['nr3004402'],'GeldBetragMitCent12DEFeld',context!);
        nr3003703 = JsonConverters.fromJson(json['nr3003703'],'GeldBetragOhneCent12DEFeld',context!);
        nr3003704 = JsonConverters.fromJson(json['nr3003704'],'GeldBetragMitCent12DEFeld',context!);
        nr3003803 = JsonConverters.fromJson(json['nr3003803'],'GeldBetragOhneCent12DEFeld',context!);
        nr3003804 = JsonConverters.fromJson(json['nr3003804'],'GeldBetragMitCent12DEFeld',context!);
        nr3005001 = JsonConverters.fromJson(json['nr3005001'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005002 = JsonConverters.fromJson(json['nr3005002'],'GeldBetragMitCent12DEFeld',context!);
        nr3005201 = JsonConverters.fromJson(json['nr3005201'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005301 = JsonConverters.fromJson(json['nr3005301'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005302 = JsonConverters.fromJson(json['nr3005302'],'GeldBetragMitCent12DEFeld',context!);
        nr3005003 = JsonConverters.fromJson(json['nr3005003'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005004 = JsonConverters.fromJson(json['nr3005004'],'GeldBetragMitCent12DEFeld',context!);
        nr3005701 = JsonConverters.fromJson(json['nr3005701'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005702 = JsonConverters.fromJson(json['nr3005702'],'GeldBetragMitCent12DEFeld',context!);
        nr3005801 = JsonConverters.fromJson(json['nr3005801'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102901 = JsonConverters.fromJson(json['nr3102901'],'GeldBetragMitCent12DEFeld',context!);
        nr3102801 = JsonConverters.fromJson(json['nr3102801'],'GeldBetragOhneCent12DEFeld',context!);
        nr3005901 = JsonConverters.fromJson(json['nr3005901'],'GeldBetragMitCent12DEFeld',context!);
        nr3006001 = JsonConverters.fromJson(json['nr3006001'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3003303': JsonConverters.toJson(nr3003303,'GeldBetragOhneCent12DEFeld',context!),
        'nr3003304': JsonConverters.toJson(nr3003304,'GeldBetragMitCent12DEFeld',context!),
        'nr3003405': JsonConverters.toJson(nr3003405,'GeldBetragOhneCent12DEFeld',context!),
        'nr3003406': JsonConverters.toJson(nr3003406,'GeldBetragMitCent12DEFeld',context!),
        'nr3003505': JsonConverters.toJson(nr3003505,'GeldBetragOhneCent12DEFeld',context!),
        'nr3003506': JsonConverters.toJson(nr3003506,'GeldBetragMitCent12DEFeld',context!),
        'nr3004401': JsonConverters.toJson(nr3004401,'GeldBetragOhneCent12DEFeld',context!),
        'nr3004402': JsonConverters.toJson(nr3004402,'GeldBetragMitCent12DEFeld',context!),
        'nr3003703': JsonConverters.toJson(nr3003703,'GeldBetragOhneCent12DEFeld',context!),
        'nr3003704': JsonConverters.toJson(nr3003704,'GeldBetragMitCent12DEFeld',context!),
        'nr3003803': JsonConverters.toJson(nr3003803,'GeldBetragOhneCent12DEFeld',context!),
        'nr3003804': JsonConverters.toJson(nr3003804,'GeldBetragMitCent12DEFeld',context!),
        'nr3005001': JsonConverters.toJson(nr3005001,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005002': JsonConverters.toJson(nr3005002,'GeldBetragMitCent12DEFeld',context!),
        'nr3005201': JsonConverters.toJson(nr3005201,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005301': JsonConverters.toJson(nr3005301,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005302': JsonConverters.toJson(nr3005302,'GeldBetragMitCent12DEFeld',context!),
        'nr3005003': JsonConverters.toJson(nr3005003,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005004': JsonConverters.toJson(nr3005004,'GeldBetragMitCent12DEFeld',context!),
        'nr3005701': JsonConverters.toJson(nr3005701,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005702': JsonConverters.toJson(nr3005702,'GeldBetragMitCent12DEFeld',context!),
        'nr3005801': JsonConverters.toJson(nr3005801,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102901': JsonConverters.toJson(nr3102901,'GeldBetragMitCent12DEFeld',context!),
        'nr3102801': JsonConverters.toJson(nr3102801,'GeldBetragOhneCent12DEFeld',context!),
        'nr3005901': JsonConverters.toJson(nr3005901,'GeldBetragMitCent12DEFeld',context!),
        'nr3006001': JsonConverters.toJson(nr3006001,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Innergemeinschaftliche Erwerbe der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Innergemeinschaftliche Erwerbe der Umsatzsteuererklärung für 2018.")
class InnergemeinschaftlicheErwerbe2018 implements IConvertible
{
    /**
    * nach §§ 4b und 25c UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="nach §§ 4b und 25c UStG (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3100901")
    GeldBetragOhneCent12DEFeld? nr3100901;

    /**
    * zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3100902")
    GeldBetragOhneCent12DEFeld? nr3100902;

    /**
    * zum Steuersatz von 19 Prozent (Steuer)
    */
    // @ApiMember(Description="zum Steuersatz von 19 Prozent (Steuer)", Name="Nr3100903")
    GeldBetragMitCent12DEFeld? nr3100903;

    /**
    * zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3101301")
    GeldBetragOhneCent12DEFeld? nr3101301;

    /**
    * zum Steuersatz von 7 Prozent (Steuer)
    */
    // @ApiMember(Description="zum Steuersatz von 7 Prozent (Steuer)", Name="Nr3101302")
    GeldBetragMitCent12DEFeld? nr3101302;

    /**
    * zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3101303")
    GeldBetragOhneCent12DEFeld? nr3101303;

    /**
    * zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="Nr3101304")
    GeldBetragMitCent12DEFeld? nr3101304;

    /**
    * 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="Nr3101401")
    GeldBetragOhneCent12DEFeld? nr3101401;

    /**
    * 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="Nr3101402")
    GeldBetragMitCent12DEFeld? nr3101402;

    /**
    * Summe der Steuer (zu übertragen in Zeile 153)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 153)", Name="Nr3101501")
    GeldBetragMitCent12DEFeld? nr3101501;

    InnergemeinschaftlicheErwerbe2018({this.nr3100901,this.nr3100902,this.nr3100903,this.nr3101301,this.nr3101302,this.nr3101303,this.nr3101304,this.nr3101401,this.nr3101402,this.nr3101501});
    InnergemeinschaftlicheErwerbe2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3100901 = JsonConverters.fromJson(json['nr3100901'],'GeldBetragOhneCent12DEFeld',context!);
        nr3100902 = JsonConverters.fromJson(json['nr3100902'],'GeldBetragOhneCent12DEFeld',context!);
        nr3100903 = JsonConverters.fromJson(json['nr3100903'],'GeldBetragMitCent12DEFeld',context!);
        nr3101301 = JsonConverters.fromJson(json['nr3101301'],'GeldBetragOhneCent12DEFeld',context!);
        nr3101302 = JsonConverters.fromJson(json['nr3101302'],'GeldBetragMitCent12DEFeld',context!);
        nr3101303 = JsonConverters.fromJson(json['nr3101303'],'GeldBetragOhneCent12DEFeld',context!);
        nr3101304 = JsonConverters.fromJson(json['nr3101304'],'GeldBetragMitCent12DEFeld',context!);
        nr3101401 = JsonConverters.fromJson(json['nr3101401'],'GeldBetragOhneCent12DEFeld',context!);
        nr3101402 = JsonConverters.fromJson(json['nr3101402'],'GeldBetragMitCent12DEFeld',context!);
        nr3101501 = JsonConverters.fromJson(json['nr3101501'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3100901': JsonConverters.toJson(nr3100901,'GeldBetragOhneCent12DEFeld',context!),
        'nr3100902': JsonConverters.toJson(nr3100902,'GeldBetragOhneCent12DEFeld',context!),
        'nr3100903': JsonConverters.toJson(nr3100903,'GeldBetragMitCent12DEFeld',context!),
        'nr3101301': JsonConverters.toJson(nr3101301,'GeldBetragOhneCent12DEFeld',context!),
        'nr3101302': JsonConverters.toJson(nr3101302,'GeldBetragMitCent12DEFeld',context!),
        'nr3101303': JsonConverters.toJson(nr3101303,'GeldBetragOhneCent12DEFeld',context!),
        'nr3101304': JsonConverters.toJson(nr3101304,'GeldBetragMitCent12DEFeld',context!),
        'nr3101401': JsonConverters.toJson(nr3101401,'GeldBetragOhneCent12DEFeld',context!),
        'nr3101402': JsonConverters.toJson(nr3101402,'GeldBetragMitCent12DEFeld',context!),
        'nr3101501': JsonConverters.toJson(nr3101501,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Steuerschuldner bei Auslagerung der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Steuerschuldner bei Auslagerung der Umsatzsteuererklärung für 2018.")
class SteuerschuldnerBeiAuslagerung2018 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="Nr3102804")
    GeldBetragOhneCent12DEFeld? nr3102804;

    /**
    * 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="Nr3102805")
    GeldBetragMitCent12DEFeld? nr3102805;

    /**
    * Summe der Steuer (zu übertragen in Zeile 154)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 154)", Name="Nr3102904")
    GeldBetragMitCent12DEFeld? nr3102904;

    SteuerschuldnerBeiAuslagerung2018({this.nr3102804,this.nr3102805,this.nr3102904});
    SteuerschuldnerBeiAuslagerung2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3102804 = JsonConverters.fromJson(json['nr3102804'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102805 = JsonConverters.fromJson(json['nr3102805'],'GeldBetragMitCent12DEFeld',context!);
        nr3102904 = JsonConverters.fromJson(json['nr3102904'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3102804': JsonConverters.toJson(nr3102804,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102805': JsonConverters.toJson(nr3102805,'GeldBetragMitCent12DEFeld',context!),
        'nr3102904': JsonConverters.toJson(nr3102904,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Innergemeinschaftliche Dreiecksgeschäfte der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Innergemeinschaftliche Dreiecksgeschäfte der Umsatzsteuererklärung für 2018.")
class InnergemeinschaftlicheDreiecksgeschaefte2018 implements IConvertible
{
    /**
    * Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)
    */
    // @ApiMember(Description="Bemessungsgrundlage ohne Umsatzsteuer (volle EUR)", Name="Nr3101801")
    GeldBetragOhneCent12DEFeld? nr3101801;

    /**
    * zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zum Steuersatz von 19 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3101701")
    GeldBetragOhneCent12DEFeld? nr3101701;

    /**
    * zum Steuersatz von 19 Prozent (Steuer)
    */
    // @ApiMember(Description="zum Steuersatz von 19 Prozent (Steuer)", Name="Nr3101702")
    GeldBetragMitCent12DEFeld? nr3101702;

    /**
    * zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zum Steuersatz von 7 Prozent (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102301")
    GeldBetragOhneCent12DEFeld? nr3102301;

    /**
    * zum Steuersatz von 7 Prozent (Steuer)
    */
    // @ApiMember(Description="zum Steuersatz von 7 Prozent (Steuer)", Name="Nr3102302")
    GeldBetragMitCent12DEFeld? nr3102302;

    /**
    * zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102303")
    GeldBetragOhneCent12DEFeld? nr3102303;

    /**
    * zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="Nr3102304")
    GeldBetragMitCent12DEFeld? nr3102304;

    /**
    * Summe der Steuer (zu übertragen in Zeile 155)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 155)", Name="Nr3102401")
    GeldBetragMitCent12DEFeld? nr3102401;

    InnergemeinschaftlicheDreiecksgeschaefte2018({this.nr3101801,this.nr3101701,this.nr3101702,this.nr3102301,this.nr3102302,this.nr3102303,this.nr3102304,this.nr3102401});
    InnergemeinschaftlicheDreiecksgeschaefte2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3101801 = JsonConverters.fromJson(json['nr3101801'],'GeldBetragOhneCent12DEFeld',context!);
        nr3101701 = JsonConverters.fromJson(json['nr3101701'],'GeldBetragOhneCent12DEFeld',context!);
        nr3101702 = JsonConverters.fromJson(json['nr3101702'],'GeldBetragMitCent12DEFeld',context!);
        nr3102301 = JsonConverters.fromJson(json['nr3102301'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102302 = JsonConverters.fromJson(json['nr3102302'],'GeldBetragMitCent12DEFeld',context!);
        nr3102303 = JsonConverters.fromJson(json['nr3102303'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102304 = JsonConverters.fromJson(json['nr3102304'],'GeldBetragMitCent12DEFeld',context!);
        nr3102401 = JsonConverters.fromJson(json['nr3102401'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3101801': JsonConverters.toJson(nr3101801,'GeldBetragOhneCent12DEFeld',context!),
        'nr3101701': JsonConverters.toJson(nr3101701,'GeldBetragOhneCent12DEFeld',context!),
        'nr3101702': JsonConverters.toJson(nr3101702,'GeldBetragMitCent12DEFeld',context!),
        'nr3102301': JsonConverters.toJson(nr3102301,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102302': JsonConverters.toJson(nr3102302,'GeldBetragMitCent12DEFeld',context!),
        'nr3102303': JsonConverters.toJson(nr3102303,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102304': JsonConverters.toJson(nr3102304,'GeldBetragMitCent12DEFeld',context!),
        'nr3102401': JsonConverters.toJson(nr3102401,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Leistungsempfänger als Steuerschuldner der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Leistungsempfänger als Steuerschuldner der Umsatzsteuererklärung für 2018.")
class LeistungsempfaengerAlsSteuerschuldner2018 implements IConvertible
{
    /**
    * Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (§ 13b Absatz 1 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102205")
    GeldBetragOhneCent12DEFeld? nr3102205;

    /**
    * 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="Nr3102206")
    GeldBetragMitCent12DEFeld? nr3102206;

    /**
    * Andere Leistungen eines im Ausland ansässigen Unternehmers (§ 13b Absatz 2 Nummer 1 und 5 Buchstabe a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Andere Leistungen eines im Ausland ansässigen Unternehmers (§ 13b Absatz 2 Nummer 1 und 5 Buchstabe a UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102203")
    GeldBetragOhneCent12DEFeld? nr3102203;

    /**
    * Andere Leistungen eines im Ausland ansässigen Unternehmers (§ 13b Absatz 2 Nummer 1 und 5 Buchstabe a UStG) (Steuer)
    */
    // @ApiMember(Description="Andere Leistungen eines im Ausland ansässigen Unternehmers (§ 13b Absatz 2 Nummer 1 und 5 Buchstabe a UStG) (Steuer)", Name="Nr3102204")
    GeldBetragMitCent12DEFeld? nr3102204;

    /**
    * Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 2 und 3 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 2 und 3 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102307")
    GeldBetragOhneCent12DEFeld? nr3102307;

    /**
    * Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 2 und 3 UStG) (Steuer)
    */
    // @ApiMember(Description="Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (§ 13b Absatz 2 Nummer 2 und 3 UStG) (Steuer)", Name="Nr3102308")
    GeldBetragMitCent12DEFeld? nr3102308;

    /**
    * Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (§ 13b Absatz 2 Nummer 10 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (§ 13b Absatz 2 Nummer 10 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102505")
    GeldBetragOhneCent12DEFeld? nr3102505;

    /**
    * Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (§ 13b Absatz 2 Nummer 10 UStG) (Steuer)
    */
    // @ApiMember(Description="Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (§ 13b Absatz 2 Nummer 10 UStG) (Steuer)", Name="Nr3102506")
    GeldBetragMitCent12DEFeld? nr3102506;

    /**
    * Andere Leistungen (§ 13b Absatz 2 Nummer 4, 5 Buchstabe b, Nummer 6 bis 9 und 11 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Andere Leistungen (§ 13b Absatz 2 Nummer 4, 5 Buchstabe b, Nummer 6 bis 9 und 11 UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3102503")
    GeldBetragOhneCent12DEFeld? nr3102503;

    /**
    * Andere Leistungen (§ 13b Absatz 2 Nummer 4, 5 Buchstabe b, Nummer 6 bis 9 und 11 UStG) (Steuer)
    */
    // @ApiMember(Description="Andere Leistungen (§ 13b Absatz 2 Nummer 4, 5 Buchstabe b, Nummer 6 bis 9 und 11 UStG) (Steuer)", Name="Nr3102504")
    GeldBetragMitCent12DEFeld? nr3102504;

    /**
    * Summe der Steuer (zu übertragen in Zeile 156)
    */
    // @ApiMember(Description="Summe der Steuer (zu übertragen in Zeile 156)", Name="Nr3102601")
    GeldBetragMitCent12DEFeld? nr3102601;

    LeistungsempfaengerAlsSteuerschuldner2018({this.nr3102205,this.nr3102206,this.nr3102203,this.nr3102204,this.nr3102307,this.nr3102308,this.nr3102505,this.nr3102506,this.nr3102503,this.nr3102504,this.nr3102601});
    LeistungsempfaengerAlsSteuerschuldner2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3102205 = JsonConverters.fromJson(json['nr3102205'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102206 = JsonConverters.fromJson(json['nr3102206'],'GeldBetragMitCent12DEFeld',context!);
        nr3102203 = JsonConverters.fromJson(json['nr3102203'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102204 = JsonConverters.fromJson(json['nr3102204'],'GeldBetragMitCent12DEFeld',context!);
        nr3102307 = JsonConverters.fromJson(json['nr3102307'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102308 = JsonConverters.fromJson(json['nr3102308'],'GeldBetragMitCent12DEFeld',context!);
        nr3102505 = JsonConverters.fromJson(json['nr3102505'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102506 = JsonConverters.fromJson(json['nr3102506'],'GeldBetragMitCent12DEFeld',context!);
        nr3102503 = JsonConverters.fromJson(json['nr3102503'],'GeldBetragOhneCent12DEFeld',context!);
        nr3102504 = JsonConverters.fromJson(json['nr3102504'],'GeldBetragMitCent12DEFeld',context!);
        nr3102601 = JsonConverters.fromJson(json['nr3102601'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3102205': JsonConverters.toJson(nr3102205,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102206': JsonConverters.toJson(nr3102206,'GeldBetragMitCent12DEFeld',context!),
        'nr3102203': JsonConverters.toJson(nr3102203,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102204': JsonConverters.toJson(nr3102204,'GeldBetragMitCent12DEFeld',context!),
        'nr3102307': JsonConverters.toJson(nr3102307,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102308': JsonConverters.toJson(nr3102308,'GeldBetragMitCent12DEFeld',context!),
        'nr3102505': JsonConverters.toJson(nr3102505,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102506': JsonConverters.toJson(nr3102506,'GeldBetragMitCent12DEFeld',context!),
        'nr3102503': JsonConverters.toJson(nr3102503,'GeldBetragOhneCent12DEFeld',context!),
        'nr3102504': JsonConverters.toJson(nr3102504,'GeldBetragMitCent12DEFeld',context!),
        'nr3102601': JsonConverters.toJson(nr3102601,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Ergänzende Angaben der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Ergänzende Angaben der Umsatzsteuererklärung für 2018.")
class ErgaenzendeAngaben2018 implements IConvertible
{
    /**
    * Umsätze, die auf Grund eines Verzichts auf Steuerbefreiung (§ 9 UStG) als steuerpflichtig behandelt worden sind (Betrag volle EUR)
    */
    // @ApiMember(Description="Umsätze, die auf Grund eines Verzichts auf Steuerbefreiung (§ 9 UStG) als steuerpflichtig behandelt worden sind (Betrag volle EUR)", Name="Nr3105201")
    GeldBetragOhneCent12DEFeld? nr3105201;

    /**
    * Umsätze eines im Inland ansässigen Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 Satz 1 in Verbindung mit Absatz 2 Nummer 10 UStG schuldet (Betrag volle EUR)
    */
    // @ApiMember(Description="Umsätze eines im Inland ansässigen Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 Satz 1 in Verbindung mit Absatz 2 Nummer 10 UStG schuldet (Betrag volle EUR)", Name="Nr3105302")
    GeldBetragOhneCent12DEFeld? nr3105302;

    /**
    * Übrige Umsätze eines im Inland ansässigen Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet (Betrag volle EUR)
    */
    // @ApiMember(Description="Übrige Umsätze eines im Inland ansässigen Unternehmers, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet (Betrag volle EUR)", Name="Nr3105301")
    GeldBetragOhneCent12DEFeld? nr3105301;

    /**
    * Beförderungs- und Versendungslieferungen in das übrige Gemeinschaftsgebiet (§ 3c UStG) in Abschnitt C enthalten (Betrag volle EUR)
    */
    // @ApiMember(Description="Beförderungs- und Versendungslieferungen in das übrige Gemeinschaftsgebiet (§ 3c UStG) in Abschnitt C enthalten (Betrag volle EUR)", Name="Nr3105501")
    GeldBetragOhneCent12DEFeld? nr3105501;

    /**
    * Beförderungs- und Versendungslieferungen in das übrige Gemeinschaftsgebiet (§ 3c UStG) in anderen EU-Mitgliedstaaten zu versteuern (Betrag volle EUR)
    */
    // @ApiMember(Description="Beförderungs- und Versendungslieferungen in das übrige Gemeinschaftsgebiet (§ 3c UStG) in anderen EU-Mitgliedstaaten zu versteuern (Betrag volle EUR)", Name="Nr3105601")
    GeldBetragOhneCent12DEFeld? nr3105601;

    /**
    * 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="Nr3105602")
    GeldBetragOhneCent12DEFeld? nr3105602;

    /**
    * 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="Nr3105702")
    GeldBetragOhneCent12DEFeld? nr3105702;

    /**
    * Ü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="Nr3105801")
    GeldBetragOhneCent12DEFeld? nr3105801;

    /**
    * In den Zeilen 113, 115 und 116 enthaltene Umsätze, die nach § 15 Absatz 2 und 3 UStG den Vorsteuerabzug ausschließen (Betrag volle EUR)
    */
    // @ApiMember(Description="In den Zeilen 113, 115 und 116 enthaltene Umsätze, die nach § 15 Absatz 2 und 3 UStG den Vorsteuerabzug ausschließen (Betrag volle EUR)", Name="Nr3105901")
    GeldBetragOhneCent12DEFeld? nr3105901;

    /**
    * 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="Nr3106001")
    GeldBetragOhneCent12DEFeld? nr3106001;

    ErgaenzendeAngaben2018({this.nr3105201,this.nr3105302,this.nr3105301,this.nr3105501,this.nr3105601,this.nr3105602,this.nr3105702,this.nr3105801,this.nr3105901,this.nr3106001});
    ErgaenzendeAngaben2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3105201 = JsonConverters.fromJson(json['nr3105201'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105302 = JsonConverters.fromJson(json['nr3105302'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105301 = JsonConverters.fromJson(json['nr3105301'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105501 = JsonConverters.fromJson(json['nr3105501'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105601 = JsonConverters.fromJson(json['nr3105601'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105602 = JsonConverters.fromJson(json['nr3105602'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105702 = JsonConverters.fromJson(json['nr3105702'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105801 = JsonConverters.fromJson(json['nr3105801'],'GeldBetragOhneCent12DEFeld',context!);
        nr3105901 = JsonConverters.fromJson(json['nr3105901'],'GeldBetragOhneCent12DEFeld',context!);
        nr3106001 = JsonConverters.fromJson(json['nr3106001'],'GeldBetragOhneCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3105201': JsonConverters.toJson(nr3105201,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105302': JsonConverters.toJson(nr3105302,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105301': JsonConverters.toJson(nr3105301,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105501': JsonConverters.toJson(nr3105501,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105601': JsonConverters.toJson(nr3105601,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105602': JsonConverters.toJson(nr3105602,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105702': JsonConverters.toJson(nr3105702,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105801': JsonConverters.toJson(nr3105801,'GeldBetragOhneCent12DEFeld',context!),
        'nr3105901': JsonConverters.toJson(nr3105901,'GeldBetragOhneCent12DEFeld',context!),
        'nr3106001': JsonConverters.toJson(nr3106001,'GeldBetragOhneCent12DEFeld',context!)
    };

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

/**
* Abziehbare Vorsteuerbeträge der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Abziehbare Vorsteuerbeträge der Umsatzsteuererklärung für 2018.")
class AbziehbareVorsteuerbetraege2018 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="Nr3006201")
    GeldBetragMitCent12DEFeld? nr3006201;

    /**
    * 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="Nr3006301")
    GeldBetragMitCent12DEFeld? nr3006301;

    /**
    * Entstandene Einfuhrumsatzsteuer (§ 15 Absatz 1 Satz 1 Nummer 2 UStG)
    */
    // @ApiMember(Description="Entstandene Einfuhrumsatzsteuer (§ 15 Absatz 1 Satz 1 Nummer 2 UStG)", Name="Nr3006401")
    GeldBetragMitCent12DEFeld? nr3006401;

    /**
    * 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="Nr3006503")
    GeldBetragMitCent12DEFeld? nr3006503;

    /**
    * 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="Nr3006502")
    GeldBetragMitCent12DEFeld? nr3006502;

    /**
    * Vorsteuerbeträge, die nach den allgemeinen Durchschnittssätzen berechnet sind (§ 23 UStG)
    */
    // @ApiMember(Description="Vorsteuerbeträge, die nach den allgemeinen Durchschnittssätzen berechnet sind (§ 23 UStG)", Name="Nr3006501")
    GeldBetragMitCent12DEFeld? nr3006501;

    /**
    * 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="Nr3006601")
    GeldBetragMitCent12DEFeld? nr3006601;

    /**
    * 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="Nr3006701")
    GeldBetragMitCent12DEFeld? nr3006701;

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

    /**
    * Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)
    */
    // @ApiMember(Description="Summe der Vorsteuerbeträge (zu übertragen in Zeile 158)", Name="Nr3006901")
    GeldBetragMitCent12DEFeld? nr3006901;

    AbziehbareVorsteuerbetraege2018({this.nr3006201,this.nr3006301,this.nr3006401,this.nr3006503,this.nr3006502,this.nr3006501,this.nr3006601,this.nr3006701,this.nr3006801,this.nr3006901});
    AbziehbareVorsteuerbetraege2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3006201 = JsonConverters.fromJson(json['nr3006201'],'GeldBetragMitCent12DEFeld',context!);
        nr3006301 = JsonConverters.fromJson(json['nr3006301'],'GeldBetragMitCent12DEFeld',context!);
        nr3006401 = JsonConverters.fromJson(json['nr3006401'],'GeldBetragMitCent12DEFeld',context!);
        nr3006503 = JsonConverters.fromJson(json['nr3006503'],'GeldBetragMitCent12DEFeld',context!);
        nr3006502 = JsonConverters.fromJson(json['nr3006502'],'GeldBetragMitCent12DEFeld',context!);
        nr3006501 = JsonConverters.fromJson(json['nr3006501'],'GeldBetragMitCent12DEFeld',context!);
        nr3006601 = JsonConverters.fromJson(json['nr3006601'],'GeldBetragMitCent12DEFeld',context!);
        nr3006701 = JsonConverters.fromJson(json['nr3006701'],'GeldBetragMitCent12DEFeld',context!);
        nr3006801 = JsonConverters.fromJson(json['nr3006801'],'GeldBetragMitCent12DEFeld',context!);
        nr3006901 = JsonConverters.fromJson(json['nr3006901'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3006201': JsonConverters.toJson(nr3006201,'GeldBetragMitCent12DEFeld',context!),
        'nr3006301': JsonConverters.toJson(nr3006301,'GeldBetragMitCent12DEFeld',context!),
        'nr3006401': JsonConverters.toJson(nr3006401,'GeldBetragMitCent12DEFeld',context!),
        'nr3006503': JsonConverters.toJson(nr3006503,'GeldBetragMitCent12DEFeld',context!),
        'nr3006502': JsonConverters.toJson(nr3006502,'GeldBetragMitCent12DEFeld',context!),
        'nr3006501': JsonConverters.toJson(nr3006501,'GeldBetragMitCent12DEFeld',context!),
        'nr3006601': JsonConverters.toJson(nr3006601,'GeldBetragMitCent12DEFeld',context!),
        'nr3006701': JsonConverters.toJson(nr3006701,'GeldBetragMitCent12DEFeld',context!),
        'nr3006801': JsonConverters.toJson(nr3006801,'GeldBetragMitCent12DEFeld',context!),
        'nr3006901': JsonConverters.toJson(nr3006901,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Datums-Uhrzeitfeld. Format: TT.MM.JJJJ.
*/
// @Api(Description="Datums-Uhrzeitfeld. Format: TT.MM.JJJJ.")
class DatumUhrzeitFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.
    */
    // @ApiMember(Description="Wert des Feldes.", IsRequired=true, Name="Wert")
    DateTime? wert;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    DatumUhrzeitFeld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    DatumUhrzeitFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "DatumUhrzeitFeld";
    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 PositiverGeldBetragMitCent13DEFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.  Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.
    */
    // @ApiMember(Description="Wert des Feldes.  Mindestens eine Ziffer und maximal 13 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.", IsRequired=true)
    PositiverGeldBetragMitCent13DE? betrag;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    PositiverGeldBetragMitCent13DEFeld({this.betrag,this.nr,this.index,this.lfdNr,this.alias});
    PositiverGeldBetragMitCent13DEFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "PositiverGeldBetragMitCent13DEFeld";
    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 PositiverGeldBetragMitCent12DEFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.  Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.
    */
    // @ApiMember(Description="Wert des Feldes.  Mindestens eine Ziffer und maximal 12 Ziffern vor dem Dezimaltrennzeichen. 2 Ziffern nach dem Dezimaltrennzeichen. Minusvorzeichen NICHT erlaubt.", IsRequired=true)
    PositiverGeldBetragMitCent12DE? betrag;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    PositiverGeldBetragMitCent12DEFeld({this.betrag,this.nr,this.index,this.lfdNr,this.alias});
    PositiverGeldBetragMitCent12DEFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Berichtigung des Vorsteuerabzugs der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Berichtigung des Vorsteuerabzugs der Umsatzsteuererklärung für 2018.")
class BerichtigungVorsteuerabzug2018 implements IConvertible
{
    /**
    * Berichtigung des Vorsteuerabzugs? Falls ja, bitte eine 'true' eintragen
    */
    // @ApiMember(Description="Berichtigung des Vorsteuerabzugs? Falls ja, bitte eine 'true' eintragen", Name="Nr3007301")
    Bool1Feld? nr3007301;

    /**
    * Lage des Grundstücks oder Gebäudes
    */
    // @ApiMember(Description="Lage des Grundstücks oder Gebäudes", Name="Nr3007401")
    StringFeld? nr3007401;

    /**
    * Zeitpunkt der erstmaligen tatsächlichen Verwendung
    */
    // @ApiMember(Description="Zeitpunkt der erstmaligen tatsächlichen Verwendung", Name="Nr3007402")
    DatumUhrzeitFeld? nr3007402;

    /**
    * Art der Verwendung im Erstjahr
    */
    // @ApiMember(Description="Art der Verwendung im Erstjahr", Name="Nr3007403")
    StringFeld? nr3007403;

    /**
    * Umfang der Verwendung im Erstjahr
    */
    // @ApiMember(Description="Umfang der Verwendung im Erstjahr", Name="Nr3007404")
    PositiverGeldBetragMitCent13DEFeld? nr3007404;

    /**
    * insgesamt angefallene Vorsteuer
    */
    // @ApiMember(Description="insgesamt angefallene Vorsteuer", Name="Nr3007405")
    GeldBetragOhneCent12DEFeld? nr3007405;

    /**
    * in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer
    */
    // @ApiMember(Description="in den Vorjahren - Investitionsphase - bereits abgezogene Vorsteuer", Name="Nr3007406")
    GeldBetragOhneCent12DEFeld? nr3007406;

    /**
    * 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="Nr3007601")
    Bool1Feld? nr3007601;

    /**
    * 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="Nr3008501")
    Bool1Feld? nr3008501;

    /**
    * 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="Nr3008601")
    Bool1Feld? nr3008601;

    /**
    * Veräußerung
    */
    // @ApiMember(Description="Veräußerung", Name="Nr3007801")
    BoolXFeld? nr3007801;

    /**
    * Lieferung im Sinne des § 3 Absatz 1b UStG
    */
    // @ApiMember(Description="Lieferung im Sinne des § 3 Absatz 1b UStG", Name="Nr3007802")
    BoolXFeld? nr3007802;

    /**
    * Wechsel der Besteuerungsform, § 15a Absatz 7 UStG
    */
    // @ApiMember(Description="Wechsel der Besteuerungsform, § 15a Absatz 7 UStG", Name="Nr3007803")
    BoolXFeld? nr3007803;

    /**
    * Nutzungsänderung, und zwar
    */
    // @ApiMember(Description="Nutzungsänderung, und zwar", Name="Nr3007901")
    BoolXFeld? nr3007901;

    /**
    * Ü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="Nr3008001")
    BoolXFeld? nr3008001;

    /**
    * 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="Nr3008202")
    BoolXFeld? nr3008202;

    /**
    * 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="Nr3008401")
    BoolXFeld? nr3008401;

    /**
    * Begründung
    */
    // @ApiMember(Description="Begründung", Name="Nr3008402")
    StringFeld? nr3008402;

    /**
    * zu 1. Grundstücke und so weiter, § 15a Absatz 1 Satz 2 UStG (nachträglich abziehbar)
    */
    // @ApiMember(Description="zu 1. Grundstücke und so weiter, § 15a Absatz 1 Satz 2 UStG (nachträglich abziehbar)", Name="Nr3008701")
    PositiverGeldBetragMitCent12DEFeld? nr3008701;

    /**
    * zu 1. Grundstücke und so weiter, § 15a Absatz 1 Satz 2 UStG (zurückzuzahlen)
    */
    // @ApiMember(Description="zu 1. Grundstücke und so weiter, § 15a Absatz 1 Satz 2 UStG (zurückzuzahlen)", Name="Nr3008702")
    PositiverGeldBetragMitCent12DEFeld? nr3008702;

    /**
    * zu 2. andere Wirtschaftsgüter und so weiter, § 15a Absatz 1 Satz 1 UStG (nachträglich abziehbar)
    */
    // @ApiMember(Description="zu 2. andere Wirtschaftsgüter und so weiter, § 15a Absatz 1 Satz 1 UStG (nachträglich abziehbar)", Name="Nr3008801")
    PositiverGeldBetragMitCent12DEFeld? nr3008801;

    /**
    * zu 2. andere Wirtschaftsgüter und so weiter, § 15a Absatz 1 Satz 1 UStG (zurückzuzahlen)
    */
    // @ApiMember(Description="zu 2. andere Wirtschaftsgüter und so weiter, § 15a Absatz 1 Satz 1 UStG (zurückzuzahlen)", Name="Nr3008802")
    PositiverGeldBetragMitCent12DEFeld? nr3008802;

    /**
    * zu 3. Wirtschaftsgüter und so weiter, § 15a Absatz 2 UStG (nachträglich abziehbar)
    */
    // @ApiMember(Description="zu 3. Wirtschaftsgüter und so weiter, § 15a Absatz 2 UStG (nachträglich abziehbar)", Name="Nr3008803")
    PositiverGeldBetragMitCent12DEFeld? nr3008803;

    /**
    * zu 3. Wirtschaftsgüter und so weiter, § 15a Absatz 2 UStG (zurückzuzahlen)
    */
    // @ApiMember(Description="zu 3. Wirtschaftsgüter und so weiter, § 15a Absatz 2 UStG (zurückzuzahlen)", Name="Nr3008804")
    PositiverGeldBetragMitCent12DEFeld? nr3008804;

    /**
    * Summe nachträglich abziehbar (zu übertragen in Zeile 159)
    */
    // @ApiMember(Description="Summe nachträglich abziehbar (zu übertragen in Zeile 159)", Name="Nr3008901")
    PositiverGeldBetragMitCent12DEFeld? nr3008901;

    /**
    * Summe zurückzuzahlen (zu übertragen in Zeile 161)
    */
    // @ApiMember(Description="Summe zurückzuzahlen (zu übertragen in Zeile 161)", Name="Nr3008902")
    PositiverGeldBetragMitCent12DEFeld? nr3008902;

    BerichtigungVorsteuerabzug2018({this.nr3007301,this.nr3007401,this.nr3007402,this.nr3007403,this.nr3007404,this.nr3007405,this.nr3007406,this.nr3007601,this.nr3008501,this.nr3008601,this.nr3007801,this.nr3007802,this.nr3007803,this.nr3007901,this.nr3008001,this.nr3008202,this.nr3008401,this.nr3008402,this.nr3008701,this.nr3008702,this.nr3008801,this.nr3008802,this.nr3008803,this.nr3008804,this.nr3008901,this.nr3008902});
    BerichtigungVorsteuerabzug2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3007301 = JsonConverters.fromJson(json['nr3007301'],'Bool1Feld',context!);
        nr3007401 = JsonConverters.fromJson(json['nr3007401'],'StringFeld',context!);
        nr3007402 = JsonConverters.fromJson(json['nr3007402'],'DatumUhrzeitFeld',context!);
        nr3007403 = JsonConverters.fromJson(json['nr3007403'],'StringFeld',context!);
        nr3007404 = JsonConverters.fromJson(json['nr3007404'],'PositiverGeldBetragMitCent13DEFeld',context!);
        nr3007405 = JsonConverters.fromJson(json['nr3007405'],'GeldBetragOhneCent12DEFeld',context!);
        nr3007406 = JsonConverters.fromJson(json['nr3007406'],'GeldBetragOhneCent12DEFeld',context!);
        nr3007601 = JsonConverters.fromJson(json['nr3007601'],'Bool1Feld',context!);
        nr3008501 = JsonConverters.fromJson(json['nr3008501'],'Bool1Feld',context!);
        nr3008601 = JsonConverters.fromJson(json['nr3008601'],'Bool1Feld',context!);
        nr3007801 = JsonConverters.fromJson(json['nr3007801'],'BoolXFeld',context!);
        nr3007802 = JsonConverters.fromJson(json['nr3007802'],'BoolXFeld',context!);
        nr3007803 = JsonConverters.fromJson(json['nr3007803'],'BoolXFeld',context!);
        nr3007901 = JsonConverters.fromJson(json['nr3007901'],'BoolXFeld',context!);
        nr3008001 = JsonConverters.fromJson(json['nr3008001'],'BoolXFeld',context!);
        nr3008202 = JsonConverters.fromJson(json['nr3008202'],'BoolXFeld',context!);
        nr3008401 = JsonConverters.fromJson(json['nr3008401'],'BoolXFeld',context!);
        nr3008402 = JsonConverters.fromJson(json['nr3008402'],'StringFeld',context!);
        nr3008701 = JsonConverters.fromJson(json['nr3008701'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008702 = JsonConverters.fromJson(json['nr3008702'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008801 = JsonConverters.fromJson(json['nr3008801'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008802 = JsonConverters.fromJson(json['nr3008802'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008803 = JsonConverters.fromJson(json['nr3008803'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008804 = JsonConverters.fromJson(json['nr3008804'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008901 = JsonConverters.fromJson(json['nr3008901'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3008902 = JsonConverters.fromJson(json['nr3008902'],'PositiverGeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3007301': JsonConverters.toJson(nr3007301,'Bool1Feld',context!),
        'nr3007401': JsonConverters.toJson(nr3007401,'StringFeld',context!),
        'nr3007402': JsonConverters.toJson(nr3007402,'DatumUhrzeitFeld',context!),
        'nr3007403': JsonConverters.toJson(nr3007403,'StringFeld',context!),
        'nr3007404': JsonConverters.toJson(nr3007404,'PositiverGeldBetragMitCent13DEFeld',context!),
        'nr3007405': JsonConverters.toJson(nr3007405,'GeldBetragOhneCent12DEFeld',context!),
        'nr3007406': JsonConverters.toJson(nr3007406,'GeldBetragOhneCent12DEFeld',context!),
        'nr3007601': JsonConverters.toJson(nr3007601,'Bool1Feld',context!),
        'nr3008501': JsonConverters.toJson(nr3008501,'Bool1Feld',context!),
        'nr3008601': JsonConverters.toJson(nr3008601,'Bool1Feld',context!),
        'nr3007801': JsonConverters.toJson(nr3007801,'BoolXFeld',context!),
        'nr3007802': JsonConverters.toJson(nr3007802,'BoolXFeld',context!),
        'nr3007803': JsonConverters.toJson(nr3007803,'BoolXFeld',context!),
        'nr3007901': JsonConverters.toJson(nr3007901,'BoolXFeld',context!),
        'nr3008001': JsonConverters.toJson(nr3008001,'BoolXFeld',context!),
        'nr3008202': JsonConverters.toJson(nr3008202,'BoolXFeld',context!),
        'nr3008401': JsonConverters.toJson(nr3008401,'BoolXFeld',context!),
        'nr3008402': JsonConverters.toJson(nr3008402,'StringFeld',context!),
        'nr3008701': JsonConverters.toJson(nr3008701,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008702': JsonConverters.toJson(nr3008702,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008801': JsonConverters.toJson(nr3008801,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008802': JsonConverters.toJson(nr3008802,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008803': JsonConverters.toJson(nr3008803,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008804': JsonConverters.toJson(nr3008804,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008901': JsonConverters.toJson(nr3008901,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3008902': JsonConverters.toJson(nr3008902,'PositiverGeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Berechnung der Umsatzsteuer der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Berechnung der Umsatzsteuer der Umsatzsteuererklärung für 2018.")
class BerechnungUmsatzsteuer2018 implements IConvertible
{
    /**
    * Umsatzsteuer auf steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben (aus Zeile 60)
    */
    // @ApiMember(Description="Umsatzsteuer auf steuerpflichtige Lieferungen, sonstige Leistungen und unentgeltliche Wertabgaben (aus Zeile 60)", Name="Nr3009201")
    GeldBetragMitCent12DEFeld? nr3009201;

    /**
    * Umsatzsteuer auf innergemeinschaftliche Erwerbe (aus Zeile 86)
    */
    // @ApiMember(Description="Umsatzsteuer auf innergemeinschaftliche Erwerbe (aus Zeile 86)", Name="Nr3009401")
    GeldBetragMitCent12DEFeld? nr3009401;

    /**
    * Umsatzsteuer, die vom Auslagerer oder Lagerhalter geschuldet wird (§ 13a Absatz 1 Nummer 6 UStG) (aus Zeile 90)
    */
    // @ApiMember(Description="Umsatzsteuer, die vom Auslagerer oder Lagerhalter geschuldet wird (§ 13a Absatz 1 Nummer 6 UStG) (aus Zeile 90)", Name="Nr3009602")
    GeldBetragMitCent12DEFeld? nr3009602;

    /**
    * Umsatzsteuer, die vom letzten Abnehmer im innergemeinschaftlichen Dreiecksgeschäft geschuldet wird (§ 25b Absatz 2 UStG) (aus Zeile 97)
    */
    // @ApiMember(Description="Umsatzsteuer, die vom letzten Abnehmer im innergemeinschaftlichen Dreiecksgeschäft geschuldet wird (§ 25b Absatz 2 UStG) (aus Zeile 97)", Name="Nr3009501")
    GeldBetragMitCent12DEFeld? nr3009501;

    /**
    * Umsatzsteuer, die vom Leistungsempfänger nach § 13b UStG geschuldet wird (aus Zeile 105)
    */
    // @ApiMember(Description="Umsatzsteuer, die vom Leistungsempfänger nach § 13b UStG geschuldet wird (aus Zeile 105)", Name="Nr3009502")
    GeldBetragMitCent12DEFeld? nr3009502;

    /**
    * Zwischensumme
    */
    // @ApiMember(Description="Zwischensumme", Name="Nr3009801")
    GeldBetragMitCent12DEFeld? nr3009801;

    /**
    * Abziehbare Vorsteuerbeträge (aus Zeile 131)
    */
    // @ApiMember(Description="Abziehbare Vorsteuerbeträge (aus Zeile 131)", Name="Nr3009901")
    GeldBetragMitCent12DEFeld? nr3009901;

    /**
    * Vorsteuerbeträge, die auf Grund des § 15a UStG nachträglich abziehbar sind (aus Zeile 150)
    */
    // @ApiMember(Description="Vorsteuerbeträge, die auf Grund des § 15a UStG nachträglich abziehbar sind (aus Zeile 150)", Name="Nr3010001")
    PositiverGeldBetragMitCent12DEFeld? nr3010001;

    /**
    * Verbleibender Betrag
    */
    // @ApiMember(Description="Verbleibender Betrag", Name="Nr3010201")
    GeldBetragMitCent12DEFeld? nr3010201;

    /**
    * Vorsteuerbeträge, die auf Grund des § 15a UStG zurückzuzahlen sind (aus Zeile 150)
    */
    // @ApiMember(Description="Vorsteuerbeträge, die auf Grund des § 15a UStG zurückzuzahlen sind (aus Zeile 150)", Name="Nr3009701")
    PositiverGeldBetragMitCent12DEFeld? nr3009701;

    /**
    * 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="Nr3010301")
    GeldBetragMitCent12DEFeld? nr3010301;

    /**
    * Steuerbeträge, die nach § 17 Absatz 1 Satz 6 UStG geschuldet werden
    */
    // @ApiMember(Description="Steuerbeträge, die nach § 17 Absatz 1 Satz 6 UStG geschuldet werden", Name="Nr3010401")
    GeldBetragMitCent12DEFeld? nr3010401;

    /**
    * Steuer-, Vorsteuer- und Kürzungsbeträge, die auf frühere Besteuerungszeiträume entfallen (nur für Kleinunternehmer, die § 19 Absatz 1 UStG anwenden).
    */
    // @ApiMember(Description="Steuer-, Vorsteuer- und Kürzungsbeträge, die auf frühere Besteuerungszeiträume entfallen (nur für Kleinunternehmer, die § 19 Absatz 1 UStG anwenden).", Name="Nr3010501")
    GeldBetragMitCent12DEFeld? nr3010501;

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

    /**
    * Anrechenbare Beträge (aus Zeile 22 der Anlage UN)
    */
    // @ApiMember(Description="Anrechenbare Beträge (aus Zeile 22 der Anlage UN)", Name="Nr3010602")
    GeldBetragMitCent12DEFeld? nr3010602;

    /**
    * 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="Nr3011101")
    GeldBetragMitCent12DEFeld? nr3011101;

    /**
    * Vorauszahlungssoll 2018 (einschließlich Sondervorauszahlung)
    */
    // @ApiMember(Description="Vorauszahlungssoll 2018 (einschließlich Sondervorauszahlung)", IsRequired=true, Name="Nr3011301")
    GeldBetragMitCent12DEFeld? nr3011301;

    /**
    * 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="Nr3011401")
    GeldBetragMitCent12DEFeld? nr3011401;

    BerechnungUmsatzsteuer2018({this.nr3009201,this.nr3009401,this.nr3009602,this.nr3009501,this.nr3009502,this.nr3009801,this.nr3009901,this.nr3010001,this.nr3010201,this.nr3009701,this.nr3010301,this.nr3010401,this.nr3010501,this.nr3010601,this.nr3010602,this.nr3011101,this.nr3011301,this.nr3011401});
    BerechnungUmsatzsteuer2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3009201 = JsonConverters.fromJson(json['nr3009201'],'GeldBetragMitCent12DEFeld',context!);
        nr3009401 = JsonConverters.fromJson(json['nr3009401'],'GeldBetragMitCent12DEFeld',context!);
        nr3009602 = JsonConverters.fromJson(json['nr3009602'],'GeldBetragMitCent12DEFeld',context!);
        nr3009501 = JsonConverters.fromJson(json['nr3009501'],'GeldBetragMitCent12DEFeld',context!);
        nr3009502 = JsonConverters.fromJson(json['nr3009502'],'GeldBetragMitCent12DEFeld',context!);
        nr3009801 = JsonConverters.fromJson(json['nr3009801'],'GeldBetragMitCent12DEFeld',context!);
        nr3009901 = JsonConverters.fromJson(json['nr3009901'],'GeldBetragMitCent12DEFeld',context!);
        nr3010001 = JsonConverters.fromJson(json['nr3010001'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3010201 = JsonConverters.fromJson(json['nr3010201'],'GeldBetragMitCent12DEFeld',context!);
        nr3009701 = JsonConverters.fromJson(json['nr3009701'],'PositiverGeldBetragMitCent12DEFeld',context!);
        nr3010301 = JsonConverters.fromJson(json['nr3010301'],'GeldBetragMitCent12DEFeld',context!);
        nr3010401 = JsonConverters.fromJson(json['nr3010401'],'GeldBetragMitCent12DEFeld',context!);
        nr3010501 = JsonConverters.fromJson(json['nr3010501'],'GeldBetragMitCent12DEFeld',context!);
        nr3010601 = JsonConverters.fromJson(json['nr3010601'],'GeldBetragMitCent12DEFeld',context!);
        nr3010602 = JsonConverters.fromJson(json['nr3010602'],'GeldBetragMitCent12DEFeld',context!);
        nr3011101 = JsonConverters.fromJson(json['nr3011101'],'GeldBetragMitCent12DEFeld',context!);
        nr3011301 = JsonConverters.fromJson(json['nr3011301'],'GeldBetragMitCent12DEFeld',context!);
        nr3011401 = JsonConverters.fromJson(json['nr3011401'],'GeldBetragMitCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3009201': JsonConverters.toJson(nr3009201,'GeldBetragMitCent12DEFeld',context!),
        'nr3009401': JsonConverters.toJson(nr3009401,'GeldBetragMitCent12DEFeld',context!),
        'nr3009602': JsonConverters.toJson(nr3009602,'GeldBetragMitCent12DEFeld',context!),
        'nr3009501': JsonConverters.toJson(nr3009501,'GeldBetragMitCent12DEFeld',context!),
        'nr3009502': JsonConverters.toJson(nr3009502,'GeldBetragMitCent12DEFeld',context!),
        'nr3009801': JsonConverters.toJson(nr3009801,'GeldBetragMitCent12DEFeld',context!),
        'nr3009901': JsonConverters.toJson(nr3009901,'GeldBetragMitCent12DEFeld',context!),
        'nr3010001': JsonConverters.toJson(nr3010001,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3010201': JsonConverters.toJson(nr3010201,'GeldBetragMitCent12DEFeld',context!),
        'nr3009701': JsonConverters.toJson(nr3009701,'PositiverGeldBetragMitCent12DEFeld',context!),
        'nr3010301': JsonConverters.toJson(nr3010301,'GeldBetragMitCent12DEFeld',context!),
        'nr3010401': JsonConverters.toJson(nr3010401,'GeldBetragMitCent12DEFeld',context!),
        'nr3010501': JsonConverters.toJson(nr3010501,'GeldBetragMitCent12DEFeld',context!),
        'nr3010601': JsonConverters.toJson(nr3010601,'GeldBetragMitCent12DEFeld',context!),
        'nr3010602': JsonConverters.toJson(nr3010602,'GeldBetragMitCent12DEFeld',context!),
        'nr3011101': JsonConverters.toJson(nr3011101,'GeldBetragMitCent12DEFeld',context!),
        'nr3011301': JsonConverters.toJson(nr3011301,'GeldBetragMitCent12DEFeld',context!),
        'nr3011401': JsonConverters.toJson(nr3011401,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Unterschrift der Umsatzsteuererklärung für 2018.
*/
// @Api(Description="Unterschrift der Umsatzsteuererklärung für 2018.")
class Unterschrift2018 implements IConvertible
{
    /**
    * Name
    */
    // @ApiMember(Description="Name", Name="Nr3002501")
    StringFeld? nr3002501;

    /**
    * Vorname
    */
    // @ApiMember(Description="Vorname", Name="Nr3002502")
    StringFeld? nr3002502;

    /**
    * Straße, Hausnummer
    */
    // @ApiMember(Description="Straße, Hausnummer", Name="Nr3002503")
    StringFeld? nr3002503;

    /**
    * Postleitzahl, Wohnort
    */
    // @ApiMember(Description="Postleitzahl, Wohnort", Name="Nr3002504")
    StringFeld? nr3002504;

    /**
    * Telefon
    */
    // @ApiMember(Description="Telefon", Name="Nr3002505")
    StringFeld? nr3002505;

    /**
    * Mandantennummer
    */
    // @ApiMember(Description="Mandantennummer", Name="Nr3002506")
    StringFeld? nr3002506;

    /**
    * Mandantennummer für elektronische Bescheiddatenabholung
    */
    // @ApiMember(Description="Mandantennummer für elektronische Bescheiddatenabholung", Name="Nr3002507")
    StringFeld? nr3002507;

    /**
    * zusätzliche Angaben
    */
    // @ApiMember(Description="zusätzliche Angaben", Name="Nr3002508")
    StringFeld? nr3002508;

    /**
    * Bearbeiterkennzeichen
    */
    // @ApiMember(Description="Bearbeiterkennzeichen", Name="Nr3002509")
    StringFeld? nr3002509;

    /**
    * 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="Nr3002602")
    Bool1Feld? nr3002602;

    Unterschrift2018({this.nr3002501,this.nr3002502,this.nr3002503,this.nr3002504,this.nr3002505,this.nr3002506,this.nr3002507,this.nr3002508,this.nr3002509,this.nr3002602});
    Unterschrift2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3002501 = JsonConverters.fromJson(json['nr3002501'],'StringFeld',context!);
        nr3002502 = JsonConverters.fromJson(json['nr3002502'],'StringFeld',context!);
        nr3002503 = JsonConverters.fromJson(json['nr3002503'],'StringFeld',context!);
        nr3002504 = JsonConverters.fromJson(json['nr3002504'],'StringFeld',context!);
        nr3002505 = JsonConverters.fromJson(json['nr3002505'],'StringFeld',context!);
        nr3002506 = JsonConverters.fromJson(json['nr3002506'],'StringFeld',context!);
        nr3002507 = JsonConverters.fromJson(json['nr3002507'],'StringFeld',context!);
        nr3002508 = JsonConverters.fromJson(json['nr3002508'],'StringFeld',context!);
        nr3002509 = JsonConverters.fromJson(json['nr3002509'],'StringFeld',context!);
        nr3002602 = JsonConverters.fromJson(json['nr3002602'],'Bool1Feld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3002501': JsonConverters.toJson(nr3002501,'StringFeld',context!),
        'nr3002502': JsonConverters.toJson(nr3002502,'StringFeld',context!),
        'nr3002503': JsonConverters.toJson(nr3002503,'StringFeld',context!),
        'nr3002504': JsonConverters.toJson(nr3002504,'StringFeld',context!),
        'nr3002505': JsonConverters.toJson(nr3002505,'StringFeld',context!),
        'nr3002506': JsonConverters.toJson(nr3002506,'StringFeld',context!),
        'nr3002507': JsonConverters.toJson(nr3002507,'StringFeld',context!),
        'nr3002508': JsonConverters.toJson(nr3002508,'StringFeld',context!),
        'nr3002509': JsonConverters.toJson(nr3002509,'StringFeld',context!),
        'nr3002602': JsonConverters.toJson(nr3002602,'Bool1Feld',context!)
    };

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

/**
* Allgemeine Angaben der Anlage UN für 2018.
*/
// @Api(Description="Allgemeine Angaben der Anlage UN für 2018.")
class AnlageUnAllgemeineAngaben2018 implements IConvertible
{
    /**
    * IBAN
    */
    // @ApiMember(Description="IBAN", Name="Nr3201001")
    StringFeld? nr3201001;

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

    /**
    * Name des Geldinstituts (Zweigstelle) und Ort
    */
    // @ApiMember(Description="Name des Geldinstituts (Zweigstelle) und Ort", Name="Nr3200901")
    StringFeld? nr3200901;

    /**
    * 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="Nr3200902")
    StringFeld? nr3200902;

    /**
    * Kontoinhaber ist der Unternehmer laut den allgemeinen Angaben auf Vordruck USt2A
    */
    // @ApiMember(Description="Kontoinhaber ist der Unternehmer laut den allgemeinen Angaben auf Vordruck USt2A", Name="Nr3200904")
    BoolXFeld? nr3200904;

    /**
    * Name des Kontoinhabers
    */
    // @ApiMember(Description="Name des Kontoinhabers", Name="Nr3200905")
    StringFeld? nr3200905;

    /**
    * 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="Nr3201301")
    BoolXFeld? nr3201301;

    /**
    * 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="Nr3201401")
    BoolXFeld? nr3201401;

    /**
    * Name
    */
    // @ApiMember(Description="Name", Name="Nr3201501")
    StringFeld? nr3201501;

    /**
    * Straße, Haus-Nr
    */
    // @ApiMember(Description="Straße, Haus-Nr", Name="Nr3201601")
    StringFeld? nr3201601;

    /**
    * Postleitzahl, Ort
    */
    // @ApiMember(Description="Postleitzahl, Ort", Name="Nr3201402")
    StringFeld? nr3201402;

    /**
    * E-Mail-Adresse
    */
    // @ApiMember(Description="E-Mail-Adresse", Name="Nr3201502")
    StringFeld? nr3201502;

    /**
    * Telefon
    */
    // @ApiMember(Description="Telefon", Name="Nr3201602")
    StringFeld? nr3201602;

    /**
    * 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="Nr3201701")
    BoolXFeld? nr3201701;

    AnlageUnAllgemeineAngaben2018({this.nr3201001,this.nr3201002,this.nr3200901,this.nr3200902,this.nr3200904,this.nr3200905,this.nr3201301,this.nr3201401,this.nr3201501,this.nr3201601,this.nr3201402,this.nr3201502,this.nr3201602,this.nr3201701});
    AnlageUnAllgemeineAngaben2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3201001 = JsonConverters.fromJson(json['nr3201001'],'StringFeld',context!);
        nr3201002 = JsonConverters.fromJson(json['nr3201002'],'StringFeld',context!);
        nr3200901 = JsonConverters.fromJson(json['nr3200901'],'StringFeld',context!);
        nr3200902 = JsonConverters.fromJson(json['nr3200902'],'StringFeld',context!);
        nr3200904 = JsonConverters.fromJson(json['nr3200904'],'BoolXFeld',context!);
        nr3200905 = JsonConverters.fromJson(json['nr3200905'],'StringFeld',context!);
        nr3201301 = JsonConverters.fromJson(json['nr3201301'],'BoolXFeld',context!);
        nr3201401 = JsonConverters.fromJson(json['nr3201401'],'BoolXFeld',context!);
        nr3201501 = JsonConverters.fromJson(json['nr3201501'],'StringFeld',context!);
        nr3201601 = JsonConverters.fromJson(json['nr3201601'],'StringFeld',context!);
        nr3201402 = JsonConverters.fromJson(json['nr3201402'],'StringFeld',context!);
        nr3201502 = JsonConverters.fromJson(json['nr3201502'],'StringFeld',context!);
        nr3201602 = JsonConverters.fromJson(json['nr3201602'],'StringFeld',context!);
        nr3201701 = JsonConverters.fromJson(json['nr3201701'],'BoolXFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3201001': JsonConverters.toJson(nr3201001,'StringFeld',context!),
        'nr3201002': JsonConverters.toJson(nr3201002,'StringFeld',context!),
        'nr3200901': JsonConverters.toJson(nr3200901,'StringFeld',context!),
        'nr3200902': JsonConverters.toJson(nr3200902,'StringFeld',context!),
        'nr3200904': JsonConverters.toJson(nr3200904,'BoolXFeld',context!),
        'nr3200905': JsonConverters.toJson(nr3200905,'StringFeld',context!),
        'nr3201301': JsonConverters.toJson(nr3201301,'BoolXFeld',context!),
        'nr3201401': JsonConverters.toJson(nr3201401,'BoolXFeld',context!),
        'nr3201501': JsonConverters.toJson(nr3201501,'StringFeld',context!),
        'nr3201601': JsonConverters.toJson(nr3201601,'StringFeld',context!),
        'nr3201402': JsonConverters.toJson(nr3201402,'StringFeld',context!),
        'nr3201502': JsonConverters.toJson(nr3201502,'StringFeld',context!),
        'nr3201602': JsonConverters.toJson(nr3201602,'StringFeld',context!),
        'nr3201701': JsonConverters.toJson(nr3201701,'BoolXFeld',context!)
    };

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

/**
* Anrechenbare Beträge der Anlage UN für 2018.
*/
// @Api(Description="Anrechenbare Beträge der Anlage UN für 2018.")
class AnlageUnAnrechenbareBetraege2018 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="Nr3201902")
    GeldBetragMitCent12DEFeld? nr3201902;

    /**
    * 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="Nr3202002")
    GeldBetragMitCent12DEFeld? nr3202002;

    /**
    * Summe (zu übertragen in Zeile 166 der Steuererklärung)
    */
    // @ApiMember(Description="Summe (zu übertragen in Zeile 166 der Steuererklärung)", Name="Nr3202102")
    GeldBetragMitCent12DEFeld? nr3202102;

    AnlageUnAnrechenbareBetraege2018({this.nr3201902,this.nr3202002,this.nr3202102});
    AnlageUnAnrechenbareBetraege2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'nr3201902': JsonConverters.toJson(nr3201902,'GeldBetragMitCent12DEFeld',context!),
        'nr3202002': JsonConverters.toJson(nr3202002,'GeldBetragMitCent12DEFeld',context!),
        'nr3202102': JsonConverters.toJson(nr3202102,'GeldBetragMitCent12DEFeld',context!)
    };

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

/**
* Datums-Uhrzeitfeld. Format: TT.MM.
*/
// @Api(Description="Datums-Uhrzeitfeld. Format: TT.MM.")
class YearlessDateTimeFeld extends CustomFeldBase implements IConvertible
{
    /**
    * Wert des Feldes.
    */
    // @ApiMember(Description="Wert des Feldes.", IsRequired=true)
    DateTime? wert;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    YearlessDateTimeFeld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    YearlessDateTimeFeld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Ergänzende Angaben zu Umsätzen der Anlage UN für 2018.
*/
// @Api(Description="Ergänzende Angaben zu Umsätzen der Anlage UN für 2018.")
class AnlageUnErgaenzendeAngabenZuUmsaetzen2018 implements IConvertible
{
    /**
    * Beförderungs- und Versendungslieferungen aus dem übrigen Gemeinschaftsgebiet (§ 3c UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Beförderungs- und Versendungslieferungen aus dem übrigen Gemeinschaftsgebiet (§ 3c UStG) (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3201901")
    GeldBetragOhneCent12DEFeld? nr3201901;

    /**
    * Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 Satz 1 in Verbindung mit Absatz 2 Nummer 10 UStG schuldet (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 Satz 1 in Verbindung mit Absatz 2 Nummer 10 UStG schuldet (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3202703")
    GeldBetragOhneCent12DEFeld? nr3202703;

    /**
    * Übrige Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Übrige Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Absatz 5 UStG schuldet (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3202603")
    GeldBetragOhneCent12DEFeld? nr3202603;

    /**
    * Sonstige Leistungen auf dem Gebiet der Telekommunikation, Rundfunk- und Fernsehdienstleistungen aud auf die elektronischem Weg erbrachten sonstigen Leistungen (§ 3a Abs. 5 UStG), die bei
    */
    // @ApiMember(Description="Sonstige Leistungen auf dem Gebiet der Telekommunikation, Rundfunk- und Fernsehdienstleistungen aud auf die elektronischem Weg erbrachten sonstigen Leistungen (§ 3a Abs. 5 UStG), die bei", Name="Nr3202901")
    StringFeld? nr3202901;

    /**
    * für Besteuerungszeitraum 2018 (vom)
    */
    // @ApiMember(Description="für Besteuerungszeitraum 2018 (vom)", Name="Nr3202902")
    YearlessDateTimeFeld? nr3202902;

    /**
    * bis zum Besteuerungszeitraum 2018 (bis)
    */
    // @ApiMember(Description="bis zum Besteuerungszeitraum 2018 (bis)", Name="Nr3202903")
    YearlessDateTimeFeld? nr3202903;

    /**
    * unter der Registriernummer:
    */
    // @ApiMember(Description="unter der Registriernummer:", Name="Nr3202904")
    StringFeld? nr3202904;

    /**
    * Betrag (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)
    */
    // @ApiMember(Description="Betrag (Bemessungsgrundlage ohne Umsatzsteuer, volle EUR)", Name="Nr3202905")
    GeldBetragOhneCent12DEFeld? nr3202905;

    AnlageUnErgaenzendeAngabenZuUmsaetzen2018({this.nr3201901,this.nr3202703,this.nr3202603,this.nr3202901,this.nr3202902,this.nr3202903,this.nr3202904,this.nr3202905});
    AnlageUnErgaenzendeAngabenZuUmsaetzen2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nr3201901 = JsonConverters.fromJson(json['nr3201901'],'GeldBetragOhneCent12DEFeld',context!);
        nr3202703 = JsonConverters.fromJson(json['nr3202703'],'GeldBetragOhneCent12DEFeld',context!);
        nr3202603 = JsonConverters.fromJson(json['nr3202603'],'GeldBetragOhneCent12DEFeld',context!);
        nr3202901 = JsonConverters.fromJson(json['nr3202901'],'StringFeld',context!);
        nr3202902 = JsonConverters.fromJson(json['nr3202902'],'YearlessDateTimeFeld',context!);
        nr3202903 = JsonConverters.fromJson(json['nr3202903'],'YearlessDateTimeFeld',context!);
        nr3202904 = JsonConverters.fromJson(json['nr3202904'],'StringFeld',context!);
        nr3202905 = JsonConverters.fromJson(json['nr3202905'],'GeldBetragOhneCent12DEFeld',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nr3201901': JsonConverters.toJson(nr3201901,'GeldBetragOhneCent12DEFeld',context!),
        'nr3202703': JsonConverters.toJson(nr3202703,'GeldBetragOhneCent12DEFeld',context!),
        'nr3202603': JsonConverters.toJson(nr3202603,'GeldBetragOhneCent12DEFeld',context!),
        'nr3202901': JsonConverters.toJson(nr3202901,'StringFeld',context!),
        'nr3202902': JsonConverters.toJson(nr3202902,'YearlessDateTimeFeld',context!),
        'nr3202903': JsonConverters.toJson(nr3202903,'YearlessDateTimeFeld',context!),
        'nr3202904': JsonConverters.toJson(nr3202904,'StringFeld',context!),
        'nr3202905': JsonConverters.toJson(nr3202905,'GeldBetragOhneCent12DEFeld',context!)
    };

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

/**
* Boolescher Feldtyp, welcher als '1' (Ja) oder '2' (Nein) im Jahressteuererklärung angeschrieben wird.
*/
// @Api(Description="Boolescher Feldtyp, welcher als '1' (Ja) oder '2' (Nein) im Jahressteuererklärung angeschrieben wird.")
class Bool12Feld extends CustomFeldBase 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;

    /**
    * Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.
    */
    // @ApiMember(Description="Feldkennung: 7-stellig numerisch. Fest vergebene, eindeutige Nummer eines Feldes der Steuererklärung.")
    int? nr;

    /**
    * Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1
    */
    // @ApiMember(Description="Feldindex: maximal 2-stellig numerisch (1-99). Indizierung bei mehrfachem Ausfüllen des gleichen Feldes (z. B. Unterstützung mehrerer bedürftiger Personen). Default: 1")
    int? index;

    /**
    * Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1
    */
    // @ApiMember(Description="Indizierung bei mehrfach gleichen Anlagen (z. B. mehrere Anlagen V), die Durchnummerierung hat lückenlos aufsteigend zu erfolgen, von 1 bis 99999. Default: 1")
    int? lfdNr;

    /**
    * Identifizierung der Zeile / Feld im Fremdprogramm.
    */
    // @ApiMember(Description="Identifizierung der Zeile / Feld im Fremdprogramm.")
    String? alias;

    Bool12Feld({this.wert,this.nr,this.index,this.lfdNr,this.alias});
    Bool12Feld.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Vorsteuer Vergütungsverfahren beim BZSt der Anlage UN für 2018.
*/
// @Api(Description="Vorsteuer Vergütungsverfahren beim BZSt der Anlage UN für 2018.")
class AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018 implements IConvertible
{
    /**
    * Ist für das Kalenderjahr 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 die Vergütung von Vorsteuern in einem besonderen Verfahren (§ 18 Absatz 9 UStG, §§ 59 bis 61a UStDV) beantragt worden?", Name="Nr3201101")
    Bool12Feld? nr3201101;

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

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

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

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

/**
* Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).
*/
// @Api(Description="Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).")
class AnlageUn2018 implements IConvertible
{
    /**
    * Allgemeine Angaben (General Information)
    */
    // @ApiMember(Description="Allgemeine Angaben (General Information)", Name="AllgemeineAngaben")
    AnlageUnAllgemeineAngaben2018? allgemeineAngaben;

    /**
    * Anrechenbare Beträge (Eligible amounts)
    */
    // @ApiMember(Description="Anrechenbare Beträge (Eligible amounts)", Name="AnrechenbareBetraege")
    AnlageUnAnrechenbareBetraege2018? anrechenbareBetraege;

    /**
    * Ergänzende Angaben zu Umsätzen (Supplementary information on turnover)
    */
    // @ApiMember(Description="Ergänzende Angaben zu Umsätzen (Supplementary information on turnover)", Name="ErgaenzendeAngabenZuUmsaetzen")
    AnlageUnErgaenzendeAngabenZuUmsaetzen2018? ergaenzendeAngabenZuUmsaetzen;

    /**
    * Vorsteuervergütungsverfahren beim BZSt (Input tax refund procedure at BZSt)
    */
    // @ApiMember(Description="Vorsteuervergütungsverfahren beim BZSt (Input tax refund procedure at BZSt)", IsRequired=true, Name="VorsteuerVerguetungsverfahrenBeimBZSt")
    AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018? vorsteuerVerguetungsverfahrenBeimBZSt;

    AnlageUn2018({this.allgemeineAngaben,this.anrechenbareBetraege,this.ergaenzendeAngabenZuUmsaetzen,this.vorsteuerVerguetungsverfahrenBeimBZSt});
    AnlageUn2018.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        allgemeineAngaben = JsonConverters.fromJson(json['allgemeineAngaben'],'AnlageUnAllgemeineAngaben2018',context!);
        anrechenbareBetraege = JsonConverters.fromJson(json['anrechenbareBetraege'],'AnlageUnAnrechenbareBetraege2018',context!);
        ergaenzendeAngabenZuUmsaetzen = JsonConverters.fromJson(json['ergaenzendeAngabenZuUmsaetzen'],'AnlageUnErgaenzendeAngabenZuUmsaetzen2018',context!);
        vorsteuerVerguetungsverfahrenBeimBZSt = JsonConverters.fromJson(json['vorsteuerVerguetungsverfahrenBeimBZSt'],'AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'allgemeineAngaben': JsonConverters.toJson(allgemeineAngaben,'AnlageUnAllgemeineAngaben2018',context!),
        'anrechenbareBetraege': JsonConverters.toJson(anrechenbareBetraege,'AnlageUnAnrechenbareBetraege2018',context!),
        'ergaenzendeAngabenZuUmsaetzen': JsonConverters.toJson(ergaenzendeAngabenZuUmsaetzen,'AnlageUnErgaenzendeAngabenZuUmsaetzen2018',context!),
        'vorsteuerVerguetungsverfahrenBeimBZSt': JsonConverters.toJson(vorsteuerVerguetungsverfahrenBeimBZSt,'AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018',context!)
    };

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

/**
* Create XML content that represents an annual VAT return (Umsatzsteuerjahresserklärung) for 2018.
*/
// @Api(Description="Create XML content that represents an annual VAT return (Umsatzsteuerjahresserklärung) for 2018.")
abstract class CreateUmsatzsteuererklaerung2018XmlBase implements IPost
{
    /**
    * Die Art des ermittelten Ordnungsbegriffs zu füllen.
    */
    // @ApiMember(Description="Die Art des ermittelten Ordnungsbegriffs zu füllen.")
    OrdNrArt? ordNrArt;

    /**
    * Der Vorgang bei einer Veranlagung.
    */
    // @ApiMember(Description="Der Vorgang bei einer Veranlagung.")
    VeranlagungVorgang? vorgang;

    String? stNr;
    String? id;
    String? idEhefrau;
    /**
    * Das Erstellungsdatum des Steuerfalls, im Format JJJJMMDD.
    */
    // @ApiMember(Description="Das Erstellungsdatum des Steuerfalls, im Format JJJJMMDD.")
    DateTime? erstelldatum;

    /**
    * Die Erstellungszeit des Steuerfalls, im Format hhmmss.
    */
    // @ApiMember(Description="Die Erstellungszeit des Steuerfalls, im Format hhmmss.")
    DateTime? erstellzeit;

    /**
    * Name, alphanumerisch, max. 45-stellig.
    */
    // @ApiMember(Description="Name, alphanumerisch, max. 45-stellig.")
    String? absName;

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

    /**
    * Postleitzahl des Absenders der Erklärung
    */
    // @ApiMember(Description="Postleitzahl des Absenders der Erklärung")
    String? absPlz;

    /**
    * Ort, alphanumerisch, max. 29-stellig.
    */
    // @ApiMember(Description="Ort, alphanumerisch, max. 29-stellig.")
    String? absOrt;

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

    /**
    * Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?
    */
    // @ApiMember(Description="Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?")
    Rueckuebermittlung? rueckuebermittlung;

    /**
    * Allgemeine Angaben (General Information)
    */
    // @ApiMember(Description="Allgemeine Angaben (General Information)")
    AllgemeineAngaben2018? allgemeineAngaben;

    /**
    * Angaben der Besteuerung für Kleinunternehmer (Taxation details for small entrepreneurs)
    */
    // @ApiMember(Description="Angaben der Besteuerung für Kleinunternehmer (Taxation details for small entrepreneurs)")
    AngabenBesteuerungKleinunternehmer2018? angabenBesteuerungKleinunternehmer;

    /**
    * Tax-free goods, etc. (Steuerfreie Lieferungen usw.)
    */
    // @ApiMember(Description="Tax-free goods, etc. (Steuerfreie Lieferungen usw.)")
    SteuerfreieLieferungenEtc2018? steuerfreieLieferungenEtc;

    /**
    * Steuerpflichtige Lieferungen usw. (Taxable goods etc.)
    */
    // @ApiMember(Description="Steuerpflichtige Lieferungen usw. (Taxable goods etc.)")
    SteuerpflichtigeLieferungenEtc2018? steuerpflichtigeLieferungenEtc;

    /**
    * Innergemeinschaftliche Erwerbe (Intra-Community acquisitions)
    */
    // @ApiMember(Description="Innergemeinschaftliche Erwerbe (Intra-Community acquisitions)")
    InnergemeinschaftlicheErwerbe2018? innergemeinschaftlicheErwerbe;

    /**
    * Steuerschuldner bei Auslagerung (Tax payer for outsourcing)
    */
    // @ApiMember(Description="Steuerschuldner bei Auslagerung (Tax payer for outsourcing)")
    SteuerschuldnerBeiAuslagerung2018? steuerschuldnerBeiAuslagerung;

    /**
    * Innergemeinschaftliche Dreiecksgeschäfte (Intra-Community triangular transactions)
    */
    // @ApiMember(Description="Innergemeinschaftliche Dreiecksgeschäfte (Intra-Community triangular transactions)")
    InnergemeinschaftlicheDreiecksgeschaefte2018? innergemeinschaftlicheDreiecksgeschaefte;

    /**
    * Leistungsempfänger als Steuerschuldner (Beneficiary as tax payer)
    */
    // @ApiMember(Description="Leistungsempfänger als Steuerschuldner (Beneficiary as tax payer)")
    LeistungsempfaengerAlsSteuerschuldner2018? leistungsempfaengerAlsSteuerschuldner;

    /**
    * Ergänzende Angaben (Supplementary information)
    */
    // @ApiMember(Description="Ergänzende Angaben (Supplementary information)")
    ErgaenzendeAngaben2018? ergaenzendeAngaben;

    /**
    * Abziehbare Vorsteuerbeträge (Deductible input tax amounts)
    */
    // @ApiMember(Description="Abziehbare Vorsteuerbeträge (Deductible input tax amounts)")
    AbziehbareVorsteuerbetraege2018? abziehbareVorsteuerbetraege;

    /**
    * Berichtigung vom Vorsteuerabzug (Adjustment of input tax deduction)
    */
    // @ApiMember(Description="Berichtigung vom Vorsteuerabzug (Adjustment of input tax deduction)")
    BerichtigungVorsteuerabzug2018? berichtigungVorsteuerabzug;

    /**
    * Berechnung vom Umsatzsteuer (Calculation of VAT)
    */
    // @ApiMember(Description="Berechnung vom Umsatzsteuer (Calculation of VAT)")
    BerechnungUmsatzsteuer2018? berechnungUmsatzsteuer;

    /**
    * Unterschrift (Signature)
    */
    // @ApiMember(Description="Unterschrift (Signature)")
    Unterschrift2018? unterschrift;

    /**
    * Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).
    */
    // @ApiMember(Description="Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).")
    AnlageUn2018? anlageUn;

    /**
    * 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.")
    String? bundesfinanzamtsnummer;

    /**
    * The details of the provider that submits the tax data.
    */
    // @ApiMember(Description="The details of the provider that submits the tax data.")
    String? datenLieferant;

    CreateUmsatzsteuererklaerung2018XmlBase({this.ordNrArt,this.vorgang,this.stNr,this.id,this.idEhefrau,this.erstelldatum,this.erstellzeit,this.absName,this.absStr,this.absPlz,this.absOrt,this.copyright,this.rueckuebermittlung,this.allgemeineAngaben,this.angabenBesteuerungKleinunternehmer,this.steuerfreieLieferungenEtc,this.steuerpflichtigeLieferungenEtc,this.innergemeinschaftlicheErwerbe,this.steuerschuldnerBeiAuslagerung,this.innergemeinschaftlicheDreiecksgeschaefte,this.leistungsempfaengerAlsSteuerschuldner,this.ergaenzendeAngaben,this.abziehbareVorsteuerbetraege,this.berichtigungVorsteuerabzug,this.berechnungUmsatzsteuer,this.unterschrift,this.anlageUn,this.bundesfinanzamtsnummer,this.datenLieferant});
    CreateUmsatzsteuererklaerung2018XmlBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ordNrArt = JsonConverters.fromJson(json['ordNrArt'],'OrdNrArt',context!);
        vorgang = JsonConverters.fromJson(json['vorgang'],'VeranlagungVorgang',context!);
        stNr = json['stNr'];
        id = json['id'];
        idEhefrau = json['idEhefrau'];
        erstelldatum = JsonConverters.fromJson(json['erstelldatum'],'DateTime',context!);
        erstellzeit = JsonConverters.fromJson(json['erstellzeit'],'DateTime',context!);
        absName = json['absName'];
        absStr = json['absStr'];
        absPlz = json['absPlz'];
        absOrt = json['absOrt'];
        copyright = json['copyright'];
        rueckuebermittlung = JsonConverters.fromJson(json['rueckuebermittlung'],'Rueckuebermittlung',context!);
        allgemeineAngaben = JsonConverters.fromJson(json['allgemeineAngaben'],'AllgemeineAngaben2018',context!);
        angabenBesteuerungKleinunternehmer = JsonConverters.fromJson(json['angabenBesteuerungKleinunternehmer'],'AngabenBesteuerungKleinunternehmer2018',context!);
        steuerfreieLieferungenEtc = JsonConverters.fromJson(json['steuerfreieLieferungenEtc'],'SteuerfreieLieferungenEtc2018',context!);
        steuerpflichtigeLieferungenEtc = JsonConverters.fromJson(json['steuerpflichtigeLieferungenEtc'],'SteuerpflichtigeLieferungenEtc2018',context!);
        innergemeinschaftlicheErwerbe = JsonConverters.fromJson(json['innergemeinschaftlicheErwerbe'],'InnergemeinschaftlicheErwerbe2018',context!);
        steuerschuldnerBeiAuslagerung = JsonConverters.fromJson(json['steuerschuldnerBeiAuslagerung'],'SteuerschuldnerBeiAuslagerung2018',context!);
        innergemeinschaftlicheDreiecksgeschaefte = JsonConverters.fromJson(json['innergemeinschaftlicheDreiecksgeschaefte'],'InnergemeinschaftlicheDreiecksgeschaefte2018',context!);
        leistungsempfaengerAlsSteuerschuldner = JsonConverters.fromJson(json['leistungsempfaengerAlsSteuerschuldner'],'LeistungsempfaengerAlsSteuerschuldner2018',context!);
        ergaenzendeAngaben = JsonConverters.fromJson(json['ergaenzendeAngaben'],'ErgaenzendeAngaben2018',context!);
        abziehbareVorsteuerbetraege = JsonConverters.fromJson(json['abziehbareVorsteuerbetraege'],'AbziehbareVorsteuerbetraege2018',context!);
        berichtigungVorsteuerabzug = JsonConverters.fromJson(json['berichtigungVorsteuerabzug'],'BerichtigungVorsteuerabzug2018',context!);
        berechnungUmsatzsteuer = JsonConverters.fromJson(json['berechnungUmsatzsteuer'],'BerechnungUmsatzsteuer2018',context!);
        unterschrift = JsonConverters.fromJson(json['unterschrift'],'Unterschrift2018',context!);
        anlageUn = JsonConverters.fromJson(json['anlageUn'],'AnlageUn2018',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        datenLieferant = json['datenLieferant'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ordNrArt': JsonConverters.toJson(ordNrArt,'OrdNrArt',context!),
        'vorgang': JsonConverters.toJson(vorgang,'VeranlagungVorgang',context!),
        'stNr': stNr,
        'id': id,
        'idEhefrau': idEhefrau,
        'erstelldatum': JsonConverters.toJson(erstelldatum,'DateTime',context!),
        'erstellzeit': JsonConverters.toJson(erstellzeit,'DateTime',context!),
        'absName': absName,
        'absStr': absStr,
        'absPlz': absPlz,
        'absOrt': absOrt,
        'copyright': copyright,
        'rueckuebermittlung': JsonConverters.toJson(rueckuebermittlung,'Rueckuebermittlung',context!),
        'allgemeineAngaben': JsonConverters.toJson(allgemeineAngaben,'AllgemeineAngaben2018',context!),
        'angabenBesteuerungKleinunternehmer': JsonConverters.toJson(angabenBesteuerungKleinunternehmer,'AngabenBesteuerungKleinunternehmer2018',context!),
        'steuerfreieLieferungenEtc': JsonConverters.toJson(steuerfreieLieferungenEtc,'SteuerfreieLieferungenEtc2018',context!),
        'steuerpflichtigeLieferungenEtc': JsonConverters.toJson(steuerpflichtigeLieferungenEtc,'SteuerpflichtigeLieferungenEtc2018',context!),
        'innergemeinschaftlicheErwerbe': JsonConverters.toJson(innergemeinschaftlicheErwerbe,'InnergemeinschaftlicheErwerbe2018',context!),
        'steuerschuldnerBeiAuslagerung': JsonConverters.toJson(steuerschuldnerBeiAuslagerung,'SteuerschuldnerBeiAuslagerung2018',context!),
        'innergemeinschaftlicheDreiecksgeschaefte': JsonConverters.toJson(innergemeinschaftlicheDreiecksgeschaefte,'InnergemeinschaftlicheDreiecksgeschaefte2018',context!),
        'leistungsempfaengerAlsSteuerschuldner': JsonConverters.toJson(leistungsempfaengerAlsSteuerschuldner,'LeistungsempfaengerAlsSteuerschuldner2018',context!),
        'ergaenzendeAngaben': JsonConverters.toJson(ergaenzendeAngaben,'ErgaenzendeAngaben2018',context!),
        'abziehbareVorsteuerbetraege': JsonConverters.toJson(abziehbareVorsteuerbetraege,'AbziehbareVorsteuerbetraege2018',context!),
        'berichtigungVorsteuerabzug': JsonConverters.toJson(berichtigungVorsteuerabzug,'BerichtigungVorsteuerabzug2018',context!),
        'berechnungUmsatzsteuer': JsonConverters.toJson(berechnungUmsatzsteuer,'BerechnungUmsatzsteuer2018',context!),
        'unterschrift': JsonConverters.toJson(unterschrift,'Unterschrift2018',context!),
        'anlageUn': JsonConverters.toJson(anlageUn,'AnlageUn2018',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer,
        'datenLieferant': datenLieferant
    };

    getTypeName() => "CreateUmsatzsteuererklaerung2018XmlBase";
    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 2018.
*/
// @Api(Description="A synchronous service to create XML content that represents the annual VAT return for 2018.")
class CreateUmsatzsteuererklaerung2018Xml extends CreateUmsatzsteuererklaerung2018XmlBase implements IConvertible
{
    /**
    * Die Art des ermittelten Ordnungsbegriffs zu füllen.
    */
    // @ApiMember(Description="Die Art des ermittelten Ordnungsbegriffs zu füllen.")
    OrdNrArt? ordNrArt;

    /**
    * Der Vorgang bei einer Veranlagung.
    */
    // @ApiMember(Description="Der Vorgang bei einer Veranlagung.")
    VeranlagungVorgang? vorgang;

    String? stNr;
    String? id;
    String? idEhefrau;
    /**
    * Das Erstellungsdatum des Steuerfalls, im Format JJJJMMDD.
    */
    // @ApiMember(Description="Das Erstellungsdatum des Steuerfalls, im Format JJJJMMDD.")
    DateTime? erstelldatum;

    /**
    * Die Erstellungszeit des Steuerfalls, im Format hhmmss.
    */
    // @ApiMember(Description="Die Erstellungszeit des Steuerfalls, im Format hhmmss.")
    DateTime? erstellzeit;

    /**
    * Name, alphanumerisch, max. 45-stellig.
    */
    // @ApiMember(Description="Name, alphanumerisch, max. 45-stellig.")
    String? absName;

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

    /**
    * Postleitzahl des Absenders der Erklärung
    */
    // @ApiMember(Description="Postleitzahl des Absenders der Erklärung")
    String? absPlz;

    /**
    * Ort, alphanumerisch, max. 29-stellig.
    */
    // @ApiMember(Description="Ort, alphanumerisch, max. 29-stellig.")
    String? absOrt;

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

    /**
    * Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?
    */
    // @ApiMember(Description="Wird die elektronische Bereitstellung der Bescheiddaten gewünscht?")
    Rueckuebermittlung? rueckuebermittlung;

    /**
    * Allgemeine Angaben (General Information)
    */
    // @ApiMember(Description="Allgemeine Angaben (General Information)")
    AllgemeineAngaben2018? allgemeineAngaben;

    /**
    * Angaben der Besteuerung für Kleinunternehmer (Taxation details for small entrepreneurs)
    */
    // @ApiMember(Description="Angaben der Besteuerung für Kleinunternehmer (Taxation details for small entrepreneurs)")
    AngabenBesteuerungKleinunternehmer2018? angabenBesteuerungKleinunternehmer;

    /**
    * Tax-free goods, etc. (Steuerfreie Lieferungen usw.)
    */
    // @ApiMember(Description="Tax-free goods, etc. (Steuerfreie Lieferungen usw.)")
    SteuerfreieLieferungenEtc2018? steuerfreieLieferungenEtc;

    /**
    * Steuerpflichtige Lieferungen usw. (Taxable goods etc.)
    */
    // @ApiMember(Description="Steuerpflichtige Lieferungen usw. (Taxable goods etc.)")
    SteuerpflichtigeLieferungenEtc2018? steuerpflichtigeLieferungenEtc;

    /**
    * Innergemeinschaftliche Erwerbe (Intra-Community acquisitions)
    */
    // @ApiMember(Description="Innergemeinschaftliche Erwerbe (Intra-Community acquisitions)")
    InnergemeinschaftlicheErwerbe2018? innergemeinschaftlicheErwerbe;

    /**
    * Steuerschuldner bei Auslagerung (Tax payer for outsourcing)
    */
    // @ApiMember(Description="Steuerschuldner bei Auslagerung (Tax payer for outsourcing)")
    SteuerschuldnerBeiAuslagerung2018? steuerschuldnerBeiAuslagerung;

    /**
    * Innergemeinschaftliche Dreiecksgeschäfte (Intra-Community triangular transactions)
    */
    // @ApiMember(Description="Innergemeinschaftliche Dreiecksgeschäfte (Intra-Community triangular transactions)")
    InnergemeinschaftlicheDreiecksgeschaefte2018? innergemeinschaftlicheDreiecksgeschaefte;

    /**
    * Leistungsempfänger als Steuerschuldner (Beneficiary as tax payer)
    */
    // @ApiMember(Description="Leistungsempfänger als Steuerschuldner (Beneficiary as tax payer)")
    LeistungsempfaengerAlsSteuerschuldner2018? leistungsempfaengerAlsSteuerschuldner;

    /**
    * Ergänzende Angaben (Supplementary information)
    */
    // @ApiMember(Description="Ergänzende Angaben (Supplementary information)")
    ErgaenzendeAngaben2018? ergaenzendeAngaben;

    /**
    * Abziehbare Vorsteuerbeträge (Deductible input tax amounts)
    */
    // @ApiMember(Description="Abziehbare Vorsteuerbeträge (Deductible input tax amounts)")
    AbziehbareVorsteuerbetraege2018? abziehbareVorsteuerbetraege;

    /**
    * Berichtigung vom Vorsteuerabzug (Adjustment of input tax deduction)
    */
    // @ApiMember(Description="Berichtigung vom Vorsteuerabzug (Adjustment of input tax deduction)")
    BerichtigungVorsteuerabzug2018? berichtigungVorsteuerabzug;

    /**
    * Berechnung vom Umsatzsteuer (Calculation of VAT)
    */
    // @ApiMember(Description="Berechnung vom Umsatzsteuer (Calculation of VAT)")
    BerechnungUmsatzsteuer2018? berechnungUmsatzsteuer;

    /**
    * Unterschrift (Signature)
    */
    // @ApiMember(Description="Unterschrift (Signature)")
    Unterschrift2018? unterschrift;

    /**
    * Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).
    */
    // @ApiMember(Description="Anlage UN zur Umsatzsteuererklärung 2018 für im Ausland ansässige Unternehmer darstellt (Appendix to the VAT Declaration 2018 for entrepreneurs resident abroad).")
    AnlageUn2018? anlageUn;

    /**
    * 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.")
    String? bundesfinanzamtsnummer;

    /**
    * The details of the provider that submits the tax data.
    */
    // @ApiMember(Description="The details of the provider that submits the tax data.")
    String? datenLieferant;

    CreateUmsatzsteuererklaerung2018Xml({this.ordNrArt,this.vorgang,this.stNr,this.id,this.idEhefrau,this.erstelldatum,this.erstellzeit,this.absName,this.absStr,this.absPlz,this.absOrt,this.copyright,this.rueckuebermittlung,this.allgemeineAngaben,this.angabenBesteuerungKleinunternehmer,this.steuerfreieLieferungenEtc,this.steuerpflichtigeLieferungenEtc,this.innergemeinschaftlicheErwerbe,this.steuerschuldnerBeiAuslagerung,this.innergemeinschaftlicheDreiecksgeschaefte,this.leistungsempfaengerAlsSteuerschuldner,this.ergaenzendeAngaben,this.abziehbareVorsteuerbetraege,this.berichtigungVorsteuerabzug,this.berechnungUmsatzsteuer,this.unterschrift,this.anlageUn,this.bundesfinanzamtsnummer,this.datenLieferant});
    CreateUmsatzsteuererklaerung2018Xml.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        ordNrArt = JsonConverters.fromJson(json['ordNrArt'],'OrdNrArt',context!);
        vorgang = JsonConverters.fromJson(json['vorgang'],'VeranlagungVorgang',context!);
        stNr = json['stNr'];
        id = json['id'];
        idEhefrau = json['idEhefrau'];
        erstelldatum = JsonConverters.fromJson(json['erstelldatum'],'DateTime',context!);
        erstellzeit = JsonConverters.fromJson(json['erstellzeit'],'DateTime',context!);
        absName = json['absName'];
        absStr = json['absStr'];
        absPlz = json['absPlz'];
        absOrt = json['absOrt'];
        copyright = json['copyright'];
        rueckuebermittlung = JsonConverters.fromJson(json['rueckuebermittlung'],'Rueckuebermittlung',context!);
        allgemeineAngaben = JsonConverters.fromJson(json['allgemeineAngaben'],'AllgemeineAngaben2018',context!);
        angabenBesteuerungKleinunternehmer = JsonConverters.fromJson(json['angabenBesteuerungKleinunternehmer'],'AngabenBesteuerungKleinunternehmer2018',context!);
        steuerfreieLieferungenEtc = JsonConverters.fromJson(json['steuerfreieLieferungenEtc'],'SteuerfreieLieferungenEtc2018',context!);
        steuerpflichtigeLieferungenEtc = JsonConverters.fromJson(json['steuerpflichtigeLieferungenEtc'],'SteuerpflichtigeLieferungenEtc2018',context!);
        innergemeinschaftlicheErwerbe = JsonConverters.fromJson(json['innergemeinschaftlicheErwerbe'],'InnergemeinschaftlicheErwerbe2018',context!);
        steuerschuldnerBeiAuslagerung = JsonConverters.fromJson(json['steuerschuldnerBeiAuslagerung'],'SteuerschuldnerBeiAuslagerung2018',context!);
        innergemeinschaftlicheDreiecksgeschaefte = JsonConverters.fromJson(json['innergemeinschaftlicheDreiecksgeschaefte'],'InnergemeinschaftlicheDreiecksgeschaefte2018',context!);
        leistungsempfaengerAlsSteuerschuldner = JsonConverters.fromJson(json['leistungsempfaengerAlsSteuerschuldner'],'LeistungsempfaengerAlsSteuerschuldner2018',context!);
        ergaenzendeAngaben = JsonConverters.fromJson(json['ergaenzendeAngaben'],'ErgaenzendeAngaben2018',context!);
        abziehbareVorsteuerbetraege = JsonConverters.fromJson(json['abziehbareVorsteuerbetraege'],'AbziehbareVorsteuerbetraege2018',context!);
        berichtigungVorsteuerabzug = JsonConverters.fromJson(json['berichtigungVorsteuerabzug'],'BerichtigungVorsteuerabzug2018',context!);
        berechnungUmsatzsteuer = JsonConverters.fromJson(json['berechnungUmsatzsteuer'],'BerechnungUmsatzsteuer2018',context!);
        unterschrift = JsonConverters.fromJson(json['unterschrift'],'Unterschrift2018',context!);
        anlageUn = JsonConverters.fromJson(json['anlageUn'],'AnlageUn2018',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        datenLieferant = json['datenLieferant'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'ordNrArt': JsonConverters.toJson(ordNrArt,'OrdNrArt',context!),
        'vorgang': JsonConverters.toJson(vorgang,'VeranlagungVorgang',context!),
        'stNr': stNr,
        'id': id,
        'idEhefrau': idEhefrau,
        'erstelldatum': JsonConverters.toJson(erstelldatum,'DateTime',context!),
        'erstellzeit': JsonConverters.toJson(erstellzeit,'DateTime',context!),
        'absName': absName,
        'absStr': absStr,
        'absPlz': absPlz,
        'absOrt': absOrt,
        'copyright': copyright,
        'rueckuebermittlung': JsonConverters.toJson(rueckuebermittlung,'Rueckuebermittlung',context!),
        'allgemeineAngaben': JsonConverters.toJson(allgemeineAngaben,'AllgemeineAngaben2018',context!),
        'angabenBesteuerungKleinunternehmer': JsonConverters.toJson(angabenBesteuerungKleinunternehmer,'AngabenBesteuerungKleinunternehmer2018',context!),
        'steuerfreieLieferungenEtc': JsonConverters.toJson(steuerfreieLieferungenEtc,'SteuerfreieLieferungenEtc2018',context!),
        'steuerpflichtigeLieferungenEtc': JsonConverters.toJson(steuerpflichtigeLieferungenEtc,'SteuerpflichtigeLieferungenEtc2018',context!),
        'innergemeinschaftlicheErwerbe': JsonConverters.toJson(innergemeinschaftlicheErwerbe,'InnergemeinschaftlicheErwerbe2018',context!),
        'steuerschuldnerBeiAuslagerung': JsonConverters.toJson(steuerschuldnerBeiAuslagerung,'SteuerschuldnerBeiAuslagerung2018',context!),
        'innergemeinschaftlicheDreiecksgeschaefte': JsonConverters.toJson(innergemeinschaftlicheDreiecksgeschaefte,'InnergemeinschaftlicheDreiecksgeschaefte2018',context!),
        'leistungsempfaengerAlsSteuerschuldner': JsonConverters.toJson(leistungsempfaengerAlsSteuerschuldner,'LeistungsempfaengerAlsSteuerschuldner2018',context!),
        'ergaenzendeAngaben': JsonConverters.toJson(ergaenzendeAngaben,'ErgaenzendeAngaben2018',context!),
        'abziehbareVorsteuerbetraege': JsonConverters.toJson(abziehbareVorsteuerbetraege,'AbziehbareVorsteuerbetraege2018',context!),
        'berichtigungVorsteuerabzug': JsonConverters.toJson(berichtigungVorsteuerabzug,'BerichtigungVorsteuerabzug2018',context!),
        'berechnungUmsatzsteuer': JsonConverters.toJson(berechnungUmsatzsteuer,'BerechnungUmsatzsteuer2018',context!),
        'unterschrift': JsonConverters.toJson(unterschrift,'Unterschrift2018',context!),
        'anlageUn': JsonConverters.toJson(anlageUn,'AnlageUn2018',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer,
        'datenLieferant': datenLieferant
    });

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

TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: <String, TypeInfo> {
    'OrdNrArt': TypeInfo(TypeOf.Enum, enumValues:OrdNrArt.values),
    'VeranlagungVorgang': TypeInfo(TypeOf.Enum, enumValues:VeranlagungVorgang.values),
    'Rueckuebermittlung': TypeInfo(TypeOf.Class, create:() => Rueckuebermittlung()),
    'CustomFeldBase': TypeInfo(TypeOf.AbstractClass),
    'BoolXFeld': TypeInfo(TypeOf.Class, create:() => BoolXFeld()),
    'Bool1Feld': TypeInfo(TypeOf.Class, create:() => Bool1Feld()),
    'StringFeld': TypeInfo(TypeOf.Class, create:() => StringFeld()),
    'ErklaerungZeitraum': TypeInfo(TypeOf.Class, create:() => ErklaerungZeitraum()),
    'ZeitraumFeld': TypeInfo(TypeOf.Class, create:() => ZeitraumFeld()),
    'AllgemeineAngaben2018': TypeInfo(TypeOf.Class, create:() => AllgemeineAngaben2018()),
    'GeldBetragOhneCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragOhneCent5DE': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent5DE()),
    'GeldBetragOhneCent5DEFeld': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent5DEFeld()),
    'GrossGeldBetragOhneCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragOhneCent12DE': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent12DE()),
    'GeldBetragOhneCent12DEFeld': TypeInfo(TypeOf.Class, create:() => GeldBetragOhneCent12DEFeld()),
    'AngabenBesteuerungKleinunternehmer2018': TypeInfo(TypeOf.Class, create:() => AngabenBesteuerungKleinunternehmer2018()),
    'SteuerfreieLieferungenEtc2018': TypeInfo(TypeOf.Class, create:() => SteuerfreieLieferungenEtc2018()),
    'GeldBetragMitCent': TypeInfo(TypeOf.AbstractClass),
    'GeldBetragMitCent12DE': TypeInfo(TypeOf.Class, create:() => GeldBetragMitCent12DE()),
    'GeldBetragMitCent12DEFeld': TypeInfo(TypeOf.Class, create:() => GeldBetragMitCent12DEFeld()),
    'SteuerpflichtigeLieferungenEtc2018': TypeInfo(TypeOf.Class, create:() => SteuerpflichtigeLieferungenEtc2018()),
    'InnergemeinschaftlicheErwerbe2018': TypeInfo(TypeOf.Class, create:() => InnergemeinschaftlicheErwerbe2018()),
    'SteuerschuldnerBeiAuslagerung2018': TypeInfo(TypeOf.Class, create:() => SteuerschuldnerBeiAuslagerung2018()),
    'InnergemeinschaftlicheDreiecksgeschaefte2018': TypeInfo(TypeOf.Class, create:() => InnergemeinschaftlicheDreiecksgeschaefte2018()),
    'LeistungsempfaengerAlsSteuerschuldner2018': TypeInfo(TypeOf.Class, create:() => LeistungsempfaengerAlsSteuerschuldner2018()),
    'ErgaenzendeAngaben2018': TypeInfo(TypeOf.Class, create:() => ErgaenzendeAngaben2018()),
    'AbziehbareVorsteuerbetraege2018': TypeInfo(TypeOf.Class, create:() => AbziehbareVorsteuerbetraege2018()),
    'DatumUhrzeitFeld': TypeInfo(TypeOf.Class, create:() => DatumUhrzeitFeld()),
    'PositiverGeldBetragMitCent13DE': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent13DE()),
    'PositiverGeldBetragMitCent13DEFeld': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent13DEFeld()),
    'PositiverGeldBetragMitCent12DE': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent12DE()),
    'PositiverGeldBetragMitCent12DEFeld': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragMitCent12DEFeld()),
    'BerichtigungVorsteuerabzug2018': TypeInfo(TypeOf.Class, create:() => BerichtigungVorsteuerabzug2018()),
    'BerechnungUmsatzsteuer2018': TypeInfo(TypeOf.Class, create:() => BerechnungUmsatzsteuer2018()),
    'Unterschrift2018': TypeInfo(TypeOf.Class, create:() => Unterschrift2018()),
    'AnlageUnAllgemeineAngaben2018': TypeInfo(TypeOf.Class, create:() => AnlageUnAllgemeineAngaben2018()),
    'AnlageUnAnrechenbareBetraege2018': TypeInfo(TypeOf.Class, create:() => AnlageUnAnrechenbareBetraege2018()),
    'YearlessDateTimeFeld': TypeInfo(TypeOf.Class, create:() => YearlessDateTimeFeld()),
    'AnlageUnErgaenzendeAngabenZuUmsaetzen2018': TypeInfo(TypeOf.Class, create:() => AnlageUnErgaenzendeAngabenZuUmsaetzen2018()),
    'Bool12Feld': TypeInfo(TypeOf.Class, create:() => Bool12Feld()),
    'AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018': TypeInfo(TypeOf.Class, create:() => AnlageUnVorsteuerVerguetungsverfahrenBeimBZSt2018()),
    'AnlageUn2018': TypeInfo(TypeOf.Class, create:() => AnlageUn2018()),
    'CreateUmsatzsteuererklaerung2018XmlBase': TypeInfo(TypeOf.AbstractClass),
    'XmlResponse': TypeInfo(TypeOf.Class, create:() => XmlResponse()),
    'CreateUmsatzsteuererklaerung2018Xml': TypeInfo(TypeOf.Class, create:() => CreateUmsatzsteuererklaerung2018Xml()),
});

Dart CreateUmsatzsteuererklaerung2018Xml DTOs

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

HTTP + JSV

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

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

{
	ordNrArt: S,
	vorgang: NurVeranlagung,
	stNr: String,
	id: String,
	idEhefrau: String,
	erstelldatum: 0001-01-01,
	erstellzeit: 0001-01-01,
	absName: String,
	absStr: String,
	absPlz: String,
	absOrt: String,
	copyright: String,
	rueckuebermittlung: 
	{
		bescheid: False,
		artRueckuebermittlung: String,
		schluesselRueckuebermittlung: String,
		adresseRueckuebermittlung: String
	},
	allgemeineAngaben: 
	{
		nr3000013: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3000601: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3000901: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3000902: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001001: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001101: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001201: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001202: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001301: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001402: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001401: 
		{
			wert: 
			{
				start: 0001-01-01,
				ende: 0001-01-01
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001501: 
		{
			wert: 
			{
				start: 0001-01-01,
				ende: 0001-01-01
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3001701: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002201: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002202: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	angabenBesteuerungKleinunternehmer: 
	{
		nr3002301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	steuerfreieLieferungenEtc: 
	{
		nr3103301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3103401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3103501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3103801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3103901: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3103902: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104001: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104101: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104501: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104502: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104601: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104901: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3104902: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	steuerpflichtigeLieferungenEtc: 
	{
		nr3003303: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003304: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003405: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003406: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003505: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003506: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3004401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3004402: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003703: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003704: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003803: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3003804: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005001: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005002: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005302: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005003: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005004: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005701: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005702: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3005901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006001: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	innergemeinschaftlicheErwerbe: 
	{
		nr3100901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3100902: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3100903: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101302: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101303: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101304: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101402: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	steuerschuldnerBeiAuslagerung: 
	{
		nr3102804: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102805: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102904: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	innergemeinschaftlicheDreiecksgeschaefte: 
	{
		nr3101801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101701: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3101702: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102302: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102303: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102304: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	leistungsempfaengerAlsSteuerschuldner: 
	{
		nr3102205: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102206: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102203: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102204: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102307: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102308: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102505: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102506: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102503: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102504: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3102601: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	ergaenzendeAngaben: 
	{
		nr3105201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105302: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105601: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105602: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105702: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3105901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3106001: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	abziehbareVorsteuerbetraege: 
	{
		nr3006201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006503: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006502: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006601: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006701: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3006901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	berichtigungVorsteuerabzug: 
	{
		nr3007301: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007401: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007402: 
		{
			wert: 0001-01-01,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007403: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007404: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007405: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007406: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007601: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008501: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008601: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007801: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007802: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007803: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3007901: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008001: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008202: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008401: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008402: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008701: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008702: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008802: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008803: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008804: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3008902: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	berechnungUmsatzsteuer: 
	{
		nr3009201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009602: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009502: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009801: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009901: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010001: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010201: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3009701: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010501: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010601: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3010602: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3011101: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3011301: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3011401: 
		{
			betrag: 
			{
				wert: 0
			},
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	unterschrift: 
	{
		nr3002501: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002502: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002503: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002504: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002505: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002506: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002507: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002508: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002509: 
		{
			wert: String,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		},
		nr3002602: 
		{
			wert: False,
			nr: 0,
			index: 0,
			lfdNr: 0,
			alias: String
		}
	},
	anlageUn: 
	{
		allgemeineAngaben: 
		{
			nr3201001: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201002: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3200901: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3200902: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3200904: 
			{
				wert: False,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3200905: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201301: 
			{
				wert: False,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201401: 
			{
				wert: False,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201501: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201601: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201402: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201502: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201602: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3201701: 
			{
				wert: False,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			}
		},
		anrechenbareBetraege: 
		{
			nr3201902: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202002: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202102: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			}
		},
		ergaenzendeAngabenZuUmsaetzen: 
		{
			nr3201901: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202703: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202603: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202901: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202902: 
			{
				wert: 0001-01-01,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202903: 
			{
				wert: 0001-01-01,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202904: 
			{
				wert: String,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			},
			nr3202905: 
			{
				betrag: 
				{
					wert: 0
				},
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			}
		},
		vorsteuerVerguetungsverfahrenBeimBZSt: 
		{
			nr3201101: 
			{
				wert: False,
				nr: 0,
				index: 0,
				lfdNr: 0,
				alias: String
			}
		}
	},
	bundesfinanzamtsnummer: String,
	datenLieferant: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	content: String,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}