Links
Comment on page

Country requirements

Onboarding and identification verification information by country for Swan accounts
With Swan, it's possible to open accounts in several countries. Regardless of the account country, the end customer will sign local Terms and Conditions.

Overview

Swan offers accounts with country-specific IBANs in the following countries:
  • 🇫🇷 France (FR)
  • 🇩🇪 Germany (DE)
  • 🇳🇱 Netherlands (NL)
  • 🇪🇦 Spain (ES)

Account country

When the account holder's address of residence is in the account country, their account is a resident account.
When the account holder's address of residence is NOT in the account country, their account is a non-resident account. These accounts usually need to be declared as a foreign account to the account holder's local tax authority.
The account country is not the country of residence of the account holder, but the country of your account. It will determine the country code of the Local IBANs of the account.

Identification levels

Because each country has different laws regarding identity verification, Swan makes recommendation by country and type of account. To learn about identity verification and all possible methods, refer to the section on user identity verification.

🇫🇷 Accounts in France

Company accounts

To open a French account for a company account holder, you will need to set the input accountCountry:FRA in the mutation onboardCompanyAccountHolder.
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.

Individual accounts

To open a French individual account, you will need to set the input accountCountry:FRA in the mutation onboardIndividualAccountHolder.
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity.
  • We recommend the PVID identification level for the best user experience.
  • For Capital Deposit, we recommend Expert, for which the account holder must send an initial transfer from an account in their name at another European financial institution.

🇩🇪 Accounts in Germany

Company accounts

To open a German account for a company account holder, Swan needs to collect specific information during onboarding using the mutation onboardCompanyAccountHolder.
  1. 1.
    accountCountry:DEU
  2. 2.
    taxIdentificationNumber of the company (Steuer-Nummer) if the address is in Germany. Swan expects between 10 and 11 digits.
  3. 3.
    The residencyAddress of the Ultimate Beneficiaries (wirtschaftlich Berechtigter) and their taxIdentificationNumber if their address is in Germany.
    • If the company is not registered yet, Swan can accept 00000000 as the taxIdentificationNumber.
    • Registration is required within 3 months.
  4. 4.
    Legal representative personal residencyAddress
API mutation to open a German company account
1
mutation MyMutation {
2
onboardCompanyAccountHolder(
3
input: {
4
accountCountry: DEU
5
accountName: ""
6
businessActivity: AdministrativeServices
7
businessActivityDescription: ""
8
companyType: Association
9
email: ""
10
isRegistered: true
11
monthlyPaymentVolume: Between10000And50000
12
name: ""
13
redirectUrl: ""
14
registrationNumber: ""
15
residencyAddress: {
16
addressLine1: ""
17
city: ""
18
postalCode: ""
19
country: ""
20
}
21
language: ""
22
individualUltimateBeneficialOwners: {
23
type: LegalRepresentative
24
birthCity: ""
25
birthCityPostalCode: ""
26
birthCountryCode: ""
27
birthDate: ""
28
direct: false
29
firstName: ""
30
indirect: false
31
lastName: ""
32
totalCapitalPercentage: 1.5
33
residencyAddress: {
34
addressLine1: ""
35
city: ""
36
country: ""
37
postalCode: ""
38
}
39
taxIdentificationNumber: ""
40
}
41
legalRepresentativePersonalAddress: {
42
addressLine1: ""
43
city: ""
44
country: ""
45
postalCode: ""
46
}
47
taxIdentificationNumber: ""
48
}
49
) {
50
... on OnboardCompanyAccountHolderSuccessPayload {
51
__typename
52
onboarding {
53
onboardingUrl
54
}
55
}
56
}
57
}
58
​
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.

Individual accounts

To open a German account for a individual account holder, Swan needs to collect specific information during onboarding using the mutation onboardIndividualAccountHolder.
  1. 1.
    accountCountry:DEU
  2. 2.
    taxIdentificationNumber of the individual (also called Steuer-Identifikationsnummer or Steuer-IdNr) if their address is in Germany.
    • Swan expects 11 digits.
API mutation to open a German individual account
1
mutation MyMutation {
2
onboardIndividualAccountHolder(
3
input: {
4
accountCountry: DEU
5
accountName: ""
6
email: ""
7
employmentStatus: Craftsman
8
language: ""
9
monthlyIncome: LessThan500
10
redirectUrl: ""
11
residencyAddress: {
12
addressLine1: ""
13
city: ""
14
country: ""
15
postalCode: ""
16
}
17
taxIdentificationNumber: ""
18
}
19
) {
20
... on OnboardIndividualAccountHolderSuccessPayload {
21
__typename
22
onboarding {
23
onboardingUrl
24
}
25
}
26
}
27
}
28
​
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity with a QES identification. To complete the verification process, the account holder will have to send an initial credit transfer from another account in their name. The other account must also be a European financial institution.

