Tax Filing Service

<back to all web services

CreateE50UstXmlFromDefinitionAsync

AsyncUmsatzsteuerJahressteuererklärungE50ReturnBuilderDefinition

An asynchronous service to create xml content that represents an annual VAT return (Umsatzsteuerjahreserklärung).

Requires Authentication
The following routes are available for this service:
POST/CreateE50UstXmlFromDefinitionAsyncAn asynchronous service to create xml content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions.
CreateE50UstXmlFromDefinitionBase Parameters:
NameParameterData TypeRequiredDescription
BundesfinanzamtsnummerformstringNoThe four-digit federal tax office number of the receiving tax office.
DatenLieferantformstringYesThe details of the provider that submits the tax data.
CreateXmlFromDefinitionBase Parameters:
NameParameterData TypeRequiredDescription
PropertiesformDictionary<string, string>NoDictionary of key-value pairs that represent the intrinsic properties of the VAT declaration. Each key represents a name of the VAT property. Each value of the pair represents the VAT property value.
CreateXmlFromDefinitionAbstract Parameters:
NameParameterData TypeRequiredDescription
JahrformintYesThe year of the assessment
StagingEnabledformboolNoShould the processing of the tax data be staged? If true, tax data is not sent to the production ELSTER servers.
XmlResponse Parameters:
NameParameterData TypeRequiredDescription
ContentformstringNoThe XML-based content of the response.
ResponseStatusformResponseStatusNoMetadata that contains structured error information on the XML response.

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

HTTP + JSV

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

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

{
	bundesfinanzamtsnummer: String,
	datenLieferant: String,
	properties: 
	{
		String: String
	},
	jahr: 0,
	stagingEnabled: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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