POST | /async/elma/dac6/xml |
---|
import Foundation
import ServiceStack
/**
* Represents a request to generate an ELMA-compatible XML content from a DAC6 data model in an asynchronous operation.
*/
// @Api(Description="Represents a request to generate an ELMA-compatible XML content from a DAC6 data model in an asynchronous operation.")
public class CreateDac6XmlAsync : CreateDac6XmlBase
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
/**
* Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model.
*/
// @Api(Description="Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model.")
public class CreateDac6XmlBase : IPost, IStageableRequest, Codable
{
/**
* The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information"
*/
// @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
public var authSteuernummer:String
/**
* The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).
*/
// @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
public var accountId:String
/**
* User custom ID. This field can be filled with internal reference information of the user.
*/
// @ApiMember(Description="User custom ID. This field can be filled with internal reference information of the user.", Name="KundeneigeneId")
public var kundeneigeneId:String
/**
* The version number of the ELMAKOM definition.
*/
// @ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion")
public var elmakomVersion:String
/**
* Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.
*/
// @ApiMember(Description="Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.", Name="StagingEnabled")
public var stagingEnabled:Bool?
/**
* The data model that represents the DAC6 content.
*/
// @ApiMember(Description="The data model that represents the DAC6 content.", Name="DataModel")
public var dataModel:DAC6
required public init(){}
}
/**
* Stellt grenzüberschreitende Steuergestaltungen dar.
*/
// @Api(Description="Stellt grenzüberschreitende Steuergestaltungen dar.")
public class DAC6 : Codable
{
/**
* Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.
*/
// @ApiMember(Description="Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.", IsRequired=true, Name="Version")
public var version:String
/**
* Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.
*/
// @ApiMember(Description="Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.", IsRequired=true, Name="Sprache")
public var sprache:LanguageCode?
/**
* Gestaltung Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle
*/
// @ApiMember(Description="Gestaltung Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle", IsRequired=true, Name="Dac6Arrangement")
public var dac6Arrangement:Dac6Arrangement
/**
* Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.
*/
// @ApiMember(Description="Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.", IsRequired=true, Name="Dac6Verarbeitungsprotokoll")
public var dac6Verarbeitungsprotokoll:Dac6Verarbeitungsprotokoll
required public init(){}
}
public enum LanguageCode : String, Codable
{
case AA
case AB
case AF
case AK
case SQ
case AM
case AR
case AN
case HY
case AS
case AV
case AE
case AY
case AZ
case BA
case BM
case EU
case BE
case BN
case BH
case BI
case BS
case BR
case BG
case MY
case CA
case CH
case CE
case ZH
case CU
case CV
case KW
case CO
case CR
case CS
case DA
case DV
case NL
case DZ
case EN
case EO
case ET
case EE
case FO
case FJ
case FI
case FR
case FY
case FF
case KA
case DE
case GD
case GA
case GL
case GV
case EL
case GN
case GU
case HT
case HA
case HE
case HZ
case HI
case HO
case HR
case HU
case IG
case IS
case IO
case II
case IU
case IE
case IA
case ID
case IK
case IT
case JV
case JA
case KL
case KN
case KS
case KR
case KK
case KM
case KI
case RW
case KY
case KV
case KG
case KO
case KJ
case KU
case LO
case LA
case LV
case LI
case LN
case LT
case LB
case LU
case LG
case MK
case MH
case ML
case MI
case MR
case MS
case MG
case MT
case MN
case NA
case NV
case NR
case ND
case NG
case NE
case NN
case NB
case NO
case NY
case OC
case OJ
case OR
case OM
case OS
case PA
case FA
case PI
case PL
case PT
case PS
case QU
case RM
case RO
case RN
case RU
case SG
case SA
case SI
case SK
case SL
case SE
case SM
case SN
case SD
case SO
case ST
case ES
case SC
case SR
case SS
case SU
case SW
case SV
case TY
case TA
case TT
case TE
case TG
case TL
case TH
case BO
case TI
case TO
case TN
case TS
case TK
case TR
case TW
case UG
case UK
case UR
case UZ
case VE
case VI
case VO
case CY
case WA
case WO
case XH
case YI
case YO
case ZA
case ZU
}
/**
* Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle
*/
// @Api(Description="Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle")
public class Dac6Arrangement : Codable
{
/**
* Versionsangabe
*/
// @ApiMember(Description="Versionsangabe", IsRequired=true, Name="Version")
public var version:String
/**
* Angaben zu den Kopfdaten
*/
// @ApiMember(Description="Angaben zu den Kopfdaten", IsRequired=true, Name="Header")
public var header:Dac6Header
/**
* RegistriernummerAngabe im Format CCAYYYYMMDDXXXXXX <CC><A><YYYYMMDD><Bezeichner> CC enthält den ISO Staatencode des Mitgliedstaates in dem die erste Mitteilung zur Gestaltung erfolgt ist. Zulässige Werte sind: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK A enthält den Buchstaben "A" (Arrangement/Gestaltung) YYYYMMDD enthält das Ausgabedatum der Registriernummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9)
*/
// @ApiMember(Description="RegistriernummerAngabe im Format CCAYYYYMMDDXXXXXX <CC><A><YYYYMMDD><Bezeichner> CC enthält den ISO Staatencode des Mitgliedstaates in dem die erste Mitteilung zur Gestaltung erfolgt ist. Zulässige Werte sind: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK A enthält den Buchstaben \"A\" (Arrangement/Gestaltung) YYYYMMDD enthält das Ausgabedatum der Registriernummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9)", Name="ArrangementID")
public var arrangementID:String
/**
* Angaben zur Offenlegung
*/
// @ApiMember(Description="Angaben zur Offenlegung", IsRequired=true, Name="Dac6Disclosure")
public var dac6Disclosure:Dac6Disclosure
required public init(){}
}
/**
* Angaben zu den Kopfdaten
*/
// @Api(Description="Angaben zu den Kopfdaten")
public class Dac6Header : Codable
{
/**
* Empfängerstaaten
*/
// @ApiMember(Description="Empfängerstaaten", Name="ReceivingCountries")
public var receivingCountries:[CountryCode?] = []
/**
* MessageRefID Angabe im Format DEMYYYYMMDDXXXXXX...XXX <DE><M><Datum><Bezeichner><Kombination> DE beinhaltet den ISO country code "DE" M besteht aus dem Buchstaben "M" für MessageRefID Datum an dem die MessageRefID ausgestellt wurde im Format YYYYMMDD Bezeichner beinhaltet EOP/BOP-Nummer eine Kombination aus Ziffern (0-9) und Großbuchstaben (AZ). Der Bezeichner ist die EOP/BOP-Nummer, die übrigen Felder sind so zu befüllen, dass bei mehreren Lieferungen zu einem Datum jede MessageRefID eines Melders einzigartig ist. Die Länge der MessageRefID ist durch eine Geschäftsregel auf 40 Zeichen beschränkt.
*/
// @ApiMember(Description="MessageRefID Angabe im Format DEMYYYYMMDDXXXXXX...XXX <DE><M><Datum><Bezeichner><Kombination> DE beinhaltet den ISO country code \"DE\" M besteht aus dem Buchstaben \"M\" für MessageRefID Datum an dem die MessageRefID ausgestellt wurde im Format YYYYMMDD Bezeichner beinhaltet EOP/BOP-Nummer eine Kombination aus Ziffern (0-9) und Großbuchstaben (AZ). Der Bezeichner ist die EOP/BOP-Nummer, die übrigen Felder sind so zu befüllen, dass bei mehreren Lieferungen zu einem Datum jede MessageRefID eines Melders einzigartig ist. Die Länge der MessageRefID ist durch eine Geschäftsregel auf 40 Zeichen beschränkt.", IsRequired=true, Name="MessageRefId")
public var messageRefId:String
/**
* Zeitstempel Dieses Feld gibt das Datum und die Uhrzeit der Erstellung der Nachricht im XML DateTime Format (YYYY MM DD'Dac6RelevantTaxPayer'hh:mm:ss.mmm) gemäß CET an Sollte die Meldung aus einer abweichenden Zeitzone erfolgen, so ist eine Umrechnung auf CET vorzunehmen.
*/
// @ApiMember(Description="Zeitstempel Dieses Feld gibt das Datum und die Uhrzeit der Erstellung der Nachricht im XML DateTime Format (YYYY MM DD'Dac6RelevantTaxPayer'hh:mm:ss.mmm) gemäß CET an Sollte die Meldung aus einer abweichenden Zeitzone erfolgen, so ist eine Umrechnung auf CET vorzunehmen.", IsRequired=true, Name="Timestamp")
public var timestamp:Date?
required public init(){}
}
/**
* Angaben zur Offenlegung
*/
// @Api(Description="Angaben zur Offenlegung")
public class Dac6Disclosure : Codable
{
/**
* Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE enthält den ISO Staatencode von Deutschland D enthält den Buchstaben "D" (Disclosure/Datensatz) YYYYMMDD enthält das Ausgabedatum der Offenlegungsnummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9) Dieses Feld darf nur für Korrekturen bei gleichzeitiger Angabe der dazugehörigen ArrangementID genutzt werden. Korrekturen für Meldungen mit einer DisclosureID, die nicht mit "DE" beginnt, sind nicht zulässig.
*/
// @ApiMember(Description="Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE enthält den ISO Staatencode von Deutschland D enthält den Buchstaben \"D\" (Disclosure/Datensatz) YYYYMMDD enthält das Ausgabedatum der Offenlegungsnummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9) Dieses Feld darf nur für Korrekturen bei gleichzeitiger Angabe der dazugehörigen ArrangementID genutzt werden. Korrekturen für Meldungen mit einer DisclosureID, die nicht mit \"DE\" beginnt, sind nicht zulässig.", Name="DisclosureID")
public var disclosureID:String
/**
* Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE entspricht dem ISO Staatencode, hier steht bei einer in Deutschland übermittelten Meldung stets "DE". D steht für "D" wie Disclosure. YYYYMMDD ist das Datum der Vergabe der DisclosureID Bezeichner - 6-stellig Dieses Feld darf nur für Nachmeldungen von Nutzerdaten und Korrekturen von Nachmeldungen verwendet werden, wenn der Intermediär nicht von der Verschwiegenheitspflicht entbunden wurde. Nachmeldungen und Korrekturen für Meldungen mit einer RefDisclosureID, die nicht mit "DE" beginnt, sind nicht zulässig.
*/
// @ApiMember(Description="Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE entspricht dem ISO Staatencode, hier steht bei einer in Deutschland übermittelten Meldung stets \"DE\". D steht für \"D\" wie Disclosure. YYYYMMDD ist das Datum der Vergabe der DisclosureID Bezeichner - 6-stellig Dieses Feld darf nur für Nachmeldungen von Nutzerdaten und Korrekturen von Nachmeldungen verwendet werden, wenn der Intermediär nicht von der Verschwiegenheitspflicht entbunden wurde. Nachmeldungen und Korrekturen für Meldungen mit einer RefDisclosureID, die nicht mit \"DE\" beginnt, sind nicht zulässig.", Name="RefDisclosureID")
public var refDisclosureID:String
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur \"DE\" oder \"EN\" gewählt werden.", Name="Language")
public var language:LanguageCode?
/**
* Meldepflichtiger
*/
// @ApiMember(Description="Meldepflichtiger", IsRequired=true, Name="Disclosing")
public var disclosing:Dac6Discloser
/**
* Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false
*/
// @ApiMember(Description="Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false", IsRequired=true, Name="InitialDisclosureMA")
public var initialDisclosureMA:Bool?
/**
* Angabe aller bekannten Nutzer
*/
// @ApiMember(Description="Angabe aller bekannten Nutzer", Name="RelevantTaxPayers")
public var relevantTaxPayers:Dac6RelevantTaxPayers
/**
* Angabe aller bekannten Nutzer
*/
// @ApiMember(Description="Angabe aller bekannten Nutzer", Name="Intermediaries")
public var intermediaries:Dac6Intermediaries
/**
* Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen, die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind, einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.
*/
// @ApiMember(Description="Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen, die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind, einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.", Name="Intermediaries")
public var affectedPersons:Dac6AffectedPersons
/**
* Angabe der Informationen zur Steuergestaltung
*/
// @ApiMember(Description="Angabe der Informationen zur Steuergestaltung", IsRequired=true, Name="DisclosureInformation")
public var disclosureInformation:Dac6DisclosureInformation
required public init(){}
}
/**
* Angaben zum Meldepflichtigen
*/
// @Api(Description="Angaben zum Meldepflichtigen")
public class Dac6Discloser : Codable
{
/**
* Identifikationsdaten zum Meldepflichtigen
*/
// @ApiMember(Description="Identifikationsdaten zum Meldepflichtigen", IsRequired=true, Name="ID")
public var id:Dac6PersonOrganisation
/**
* Meldepflichtiger Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.
*/
// @ApiMember(Description="Meldepflichtiger Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.", Name="Liability")
public var liability:Dac6Liability
required public init(){}
}
/**
* Entweder Angabe von Individual oder Angabe von Organisation
*/
// @Api(Description="Entweder Angabe von Individual oder Angabe von Organisation")
public class Dac6PersonOrganisation : Codable
{
/**
* Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
*/
// @ApiMember(Description="Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")
public var individual:Dac6Person
/**
* Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
*/
// @ApiMember(Description="Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")
public var organisation:Dac6Organisation
required public init(){}
}
/**
* Natürliche Person
*/
// @Api(Description="Natürliche Person")
public class Dac6Person : Codable
{
/**
* Namensangaben
*/
// @ApiMember(Description="Namensangaben", IsRequired=true, Name="IndividualName")
public var individualName:Dac6NamePerson
/**
* GeburtsdatumFormat: YYYY-MM-DD
*/
// @ApiMember(Description="GeburtsdatumFormat: YYYY-MM-DD", IsRequired=true, Name="BirthDate")
public var birthDate:Date
/**
* Geburtsort
*/
// @ApiMember(Description="Geburtsort", IsRequired=true, Name="BirthPlace")
public var birthPlace:String
/**
* Steueridentifikationsmerkmale
*/
// @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")
public var tiNs:[Dac6TIN] = []
/**
* Adressangaben
*/
// @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")
public var address:Dac6Address
/**
* E-Mailadresse
*/
// @ApiMember(Description="E-Mailadresse", Name="EmailAddress")
public var emailAddress:String
/**
* Ansässigkeitsstaaten
*/
// @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")
public var resCountryCodes:[CountryCode] = []
required public init(){}
}
/**
* Stellt die Namensangaben dar.
*/
// @Api(Description="Stellt die Namensangaben dar.")
public class Dac6NamePerson : Codable
{
/**
* Vorangestellter Titel
*/
// @ApiMember(Description="Vorangestellter Titel", IsRequired=true, Name="PrecedingTitle")
public var precedingTitle:String
/**
* Titel
*/
// @ApiMember(Description="Titel", Name="Title")
public var title:String
/**
* Vorname
*/
// @ApiMember(Description="Vorname", IsRequired=true, Name="FirstName")
public var firstName:String
/**
* Zweitname (weitere Namen)
*/
// @ApiMember(Description="Zweitname (weitere Namen)", Name="MiddleName")
public var middleName:String
/**
* Namenszusatz
*/
// @ApiMember(Description="Namenszusatz", Name="NamePrefix")
public var namePrefix:String
/**
* Nachname
*/
// @ApiMember(Description="Nachname", IsRequired=true, Name="LastName")
public var lastName:String
/**
* Generationszusatz
*/
// @ApiMember(Description="Generationszusatz", Name="GenerationIdentifier")
public var generationIdentifier:String
/**
* Titelzusatz
*/
// @ApiMember(Description="Titelzusatz", Name="Suffix")
public var suffix:String
/**
* Allgemeiner Zusatz
*/
// @ApiMember(Description="Allgemeiner Zusatz", Name="GeneralSuffix")
public var generalSuffix:String
required public init(){}
}
/**
* Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.
*/
// @Api(Description="Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.")
public class Dac6TIN : Codable
{
/**
* Ausstellender Staat
*/
// @ApiMember(Description="Ausstellender Staat", Name="IssuedBy")
public var issuedBy:CountryCode
/**
* Steuernummer
*/
// @ApiMember(Description="Steuernummer", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
public enum CountryCode : String, Codable
{
case AF
case AX
case AL
case DZ
case AS
case AD
case AO
case AI
case AQ
case AG
case AR
case AM
case AW
case AU
case AT
case AZ
case BS
case BH
case BD
case BB
case BY
case BE
case BZ
case BJ
case BM
case BT
case BO
case BQ
case BA
case BW
case BV
case BR
case IO
case BN
case BG
case BF
case BI
case KH
case CM
case CA
case CV
case KY
case CF
case TD
case CL
case CN
case CX
case CC
case CO
case KM
case CG
case CD
case CK
case CR
case CI
case HR
case CU
case CW
case CY
case CZ
case DK
case DJ
case DM
case DO
case EC
case EG
case SV
case GQ
case ER
case EE
case ET
case FK
case FO
case FJ
case FI
case FR
case GF
case PF
case TF
case GA
case GM
case GE
case DE
case GH
case GI
case GR
case GL
case GD
case GP
case GU
case GT
case GG
case GN
case GW
case GY
case HT
case HM
case VA
case HN
case HK
case HU
case IS
case IN
case ID
case IR
case IQ
case IE
case IM
case IL
case IT
case JM
case JP
case JE
case JO
case KZ
case KE
case KI
case KP
case KR
case KW
case KG
case LA
case LV
case LB
case LS
case LR
case LY
case LI
case LT
case LU
case MO
case MK
case MG
case MW
case MY
case MV
case ML
case MT
case MH
case MQ
case MR
case MU
case YT
case MX
case FM
case MD
case MC
case MN
case ME
case MS
case MA
case MZ
case MM
case NA
case NR
case NP
case NL
case NC
case NZ
case NI
case NE
case NG
case NU
case NF
case MP
case NO
case OM
case PK
case PW
case PS
case PA
case PG
case PY
case PE
case PH
case PN
case PL
case PT
case PR
case QA
case RE
case RO
case RU
case RW
case BL
case SH
case KN
case LC
case MF
case PM
case VC
case WS
case SM
case ST
case SA
case SN
case RS
case SC
case SL
case SG
case SX
case SK
case SI
case SB
case SO
case ZA
case GS
case SS
case ES
case LK
case SD
case SR
case SJ
case SZ
case SE
case CH
case SY
case TW
case TJ
case TZ
case TH
case TL
case TG
case TK
case TO
case TT
case TN
case TR
case TM
case TC
case TV
case UG
case UA
case AE
case GB
case US
case UM
case UY
case UZ
case VU
case VE
case VN
case VG
case VI
case WF
case EH
case YE
case ZM
case ZW
case XK
case XX
}
/**
* Stellt die Andressangaben dar.
*/
// @Api(Description="Stellt die Andressangaben dar.")
public class Dac6Address : Codable
{
/**
* Straße
*/
// @ApiMember(Description="Straße", Name="Street")
public var street:String
/**
* Hausnummer
*/
// @ApiMember(Description="Hausnummer", Name="BuildingIdentifier")
public var buildingIdentifier:String
/**
* Wohnungsbezeichnung
*/
// @ApiMember(Description="Wohnungsbezeichnung", Name="SuiteIdentifier")
public var suiteIdentifier:String
/**
* Etagenbezeichnung
*/
// @ApiMember(Description="Etagenbezeichnung", Name="FloorIdentifier")
public var floorIdentifier:String
/**
* Verwaltungsbezirk
*/
// @ApiMember(Description="Verwaltungsbezirk", Name="DistrictName")
public var districtName:String
/**
* Postfach
*/
// @ApiMember(Description="Postfach", Name="POB")
public var pob:String
/**
* Postleitzahl
*/
// @ApiMember(Description="Postleitzahl", Name="PostCode")
public var postCode:String
/**
* Ort
*/
// @ApiMember(Description="Ort", IsRequired=true, Name="City")
public var city:String
/**
* Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2
*/
// @ApiMember(Description="Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2", IsRequired=true, Name="Country")
public var country:CountryCode
required public init(){}
}
/**
* Organisation
*/
// @Api(Description="Organisation")
public class Dac6Organisation : Codable
{
/**
* Die Name der Organisation
*/
// @ApiMember(Description="Die Name der Organisation", IsRequired=true, Name="OrganisationNames")
public var organisationNames:[Dac6NameOrganisation] = []
/**
* Steueridentifikationsmerkmale
*/
// @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")
public var tiNs:[Dac6TIN] = []
/**
* Adressangaben
*/
// @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")
public var address:Dac6Address
/**
* E-Mailadresse
*/
// @ApiMember(Description="E-Mailadresse", Name="EmailAddress")
public var emailAddress:String
/**
* Ansässigkeitsstaaten
*/
// @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")
public var resCountryCodes:[CountryCode] = []
required public init(){}
}
/**
* Stellt den Name der Organisation dar
*/
// @Api(Description="Stellt den Name der Organisation dar")
public class Dac6NameOrganisation : Codable
{
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")
public var language:LanguageCode
/**
* Namenswert der Organisation
*/
// @ApiMember(Description="Namenswert der Organisation", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
/**
* Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.
*/
// @Api(Description="Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.")
public class Dac6Liability : Codable
{
/**
* Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.
*/
// @ApiMember(Description="Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.", IsRequired=true, Name="IntermediaryDiscloser")
public var intermediaryDiscloser:Dac6IntermediaryDiscloser
/**
* Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.
*/
// @ApiMember(Description="Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.", IsRequired=true, Name="RelevantTaxpayerDiscloser")
public var relevantTaxpayerDiscloser:Dac6RelevantTaxpayerDiscloser
required public init(){}
}
/**
* Meldepflichtiger Intermediär
*/
// @Api(Description="Meldepflichtiger Intermediär")
public class Dac6IntermediaryDiscloser : Codable
{
/**
* Verbindung des Intermediärs zu Deutschland INEXa - Der Intermediär ist in Deutschland steuerlich ansässig. INEXb - Der Intermediär hat in Deutschland eine Betriebstätte, durch die die Dienstleistungen im Zusammenhang mit der grenzüberschreitenden Steuergestaltung erbracht werden. INEXc - Der Intermediär ist in Deutschland in das Handelsregister oder ein öffentliches berufsrechtliches Register eingetragen. INEXd - Der Intermediär ist in Deutschland bei einem Berufsverband für juristische, steuerliche oder beratende Dienstleistungen registriert
*/
// @ApiMember(Description="Verbindung des Intermediärs zu Deutschland INEXa - Der Intermediär ist in Deutschland steuerlich ansässig. INEXb - Der Intermediär hat in Deutschland eine Betriebstätte, durch die die Dienstleistungen im Zusammenhang mit der grenzüberschreitenden Steuergestaltung erbracht werden. INEXc - Der Intermediär ist in Deutschland in das Handelsregister oder ein öffentliches berufsrechtliches Register eingetragen. INEXd - Der Intermediär ist in Deutschland bei einem Berufsverband für juristische, steuerliche oder beratende Dienstleistungen registriert", IsRequired=true, Name="IntermediaryNexus")
public var intermediaryNexus:Dac6IntermediaryNexus?
/**
* Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit
*/
// @ApiMember(Description="Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit", IsRequired=true, Name="IntermediaryNexus")
public var capacity:Dac6IntermediaryCapacity?
required public init(){}
}
public enum Dac6IntermediaryNexus : String, Codable
{
case INEXa
case INEXb
case INEXc
case INEXd
}
public enum Dac6IntermediaryCapacity : String, Codable
{
case DAC61101
case DAC61102
}
/**
* Meldepflichtiger Nutzer
*/
// @Api(Description="Meldepflichtiger Nutzer")
public class Dac6RelevantTaxpayerDiscloser : Codable
{
/**
* Verbindung des Intermediärs zu Deutschland RTNEXa - Der Nutzer ist in Deutschland steuerlich ansässig. RTNEXb - Der Nutzer hat in Deutschland eine Betriebstätte, der durch die grenzüberschreitende Gestaltung ein Vorteilentsteht. RTNEXc - Der Nutzer erzielt Einkünfte oder Gewinne in Deutschland, obwohl er in keinem Mitgliedstaat steuerlichansässig ist oder eine Betriebstätte hat. RTNEXd - Der Nutzer übt in Deutschland eine Tätigkeit aus obwohl er in keinem Mitgliedstaat ansässig ist oder eine Betriebstätte hat.
*/
// @ApiMember(Description="Verbindung des Intermediärs zu Deutschland RTNEXa - Der Nutzer ist in Deutschland steuerlich ansässig. RTNEXb - Der Nutzer hat in Deutschland eine Betriebstätte, der durch die grenzüberschreitende Gestaltung ein Vorteilentsteht. RTNEXc - Der Nutzer erzielt Einkünfte oder Gewinne in Deutschland, obwohl er in keinem Mitgliedstaat steuerlichansässig ist oder eine Betriebstätte hat. RTNEXd - Der Nutzer übt in Deutschland eine Tätigkeit aus obwohl er in keinem Mitgliedstaat ansässig ist oder eine Betriebstätte hat.", IsRequired=true, Name="RelevantTaxpayerNexus")
public var relevantTaxpayerNexus:Dac6RelevantTaxpayerNexus?
/**
* Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung
*/
// @ApiMember(Description="Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung", IsRequired=true, Name="Capacity")
public var capacity:Dac6TaxpayerCapacity?
required public init(){}
}
public enum Dac6RelevantTaxpayerNexus : String, Codable
{
case RTNEXa
case RTNEXb
case RTNEXc
case RTNEXd
}
public enum Dac6TaxpayerCapacity : String, Codable
{
case DAC61104
case DAC61105
case DAC61106
}
/**
* Angabe aller bekannten Nutzer
*/
public class Dac6RelevantTaxPayers : Codable
{
required public init(){}
}
/**
* Angabe zum jeweiligen Intermediär
*/
public class Dac6Intermediaries : Codable
{
required public init(){}
}
/**
* Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen,die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind,einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.
*/
public class Dac6AffectedPersons : Codable
{
required public init(){}
}
/**
* Angabe der Informationen zur Steuergestaltung
*/
// @Api(Description="Angabe der Informationen zur Steuergestaltung")
public class Dac6DisclosureInformation : Codable
{
/**
* Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.
*/
// @ApiMember(Description="Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.", Name="ImplementingDate")
public var implementingDate:Date?
/**
* Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung
*/
// @ApiMember(Description="Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung", Name="Reason")
public var reason:Dac6DisclosurerReason?
/**
* Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.
*/
// @ApiMember(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.", Name="Summary")
public var summary:Dac6Summary
/**
* Rechtsvorschrift
*/
// @ApiMember(Description="Rechtsvorschrift", Name="NationalProvision")
public var nationalProvision:Dac6NationalProvision
/**
* Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
*/
// @ApiMember(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.", Name="Amount")
public var amount:Dac6Amount
/**
* Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen. Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.
*/
// @ApiMember(Description="Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen. Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.", Name="NationalProvision")
public var arrangementChart:Dac6ArrangementChart
/**
* Betroffenen Mitgliedstaaten
*/
// @ApiMember(Description="Betroffenen Mitgliedstaaten", Name="ConcernedMSs")
public var concernedMSs:Dac6ConcernedMSs
/**
* Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.
*/
// @ApiMember(Description="Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.", Name="MainBenefitTest1")
public var mainBenefitTest1:Bool?
/**
* Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung.Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird.Zusätzlich kann hier beim Kennzeichen "DAC6D1Other" überein Freitextfeld eine Beschreibung des zusätzlichen
*/
// @ApiMember(Description="Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung.Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird.Zusätzlich kann hier beim Kennzeichen \"DAC6D1Other\" überein Freitextfeld eine Beschreibung des zusätzlichen", Name="Hallmarks")
public var hallmarks:Dac6Hallmarks
required public init(){}
}
public enum Dac6DisclosurerReason : String, Codable
{
case DAC6701
case DAC6702
case DAC6703
}
/**
* Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung
*/
// @Api(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung")
public class Dac6Summary : Codable
{
/**
* Name der Gestaltung
*/
// @ApiMember(Description="Name der Gestaltung", IsRequired=true, Name="Disclosure_Name")
public var disclosure_Name:String
/**
* Beschreibung der Gestaltung Zusammenfassung des Inhalts der grenzüberschreitendenSteuergestaltung einschließlich einer abstrakt gehaltenenBeschreibung der relevanten Geschäftstätigkeit oder Gestaltung des Nutzers, soweit dies nicht zur Offenlegung eines Handels-, Gewerbe- oder Berufsgeheimnisses odereines Geschäftsverfahrens oder von Informationen führt, deren Offenlegung die öffentliche Ordnung verletzen würde.
*/
// @ApiMember(Description="Beschreibung der Gestaltung Zusammenfassung des Inhalts der grenzüberschreitendenSteuergestaltung einschließlich einer abstrakt gehaltenenBeschreibung der relevanten Geschäftstätigkeit oder Gestaltung des Nutzers, soweit dies nicht zur Offenlegung eines Handels-, Gewerbe- oder Berufsgeheimnisses odereines Geschäftsverfahrens oder von Informationen führt, deren Offenlegung die öffentliche Ordnung verletzen würde.", IsRequired=true, Name="Disclosure_Descriptions")
public var disclosure_Descriptions:[Dac6Disclosure_Description] = []
required public init(){}
}
/**
* Beschreibung der Gestaltung
*/
// @Api(Description="Beschreibung der Gestaltung")
public class Dac6Disclosure_Description : Codable
{
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")
public var language:LanguageCode
/**
* Beschreibung
*/
// @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
/**
* Rechtsvorschrift
*/
// @Api(Description="Rechtsvorschrift")
public class Dac6NationalProvision : Codable
{
/**
* Angabe der Rechtsvorschrift
*/
// @ApiMember(Description="Angabe der Rechtsvorschrift", IsRequired=true, Name="Texts")
public var texts:[Dac6Text] = []
/**
* Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.
*/
// @ApiMember(Description="Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.", IsRequired=true, Name="Country")
public var country:CountryCode?
required public init(){}
}
/**
* Angabe der Rechtsvorschrift
*/
// @Api(Description="Angabe der Rechtsvorschrift")
public class Dac6Text : Codable
{
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")
public var language:LanguageCode
/**
* Beschreibung
*/
// @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
/**
* Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
*/
// @Api(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.")
public class Dac6Amount : Codable
{
/**
* WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.
*/
// @ApiMember(Description="WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.", IsRequired=true, Name="CurrCode")
public var currCode:CurrencyCode?
/**
* Wirtschaftlicher Wert der Gestaltung
*/
// @ApiMember(Description="Wirtschaftlicher Wert der Gestaltung", IsRequired=true, Name="Value")
public var value:Int?
required public init(){}
}
public enum CurrencyCode : String, Codable
{
case AED
case AFN
case ALL
case AMD
case ANG
case AOA
case ARS
case AUD
case AWG
case AZN
case BAM
case BBD
case BDT
case BGN
case BHD
case BIF
case BMD
case BND
case BOB
case BOV
case BRL
case BSD
case BTN
case BWP
case BYN
case BZD
case CAD
case CDF
case CHE
case CHF
case CHW
case CLF
case CLP
case CNY
case COP
case COU
case CRC
case CUC
case CUP
case CVE
case CZK
case DJF
case DKK
case DOP
case DZD
case EGP
case ERN
case ETB
case EUR
case FJD
case FKP
case GBP
case GEL
case GHS
case GIP
case GMD
case GNF
case GTQ
case GYD
case HKD
case HNL
case HRK
case HTG
case HUF
case IDR
case ILS
case INR
case IQD
case IRR
case ISK
case JMD
case JOD
case JPY
case KES
case KGS
case KHR
case KMF
case KPW
case KRW
case KWD
case KYD
case KZT
case LAK
case LBP
case LKR
case LRD
case LSL
case LYD
case MAD
case MDL
case MGA
case MKD
case MMK
case MNT
case MOP
case MRU
case MUR
case MVR
case MWK
case MXN
case MXV
case MYR
case MZN
case NAD
case NGN
case NIO
case NOK
case NPR
case NZD
case OMR
case PAB
case PEN
case PGK
case PHP
case PKR
case PLN
case PYG
case QAR
case RON
case RSD
case RUB
case RWF
case SAR
case SBD
case SCR
case SDG
case SEK
case SGD
case SHP
case SLL
case SOS
case SRD
case SSP
case STN
case SVC
case SYP
case SZL
case THB
case TJS
case TMT
case TND
case TOP
case TRY
case TTD
case TWD
case TZS
case UAH
case UGX
case USD
case USN
case UYI
case UYU
case UYW
case UZS
case VES
case VND
case VUV
case WST
case XAF
case XAG
case XAU
case XBA
case XBB
case XBC
case XBD
case XCD
case XDR
case XOF
case XPD
case XPF
case XPT
case XSU
case XUA
case XXX
case YER
case ZAR
case ZMW
case ZWL
}
/**
* Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen.Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.
*/
// @Api(Description="Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen.Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.")
public class Dac6ArrangementChart : Codable
{
/**
* Identifikationsdaten
*/
// @ApiMember(Description="Identifikationsdaten", IsRequired=true, Name="ID")
public var id:Dac6PersonOrganisation
/**
* Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.
*/
// @ApiMember(Description="Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.", Name="ID")
public var ownership:Int?
/**
* Die wertmäßige Beteiligungshöhe
*/
// @ApiMember(Description="Die wertmäßige Beteiligungshöhe", Name="InvestAmount")
public var investAmount:Dac6Amount
/**
* Beteiligungsangaben
*/
// @ApiMember(Description="Beteiligungsangaben", Name="OtherInfos")
public var otherInfos:[Dac6OtherInfo] = []
/**
* Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
*/
// @ApiMember(Description="Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart", Name="ListChilds")
public var listChilds:Dac6ListChilds
required public init(){}
}
/**
* Beteiligungsangaben Angabe der Rechts- und Vertragsbeziehungen zwischen den Unternehmen/natürlichen Personen. Darüber hinaus ist auch eine Angabe z.B. des Cash Flows oder die Verbindung derbeiden (z.B. Beteiligter o.Ä.) möglich.
*/
// @Api(Description="Beteiligungsangaben Angabe der Rechts- und Vertragsbeziehungen zwischen den Unternehmen/natürlichen Personen. Darüber hinaus ist auch eine Angabe z.B. des Cash Flows oder die Verbindung derbeiden (z.B. Beteiligter o.Ä.) möglich.")
public class Dac6OtherInfo : Codable
{
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")
public var language:LanguageCode
/**
* Beschreibung
*/
// @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
/**
* Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
*/
public class Dac6ListChilds : Codable
{
required public init(){}
}
/**
* Liste der betroffenen Mitgliedstaaten Angabe der Mitgliedstaaten der Europäischen Union, die wahrscheinlich von der grenzüberschreitenden Steuergestaltung betroffen sind.
*/
public class Dac6ConcernedMSs : Codable
{
required public init(){}
}
/**
* Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen "DAC6D1Other" über ein Freitextfeld eine Beschreibung des zusätzlichen
*/
// @Api(Description="Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen \"DAC6D1Other\" über ein Freitextfeld eine Beschreibung des zusätzlichen")
public class Dac6Hallmarks : Codable
{
/**
* Angabe der Kennzeichen
*/
// @ApiMember(Description="Angabe der Kennzeichen", IsRequired=true, Name="ListHallmarks")
public var listHallmarks:Dac6ListHallmarks
/**
* Beschreibung des Kennzeichens
*/
// @ApiMember(Description="Beschreibung des Kennzeichens", IsRequired=true, Name="DAC6D1OtherInfos")
public var daC6D1OtherInfos:[DAC6D1OtherInfo] = []
required public init(){}
}
/**
* Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen
*/
// @Api(Description="Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen")
public class Dac6ListHallmarks : Codable
{
/**
* Betroffene Kennzeichen
*/
// @ApiMember(Description="Betroffene Kennzeichen", IsRequired=true, Name="Hallmarks")
public var hallmarks:[Dac6Hallmark] = []
required public init(){}
}
public enum Dac6Hallmark : String, Codable
{
case DAC6A1
case DAC6A2a
case DAC6A2b
case DAC6A3
case DAC6B1
case DAC6B2
case DAC6B3
case DAC6C1a
case DAC6C1bi
case DAC6C1bii
case DAC6C1c
case DAC6C1d
case DAC6C2
case DAC6C3
case DAC6C4
case DAC6D1Other
case DAC6D1a
case DAC6D1b
case DAC6D1c
case DAC6D1d
case DAC6D1e
case DAC6D1f
case DAC6D2
case DAC6E1
case DAC6E2
case DAC6E3
}
/**
* Beschreibung des Kennzeichens Bei Auswahl des Kennzeichens "DAC6D1Other" muss über das freie Textfeld "OtherInfo" eine nähere Beschreibung des Kennzeichens erfolgen. Die beiden Elemente dürfen ausschließlich in Verbindung angegeben werden.
*/
// @Api(Description="Beschreibung des Kennzeichens Bei Auswahl des Kennzeichens \"DAC6D1Other\" muss über das freie Textfeld \"OtherInfo\" eine nähere Beschreibung des Kennzeichens erfolgen. Die beiden Elemente dürfen ausschließlich in Verbindung angegeben werden.")
public class DAC6D1OtherInfo : Codable
{
/**
* Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
*/
// @ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")
public var language:LanguageCode
/**
* Beschreibung
*/
// @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
public var value:String
required public init(){}
}
/**
* Represents an overview result of a DAC6 or ISG delivery process.
*/
// @Api(Description="Represents an overview result of a DAC6 or ISG delivery process.")
public class Dac6Verarbeitungsprotokoll : Codable
{
/**
* The version of the process protocol.
*/
// @ApiMember(Description="The version of the process protocol.", Name="Version")
public var version:String
/**
* The type of message.
*/
// @ApiMember(Description="The type of message.", Name="MessageType")
public var messageType:String
/**
* The statistical information on the delivery.
*/
// @ApiMember(Description="The statistical information on the delivery.", Name="Lieferungsdetails")
public var lieferungsdetails:Lieferungsdetails
/**
* Contains protocol entries for the delivery.
*/
// @ApiMember(Description="Contains protocol entries for the delivery.", Name="Protokolleintraege")
public var protokolleintraege:[Protokolleintrag] = []
required public init(){}
}
/**
* Represents statistical information on a delivery.
*/
// @Api(Description="Represents statistical information on a delivery.")
public class Lieferungsdetails : Codable
{
/**
* Indicates whether the reported tax arrangement is domestic or cross-border.
*/
// @ApiMember(Description="Indicates whether the reported tax arrangement is domestic or cross-border.", Name="Verfahren")
public var verfahren:Dac6Verfahren
/**
* Disclosure-ID e.g. DED20190718UVWXYZ
*/
// @ApiMember(Description="Disclosure-ID e.g. DED20190718UVWXYZ", Name="Version")
public var offenlegungsnummer:String
public var registriernummer:String
/**
* Disclosure ID of the report, which this report refers to.
*/
// @ApiMember(Description="Disclosure ID of the report, which this report refers to.", Name="Bezugsoffenlegung")
public var bezugsoffenlegung:String
/**
* File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml
*/
// @ApiMember(Description="File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml", Name="Eingabedateiname")
public var eingabedateiname:String
/**
* Time stamp at which the message was created.
*/
// @ApiMember(Description="Time stamp at which the message was created.", Name="Erstellungsdatum")
public var erstellungsdatum:Date?
public var messageRefId:String
/**
* File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml
*/
// @ApiMember(Description="File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml", Name="Version")
public var ausgabedateiname:String
/**
* Time stamp of the completion process protocol.
*/
// @ApiMember(Description="Time stamp of the completion process protocol.", Name="Protokollerstellungsdatum")
public var protokollerstellungsdatum:Date?
required public init(){}
}
public enum Dac6Verfahren : String, Codable
{
case DAC6
case ISG
}
/**
* Represents a protocol entry
*/
// @Api(Description="Represents a protocol entry")
public class Protokolleintrag : Codable
{
/**
* The type of entry.
*/
// @ApiMember(Description="The type of entry.", Name="EintragArt")
public var eintragArt:Dac6EintragArt
/**
* Code value of the entry type - error code or information code.
*/
// @ApiMember(Description="Code value of the entry type - error code or information code.", Name="Version")
public var eintragCode:String
/**
* Text (in German) of the protocol entry.
*/
// @ApiMember(Description="Text (in German) of the protocol entry.", Name="EintragText")
public var eintragText:String
required public init(){}
}
public enum Dac6EintragArt : String, Codable
{
case HINWEIS
case FEHLER
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .x-msgpack suffix or ?format=x-msgpack
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /async/elma/dac6/xml HTTP/1.1
Host: reportfiling.pwc.de
Accept: application/x-msgpack
Content-Type: application/x-msgpack
Content-Length: length
{"authSteuernummer":"String","accountId":"String","kundeneigeneId":"String","elmakomVersion":"String","stagingEnabled":false,"dataModel":{"version":"String","sprache":"AA","dac6Arrangement":{"version":"String","header":{"receivingCountries":["AF"],"messageRefId":"String","timestamp":"\/Date(-62135596800000-0000)\/"},"arrangementID":"String","dac6Disclosure":{"disclosureID":"String","refDisclosureID":"String","language":"AA","disclosing":{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"liability":{"intermediaryDiscloser":{"intermediaryNexus":"INEXa","capacity":"DAC61101"},"relevantTaxpayerDiscloser":{"relevantTaxpayerNexus":"RTNEXa","capacity":"DAC61104"}}},"initialDisclosureMA":false,"relevantTaxPayers":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"taxpayerImplementingDate":"\/Date(-62135596800000-0000)\/","associatedEnterprises":[{"associatedEnterpriseID":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"affectedPerson":false}]}],"intermediaries":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"capacity":"DAC61101","nationalExemption":{"exemption":false,"countryExemptions":{"countryExemptions":["AF"]}}}],"affectedPersons":[{"affectedPersonID":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}}}],"disclosureInformation":{"implementingDate":"\/Date(-62135596800000-0000)\/","reason":"DAC6701","summary":{"disclosure_Name":"String","disclosure_Descriptions":[{"language":"AA","value":"String"}]},"nationalProvision":{"texts":[{"language":"AA","value":"String"}],"country":"AF"},"amount":{"currCode":"AED","value":0},"arrangementChart":{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}]}]}]}]},"concernedMSs":["AT"],"mainBenefitTest1":false,"hallmarks":{"listHallmarks":{"hallmarks":["DAC6A1"]},"daC6D1OtherInfos":[{"language":"AA","value":"String"}]}}}},"dac6Verarbeitungsprotokoll":{"version":"String","messageType":"DAC6","lieferungsdetails":{"verfahren":"DAC6","offenlegungsnummer":"String","registriernummer":"String","bezugsoffenlegung":"String","eingabedateiname":"String","erstellungsdatum":"\/Date(-62135596800000-0000)\/","messageRefId":"String","ausgabedateiname":"String","protokollerstellungsdatum":"\/Date(-62135596800000-0000)\/"},"protokolleintraege":[{"eintragArt":"HINWEIS","eintragCode":"String","eintragText":"String"}]}}}
HTTP/1.1 200 OK Content-Type: application/x-msgpack Content-Length: length (string)