Account memberships

For each new accountMembership attached to a German account with the one or both of the permissions canInitiatePayment and canViewAccount, Swan also needs:
  • AccountMembership personal residencyAddress
  • taxIdentificationNumber of the individual if their address is in Germany. Swan expects 11 digits.
API mutation to add an account membership
1
mutation MyMutation {
2
addAccountMembership(
3
input: {
4
accountId: ""
5
email: ""
6
restrictedTo: { firstName: "", lastName: "", phoneNumber: "" }
7
canViewAccount: false
8
canManageBeneficiaries: false
9
canInitiatePayments: false
10
canManageAccountMembership: false
11
consentRedirectUrl: ""
12
residencyAddress: {
13
addressLine1: ""
14
addressLine2: ""
15
city: ""
16
country: ""
17
postalCode: ""
18
state: ""
19
}
20
taxIdentificationNumber: ""
21
}
22
)
23
}
24
​

🇪🇸 Accounts in Spain

Company accounts

To open a Spanish account for a company account holder, Swan needs to collect specific information during onboarding using the mutation onboardCompanyAccountHolder.
  1. 1.
    accountCountry:ESP
  2. 2.
    taxIdentificationNumber of the company (Número de Identificación Fiscal) if the address is in Spain.
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.

Individual accounts

To open a Spanish account for an individual account holder, you will need to set the input accountCountry:ESP in the mutation onboardIndividualAccountHolder.
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.
API mutation to open a Spanish individual account
1
mutation MyMutation {
2
onboardIndividualAccountHolder(
3
input: {
4
accountCountry: ESP
5
accountName: "Test Account"
7
employmentStatus: Craftsman
8
language: "es"
9
monthlyIncome: Between500And1500
10
redirectUrl: "https://swan.io"
11
residencyAddress: {
12
addressLine1: "21 Barrio de San Roque"
13
addressLine2: "Apt 44"
14
city: "Barcelona"
15
country: "ESP"
16
postalCode: "08005"
17
state: "Catalonia"
18
}
19
taxIdentificationNumber: "Y1234567Z"
20
}
21
) {
22
... on OnboardIndividualAccountHolderSuccessPayload {
23
__typename
24
onboarding {
25
id
26
statusInfo {
27
status
28
}
29
}
30
}
31
... on ForbiddenRejection {
32
__typename
33
message
34
}
35
... on ValidationRejection {
36
__typename
37
fields {
38
code
39
message
40
path
41
}
42
message
43
}
44
}
45
}
46
​

🇳🇱 Accounts in the Netherlands

Company accounts

To open a Dutch account for a company account holder, Swan needs to collect specific information during onboarding using the mutation onboardCompanyAccountHolder.
  1. 1.
    accountCountry:NLD
  2. 2.
    Legal representative's personal residencyAddress
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.

Individual accounts

To open a Dutch account for an individual account holder, you will need to set the input accountCountry:NLD in the mutation onboardIndividualAccountHolder.
To start the verification process of the account holder, the user that finalizes the onboarding must verify their identity. We recommend the Expert identification level for the best user experience.

Account memberships

For each new accountMembership attached to a Dutch account with the one or both of the permissions canInitiatePayment and canViewAccount, Swan also needs:
  • AccountMembership personal residencyAddress

Required API fields by country

The following tables detail whether information in mandatory or not for the Swan onboarding process. While Swan prefers that you submit all required information as early as possible with the API mutation, you can submit information later if needed.
Onboardings can't be finalized until all required information is submitted.

Individual onboarding

  1. 1.
    Country is the issuing country of the IBAN: FR, DE, NL, or ES
  2. 2.
    If the cell is empty, the field is optional.
Field
🇫🇷 FR
🇩🇪 DE
🇳🇱 NL
🇪🇸 ES
accountCountry
✓ Required
✓ Required
✓ Required
✓ Required
accountName
​
​
​
​
email
✓ Required
✓ Required
✓ Required
✓ Required
employmentStatus
✓ Required
✓ Required
✓ Required
✓ Required
language
✓ Required
✓ Required
✓ Required
✓ Required
monthlyIncome
✓ Required
✓ Required
✓ Required
✓ Required
redirectUrl
​
​
​
​
residencyAddress.addressLine1
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.addressLine2
​
​
​
​
residencyAddress.city
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.country
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.postalCode
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.state
​
​
​
​
taxIdentificationNumber
​
∗ 90 days
​
​
∗ If the accountCountry is Germany, the account holder has 90 days to provide their Tax ID Number. Otherwise, the account will be suspended.

