Incoming Verification of Payee requests
Swan automatically responds to VoP requests from other Payment Service Providers (PSPs) when they verify details before sending transfers to Swan accounts.
Under the European Instant Payments Regulation (IPR), all PSPs in the SEPA zone must offer VoP services for incoming transfers.
How incoming VoP works​
When another PSP initiates a transfer to a Swan account, they first send a VoP request to verify the beneficiary details. Swan automatically processes these requests and returns a verification result.
Process overview​
Swan operates as a responding PSP registered with the EPC Directory Service (EDS).
This process is automatic. Swan handles all incoming VoP requests; no implementation is required.
Supported identification types​
Swan supports the following payee identification types with a Swan Bank Identifier Code (BIC):
Name​
The name of the legal entity or of the individual: AccountHolderInfo.name.
Tax number​
The number assigned by a tax authority to identify an organisation:
- Company IBAN:
AccountHolder.registration.taxIdentificationNumber. - Individual IBAN: Not applicable.
Company identification​
The identification assigned to an organization by a national authority (e.g., corporate registration number):
- Company IBAN:
AccountHolder.registration. - Individual IBAN: Not applicable.
SIREN​
The 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:
- Company IBAN:
AccountHolder.registration(same ascompany_identification). - Individual IBAN: Not applicable.
Matching algorithm​
Swan uses an enhanced matching algorithm that checks multiple name variations to improve verification success rates.
Company accounts​
For company accounts, Swan checks the received name against six variations:
- Legal name (
AccountHolderInfo.name) - Trade name (
CompanyInfo.tradeName) - Legal name + "Swan"
- Trade name + "Swan"
- Legal name + Project name (
ProjectInfo.name) - Trade name + Project name
Example: Swan receives "Awesome Company" for an IBAN.
Individual accounts​
For individual accounts, Swan checks the received name against three variations:
- Individual name (
AccountHolderInfo.name) - Individual name + "Swan"
- Individual name + Project name (
ProjectInfo.name)
Example: Swan receives "Henri Dubois" for an individual IBAN.
| Received name | Swan checks against | Result type |
|---|---|---|
| Henri Dubois | Individual name: "Henri Dubois" | Match (100%) |
| Henri Dubois | Individual name + Swan: "Henri Dubois Swan" | Close match (71%) |
| Henri Dubois | Individual name + Project: "Henri Dubois PayApp" | No match (63%) |
Swan checks all variations and returns the best matching result to the requesting PSP.
Account holder information accuracy​
To ensure successful incoming transfers, your users must provide senders with their exact account name and IBAN as they appear on their Swan account. Swan verifies incoming transfers against the legal name and details registered in the system.
Key points to communicate to your users:
- Use the complete legal name, including all registered middle names.
- Ensure all names are spelled correctly.
- For business accounts, use the full legal company name, not a trade or merchant name.
- Consider sharing your trade name if it differs significantly from your legal name, as Swan's matching algorithm also checks trade names.
You may share our end-user support article to assist with user training.
Example: If a company's legal name is "MY COMPANY SAS" but they operate as "Awesome Company", senders can use either name. Swan's matching algorithm checks both the legal name and trade name to improve verification success. Similarly, if an account holder's name is "Henri Charles Dupont," senders should use the complete name, not just "Henri Dupont."
VoP matching and results​
Swan returns verification results based on how closely the provided details match the account holder information. Understanding these results helps you anticipate what other PSPs experience when sending transfers to Swan accounts.
Verification outcomes​
Swan returns one of four possible results:
| Result type | When it occurs | Matching approach |
|---|---|---|
| Match | Exact or very close match (100% similarity for names) | Name: Levenshtein distance ID numbers: Exact match |
| Close match | Similar but not identical (70-99% similarity for names) | Name: Levenshtein distance |
| No match | Significant differences (under 70% similarity for names) | Name: Levenshtein distance ID numbers: Exact match |
| Impossible to match | Account not found, unsupported ID type, account closed or suspended | Not applicable |
Name matching examples​
Individual names:
- "Henri Dupont" vs "Henri Dupont" → Match (100% similarity)
- "Henri Dupont" vs "Henri Dupond" → Close match (92% similarity)
- "Henri Dupont" vs "Henry Dupond" → Close match (83% similarity)
- "Henri Dupont" vs "Malika Ngoma" → No match (8% similarity)
Company names:
- "Awesome Company SAS" vs "Awesome Company SAS" → Match (100% similarity)
- "Awesome Company" vs "Awesome Company SAS" → Close match (83% similarity)
- "Awesome Co" vs "Awesome Company" → Close match (73% similarity)
- "Different Business Ltd" vs "Awesome Company SAS" → No match (15% similarity)
ID number matching examples​
ID numbers require exact matches:
- Stored: "DE136695976", Received: "136695976" → No match
- Stored: "9234.56.788", Received: "923456788" → No match
- Stored: "DE136695976", Received: "DE136695976" → Match
What this means for transfers​
Since VoP verification happens before the actual transfer, Swan cannot link incoming transfers to previous VoP requests. The requesting PSP decides whether to proceed based on the verification result - transfers can still arrive even after a "No match" result.
Monitoring and logging​
Starting Q4 2025, Swan will log VoP requests and results to compile statistics and improve the matching algorithm configuration if necessary.
Next steps​
→ Learn how to verify beneficiary details using the verifyBeneficiary mutation
→ Configure bulk credit transfers with VoP for high-volume use cases
→ Understand the complete VoP ecosystem with Verification of Payee overview