Tax Filing Service

<back to all web services

CreateUmsatzsteuervoranmeldung2020XmlAsync

AsyncUmsatzsteuerVoranmeldung2020

An asynchronous service to create xml content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020.

Requires Authentication
The following routes are available for this service:
POST/CreateUmsatzsteuervoranmeldung2020XmlAsyncAn asynchronous service to create xml content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020
import Foundation
import ServiceStack

/**
* An asynchronous service to create xml content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020.
*/
// @Api(Description="An asynchronous service to create xml content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020.")
public class CreateUmsatzsteuervoranmeldung2020XmlAsync : CreateUmsatzsteuervoranmeldung2020XmlBase
{
    /**
    * Die Umsatzsteuervoranmeldung (The preliminary VAT return).
    */
    // @ApiMember(Description="Die Umsatzsteuervoranmeldung (The preliminary VAT return).", IsRequired=true, Name="Umsatzsteuervoranmeldung")
    public var umsatzsteuervoranmeldung:Umsatzsteuervoranmeldung2020

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

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

    /**
    * 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")
    public var 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")
    public var 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")
    public var 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")
    public var bundesfinanzamtsnummer:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case umsatzsteuervoranmeldung
        case datenLieferant
        case erstellungsdatum
        case berater
        case mandant
        case unternehmer
        case bundesfinanzamtsnummer
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        umsatzsteuervoranmeldung = try container.decodeIfPresent(Umsatzsteuervoranmeldung2020.self, forKey: .umsatzsteuervoranmeldung)
        datenLieferant = try container.decodeIfPresent(DatenLieferant.self, forKey: .datenLieferant)
        erstellungsdatum = try container.decodeIfPresent(Date.self, forKey: .erstellungsdatum)
        berater = try container.decodeIfPresent(Berater.self, forKey: .berater)
        mandant = try container.decodeIfPresent(Mandant.self, forKey: .mandant)
        unternehmer = try container.decodeIfPresent(Unternehmer.self, forKey: .unternehmer)
        bundesfinanzamtsnummer = try container.decodeIfPresent(String.self, forKey: .bundesfinanzamtsnummer)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if umsatzsteuervoranmeldung != nil { try container.encode(umsatzsteuervoranmeldung, forKey: .umsatzsteuervoranmeldung) }
        if datenLieferant != nil { try container.encode(datenLieferant, forKey: .datenLieferant) }
        if erstellungsdatum != nil { try container.encode(erstellungsdatum, forKey: .erstellungsdatum) }
        if berater != nil { try container.encode(berater, forKey: .berater) }
        if mandant != nil { try container.encode(mandant, forKey: .mandant) }
        if unternehmer != nil { try container.encode(unternehmer, forKey: .unternehmer) }
        if bundesfinanzamtsnummer != nil { try container.encode(bundesfinanzamtsnummer, forKey: .bundesfinanzamtsnummer) }
    }
}

/**
* Create XML content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020.
*/
// @Api(Description="Create XML content that represents the preliminary VAT return (Umsatzsteuervoranmeldung) for 2020.")
public class CreateUmsatzsteuervoranmeldung2020XmlBase : CreateUmsatzsteueranmeldung2020XmlBase
{
    /**
    * Die Umsatzsteuervoranmeldung (The preliminary VAT return).
    */
    // @ApiMember(Description="Die Umsatzsteuervoranmeldung (The preliminary VAT return).", IsRequired=true, Name="Umsatzsteuervoranmeldung")
    public var umsatzsteuervoranmeldung:Umsatzsteuervoranmeldung2020

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

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

