Tax Filing Service

<back to all web services

BatchProtokollRequest17

SyncDatenabholungVerarbeitungsprotokolleBatch

Represents the service request to retrieve logs about tax statements.

Requires Authentication
The following routes are available for this service:
POST/datenabholungen/protokolle/17/verarbeitungsprotokoll/batch
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    /**
    * Represents the service request to retrieve logs about tax statements.
    */
    @Api(Description="Represents the service request to retrieve logs about tax statements.")
    public static class BatchProtokollRequest17 extends BatchProtokollRequestBase17
    {
        /**
        * The tax assessements, whose processing records shall be obtained.
        */
        @ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
        public ArrayList<Abholung17> bescheide = null;

        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;
        
        public ArrayList<Abholung17> getBescheide() { return bescheide; }
        public BatchProtokollRequest17 setBescheide(ArrayList<Abholung17> value) { this.bescheide = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public BatchProtokollRequest17 setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
    }

    /**
    * Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..
    */
    @Api(Description="Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..")
    public static class BatchProtokollRequestBase17 extends BatchProtokollRequestBase
    {
        /**
        * The tax assessements, whose processing records shall be obtained.
        */
        @ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
        public ArrayList<Abholung17> bescheide = null;

        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;
        
        public ArrayList<Abholung17> getBescheide() { return bescheide; }
        public BatchProtokollRequestBase17 setBescheide(ArrayList<Abholung17> value) { this.bescheide = value; return this; }
        public PortalCertificate getZertifikat() { return zertifikat; }
        public BatchProtokollRequestBase17 setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
    }

    /**
    * Represents a base service request to retrieve processing records from specified tax statements.
    */
    @Api(Description="Represents a base service request to retrieve processing records from specified tax statements.")
    public static class BatchProtokollRequestBase implements IPost
    {
        /**
        * The authentification certificate.
        */
        @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
        public PortalCertificate zertifikat = null;
        
        public PortalCertificate getZertifikat() { return zertifikat; }
        public BatchProtokollRequestBase setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
    }

    /**
    * Represents a portal certificate that is protected by a password.
    */
    @Api(Description="Represents a portal certificate that is protected by a password.")
    public static class PortalCertificate extends FileBase implements ISecuredCertificate, IHasIndex
    {
        /**
        * The unique identifier of the certificate.
        */
        @ApiMember(Description="The unique identifier of the certificate.")
        public UUID id = null;

        /**
        * The position of the certificate element in an indexed collection of certificates.
        */
        @ApiMember(Description="The position of the certificate element in an indexed collection of certificates.")
        public Integer index = null;

        /**
        * The password to protect the certificate from unauthorized access.
        */
        @StringLength(255)
        @ApiMember(Description="The password to protect the certificate from unauthorized access.")
        public String pin = null;

        /**
        * The description of the certificate.
        */
        @StringLength(2147483647)
        @ApiMember(Description="The description of the certificate.")
        public String description = null;

        /**
        * Tags that can be used to label or identify the certificate.
        */
        @ApiMember(Description="Tags that can be used to label or identify the certificate.")
        public ArrayList<String> tags = null;

        /**
        * Gets or sets the file name of the certificate.
        */
        @ApiMember(Description="Gets or sets the file name of the certificate.")
        public String name = null;

        /**
        * The raw data content of the file.
        */
        @ApiMember(Description="The raw data content of the file.", Name="Content")
        public byte[] content = null;
        
        public UUID getId() { return id; }
        public PortalCertificate setId(UUID value) { this.id = value; return this; }
        public Integer getIndex() { return index; }
        public PortalCertificate setIndex(Integer value) { this.index = value; return this; }
        public String getPin() { return pin; }
        public PortalCertificate setPin(String value) { this.pin = value; return this; }
        public String getDescription() { return description; }
        public PortalCertificate setDescription(String value) { this.description = value; return this; }
        public ArrayList<String> getTags() { return tags; }
        public PortalCertificate setTags(ArrayList<String> value) { this.tags = value; return this; }
        public String getName() { return name; }
        public PortalCertificate setName(String value) { this.name = value; return this; }
        public byte[] getContent() { return content; }
        public PortalCertificate setContent(byte[] value) { this.content = value; return this; }
    }

    /**
    * Represents a base class for a file with raw data.
    */
    @Api(Description="Represents a base class for a file with raw data.")
    public static class FileBase
    {
        /**
        * The raw data content of the file.
        */
        @ApiMember(Description="The raw data content of the file.", Name="Content")
        public byte[] content = null;
        
        public byte[] getContent() { return content; }
        public FileBase setContent(byte[] value) { this.content = value; return this; }
    }

    /**
    * Represents a request to retrieve data records by means of one or more IDs.
    */
    @Api(Description="Represents a request to retrieve data records by means of one or more IDs.")
    public static class Abholung17 extends Abholung
    {
        /**
        * The tax type (e.g. ESB) of the data record.
        */
        @ApiMember(Description="The tax type (e.g. ESB) of the data record.")
        public Steuerart steuerart = null;

        /**
        * The meta information of the identifier.
        */
        @ApiMember(Description="The meta information of the identifier.")
        public MetaInformationen17 metaInformationen = null;

        /**
        * Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
        */
        @ApiMember(Description="Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.")
        public String bereitstellungsticket = null;

        /**
        * The attachments of the data records.
        */
        @ApiMember(Description="The attachments of the data records.")
        public Anhaenge17 anhaenge = null;

        /**
        * The identifier of the data record.
        */
        @ApiMember(Description="The identifier of the data record.")
        public String id = null;

        /**
        * The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        */
        @ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
        public String idnr = null;

        /**
        * The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        */
        @ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")
        public Integer veranlagungsjahr = null;

        /**
        * The transmission path used.
        */
        @ApiMember(Description="The transmission path used.")
        public Uebertragungsweg uebertragungsweg = null;

        /**
        * The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        */
        @ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")
        public String encoding = null;

        /**
        * The client number; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
        public String mandantennummer = null;

        /**
        * The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
        public String steuernummer = null;

        /**
        * The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
        public Date bescheiddatum = null;

        /**
        * Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        */
        @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
        public Datenpaket datenpaket = null;

        /**
        * Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        */
        @ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")
        public Download download = null;
        
        public Steuerart getSteuerart() { return steuerart; }
        public Abholung17 setSteuerart(Steuerart value) { this.steuerart = value; return this; }
        public MetaInformationen17 getMetaInformationen() { return metaInformationen; }
        public Abholung17 setMetaInformationen(MetaInformationen17 value) { this.metaInformationen = value; return this; }
        public String getBereitstellungsticket() { return bereitstellungsticket; }
        public Abholung17 setBereitstellungsticket(String value) { this.bereitstellungsticket = value; return this; }
        public Anhaenge17 getAnhaenge() { return anhaenge; }
        public Abholung17 setAnhaenge(Anhaenge17 value) { this.anhaenge = value; return this; }
        public String getId() { return id; }
        public Abholung17 setId(String value) { this.id = value; return this; }
        public String getIdnr() { return idnr; }
        public Abholung17 setIdnr(String value) { this.idnr = value; return this; }
        public Integer getVeranlagungsjahr() { return veranlagungsjahr; }
        public Abholung17 setVeranlagungsjahr(Integer value) { this.veranlagungsjahr = value; return this; }
        public Uebertragungsweg getUebertragungsweg() { return uebertragungsweg; }
        public Abholung17 setUebertragungsweg(Uebertragungsweg value) { this.uebertragungsweg = value; return this; }
        public String getEncoding() { return encoding; }
        public Abholung17 setEncoding(String value) { this.encoding = value; return this; }
        public String getMandantennummer() { return mandantennummer; }
        public Abholung17 setMandantennummer(String value) { this.mandantennummer = value; return this; }
        public String getSteuernummer() { return steuernummer; }
        public Abholung17 setSteuernummer(String value) { this.steuernummer = value; return this; }
        public Date getBescheiddatum() { return bescheiddatum; }
        public Abholung17 setBescheiddatum(Date value) { this.bescheiddatum = value; return this; }
        public Datenpaket getDatenpaket() { return datenpaket; }
        public Abholung17 setDatenpaket(Datenpaket value) { this.datenpaket = value; return this; }
        public Download getDownload() { return download; }
        public Abholung17 setDownload(Download value) { this.download = value; return this; }
    }

    /**
    * Represents the request to retrieve tax assessments by means of a specfied ID.
    */
    @Api(Description="Represents the request to retrieve tax assessments by means of a specfied ID.")
    public static class Abholung
    {
        /**
        * The identifier of the data record.
        */
        @ApiMember(Description="The identifier of the data record.")
        public String id = null;

        /**
        * The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        */
        @ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
        public String idnr = null;

        /**
        * The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        */
        @ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")
        public Integer veranlagungsjahr = null;

        /**
        * The transmission path used.
        */
        @ApiMember(Description="The transmission path used.")
        public Uebertragungsweg uebertragungsweg = null;

        /**
        * The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        */
        @ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")
        public String encoding = null;

        /**
        * The client number; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
        public String mandantennummer = null;

        /**
        * The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
        public String steuernummer = null;

        /**
        * The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        */
        @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
        public Date bescheiddatum = null;

        /**
        * Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        */
        @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
        public Datenpaket datenpaket = null;

        /**
        * Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        */
        @ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")
        public Download download = null;
        
        public String getId() { return id; }
        public Abholung setId(String value) { this.id = value; return this; }
        public String getIdnr() { return idnr; }
        public Abholung setIdnr(String value) { this.idnr = value; return this; }
        public Integer getVeranlagungsjahr() { return veranlagungsjahr; }
        public Abholung setVeranlagungsjahr(Integer value) { this.veranlagungsjahr = value; return this; }
        public Uebertragungsweg getUebertragungsweg() { return uebertragungsweg; }
        public Abholung setUebertragungsweg(Uebertragungsweg value) { this.uebertragungsweg = value; return this; }
        public String getEncoding() { return encoding; }
        public Abholung setEncoding(String value) { this.encoding = value; return this; }
        public String getMandantennummer() { return mandantennummer; }
        public Abholung setMandantennummer(String value) { this.mandantennummer = value; return this; }
        public String getSteuernummer() { return steuernummer; }
        public Abholung setSteuernummer(String value) { this.steuernummer = value; return this; }
        public Date getBescheiddatum() { return bescheiddatum; }
        public Abholung setBescheiddatum(Date value) { this.bescheiddatum = value; return this; }
        public Datenpaket getDatenpaket() { return datenpaket; }
        public Abholung setDatenpaket(Datenpaket value) { this.datenpaket = value; return this; }
        public Download getDownload() { return download; }
        public Abholung setDownload(Download value) { this.download = value; return this; }
    }

    /**
    * Represents the transmission path.
    */
    public static enum Uebertragungsweg
    {
        Direkt,
        Link,
        Sammellink;
    }

    /**
    * The data packet from the retrieval operation.
    */
    @Api(Description="The data packet from the retrieval operation.")
    public static class Datenpaket
    {
        /**
        * Encoded (compressed and encrypted) requested data record
        */
        @ApiMember(Description="Encoded (compressed and encrypted) requested data record")
        public String value = null;
        
        public String getValue() { return value; }
        public Datenpaket setValue(String value) { this.value = value; return this; }
    }

    /**
    * Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.
    */
    @Api(Description="Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.")
    public static class Download
    {
        /**
        * The link to the data on the web server.
        */
        @ApiMember(Description="The link to the data on the web server.")
        public String url = null;

        /**
        * The user name for the web server.
        */
        @ApiMember(Description="The user name for the web server.")
        public String benutzer = null;

        /**
        * Password for the web server.
        */
        @ApiMember(Description="Password for the web server.")
        public String passwort = null;
        
        public String getUrl() { return url; }
        public Download setUrl(String value) { this.url = value; return this; }
        public String getBenutzer() { return benutzer; }
        public Download setBenutzer(String value) { this.benutzer = value; return this; }
        public String getPasswort() { return passwort; }
        public Download setPasswort(String value) { this.passwort = value; return this; }
    }

    /**
    * Represents the various tax types for the retrieval of data.
    */
    public static enum Steuerart
    {
        Esb,
        Gsb,
        Usb,
        EpBescheid,
        EpMitteilung,
        Gewerbesteuerbescheid,
        Gewerbesteuermitteilung,
        Gewmb,
        DivaAnzeigeEinerLotterie,
        DivaBescheid,
        DivaBescheidESt,
        DivaBuchmachersteuer,
        DivaLotteriesteuerEinmal,
        DivaLotteriesteuerMehr,
        DivaSportwettensteuer,
        DivaTotalisator,
        OzgBescheid,
        VerbindlicheAuskunft,
        VerbindlicheZusage,
        DivaSonstigerVA,
        DivaBescheidErbSt,
        DivaBescheidFEIN,
        DivaBescheidGewSt,
        DivaBescheidKSt,
        DivaBescheidUSt,
        DivaBescheidSchenkSt,
        DivaTroncabgabe,
        DivaVirtuelleAutomatenStB,
        DivaOnlinePokerStB,
        LStHVVMRM,
        EinlagenrueckgewaehrVA,
        FttMeldungVA,
        StatusInvStGVA,
        UStVEUVA,
        Versva,
        AltZertVA,
        KapEStEntlastungVA,
        PostUDLVA,
        StAb50aVA,
        StAbEntlastungVA,
        KassenangelegenheitenVA,
        KStOptVA,
        SteueroasenabwehrVA,
        KdbVollmachtRM,
        Stbke,
        VdbkdbRueckmeldungLief,
        AnhangRueckmeldung,
        DivaEinwilligungRM,
        GlueckspielF,
        OzgMitteilung,
        VerbindlicheAuskunftInfoF,
        EloProtokoll;
    }

    /**
    * Represents meta information.
    */
    @Api(Description="Represents meta information.")
    public static class MetaInformationen17
    {
        /**
        * List of metadata.
        */
        @ApiMember(Description="List of metadata.")
        public ArrayList<Meta17> meta = null;

        /**
        * List of meta infomation maps.
        */
        @ApiMember(Description="List of meta infomation maps.")
        public MetaInfoMaps17 metaInfoMaps = null;
        
        public ArrayList<Meta17> getMeta() { return meta; }
        public MetaInformationen17 setMeta(ArrayList<Meta17> value) { this.meta = value; return this; }
        public MetaInfoMaps17 getMetaInfoMaps() { return metaInfoMaps; }
        public MetaInformationen17 setMetaInfoMaps(MetaInfoMaps17 value) { this.metaInfoMaps = value; return this; }
    }

    /**
    * Represents the metadata of a data record.
    */
    @Api(Description="Represents the metadata of a data record.")
    public static class Meta17
    {
        /**
        * The type of metadata, e.g. datei [file]
        */
        @ApiMember(Description="The type of metadata, e.g. datei [file]")
        public String name = null;

        /**
        * The encoding of the metadata (text or base64)
        */
        @ApiMember(Description="The encoding of the metadata (text or base64)")
        public Coding coding = null;

        /**
        * The content of the metadata
        */
        @ApiMember(Description="The content of the metadata")
        public String value = null;
        
        public String getName() { return name; }
        public Meta17 setName(String value) { this.name = value; return this; }
        public Coding getCoding() { return coding; }
        public Meta17 setCoding(Coding value) { this.coding = value; return this; }
        public String getValue() { return value; }
        public Meta17 setValue(String value) { this.value = value; return this; }
    }

    /**
    * Specifies the encoding of the metadata.
    */
    public static enum Coding
    {
        Text,
        Base64;
    }

    /**
    * Represents a list of meta information maps.
    */
    public static class MetaInfoMaps17
    {
        
    }

    /**
    * Represents a list of attachments.
    */
    public static class Anhaenge17
    {
        
    }

}

