Specification for LHV CONNECT

Specification for LHV CONNECT

Version History

DATECHANGE
09.05.2019Added information for initiating payments in UK Faster Payments scheme. Updates to Virtual IBAN services - new customer info tags added.
03.04.2019Added information for SEPA Instant (SCT Inst) payments.
22.02.2019Added Virtual IBAN services descriptions.
26.07.2018Updated link to CA certificate.
13.07.2018Added AccountServicerReference (3.30) to payment initiation response.
21.06.2018Added information about pending payment status (PDNG).
28.03.2018Debit notifications are added to camt.054.001.02. The change will be released 25.04.2018.
28.03.2018Added Response Account Balance, changed the name of Request Account Statement (camt.060.001.03) to Request Account Report and added the option to request account balance (camt.052.001.06)
28.03.2018Added english example to payment initiation. Updated error codes. Added information about payment statuses.
15.12.2017Updated Payment Initiation with option to confirm payments in Internet Bank. 1 Additional error code added.
08.11.2016Updated Certification chapter with root CA. Removed erroneous spaces from xml samples.
29.06.2016Updated description of InstructionIdentification (2.29) in PaymentInitiation section, GroupStatus (2.6) and PaymentInformationStatus (3.4) in Customer Payment Status Report. Added group level error: Duplicate message <PmtInfId>. Removed transaction level error: Invalid amount. Updated Transaction level errors.
27.05.2016Updated Certification chapter. Added General error codes. Payments functionality added
01.04.2016Initial version

Overview

LHV Connect is an API offered by LHV that our customers can use to integrate different banking services directly into their software. Using these services you can execute payments, query account balances or transaction history and perform many other tasks as part of your own software - without need to log into Internet Bank or use any other time consuming channels.
Technically LHV Connect is RESTful web service with requests and responses in XML format, with high availability and fast processing speeds.

Agreement

To start using LHV Connect services you need:

  • Valid customer and internet bank agreement with LHV
  • Sign additional Connect agreement.

Certificates

Two different certificates are needed for using LHV Connect services:

  • Customer specific SSL certificate - identifies and confirms on transport layer that messages were sent by customer's software to the Bank. LHV will generate this custom made certificate for the customer. Steps to be taken:
    1. Customer signs Connect agreement;
    2. LHV sends to the customer necessary data for generating the certificate request file (request.csr);
    3. Customer sends the request file to LHV and receives the certificate.
  • Public root certificate for Connect.lhv.ee, that ensures that client is connecting the the right service - root CA is available here.

Additionally:

  • Signing certificate - some services offered via LHV Connect need a valid digital signature. Currently we support signing certificates based on non-reproducible physical devices and these are: Estonian digi-ID (ID-card), Estonian Mobiil-ID.

Clients and connection schemes

There are two different connection schemes, how clients can connect and use Connect services:

Single clients

Client itself is the sole holder of the authentication certificate and connection software.

Service providers and end users using their services

In this scheme there are two kinds of clients:

  • Service providers (software owner, technical aggregator) - they are directly connected to Connect
  • End user clients, who use CONNECT through service providers - not directly connected to Connect

Only service provider connection software is using Connect services directly. End users are using the service provider software.
For all requests we also need to know the end user - the actual client that uses the service provider.
For this we require two HTTP headers in addition to regular expected input:

  • Client-Code (registration code)
  • Client-Country (country code (2 characters); issuing country of registration code)

If these are missing from the request, you will get a corresponding error.

Messaging

Client message container could be seen as an inbox. Client sends a request to the server and then polls the inbox for a response. If there are any, then it is possible to get the first message. The whole cycle of one message consists of three stages: sending the request, retrieving the response and deleting the response.

Sending request

POST https://connect.lhv.eu/{service-url}

Sample: POST https://connect.lhv.eu/account-statement (the body should contain the actual request)

After successful sending of the message CONNECT gives back a header, for example
Message-Request-Id: REQe38a3875c8a94cc0bf48c558a8c9ee82

This can be used for correlation purposes to later map all responses to the request. For example one can have a single payment request but many corresponding credit-debit notifications.

Retrieving the response

GET https://connect.lhv.eu/messages/next
Poll the client inbox with URL above. The response contains the following important headers:

  • Message-Request-Id (optional) - the same id as the initial request. There are cases where request id can be missing, for example the automatic account statement report service.
    Sample: Message-Request-Id: REQe38a3875c8a94cc0bf48c558a8c9ee82
  • Message-Response-Id (mandatory) - unique response id.
    Sample: Message-Response-Id: RES4ab8a01dd7ed4ed792f0605761ae532a

When executing the request you can receive following HTTP responses:

  • 200 - there is a message waiting and there should be some content in the response XML
  • 204 - there are no new messages

Confirm the successful reading of the response

Confirm that reading the response was successful by deleting the message from your inbox. For this, use the response id.

DELETE https://connect.lhv.eu/messages/RES4ab8a01dd7ed4ed792f0605761ae532a

This step is important, because you can’t retrieve the next message until you confirm reading the previous message. After delete was successful, you can retrieve the next message.

NB! Unread messages older than 5 days are automatically scheduled for deletion.

Response Codes

CODEDESCRIPTION
503Service UnavailableTechnical error.
403ForbiddenAuthorization or authentication failure. Requested service is not stated in Connect agreement, Connect agreement is not valid or other failure.
500Internal Server ErrorTechnical error.
200OKGET request ok.
202AcceptedPOST request accepted.
429Too many requestsToo many requests in a given amount of time.

Error Handling

Service specific errors to Merchant Settlement Report Request and Account Statement Request are returned with following xml file.

List of error codes can be found at the service description.

INDEXMULT.MESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]Errors<Errors>
1.1[1..n]+Error<Error>
1.2[1..1]++ErrorCode<ErrorCode>For example, see list of Account Statement Request Error Codes.
1.3[1..1]++Description<Description>Description text.
1.4[0..1]++Field<Field>Reference to faulty field.

Sample

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Errors>
    <Error>
        <ErrorCode>errStatement_PeriodInvalid</ErrorCode>
        <Description>From date cannot be later than to date.</Description>
        <Field>FrDt</Field>
    </Error>
    <Error>
        <ErrorCode>NotNull</ErrorCode>
        <Description>Name can't be null</Description>
        <Field>Name</Field>
    </Error>
</Errors>

General error codes

ERROR CODEMESSAGEDESCRIPTION
FORBIDDENCertificate has invalid SERIALNUMBER fieldIf authentication certificate SERIALNUMBER field is not a number
FORBIDDEN'Client-Code' request header value is not in numeric formatIf request header 'Client-Code' is not a number
FORBIDDENMissing 'Client-Country' request headerIf request header 'Client-Code' exists but 'Client-Country' header does not
FORBIDDEN'Client-Country' request header value is not in correct format. Length should be 2 characters (i.e. EE)If request header 'Client-Country' length is not 2 characters
FORBIDDENCan't authenticate. No 'Client-Code' header for service providerIf user is service provider or user is using service provider then 'Client-Code' and 'Client-Country' request headers are mandatory
FORBIDDENUser doesn't existIf user identification data was extracted from request but doesn't find such user from Connect system
FORBIDDENUser doesn't have valid contractIf user doesn't have valid contract in active status
FORBIDDENService provider doesn't have valid contractIf user service provider doesn't have valid contract in active status
FORBIDDENUser doesn't have valid certificate for authenticationIf user contract has no authentication certificate
FORBIDDENUser authentication certificate is different than expectedIf the certificate used for the authentication is different than the certificate indicated in the contract
FORBIDDENCan't create certificate, invalid inputIf user certificate in the contract is in the wrong format and is not readable
FORBIDDENUser authentication certificate is not yet validIf user certificate valid from date is in the future
FORBIDDENUser authentication certificate is expiredIf user certificate valid to date is in the past
FORBIDDENError reading certificate policyIf authentication certificate is issued by SK then it tries to read company policy from certificate and it doesnt find it
FORBIDDENCant read certificate issuer infoIf certificate has invalid issuer field or it doesn't exists
FORBIDDENCertificate file not foundIf SK certificate is used and system is trying to do OCSP request but issuer certificate is not found
FORBIDDENSK OCSP request failedIf SK certificate OCSP request failed for some reason (i.e connection failure)
FORBIDDENSK OCSP service doesn't respondIf SK certificate OCSP response is empty
FORBIDDENCertificate SK OCSP response is not validIf SK certificate OCSP respond that cerficate is not valid
FORBIDDENInvalid certificate subject common nameIf trying to read user identification from certificate common name field (CN) and it fails
FORBIDDENUser has not been granted the requested serviceIf service is not enabled in contract

CONNECT Services

Communication Test

Heartbeat service for testing the validity of authorization certificate.

Payment Initiation

Customer to bank Payment Initiation (pain.001.001.03) covers SEPA and other payments at LHV Pank.
There are 3 different possibilities for sending payments via Connect:

  • Payment files are sent by plain xml. All sent payments are seen at Internet bank under Pending payments and payments can be signed (only) there. Internet Bank daily and monthly limits and acceptance rate is applied
  • Payment files are sent in a signed BDOC container. Internet bank daily and monthly limits and acceptance rate is applied. If payment requires more than one signature, all signatures must be included in the bdoc container and limits are subtracted from the last signer.
  • Payment files are sent by plain xml and processed automatically without additional user verification. Connect specific daily and monthly limits are followed. Also Connect´s appendix has to be signed to use this possibility.

Payment Status Report (pain.002.001.03) is returned to inform about the status of imported payments. More than one status may be returned for one payment depending on the details.

Account Reports

Account Reports may be requested by the client with Account Report Request (camt.060.001.03) file. Based on which report is requested, response is returned with

  • Account Statement (camt.053.001.02)
  • Account Balance (camt.052.001.06).

When using service provider connection scheme - also HTTP headers Client-Code and Client-Country are included in the message response. Service providers should always verify these values to identify the correct end user.

Automatic Account Statement

Automatic Account Statement is similar to Account Statement, also based on camt.053.001.02 but is executed automatically each day.

Bank to customer Automatic Account Statement service is account specific as stated in the CONNECT agreement. Automatic Account Statement of the previous day is sent to the message queue every day at 5 AM and generated for all transactions done on previous day from 00:00 until 23:59. If no transactions are made on that day, an empty statement is sent with opening and closing balance.

When using service provider connection scheme - also HTTP headers Client-Code and Client-Country are included in the message response. Service providers should always verify these values to identify the correct end user.

Debit Credit Notification

Bank to customer account specific service for notifying clients of all incoming and outgoing (credit and debit) transactions on account. Notifications are sent with Debit Credit Notification (camt.054.001.02) file 24/7.

When using service provider connection scheme - also HTTP headers Client-Code and Client-Country are included in the message response. Service providers should always verify these values to identify the correct end user.

Statement of Accepting Card Payments

Bank to merchant Point of Sales (POS) Settlement report, which includes all single card payments, cancellations and returns. Transaction amount, charges and net amount is given per each transaction.

Virtual IBAN (VIBAN) services:

Virtual IBAN is a fully functional IBAN for the outside world. But internally it works more as a reference number to a particular customer/account of a PSP.
We do not keep track of the funds of a Viban, all funds are held on the master account. Vibans belong to PSP (our client) but they are allocated to a Viban holder (client of our client or End client).
End clients can be private or legal clients.
Viban is always connected to a master account. One Viban can only have one master account. One master account can have unlimited amount of Vibans connected to it. There is also no limit to how many master accounts one customer (user ID) can have.

  • Virtual IBAN Open - used to request new Virtual IBAN opening
  • Virtual IBAN Bulk - used for bulk opening nameless Virtual IBANs
  • Virtual IBAN Modify - used to add Virtual IBAN holder data to nameless Virtual IBANs
  • Virtual IBAN Info - used to request Virtual IBAN data
  • Virtual IBAN Close - used to close Virtual IBAN
  • Virtual IBAN Status Notification - used to notify client about Virtual IBAN status changes

Communication Test

Heartbeat service

GET https://connect.lhv.eu/heartbeat

Service for testing if system is up and authentication is configured correctly. Returns current system time.

Sample

<HeartBeatResponse>
    <TimeStamp>2016-01-06T11:42:33.491</TimeStamp>
</HeartBeatResponse>

POST https://connect.lhv.eu/heartbeat

Service for testing your BDOC request.

Request should contain signed BDOC containing request.xml file. Service takes authenticated user info, extracts BDOC signature data and request.xml content and composes response xml like below.

