<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:taxfi="http://www.vero.fi/schemas/keruuskeema" xmlns:iso="urn:oecd:ties:isocrstypes:v1" targetNamespace="http://www.vero.fi/schemas/keruuskeema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0">
	<xs:import namespace="urn:oecd:ties:isocrstypes:v1" schemaLocation="isocrstypes_v1.1.xsd"/>
	<!-- -->
	<!--+++++++++++++++++++++++  String lenght types ++++++++++++++++++++++++++++++++++++++ -->
	<!-- -->
	<!-- Defines a string with minimum length 1 and maximum length of 10 -->
	<xs:simpleType name="StringMin1Max10_Type">
		<xs:annotation>
			<xs:documentation>Defines a string with minimum length 1 and maximum length of 10</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="10"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!-- Defines a string with minimum length 1 and maximum length of 170 -->
	<xs:simpleType name="StringMin1Max170_Type">
		<xs:annotation>
			<xs:documentation>Defines a string with minimum length 1 and maximum length of 170</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="170"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!-- Defines a string with minimum length 1 and maximum length of 200 -->
	<xs:simpleType name="StringMin1Max200_Type">
		<xs:annotation>
			<xs:documentation>Defines a string with minimum length 1 and maximum length of 200</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!-- Defines a string with minimum length 1 and maximum length of 400 -->
	<xs:simpleType name="StringMin1Max400_Type">
		<xs:annotation>
			<xs:documentation>Defines a string with minimum length 1 and maximum length of 400</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="400"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!-- Defines a string with minimum length 1 and maximum length of 4000 -->
	<xs:simpleType name="StringMin1Max4000_Type">
		<xs:annotation>
			<xs:documentation>Defines a string with minimum length 1 and maximum length of 4000</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="4000"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!--+++++++++++++++++++++++  Other Simple types ++++++++++++++++++++++++++++++++++++++ -->
	<xs:simpleType name="OECDNameType_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				It is possible for stf documents to contain several names for the same party. This is a qualifier to indicate the type of a particular name. Such types include nicknames ('nick'), names under which a party does business ('dba' a short name for the entity, or a name that is used for public acquaintance instead of the official business name) etc.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OECD201">
				<xs:annotation>
					<xs:documentation>SMFAliasOrOther</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD202">
				<xs:annotation>
					<xs:documentation>indiv (individual)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD203">
				<xs:annotation>
					<xs:documentation>alias (alias)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD204">
				<xs:annotation>
					<xs:documentation>nick (nickname)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD205">
				<xs:annotation>
					<xs:documentation>aka (also known as)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD206">
				<xs:annotation>
					<xs:documentation>dba (doing business as)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD207">
				<xs:annotation>
					<xs:documentation>legal (legal name)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD208">
				<xs:annotation>
					<xs:documentation>atbirth (name at birth)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="paymentType_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">The code describing the nature of the payments used in FATCA, CRS and DAC2</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS501">
				<xs:annotation>
					<xs:documentation>Dividends</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CRS502">
				<xs:annotation>
					<xs:documentation>Interest</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CRS503">
				<xs:annotation>
					<xs:documentation>Gross Proceeds/Redemptions</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CRS504">
				<xs:annotation>
					<xs:documentation>Other</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="OECDLegalAddressType_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">This is a datatype for an attribute to an address. It serves to indicate the legal character of that address (residential, business etc.)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="OECD301">
				<xs:annotation>
					<xs:documentation>residentialOrBusiness</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD302">
				<xs:annotation>
					<xs:documentation>residential</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD303">
				<xs:annotation>
					<xs:documentation>business</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD304">
				<xs:annotation>
					<xs:documentation>registeredOffice</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD305">
				<xs:annotation>
					<xs:documentation>unspecified</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="docTypeIndic_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">The element applies only to the document part in which it is included. In the case of repeated or corrected data elements CorrMessageRefId and CorrDocRefId must contain the identifiers MessageRefId and DocRefId respectively for the data referred to. In the case of a correction the unchanged elements shall be transmitted again - except for the element DocRefId.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OECD0">
				<xs:annotation>
					<xs:documentation>Resend CRS or DAC2 Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD1">
				<xs:annotation>
					<xs:documentation>New CRS or DAC2 Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD2">
				<xs:annotation>
					<xs:documentation>Corrected CRS or DAC2 Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD3">
				<xs:annotation>
					<xs:documentation>Deletion of CRS or DAC2 Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD10">
				<xs:annotation>
					<xs:documentation>Resend CRS or DAC2 Test Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD11">
				<xs:annotation>
					<xs:documentation>New CRS or DAC2 Test Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD12">
				<xs:annotation>
					<xs:documentation>Corrected CRS or DAC2 Test Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OECD13">
				<xs:annotation>
					<xs:documentation>Deletion of CRS or DAC2 Test Data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="acctHolderType_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Account Holder Type</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS101"/>
			<xs:enumeration value="CRS102"/>
			<xs:enumeration value="CRS103"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="acctNumberType_EnumType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OECD601"/>
			<xs:enumeration value="OECD602"/>
			<xs:enumeration value="OECD603"/>
			<xs:enumeration value="OECD604"/>
			<xs:enumeration value="OECD605"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="controllingPersonType_EnumType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS801"/>
			<xs:enumeration value="CRS802"/>
			<xs:enumeration value="CRS803"/>
			<xs:enumeration value="CRS804"/>
			<xs:enumeration value="CRS805"/>
			<xs:enumeration value="CRS806"/>
			<xs:enumeration value="CRS807"/>
			<xs:enumeration value="CRS808"/>
			<xs:enumeration value="CRS809"/>
			<xs:enumeration value="CRS810"/>
			<xs:enumeration value="CRS811"/>
			<xs:enumeration value="CRS812"/>
			<xs:enumeration value="CRS813"/>
			<xs:enumeration value="CRS819">
				<xs:annotation>
					<xs:documentation>DAC2 lisäys</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="accountTreatment_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">DAC2 lisäys</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS981"/>
			<xs:enumeration value="CRS982"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="self-Certification_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">DAC2 lisäys</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS971"/>
			<xs:enumeration value="CRS972"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="accountType_EnumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">DAC2 lisäys</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS991"/>
			<xs:enumeration value="CRS992"/>
			<xs:enumeration value="CRS993"/>
			<xs:enumeration value="CRS994"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="messageTypeIndic_EnumType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS701"/>
			<xs:enumeration value="CRS702"/>
			<xs:enumeration value="CRS703"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="messageType_EnumType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CRS"/>
			<xs:enumeration value="DAC2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="tinType">
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional">
					<xs:annotation>
						<xs:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="inType_EnumType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="US GIIN"/>
			<xs:enumeration value="EIN"/>
			<xs:enumeration value="TIN"/>
			<xs:enumeration value="LEI"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string2MinLengthType">
		<xs:restriction base="xs:string">
			<xs:minLength value="2"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="nameOrganisationType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Name of organisation</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="nameType" type="taxfi:OECDNameType_EnumType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="namePersonType">
		<xs:annotation>
			<xs:documentation xml:lang="en">The user must spread the data about the name of a party over up to six elements. The container element for this will be 'NameFix'.</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:element name="PrecedingTitle" type="taxfi:StringMin1Max200_Type" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">His Excellency,Estate of the Late ...</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Title" type="taxfi:StringMin1Max200_Type" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Greeting title. Example: Mr, Dr, Ms, Herr, etc. Can have multiple titles.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FirstName" type="taxfi:firstNameType">
				<xs:annotation>
					<xs:documentation xml:lang="en">FirstName of the person</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MiddleName" type="taxfi:middleNameType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Middle name (essential part of the name for many nationalities). Example: Sakthi in "Nivetha Sakthi Shantha". Can have multiple middle names.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NamePrefix" type="taxfi:namePrefixType" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">de, van, van de, von, etc. Example: Derick de Clarke</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LastName" type="taxfi:lastNameType">
				<xs:annotation>
					<xs:documentation xml:lang="en">Represents the position of the name in a name string. Can be Given Name, Forename, Christian Name, Surname, Family Name, etc. Use the attribute "NameType" to define what type this name is. In case of a company, this field can be used for the company name.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GenerationIdentifier" type="taxfi:StringMin1Max200_Type" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Jnr, Thr Third, III</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Suffix" type="taxfi:StringMin1Max200_Type" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Could be compressed initials - PhD, VC, QC</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GeneralSuffix" type="taxfi:StringMin1Max200_Type" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">Deceased, Retired ...</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="nameType" type="taxfi:OECDNameType_EnumType" use="optional"/>
	</xs:complexType>
	<xs:complexType name="addressType">
		<xs:annotation>
			<xs:documentation xml:lang="en">The user has the option to enter the data about the address of a party either as one long field or to spread the data over up to eight  elements or even to use both formats. If the user chooses the option to enter the data required in separate elements, the container element for this will be 'AddressFix'. If the user chooses the option to enter the data required in a less structured way in 'AddressFree' all available address details shall be presented as one string of bytes, blank or "/" (slash) or carriage return- line feed used as a delimiter between parts of the address. PLEASE NOTE that the address country code is outside  both of these elements. The use of the fixed form is recommended as a rule to allow easy matching. However, the use of the free form is recommended if the sending state cannot reliably identify and distinguish the different parts of the address. The user may want to use both formats e.g. if besides separating the logical parts of the address he also wants to indicate a suitable breakdown into print-lines by delimiters in the free text form. In this case 'AddressFix' has to precede 'AddressFree'.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CountryCode" type="iso:CountryCode_Type"/>
			<xs:choice>
				<xs:element name="AddressFree" type="taxfi:StringMin1Max4000_Type"/>
				<xs:sequence>
					<xs:element name="AddressFix" type="taxfi:addressFixType"/>
					<xs:element name="AddressFree" type="taxfi:StringMin1Max4000_Type" minOccurs="0"/>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="legalAddressType" type="taxfi:OECDLegalAddressType_EnumType" use="optional"/>
	</xs:complexType>
	<xs:complexType name="addressFixType">
		<xs:sequence>
			<xs:element name="Street" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="BuildingIdentifier" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="SuiteIdentifier" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="FloorIdentifier" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="DistrictName" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="POB" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="PostCode" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="City" type="taxfi:cityType"/>
			<xs:element name="CountrySubentity" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="cityType">
		<xs:restriction base="xs:string">
			<xs:minLength value="2"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="docSpecType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Document specification: Data identifying and describing the document, where 'document' here means the part of a message that is to transmit the data about a single block of information.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="DocTypeIndic" type="taxfi:docTypeIndic_EnumType"/>
			<xs:element name="DocRefId" type="taxfi:StringMin1Max200_Type">
				<xs:annotation>
					<xs:documentation xml:lang="en">Sender's unique identifier of this document.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CorrMessageRefId" type="taxfi:StringMin1Max170_Type" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">Reference id of the message of the document referred to if this is a correction.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CorrDocRefId" type="taxfi:StringMin1Max200_Type" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">Reference id of the document referred to if this is correction</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="paymentType">
		<xs:sequence>
			<xs:element name="Type" type="taxfi:paymentType_EnumType">
				<xs:annotation>
					<xs:documentation xml:lang="en">Type of payment (interest, dividend,...)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PaymentAmnt" type="taxfi:paymentAmntType">
				<xs:annotation>
					<xs:documentation xml:lang="en">The amount of payment</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="lastNameType">
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="xnlNameType" type="taxfi:StringMin1Max200_Type">
					<xs:annotation>
						<xs:documentation xml:lang="en">Defines the name type of LastName. Example: Father's name, Family name, Sur Name, Mother's Name, etc. In some countries, LastName could be the given name or first name.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="birthInfoType">
		<xs:sequence>
			<xs:element name="BirthDate" type="xs:date" minOccurs="0"/>
			<xs:element name="City" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="CitySubentity" type="taxfi:StringMin1Max200_Type" minOccurs="0"/>
			<xs:element name="CountryInfo" type="taxfi:countryInfoType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="firstNameType">
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="xnlNameType" type="taxfi:StringMin1Max200_Type">
					<xs:annotation>
						<xs:documentation xml:lang="en">Defines the name type of FirstName. Example: Given Name, Forename, Christian Name, Father's Name, etc. In some countries, FirstName could be a Family Name or a SurName. Use this attribute to define the type for this name.	</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="individualType">
		<xs:sequence>
			<xs:element name="ResCountryCode" type="iso:CountryCode_Type" maxOccurs="unbounded"/>
			<xs:element name="TIN" type="taxfi:tinType" maxOccurs="unbounded"/>
			<xs:element name="Name" type="taxfi:namePersonType" maxOccurs="unbounded"/>
			<xs:element name="Address" type="taxfi:addressType" maxOccurs="unbounded"/>
			<xs:element name="Nationality" type="iso:CountryCode_Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BirthInfo" type="taxfi:birthInfoType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="middleNameType">
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="xnlNameType" type="taxfi:StringMin1Max200_Type">
					<xs:annotation>
						<xs:documentation xml:lang="en">Defines the name type of Middle Name. Example: First name, middle name, maiden name, father's name, given name, etc.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="namePrefixType">
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="xnlNameType" type="taxfi:StringMin1Max200_Type">
					<xs:annotation>
						<xs:documentation xml:lang="en">Defines the type of name associated with the NamePrefix. For example the type of name is LastName and this prefix is the prefix for this last name.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="countryInfoType">
		<xs:choice>
			<xs:element name="CountryCode" type="iso:CountryCode_Type"/>
			<xs:element name="FormerCountryName" type="taxfi:StringMin1Max200_Type"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="paymentAmntType">
		<xs:simpleContent>
			<xs:extension base="taxfi:twoDigFractType">
				<xs:attribute name="currCode" type="iso:currCode_Type" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="accountHolderType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="Individual" type="taxfi:individualType"/>
				<xs:sequence>
					<xs:element name="Organisation" type="taxfi:organisationType"/>
					<xs:element name="AcctHolderType" type="taxfi:acctHolderType_EnumType"/>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="organisationType">
		<xs:sequence>
			<xs:element name="ResCountryCode" type="iso:CountryCode_Type" maxOccurs="unbounded"/>
			<xs:element name="IN" type="taxfi:organisationINType" maxOccurs="unbounded"/>
			<xs:element name="Name" type="taxfi:nameOrganisationType" maxOccurs="unbounded"/>
			<xs:element name="Address" type="taxfi:addressType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="accountNumberType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Account number definition</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="taxfi:string2MinLengthType">
				<xs:attribute name="AcctNumberType" type="taxfi:acctNumberType_EnumType" use="optional"/>
				<xs:attribute name="UndocumentedAccount" type="xs:boolean" use="optional"/>
				<xs:attribute name="ClosedAccount" type="xs:boolean" use="optional"/>
				<xs:attribute name="DormantAccount" type="xs:boolean" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="accountBalanceType">
		<xs:simpleContent>
			<xs:extension base="taxfi:twoDigFractTypeMinVal0">
				<xs:attribute name="currCode" use="required">
					<xs:simpleType>
						<xs:restriction base="iso:currCode_Type"/>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="controllingPersonType">
		<xs:sequence>
			<xs:element name="Individual" type="taxfi:individualType"/>
			<xs:element name="CtrlgPersonType" type="taxfi:controllingPersonType_EnumType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="accountReportType">
		<xs:sequence>
			<xs:element name="DocSpec" type="taxfi:docSpecType"/>
			<xs:element name="AccountTreatment" type="taxfi:accountTreatment_EnumType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>DAC2 lisäys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Self-Certification" type="taxfi:self-Certification_EnumType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>DAC2 lisäys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AccountType" type="taxfi:accountType_EnumType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>DAC2 lisäys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AccountNumber" type="taxfi:accountNumberType"/>
			<xs:element name="AccountHolder" type="taxfi:accountHolderType"/>
			<xs:element name="ControllingPerson" type="taxfi:controllingPersonType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AccountBalance" type="taxfi:accountBalanceType"/>
			<xs:element name="Payment" type="taxfi:paymentType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="twoDigFractType">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="twoDigFractTypeMinVal0">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2"/>
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="contactNameType">
		<xs:restriction base="xs:token">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="contactType_Type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Technical"/>
			<xs:enumeration value="Administrative"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="contactType">
		<xs:sequence>
			<xs:element name="Name" type="taxfi:contactNameType" minOccurs="1"/>
			<xs:element name="Phone" type="taxfi:phoneType" minOccurs="1"/>
			<xs:element name="Email" type="taxfi:emailType"/>
		</xs:sequence>
		<xs:attribute name="Type" type="taxfi:contactType_Type" use="required"/>
	</xs:complexType>
	<xs:simpleType name="phoneType">
		<xs:restriction base="xs:string">
			<xs:minLength value="6"/>
			<xs:pattern value="[+]?\d{6,15}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="emailType">
		<xs:restriction base="xs:string">
			<xs:maxLength value="254"/>
			<xs:pattern value="[_\-a-zA-Z0-9\.\+]+@[a-zA-Z0-9](\.?[\-a-zA-Z0-9]*[a-zA-Z0-9])*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="correctableOrganisationPartyType">
		<xs:complexContent>
			<xs:extension base="taxfi:organisationPartyType">
				<xs:sequence>
					<xs:element name="DocSpec" type="taxfi:docSpecType"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="organisationPartyType">
		<xs:sequence>
			<xs:element name="ResCountryCode" type="xs:string" fixed="FI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="IN" type="taxfi:organisationINType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Entity Identification Number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Name" type="taxfi:nameOrganisationType" maxOccurs="unbounded"/>
			<xs:element name="Address" type="taxfi:addressType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="organisationINType">
		<xs:annotation>
			<xs:documentation xml:lang="en">This is the identification number/identification code for the Entity in question. As the identifier may be not strictly numeric, it is just defined as a string of characters. Attribute 'issuedBy' is required to designate the issuer of the identifier. Attribute 'INType' defines the type of identification number.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="taxfi:StringMin1Max200_Type">
				<xs:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional">
					<xs:annotation>
						<xs:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="INType" type="taxfi:StringMin1Max200_Type" use="optional">
					<xs:annotation>
						<xs:documentation xml:lang="en">Identification Number Type</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="messageRefId_Type">
		<xs:restriction base="xs:string">
			<xs:maxLength value="170"/>
			<xs:pattern value="[0-9]{7}-[0-9]{1}-[0-9]{4}-[0-9]{1,}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="messageSpecType">
		<xs:annotation>
			<xs:documentation xml:lang="en"/>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SendingCompanyIN" type="taxfi:StringMin1Max200_Type" minOccurs="1">
				<xs:annotation>
					<xs:documentation xml:lang="en">Suomalainen y-tunnus</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MessageRefId" type="taxfi:messageRefId_Type">
				<xs:annotation>
					<xs:documentation xml:lang="en">Sender's unique identifier for this message</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MessageTypeIndic" type="taxfi:messageTypeIndic_EnumType" minOccurs="1" maxOccurs="1"/>
			<xs:element name="CorrMessageRefId" type="taxfi:messageRefId_Type" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation xml:lang="en">Sender's unique identifier that has to be corrected. Must point to 1 or more previous message</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReportingPeriod" type="xs:date">
				<xs:annotation>
					<xs:documentation xml:lang="en">The reporting year for which information is transmitted in documents of the current message.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Timestamp" type="xs:dateTime"/>
			<xs:element name="Contact" type="taxfi:contactType" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">All necessary contact information about persons responsible for and involved in the processing of the data transmitted in this message, both legally and technically. Free text as this is not intended for automatic processing.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TAXFIBodyType">
		<xs:sequence>
			<xs:element name="ReportingFI" type="taxfi:correctableOrganisationPartyType">
				<xs:annotation>
					<xs:documentation xml:lang="en">Reporting financial institution</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReportingGroup" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Group that wraps the details for a financial institution report</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AccountReport" type="taxfi:accountReportType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- TAXFI message structure -->
	<xs:element name="TAXFI">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="MessageSpec" type="taxfi:messageSpecType"/>
				<xs:element name="TAXFIBody" type="taxfi:TAXFIBodyType"/>
			</xs:sequence>
			<xs:attribute name="version" type="taxfi:StringMin1Max10_Type"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
