<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2019 sp1 (x64) (http://www.altova.com) by ﻿Verohallinto (Verohallinto) -->
<xsd:schema xmlns:whtt="urn:fi:whttypes:v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:iso="urn:fi:isowhttypes:v1" targetNamespace="urn:fi:whttypes:v1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2">
	<xsd:import namespace="urn:fi:isowhttypes:v1" schemaLocation="isowhttypes_v1.0.1.xsd"/>
	<xsd:complexType name="WhtAddress_type">
		<xsd:annotation>
			<xsd: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'.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="CountryCode" type="iso:CountryCode_Type"/>
			<xsd:choice>
				<xsd:element name="AddressFree" type="xsd:string"/>
				<xsd:sequence>
					<xsd:element name="AddressFix" type="whtt:WhtAddressFix_Type"/>
					<xsd:element name="AddressFree" type="xsd:string" minOccurs="0"/>
				</xsd:sequence>
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	<!-- Address Fix -->
	<xsd:complexType name="WhtAddressFix_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">
			Structure of the address for a party broken down into its logical parts, recommended for easy matching. The 'City' element is the only required subelement. All of the subelements are simple text - data type 'string'.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Street" type="xsd:string"/>
			<xsd:element name="BuildingIdentifier" type="xsd:string" minOccurs="0"/>
			<xsd:element name="SuiteIdentifier" type="xsd:string" minOccurs="0"/>
			<xsd:element name="FloorIdentifier" type="xsd:string" minOccurs="0"/>
			<xsd:element name="DistrictName" type="xsd:string" minOccurs="0"/>
			<xsd:element name="POB" type="xsd:string" minOccurs="0"/>
			<xsd:element name="PostCode" type="xsd:string"/>
			<xsd:element name="City" type="xsd:string"/>
			<xsd:element name="CountrySubentity" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtIban_Type">
		<xsd:sequence>
			<xsd:element name="AccountNumber" type="whtt:IBAN_Type"/>
			<xsd:element name="BicOrSwiftCode" type="whtt:SWIFT_Type" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">BIC or SWIFT code</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AccountHolder" type="whtt:WhtString1MinLength_Type" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Name of the account holder</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="NameOfBank" type="whtt:WhtString1MinLength_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Name of the bank</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="BankAddress" type="whtt:WhtAddress_type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Address of the bank</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="CustomerReference" type="whtt:WhtString1MinLength_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Customers reference</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtOban_Type">
		<xsd:sequence>
			<xsd:element name="AccountNumber" type="whtt:IBAN_Type"/>
			<xsd:element name="AccountHolder" type="whtt:WhtString1MinLength_Type" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Name of the account holder</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="NameOfBank" type="whtt:WhtString1MinLength_Type" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Name of the bank</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="BankAddress" type="whtt:WhtAddress_type" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Address of the bank</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="CustomerReference" type="whtt:WhtString1MinLength_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Customers reference</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ClearingCode" type="xsd:string" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">Clearing code</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<!--++++++++++++++++++ Account and Security number  Specific enumeration types +++++++++++++++++++++++++++ -->
	<!-- International Bank Account Number -->
	<xsd:simpleType name="IBAN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">The International Bank Account Number has to be given here for the account into which the payment in question has been made. Depending on the transmission type this element is optional. Its structure is:
Country code, 2 letters/Check digits, 2 digits/Basic Bank Account Number (BBAN), 10 to 30 alphanumeric characters</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[A-Z]{2}[0-9]{2}[0-9,A-Z]{10,30}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!-- -->
	<!-- International Securities Identification Number -->
	<xsd:simpleType name="ISIN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">The International Securities Identification Number relevant to the reported payment. Its structure is: Country code, 2 letters/Main code, 9 alphanumeric characters/Check digit, 1 digit</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[A-Z]{2}[0-9,A-Z]{9}[0-9]{1}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!-- -->
	<!-- Other Security Identification Number: A Security Identification Number other than the standard ISIN, the attribute to
indicate the kind of such number -->
	<xsd:complexType name="OSIN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Other Security Identification Number: A security identification number other than the standard ISIN</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!-- Other Bank Account Number: A Bank Account Number other than the standard IBAN, the attribute to indicate the
kind of such number -->
	<xsd:complexType name="OBAN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Other Bank Account Number: A bank account number other than the standard IBAN</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!-- Swift registration number-->
	<xsd:simpleType name="SWIFT_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">
	Registration Authority for the Bank Identifier Code: Bank code, 4 alphanumeric characters/Country code, 2 letters/Location code, 2 alphanumeric characters /Branchcode, 3 alphanumeric characters, optional
</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[0-9,A-Z]{4}[A-Z]{2}[0-9,A-Z]{2}([0-9,A-Z]{3})?"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="WhtTIN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This is the identification number/identification code for the party 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. </xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="whtt:WhtString1MinLength_Type">
				<xsd:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- String with minimum length 1 - data type for TIN_Type -->
	<xsd:simpleType name="WhtString1MinLength_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Introduce a min length</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!-- Account number -->
	<xsd:complexType name="FIAccountNumber_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Account number definition</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:choice>
				<xsd:element name="IBAN" type="whtt:IBAN_Type"/>
				<xsd:element name="OBAN" type="whtt:OBAN_Type"/>
			</xsd:choice>
			<xsd:element name="SWIFT" type="whtt:SWIFT_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">BIC, SWIFT or Clearing code</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtIN_Type">
		<xsd:annotation>
			<xsd: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.
</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="whtt:WhtString1MinLength_Type">
				<xsd:attribute name="issuedBy" type="iso:CountryCode_Type" use="required">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="INType" type="whtt:WhtINType_EnumType" use="required">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Identification Number Type</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="WhtTwoDigFract_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Data type for any kind of numeric data with two decimal fraction digits, especially monetary amounts.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="WhtRoyalties_Type">
		<xsd:sequence>
			<xsd:element name="NameOfPayer" type="whtt:WhtString1MinLength_Type"/>
			<xsd:element name="DateOfPayment" type="xsd:date"/>
			<xsd:element name="AmountOfIncome" type="whtt:WhtTwoDigFract_Type"/>
			<xsd:element name="TaxWithheld" type="whtt:WhtTwoDigFract_Type"/>
			<xsd:element name="RequestedRefund" type="whtt:WhtTwoDigFract_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtInterest_Type">
		<xsd:sequence>
			<xsd:element name="NameOfPayer" type="whtt:WhtString1MinLength_Type"/>
			<xsd:element name="DateOfPayment" type="xsd:date"/>
			<xsd:element name="AmountOfIncome" type="whtt:WhtTwoDigFract_Type"/>
			<xsd:element name="TaxWithheld" type="whtt:WhtTwoDigFract_Type"/>
			<xsd:element name="RequestedRefund" type="whtt:WhtTwoDigFract_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtDirectOwnership_Type">
		<xsd:sequence>
			<xsd:element name="DetailsOfIncome" type="whtt:WhtDetailsOfIncome_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtNomineeRegistered_Type">
		<xsd:sequence>
			<xsd:element name="DetailsOfIncome" type="whtt:WhtDetailsOfIncome_Type"/>
			<xsd:element name="ForeignIntermediaries" type="whtt:WhtIntermediaries_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Provide the names of foreign intermediary bank(s)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtFund_Type">
		<xsd:sequence>
			<xsd:element name="NameOfFund" type="xsd:string" minOccurs="1"/>
			<xsd:element name="IN" type="whtt:WhtIN_Type" minOccurs="1" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Tin code of fund or partnership</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DetailsOfIncome" type="whtt:WhtDetailsOfIncome_Type"/>
			<xsd:element name="ForeignIntermediaries" type="whtt:WhtIntermediaries_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Provide the names of foreign intermediary bank(s)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtPartnership_Type">
		<xsd:sequence>
			<xsd:element name="NameOfPartnership" type="xsd:string" minOccurs="1"/>
			<xsd:element name="IN" type="whtt:WhtIN_Type" minOccurs="1" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Tin code of fund or partnership</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DetailsOfIncome" type="whtt:WhtDetailsOfIncome_Type"/>
			<xsd:element name="ForeignIntermediaries" type="whtt:WhtIntermediaries_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Provide the names of foreign intermediary bank(s)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtStockExchangedYes_Type">
		<xsd:sequence>
			<xsd:element name="ISIN" type="whtt:ISIN_Type"/>
			<xsd:element name="NameOfPayer" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtStockExchangedNo_Type">
		<xsd:sequence>
			<xsd:element name="NameOfPayer" type="xsd:string"/>
			<xsd:element name="BusinessId" type="xsd:string">
				<xsd:annotation>
					<xsd:documentation>Payers Finnish business ID</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtDetailsOfIncome_Type">
		<xsd:sequence>
			<xsd:element name="StockExchanged">
				<xsd:annotation>
					<xsd:documentation>Is the share stock exchanged?</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:choice>
							<xsd:element name="Yes" type="whtt:WhtStockExchangedYes_Type"/>
							<xsd:element name="No" type="whtt:WhtStockExchangedNo_Type"/>
						</xsd:choice>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="DateOfPayment" type="xsd:date">
				<xsd:annotation>
					<xsd:documentation>Date of payment</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="NumOfShares" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>number of shares</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GrossAmount" type="whtt:WhtTwoDigFract_Type">
				<xsd:annotation>
					<xsd:documentation>If type of income is dividend, provide the gross amount of dividend</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="TaxWithheld" type="whtt:WhtTwoDigFract_Type">
				<xsd:annotation>
					<xsd:documentation>Tax withheld</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="RequestedRefund" type="whtt:WhtTwoDigFract_Type">
				<xsd:annotation>
					<xsd:documentation>Requested refund</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="NameOfAccountOperator" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Name of account operator</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhtIntermediaries_Type">
		<xsd:sequence>
			<xsd:element name="TopIntermediary" type="xsd:string" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation> Top intermediary bank in chain of intermediary banks</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="OtherIntermediaries" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Other intermediary banks</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="WhtINType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"/>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="IN">
				<xsd:annotation>
					<xsd:documentation>Identification number</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="TIN">
				<xsd:annotation>
					<xsd:documentation>tax identification number</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="GIIN">
				<xsd:annotation>
					<xsd:documentation>US GIIN</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