Company onboarding

  1. 1.
    Country is the issuing country of the IBAN: FR, DE, NL, or ES
  2. 2.
    If the cell is empty, the field is optional.
  3. 3.
    This section is broken up into account holder and general information, information about the UBO, information about the legal representative, and information about the company. All have required fields.

Account holder and general information

Field
🇫🇷 FR
🇩🇪 DE
🇳🇱 NL
🇪🇸 ES
accountCountry
✓ Required
✓ Required
✓ Required
✓ Required
accountName
​
​
​
​
email
✓ Required
✓ Required
✓ Required
✓ Required
language
✓ Required
✓ Required
✓ Required
✓ Required
redirectUrl
​
​
​
​
residencyAddress.addressLine1
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.addressLine2
​
​
​
​
residencyAddress.city
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.country
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.postalCode
✓ Required
✓ Required
✓ Required
✓ Required
residencyAddress.state
​
​
​
​
taxIdentificationNumber
​
∗ 90 days
​
ï¹–Maybe
businessActivity
✓ Required
✓ Required
✓ Required
✓ Required
businessActivityDescription
✓ Required
✓ Required
✓ Required
✓ Required
companyType
✓ Required
✓ Required
✓ Required
✓ Required
isRegistered
✓ Required
✓ Required
✓ Required
✓ Required
language
✓ Required
✓ Required
✓ Required
✓ Required
ï¹–Required if both the accountCountry and residencyAddress.country are Spain.
∗ If the accountCountry is Germany, the account holder has 90 days to provide their Tax ID Number. Otherwise, the account will be closed.

Information about the ultimate beneficial owner (UBO)

Field
🇫🇷 FR
🇩🇪 DE
🇳🇱 NL
🇪🇸 ES
individualUltimateBeneficialOwners.type
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.birthCity
✓ Required
​
✓ Required
✓ Required
individualUltimateBeneficialOwners.birthCityPostalCode
✓ Required
​
✓ Required
​
individualUltimateBeneficialOwners.birthCountryCode
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.birthDate
✓ Required
​
✓ Required
✓ Required
individualUltimateBeneficialOwners.direct
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.firstName
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.indirect
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.lastName
✓ Required
✓ Required
✓ Required
✓ Required
individualUltimateBeneficialOwners.residencyAddress.addressLine1
​
✓ Required
​
✓ Required
individualUltimateBeneficialOwners.residencyAddress.addressLine2
​
​
​
​
individualUltimateBeneficialOwners.residencyAddress.city
​
✓ Required
​
✓ Required
individualUltimateBeneficialOwners.residencyAddress.country
​
✓ Required
​
✓ Required
individualUltimateBeneficialOwners.residencyAddress.postalCode
​
✓ Required
​
✓ Required
individualUltimateBeneficialOwners.residencyAddress.state
​
​
​
​
individualUltimateBeneficialOwners.residencyAddress.taxIdentificationNumber
​
ï¹–Maybe
​
​
individualUltimateBeneficialOwners.totalCapitalPercentage
✓ Required
✓ Required
✓ Required
✓ Required
ï¹–Required if both the accountCountry and the UBO's residencyAddress.country are Germany.
Field
🇫🇷 FR
🇩🇪 DE
🇳🇱 NL
🇪🇸 ES
legalRepresentativePersonalAddress.addressLine1
​
✓ Required
✓ Required
​
legalRepresentativePersonalAddress.addressLine2
​
​
​
​
legalRepresentativePersonalAddress.city
​
✓ Required
✓ Required
​
legalRepresentativePersonalAddress.country
​
✓ Required
✓ Required
​
legalRepresentativePersonalAddress.postalCode
​
✓ Required
✓ Required
​
legalRepresentativePersonalAddress.state
​
​
​
​

Company information

Field
🇫🇷 FR
🇩🇪 DE
🇳🇱 Netherlands
🇪🇸 ES
monthlyPaymentVolume
✓ Required
✓ Required
✓ Required
✓ Required
name (company name)
✓ Required
✓ Required
✓ Required
✓ Required
registrationNumber
✓ Required if registered
✓ Required if registered
✓ Required
✓ Required if registered
vatNumber
​
​
​
​
typeOfRepresentation
✓ Required
✓ Required
✓ Required
✓ Required