    /**
    * 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")
    public var 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")
    public var 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")
    public var 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")
    public var bundesfinanzamtsnummer:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case umsatzsteuervoranmeldung
        case datenLieferant
        case erstellungsdatum
        case berater
        case mandant
        case unternehmer
        case bundesfinanzamtsnummer
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        umsatzsteuervoranmeldung = try container.decodeIfPresent(Umsatzsteuervoranmeldung2020.self, forKey: .umsatzsteuervoranmeldung)
        datenLieferant = try container.decodeIfPresent(DatenLieferant.self, forKey: .datenLieferant)
        erstellungsdatum = try container.decodeIfPresent(Date.self, forKey: .erstellungsdatum)
        berater = try container.decodeIfPresent(Berater.self, forKey: .berater)
        mandant = try container.decodeIfPresent(Mandant.self, forKey: .mandant)
        unternehmer = try container.decodeIfPresent(Unternehmer.self, forKey: .unternehmer)
        bundesfinanzamtsnummer = try container.decodeIfPresent(String.self, forKey: .bundesfinanzamtsnummer)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if umsatzsteuervoranmeldung != nil { try container.encode(umsatzsteuervoranmeldung, forKey: .umsatzsteuervoranmeldung) }
        if datenLieferant != nil { try container.encode(datenLieferant, forKey: .datenLieferant) }
        if erstellungsdatum != nil { try container.encode(erstellungsdatum, forKey: .erstellungsdatum) }
        if berater != nil { try container.encode(berater, forKey: .berater) }
        if mandant != nil { try container.encode(mandant, forKey: .mandant) }
        if unternehmer != nil { try container.encode(unternehmer, forKey: .unternehmer) }
        if bundesfinanzamtsnummer != nil { try container.encode(bundesfinanzamtsnummer, forKey: .bundesfinanzamtsnummer) }
    }
}

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

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

    /**
    * 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")
    public var 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")
    public var 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")
    public var 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")
    public var bundesfinanzamtsnummer:String

    required public init(){}
}

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

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

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

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

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

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

    required public init(){}
}

/**
* Stellt einen Steuerberater dar.
*/
// @Api(Description="Stellt einen Steuerberater dar.")
public class Berater : Codable
{
    /**
    * 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")
    public var bezeichnung:String

    /**
    * Der Name (optional) des Beraters.
    */
    // @ApiMember(Description="Der Name (optional) des Beraters.", Name="Name")
    public var name:String

    /**
    * Der Vorname (optional) des Beraters.
    */
    // @ApiMember(Description="Der Vorname (optional) des Beraters.", Name="Vorname")
    public var vorname:String

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

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

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

    /**
    * Die Hausnummer (optional) des Beraters.
    */
    // @ApiMember(Description="Die Hausnummer (optional) des Beraters.", Name="Hausnummer")
    public var hausnummer:String

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

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

    /**
    * Der Ort (optional) des Beraters.
    */
    // @ApiMember(Description="Der Ort (optional) des Beraters.", Name="Ort")
    public var ort:String

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

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

    /**
    * 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")
    public var land:String

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

    /**
    * Das Postfach (optional) des Beraters.
    */
    // @ApiMember(Description="Das Postfach (optional) des Beraters.", Name="Postfach")
    public var postfach:String

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

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

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

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

    required public init(){}
}

/**
* Stellt einen Mandant dar.
*/
// @Api(Description="Stellt einen Mandant dar.")
public class Mandant : Codable
{
    /**
    * Der Name (optional) des Mandanten.
    */
    // @ApiMember(Description="Der Name (optional) des Mandanten.", Name="Name")
    public var name:String

    /**
    * Der Vorname (optional) des Mandanten.
    */
    // @ApiMember(Description="Der Vorname (optional) des Mandanten.", Name="Vorname")
    public var vorname:String

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

    /**
    * Das Bearbeiterkennzeichen (optional) des Mandanten.
    */
    // @ApiMember(Description="Das Bearbeiterkennzeichen (optional) des Mandanten.", Name="Bearbeiterkennzeichen")
    public var bearbeiterkennzeichen:String

    required public init(){}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    required public init(){}
}

/**
* Umsatzsteuervoranmeldung für 2020 (Preliminary VAT declaration for 2020).
*/
// @Api(Description="Umsatzsteuervoranmeldung für 2020 (Preliminary VAT declaration for 2020).")
public class Umsatzsteuervoranmeldung2020 : Codable
{
    /**
    * Das Jahr der Veranlagung.
    */
    // @ApiMember(Description="Das Jahr der Veranlagung.", IsRequired=true, Name="Jahr")
    public var jahr:Int

    /**
    * Anmeldungszeitraum.
    */
    // @ApiMember(Description="Anmeldungszeitraum.", IsRequired=true, Name="Zeitraum")
    public var zeitraum:AnmeldungZeitraum?

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

    /**
    * Pflichtkennzahl, welche die Angabe diverser Informationen ermöglicht.
    */
    // @ApiMember(Description="Pflichtkennzahl, welche die Angabe diverser Informationen ermöglicht.", Name="Kz09")
    public var kz09:Kz09

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

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

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

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

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

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

    /**
    * 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).", Name="Kz29")
    public var kz29:Ganzzahl1EN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
    * Erwerbe nach §§ 4b und 25c UStG
    */
    // @ApiMember(Description="Erwerbe nach §§ 4b und 25c UStG", Name="Kz91")
    public var kz91:GeldBetragOhneCent13EN

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

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

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

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

    /**
    * zu anderen Steuersätzen (Steuer)
    */
    // @ApiMember(Description="zu anderen Steuersätzen (Steuer)", Name="Kz98")
    public var kz98:GeldBetragMitCent11EN

    required public init(){}
}

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

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

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

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

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

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

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

