Tax Filing Service

<back to all web services

CreateUmsatzsteuersondervorauszahlung2019XmlAsync

AsyncUmsatzsteuerSondervorauszahlung2019

An asynchronous service to create xml content that represents the filing of the special advance payment for VAT (Umsatzsteuer-Sondervorauszahlung) for 2019.

Requires Authentication
The following routes are available for this service:
POST/CreateUmsatzsteuersondervorauszahlung2019XmlAsyncAn asynchronous service to create xml content that represents the filing of the special advance payment for VAT (Umsatzsteuer-Sondervorauszahlung) for 2019
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

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

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

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

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

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

    /**
    * Die Email-Adresse (optional) des Datenlieferant.
    */
    // @ApiMember(Description="Die Email-Adresse (optional) des Datenlieferant.", Name="Email")
    String? email;

    DatenLieferant({this.name,this.strasse,this.plz,this.ort,this.telefon,this.email});
    DatenLieferant.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        strasse = json['strasse'];
        plz = json['plz'];
        ort = json['ort'];
        telefon = json['telefon'];
        email = json['email'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'strasse': strasse,
        'plz': plz,
        'ort': ort,
        'telefon': telefon,
        'email': email
    };

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

/**
* Stellt einen Steuerberater dar.
*/
// @Api(Description="Stellt einen Steuerberater dar.")
class Berater implements IConvertible
{
    /**
    * Der Bezeichnung (optional) des Beraters (normalerweise der Name des Beraters Unternehmen).
    */
    // @ApiMember(Description="Der Bezeichnung (optional) des Beraters (normalerweise der Name des Beraters Unternehmen).", Name="Bezeichnung")
    String? bezeichnung;

    /**
    * Der Name (optional) des Beraters.
    */
    // @ApiMember(Description="Der Name (optional) des Beraters.", Name="Name")
    String? name;

    /**
    * Der Vorname (optional) des Beraters.
    */
    // @ApiMember(Description="Der Vorname (optional) des Beraters.", Name="Vorname")
    String? vorname;

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

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

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

    /**
    * Die Hausnummer (optional) des Beraters.
    */
    // @ApiMember(Description="Die Hausnummer (optional) des Beraters.", Name="Hausnummer")
    String? hausnummer;

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

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

    /**
    * Der Ort (optional) des Beraters.
    */
    // @ApiMember(Description="Der Ort (optional) des Beraters.", Name="Ort")
    String? ort;

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

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

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

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

    /**
    * Das Postfach (optional) des Beraters.
    */
    // @ApiMember(Description="Das Postfach (optional) des Beraters.", Name="Postfach")
    String? postfach;

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

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

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

    /**
    * Die Emailadresse (optional) des Beraters.
    */
    // @ApiMember(Description="Die Emailadresse (optional) des Beraters.", Name="Email")
    String? email;

    Berater({this.bezeichnung,this.name,this.vorname,this.namensvorsatz,this.namenszusatz,this.str,this.hausnummer,this.hNrZusatz,this.anschriftenZusatz,this.ort,this.plz,this.auslandsPLZ,this.land,this.postfachOrt,this.postfach,this.postfachPLZ,this.gkplz,this.telefon,this.email});
    Berater.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bezeichnung = json['bezeichnung'];
        name = json['name'];
        vorname = json['vorname'];
        namensvorsatz = json['namensvorsatz'];
        namenszusatz = json['namenszusatz'];
        str = json['str'];
        hausnummer = json['hausnummer'];
        hNrZusatz = json['hNrZusatz'];
        anschriftenZusatz = json['anschriftenZusatz'];
        ort = json['ort'];
        plz = json['plz'];
        auslandsPLZ = json['auslandsPLZ'];
        land = json['land'];
        postfachOrt = json['postfachOrt'];
        postfach = json['postfach'];
        postfachPLZ = json['postfachPLZ'];
        gkplz = json['gkplz'];
        telefon = json['telefon'];
        email = json['email'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bezeichnung': bezeichnung,
        'name': name,
        'vorname': vorname,
        'namensvorsatz': namensvorsatz,
        'namenszusatz': namenszusatz,
        'str': str,
        'hausnummer': hausnummer,
        'hNrZusatz': hNrZusatz,
        'anschriftenZusatz': anschriftenZusatz,
        'ort': ort,
        'plz': plz,
        'auslandsPLZ': auslandsPLZ,
        'land': land,
        'postfachOrt': postfachOrt,
        'postfach': postfach,
        'postfachPLZ': postfachPLZ,
        'gkplz': gkplz,
        'telefon': telefon,
        'email': email
    };

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

/**
* Stellt einen Mandant dar.
*/
// @Api(Description="Stellt einen Mandant dar.")
class Mandant implements IConvertible
{
    /**
    * Der Name (optional) des Mandanten.
    */
    // @ApiMember(Description="Der Name (optional) des Mandanten.", Name="Name")
    String? name;

