POST | /CreateZm2018Xml | A synchronous service to create xml content that represents a recapitulative tax declaration for 2018. |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports PwC.xEric.Core.Services.Contracts.Umsatzsteuer.Requests
Imports PwC.xEric.Core.Domain.Concretes.Umsatzsteuer.Anmeldungen
Imports PwC.xEric.Core.Domain.Concretes.Models
Imports PwC.xEric.Core.Services.Contracts.Responses
Namespace Global
Namespace PwC.xEric.Core.Domain.Concretes.Models
'''<Summary>
'''Represents an amount of money without cents whose value has a maximum length of 11 digits. That is, 1 to 11 digits. Minus sign allowed.
'''</Summary>
<Api(Description:="Represents an amount of money without cents whose value has a maximum length of 11 digits. That is, 1 to 11 digits. Minus sign allowed.")>
Public Partial Class GeldBetragOhneCent11EN
Inherits GrossGeldBetragOhneCent
'''<Summary>
'''The intrinsic currency value.
'''</Summary>
<ApiMember(Description:="The intrinsic currency value.")>
Public Overridable Property Wert As Long
End Class
'''<Summary>
'''Specifies an amount of money without cents with limits and a specialized string representation
'''</Summary>
<Api(Description:="Specifies an amount of money without cents with limits and a specialized string representation")>
Public Partial Class GrossGeldBetragOhneCent
'''<Summary>
'''The intrinsic currency value.
'''</Summary>
<ApiMember(Description:="The intrinsic currency value.")>
Public Overridable Property Wert As Long
End Class
End Namespace
Namespace PwC.xEric.Core.Domain.Concretes.Umsatzsteuer.Anmeldungen
'''<Summary>
'''Angaben zum Unternehmen
'''</Summary>
<Api(Description:="Angaben zum Unternehmen")>
Public Partial Class Anschrift
'''<Summary>
'''Der Name des Unternehmers.
'''</Summary>
<ApiMember(Description:="Der Name des Unternehmers.", IsRequired:=true, Name:="Name")>
Public Overridable Property Name As String
'''<Summary>
'''Der Adresszusatz des Unternehmers.
'''</Summary>
<ApiMember(Description:="Der Adresszusatz des Unternehmers.", Name:="Adresszusatz")>
Public Overridable Property Adresszusatz As String
'''<Summary>
'''Der Straßenname des Unternehmers.
'''</Summary>
<ApiMember(Description:="Der Straßenname des Unternehmers.", IsRequired:=true, Name:="Strasse")>
Public Overridable Property Strasse As String
'''<Summary>
'''Die Hausnummer des Unternehmers.
'''</Summary>
<ApiMember(Description:="Die Hausnummer des Unternehmers.", Name:="Hausnr")>
Public Overridable Property Hausnr As String
'''<Summary>
'''Der Hausnummerzusatz des Unternehmers.
'''</Summary>
<ApiMember(Description:="Der Hausnummerzusatz des Unternehmers.", Name:="Hausnrzusatz")>
Public Overridable Property Hausnrzusatz As String
'''<Summary>
'''Der Ort des Unternehmers.
'''</Summary>
<ApiMember(Description:="Der Ort des Unternehmers.", IsRequired:=true, Name:="Ort")>
Public Overridable Property Ort As String
'''<Summary>
'''Die Postleitzahl des Unternehmers.
'''</Summary>
<ApiMember(Description:="Die Postleitzahl des Unternehmers.", Name:="PLZ")>
Public Overridable Property PLZ As String
'''<Summary>
'''Übermittlung des ISO-3166-Alpha-2-Codes des Staates von Unternehmer.
'''</Summary>
<ApiMember(Description:="Übermittlung des ISO-3166-Alpha-2-Codes des Staates von Unternehmer.", IsRequired:=true, Name:="Staat")>
Public Overridable Property Staat As String
'''<Summary>
'''Die Telefonummer des Unternehmers.
'''</Summary>
<ApiMember(Description:="Die Telefonummer des Unternehmers.", Name:="Telefon")>
Public Overridable Property Telefon As String
End Class
'''<Summary>
'''Art der Meldung
'''</Summary>
Public Enum Meldeart
Nein = 10
Ja = 11
End Enum
'''<Summary>
'''Meldungszeitraum
'''</Summary>
<Api(Description:="Meldungszeitraum")>
Public Partial Class Mzr
'''<Summary>
'''Quartal
'''</Summary>
<ApiMember(Description:="Quartal", IsRequired:=true, Name:="Quart")>
Public Overridable Property Quart As Quart
'''<Summary>
'''Die 4-stellige Jahreszahl, welche die Veranlagungszeitraum darstellt.
'''</Summary>
<ApiMember(Description:="Die 4-stellige Jahreszahl, welche die Veranlagungszeitraum darstellt.", IsRequired:=true, Name:="Jahr")>
Public Overridable Property Jahr As Integer
End Class
'''<Summary>
'''Die Art des Quartals
'''</Summary>
Public Enum Quart
Q1 = 1
Q2 = 2
Q3 = 3
Q4 = 4
JM = 5
M11 = 11
M12 = 12
M13 = 13
M14 = 14
M21 = 21
M22 = 22
M23 = 23
M24 = 24
M25 = 25
M26 = 26
M27 = 27
M28 = 28
M29 = 29
M30 = 30
M31 = 31
M32 = 32
End Enum
'''<Summary>
'''Die Art des Umsatzes.
'''</Summary>
Public Enum Umsatzart
D
L
S
End Enum
'''<Summary>
'''Die Art der Währung
'''</Summary>
Public Enum Waehrung
UNGUELTIG
EUR
End Enum
'''<Summary>
'''Meldung der Warenlieferungen
'''</Summary>
<Api(Description:="Meldung der Warenlieferungen")>
Public Partial Class Zeile
'''<Summary>
'''Umsatzart
'''</Summary>
<ApiMember(Description:="Umsatzart", IsRequired:=true, Name:="Umsatzart")>
Public Overridable Property Umsatzart As Umsatzart
'''<Summary>
'''Umsatzsteuer-Identifikationsnummer des Erwerbers / Unternehmers in einem anderen Mitgliedstaat
'''</Summary>
<ApiMember(Description:="Umsatzsteuer-Identifikationsnummer des Erwerbers / Unternehmers in einem anderen Mitgliedstaat", IsRequired:=true, Name:="Knre")>
Public Overridable Property Knre As String
'''<Summary>
'''Summe (Euro)
'''</Summary>
<ApiMember(Description:="Summe (Euro)", IsRequired:=true, Name:="Betrag")>
Public Overridable Property Betrag As GeldBetragOhneCent11EN
End Class
'''<Summary>
'''Allgemeine Daten
'''</Summary>
<Api(Description:="Allgemeine Daten")>
Public Partial Class ZmZeilen
Public Sub New()
Zeilen = New List(Of Zeile)
End Sub
'''<Summary>
'''Währung
'''</Summary>
<ApiMember(Description:="Währung", IsRequired:=true, Name:="Waehrung")>
Public Overridable Property Waehrung As Waehrung
'''<Summary>
'''Berichtigte Meldung
'''</Summary>
<ApiMember(Description:="Berichtigte Meldung", IsRequired:=true, Name:="Meldeart")>
Public Overridable Property Meldeart As Meldeart
'''<Summary>
'''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.
'''</Summary>
<ApiMember(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.", IsRequired:=true, Name:="Meldeart")>
Public Overridable Property Anzeige As Boolean
'''<Summary>
'''Widerruf meiner Anzeige nach § 18a Absatz 1 UStG
'''</Summary>
<ApiMember(Description:="Widerruf meiner Anzeige nach § 18a Absatz 1 UStG", IsRequired:=true, Name:="Widerruf")>
Public Overridable Property Widerruf As Boolean
'''<Summary>
'''Meldungszeitraum
'''</Summary>
<ApiMember(Description:="Meldungszeitraum", IsRequired:=true, Name:="Mzr")>
Public Overridable Property Mzr As Mzr
'''<Summary>
'''Meldungen der Warenlieferungen
'''</Summary>
<ApiMember(Description:="Meldungen der Warenlieferungen", IsRequired:=true, Name:="Zeilen")>
Public Overridable Property Zeilen As List(Of Zeile)
End Class
End Namespace
Namespace PwC.xEric.Core.Services.Contracts.Responses
'''<Summary>
'''Represents the response from a service that generates XML content.
'''</Summary>
<Api(Description:="Represents the response from a service that generates XML content.")>
Public Partial Class XmlResponse
'''<Summary>
'''The XML-based content of the response.
'''</Summary>
<ApiMember(Description:="The XML-based content of the response.")>
Public Overridable Property Content As String
'''<Summary>
'''Metadata that contains structured error information on the XML response.
'''</Summary>
<ApiMember(Description:="Metadata that contains structured error information on the XML response.")>
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
Namespace PwC.xEric.Core.Services.Contracts.Umsatzsteuer.Requests
'''<Summary>
'''A synchronous service to create XML content that represents a recapitulative tax declaration for 2018.
'''</Summary>
<Api(Description:="A synchronous service to create XML content that represents a recapitulative tax declaration for 2018.")>
Public Partial Class CreateZm2018Xml
Inherits CreateZm2018XmlBase
'''<Summary>
'''Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.
'''</Summary>
<ApiMember(Description:="Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.", IsRequired:=true)>
Public Overridable Property Knri As String
'''<Summary>
'''Angaben zum Unternehmer
'''</Summary>
<ApiMember(Description:="Angaben zum Unternehmer", IsRequired:=true)>
Public Overridable Property Anschrift As Anschrift
'''<Summary>
'''Allgemeine Daten
'''</Summary>
<ApiMember(Description:="Allgemeine Daten", IsRequired:=true)>
Public Overridable Property ZmZeilen As ZmZeilen
'''<Summary>
'''The details of the provider that submits the tax data.
'''</Summary>
<ApiMember(Description:="The details of the provider that submits the tax data.", IsRequired:=true)>
Public Overridable Property DatenLieferant As String
End Class
'''<Summary>
'''Create XML content that represents a recapitulative tax declaration for 2018.
'''</Summary>
<Api(Description:="Create XML content that represents a recapitulative tax declaration for 2018.")>
Public Partial Class CreateZm2018XmlBase
Implements IPost
'''<Summary>
'''Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.
'''</Summary>
<ApiMember(Description:="Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.", IsRequired:=true)>
Public Overridable Property Knri As String
'''<Summary>
'''Angaben zum Unternehmer
'''</Summary>
<ApiMember(Description:="Angaben zum Unternehmer", IsRequired:=true)>
Public Overridable Property Anschrift As Anschrift
'''<Summary>
'''Allgemeine Daten
'''</Summary>
<ApiMember(Description:="Allgemeine Daten", IsRequired:=true)>
Public Overridable Property ZmZeilen As ZmZeilen
'''<Summary>
'''The details of the provider that submits the tax data.
'''</Summary>
<ApiMember(Description:="The details of the provider that submits the tax data.", IsRequired:=true)>
Public Overridable Property DatenLieferant As String
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /CreateZm2018Xml HTTP/1.1
Host: taxfiling.pwc.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateZm2018Xml 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>
</CreateZm2018Xml>
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>