    required public init(){}
}

/**
* Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.
*/
// @Api(Description="Represents an integer data type whose value has a maximum length of 1 digit. Minus sign allowed.")
public class Ganzzahl1EN : Ganzzahl
{
    /**
    * The intrinsic integer value.
    */
    // @ApiMember(Description="The intrinsic integer value.")
    public var wert:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case wert
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        wert = try container.decodeIfPresent(Int.self, forKey: .wert)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if wert != nil { try container.encode(wert, forKey: .wert) }
    }
}

/**
* Specifies an integer data type with limits and a specialized string representation
*/
// @Api(Description="Specifies an integer data type with limits and a specialized string representation")
public class Ganzzahl : Codable
{
    /**
    * The intrinsic integer value.
    */
    // @ApiMember(Description="The intrinsic integer value.")
    public var wert:Int

    required public init(){}
}

/**
* Represents an amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign allowed.
*/
// @Api(Description="Represents an amount of money without cents whose value has a maximum length of 13 digits. That is, 1 to 13 digits. Minus sign allowed.")
public class GeldBetragOhneCent13EN : GrossGeldBetragOhneCent
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    public var wert:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case wert
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        wert = try container.decodeIfPresent(Int.self, forKey: .wert)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if wert != nil { try container.encode(wert, forKey: .wert) }
    }
}

/**
* Specifies an amount of money without cents with limits and a specialized string representation
*/
// @Api(Description="Specifies an amount of money without cents with limits and a specialized string representation")
public class GrossGeldBetragOhneCent : Codable
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    public var wert:Int

    required public init(){}
}

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

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case wert
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        wert = try container.decodeIfPresent(Double.self, forKey: .wert)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if wert != nil { try container.encode(wert, forKey: .wert) }
    }
}

/**
* Specifies an amount of money with cents with limits and a specialized string representation
*/
// @Api(Description="Specifies an amount of money with cents with limits and a specialized string representation")
public class GeldBetragMitCent : Codable
{
    /**
    * The intrinsic currency value.
    */
    // @ApiMember(Description="The intrinsic currency value.")
    public var wert:Double

    required public init(){}
}

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

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case wert
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        wert = try container.decodeIfPresent(Double.self, forKey: .wert)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if wert != nil { try container.encode(wert, forKey: .wert) }
    }
}

/**
* Represents the response from a service that generates XML content.
*/
// @Api(Description="Represents the response from a service that generates XML content.")
public class XmlResponse : Codable
{
    /**
    * The XML-based content of the response.
    */
    // @ApiMember(Description="The XML-based content of the response.")
    public var content:String

    /**
    * Metadata that contains structured error information on the XML response.
    */
    // @ApiMember(Description="Metadata that contains structured error information on the XML response.")
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift CreateUmsatzsteuervoranmeldung2020XmlAsync 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 /CreateUmsatzsteuervoranmeldung2020XmlAsync HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"umsatzsteuervoranmeldung":{"jahr":0,"zeitraum":"0","steuernummer":"String","kz09":{"herstellerId":0,"beraterName":"String","berufsbezeichnung":"String","beraterTelNrVorwahl":"String","beraterTelNrAnschluss":"String","mandantName":"String"},"kz10":{"wert":0},"kz21":{"wert":0},"kz22":{"wert":0},"kz23":{"wert":0},"kz23_Begruendung":"String","kz26":{"wert":0},"kz29":{"wert":0},"kz35":{"wert":0},"kz36":{"wert":0},"kz39":{"wert":0},"kz41":{"wert":0},"kz42":{"wert":0},"kz43":{"wert":0},"kz44":{"wert":0},"kz45":{"wert":0},"kz46":{"wert":0},"kz47":{"wert":0},"kz48":{"wert":0},"kz49":{"wert":0},"kz59":{"wert":0},"kz60":{"wert":0},"kz61":{"wert":0},"kz62":{"wert":0},"kz63":{"wert":0},"kz64":{"wert":0},"kz65":{"wert":0},"kz66":{"wert":0},"kz67":{"wert":0},"kz69":{"wert":0},"kz73":{"wert":0},"kz74":{"wert":0},"kz76":{"wert":0},"kz77":{"wert":0},"kz80":{"wert":0},"kz81":{"wert":0},"kz83":{"wert":0},"kz84":{"wert":0},"kz85":{"wert":0},"kz86":{"wert":0},"kz89":{"wert":0},"kz91":{"wert":0},"kz93":{"wert":0},"kz94":{"wert":0},"kz95":{"wert":0},"kz96":{"wert":0},"kz98":{"wert":0}},"datenLieferant":{"name":"String","strasse":"String","plz":"String","ort":"String","telefon":"String","email":"String"},"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"}}}