    /**
    * Der Vorname (optional) des Mandanten.
    */
    // @ApiMember(Description="Der Vorname (optional) des Mandanten.", Name="Vorname")
    String? vorname;

    /**
    * Die Mandantennummer (optional) des Mandanten.
    */
    // @ApiMember(Description="Die Mandantennummer (optional) des Mandanten.", Name="MandantenNr")
    String? mandantenNr;

    /**
    * Das Bearbeiterkennzeichen (optional) des Mandanten.
    */
    // @ApiMember(Description="Das Bearbeiterkennzeichen (optional) des Mandanten.", Name="Bearbeiterkennzeichen")
    String? bearbeiterkennzeichen;

    Mandant({this.name,this.vorname,this.mandantenNr,this.bearbeiterkennzeichen});
    Mandant.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        vorname = json['vorname'];
        mandantenNr = json['mandantenNr'];
        bearbeiterkennzeichen = json['bearbeiterkennzeichen'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'vorname': vorname,
        'mandantenNr': mandantenNr,
        'bearbeiterkennzeichen': bearbeiterkennzeichen
    };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
    * Die Emailadresse (optional) des Unternehmers.
    */
    // @ApiMember(Description="Die Emailadresse (optional) des Unternehmers.", Name="Email")
    String? email;

    Unternehmer({this.bezeichnung,this.name,this.vorname,this.namensvorsatz,this.namenszusatz,this.str,this.hausnummer,this.hNrZusatz,this.anschriftenZusatz,this.ort,this.plz,this.auslandsPLZ,this.land,this.postfachOrt,this.postfach,this.postfachPLZ,this.gkplz,this.telefon,this.email});
    Unternehmer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bezeichnung = json['bezeichnung'];
        name = json['name'];
        vorname = json['vorname'];
        namensvorsatz = json['namensvorsatz'];
        namenszusatz = json['namenszusatz'];
        str = json['str'];
        hausnummer = json['hausnummer'];
        hNrZusatz = json['hNrZusatz'];
        anschriftenZusatz = json['anschriftenZusatz'];
        ort = json['ort'];
        plz = json['plz'];
        auslandsPLZ = json['auslandsPLZ'];
        land = json['land'];
        postfachOrt = json['postfachOrt'];
        postfach = json['postfach'];
        postfachPLZ = json['postfachPLZ'];
        gkplz = json['gkplz'];
        telefon = json['telefon'];
        email = json['email'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bezeichnung': bezeichnung,
        'name': name,
        'vorname': vorname,
        'namensvorsatz': namensvorsatz,
        'namenszusatz': namenszusatz,
        'str': str,
        'hausnummer': hausnummer,
        'hNrZusatz': hNrZusatz,
        'anschriftenZusatz': anschriftenZusatz,
        'ort': ort,
        'plz': plz,
        'auslandsPLZ': auslandsPLZ,
        'land': land,
        'postfachOrt': postfachOrt,
        'postfach': postfach,
        'postfachPLZ': postfachPLZ,
        'gkplz': gkplz,
        'telefon': telefon,
        'email': email
    };

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

/**
* reate XML content that represents a VAT registration (Umsatzsteueranmeldung) for 2019.
*/
// @Api(Description="reate XML content that represents a VAT registration (Umsatzsteueranmeldung) for 2019.")
abstract class CreateUmsatzsteueranmeldung2019XmlBase implements IPost
{
    /**
    * Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).
    */
    // @ApiMember(Description="Natürliche Person, welche die Software bedient, bzw. in deren Namen die Software bedient wird, um die Daten zu übersenden (Natural person who operates the software or under whose name the software is operated in order to transmit the data).", IsRequired=true, Name="DatenLieferant")
    DatenLieferant? datenLieferant;

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

