[3] Tax information
As a financial institution, Solaris must comply with various tax regulations, including the Common Reporting Standard (CRS) developed by the Organization for Economic Cooperation and Development (OECD) and the German Steuerumgehungsbekämpfungsgesetz (StUmgBG).
Therefore, Solaris must collect the tax information from all individuals and legal entities that are tax residents of a reportable jurisdiction (i.e., a jurisdiction that's obliged under CRS to exchange tax information with other reportable jurisdictions).
The tax information of a person or a business (legal entity), such as tax identification number (TIN) and the tax residency (the country where the customer is taxable) is stored in a tax_identification
resource on Solaris' system.
Tax identification resource types
There are two types of tax identification resources:
- Person tax identification: Used to store the tax information of the following customer types:
- Retail customers (B2C)
- Authorized persons on a retail account
- Freelancers
- Business' natural persons, such as legal representatives, beneficial owners, and authorized persons.
For more information, check the API reference.
- Business tax identification: Used to store the tax information for a business' legal entity.
For more information, check the API reference.
The following diagram describes the resources that you need to create to store tax information:
When is tax identification required?
Whether you need to collect the tax information from your customers depends on the product you're integrating, the branch, and the customer type.
The following table gives an overview of the use cases where tax information is mandatory for onboarding:
Digital Banking & Cards
For all Digital Banking and Cards products (including Consumer Decoupled Cards and Credit Cards), collecting the customer's tax information is mandatory for all customer types in all branches.
Therefore, in your onboarding flow, you need to collect the tax information from the following customer types:
B2C & freelancers
- Retail customers (B2C)
- Freelancers
- Authorized persons on a retail account
B2B customers
For business customers, you need to collect two types of tax information:
- Tax information of the business' legal entity and store it in a business tax identification resource.
- Tax information of all natural persons linked to the business, such as legal representatives, beneficial owners, any authorized person on the business' account and store each in a person tax identification resource.
attention
Submitting the tax information of your customers is a requirement to open a bank account in all of Solaris branches. However, please note the following:
For customers in Germany (DE branch), you can open the bank account for the customer before providing the tax information. However, you must submit the customer's tax information to Solaris within 90 days of opening the account or otherwise the customer's account will be blocked with the reason
MISSING_TAX_INFORMATION
until you submit the required tax information.For all other branches apart from DE, you must submit the tax information of the customer from the beginning of the flow before an account can be opened.
Standalone Lending
For lending products, collecting tax information depends on the customer type and country.
B2C & freelancers
If you're onboarding B2C customers or freelancers on a lending standalone product (e.g., not as an add-on to a standard bank account), tax identification becomes mandatory in the following cases:
- Customers in countries other than Germany (as the tax identification is used for the credit scoring process).
B2B customers
If you're onboarding B2B customers on a lending standalone product (e.g., B2B fronting loans or fronting factoring), tax identification is mandatory in all branches, including the following:
- Person tax identification for all natural persons associated with the business (e.g., legal representatives, beneficial owners, and authorized persons).
Standalone KYC
If you're only integrating one of the KYC methods as a standalone product without provisioning any other banking solution to your customers, tax identification is NOT required.
How to collect tax information?
In your onboarding flow, you need to integrate the collection of the customer's tax information while considering the following requirements:
Legal screens
In your sign-up flow, you need to include the required screens and declarations as explained in the legal and compliance requirements section.
Tax Identification Number (TIN) per country
Each country has its syntax validation rules for the Tax Identification Number (TIN) described as follows:
Germany
German TINs have the following charachteristics, which are used for syntax validation:
- 11 numeric digits.
- The first digit can not be 0.
- Within the first 10 digits one digit appears twice.
- All other 8 digits appear only once.
- The last digit is a check digit which is calculated based on the previous 10 digits.
Syntax example:
- First 10 digits: 4895437120
- Check digit: 7
- TIN: 48954371207
France
French TINs have the following charachteristics, which are used for syntax validation:
- 13 digits (all numeric) C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- C1 must be 0, 1, 2 or 3
- C11, C12, C13 are check digits calculated as follows:
- Concatenate C1 until C10.
- Get modulo 511 of the the concatenated number.
- Check digit = remainder of modulo 511 (if remainder < 100, C11 = 0; if remainder < 10, C11 & C12 = 0; if remainder = 0, C11, C12 & C13 = 0).
Syntax example:
- C1-C10: 3023217600
- 3023217600 mod 511 = 53
- C11-C13: 053
- TIN: 3023217600053
attention
For customers opening an account in the French branch, please note the following rules:
- If the customer's tax residency is in France, collecting the tax ID is NOT mandatory. However, you should still pass this information to Solaris similar to the below example.
- If the customer's tax residency is NOT in France, collecting the tax ID is mandatory in your frontend flow.
Customer with a tax residency in France
If the customer's tax residency is in France, collecting the tax identification number is not mandatory. However, you need to pass the following information for the customer by calling the POST Create a person tax identification endpoint.
// POST /v1/persons/{person_id}/tax_identifications
{
"country": "FR",
"reason_no_tin": "OTHER",
"reason_description": "Not required since FR resident with tax residency in FR"
}
Italy
The Italian equivalent of the TIN is the codice fiscale. It is calculated by a legally established algorithm and must be verified by your frontend implementation.
Italian TINs have the following charachteristics, which are used for syntax validation:
- Format "SSSNNNYYMDDZZZZX"
- SSS alphabetical
- NNN alphabetical
- YY numerical, last digits of the birth year
- M is the letter for the month of birth—letters are used in alphabetical order, but only the letters A to E, H, L, M, P, R to T are used (thus, January is A and October is R)
- DD is the day of the month of birth (particularities like leap years are considered, in order to differentiate between genders, 40 is added to the day of birth for women (thus a woman born on May 3 has ...E43...))
- ZZZZ 1. alphabetical, 2-4 numerical
- X alphabetical
- syntax example: SSSNNN31B28X000C
Codice fiscale validation
Please refer to the decree of the Finance Ministry for the source of this algorithm.
Example: RSSMRA99D20F205R
Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Digit | R | S | S | M | R | A | 9 | 9 | D | 2 | 0 | F | 2 | 0 | 5 | R |
Position in fiscal code | Meaning of digits | How it is computed |
---|---|---|
1-3 | Last name | Last names composed of multiple parts are always considered as a continuous sequence of characters; For women, this is always the maiden name; If the surname has three or more consonants, then the first, second, and third consonants are used; If the surname has two consonants, then the first and second consonants and first vowel are used; If the surname has one consonant and two vowels, then the first consonant and then the first and second vowels are used; If the surname has one consonant and one vowel, then the first consonant is used, then the first vowel, then "x"; If the surname has only two vowels, then the first and second vowel are used, followed by "x". |
4-6 | First name | Last names composed of multiple parts are always considered as a continuous sequence of characters; If the first name has three or more consonants, then the first, second, and third consonants are used; If the first name has two consonants, then the first and second consonants and the first vowel are used; If the first name has one consonant and two vowels, then the first consonant and the first and second vowels are usedd; If the first name has one consonant and one vowel, then the first consonant and first vowel are used, followed by "x"; If the first name has only two vowels, then the first and second vowel are used, followed by "x". |
7-8 | Year of birth | Last two digits of the birth year (e.g., for customers born in 1975, these digits would be 75 ). |
9 | Month of birth | The month is assigned a letter based on the rules described in table 4 (e.g., if a person is born in June, this digit would contain the letter H ). |
10-11 | Day of birth & gender | These two digits are computed based on the gender. For male persons: the digits correspond with the exact date of birth (01 to 31 ); For female persons: the digits correspond with the exact date of birth + 40, so value is from 41 to 71 . E.g., if a female person is born on the 10th day in the month, then these two digits would be 50 . The birth month assigned a letter based on the rules described in table 4 (e.g., if a person is born in June, this digit would contain the letter H ). |
12-15 | Place of birth | These digits consist of one letter and three numbers. For persons in Italy, then they represent the town and province of birth; For persons outside of Italy, then they represent the country of birth. |
16 | Control character | The digits at the even positions are converted to the values listed in Table 1; The digits at the odd positions are converted to the values listed in Table 2; The resulting numbers are summed and divided by 26; Then, this resulting number is converted to the letter that corresponds with its numeric value, as described in Table 3. |
Duplicates | In the event that the first 15 digits of an existing codice fiscale would be the same for two or more persons, there is a method to avoid creating a duplicate codice fiscale once it has been registered. The first number of the codice fiscale starting from the right is converted to a letter as described in Table 5. E.g., for the second person with same codice fiscale, the first number from the right is converted to a letter; for the third person with the same codice fiscale, the first and second numbers from the right are converted to letters. |
Table 1
Character | Value | Character | Value | Character | Value | Character | Value |
---|---|---|---|---|---|---|---|
0 | 0 | 9 | 9 | I | 8 | R | 17 |
1 | 1 | A | 0 | J | 9 | S | 18 |
2 | 2 | B | 1 | K | 10 | T | 19 |
3 | 3 | C | 2 | L | 11 | U | 20 |
4 | 4 | D | 3 | M | 12 | V | 21 |
5 | 5 | E | 4 | N | 13 | W | 22 |
6 | 6 | F | 5 | O | 14 | X | 23 |
7 | 7 | G | 6 | P | 15 | Y | 24 |
8 | 8 | H | 7 | Q | 16 | Z | 25 |
Table 2
Character | Value | Character | Value | Character | Value | Character | Value |
---|---|---|---|---|---|---|---|
0 | 1 | 9 | 21 | I | 19 | R | 8 |
1 | 0 | A | 1 | J | 21 | S | 12 |
2 | 5 | B | 0 | K | 2 | T | 14 |
3 | 7 | C | 5 | L | 4 | U | 16 |
4 | 9 | D | 7 | M | 18 | V | 10 |
5 | 13 | E | 9 | N | 20 | W | 22 |
6 | 15 | F | 13 | O | 11 | X | 25 |
7 | 17 | G | 15 | P | 3 | Y | 24 |
8 | 19 | H | 17 | Q | 6 | Z | 23 |
Table 3
Character | Value | Character | Value | Character | Value | Character | Value |
---|---|---|---|---|---|---|---|
0 | A | 7 | H | 14 | O | 21 | V |
1 | B | 8 | I | 15 | P | 22 | W |
2 | C | 9 | J | 16 | Q | 23 | X |
3 | D | 10 | K | 17 | R | 24 | Y |
4 | E | 11 | L | 18 | S | 25 | Z |
5 | F | 12 | M | 19 | T | ||
6 | G | 13 | N | 20 | U |
Table 4
Month | Value | Month | Value | Month | Value | Month | Value |
---|---|---|---|---|---|---|---|
January | A | April | D | July | L | October | R |
February | B | May | E | August | M | November | S |
March | C | June | H | September | P | December | T |
Table 5
Character | Value | Character | Value | Character | Value | Character | Value |
---|---|---|---|---|---|---|---|
0 | L | 3 | P | 6 | S | 9 | V |
1 | M | 4 | Q | 7 | T | ||
2 | N | 5 | R | 8 | U |
Spain
The Spanish equivalent of a TIN is the NIF (Número de Identificación Fiscal).
- for Spanish citizens, the TIN value is the same as the National ID (DNI - Documento Nacional de Identidad) and contains 8 digits and 1 letter. The format is 00000000-A, where 0 is a digit and A is a checksum letter.
- for non-citizens in Spain, the TIN value is the same as Foreigner ID (NIE - Número de Identidad/Identificación de Extranjero) and contains 7 digits and two letters (1 letter at the beginning and 1 letter at the end). The format is X-0000000-A, where 0 is a digit, A is a checksum letter, and X is a letter generally X but lately also Y.
DNI issuing is regulated under the Royal Decree no. 1553/2005 issued December 23rd. Article 11 states that the DNI document includes the personal national identification number and a checksum letter corresponding to the tax identification number.
Tax identification numbers of adult Spanish citizens can be verified by calculating their checksum letter using the following algorithm:
The number is divided by 23 and the remainder is replaced by a letter determined by the following table:
REMAINDER | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
LETTER | T | R | W | A | G | M | Y | F | P | D | X | B |
REMAINDER | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
---|---|---|---|---|---|---|---|---|---|---|---|
LETTER | N | J | Z | S | Q | V | H | L | C | K | E |
For example, if the DNI number is 12345678, divided by 23 leaves a remainder of 14, therefore the letter is Z: 12345678Z.
Non-citizens in Spain have a NIE (Número de Identidad de Extranjero) which is made up of a letter (X, Y, Z), 7 numbers and a check digit.
To calculate the check digit, each letter is replaced by a number and the same algorithm can be used:
- X → 0
- Y → 1
- Z → 2
Tax ID validation
Solaris's syntax validation rules for tax IDs enable you to verify your customers' tax identification numbers (TIN) on the spot and reduce wrong entries.
The Solaris API automatically validates the format of the supplied tax identification number (TIN) based on the requirements of the customer's country. If the TIN does not follow the proper format, the API will return a 400 error.
note
The tax ID validation is only available for person tax identifications, such as retail customers and freelancers, and not businesses. It's activated by default for new customers.
Invalid tax ID 400 error example
{
"errors": [
{
"id": "029f7bc9-a4dc-4512-b3ee-65d2eb089804",
"status": 400,
"code": "invalid_model",
"title": "Invalid Model",
"detail": "number is not a valid person tax identification number for country: ES, for reference please check: https://en.wikipedia.org/wiki/National_identification_number#Spain",
"source": {
"field": "number",
"message": "is not a valid person tax identification number for country: ES, for reference please check: https://en.wikipedia.org/wiki/National_identification_number#Spain"
}
}
]
}