Service response can be retrieved via messaging service (GET https://connect.lhv.eu/messages/next).

Sample

<HeartBeatResponse>
    <TimeStamp>2016-01-06T11:42:25.709</TimeStamp>
    <AuthorizedUser>
        <Name>LHV Pank AS</Name>
        <Code>10539549</Code>
    </AuthorizedUser>
    <Signatures>
        <Signature>
            <Name>LHV Pank AS</Name>
            <Code>10539549</Code>
        </Signature>
    </Signatures>
    <UserRequest>Test</UserRequest>
</HeartBeatResponse>

Statement of Accepting Card Payments

Request Merchant Payment Report

POST https://connect.lhv.eu/merchant-report

Request message

MULT.MESSAGE ELEMENTXML TAGDESCRIPTION
[1..1]+MerchantReportRequest<MerchantReportRequest>
[1..1]++Type<Type>CAMT_SETTLEMENT – settlement report CAMT_TRANSACTION – transaction report
[1..1]++PeriodStart<PeriodStart>Maximum period is 35 days by date when transaction was settled or made.
[1..1]++PeriodEnd<PeriodEnd>

Sample

<MerchantReportRequest>
    <Type>CAMT_SETTLEMENT</Type>
    <PeriodStart>2015-12-22</PeriodStart>
    <PeriodEnd>2015-12-22</PeriodEnd>
</MerchantReportRequest>

Response Merchant Payment Report

Message description

Message is used to get an overview about customer (merchant) card payments during the specified period.

Message structure

Group Header – mandatory, occurs once.
Notificaton – mandatory and repetitive per account number and currency. One notification block can include many entries.
Entry – optional and repetitive. Contains information about single entry.

Message root

INDEXMESSAGE ELEMENTXML TAG
[1..1]MessageRoot<BkToCstmrDbtCdtNtfctn>

Group header

INDEXMULT.ORMESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message identifier generated by LHV.
1.2[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the message is created at LHV.
2.0[1..n]+Notification<Ntfctn>
2.1[1..1]++Identification<Id>Unique identifier generated by LHV.
2.4[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the message is created at LHV.
2.10[1..1]++Account<Acct>
[1..1]+++ Identification<Id>
[1..1]++++IBAN<IBAN>IBAN for which this notification block is generated.
[1..1]+++Currency<Ccy>Currency for which this notification block is generated.
2.23[0..1]++TransactionSummary<TxsSummry>
2.29[1..1]+++TotalCreditEntries<TtlCdtNtries>
2.30[1..1]++++NumberOfEntries<NbOfNtries>
2.31[1..1]++++Sum<Sum>
2.32[1..1]+++TotalDebitEntries<TtlDbtNtries>
2.33[1..1]++++NumberOfEntries<NbOfNtries>
2.34[1..1]++++Sum<Sum>
2.56[0..n]++Entry<Ntry>Transaction level entry.
2.57[0..1]+++EntryReference<NtryRef>Unique transaction reference.
2.58[1..1]+++Amount<AmtCcy="AAA">Transaction amount (may be zero).
2.59[1..1]+++CreditDebitIndicator<CdtDbtInd>Zero amount is considered a credit amount.
2.61[1..1]+++Status<Sts>BOOK.
2.62[1..1]+++BookingDate<BookgDt>
[1..1]++++Date<Dt>Transaction date.
2.63[0..1]+++ValueDate<ValDt>
[1..1]++++Date<Dt>Transaction settlement date.
2.64[1..1]+++AccountServicerReference<AcctSvcrRef>Unique transaction reference. Same as 2.57 +++EntryReference.
2.71[1..1]+++BankTransactionCode<BkTxCd>
2.72[1..1]++++Domain<Domn>
2.73[1..1]+++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.74[1..1]+++++Family<Fmly>
2.75[1..1]++++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.76[1..1]++++++SubFamilyCode<SubFmlyCd>See the codes in Code Set: Bank Transaction Codes.
2.77[0..1]++++Proprietary<Prtry>
2.78[1..1]+++++Code<Cd>POS terminal id.
2.115[1..n]+++EntryDetails<NtryDtls>
2.122[1..n]++++TransactionDetails<TxDtls>
2.123[1..1]+++++References<Refs>
2.125[0..1]++++++AccountServicerReference<AcctSvcrRef>Only present if EveryPay Card transaction Order reference is defined or POS-terminal transaction field DE47 subfield 95 is filled with reference, else NULL.
2.131[0..1]++++++ChequeNumber<ChqNb>STAN.
2.133[0..1]++++++Proprietary<Prtry>
2.134[1..1]+++++++Type<Tp>PAN. 7-12 positions are masked.
2.135[1..1]+++++++Reference<Ref>Merchant branch ID (MID).
2.136[1..1]+++++AmountDetails<AmtDtls>
[1..1]++++++TransactionAmount<TxAmt>
2.141[1..1]+++++++Amount<AmtCcy="AAA">Transaction amount (may be zero).
2.152[0..n]++++++Charges<Chrgs>
2.154[1..1]+++++++Amount<Amt>Transaction fee amount.
2.179[0..1]+++++RelatedParties<RltdPties>
2.181[0..1]++++++Debtor<Dbtr>If CreditDebitIndicator=DBIT, then Debtor block is filled.
[0..1]+++++++Name<Nm>Remitter’s name.
2.182[0..1]++++++DebtorAccount<DbtrAcct>
+++++++Identification<Id>
[1..1]{Or++++++++IBAN<IBAN>Remitter’s account number.
[1..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Remitter’s account number which is not IBAN.
2.184[0..1]++++++Creditor<Cdtr>If CreditDebitIndicator=CRDT, then Creditor block is filled.
[0..1]+++++++Name<Nm>Beneficiary’s name.
2.185++++++CreditorAccount<CdtrAcct>
+++++++Identification<Id>
[1..1]{Or++++++++IBAN<IBAN>Beneficiary’s IBAN.
[1..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Beneficiary’s account number which is not IBAN.
2.191+++++RelatedAgents<RltdAgts>
2.192++++++DebtorAgent<DbtrAgt>
+++++++FinancialInstitutionIdentification<FinInstnId>
++++++++Name<Nm>Financial institution identifier.
2.214+++++RemittanceInformation<RmtInf>
2.215++++++Unstructured<Ustrd>Merchant branch name and location where transaction was made.

Sample

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
    <BkToCstmrDbtCdtNtfctn>
        <GrpHdr>
            <MsgId>625402016031520160315</MsgId>
            <CreDtTm>2016-03-15T17:17:56</CreDtTm>
        </GrpHdr>
        <Ntfctn>
            <Id>625402016031520160315EUR</Id>
            <CreDtTm>2016-03-15T17:17:56</CreDtTm>
            <FrToDt>
                <FrDtTm>2016-03-15T00:00:00.000</FrDtTm>
                <ToDtTm>2016-03-15T00:00:00.000</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE777700771000845879</IBAN>
                </Id>
                <Ccy>EUR</Ccy>
            </Acct>
            <TxsSummry>
                <TtlCdtNtries>
                    <NbOfNtries>1</NbOfNtries>
                    <Sum>84.26</Sum>
                </TtlCdtNtries>
                <TtlDbtNtries>
                    <NbOfNtries>0</NbOfNtries>
                    <Sum>0.00</Sum>
                </TtlDbtNtries>
            </TxsSummry>
            <Ntry>
                <NtryRef>4904</NtryRef>
                <Amt Ccy="EUR">83.030000</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Sts>BOOK</Sts>
                <BookgDt>
                    <Dt>2016-01-15</Dt>
                </BookgDt>
                <ValDt>
                    <Dt>2016-03-15</Dt>
                </ValDt>
                <AcctSvcrRef>4904</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>MCDR</Cd>
                            <SubFmlyCd>POSP</SubFmlyCd>
                        </Fmly>
                    </Domn>
                    <Prtry>
                        <Cd>87654321 001</Cd>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <AcctSvcrRef>4904</AcctSvcrRef>
                            <ChqNb>12345</ChqNb>
                            <Prtry>
                                <Tp>532610******3339</Tp>
                                <Ref>1234567</Ref>
                            </Prtry>
                        </Refs>
                        <AmtDtls>
                            <TxAmt>
                                <Amt Ccy="EUR">84.26</Amt>
                            </TxAmt>
                        </AmtDtls>
                        <Chrgs>
                            <Amt Ccy="EUR">1.230000</Amt>
                        </Chrgs>
                        <RltdPties>
                            <Dbtr>
                                <Nm>Legal Merchant</Nm>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>EE777700771000845879</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Nm>Legal Merchant</Nm>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>EE777700771000845879</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <DbtrAgt>
                                <FinInstnId>
                                    <Nm>689MC</Nm>
                                </FinInstnId>
                            </DbtrAgt>
                        </RltdAgts>
                        <RmtInf>
                            <Ustrd>www.abcdef.com \Tallinn \10116 ESTEST</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Ntfctn>
    </BkToCstmrDbtCdtNtfctn>
</Document>

Error codes

ERROR CODEDESCRIPTION
errMerchantReport_TechnicalErrorUnexpected error while composing merchant report response
errMerchantReport_InvalidInputInvalid request xml, can't read it
errMerchantReport_NotNullMaynot be null. Right format yyyy-MM-dd
errMerchantReport_NotNullMaynot be null
errMerchantReport_NotEmptyMaynot be empty
errMerchantReport_1Wrong report type
errMerchantReport_2Period can't be longer than 35 days
errMerchantReport_3No such user code in ACQ
errMerchantReport_4Error creating merchant report
errMerchantReport_7User not authorized for this report request, no IBAN found for merchant
errMerchantReport_9Period start can't be after end

Account Reports

Request Account Report

Account Statement POST https://connect.lhv.eu/account-statement
Account Balance POST https://connect.lhv.eu/account-balance

XML format (camt.060.001.03)

The ISO 20022 Account Report Request camt.060.001.03 standard is used.

Message root

INDEXMESSAGE ELEMENTXML TAG
[1..1]MessageRoot<AcctRptgReq>

Group header

INDEXMULT.MESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message identifier generated by requesting party.
1.2[1..1]++CreationDateTime<CreDtTm>
2.0[1..1]+ReportingRequest<RptgReq>
2.1[0..1]++Identification<Id>
2.2[1..1]++RequestedMessageNameIdentification<ReqdMsgNmId>Supported values: 'camt.053.001.02' BankToCustomerStatement - client request POST https://connect.lhv.eu/account-statement; 'camt.052.001.06' BankToCustomerAccountReport - client request POST https://connect.lhv.eu/account-balance
2.3[1..1]++Account<Acct>
2.3[1..1]+++Identification<Id>
2.3[1..1]++++IBAN<IBAN>IBAN number to which the report request refers. When using Virutal IBAN services - only master account IBAN must be used here. Virtual IBAN is only displayed in the account statement report.
2.4[1..1]++AccountOwner<AcctOwnr>
2.4[1..1]+++Party<Pty>Values are ignored.
2.8[1..1]++ReportingPeriod<RptgPrd>
2.9[1..1]+++FromToDate<FrToDt>
2.9[1..1]++++FromDate<FrDt>Account statement from date, ISO date format. FromDate cannot be later than ToDate. For camt.052.001.06 value is ignored and only current day is returned.
2.9[1..1]++++ToDate<ToDt>Account statement to date, ISO date format. For camt.052.001.06 value is ignored and only current day is returned.
2.10[1..1]+++FromToTime<FrToTm>Value is ignored if ReqdBalTp block not added or if ReqdBalTp.CdOrPrtry.Cd.Prtry = DATE. Used when Prtry = DATETIME
2.10[1..1]+++FromTime<FrTm>ISO datetime, inclusive.
2.10[1..1]+++ToTime<ToTm>ISO datetime, exclusive.
2.13[1..1]+++Type<Tp>‘ALLL’.
2.14[0..1]++Requested Balance Type<ReqdBalTp>Provides details on the requested balance reporting.
2.14[1..1]+++Code or Proprietary<CdOrPrtry>
2.14[1..1]++++Code<Cd>Not used
2.14[1..1]++++Proprietary<Prtry>For account statement camt.053: 'DATE': return statement based on FromDate and ToDate only; FromTime and ToTime are ignored, 'DATETIME': return statement with FromTime and ToTime support.

Sample

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:camt.060.001.03">
    <AcctRptgReq>
        <GrpHdr>
            <MsgId>123</MsgId>
            <CreDtTm>2016-03-03T05:00:00</CreDtTm>
        </GrpHdr>
        <RptgReq>
            <ReqdMsgNmId>camt.053.001.02</ReqdMsgNmId>
            <Acct>
                <Id>
                    <IBAN>EE457700771000676899</IBAN>
                </Id>
            </Acct>
            <AcctOwnr>
                <Pty/>
            </AcctOwnr>
            <RptgPrd>
                <FrToDt>
                    <FrDt>2016-03-02</FrDt>
                    <ToDt>2016-03-02</ToDt>
                </FrToDt>
                <FrToTm>
                    <FrTm>00:00:00+02:00</FrTm>
                    <ToTm>23:59:59+02:00</ToTm>
                </FrToTm>
                <Tp>ALLL</Tp>
            </RptgPrd>
            <ReqdBalTp>  
                <CdOrPrtry>  
                    <Prtry>DATE</Prtry>
                </CdOrPrtry> 
            </ReqdBalTp>             
        </RptgReq>
    </AcctRptgReq>
</Document>

Error codes

ERROR CODEDESCRIPTION
errStatement_NoAccessNo access to the account.
errStatement_PeriodLongPeriod is too long.
errStatement_PeriodInvalidFrom date cannot be later than to date.
errStatement_RequestInvalidRequest message fails xsd validation.

Response Account Statement

XML format (ISO 20022 Account Statement Message camt.053.001.02)

The ISO 20022 Account Statement Message camt.053.001.02 standard is used to report account booked transactions and balances of a selected time period. The message includes information about the opening balance, the closing balance, and the available balance together with all booked transactions of a reporting period. The ISO 20022 format allows to include information that is not supported by LHV. That information is not provided by LHV.

Message structure

Group Header – mandatory, occurs once.
Statement – mandatory and repetitive per currency.
Balance – mandatory and repetitive. Contains elements such as Opening Booked Balance and Closing Booked Balance.
Entry – included in the Statement block. Contains information related to an entry on the account.
Entry Details – included in the Entry block. Contains detailed information related to the entry.

Message root

INDEXMESSAGE ELEMENTXML TAG
[1..1]MessageRoot<BkToCstmrStmt>

Group header

INDEXMULT.MESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message identifier generated by requesting party. Maximum length 35 characters.
1.2[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the account statement message is created at LHV.
1.3[0..1]++MessageRecipient<MsgRcpt>Not used.
1.4[0..1]++MessagePagination<MsgPgntn>Not used.

Statement

INDEXMULT.ORMESSAGE ELEMENTXML TAGDESCRIPTION
2.0[1..n]+Statement<Stmt>
2.1[1..1]++Identification<Id>Unique identification provided by LHV. Identification is generated from the value of GrpHdr.MsgId and the currency for which this Statement block is generated.
2.2[0..1]++ElectronicSequenceNumber<ElctrncSeqNb>Not used.
2.3[0..1]++LegalSequenceNumber<LglSeqNb>Not used.
2.4[1..1]++CreationDateTime<CreDtTm>Date and time when the account statement is generated at LHV.
2.5[1..1]++FromToDate<FrToDt>
[1..1]+++FromDateTime<FrDtTm>Start date of the reporting period.
[1..1]+++ToDateTime<ToDtTm>End date of the reporting period.
2.10[1..1]++Account<Acct>
[1..1]+++Identification<Id>
[1..1]++++IBAN<IBAN>IBAN for which this statement block is generated.
[0..1]+++Currency<Ccy>Account currency for which this statement block is generated.
[0..1]+++Servicer<Svcr>Full information about LHV.
[1..1]++++FinancialInstitutionIdentification<FinInstnId>
[0..1]+++++BIC<BIC>LHVBEE22
[0..1]+++++Name<Nm>LHV Pank
[0..1]+++++PostalAddress<PstlAdr>
[0..1]++++++AddressType<AdrTp>BIZZ
[0..1]++++++StreetName<StrtNm>Tartu mnt
[0..1]++++++BuildingNumber<BldgNb>2
[0..1]++++++PostCode<PstCd>10145
[0..1]++++++TownName<TwnNm>Tallinn
[0..1]++++++CountrySubdivision<CtrySubDvsn>Harjumaa
[0..1]++++++Country<Ctry>EE
2.11[0..1]++RelatedAccount<RltdAcct>Not used.
2.23[1..n]++Balance<Bal>
2.24[1..1]+++Type<Tp>
2.25[1..1]++++CodeOrProprietary<CdOrPrtry>
2.26[1..1]+++++Code<Cd>See the codes in Code Set: Balance.
2.31[0..1]+++CreditLine<CdtLine>Not used.
2.34[1..1]+++Amount<Amt>Balance amount.
2.35[1..1]+++CreditDebitIndicator<CdtDbtInd>See the codes in Code Set: Credit and Debit Code.
2.36[1..1]+++Date<Dt>
[1..1]++++Date<Dt>Balance date
2.43[1..1]++TransactionsSummary<TxsSummry>
2.44[0..1]+++TotalEntries<TtlNtries>Not used.
2.49[1..1]+++TotalCreditEntries<TtlCdtNtries>
2.50[0..1]++++NumberOfEntries<NbOfNtries>Number of credit entries in a given Statement block.
2.51[1..1]++++Sum<Sum>Sum of all credit entries in a given statement block.
2.52[1..1]+++TotalDebitEntries<TtlDbtNtries>
2.53[0..1]++++NumberOfEntries<NbOfNtries>Number of debit ebtries in a given Statement block.
2.54[1..1]++++Sum<Sum>Sum of all debit entries in a given Statement block.
2.76[0..n]++Entry<Ntry>
2.77[0..1]+++EntryReference<NtryRef>Not used.
2.78[1..1]+++Amount<Amt>Transaction amount (may be zero).
2.79[1..1]+++CreditDebitIndicator<CdtDbtInd>See the codes in Code Set: Credit and Debit Code.
2.80[0..1]+++ReversalIndicator<RvslInd>Not used.
2.81[1..1]+++Status<Sts>BOOK
2.82[1..1]+++BookingDate<BookgDt>
[1..1]++++Date<Dt>Booking date.
2.83[0..1]+++ValueDate<ValDt>Not used.
[1..1]++++Date<Dt>
2.84[1..1]+++AccountServicerReference<AcctSvcrRef>Unique payment ID assigned by the bank.
2.91[1..1]+++BankTransactionCode<BkTxCd>
2.92[1..1]++++Domain<Domn>
2.93[1..1]+++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.94[1..1]+++++Family<Fmly>
2.95[1..1]++++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.96[1..1]++++++SubFamilyCode<SubFmlyCd>See the codes in Code Set: Bank Transaction Codes.
2.97[0..1]++++Proprietary<Prtry>Not used.
2.101[0..1]+++AdditionalInformationIndicator<AddtlInfInd>Not used.
2.135[1..n]+++EntryDetails<NtryDtls>
2.136[0..1]++++Batch<Btch>Not used.
2.142[0..n]++++TransactionDetails<TxDtls>
2.143[1..1]+++++References<Refs>
2.144[0..1]++++++MessageIdentification<MsgId>Not used.
2.145[0..1]++++++AccountServicerReference<AcctSvcrRef>Unique payment ID assigned by the bank.
2.146[0..1]++++++PaymentInformationIdentification<PmtInfId>Unique identification assigned by a sending party.
2.147[0..1]++++++InstructionIdentification<InstrId>Payment order number.
2.148[0..1]++++++EndToEndIdentification<EndToEndId>
2.149[0..1]++++++TransactionIdentification<TxId>Not used.
2.199[0..1]+++++RelatedParties<RltdPties>
2.200[0..1]++++++InitiatingParty<InitgPty>Not used.
2.201[0..1]++++++Remitter<Dbtr>
[0..1]+++++++Name<Nm>Remitter’s name.
[0..1]++++++++Country<Ctry>Remitter’s country ISO code.
[0..7]++++++++AddressLine<AdrLine>Remitter’s address.
[0..1]+++++++Identification<Id>If account statement was requested for Virtual IBAN master account this tag will be empty for debit transaction.
[1..1]{Or++++++++OrganisationIdentification<OrgId>
[0..1]+++++++++BICOrBEI<BICOrBEI>Remitter’s BIC or BEI.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Remitter’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[0..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[1..1]++++++++++BirthDate<BirthDt>Remitter’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Remitter’s city of birth.
[1..1]++++++++++CountryOfBirth<CtryOfBirth>Remitter’s country of birth.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Remitter’s identification.
2.202[0..1]++++++RemitterAccount<DbtrAcct>If account statement was requested for Virtual IBAN master account, Virtual IBAN account number is displayed here for debit transaction.
[1..1]+++++++Identification<Id>
[1..1]{Or++++++++IBAN<IBAN>Remitter’s IBAN.
[1..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Remitter’s bank account number which is not IBAN. For Faster Payments (incoming): UK sort code + account nr (14 characters)
2.203[0..1]++++++UltimateRemitter<UltmtDbtr>
[0..1]+++++++Name<Nm>Ultimate remitter’s name.
[0..1]+++++++Identification<Id>
[1..1]{Or++++++++OrganisationIdentification<OrgId>
[0..1]+++++++++BICOrBEI<BICOrBEI>Ultimate remitter’s BIC or BEI.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultimate remitter’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[0..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[1..1]++++++++++BirthDate<BirthDt>Ultimate remitter’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Ultimate remitter’s city of birth.
[1..1]++++++++++CountryOfBirth<CtryOfBirth>Ultimate remitter’s country of birth.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultimate remitter’s identification.
2.204[0..1]++++++Beneficiary<Cdtr>
[0..1]+++++++Name<Nm>Beneficiary’s name.
[0..1]+++++++PostalAddress<PstlAdr>
[0..1]++++++++Country<Ctry>Beneficiary’s country ISO code.
[0..1]++++++++AddressLine<AdrLine>Beneficiary’s address.
[0..1]+++++++Identification<Id>If account statement was requested for Virtual IBAN master account this tag will be empty for credit transaction
[1..1]{Or++++++++OrganisationIdentification<OrgId>
[0..1]+++++++++BICOrBEI<BICOrBEI>Beneficiary’s BIC or BEI.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Beneficiary’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[0..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[1..1]++++++++++BirthDate<BirthDt>Beneficiary’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Beneficiary’s city of birth.
[1..1]++++++++++CountryOfBirth<CtryOfBirth>Beneficiary’s country of birth.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Beneficiary’s identification.
2.205[0..1]++++++BeneficiaryAccount<CdtrAcct>If account statement was requested for Virtual IBAN master account, Virtual IBAN account number is displayed here for credit transaction
[1..1]+++++++Identification<Id>
[0..1]{Or++++++++IBAN<IBAN>Beneficiary’s IBAN. UK Faster Payments (outgoing) - when also payment request contained IBAN.
[0..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Beneficiary’s account number which is not IBAN. UK Faster Payments (outgoing) - when also payment request contained sort code + domestic account nr. For Faster Payments (incoming): UK sort code + account nr (14 characters)
2.206[0..1]++++++UltimateBeneficiary<UltmtCdtr>
[0..1]+++++++Name<Nm>Ultimate beneficiary’s name.
[0..1]+++++++Identification<Id>
[1..1]{Or++++++++OrganisationIdentification<OrgId>
[0..1]+++++++++BICOrBEI<BICOrBEI>Ultimate beneficiary’s BIC or BEI.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultimate beneficiary’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[0..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[1..1]++++++++++BirthDate<BirthDt>Ultimate beneficiary’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Ultimate beneficiary’s city of birth.
[1..1]++++++++++CountryOfBirth<CtryOfBirth>Ultimate beneficiary’s country of birth.
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultimate beneficiary’s identification.
2.211[0..1]+++++RelatedAgents<RltdAgts>
2.212[0..1]++++++RemitterAgent<DbtrAgt>
[1..1]+++++++FinancialInstitutionIdentification<FinInstnId>
[0..1]++++++++BIC<BIC>BIC of the remitter’s bank.
[0..1]++++++++Name<Nm>Name of the remitter’s bank.
2.213[0..1]++++++BeneficiaryAgent<CdtrAgt>
[1..1]+++++++FinancialInstitutionIdentification<FinInstnId>
[0..1]++++++++BIC<BIC>BIC of the beneficiary’s bank.
[0..1]++++++++Name<Nm>Name of the beneficiary’s bank.
2.214[0..1]++++++IntermediaryAgent1<IntrmyAgt1>Not used.
2.215[0..1]++++++IntermediaryAgent2<IntrmyAgt2>Not used.
2.216[0..1]++++++IntermediaryAgent3<IntrmyAgt3>
[1..1]+++++++FinancialInstitutionIdentification<FinInstnId>
[0..1]++++++++BIC<BIC>BIC of the beneficiary’s correspondent bank.
[0..1]++++++++Name<Nm>Name of the beneficiary’s correspondent bank.
2.224[0..1]+++++Purpose<Purp>
2.225[1..1]{Or++++++Code<Cd>See the codes in Code Set: Purpose.
2.226[1..1]Or}++++++Proprietary<Prtry>
2.227[0..10]+++++RelatedRemittanceInformation<RltdRmtInf>Not used.
2.234[0..1]+++++RemittanceInformation<RmtInf>
2.235[0..n]++++++Unstructured<Ustrd>Payment description.
2.236[0..n]++++++Structured<Strd>
2.256[0..n]+++++++BeneficiaryReferenceInformation<CdtrRefInf>
2.257[0..1]++++++++Type<Tp>
2.258[1..1]+++++++++CodeOrProprietary<CdOrPrtry>
2.259[1..1]{Or++++++++++Code<Cd>SCOR
2.260[1..1]Or}++++++++++Proprietary<Prtry>
2.261[0..1]+++++++++Issuer<Issr>
2.262[0..1]++++++++Reference<Ref>Payment reference number.

Sample

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02 camt.053.001.02.xsd">
    <BkToCstmrStmt>
        <GrpHdr>
            <MsgId>10001115</MsgId>
            <CreDtTm>2016-03-15T13:04:55</CreDtTm>
        </GrpHdr>
        <Stmt>
            <Id>10001115EUR</Id>
            <CreDtTm>2016-03-15T13:04:55</CreDtTm>
            <FrToDt>
                <FrDtTm>2016-03-10T00:00:00</FrDtTm>
                <ToDtTm>2016-03-15T13:04:55</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE457700771000676899</IBAN>
                </Id>
                <Ccy>EUR</Ccy>
                <Svcr>
                    <FinInstnId>
                        <BIC>LHVBEE20XXX</BIC>
                        <Nm>AS LHV Pank</Nm>
                        <PstlAdr>
                            <AdrTp>BIZZ</AdrTp>
                            <StrtNm>Tartu mnt.</StrtNm>
                            <BldgNb>2</BldgNb>
                            <PstCd>10145</PstCd>
                            <TwnNm>Tallinn</TwnNm>
                            <CtrySubDvsn>Harjumaa</CtrySubDvsn>
                            <Ctry>EE</Ctry>
                        </PstlAdr>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>OPBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">4497512.65</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2016-03-10</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>CLBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">4497505.65</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2016-03-15</Dt>
                </Dt>
            </Bal>
            <TxsSummry>
                <TtlCdtNtries>
                    <NbOfNtries>0</NbOfNtries>
                    <Sum>0.00</Sum>
                </TtlCdtNtries>
                <TtlDbtNtries>
                    <NbOfNtries>2</NbOfNtries>
                    <Sum>2.00</Sum>
                </TtlDbtNtries>
            </TxsSummry>
            <Ntry>
                <Amt Ccy="EUR">1.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>BOOK</Sts>
                <BookgDt>
                    <Dt>2016-03-10</Dt>
                </BookgDt>
                <AcctSvcrRef>201603101009326802-011387139</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>CCRD</Cd>
                            <SubFmlyCd>FEES</SubFmlyCd>
                        </Fmly>
                    </Domn>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <AcctSvcrRef>201603101009326802-011387139</AcctSvcrRef>
                        </Refs>
                        <AmtDtls>
                            <InstdAmt>
                                <Amt Ccy="EUR">1.00</Amt>
                            </InstdAmt>
                            <TxAmt>
                                <Amt Ccy="EUR">1.00</Amt>
                            </TxAmt>
                        </AmtDtls>
                        <RltdPties>
                            <Dbtr></Dbtr>
                            <Cdtr></Cdtr>
                        </RltdPties>
                        <RltdAgts></RltdAgts>
                        <RmtInf>
                            <Ustrd>Card (..6748) monthly fee</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">1.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>BOOK</Sts>
                <BookgDt>
                    <Dt>2016-03-11</Dt>
                </BookgDt>
                <AcctSvcrRef>201603111009327754-011387982</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>ICDT</Cd>
                            <SubFmlyCd>OTHR</SubFmlyCd>
                        </Fmly>
                    </Domn>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <AcctSvcrRef>201603111009327754-011387982</AcctSvcrRef>
                            <InstrId>94</InstrId>
                        </Refs>
                        <AmtDtls>
                            <InstdAmt>
                                <Amt Ccy="EUR">1.00</Amt>
                            </InstdAmt>
                            <TxAmt>
                                <Amt Ccy="EUR">1.00</Amt>
                            </TxAmt>
                        </AmtDtls>
                        <RltdPties>
                            <Dbtr>
                                <Nm>Silver Kullassepp</Nm>
                                <PstlAdr>
                                    <Ctry>EE</Ctry>
                                </PstlAdr>
                                <Id>
                                    <PrvtId>
                                        <Othr>
                                            <Id>48107090295</Id>
                                            <SchmeNm>
                                                <Cd>NIDN</Cd>
                                            </SchmeNm>
                                        </Othr>
                                    </PrvtId>
                                </Id>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>EE457700771000676899</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Nm>Test Client</Nm>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>EE867700771000681884</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <DbtrAgt>
                                <FinInstnId>
                                    <BIC>LHVBEE20XXX</BIC>
                                    <Nm>AS LHV Pank</Nm>
                                </FinInstnId>
                            </DbtrAgt>
                            <CdtrAgt>
                                <FinInstnId>
                                    <BIC>LHVBEE20XXX</BIC>
                                    <Nm>AS LHV Pank</Nm>
                                </FinInstnId>
                            </CdtrAgt>
                        </RltdAgts>
                        <RmtInf>
                            <Ustrd>EUR payment</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Stmt>
        <Stmt>
            <Id>10001115USD</Id>
            <CreDtTm>2016-03-15T13:04:55</CreDtTm>
            <FrToDt>
                <FrDtTm>2016-03-10T00:00:00</FrDtTm>
                <ToDtTm>2016-03-15T13:04:55</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE457700771000676899</IBAN>
                </Id>
                <Ccy>USD</Ccy>
                <Svcr>
                    <FinInstnId>
                        <BIC>LHVBEE20XXX</BIC>
                        <Nm>AS LHV Pank</Nm>
                        <PstlAdr>
                            <AdrTp>BIZZ</AdrTp>
                            <StrtNm>Tartu mnt.</StrtNm>
                            <BldgNb>2</BldgNb>
                            <PstCd>10145</PstCd>
                            <TwnNm>Tallinn</TwnNm>
                            <CtrySubDvsn>Harjumaa</CtrySubDvsn>
                            <Ctry>EE</Ctry>
                        </PstlAdr>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>OPBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="USD">1216.13</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2016-03-10</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>CLBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="USD">1215.13</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2016-03-15</Dt>
                </Dt>
            </Bal>
            <TxsSummry>
                <TtlCdtNtries>
                    <NbOfNtries>0</NbOfNtries>
                    <Sum>0.00</Sum>
                </TtlCdtNtries>
                <TtlDbtNtries>
                    <NbOfNtries>1</NbOfNtries>
                    <Sum>1.00</Sum>
                </TtlDbtNtries>
            </TxsSummry>
            <Ntry>
                <Amt Ccy="USD">1.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>BOOK</Sts>
                <BookgDt>
                    <Dt>2016-03-15</Dt>
                </BookgDt>
                <AcctSvcrRef>201603151009334556-011396061</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>ICDT</Cd>
                            <SubFmlyCd>OTHR</SubFmlyCd>
                        </Fmly>
                    </Domn>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <AcctSvcrRef>201603151009334556-011396061</AcctSvcrRef>
                            <InstrId>17793</InstrId>
                        </Refs>
                        <AmtDtls>
                            <InstdAmt>
                                <Amt Ccy="USD">1.00</Amt>
                            </InstdAmt>
                            <TxAmt>
                                <Amt Ccy="USD">1.00</Amt>
                            </TxAmt>
                        </AmtDtls>
                        <RltdPties>
                            <Dbtr>
                                <Nm>Silver Kullassepp</Nm>
                                <PstlAdr>
                                    <Ctry>EE</Ctry>
                                    <AdrLine>Tartu mnt, Tallinn, 11111</AdrLine>
                                </PstlAdr>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>EE457700771000676899</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Nm>John Smith</Nm>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <Othr>
                                        <Id>440532013000</Id>
                                    </Othr>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <DbtrAgt>
                                <FinInstnId>
                                    <BIC>LHVBEE20XXX</BIC>
                                    <Nm>AS LHV Pank</Nm>
                                </FinInstnId>
                            </DbtrAgt>
                            <CdtrAgt>
                                <FinInstnId>
                                    <BIC>DEUTDEBBXXY</BIC>
                                </FinInstnId>
                            </CdtrAgt>
                        </RltdAgts>
                        <RmtInf>
                            <Ustrd>USD payment</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Stmt>
    </BkToCstmrStmt>
</Document>

Response Account Balance

XML format (ISO 20022 Account Report Message camt.052.001.06)

The ISO 20022 Account Report Message camt.052.001.06 is used to report current account balance. The report returns two balances: current booked balance (without reservations) and current available balance (with reservations). If client has no balance in any currency, then 0 EUR balance is returned.

Message structure

Group Header - mandatory, occurs once.
Report - mandatory and repetitive per currency. Includes zero to many Balance blocks. Report does not include detailed entry data.

Message root

INDEXMESSAGE ELEMENTXML TAG
[1..1]MessageRoot<BkToCstmrAcctRpt>

Group header

INDEXMULT.MESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message identifier generated by LHV.
1.2[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the account statement message is created at LHV.
1.3[0..1]++MessageRecipient<MsgRcpt>Not used.
1.4[0..1]++MessagePagination<MsgPgntn>Not used.

Report

INDEXMULT.MESSAGE ELEMENTXML TAGDESCRIPTION
2.0[1..n]+Report<Rpt>Report block is generated per every account and currency.
2.1[1..1]++Identification<Id>Unique identification generated by LHV.
2.4[1..1]++CreationDateTime<CreDtTm>Creation date and time.
2.5[0..1]++FromToDate<FrToDt>Period for what this report is generated.
2.5[1..1]+++FromDateTime<FrDtTm>From date and time in camt.060.001.02 request.
2.5[1..1]+++ToDateTime<ToDtTm>To date and time in camt.060.001.02 request.
2.10[1..1]++Account<Acct>
2.10[1..1]+++Identification<Id>
2.10[1..1]++++IBAN<IBAN>Account number for what this report is generated.
2.10[0..1]+++Currency<Ccy>Currency of this report block.
2.23[0..n]++Balance<Bal>Report has two balances: current booked balance and current available balance.
2.24[1..1]+++Type<Tp>
2.25[1..1]++++CodeOrProprietary<CdOrPrtry>
2.26[1..1]+++++Code<Cd>'ITAV' for current available balance; 'ITBD' for interim booked balance.
2.34[1..1]+++Amount<Amt>Balance amount.
2.35[1..1]+++CreditDebitIndicator<CdtDbtInd>See the codes in Code Set: Credit and Debit Code.
2.36[1..1]+++Date<Dt>
2.36[1..1]++++Date<Dt>Date of the balance.
2.76[0..n]++Entry<Ntry>Entry data is not returned.

Sample


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.06">
    <BkToCstmrAcctRpt>
        <GrpHdr>
            <MsgId>10042837</MsgId>
            <CreDtTm>2018-03-23T13:19:44.442</CreDtTm>
        </GrpHdr>
        <Rpt>
            <Id>10042837EUR</Id>
            <CreDtTm>2018-03-23T13:19:44.442</CreDtTm>
            <FrToDt>
                <FrDtTm>2018-03-23T13:19:44.442</FrDtTm>
                <ToDtTm>2018-03-23T13:19:44.442</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE317700771001417358</IBAN>
                </Id>
                <Ccy>EUR</Ccy>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">548.83</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITAV</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">553.83</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
        </Rpt>
        <Rpt>
            <Id>10042837GBP</Id>
            <CreDtTm>2018-03-23T13:19:44.442</CreDtTm>
            <FrToDt>
                <FrDtTm>2018-03-23T13:19:44.442</FrDtTm>
                <ToDtTm>2018-03-23T13:19:44.442</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE317700771001417358</IBAN>
                </Id>
                <Ccy>GBP</Ccy>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="GBP">48.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITAV</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="GBP">48.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
        </Rpt>
        <Rpt>
            <Id>10042837PLN</Id>
            <CreDtTm>2018-03-23T13:19:44.442</CreDtTm>
            <FrToDt>
                <FrDtTm>2018-03-23T13:19:44.442</FrDtTm>
                <ToDtTm>2018-03-23T13:19:44.442</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>EE317700771001417358</IBAN>
                </Id>
                <Ccy>PLN</Ccy>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="PLN">0.02</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITAV</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="PLN">0.02</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-03-23</Dt>
                </Dt>
            </Bal>
        </Rpt>
    </BkToCstmrAcctRpt>
</Document>

Debit Credit Notification

XML format (ISO 20022 Bank To Customer Debit Credit Notification camt.054.001.02)

The ISO 20022 Bank To Customer Debit Credit Notification camt.054.001.02 standard is used to report customer of payments on the account. Both credit and debit transactions are included.
The message does not include balance information.

Message structure

Group Header – mandatory, occurs once.
Notificaton – mandatory and repetitive per account number and currency. One notification block can include many entries.
Entry – optional and repetitive. Contains information about single entry.

Message root

MULT.MESSAGE ELEMENTXML TAG
[1..1]MessageRoot<BkToCstmrDbtCdtNtfctn>

Group header

INDEXMULT.ORMESSAGE ELEMENTXML TAGDESCRIPTION
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message identifier generated by LHV.
1.2[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the notification message is created at LHV.
2.0[1..n]+Notification<Ntfctn>
2.1[1..1]++Identification<Id>Unique notification identifier generated by LHV.
2.4[1..1]++CreationDateTime<CreDtTm>Date and time (UTC+2) when the notification is created at LHV.
2.10[1..1]++Account<Acct>
[1..1]+++ Identification<Id>
[1..1]++++IBAN<IBAN>IBAN for which this notification block is generated. When using Virtual IBAN services - the master account IBAN is used here, and Virtual IBAN in debitor and creditor blocks.
[1..1]+++Currency<Ccy>Currency for which this notification block is generated.
[0..1]+++Owner<Ownr>Account owner information.
[1..1]++++Name<Nm>Account owner name.
[1..1]++++Identification<Id>Legal customer registry code or private customer personal code.
[1..1]{Or+++++OrganisationIdentification<OrgId>
[1..1]++++++Other<Othr>
[1..1]+++++++Identification<Id>Legal customer registry code.
[1..1]Or}+++++PrivateIdentification<PrvtId>
[1..1]++++++Other<Othr>
[1..1]+++++++Identification<Id>Private customer personal code.
[1..1]+++Servicer<Svcr>
[1..1]++++BIC<BIC>LHVBEE22.
[1..1]++++Name<Nm>LHV Pank.
2.56[0..n]++Entry<Ntry>Transaction level entry.
2.58[1..1]+++Amount<AmtCcy="AAA">Transaction amount (may be zero).
2.59[1..1]+++CreditDebitIndicator<CdtDbtInd>Code Set: Credit and debit code. Zero amount is considered a credit amount.
2.61[1..1]+++Status<Sts>BOOK.
2.62[1..1]+++BookingDate<BookgDt>
[1..1]++++Date<Dt>Transaction date.
2.64[1..1]+++AccountServicerReference<AcctSvcrRef>Unique payment ID assigned by the bank.
2.71[1..1]+++BankTransactionCode<BkTxCd>
2.72[1..1]++++Domain<Domn>
2.73[1..1]+++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.74[1..1]+++++Family<Fmly>
2.75[1..1]++++++Code<Cd>See the codes in Code Set: Bank Transaction Codes.
2.76[1..1]++++++SubFamilyCode<SubFmlyCd>See the codes in Code Set: Bank Transaction Codes.
2.115[1..n]+++EntryDetails<NtryDtls>
2.122[1..n]++++TransactionDetails<TxDtls>
2.123[1..1]+++++References<Refs>
2.125[0..1]++++++AccountServicerReference<AcctSvcrRef>Unique payment ID assigned by the bank.
2.126[0..1]++++++PaymentInformationIdentification<PmtInfId>Unique identification assigned by a sending party.
2.127[0..1]++++++InstructionIdentification<InstrId>Payment order number or NOTPROVIDED.
2.136[1..1]+++++AmountDetails<AmtDtls>
[1..1]++++++InstructedAmount<InstdAmt>
[1..1]+++++++Amount<AmtCcy="AAA">Transaction amount (may be zero).
2.179[0..1]+++++RelatedParties<RltdPties>
2.181[0..1]++++++Debtor<Dbtr>Block is included for: credit transactions; debit transactions for Virtual IBAN master account
[0..1]+++++++Name<Nm>Remitter’s name.
[0..1]+++++++PostalAddress<PstlAdr>
[0..1]++++++++Country<Ctry>Remitter’s country ISO code.
[0..7]++++++++AddressLine<AdrLine>Remitter’s address.
[0..1]+++++++Identification<Id>
[1..1]{Or++++++++OrganisationIdentification<OrgId>
[0..1]{{Or+++++++++BICOrBEI<BICOrBEI>Remitter’s BIC or BEI.
[0..n]Or}}+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Remitter’s identification.
[0..1]++++++++++Issuer<Issr>
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[0..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[1..1]++++++++++BirthDate<BirthDt>
[1..1]++++++++++CityOfBirth<CityOfBirth>
[1..1]++++++++++CountryOfBirth<CtryOfBirth>
[0..n]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Remitter’s personal code.
2.182[0..1]++++++DebtorAccount<DbtrAcct>Block is included for: credit transactions; debit transactions for Virtual IBAN master account
+++++++Identification<Id>
[1..1]{Or++++++++IBAN<IBAN>Remitter’s IBAN for credit transaction and Virtual IBAN for debit transactions.
[1..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Remitter’s bank account number which is not IBAN. For Faster Payments (incoming): UK sort code + account nr (14 characters)
2.183[0..1]++++++UltimateDebtor<UltmtDbtr>
[0..1]+++++++Name<Nm>Ultimate remitter’s name.
[0..1]+++++++Identification<Id>
[0..7]{Or++++++++OrganisationIdentification<OrgId>
[0..1]{{Or+++++++++BICOrBEI<BICOrBEI>Ultimate remitter’s BIC or BEI.
[1..1]Or}}+++++++++Other<Othr>
[0..1]++++++++++Identification<Id>Ultimate remitter’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[1..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[0..1]++++++++++BirthDate<BirthDt>Ultimate remitter’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Ultimate remitter’s city of birth.
[0..1]++++++++++CountryOfBirth<CtryOfBirth>Ultimate remitter’s country of birth.
[1..1]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultlimate remitter’s identification.
2.184[0..1]++++++Creditor<Cdtr>Block is included for: debit transactions; credit transactions for Virtual IBAN master account
[0..1]+++++++Name<Nm>Beneficiary’s name.
[0..1]+++++++Identification<Id>
[0..7]{Or++++++++OrganisationIdentification<OrgId>
[0..1]{{Or+++++++++BICOrBEI<BICOrBEI>Beneficiary’s BIC or BEI.
[1..1]Or}}+++++++++Other<Othr>
[0..1]++++++++++Identification<Id>Beneficiary’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[1..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[0..1]++++++++++BirthDate<BirthDt>Beneficiary’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Beneficiary’s city of birth.
[0..1]++++++++++CountryOfBirth<CtryOfBirth>Beneficiary’s country of birth.
[1..1]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Beneficiary’s identification.
2.185++++++CreditorAccount<CdtrAcct>Block is included for: debit transactions; credit transactions for Virtual IBAN master account
+++++++Identification<Id>
[1..1]{Or++++++++IBAN<IBAN>Beneficiary’s IBAN for debit transaction and Virtual IBAN for credit transactions. UK Faster Payments - used when also payment request contained IBAN.
[1..1]Or}++++++++Other<Othr>
[1..1]+++++++++Identification<Id>Beneficiary’s account number which is not IBAN. UK Faster Payments (outgoing) - when also payment request contained sort code + domestic account nr. For Faster Payments (incoming): UK sort code + account nr (14 characters)
2.186[0..1]++++++UltimateCreditor<UltmtCdtr>
[0..1]+++++++Name<Nm>Ultimate beneficiary’s name.
[0..1]+++++++Identification<Id>
[0..7]{Or++++++++OrganisationIdentification<OrgId>
[0..1]{{Or+++++++++BICOrBEI<BICOrBEI>Ultimate beneficiary’s BIC or BEI.
[1..1]Or}}+++++++++Other<Othr>
[0..1]++++++++++Identification<Id>Ultimate beneficiary’s identification.
[1..1]Or}++++++++PrivateIdentification<PrvtId>
[1..1]+++++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
[0..1]++++++++++BirthDate<BirthDt>Ultimate beneficiary’s birth date.
[1..1]++++++++++CityOfBirth<CityOfBirth>Ultimate beneficiary’s city of birth.
[0..1]++++++++++CountryOfBirth<CtryOfBirth>Ultimate beneficiary’s country of birth.
[1..1]+++++++++Other<Othr>
[1..1]++++++++++Identification<Id>Ultimate beneficiary’s identification.
2.191+++++RelatedAgents<RltdAgts>
2.192++++++DebtorAgent<DbtrAgt>
+++++++FinancialInstitutionIdentification<FinInstnId>
++++++++BIC<BIC>BIC of the remitter’s bank.
++++++++Name<Nm>Name of the remitter’s bank.
2.193++++++CreditorAgent<CdtrAgt>
+++++++FinancialInstitutionIdentification<FinInstnId>
++++++++BIC<BIC>BIC of the beneficiary’s bank.
++++++++Name<Nm>Name of the beneficiary’s bank.
2.204+++++Purpose<Purp>
2.205++++++Code<Cd>See the codes in Code Set: Purpose.
2.206++++++Proprietary<Prtry>
2.214+++++RemittanceInformation<RmtInf>
2.215++++++Unstructured<Ustrd>Payment description.
2.216++++++Structured<Strd>
2.217+++++++CreditorReferenceInformation<CdtrRefInf>
2.218++++++++Type<Tp>
2.219+++++++++CodeOrProprietary<CdOrPrtry>
2.220++++++++++Code<Cd>SCOR
2.221++++++++++Proprietary<Prtry>
2.222+++++++++Issuer<Issr>
2.223++++++++Reference<Ref>Payment reference number.

Sample

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
    <BkToCstmrDbtCdtNtfctn>
        <GrpHdr>
            <MsgId>10004486</MsgId>
            <CreDtTm>2016-03-31T15:58:40.072+03:00</CreDtTm>
        </GrpHdr>
        <Ntfctn>
            <Id>10004486EUR</Id>
            <CreDtTm>2016-03-31T15:58:40.074+03:00</CreDtTm>
            <Acct>
                <Id>
                    <IBAN>EE707700771000676255</IBAN>
                </Id>
                <Ccy>EUR</Ccy>
                <Ownr>
                    <Nm>Test Client</Nm>
                    <Id>
                        <OrgId>
                            <Othr>
                                <Id>10453211</Id>
                            </Othr>
                        </OrgId>
                    </Id>
                </Ownr>
                <Svcr>
                    <FinInstnId>
                        <BIC>LHVBEE20XXX</BIC>
                        <Nm>AS LHV Pank</Nm>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <Ntry>
                <Amt Ccy="EUR">5.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Sts>BOOK</Sts>
                <BookgDt>
                    <Dt>2016-03-31</Dt>
                </BookgDt>
                <AcctSvcrRef>201603311009353671-011413012</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>LDAS</Cd>
                        <Fmly>
                            <Cd>NTLN</Cd>
                            <SubFmlyCd>PPAY</SubFmlyCd>
                        </Fmly>
                    </Domn>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <AcctSvcrRef>201603311009353671-011413012</AcctSvcrRef>
                        </Refs>
                        <AmtDtls>
                            <InstdAmt>
                                <Amt Ccy="EUR">5.00</Amt>
                            </InstdAmt>
                            <TxAmt>
                                <Amt Ccy="EUR">5.00</Amt>
                            </TxAmt>
                        </AmtDtls>
                        <RltdPties>
                            <Dbtr>
                                <PstlAdr/>
                            </Dbtr>
                        </RltdPties>
                        <RltdAgts>
                            <DbtrAgt>
                                <FinInstnId/>
                            </DbtrAgt>
                        </RltdAgts>
                        <RmtInf/>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Ntfctn>
    </BkToCstmrDbtCdtNtfctn>
</Document>

Payment Initiation

POST Payment

POST https://connect.lhv.eu/payment

Customer to bank Payment Initiation (pain.001.001.03) covers SEPA and other payments at LHV Pank.
There are 3 methods to send payments via Connect:

  1. Payment files are sent by plain XML. All sent payments are seen at Internet bank under Pending payments and payments can be signed (only) there. Internet Bank daily and monthly limits and acceptance rate is applied.
  2. Payment files are sent by plain XML and processed without additional user actions or confirmations. Separate daily and monthly limits for Connect payments are followed. Virtual IBAN payments are possible only using this option. Also additional contract appendix must be signed to use this possibility.
  3. Payment files are sent in BDOC container. Internet bank daily and monthly limits and acceptance rate is applied. If payment requires more than one signature, all signatures must be included in the BDOC container and limit usage is taken into account for the last signer.

Payment Status Report (pain.002.001.03) is returned to inform about the status of imported payments. More than one status may be returned for one payment.

Payment types and time limits

Payments initiated through LHV Connect are processed as:

  • Estonian Branch - SEPA Instant (SCT Inst), SEPA or SWIFT.
  • UK Branch - Faster Payments, Intra-Bank payment (payments to other LHV Bank accounts).

Routing decisions are done automatically based on the payment currency and the beneficiary:

Estonian Branch

  • If payment currency is EUR and the receiving bank is a member of the RT1 clearing and settlement system for Instant payments - payment is sent as SEPA Instant. List of participants can be found here.
  • If Instant payment cannot be processed for different reasons it is changed to SEPA. First you will receive payment initiation response with status ACWC and description "Payment processed as SEPA" in <AddtlInf> tag. Then additional response about the actual SEPA payment.
  • For other EUR payments in the EAA (European Economic Area) - SEPA payment.
  • Other payments not in EUR or where beneficiary bank is not in the EEA - Swift payment.
  • If customer initial wish was to process payment as Instant/SEPA and it is not possible, then payment is processed as SWIFT (with priority high and fee type SHA).
Payment typeCurrencyBeneficiary bankChargesPriority
European Payment (Instant, SEPA)EUREEASLEVEXPR
Cross Border Payment (Swift)EEA CurrencyEEASHARHIGH, EXPR
Cross Border Payment (Swift)Non EEA CurrencyEEASHARNORM, HIGH, EXPR
Cross Border Payment (Swift)EEA + Non EEA CurrencyNon EEASHAR, DEBTNORM, HIGH, EXPR

UK Branch

  • If payment currency is GBP and the receiving bank is a member of the Faster Payments Service clearing and settlement system - it is sent using Faster Payments. The upper limit of payment amount is 250000 GBP.
    There are different methods to submit the beneficiary account as IBAN or UK domestic account nr with sort code. Examples added below.
  • For Intra-Bank payment also other currencies are available, beneficiary account must belong to LHV UK or Estonian branch.

See also: https://www.lhv.ee/en/payments and Payments_Instructions_and_Time_Limits-EN.pdf

XML format (ISO 20022 Payment Initiation Message pain.001.001.03)

Content-Type: application/xml

The ISO 20022 Payment Initiation Message pain.001.001.03 is a payment initiation standard that covers SEPA and other payments made at LHV Pank. The ISO 20022 format allows to include information that is not supported by LHV. That information is not processed by LHV.

pain.001.001.03 message xml schema file is available at www.iso20022.org.

XML rules

Multiplicity (MULT.) Informs how many times an element can or must be used, as defined by ISO standard.

  1. 1..1 One occurrence (required)
  2. 1..n One or several occurrences (value for “n” represents total number of occurrences)
  3. 1..3 Minimum one occurrence must be used and maximum 3 occurrences can be used. Note: True value of “n” represents unlimited number of occurrences.
  4. 0..1 None or one occurrence to be used (optional)
  5. 0..n None or several occurrences can be used (value for “n” represents total number of occurrences). Note: True value of “n” represents unlimited number of occurrences.

BDOC

Content-Type: application/vnd.etsi.asic-e+zip

XML message has to be signed and the created BDOC has to be put into the body of the message. Whoever signed the document has to have adequate limits and rights for the execution of the payment. XML file needs to be named as "request.xml".

Message structure

Group Header – mandatory, occurs once.
Payment Information – mandatory and repetitive. Contains information related to mostly the debit side of the payment.
Credit Transfer Transaction Information – mandatory and repetitive. Contains information related to the payment(s) included in the message.

Message root

MULT.MESSAGE ELEMENTXML TAG
[1..1]+MessageRoot<CstmrCdtTrfInitn>

Group header

INDEXMULT.ORMESSAGE ELEMENTXML TAGLHV REQUIREMENT
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>
1.2[1..1]++CreationDateTime<CreDtTm>
1.6[1..1]++NumberOfTransactions<NbOfTxs>Number of payments in all Payment Information blocks included in this message. If this number is not correct, the file upload will be cancelled.
1.7[0..1]++ControlSum<CtrlSum>Control sum of all individual amounts for all Payment Information blocks included in this message, irrespective of currencies. If this number is not correct, the file upload will be cancelled.
1.8[1..1]++InitiatingParty<InitgPty>LHV does not support credit transfers on behalf of the remitter. Information in this block will be ignored.
1.8[0..1]+++Name<Nm>
1.8[0..1]+++Identification<Id>
1.8{Or++++OrganisationIdentification<OrgId>
1.8{{Or+++++BICOrBEI<BICOrBEI>
1.8Or}}+++++Other<Othr>
1.8[1..1]++++++Identification<Id>
1.8[0..1]++++++SchemeName<SchmeNm>
1.8[1..1]+++++++Code<Cd>
1.8Or}++++PrivateIdentification<PrvtId>
1.8{Or+++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
1.8[1..1]++++++BirthDate<BirthDt>
1.8[1..1]++++++CityOfBirth<CityOfBirth>
1.8[1..1]++++++CountryOfBirth<CtryOfBirth>
1.8Or}+++++Other<Othr>
1.8[1..1]++++++Identification<Id>
1.8[0..1]++++++SchemeName<SchmeNm>
1.8[1..1]+++++++Code<Cd>

Payment information

INDEXMULT.ORMESSAGE ELEMENTXML TAGLHV REQUIREMENT
2.0[1..n]+PaymentInformation<PmtInf>
2.1[1..1]++PaymentInformationIdentification<PmtInfId>Uniquely identifies the payment information group within this message.
2.2[1..1]++PaymentMethod<PmtMtd>Only the value TRF (credit transfer) is allowed here. If any other value is entered, it will be ignored.
2.3[0..1]++BatchBooking<BtchBookg>Not used.
2.4[0..1]++NumberOfTransactions<NbOfTxs>Number of payment included in the current Payment Information block. If this number is not correct, the file upload will be cancelled.
2.5[0..1]++ControlSum<CtrlSum>Control sum of all individual amounts in the current Payment Information block, irrespective of currencies. If this number is not correct, the file upload will be cancelled.
2.6[0..1]++PaymentTypeInformation<PmtTpInf>
2.7[0..1]+++InstructionPriority<InstrPrty>
2.8[0..1]+++ServiceLevel<SvcLvl>
2.9[1..1]++++Code<Cd>
2.11[0..1]+++LocalInstrument<LclInstrm>
2.12{Or++++Code<Cd>
2.13Or}++++Proprietary<Prtry>Payment priority information. The value here applies to all payments included in the current Payment Information block. See the supported values in Code Set: Payment Priority.
2.14[0..1]+++CategoryPurpose<CtgyPurp>
2.15[1..1]++++Code<Cd>See the supported values in Code Set: Category Purpose.
2.17[1..1]++Requested Execution Date<ReqdExctnDt>Date on which the remitter’s account is debited.
2.19[1..1]++Remitter<Dbtr>Party from whose account the amount of payment is to be debited. If a different party’s information is entered, it will be ignored.
2.19[1..1]+++Name<Nm>Remitter’s name. For Virtual IBAN - the holder name (not the master account owner)
2.19[0..1]+++PostalAddress<PstlAdr>
2.19[0..1]++++Country<Ctry>Remitter’s country ISO code. For Virtual IBAN - the holder country.
2.19[0..2]++++AddressLine<AdrLine>Remitter’s address. For Virtual IBAN - the holder address.
2.19[0..1]+++Identification<Id>For Virtual IBAN - do not use
2.19{Or++++OrganisationIdentification<OrgId>
2.19{{Or+++++BICOrBEI<BICOrBEI>Remitter’s BIC or BEI code.
2.19Or}}+++++Other<Othr>
2.19[1..1]++++++Identification<Id>Organisation’s identification code.
2.19[0..1]++++++SchemeName<SchmeNm>
2.19[1..1]+++++++Code<Cd>See the supported values in Code Set: Organisation Identification.
2.19Or}++++PrivateIdentification<PrvtId>
2.19{Or+++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
2.19[1..1]++++++BirthDate<BirthDt>Remitter’s birth date.
2.19[1..1]++++++CityOfBirth<CityOfBirth>Remitter’s city of birth.
2.19[1..1]++++++CountryOfBirth<CtryOfBirth>Remitter’s birth country ISO code.
2.19Or}+++++Other<Othr>
2.19[1..1]++++++Identification<Id>Remitter’s identification code.
2.19[0..1]++++++SchemeName<SchmeNm>
2.19[1..1]+++++++Code<Cd>See the supported values in Code Set: Private Person Identification.
2.20[1..1]++RemitterAccount<DbtrAcct>Remitter’s account from which the amount of payment is to be debited.
2.20[1..1]+++Identification<Id>
2.20[1..1]++++IBAN<IBAN>Remitter’s IBAN or Virtual IBAN.
2.20[0..1]+++Currency<Ccy>Not required to be filled in. The payment will be made in the currency of the payment amount. If there are not enough funds available on the account, a relevant error message will appear.
2.21[1..1]++ RemitterAgent<DbtrAgt>Remitter’s bank information.
2.21[1..1]+++FinancialInstitutionIdentification<FinInstnId>
2.21[1..1]++++BIC<BIC>If the LHV BIC is faulty or missing, it will be replaced with the correct code.
2.23[0..1]++UltimateRemitter<UltmtDbtr>SEPA specific information. Ultimate party that owes an amount of money to the (ultimate) beneficiary. If ultimate remitter information is filled in at the Payment Information level, it will apply to all payments included in this block. Usage rule: Only to be used if different from the beneficiary.
2.23[0..1]+++Name<Nm>Ultimate remitter’s name.
2.23[0..1]+++Identification<Id>
2.23{Or++++OrganisationIdentification<OrgId>
2.23{{Or+++++BICOrBEI<BICOrBEI>Ultimate remitter’s BIC or BEI code.
2.23Or}}+++++Other<Othr>
2.23[1..1]++++++Identification<Id>Organisation’s identification code.
2.23[0..1]++++++SchemeName<SchmeNm>
2.23[1..1]+++++++Code<Cd>See the supported values in Code Set: Organisation Identification.
2.23Or}++++PrivateIdentification<PrvtId>
2.23{Or+++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
2.23[1..1]++++++BirthDate<BirthDt>Ultimate remitter’s birth date.
2.23[1..1]++++++CityOfBirth<CityOfBirth>Ultimate remitter’s city of birth.
2.23[1..1]++++++CountryOfBirth<CtryOfBirth>Ultimate remitter’s birth country ISO code.
2.23Or}+++++Other<Othr>
2.23[1..1]++++++Identification<Id>Ultimate remitter’s identification code.
2.23[0..1]++++++SchemeName<SchmeNm>
2.23[1..1]+++++++Code<Cd>See the supported values in Code Set: Private Person Identification.
2.24[0..1]++ChargesBearer<ChrgBr>See the supported values in Code Set: Charges Bearer.
2.25[0..1]++ChargesAccount<ChrgsAcct>LHV does not support charge debiting from other than remitter’s account.
2.25[1..1]+++Identification<Id>
2.25[1..1]++++IBAN<IBAN>
2.25[0..1]+++Currency<Ccy>
2.27[1..n]++CreditTransferTransactionInformation<CdtTrfTxInf>This block contains a set of elements providing information on the payment(s) included in the message.
2.28[1..1]+++PaymentIdentification<PmtId>
2.29[0..1]++++InstructionIdentification<InstrId>Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.
2.30[1..1]++++EndToEndIdentification<EndToEndId>Unique identification assigned by the initiating party to unumbiguously identify the transaction.
2.31[0..1]+++PaymentTypeInformation<PmtTpInf>Set of elements used to specify the type of payment.
2.33[0..1]++++ServiceLevel<SvcLvl>Not used.
2.34[1..1]+++++Code<Cd>
2.36[0..1]++++LocalInstrument<LclInstrm>
2.37{Or+++++Code<Cd>
2.38Or}+++++Proprietary<Prtry>Payment priority information. The value here applies to the payment included in the current Credit Transfer Transaction Information block. See the supported values in Code Set: Payment Priority.
2.39[0..1]++++CategoryPurpose<CtgyPurp>
2.40[1..1]+++++Code<Cd>See the supported values in Code Set: Category Purpose.
2.42[1..1]+++Amount<Amt>
2.43{Or++++InstructedAmount<InstdAmt>Payment amount and the currency ordered by the initiating party. All currencies accepted by the bank for payment services are allowed. If there are not enough funds available on the account in a given currency, a relevant error message will appear.
2.44Or}++++EquivalentAmount<EqvtAmt>Not used.
2.51[0..1]+++ChargeBearer<ChrgBr>See the supported values in Code Set: Charges Bearer.
2.70[0..1]+++UltimateRemitter<UltmtDbtr>SEPA specific information. Ultimate party that owes an amount of money to the (ultimate) beneficiary. If ultimate remitter information is filled in at the Credit Transfer Transaction Information level, it will apply only to the current payment. Usage rule: Only to be used if different from the beneficiary.
2.70[0..1]++++Name<Nm>Ultimate remitter’s name.
2.70[0..1]++++Identification<Id>
2.70{Or+++++OrganisationIdentification<OrgId>
2.70{{Or++++++BICOrBEI<BICOrBEI>Ultimate remitter’s BIC or BEI code.
2.70Or}}++++++Other<Othr>
2.70[1..1]+++++++Identification<Id>Organisation’s identification code.
2.70[0..1]+++++++SchemeName<SchmeNm>
2.70[1..1]++++++++Code<Cd>See the supported values in Code Set: Organisation Identification.
2.70Or}+++++PrivateIdentification<PrvtId>
2.70{Or++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
2.70[1..1]+++++++BirthDate<BirthDt>Ultimate remitter’s birth date.
2.70[1..1]+++++++CityOfBirth<CityOfBirth>Ultimate remitter’s city of birth.
2.70[1..1]+++++++CountryOfBirth<CtryOfBirth>Ultimate remitter’s birth country ISO code.
2.70Or}++++++Other<Othr>
2.70[1..1]+++++++Identification<Id>Ultimate remitter’s identification code.
2.70[0..1]+++++++SchemeName<SchmeNm>
2.70[1..1]++++++++Code<Cd>See the supported values in Code Set: Private Person Identification.
2.71[0..1]+++IntermediaryAgent1<IntrmyAgt1>Information about the beneficiary’s bank’s correspondent bank. Used for foreign payments.
2.71[1..1]++++FinancialInstitutionIdentification<FinInstnId>
2.71[0..1]+++++BIC<BIC>Bank’s BIC code.
2.71[0..1]+++++ClearingSystemMemberIdentification<ClrSysMmbId>
2.71[0..1]++++++ClearingSystemIdentification<ClrSysId>
2.71[1..1]+++++++Code<Cd>For the clearing system’s identification code see the External Code Sets spreadsheet on the ISO website.
2.71[1..1]++++++MemberIdentification<MmbId>Identification of the beneficiary's bank's correspondent bank in a clearing system.
2.71[0..1]+++++Name<Nm>Name of the beneficiary’s bank’s correspondent bank. Used when the BIC or the clearing system’s member identification is not known to the initiating party.
2.71[0..1]+++++PostalAddress<PstlAdr>
2.71[0..1]++++++Country<Ctry>Country ISO code of the beneficiary’s bank’s correspondent bank.
2.71[0..2]++++++AddressLine<AdrLine>Country address of the beneficiary’s bank’s correspondent bank.
2.72[0..1]+++IntermediaryAgent1Account<IntrmyAgt1Acct>Not used.
2.72[1..1]++++Identification<Id>
2.72{Or+++++IBAN<IBAN>
2.72Or}+++++Other<Othr>
2.72[1..1]++++++Identification<Id>
2.77[0..1]+++BeneficiaryAgent<CdtrAgt>Beneficiary agent’s information is required if agent is situated outside Estonia.
2.77[1..1]++++FinancialInstitutionIdentification<FinInstnId>
2.77[0..1]+++++BIC<BIC>Beneficiary’s bank’s BIC.
2.77[0..1]+++++ClearingSystemMemberIdentification<ClrSysMmbId>
2.77[0..1]++++++ClearingSystemIdentification<ClrSysId>
2.77[1..1]+++++++Code<Cd>For the clearing system’s identification code see the External Code Sets spreadsheet on the ISO website. Use GBDSC when using UK sort code and domestic account nr separately.
2.77[1..1]++++++MemberIdentification<MmbId>Beneficiary’s bank identification in a clearing system. Use UK sort code when using UK sort code and domestic account nr separately. For RUB payments to Russia, the BIK code is entered here.
2.77[0..1]+++++Name<Nm>Beneficiary's bank name. Usage rule: The name is limited to 70 characters in length. Used when the BIC or the clearing system’s member identification is not known to the initiating party.
2.77[0..1]+++++PostalAddress<PstlAdr>
2.77[0..1]++++++Country<Ctry>Beneficiary’s bank’s country ISO code.
2.77[0..2]++++++AddressLine<AdrLine>Beneficiary’s bank’s address.
2.78[0..1]+++BeneficiaryAgentAccount<CdtrAgt>Beneficiary’s bank account at its correspondent bank. Usage rule: Used only for RUB payments.
2.78[1..1]++++Identification<Id>
2.78{Or+++++IBAN<IBAN>
2.78Or}+++++Other<Othr>
2.78[1..1]++++++Identification<Id>For RUB payments to Russia, the beneficiary’s bank's correspondent account with the Russian central bank is entered here.
2.79[1..1]+++Beneficiary<Cdtr>Beneficiary’s information.
2.79[1..1]++++Name<Nm>Beneficiary’s name.
2.79[0..1]++++PostalAddress<PstlAdr>Beneficiary’s address.
2.79[0..1]+++++Country<Ctry>
2.79[0..2]+++++AddressLine<AdrLine>
2.79[0..1]++++Identification<Id>Beneficiary’s identification.
2.79{Or+++++OrganisationIdentification<OrgId>
2.79{{Or++++++BICOrBEI<BICOrBEI>Beneficiary’s BIC or BEI code.
2.79Or}}++++++Other<Othr>
2.79[1..1]+++++++Identification<Id>Organisation’s identification code. For RUB payments to Russia, INN and KPP codes are entered here.
2.79[0..1]+++++++SchemeName<SchmeNm>
2.79{{Or++++++++Code<Cd>See the supported values in Code Set: Organisation Identification.
2.79Or}}++++++++Proprietary<Prtry>Scheme names INN and KPP are be entered here.
2.79Or}+++++PrivateIdentification<PrvtId>
2.79{Or++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
2.79[1..1]+++++++BirthDate<BirthDt>Beneficiary’s birth date.
2.79[1..1]+++++++CityOfBirth<CityOfBirth>Beneficiary’s city of birth.
2.79[1..1]+++++++CountryOfBirth<CtryOfBirth>Beneficiary’s birth country ISO code.
2.79Or}++++++Other<Othr>
2.79[1..1]+++++++Identification<Id>Beneficiary’s identification.
2.79[0..1]+++++++SchemeName<SchmeNm>
2.79[1..1]++++++++Code<Cd>See the supported values in Code Set: Private Person Identification.
2.80[1..1]+++BeneficiaryAccount<CdtrAcct>Beneficiary’s account.
2.80[1..1]++++Identification<Id>
2.80{Or+++++IBAN<IBAN>Beneficiary’s IBAN. Omit for Faster Payments when using UK domestic account nr.
2.80Or}+++++Other<Othr>
2.80[1..1]++++++Identification<Id>Beneficiary’s account number. Use for domestic UK account nr - separate from sort code (8 char) or concatenated (14 char)
2.80[0..1]++++++SchemeName<SchmeNm>
2.80[1..1]+++++++Code<Cd>Use BBAN when using concatenated UK domestic accountr nr (14 characters), omit when using UK account nr and UK sort code separately.
2.81[0..1]+++UltimateBeneficiary<UltmtCdtr>SEPA specific information. Ultimate beneficiary is the ultimate beneficiary of the payment.
2.81[0..1]++++Name<Nm>Ultimate beneficiary’s name.
2.81[0..1]++++Identification<Id>
2.81{Or+++++OrganisationIdentification<OrgId>
2.81{{Or++++++BICOOrBEI<BICOrBEI>Ultimate beneficiary’s BIC or BEI.
2.81Or}}++++++Other<Othr>
2.81[1..1]+++++++Identification<Id>Ultimate beneficiary’s organisation identification.
2.81[0..1]+++++++SchemeName<SchmeNm>
2.81[1..1]++++++++Code<Cd>See the supported values in Code Set: Organisation Identification.
2.81Or}+++++PrivateIdentification<PrvtId>
2.81{Or++++++DateAndPlaceOfBirth<DtAndPlcOfBirth>
2.81[1..1]+++++++BirthDate<BirthDt>Ultimate beneficiary’s birth date.
2.81[1..1]+++++++CityOfBirth<CityOfBirth>Ultimate beneficiary’s city of birth.
2.81[1..1]+++++++CountryOfBirth<CtryOfBirth>Ultimate beneficiary’s birth country ISO code.
2.81Or}++++++Other<Othr>
2.81[1..1]+++++++Identification<Id>Ultimate beneficiary’s identification.
2.81[0..1]+++++++SchemeName<SchmeNm>
2.81[1..1]++++++++Code<Cd>See the supported values in Code Set: Private Person Identification.
2.86[0..1]+++Purpose<Purp>SEPA specific information. Reason for the payment.
2.87[1..1]++++Code<Cd>See the supported codes in Code Set: Purpose.
2.89[0..10]+++RegulatoryReporting<RgltryRptg>Information about the declaration of payments. Usage rules: 1.Information required by the Russian central bank: For RUB payments to Russia, the VO code and in some cases the KBK code are entered here.
2.89[0..1]++++Authority<Authrty>
2.89[0..1]+++++Country<Ctry>
2.89[0..n]++++Details<Dtls>
2.89[0..1]+++++Type<Tp>
2.89[0..1]+++++Country<Ctry>
2.89[0..1]+++++Code<Cd>
2.89[0..1]+++++Information<Inf>Specification of the balance of payment code 900. For RUB payments to Russia, the VO and KBK codes are entered here.
2.98[0..1]+++RemittanceInformation<RmtInf>Used to enter the payment description (unstructured) and the reference number (structured). It is mandatory to provide one or the other. If both structured and unstructured information is filled in, the beneficiary reference under the structured information will be lifted to the unstructured information tag in accordance with the EACT standard for unstructured remittance information formatting rules. If the remittance information will, as a result, be longer than 140 characters, the bank will deliver only the first 140 characters of the remittance information. Reference number (structured) must comply with Estonian reference standard or Creditor reference
2.99[0..1]++++Unstructured<Ustrd>Payment description is entered here.
2.100[0..1]++++Structured<Strd>
2.120[0..1]+++++BeneficiaryReferenceInformation<CdtrRefInf>
2.121[0..1]++++++Type<Tp>
2.122[1..1]+++++++CodeOrProprietary<CdOrPrtry>
2.123[1..1]++++++++Code<Cd>Only the value SCOR is allowed here. If any other value is entered, it will be ignored.
2.125[0..1]+++++++Issuer<Issr>
2.126[0..1]++++++Reference<Ref>Payment reference number is entered here.

Sample

Typical EUR payment - including two payments in single file

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03
pain.001.001.03.xsd">
<CstmrCdtTrfInitn>
    <GrpHdr>
        <MsgId>10</MsgId>
        <CreDtTm>2016-07-09T10:16:58.696</CreDtTm>
        <NbOfTxs>2</NbOfTxs>
        <CtrlSum>3</CtrlSum>
        <InitgPty>
            <Nm>Test Testija</Nm>
        </InitgPty>
    </GrpHdr>
    <PmtInf>
        <PmtInfId>PMT1</PmtInfId>
        <PmtMtd>TRF</PmtMtd>
        <BtchBookg>false</BtchBookg>
        <NbOfTxs>1</NbOfTxs>
        <ReqdExctnDt>2016-07-11</ReqdExctnDt>
        <Dbtr>
            <Nm>Silver Kullassepp</Nm>
        </Dbtr>
        <DbtrAcct>
            <Id>
                <IBAN>EE457700771000676899</IBAN>
            </Id>
            <Ccy>EUR</Ccy>
        </DbtrAcct>
        <DbtrAgt>
            <FinInstnId>
                <BIC>LHVBEE22</BIC>
            </FinInstnId>
        </DbtrAgt>
        <ChrgBr>SHAR</ChrgBr>
        <CdtTrfTxInf>
            <PmtId>
                <EndToEndId>124</EndToEndId>
            </PmtId>
            <PmtTpInf>
                <LclInstrm>
                    <Prtry>NORM</Prtry>
                </LclInstrm>
            </PmtTpInf>
            <Amt>
                <InstdAmt Ccy="EUR">1</InstdAmt>
            </Amt>
            <ChrgBr>SHAR</ChrgBr>
            <CdtrAgt>
                <FinInstnId>
                    <BIC>AACABE41XXX</BIC>
                </FinInstnId>
            </CdtrAgt>
            <Cdtr>
                <Nm>Cross Border</Nm>
                <PstlAdr>
                    <AdrLine>Somewhere, Belgium</AdrLine>
                </PstlAdr>
            </Cdtr>
            <CdtrAcct>
                <Id>
                    <IBAN>BE68539007547034</IBAN>
                </Id>
            </CdtrAcct>
            <RmtInf>
                <Ustrd>Cross border payment</Ustrd>
            </RmtInf>
        </CdtTrfTxInf>
    </PmtInf>
    <PmtInf>
        <PmtInfId>PMT2</PmtInfId>
        <PmtMtd>TRF</PmtMtd>
        <BtchBookg>false</BtchBookg>
        <NbOfTxs>1</NbOfTxs>
        <ReqdExctnDt>2016-07-09</ReqdExctnDt>
        <Dbtr>
            <Nm>Silver Kullassepp</Nm>
        </Dbtr>
        <DbtrAcct>
            <Id>
                <IBAN>EE457700771000676899</IBAN>
            </Id>
            <Ccy>EUR</Ccy>
        </DbtrAcct>
        <DbtrAgt>
            <FinInstnId>
                <BIC>LHVBEE22</BIC>
            </FinInstnId>
        </DbtrAgt>
        <ChrgBr>SLEV</ChrgBr>
        <CdtTrfTxInf>
            <PmtId>
                <EndToEndId>125</EndToEndId>
            </PmtId>
            <Amt>
                <InstdAmt Ccy="EUR">2</InstdAmt>
            </Amt>
            <Cdtr>
                <Nm>SEPA Pay</Nm>
            </Cdtr>
            <CdtrAcct>
                <Id>
                    <IBAN>EE707700771000678583</IBAN>
                </Id>
            </CdtrAcct>
            <RmtInf>
                <Ustrd>SEPA payments</Ustrd>
                <Strd>
                    <CdtrRefInf>
                        <Tp>
                            <CdOrPrtry>
                                <Cd>SCOR</Cd>
                            </CdOrPrtry>
                        </Tp>
                        <Ref>3120</Ref>
                    </CdtrRefInf>
                </Strd>
            </RmtInf>
        </CdtTrfTxInf>
    </PmtInf>
</CstmrCdtTrfInitn>
</Document>

UK Faster Payments - with beneficiary account as IBAN:

...
<CdtrAcct>
    <Id>
        <IBAN>GB29LHVB60161331921111</IBAN>
    </Id>
</CdtrAcct>
...

UK Faster Payments - with beneficiary account as UK sort code and domestic account number concatenated (CdtrAcct.Id.Othr.Id - 14 char):

...
<CdtrAcct>
    <Id>
        <Othr>
            <Id>12345612345678</Id>
            <SchmeNm>
                <Cd>BBAN</Cd>
            </SchmeNm>
        </Othr>
     </Id>
</CdtrAcct>
...

UK Faster Payments - with beneficiary account as UK Sort Code and domestic account number as separate values (CdtrAgt.FinInstnId.ClrSysMmbId.MmbId - 6 char + CdtrAcct.Id.Othr.Id - 8 char):

...
<CdtrAgt>
    <FinInstnId>
        <ClrSysMmbId>
            <ClrSysId>
                <Cd>GBDSC</Cd>
            </ClrSysId>
            <MmbId>123456</MmbId>
        </ClrSysMmbId>
    </FinInstnId>
</CdtrAgt>
...
<CdtrAcct>
    <Id>
        <Othr>
            <Id>12345678</Id>
        </Othr>
    </Id>
</CdtrAcct>
...

Response

XML format (ISO 20022 Customer Payment Status Report pain.002.001.03)

The ISO 20022 Customer Payment Status Report (pain.002.001.03) message is sent to the client to inform about the status of a payment instruction sent via LHV Connect with Payment Initiation (pain.001.001.03) message.

Customer Payment Status Report refers to the original Payment Initiation message and provides positive, negative and pending status updates to original payments.
There can be many Customer Payment Status Reports per one Payment Initiation message - typically if any of the transactions was not accepted right away for any reason.

Statuses are reported on group level for the whole payment instruction (GrpSts and PmtInfSts tags) and separately for each payment (TxSts tag).
Group level statuses are reported only in the first payments response message after the initial request.
Further responses (if any) shall not contain GrpSts and PmtInfSts tags - you must process the result of every payment entry separately.

Group level statuses (OrgnlGrpInfAndSts.GrpSts and OrgnlPmtInfAndSts.PmtInfSts):

  • RJCT – all payments in original pain.001.001.03 Payment Information block have been rejected.
  • PDNG - pending, payments are waiting for confirmation in Internet Bank.
  • PART – if some of the payments in original pain.001.001.03 Payment Information block have reached one of the accepted statuses (ACSC, ACSP, ACWC), but some also rejected, then status is partially accepted.
  • ACSP - all payments in original pain.001.001.03 have reached at least one of the accepted statuses (ACSC, ACSP, ACWC), but not debited yet
  • ACSC - all payments in original pain.001.001.03 are debited from client’s account.

Single payment statuses (OrgnlPmtInfAndSts.TxInfAndSts.TxSts):

  • RJCT – payment has been rejected (final status).
  • PDNG - pending. Payment is waiting for confirmation in Internet Bank.
  • ACSP – accepted, settlement in process. Payment is being processed by the bank, it has not been debited from client account nor sent to clearing system. At least one more status update must follow (either accept or reject).
  • ACWC – accepted with change. Payment is being processed by the bank, it is not debited from client account. LHV has changed something about this payment. The reason for change is given in <AddtlInf> (3.25) tag. The changes are minor and do not harm the client’s intention. At least one more status is sent about this payment (either accept or reject).
  • ACSC – accepted, settlement completed and payment has been debited from client account (final status).

Every day all payments sent 00:00 - 18:00 (Estonian time) and partially accepted will be rejected 18:00+5 minutes (if conditions are not met by this time).
All payments sent 18:00 – 00:00 (Estonian time) and partially accepted will be rejected 5 minutes after sending.

Message structure

Group Header – mandatory, occurs once. Set of characteristics shared by all individual payments included in the status report message.
Original Group Information And Status – occurs once. Refers to original Payment Initiation Group Level information.
Transaction Information And Status – optional and repetitive. Includes information about the original payment and its status.

Message root

MULT.MESSAGE ELEMENTXML TAG
[1..1]MessageRoot<CstmrPmtStsRpt>

Group header

INDEXMULT.MESSAGE ELEMENTXML TAGLHV REQUIREMENT
1.0[1..1]+GroupHeader<GrpHdr>
1.1[1..1]++MessageIdentification<MsgId>Unique message id created by LHV.
1.2[1..1]++CreationDateTime<CreDtTm>Creation date and time.
1.3[0..1]++InitiatingParty<InitgPty>
1.3[0..1]+++Identification<Id>
1.3[0..1]++++OrganisationIdentification<OrgId>
1.3[0..1]+++++BICOrBEI<BICOrBEI>LHV’s BIC.
2.0[1..1]+OriginalGroupInformationAndStatus<OrgnlGrpInfAndSts>
2.1[1..1]++OriginalMessageIdentification<OrgnlMsgId>Original pain.001.001.03 Group Level Message Id.
2.2[1..1]++OriginalMessageNameIdentification<OrgnlMsgNmId>Value ‘pain.001.001.03’.
2.6[0..1]++GroupStatus<GrpSts>Specifies the status of a group of payments in original pain.001.001.03 message. Group Status is returned in only the first pain.002.001.03 Status Report. Possible values: RJCT – all payments in original pain.001.001.03 are rejected. In this case, there is not Original Payment Information And Status and Transaction Information And Status level. PART – if any of the payments in original pain.001.001.03 has not reached accepted status (ACSP, ACSC, ACWC), then group status is partially accepted. ACSP – if all payments in original pain.001.001.03 are in accepted statuses (ACSP, ACSC, ACWC), then group status is accepted and settlement in process. ACSC – if all payments in original pain.001.001.03 are debited from client’s account, then group status is accepted and settlement completed.
2.7[0..n]++StatusReasonInformation<StsRsnInf>
2.9[0..1]+++Reason<Rsn>
2.10[1..1]++++Code<Cd>If Group Status is RJCT, then filled with ‘NARR’. In this case, Additional Information is also filled.
2.12[0..n]+++AdditionalInformation<AddtlInf>If Reason Code is filled with ‘NARR’, error description is present here. See Group Level Errors.
3.0[0..n]+OriginalPaymentInformationAndStatus<OrgnlPmtInfAndSts>
3.1[1..1]++OriginalPaymentInformationId<OrgnlPmtInfId>Original pain.001.001.03 Payment Information Id.
3.4[0..1]++PaymentInformationStatus<PmtInfSts>Specifies the Payment Information status of original pain.001.001.03 message. Payment Information Status is returned in only the first pain.002.001.03 Status Report. Possible values: RJCT – all payments in original pain.001.001.03 Payment Information block are rejected. PART – if any of the payments in original pain.001.001.03 Payment Information block has not reached accepted status (ACSP, ACSC, ACWC), then status is partially accepted. PDNG - payments in original pain.001.001.03 Payment Information block are waiting for confirmation via Internet Bank. ACSP – if all payments in original pain.001.001.03 Payment Information block are in accepted statuses (ACSP, ACSC, ACWC), then status is accepted and settlement in process. ACSC – if all payments in original pain.001.001.03 Payment Information block are debited from client’s account, then status is accepted and settlement completed.
3.15[0..n]++TransactionInformationAndStatus<TxInfAndSts>
3.17[0..1]+++OriginalInstructionIdentification<OrgnlInstrId>Original payment order number.
3.18[0..1]+++OriginalEndToEndId<OrgnlEndToEndId>Not used.
3.19[0..1]+++TransactionStatus<TxSts>Payment status. Possible values: PDNG - pending. ACSP – accepted, settlement in process. ACWC – accepted with change. ACSC – accepted, settlement completed. Payment has been debited from client account. RJCT – payment has been rejected.
3.20[0..n]+++StatusReasonInformation<StsRsnInf>
3.22[0..1]++++Reason<Rsn>
3.23[1..1]+++++Code<Cd>If Transaction Status is ACWC or RJCT, then ‘NARR’.
3.25[0..n]++++AdditionalInformation<AddtlInf>If Reason Code is ‘NARR’, then description is given here. For Transaction Status ‘ACWC’, see Reason for Change; for Transaction Status ‘ACSC’, see Transaction Level Errors.
3.30[0..1]+++AccountServicerReference<AcctSvcrRef>Unique payment ID assigned by the bank.
3.32[0..1]+++OriginalTransactionReference<OrgnlTxRef>
3.34[0..1]++++Amount<Amt>
3.35[1..1]+++++InstructedAmount<InstdAmt Ccy="AAA">
3.41[0..1]++++RequestedExecutionDate<ReqExctnDt>Execution date requested by client.
3.121[0..1]++++Debtor<Dbtr>
3.121[0..1]+++++Name<Nm>Remitter’s name.
3.122[0..1]++++DebtorAccount<DbtrAcct>
3.122[1..1]+++++Identification<Id>
3.122[1..1]++++++IBAN<IBAN>Remitter’s IBAN.
3.123[0..1]++++DebtorAgent<DbtrAgt>
3.123[1..1]+++++FinancialInstitution Id<FinInstnId>
3.123[1..1]++++++BIC<BIC>LHV’s BIC.
3.125[0..1]++++CreditorAgent<CdtrAgt>
3.125[1..1]+++++ FinancialInstitutionId<FinInstnId>
3.125[1..1]++++++BIC<BIC>Beneficiary’s bank BIC.
3.127[0..1]++++Creditor<Cdtr>
3.127[1..1]+++++Name<Nm>Beneficiary’s name.
3.128[0..1]++++CreditorAccount<CdtrAcct>
3.128[1..1]+++++Identification<Id>
3.128[0..1]++++++IBAN<IBAN>Beneficiary’s IBAN. UK Faster Payments - used when also payment request contained IBAN.
3.128[0..1]++++++Other<Othr>
3.128[1..1]+++++++Identification<Id>Beneficiary’s account number which is not IBAN. UK Faster Payments - used when also payment request contained sort code + domestic account nr.

Group level errors

GROUP STATUSADDITIONAL INFORMATIONDESCRIPTION
RJCTDuplicate message.Message with this id already exists.
RJCTDuplicate message <PmtInfId>.Duplicate payment information block in file.
RJCTUploading file failed. Faulty number of payments in file header.Invalid Number Of Transactions in Header Level.
RJCTUploading file failed. Faulty control sum in file header.Invalid Control Sum in Header Level.
RJCTUploading file failed. Faulty number of payments in Payment Information block <pmtinfid>.Invalid Number Of Transactions in referenced Payment Information block.
RJCTUploading file failed. Faulty control sum in Payment Information block <pmtinfid>.Invalid Control Sum in referenced Payment Information block.
RJCTUploading file failed. Faulty sender account [IBAN].At least one IBAN or Virtual IBAN does not exist. First bad number encountered is added to error message.
RJCTNo rights to remitter's account.Client does not have rights to the specified IBAN or Virtual IBAN.
RJCTIncorrect or corrupted payment file, cannot read payment info.XML file doesn’t pass XSD validation. Reference to invalid value is given if possible.

Transaction level errors

TRANSACTION STATUSADDITIONAL INFORMATIONDESCRIPTION
RJCTReference number invalid.
RJCTCross-border payments from this account are prohibited.
RJCTInvalid beneficiary’s name.
RJCTBeneficiary's Correspondent BIC not valid.
RJCTInvalid client account number / account not found.
RJCTPayments from one Trader account to another are not allowed.
RJCTTrader account. Not allowed currency.
RJCTDescription or reference number must be entered.
RJCTDebtor's organisation identification code is faulty.
RJCTBeneficiary's Bank BIC not valid.
RJCTCreditor's organisation identification code is faulty.
RJCTBeneficiary's account number not valid.
RJCTCreditor's private person identification code is faulty.
RJCTInsufficient daily limit available.
RJCTNo rights to remitter’s account.
RJCTInvalid currency.
RJCTPayment to the same account.
RJCTPayment to receiver account not allowed.
RJCTUltimate debtor's organisation identification code is faulty.
RJCTUltimate debtor's private person identification code is faulty.
RJCTInsufficient monthly limit available.
RJCTCorrespondent Bank BIC not valid.
RJCTAccount and BIC country codes not matching.
RJCTAccount and BIC country codes not matching. Check the account number of the recipient and the BIC number of the recipient bank.
RJCTDebtor's private person identification code is faulty.
RJCTInsufficient funds available.
RJCTSignature weight is less than 100%.
RJCTBeneficiary account number is incorrect. IBAN is mandatory.
RJCTInvalid payment order no.
RJCTOther reason.
RJCTPayment description is too long. Please use maximum <x> characters.
RJCTPlease use Latin characters only.
RJCTThis BIC does not conform to the format. Enter the name and address of the beneficiary’s bank. Insert the beneficiary’s bank code (such as ABA or Fedwire) before the name of the beneficiary’s bank.
RJCTUploading file failed. Faulty sender account.
RJCTDebtor's account not active.Virtual IBAN exists, but is not active
RJCTInvalid debtor's nameVirtual IBAN holder name does not match with payment order (PmtInf.Dbtr.Nm)

Sample

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>10007152</MsgId>
            <CreDtTm>2016-07-06T12:08:38.571+03:00</CreDtTm>
            <InitgPty>
                <Id>
                    <OrgId>
                        <BICOrBEI>LHVBEE20XXX</BICOrBEI>
                    </OrgId>
                </Id>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>10</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.03</OrgnlMsgNmId>
            <GrpSts>ACSP</GrpSts>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>PMT1</OrgnlPmtInfId>
            <PmtInfSts>ACSP</PmtInfSts>
            <TxInfAndSts>
                <OrgnlInstrId>4327</OrgnlInstrId>
                <TxSts>ACSP</TxSts>
                <OrgnlTxRef>
                    <Amt>
                        <InstdAmt Ccy="EUR">1.00</InstdAmt>
                    </Amt>
                    <ReqdExctnDt>2016-07-11</ReqdExctnDt>
                    <Dbtr>
                        <Nm>Silver Kullassepp</Nm>
                    </Dbtr>
                    <DbtrAcct>
                        <Id>
                            <IBAN>EE457700771000676899</IBAN>
                        </Id>
                    </DbtrAcct>
                    <DbtrAgt>
                        <FinInstnId>
                            <BIC>LHVBEE22</BIC>
                        </FinInstnId>
                    </DbtrAgt>
                    <CdtrAgt>
                        <FinInstnId>
                            <BIC>AACABE41XXX</BIC>
                        </FinInstnId>
                    </CdtrAgt>
                    <Cdtr>
                        <Nm>Murakas Välis</Nm>
                    </Cdtr>
                    <CdtrAcct>
                        <Id>
                            <IBAN>BE68539007547034</IBAN>
                        </Id>
                    </CdtrAcct>
                </OrgnlTxRef>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>PMT2</OrgnlPmtInfId>
            <PmtInfSts>ACSP</PmtInfSts>
            <TxInfAndSts>
                <OrgnlInstrId>4328</OrgnlInstrId>
                <TxSts>ACSP</TxSts>
                <OrgnlTxRef>
                    <Amt>
                        <InstdAmt Ccy="EUR">2.00</InstdAmt>
                    </Amt>
                    <ReqdExctnDt>2016-07-09</ReqdExctnDt>
                    <Dbtr>
                        <Nm>Silver Kullassepp</Nm>
                    </Dbtr>
                    <DbtrAcct>
                        <Id>
                            <IBAN>EE457700771000676899</IBAN>
                        </Id>
                    </DbtrAcct>
                    <DbtrAgt>
                        <FinInstnId>
                            <BIC>LHVBEE22</BIC>
                        </FinInstnId>
                    </DbtrAgt>
                    <CdtrAgt>
                        <FinInstnId>
                            <BIC>LHVBEE22</BIC>
                        </FinInstnId>
                    </CdtrAgt>
                    <Cdtr>
                        <Nm>Murakas Välis</Nm>
                    </Cdtr>
                    <CdtrAcct>
                        <Id>
                            <IBAN>EE707700771000678583</IBAN>
                        </Id>
                    </CdtrAcct>
                </OrgnlTxRef>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>

Virtual IBAN Services

Virtual IBAN Open

POST https://connect.lhv.eu/viban/open

Service is used to request new Virtual IBAN opening. Only one Virtual IBAN can be opened with one service request.
It is mandatory to fill in minimal data set about Virtual IBAN owner and request message structure is slightly different for private and legal persons.
After receiving the request, background check is done by LHV for Virtual IBAN owner (the check is done in less than a second).

  • If check is OK, then Virtual IBAN is activated at once.
  • If check is not OK, then Virtual IBAN will remain in status ON_HOLD until decision about Virtual IBAN opening is made. CONNECT customer will be informed about the decision (status ACTIVE or REJECTED) via service Status notification.

Request

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanOpenRequest>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
Sample
Private person
<?xml version="1.0" encoding="UTF-8"?>
<VibanOpenRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <User>
    <Person>
      <Name>Donald Duck</Name>
      <BirthDate>1908-11-29</BirthDate>
      <BirthCountry>DE</BirthCountry>
      <Residency>DE</Residency>
      <DocumentNumber>A942819</DocumentNumber>
    </Person>
    <Address>
      <Country>EE</Country>
      <StreetNo>Majaka 47-10</StreetNo>
      <CityCounty>Xiao, Neverland</CityCounty>
    </Address>
  </User>
</VibanOpenRequest>
Legal person
<?xml version="1.0" encoding="UTF-8"?>
<VibanOpenRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <User>
    <Company>
      <Name>UK Ltd Version 2.0</Name>
      <CountryOfOrigin>GB</CountryOfOrigin>
      <TaxResidency>GB</TaxResidency>
      <RegistrationNumber>1849203</RegistrationNumber>
      <Representative>
        <Name>Harry Potter</Name>
        <BirthDate>2001-01-01</BirthDate>
        <Residency>GB</Residency>
      </Representative>
    </Company>
    <Address>
      <Country>GB</Country>
      <StreetNo>Waterloo Bridge 13</StreetNo>
      <CityCounty>London, Cold</CityCounty>
    </Address>
  </User>
</VibanOpenRequest>

Response

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanOpenResponse>
[1..1]++MasterAccount<MasterAccount>
[1..1]++VirtualIBAN<VirtualIBAN>Virtual IBAN that was generated.
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
[1..1]++Status<Status>Status of Virtual IBAN: 'ACTIVE' or 'ON_HOLD'.
Sample
Private person
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanOpenResponse>
    <MasterAccount>EE837700771001625166</MasterAccount>
    <VirtualIBAN>EE867777000202527783</VirtualIBAN>
    <User>
        <Person>
          <Name>Donald Duck</Name>
          <BirthDate>1908-11-29</BirthDate>
          <BirthCountry>DE</BirthCountry>
          <Residency>DE</Residency>
          <DocumentNumber>A942819</DocumentNumber>
        </Person>
        <Address>
            <Country>EE</Country>
            <StreetNo>Majaka 47-10</StreetNo>
            <CityCounty>Xiao, Neverland</CityCounty>
        </Address>
    </User>
    <Status>ACTIVE</Status>
</VibanOpenResponse>
Legal person
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanOpenResponse>
    <MasterAccount>EE837700771001625166</MasterAccount>
    <VirtualIBAN>EE497777000202527770</VirtualIBAN>
    <User>
        <Company>
            <Name>UK Ltd Version 2.0</Name>
            <CountryOfOrigin>GB</CountryOfOrigin>
            <TaxResidency>GB</TaxResidency>
            <RegistrationNumber>1849203</RegistrationNumber>
            <Representative>
                <Name>Harry Potter</Name>
                <BirthDate>2001-01-01</BirthDate>
                <Residency>GB</Residency>
            </Representative>
        </Company>
        <Address>
            <Country>GB</Country>
            <StreetNo>Waterloo Bridge 13</StreetNo>
            <CityCounty>London, Cold</CityCounty>
        </Address>
    </User>
    <Status>ACTIVE</Status>
</VibanOpenResponse>

Virtual IBAN Bulk

POST https://connect.lhv.eu/viban/bulk

Service is used for bulk opening nameless Virtual IBANs. Up to 1000 virtual IBANs can be opened with one request.

Nameless virtual IBANs remain in "PENDING" status and can not be used for making payments until Virtual IBAN owner's personal details are added via service Virtual IBAN Modify.

Request

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanBulkRequest>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++Amount<Amount>Amount of Virtual IBANs to be generated. Must be in range of 1 - 1000.
Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanBulkRequest>
  <MasterAccount>EE737700771001625166</MasterAccount>
  <Amount>2</Amount>
</VibanBulkRequest>

Response

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanBulkResponse>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++VirtualIBANList<VirtualIBANList>
[1..n]++VirtualIBAN<VirtualIBAN>Virtual IBAN that was generated.
Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanBulkResponse>
    <MasterAccount>EE737700771001625166</MasterAccount>
    <VirtualIBANList>
        <VirtualIBAN>EE717777000200014007</VirtualIBAN>
        <VirtualIBAN>EE507777000200014094</VirtualIBAN>
    </VirtualIBANList>
</VibanBulkResponse>

Virtual IBAN Modify

POST https://connect.lhv.eu/viban/modify
Service is used to add Virtual IBAN holder data to nameless Virtual IBANs. Please note, that it is not possible to change Virtual IBAN holder data via CONNECT services if Virtual IBAN is already in "ACTIVE" status.

Only one Virtual IBAN can be modified with one service request. It is mandatory to fill in minimal data set about Virtual IBAN owner and request message structure is slightly different for private and legal persons. After receiving the request, background check is done by LHV for Virtual IBAN owner.
If check is OK, then Virtual IBAN is activated at once.
If check is not OK, then Virtual IBAN will remain in status "ON_HOLD" until decision about Virtual IBAN opening is made. CONNECT customer will be informed about the decision via service Status notification.

Request

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanModifyRequest>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++VirtualIBAN<VirtualIBAN>Virtual IBAN (must be nameless Virtual IBAN in PENDING status).
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
Sample
Private person
<?xml version="1.0" encoding="UTF-8"?>
<VibanModifyRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
    <Person>
      <Name>Donald Duck</Name>
      <BirthDate>1908-11-29</BirthDate>
      <BirthCountry>DE</BirthCountry>
      <Residency>DE</Residency>
      <DocumentNumber>A942819</DocumentNumber>
    </Person>
    <Address>
      <Country>EE</Country>
      <StreetNo>Majaka 47-10</StreetNo>
      <CityCounty>Xiao, Neverland</CityCounty>
    </Address>
  </User>
</VibanModifyRequest>
Legal person
<?xml version="1.0" encoding="UTF-8"?>
<VibanModifyRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
    <Company>
      <Name>UK Ltd Version 2.0</Name>
      <CountryOfOrigin>GB</CountryOfOrigin>
      <TaxResidency>GB</TaxResidency>
      <RegistrationNumber>1849203</RegistrationNumber>
      <Representative>
        <Name>Harry Potter</Name>
        <BirthDate>2001-01-01</BirthDate>
        <Residency>GB</Residency>
      </Representative>
    </Company>
    <Address>
      <Country>GB</Country>
      <StreetNo>Waterloo Bridge 13</StreetNo>
      <CityCounty>London, Cold</CityCounty>
    </Address>
  </User>
</VibanModifyRequest>

Response

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanModifyResponse>
[1..1]++VirtualIBAN<VirtualIBAN>
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
[1..1]++Status<Status>Status of Virtual IBAN: 'ACTIVE' or 'ON_HOLD'.
Sample
Private person
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanModifyResponse>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
    <User>
        <Person>
          <Name>Donald Duck</Name>
          <BirthDate>1908-11-29</BirthDate>
          <BirthCountry>DE</BirthCountry>
          <Residency>DE</Residency>
          <DocumentNumber>A942819</DocumentNumber>
        </Person>
        <Address>
            <Country>EE</Country>
            <StreetNo>Majaka 47-10</StreetNo>
            <CityCounty>Xiao, Neverland</CityCounty>
        </Address>
    </User>
  <Status>ACTIVE</Status>
</VibanModifyResponse>
Legal person
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanModifyResponse>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
    <User>
        <Company>
            <Name>UK Ltd Version 2.0</Name>
            <CountryOfOrigin>GB</CountryOfOrigin>
            <TaxResidency>GB</TaxResidency>
            <RegistrationNumber>1849203</RegistrationNumber>
            <Representative>
                <Name>Harry Potter</Name>
                <BirthDate>2001-01-01</BirthDate>
                <Residency>GB</Residency>
            </Representative>
        </Company>
        <Address>
            <Country>GB</Country>
            <StreetNo>Waterloo Bridge 13</StreetNo>
            <CityCounty>London, Cold</CityCounty>
        </Address>
    </User>
  <Status>ACTIVE</Status>
</VibanModifyResponse>

Virtual IBAN Info

POST https://connect.lhv.eu/viban/info

Service is used to request Virtual IBAN data.
Response message structure is slightly different for private and legal persons.

Request

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanInfoRequest>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++VirtualIBAN<VirtualIBAN>Virtual IBAN (must be issued under MasterAccount specified).
Sample
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
</VibanInfoRequest>

Response

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanInfoResponse>
[1..1]++VirtualIBAN<VirtualIBAN>
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
[1..1]++Status<Status>Status of Virtual IBAN: 'ACTIVE', 'ON_HOLD', 'PENDING', 'REJECTED', 'BLOCKED' or 'CLOSED'.
[0..1]++DateActivated<DateActivated>Optional. Added if Virtual IBAN has been in activated.
[0..1]++DateClosed<DateClosed>Optional. Added if Virtual IBAN has beel closed.
Sample
Private person
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoResponse>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
  	<Person>
  	  <Name>Donald Duck</Name>
  	  <BirthDate>1908-11-29</BirthDate>
  	  <BirthCountry>DE</BirthCountry>
  	  <Residency>DE</Residency>
  	  <DocumentNumber>A942819</DocumentNumber>
  	</Person>
  	<Address>
  		<Country>EE</Country>
  		<StreetNo>Majaka 47-10</StreetNo>
  		<CityCounty>Xiao, Neverland</CityCounty>
  	</Address>
  </User>
  <Status>ACTIVE</Status>
  <!--Optional:-->
  <DateActivated>2018-01-01+02:00</DateActivated>
  <!--Optional:-->
  <DateClosed>2018-05-22+03:00</DateClosed>
</VibanInfoResponse>
Legal person
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoResponse>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
  	<Company>
  		<Name>UK Ltd Version 2.0</Name>
  		<CountryOfOrigin>GB</CountryOfOrigin>
  		<TaxResidency>GB</TaxResidency>
  		<RegistrationNumber>1849203</RegistrationNumber>
  		<Representative>
  			<Name>Harry Potter</Name>
  			<BirthDate>2001-01-01</BirthDate>
  			<Residency>GB</Residency>
  		</Representative>
  	</Company>
  	<Address>
  		<Country>GB</Country>
  		<StreetNo>Waterloo Bridge 13</StreetNo>
  		<CityCounty>London, Cold</CityCounty>
  	</Address>
  </User>
  <Status>ACTIVE</Status>
  <!--Optional:-->
  <DateActivated>2018-01-01+02:00</DateActivated>
  <!--Optional:-->
  <DateClosed>2018-05-22+03:00</DateClosed>
</VibanInfoResponse>

Virtual IBAN Close

POST https://connect.lhv.eu/viban/close

Service is used to close Virtual IBAN.
Once Virtual IBAN is closed, it can not be activated again.
Payments to closed Virtual IBAN are accepted up to 30 days after closing date.

Request

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanCloseRequest>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++VirtualIBAN<VirtualIBAN>Virtual IBAN (must be issued under MasterAccount specified).
Sample
<?xml version="1.0" encoding="UTF-8"?>
<VibanCloseRequest>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
</VibanCloseRequest>

Response

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanCloseResponse>
[1..1]++VirtualIBAN<VirtualIBAN>
[1..1]++Status<Status>'CLOSED'
[1..1]++DateClosed<DateClosed>Date and time of closing.
Sample
<?xml version="1.0" encoding="UTF-8"?>
<VibanCloseResponse>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <Status>CLOSED</Status>
  <DateClosed>2018-05-22+03:00</DateClosed>
</VibanCloseResponse>

Virtual IBAN Status Notification

Service is used to send information to CONNECT customers about Virtual IBAN status changes.

XSD

Message structure
MULT.MESSAGE ELEMENTXML TAGDescription
[1..1]+MessageRoot<VibanStatusNotification>
[1..1]++MasterAccount<MasterAccount>Master account IBAN (must belong to PSP).
[1..1]++VirtualIBAN<VirtualIBAN>Virtual IBAN (must be issued under MasterAccount specified).
[1..1]++User<User>
[0..1]+++Person<Person>Element of choice, used if Virtual IBAN owner is private person.
[1..1]++++Name<Name>First and last name of private person.
[1..1]++++BirthDate<BirthDate>Birth date of private person (YYYY-MM-DD).
[1..1]++++BirthCountry<BirthCountry>Country of birth of private person (ISO 3166-1 alpha-2).
[1..1]++++Residency<Residency>Country of residence of private person (ISO 3166-1 alpha-2).
[1..1]++++DocumentNumber<DocumentNumber>Document number of private person.
[0..1]+++Company<Company>Element of choice, used if Virtual IBAN owner is legal person.
[1..1]++++Name<Name>Name of company.
[1..1]++++CountryOfOrigin<CountryOfOrigin>Country of origin of legal person (ISO 3166-1 alpha-2).
[1..1]++++TaxResidency<TaxResidency>Tax residency of legal person (ISO 3166-1 alpha-2).
[1..1]++++RegistrationNumber<RegistrationNumber>Registration number of legal person.
[1..1]++++Representative<Representative>
[1..1]+++++Name<Name>First and last name of representative.
[1..1]+++++BirthDate<BirthDate>Birth date of representative, YYYY-MM-DD.
[1..1]+++++Residency<Residency>Country of residence of representative (ISO 3166-1 alpha-2).
[1..1]+++Address<Address>
[1..1]++++Country<Country>Address country (ISO 3166-1 alpha-2).
[1..1]++++StreetNo<StreetNo>Street address.
[1..1]++++CityCounty<CityCounty>City, county.
[1..1]++Status<Status>Status of Virtual IBAN: 'ACTIVE', 'ON_HOLD', 'PENDING', 'REJECTED', 'BLOCKED' or 'CLOSED'.
[0..1]++DateActivated<DateActivated>Optional. Added if Virtual IBAN has been in activated.
[0..1]++DateClosed<DateClosed>Optional. Added if Virtual IBAN has beel closed.
Sample
Private person
<?xml version="1.0" encoding="UTF-8"?>
<VibanStatusNotification>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
  	<Person>
  	  <Name>Donald Duck</Name>
  	  <BirthDate>1908-11-29</BirthDate>
  	  <BirthCountry>DE</BirthCountry>
  	  <Residency>DE</Residency>
  	  <DocumentNumber>A942819</DocumentNumber>
  	</Person>
  	<Address>
  		<Country>EE</Country>
  		<StreetNo>Majaka 47-10</StreetNo>
  		<CityCounty>Xiao, Neverland</CityCounty>
  	</Address>
  </User>
  <Status>ACTIVE</Status>
  <!--Optional:-->
  <DateActivated>2018-01-01+02:00</DateActivated>
  <!--Optional:-->
  <DateClosed>2018-05-22+03:00</DateClosed>
</VibanStatusNotification>
Legal person
<?xml version="1.0" encoding="UTF-8"?>
<VibanStatusNotification>
  <MasterAccount>EE837700771001625166</MasterAccount>
  <VirtualIBAN>EE717777000200014007</VirtualIBAN>
  <User>
  	<Company>
  		<Name>UK Ltd Version 2.0</Name>
  		<CountryOfOrigin>GB</CountryOfOrigin>
  		<TaxResidency>GB</TaxResidency>
  		<RegistrationNumber>1849203</RegistrationNumber>
  		<Representative>
  			<Name>Harry Potter</Name>
  			<BirthDate>2001-01-01</BirthDate>
  			<Residency>GB</Residency>
  		</Representative>
  	</Company>
  	<Address>
  		<Country>GB</Country>
  		<StreetNo>Waterloo Bridge 13</StreetNo>
  		<CityCounty>London, Cold</CityCounty>
  	</Address>
  </User>
  <Status>ACTIVE</Status>
  <!--Optional:-->
  <DateActivated>2018-01-01+02:00</DateActivated>
  <!--Optional:-->
  <DateClosed>2018-05-22+03:00</DateClosed>  
</VibanStatusNotification>

Appendix

Code Set: Balance

CODEDESCRIPTION
OPBDOpening booked balance.
CLBDClosing booked balance.

Code Set: Credit and debit code

CODEDESCRIPTION
CRDTPositive amount or zero.
DBITNegative amount.

Code Set: Bank transaction codes

DOMAIN CODEFAMILY CODESUBFAMILY CODEDESCRIPTION
ACMTMDOPFEESPortfolio safekeeping fee
ACMTMDOPTAXEVAT
DERVOTHROTHRGain/loss prior open future positions
FORXMDOPFEESCurrency exchange
FORXOTHROTHRCurrency exchange fee
LDASFTDPINTRTerm deposit interest
LDASFTDPOTHRTerm deposit
LDASMDOPFEESFees related to loan agreement
LDASMDOPTAXEIncome tax on received interest
LDASNTDPINTRInterest payment
LDASNTLNINTRInterest payment
LDASNTLNPPAYCapital payment
LDASOTHROTHROther payments related to loan or rebalance
PMNTCCRDCAJTCard account rebalance
PMNTCCRDCWDLATM withdrawal
PMNTCCRDCDPTATM deposit
PMNTCCRDFEESFees related cards and card payments
PMNTCCRDINTRCredit card interest
PMNTCCRDPOSCPayment between current and limit account
PMNTCCRDPOSDCard payment
PMNTCNTRCWDLCash withdrawal
PMNTCNTRCDPTCash deposit
PMNTDRFTSTLRReservation
PMNTICDTFEESMoney transfer fee
PMNTICDTOTHRIssued payment
PMNTRCDTOTHRReceived payment
PMNTMCOPINTRAccrued interest
PMNTMCRDCHRGACQ merchant chargeback fee
PMNTMCRDCOMEACQ merchant revenue fee
PMNTMCRDCOMTACQ merchant service fee
PMNTMCRDDAJTACQ merchant revenue debit
PMNTMCRDPOSPACQ merchant revenue
PMNTMDOPFEESPayment fee
PMNTOTHROTHROther transaction
SECUCORPFEESCorporate action fee
SECUCORPOTHRCorporate action
SECUCUSTDVCADividends
SECUMDOPTAXEIncome tax withheld
SECUOTHROTHRTrader rebalance
SECUSETTFEESSecurities commission fee
SECUSETTTRADSecurities buy-sell

Code Set: Purpose

CODEDESCRIPTION
ACCTAccount management.
CASHCash management.
COLLCollection payment.
INTCIntra-company payment.
LIMALiquidity management.
NETTNetting.
AGRTAgricultural payment.
BEXPBusiness expenses.
COMCCommercial payment.
CPYRCopyright.
LICFLicence fee.
GDDSPurchase and sale of goods.
SCVEPurchase and sale of services.
SUBSSubscription.
SUPPSupplier payment.
CHARCharity payment.
HLRPHousing loan repayment.
INSUInsurance premium.
INTEInterest.
LBRILabour insurance.
LIFILife insurance.
LOANLoan to borrower.
LOARLoan to lender.
PPTIProperty insurance.
ADVAAdvance payment.
CCRDCredit card payment.
DCRDDebit card payment.
GOVTGovernment payment.
MSVCMultiple service types.
NOWSNot otherwise specified.
OTHROther.
PADDPreauthorised debit.
RENTRent.
STDYStudy.
DERIDerivatives.
DIVDDividend.
FREXForeign exchange.
SAVGSavings.
SECUSecurities.
TREATreasury payment.
DNTSDental services.
HLTIHealth insurance.
HSPCHospital care.
LTCFLong-term care facility.
MDCSMedical services.
ALMYAlimony payment.
BONUBonus payment.
BECHChild benefit.
COMMCommission.
PENSPension payment.
SALASalary payment.
SSBESocial security benefit.
HSTXHousing tax.
INTXIncome tax.
TAXSTax payment.
VATXVAT payment.
AIRBAir transport.
BUSBBus transport.
FERBFerry transport.
RLWYRailway transport.
CBTVCable TV bill.
ELECElectricity bill.
ENRGEnergies.
GASBGas bill.
NWCHNetwork charge.
NWCMNetwork communication.
OTLCOther telecom related bill.
PHONTelephone bill.
WTERWater bill.
DEBTDeposit.
GDSVPurchase and Sale of Goods and Services
CDBLCredit Card Bill
INVSInvestment and Securities
ALLWAllowance
PAYRPayroll
UBILUtilities

Code Set: Private person identification

CODEDESCRIPTION
ARNUNumber assigned by a social security agency to identify a non-resident person.
CCPTNumber assigned by an authority to identify the passport number of a person.
CUSTNumber assigned by an issuer to identify a customer.
DRLCNumber assigned by an authority to identify a driver's license.
EMPLNumber assigned by a registration authority to an employee.
NIDNNumber assigned by an authority to identify the national identity number of a person.
SOSENumber assigned by an authority to identify the social security number of a person.
TXIDNumber assigned by a tax authority to identify a person.

Code Set: Organisation identification

CODEDESCRIPTION
BANKUnique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
CBIDA unique identification number assigned by a central bank to identify an organisation.
CHIDA unique identification number assigned by a clearing house to identify an organisation.
COIDCountry authority given organisation identification (e.g., corporate registration number).
CUSTNumber assigned by an issuer to identify a customer. Number assigned by a party to identify a beneficiary or remitter relationship.
DUNSA unique identification number provided by Dun & Bradstreet to identify an organisation.
EMPLNumber assigned by a registration authority to an employer.
GS1GGlobal Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules. The number is used to retrieve detailed information that is linked to it.
SRENThe SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
SRETThe SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity.
TXIDNumber assigned by a tax authority to identify an organisation.

Code Set: Payment priority

CODEDESCRIPTION
NORMNormal payment.
HIGHUrgent payment.
EXPRExtra urgent payment.

If payment priority is not provided or faulty, default values will be used. For additional information see Payment processing time limits and settlements.

Code Set: Category purpose

CODEDESCRIPTION
CASHCash management.
CORTTrade settlement payment.
DIVIDividends payment.
GOVTGovernment payment.
HEDGHedging.
INTCIntra-company payment.
INTEInterest payment.
LOANTransfer of a loan to a borrower.
PENSPension payment.
SALASalary payment.
SECUSecurities payment.
SSBESocial security benefit payment.
SUPPSupplier payment.
TAXSTax payment.
TRADTrade finance transaction payment.
TREATreasury payment.
VATXVAT payment.
WHLDWithholding tax payment.
OTHROther payment.
EPAYPayment via online banking.
FCOLFee collection.

Code Set: Charges bearer

CODEDESCRIPTION
SLEVAllowed only for SEPA payments. Shared charges.
SHARShared charges.
DEBTRemitter pays charges.

If the payment priority is not provided or faulty, default values will be used. For additional information see Payment processing time limits and settlements.