    /**
    * Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).
    */
    // @ApiMember(Description="Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).", Name="Berater")
    Berater? berater;

    /**
    * Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).
    */
    // @ApiMember(Description="Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).", Name="Mandant")
    Mandant? mandant;

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

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

    CreateUmsatzsteueranmeldung2019XmlBase({this.datenLieferant,this.erstellungsdatum,this.berater,this.mandant,this.unternehmer,this.bundesfinanzamtsnummer});
    CreateUmsatzsteueranmeldung2019XmlBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        datenLieferant = JsonConverters.fromJson(json['datenLieferant'],'DatenLieferant',context!);
        erstellungsdatum = JsonConverters.fromJson(json['erstellungsdatum'],'DateTime',context!);
        berater = JsonConverters.fromJson(json['berater'],'Berater',context!);
        mandant = JsonConverters.fromJson(json['mandant'],'Mandant',context!);
        unternehmer = JsonConverters.fromJson(json['unternehmer'],'Unternehmer',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'datenLieferant': JsonConverters.toJson(datenLieferant,'DatenLieferant',context!),
        'erstellungsdatum': JsonConverters.toJson(erstellungsdatum,'DateTime',context!),
        'berater': JsonConverters.toJson(berater,'Berater',context!),
        'mandant': JsonConverters.toJson(mandant,'Mandant',context!),
        'unternehmer': JsonConverters.toJson(unternehmer,'Unternehmer',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer
    };

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

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

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

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

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

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

    /**
    * Der Name des Mandanten. Der Name des Mandanten kann von 0- bis 85-stellig sein.
    */
    // @ApiMember(Description="Der Name des Mandanten. Der Name des Mandanten kann von 0- bis 85-stellig sein.", Name="MandantName")
    String? mandantName;

    Kz09({this.herstellerId,this.beraterName,this.berufsbezeichnung,this.beraterTelNrVorwahl,this.beraterTelNrAnschluss,this.mandantName});
    Kz09.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        herstellerId = json['herstellerId'];
        beraterName = json['beraterName'];
        berufsbezeichnung = json['berufsbezeichnung'];
        beraterTelNrVorwahl = json['beraterTelNrVorwahl'];
        beraterTelNrAnschluss = json['beraterTelNrAnschluss'];
        mandantName = json['mandantName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'herstellerId': herstellerId,
        'beraterName': beraterName,
        'berufsbezeichnung': berufsbezeichnung,
        'beraterTelNrVorwahl': beraterTelNrVorwahl,
        'beraterTelNrAnschluss': beraterTelNrAnschluss,
        'mandantName': mandantName
    };

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

/**
* Specifies an integer data type with limits and a specialized string representation
*/
// @Api(Description="Specifies an integer data type with limits and a specialized string representation")
abstract class Ganzzahl
{
    /**
    * The intrinsic integer value.
    */
    // @ApiMember(Description="The intrinsic integer value.")
    int? wert;

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

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

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

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

/**
* Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.
*/
// @Api(Description="Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.")
class Ganzzahl1EN extends Ganzzahl implements IConvertible
{
    /**
    * The intrinsic integer value.
    */
    // @ApiMember(Description="The intrinsic integer value.")
    int? wert;

    Ganzzahl1EN({this.wert});
    Ganzzahl1EN.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() => "Ganzzahl1EN";
    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 unsigned amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign NOT allowed.
*/
// @Api(Description="Represents an unsigned amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign NOT allowed.")
class PositiverGeldBetragOhneCent13EN extends GrossGeldBetragOhneCent implements IConvertible
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    int? wert;

    PositiverGeldBetragOhneCent13EN({this.wert});
    PositiverGeldBetragOhneCent13EN.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() => "PositiverGeldBetragOhneCent13EN";
    TypeContext? context = _ctx;
}

/**
* Anmeldung der Sondervorauszahlung für die Umsatzsteuer 2019 (Filing of the special advance payment for VAT 2019).
*/
// @Api(Description="Anmeldung der Sondervorauszahlung für die Umsatzsteuer 2019 (Filing of the special advance payment for VAT 2019).")
class Umsatzsteuersondervorauszahlung2019 implements IConvertible
{
    /**
    * Das Jahr der Veranlagung.
    */
    // @ApiMember(Description="Das Jahr der Veranlagung.")
    int? jahr;

    /**
    * Steuernummer.
    */
    // @ApiMember(Description="Steuernummer.")
    String? steuernummer;

    /**
    * Pflichtkennzahl, welche die Angabe diverser Informationen ermöglicht.
    */
    // @ApiMember(Description="Pflichtkennzahl, welche die Angabe diverser Informationen ermöglicht.")
    Kz09? kz09;

    /**
    * Berichtigte Anmeldung
    */
    // @ApiMember(Description="Berichtigte Anmeldung")
    Ganzzahl1EN? kz10;

    /**
    * Über die Angaben in der Steueranmeldung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen (falls ja, bitte eine 1 eintragen)
    */
    // @ApiMember(Description="Über die Angaben in der Steueranmeldung hinaus sind weitere oder abweichende Angaben oder Sachverhalte zu berücksichtigen (falls ja, bitte eine 1 eintragen)")
    Ganzzahl1EN? kz23;

    /**
    * Ergänzende Angaben zur Steueranmeldung
    */
    // @ApiMember(Description="Ergänzende Angaben zur Steueranmeldung")
    String? kz23_Begruendung;

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

    /**
    * Verrechnung des Erstattungsbetrags erwünscht / Erstattungsbetrag ist abgetreten (falls ja, bitte eine 1 eintragen).
    */
    // @ApiMember(Description="Verrechnung des Erstattungsbetrags erwünscht / Erstattungsbetrag ist abgetreten (falls ja, bitte eine 1 eintragen).")
    Ganzzahl1EN? kz29;

    /**
    * Summe der verbleibenden Umsatzsteuer-Vorauszahlungen zuzüglich der zu berücksichtigenden Sondervorauszahlung für das Kalenderjahr 2017; davon 1/11 = Sondervorauszahlung 2019.
    */
    // @ApiMember(Description="Summe der verbleibenden Umsatzsteuer-Vorauszahlungen zuzüglich der zu berücksichtigenden Sondervorauszahlung für das Kalenderjahr 2017; davon 1/11 = Sondervorauszahlung 2019.")
    PositiverGeldBetragOhneCent13EN? kz38;

    Umsatzsteuersondervorauszahlung2019({this.jahr,this.steuernummer,this.kz09,this.kz10,this.kz23,this.kz23_Begruendung,this.kz26,this.kz29,this.kz38});
    Umsatzsteuersondervorauszahlung2019.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        jahr = json['jahr'];
        steuernummer = json['steuernummer'];
        kz09 = JsonConverters.fromJson(json['kz09'],'Kz09',context!);
        kz10 = JsonConverters.fromJson(json['kz10'],'Ganzzahl1EN',context!);
        kz23 = JsonConverters.fromJson(json['kz23'],'Ganzzahl1EN',context!);
        kz23_Begruendung = json['kz23_Begruendung'];
        kz26 = JsonConverters.fromJson(json['kz26'],'Ganzzahl1EN',context!);
        kz29 = JsonConverters.fromJson(json['kz29'],'Ganzzahl1EN',context!);
        kz38 = JsonConverters.fromJson(json['kz38'],'PositiverGeldBetragOhneCent13EN',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'jahr': jahr,
        'steuernummer': steuernummer,
        'kz09': JsonConverters.toJson(kz09,'Kz09',context!),
        'kz10': JsonConverters.toJson(kz10,'Ganzzahl1EN',context!),
        'kz23': JsonConverters.toJson(kz23,'Ganzzahl1EN',context!),
        'kz23_Begruendung': kz23_Begruendung,
        'kz26': JsonConverters.toJson(kz26,'Ganzzahl1EN',context!),
        'kz29': JsonConverters.toJson(kz29,'Ganzzahl1EN',context!),
        'kz38': JsonConverters.toJson(kz38,'PositiverGeldBetragOhneCent13EN',context!)
    };

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

/**
* Create XML content that represents the filing of the special advance payment for VAT (Umsatzsteuersondervorauszahlung) for 2019.
*/
// @Api(Description="Create XML content that represents the filing of the special advance payment for VAT (Umsatzsteuersondervorauszahlung) for 2019.")
abstract class CreateUmsatzsteuersondervorauszahlung2019XmlBase extends CreateUmsatzsteueranmeldung2019XmlBase
{
    /**
    * The filing of the special advance payment for VAT
    */
    // @ApiMember(Description="The filing of the special advance payment for VAT", IsRequired=true, Name="Umsatzsteuersondervorauszahlung")
    Umsatzsteuersondervorauszahlung2019? umsatzsteuersondervorauszahlung;

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

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

    /**
    * Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).
    */
    // @ApiMember(Description="Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).", Name="Berater")
    Berater? berater;

    /**
    * Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).
    */
    // @ApiMember(Description="Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).", Name="Mandant")
    Mandant? mandant;

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

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

    CreateUmsatzsteuersondervorauszahlung2019XmlBase({this.umsatzsteuersondervorauszahlung,this.datenLieferant,this.erstellungsdatum,this.berater,this.mandant,this.unternehmer,this.bundesfinanzamtsnummer});
    CreateUmsatzsteuersondervorauszahlung2019XmlBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        umsatzsteuersondervorauszahlung = JsonConverters.fromJson(json['umsatzsteuersondervorauszahlung'],'Umsatzsteuersondervorauszahlung2019',context!);
        datenLieferant = JsonConverters.fromJson(json['datenLieferant'],'DatenLieferant',context!);
        erstellungsdatum = JsonConverters.fromJson(json['erstellungsdatum'],'DateTime',context!);
        berater = JsonConverters.fromJson(json['berater'],'Berater',context!);
        mandant = JsonConverters.fromJson(json['mandant'],'Mandant',context!);
        unternehmer = JsonConverters.fromJson(json['unternehmer'],'Unternehmer',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'umsatzsteuersondervorauszahlung': JsonConverters.toJson(umsatzsteuersondervorauszahlung,'Umsatzsteuersondervorauszahlung2019',context!),
        'datenLieferant': JsonConverters.toJson(datenLieferant,'DatenLieferant',context!),
        'erstellungsdatum': JsonConverters.toJson(erstellungsdatum,'DateTime',context!),
        'berater': JsonConverters.toJson(berater,'Berater',context!),
        'mandant': JsonConverters.toJson(mandant,'Mandant',context!),
        'unternehmer': JsonConverters.toJson(unternehmer,'Unternehmer',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer
    });

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

/**
* An asynchronous service to create xml content that represents the filing of the special advance payment for VAT (Umsatzsteuer-Sondervorauszahlung) for 2019.
*/
// @Api(Description="An asynchronous service to create xml content that represents the filing of the special advance payment for VAT (Umsatzsteuer-Sondervorauszahlung) for 2019.")
class CreateUmsatzsteuersondervorauszahlung2019XmlAsync extends CreateUmsatzsteuersondervorauszahlung2019XmlBase implements IConvertible
{
    /**
    * The filing of the special advance payment for VAT
    */
    // @ApiMember(Description="The filing of the special advance payment for VAT", IsRequired=true, Name="Umsatzsteuersondervorauszahlung")
    Umsatzsteuersondervorauszahlung2019? umsatzsteuersondervorauszahlung;

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

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

    /**
    * Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).
    */
    // @ApiMember(Description="Der Steuerberater, der den Steuerfall bearbeitet und abgibt (The tax adviser who processes and submits the tax case).", Name="Berater")
    Berater? berater;

    /**
    * Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).
    */
    // @ApiMember(Description="Der Mandant, für den der Steuerfall bearbeitet wird (The client for which the tax case is being processed).", Name="Mandant")
    Mandant? mandant;

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

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

    CreateUmsatzsteuersondervorauszahlung2019XmlAsync({this.umsatzsteuersondervorauszahlung,this.datenLieferant,this.erstellungsdatum,this.berater,this.mandant,this.unternehmer,this.bundesfinanzamtsnummer});
    CreateUmsatzsteuersondervorauszahlung2019XmlAsync.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        umsatzsteuersondervorauszahlung = JsonConverters.fromJson(json['umsatzsteuersondervorauszahlung'],'Umsatzsteuersondervorauszahlung2019',context!);
        datenLieferant = JsonConverters.fromJson(json['datenLieferant'],'DatenLieferant',context!);
        erstellungsdatum = JsonConverters.fromJson(json['erstellungsdatum'],'DateTime',context!);
        berater = JsonConverters.fromJson(json['berater'],'Berater',context!);
        mandant = JsonConverters.fromJson(json['mandant'],'Mandant',context!);
        unternehmer = JsonConverters.fromJson(json['unternehmer'],'Unternehmer',context!);
        bundesfinanzamtsnummer = json['bundesfinanzamtsnummer'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'umsatzsteuersondervorauszahlung': JsonConverters.toJson(umsatzsteuersondervorauszahlung,'Umsatzsteuersondervorauszahlung2019',context!),
        'datenLieferant': JsonConverters.toJson(datenLieferant,'DatenLieferant',context!),
        'erstellungsdatum': JsonConverters.toJson(erstellungsdatum,'DateTime',context!),
        'berater': JsonConverters.toJson(berater,'Berater',context!),
        'mandant': JsonConverters.toJson(mandant,'Mandant',context!),
        'unternehmer': JsonConverters.toJson(unternehmer,'Unternehmer',context!),
        'bundesfinanzamtsnummer': bundesfinanzamtsnummer
    });

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

TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: <String, TypeInfo> {
    'DatenLieferant': TypeInfo(TypeOf.Class, create:() => DatenLieferant()),
    'Berater': TypeInfo(TypeOf.Class, create:() => Berater()),
    'Mandant': TypeInfo(TypeOf.Class, create:() => Mandant()),
    'Unternehmer': TypeInfo(TypeOf.Class, create:() => Unternehmer()),
    'CreateUmsatzsteueranmeldung2019XmlBase': TypeInfo(TypeOf.AbstractClass),
    'Kz09': TypeInfo(TypeOf.Class, create:() => Kz09()),
    'Ganzzahl': TypeInfo(TypeOf.AbstractClass),
    'Ganzzahl1EN': TypeInfo(TypeOf.Class, create:() => Ganzzahl1EN()),
    'GrossGeldBetragOhneCent': TypeInfo(TypeOf.AbstractClass),
    'PositiverGeldBetragOhneCent13EN': TypeInfo(TypeOf.Class, create:() => PositiverGeldBetragOhneCent13EN()),
    'Umsatzsteuersondervorauszahlung2019': TypeInfo(TypeOf.Class, create:() => Umsatzsteuersondervorauszahlung2019()),
    'CreateUmsatzsteuersondervorauszahlung2019XmlBase': TypeInfo(TypeOf.AbstractClass),
    'XmlResponse': TypeInfo(TypeOf.Class, create:() => XmlResponse()),
    'CreateUmsatzsteuersondervorauszahlung2019XmlAsync': TypeInfo(TypeOf.Class, create:() => CreateUmsatzsteuersondervorauszahlung2019XmlAsync()),
});

Dart CreateUmsatzsteuersondervorauszahlung2019XmlAsync DTOs

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

HTTP + CSV

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

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

{"umsatzsteuersondervorauszahlung":{"jahr":0,"steuernummer":"String","kz09":{"herstellerId":0,"beraterName":"String","berufsbezeichnung":"String","beraterTelNrVorwahl":"String","beraterTelNrAnschluss":"String","mandantName":"String"},"kz10":{"wert":0},"kz23":{"wert":0},"kz23_Begruendung":"String","kz26":{"wert":0},"kz29":{"wert":0},"kz38":{"wert":0}},"datenLieferant":{"name":"String","strasse":"String","plz":"String","ort":"String","telefon":"String","email":"String"},"erstellungsdatum":"\/Date(-62135596800000-0000)\/","berater":{"bezeichnung":"String","name":"String","vorname":"String","namensvorsatz":"String","namenszusatz":"String","str":"String","hausnummer":"String","hNrZusatz":"String","anschriftenZusatz":"String","ort":"String","plz":"String","auslandsPLZ":"String","land":"String","postfachOrt":"String","postfach":"String","postfachPLZ":"String","gkplz":"String","telefon":"String","email":"String"},"mandant":{"name":"String","vorname":"String","mandantenNr":"String","bearbeiterkennzeichen":"String"},"unternehmer":{"bezeichnung":"String","name":"String","vorname":"String","namensvorsatz":"String","namenszusatz":"String","str":"String","hausnummer":"String","hNrZusatz":"String","anschriftenZusatz":"String","ort":"String","plz":"String","auslandsPLZ":"String","land":"String","postfachOrt":"String","postfach":"String","postfachPLZ":"String","gkplz":"String","telefon":"String","email":"String"},"bundesfinanzamtsnummer":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}