Java BatchProtokollRequest17 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 /datenabholungen/protokolle/17/verarbeitungsprotokoll/batch HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"bescheide":[{"steuerart":"ESB","metaInformationen":{"meta":[{"name":"String","coding":"text","value":"String"}],"metaInfoMaps":[{"typ":"String","meta":[{"name":"String","coding":"text","value":"String"}]}]},"bereitstellungsticket":"String","anhaenge":[{"metadatenAnhang":[{"schluesselAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"},"wertAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"}}],"dateibezeichnung":"String","dateityp":"String","dateiinhalt":"String"}],"id":"String","idnr":"String","veranlagungsjahr":0,"uebertragungsweg":"direkt","encoding":"String","mandantennummer":"String","steuernummer":"String","bescheiddatum":"\/Date(-62135596800000-0000)\/","datenpaket":{"value":"String"},"download":{"url":"String","benutzer":"String","passwort":"String"}}],"zertifikat":{"id":"00000000000000000000000000000000","index":0,"pin":"String","description":"String","tags":["String"],"name":"String","content":"AA=="}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

[{"protokoll":{"version":0,"zeitStempel":"\/Date(-62135596800000-0000)\/","datenTeil":{"transferTicket":"String","code":0,"text":"String","nutzdatenbloecke":[{"nutzdatenTicket":"String","code":0,"text":"String","verarbeiteteNds":0,"nichtverarbeiteteNds":0,"ndSFehler":[{"lfdNr":"String","kmId":"String","ordnungsMerkmal":"String","fehlerNummer":0,"fehlerText":"String"}]}]}},"id":"String","index":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}]