Tax Filing Service

<back to all web services

CreateZm2022Xml

SyncUmsatzsteuerZusammenfassende Meldung

A synchronous service to create XML content that represents a recapitulative tax declaration for 2022.

Requires Authentication
The following routes are available for this service:
POST/CreateZm2022XmlA synchronous service to create xml content that represents a recapitulative tax declaration for 2022.
"use strict";
export class Anschrift {
    /** @param {{name?:string,adresszusatz?:string,strasse?:string,hausnr?:string,hausnrzusatz?:string,ort?:string,plz?:string,staat?:string,telefon?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Der Name des Unternehmers. */
    name;
    /**
     * @type {?string}
     * @description Der Adresszusatz des Unternehmers. */
    adresszusatz;
    /**
     * @type {string}
     * @description Der Straßenname des Unternehmers. */
    strasse;
    /**
     * @type {?string}
     * @description Die Hausnummer des Unternehmers. */
    hausnr;
    /**
     * @type {?string}
     * @description Der Hausnummerzusatz des Unternehmers. */
    hausnrzusatz;
    /**
     * @type {string}
     * @description Der Ort des Unternehmers. */
    ort;
    /**
     * @type {?string}
     * @description Die Postleitzahl des Unternehmers. */
    plz;
    /**
     * @type {string}
     * @description Übermittlung des ISO-3166-Alpha-2-Codes des Staates von Unternehmer. */
    staat;
    /**
     * @type {?string}
     * @description Die Telefonummer des Unternehmers. */
    telefon;
}
/** @typedef {'UNGUELTIG'|'EUR'} */
export var Waehrung;
(function (Waehrung) {
    Waehrung["UNGUELTIG"] = "UNGUELTIG"
    Waehrung["EUR"] = "EUR"
})(Waehrung || (Waehrung = {}));
/** @typedef {number} */
export var Meldeart;
(function (Meldeart) {
    Meldeart[Meldeart["Nein"] = 10] = "Nein"
    Meldeart[Meldeart["Ja"] = 11] = "Ja"
})(Meldeart || (Meldeart = {}));
/** @typedef {number} */
export var Quart;
(function (Quart) {
    Quart[Quart["Q1"] = 1] = "Q1"
    Quart[Quart["Q2"] = 2] = "Q2"
    Quart[Quart["Q3"] = 3] = "Q3"
    Quart[Quart["Q4"] = 4] = "Q4"
    Quart[Quart["JM"] = 5] = "JM"
    Quart[Quart["M11"] = 11] = "M11"
    Quart[Quart["M12"] = 12] = "M12"
    Quart[Quart["M13"] = 13] = "M13"
    Quart[Quart["M14"] = 14] = "M14"
    Quart[Quart["M21"] = 21] = "M21"
    Quart[Quart["M22"] = 22] = "M22"
    Quart[Quart["M23"] = 23] = "M23"
    Quart[Quart["M24"] = 24] = "M24"
    Quart[Quart["M25"] = 25] = "M25"
    Quart[Quart["M26"] = 26] = "M26"
    Quart[Quart["M27"] = 27] = "M27"
    Quart[Quart["M28"] = 28] = "M28"
    Quart[Quart["M29"] = 29] = "M29"
    Quart[Quart["M30"] = 30] = "M30"
    Quart[Quart["M31"] = 31] = "M31"
    Quart[Quart["M32"] = 32] = "M32"
})(Quart || (Quart = {}));
export class Mzr {
    /** @param {{quart?:Quart,jahr?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {Quart}
     * @description Quartal */
    quart;
    /**
     * @type {number}
     * @description Die 4-stellige Jahreszahl, welche die Veranlagungszeitraum darstellt. */
    jahr;
}
/** @typedef {'D'|'L'|'S'} */
export var Umsatzart;
(function (Umsatzart) {
    Umsatzart["D"] = "D"
    Umsatzart["L"] = "L"
    Umsatzart["S"] = "S"
})(Umsatzart || (Umsatzart = {}));
export class GrossGeldBetragOhneCent {
    /** @param {{wert?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The intrinsic currency value. */
    wert;
}
export class GeldBetragOhneCent11EN extends GrossGeldBetragOhneCent {
    /** @param {{wert?:number,wert?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {number}
     * @description The intrinsic currency value. */
    wert;
}
export class Zeile {
    /** @param {{umsatzart?:Umsatzart,knre?:string,betrag?:GeldBetragOhneCent11EN}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {Umsatzart}
     * @description Umsatzart */
    umsatzart;
    /**
     * @type {string}
     * @description Umsatzsteuer-Identifikationsnummer des Erwerbers / Unternehmers in einem anderen Mitgliedstaat */
    knre;
    /**
     * @type {GeldBetragOhneCent11EN}
     * @description Summe (Euro) */
    betrag;
}
export class ZmZeilen {
    /** @param {{waehrung?:Waehrung,meldeart?:Meldeart,anzeige?:boolean,widerruf?:boolean,mzr?:Mzr,zeilen?:Zeile[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {Waehrung}
     * @description Währung */
    waehrung;
    /**
     * @type {Meldeart}
     * @description Berichtigte Meldung */
    meldeart;
    /**
     * @type {boolean}
     * @description Die in § 18a Absatz 1 Satz 2 UStG enthaltene Regelung nehme ich nicht in Anspruch.  Ich gebe die Zusammenfassende Meldung künftig monatlich ab. Diese Anzeige bindet mich bis zum Zeitpunkt des Widerrufs, mindestens aber für die Dauer von 12 Kalendermonaten. */
    anzeige;
    /**
     * @type {boolean}
     * @description Widerruf meiner Anzeige nach § 18a Absatz 1 UStG */
    widerruf;
    /**
     * @type {Mzr}
     * @description Meldungszeitraum */
    mzr;
    /**
     * @type {Zeile[]}
     * @description Meldungen der Warenlieferungen */
    zeilen;
}
export class CreateZm2022XmlBase {
    /** @param {{knri?:string,anschrift?:Anschrift,zmZeilen?:ZmZeilen,datenLieferant?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern. */
    knri;
    /**
     * @type {Anschrift}
     * @description Angaben zum Unternehmer */
    anschrift;
    /**
     * @type {ZmZeilen}
     * @description Allgemeine Daten */
    zmZeilen;
    /**
     * @type {string}
     * @description The details of the provider that submits the tax data. */
    datenLieferant;
}
export class XmlResponse {
    /** @param {{content?:string,responseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description The XML-based content of the response. */
    content;
    /**
     * @type {?ResponseStatus}
     * @description Metadata that contains structured error information on the XML response. */
    responseStatus;
}
export class CreateZm2022Xml extends CreateZm2022XmlBase {
    /** @param {{knri?:string,anschrift?:Anschrift,zmZeilen?:ZmZeilen,datenLieferant?:string,knri?:string,anschrift?:Anschrift,zmZeilen?:ZmZeilen,datenLieferant?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern. */
    knri;
    /**
     * @type {Anschrift}
     * @description Angaben zum Unternehmer */
    anschrift;
    /**
     * @type {ZmZeilen}
     * @description Allgemeine Daten */
    zmZeilen;
    /**
     * @type {string}
     * @description The details of the provider that submits the tax data. */
    datenLieferant;
}

JavaScript CreateZm2022Xml DTOs

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

HTTP + XML

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

POST /CreateZm2022Xml HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateZm2022Xml xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Umsatzsteuer.Requests">
  <Anschrift>
    <name>String</name>
    <adresszusatz>String</adresszusatz>
    <strasse>String</strasse>
    <hausnr>String</hausnr>
    <plz>String</plz>
    <ort>String</ort>
    <staat>String</staat>
    <telefon>String</telefon>
  </Anschrift>
  <DatenLieferant>String</DatenLieferant>
  <Knri>String</Knri>
  <ZmZeilen waehrung="0" meldeart="10">
    <anzeige>false</anzeige>
    <widerruf>false</widerruf>
    <mzr>
      <quart>1</quart>
      <jahr>0</jahr>
    </mzr>
    <zeile umsatzart="D">
      <knre>String</knre>
      <betrag>0</betrag>
    </zeile>
  </ZmZeilen>
</CreateZm2022Xml>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<XmlResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">
  <Content>String</Content>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</XmlResponse>