Skip to content
Last updated

Business Identification Guide (BKYC)

This guide explains how to integrate Solaris' Business Know Your Customer (BKYC) as a standalone product, including the mandatory information you must collect from your customers and the necessary endpoints and webhooks you must integrate into your solution.

Introduction

Product overview

What is BKYC?

Solaris' BKYC solution uses RESTful APIs to perform a series of identification and compliance checks for business customers.

How does BKYC work?

The business identification consists of two asynchronous processes:

  • Legal identification: Solaris' Banking Operations team verifies the completeness and accuracy of the data submitted by the business customer and ensures that all legal representatives and ultimate beneficial owners are disclosed and linked to the business.
  • Video identification(s): All of the business' legal representatives and authorized persons must undergo a video identification session with IDnow to validate their data against their identification documents.

:::attention Important notes

  • The business must pass both of these checks before the business identification process can be considered successful.
  • Only legal representatives and authorized persons need to undergo video identification; ultimate beneficial owners are exempt from this requirement. :::

Business identification overview

Onboarding a business involves collecting information and creating multiple resources using Solaris's API. This section describes the various legal entities and natural persons involved in onboarding a business, as well as the information you need to collect.

When you onboard a business, you must collect two different streams of information:

  • Business information: Information about the business' legal entity, including the business name, registration number, tax information, business activities, etc.
  • Person information: Information about all natural persons that run and/or legally represent the business. A business could involve multiple natural persons assigned to different roles. These roles include legal representatives, beneficial owners, signees, and authorized persons.

Business identification

Based on the information provided, businesses go through two types of identifications:

  • Legal identification: Done by Solaris to identify the legal entity.
  • Video identification: Done by our video identification service provider, IDnow, to identify the natural persons behind the business. Please note that only natural persons assigned to specific roles require video identification.

Business entities and roles

Legal person/entity

A company or a business includes a juridical person (the legal entity) and the natural person(s) who own and/or legally represent the business.

A legal person is a person or entity that can perform different legal actions on behalf of the business, such as entering into contracts, owning property, etc. There are two types of legal persons:

  • Human legal persons (i.e., natural persons)
  • Non-human legal persons, also known as juridical persons. This could be a corporation or a company. The law treats non-human legal persons as people.

Business

On Solaris's system, a business is a company's juridical person (the non-human legal person). A business must have at least one natural person attached to it, assigned to a specific role.

The natural persons attached to the business don't own the account. Instead, the business is the account holder, and a business can have multiple accounts.

Roles

The legal persons behind the business are assigned to different roles. Each person attached to a business plays at least one role: a legal representative, a beneficial owner, or both. A person could also act as a signee or an additional authorized person on the account.

The following roles are available on Solaris's system:

  • Legal representative
  • Ultimate beneficial owner
  • Signee
  • Authorized person

:::attention Important The roles of legal representative(s) and ultimate beneficial owner(s) are mandatory for business customers. :::


System prerequisites

Before starting the business identification process, you must implement the following requirements:

1. Technical setup:

Set up your environment and get your authentication keys. For step-by-step instructions, check the Technical setup guide.

2. Legal and compliance screens:

Build the necessary legal and compliance screens in your sign-up flow to collect your customers' consent to the necessary legal and compliance requirements. The Legal and compliance screens guide contains step-by-step instructions on how to create these screens and what they must contain.

Record the customer's consent on each screen as a UTC timestamp (e.g., 2019-01-01T00:00:00Z). Afterward, you must pass each timestamp in its respective field to Solaris.

  • Collect the customer's consent to Solaris' Terms and Conditions and store the timestamp in the terms_conditions_signed_at field.
  • Collect the customer's consent to data processing and store the timestamp in the data_terms_signed_at field.

:::note The mentioned fields are part of the person resource in which all the customer data points are stored. :::


Webhooks

Solaris recommends subscribing to the following webhook events to better automate your processes. For detailed instructions on implementing Solaris webhooks, check the webhooks documentation.


Integration flow

The following diagram gives an overview of the integration flow for BKYC stand-alone product:

Diagram: Business identification (BKYC) flow

Integration steps:

Important

The required data fields you need to collect depend on different factors, such as the business' legal form, country, etc. This guide explains the standard integration process for business customers in Germany for BKYC standalone solution.

Identify business customers by completing the following steps:

Business registration

  1. Collect the mandatory business data in your sign-up flow, and create a business resource for your customer by completing Step 1.
  2. Upload the required business documents by completing Step 2.

Business natural person(s) registration

  1. Collect the mandatory data from each of the business' legal representatives, including the consent to the legal and regulatory requirements in your sign-up flow, and create a person resource and assign the legal representative role to this person by completing Step 3.
  2. Collect the mandatory data from each of the business' beneficial owner(s) in your sign-up flow, and create a person resource and assign the beneficial owner role to this person by completing Step 4.

Step 1: Collect business data and create business resource

In this step, you must collect the mandatory data points from the customer in your sign-up flow, including all the timestamps of the business's consent to the legal and compliance screens.

Afterward, you must pass all the data points to Solaris by creating a business resource to represent your customer.

For a complete list of endpoints, properties, and examples related to the business resource, visit the following links:

Related webhook events

:::attention Important points about data collection

  • Please consider the special considerations for data collection highlighted in the onboarding requirements guide.

  • You must submit the information exactly as it appears in official documents.

  • When testing the process on Sandbox, please ensure that each business you create has unique values for name, postal_code, legal_form, and registration_number (if provided). If you create over 1000 identical business resources, the API will return a 400 error. :::

POST Create business

This endpoint creates a business resource for your customer. Add the following mandatory data points you've collected from the customer in the request body of this endpoint:

Important

You have to submit the information exactly as it appears in official documents.

Request URL

POST /v1/businesses

Response

The API call returns a business object with a unique business_id, which will be used to reference the created business in the remaining steps of the onboarding process.

Click here to view the full API reference.


Annual Business Turnover (Mandatory)

To successfully identify a business, annual turnover for the most recent reporting year, must be declared by the business. This is a mandatory requirement based on our regulatory reporting guidelines. Our operations may occasionally request proof of annual turnover depending on the necessity. For new or recently established businesses, please submit an annual turnover of 0, as these businesses will not have turnover from the previous year. Please ensure the annual turnover is submitted as a non-negative number.

Click here to view the full API reference.

Automatic data collection (Optional)

Simplify your customers' onboarding process by opting for the automatic data collection feature. With our external service provider, Business Registry, customers can enter the country and company name, and the remaining business data fields will be automatically filled out.

:::info Automated data collection is an optional step that improves user experience. For more information on this feature and its associated cost, please contact your Partner Manager. :::

GET Search for business commercial registration

The customer enters the company's name and country on your frontend and you pass this information using the following endpoint to automatically fetch the business' registration_issuer and registration_number:

:::note

  • Please be aware that this endpoint might be slow in certain markets. :::

Request URL:

GET /v1/commercial_registrations/search_by_name?country={{}}&name={{}}

Example response

[
    {
        "name": "EWIV für Unternehmensberatung",
        "registration_number": "HRA 201632",
        "registration_issuer": "AMTSGERICHT Lüneburg"
    }
]

Click here to view the full API reference.

GET Automatic business data collection

:::note

  • In case retrieving of reg number from previous endpoint is not possible ,user should have the possibility to enter it manually. :::

Use the following endpoint to automatically retrieve the remaining business details after obtaining the registration_issuer and registration_number from the response of the previous endpoint:

:::attention

  • This endpoint has an associated cost per request. Contact your Partner Manager for more information.

  • Please note that for companies in Germany, you must add AMTSGERICHT before the value of the registration_issuer, e.g., AMTSGERICHT MÜNCHEN.

  • Registration_number: The registration number should be completely entered, including the letters in the beginning, for example - HRB 12345. Just having 12345 as reg number will not work.

  • Registration_issuer: For the registration_issuer we are expecting one of the Business Registry offices from this list available in Appendix V. We cant accept free input since it breaks automation thats why its necessary to be coming from a provided list.

:::

Request URL:

GET /v1/commercial_registrations/find?registration_number={{}}&registration_issuer={{}}

Example response

{
  "name": "FLOOR 13 GmbH",
  "address": {
    "country": "DE",
    "postal_code": "86919",
    "city": "Utting a.Ammersee",
    "line_1": "Seestraße 9",
    "line_2": ""
  },
  "legal_form": "GMBH",
  "tax_country": "DE",
  "registration_number": "HRB 198673",
  "registration_issuer": "AMTSGERICHT MÜNCHEN",
  "registration_date": "2012-05-09",
  "registry_updated_at": "2015-11-17",
  "legal_representatives": [
    {
      "first_name": "Stefan",
      "last_name": "Schneider"
    }
  ]
  "commercial_registry_industry_key": [
      "66.19.0 - Sonstige mit Finanzdienstleistungen verbundene Tätigkeiten",
      "70.10.9 - Sonstige Verwaltung und Führung von Unternehmen und Betrieben",
      "70.22.0 - Unternehmensberatung",
      "73.11.0 - Werbeagenturen"
  ]  
}

Click here to view the full API reference.

Foreign companies examples

If the company is not registered in Germany, you can still use this service for companies in other countries. The following examples describe how to find the business registration details for a French company.

:::note The field registration_issuer is only required for companies in Germany. :::

GET Search for business commercial registration (France)

Request

GET v1/commercial_registrations/search_by_name?name=PARISOL&country=FR

Response

{
  "name": "PARISOL",
  "registration_number": "513 937359",
  "registration_issuer": null
}

GET Automatic business data collection (France)

Request

GET  /v1/commercial_registrations/find?registration_number=513937359&country=FR

Response

{
  "name": "PARISOL",
  "address": {
    "country": "FR",
    "postal_code": null,
    "city": "NANTERRE",
    "line_1": "RUE D ARRAS 18",
    "line_2": ""
  },
  "legal_form": null,
  "tax_country": "FR",
  "registration_number": "513 937359",
  "registration_issuer": null,
  "registration_date": "2009-07-27",
  "registry_updated_at": null,
  "legal_representatives": [
    {
      "first_name": "Stefan",
      "last_name": "Schneider"
    }
  ]
}

Check the appendix for testing data for these endpoints.


Step 2: Upload business documents

In this step, you must create document resources for all the required documents you've collected from the business in your sign-up flow and attach each one to the business. These documents are required for the business identification step.

The required documents depend on different factors, such as the business's legal form, sector, etc. Check the appendix for a list of required documents per legal form.

You have to make a separate API request for each document and specify its document_type. See the appendix for a list of possible values for this field.

For a complete list of endpoints, properties, and examples related to the business document resource, visit the following links:

POST Upload a document

This endpoint uploads a document and links it to the business with the business_id specified in the request URL.

You have to add the following properties to the request body:

  • document_type: The document type. For a list of possible values, check the API reference.
  • file: The file to be uploaded.

:::note The request body of this endpoint is a multipart/form-data content type and parameters are transmitted as form-data and not as a raw JSON string. :::

Request URL

POST /v1/businesses/{business_id}/documents

Click here to view the full API reference..


After creating a business resource and uploading the required documents, you must create the natural person(s) associated with the business and assign them to their respective roles. The Solaris system represents a natural person using two resources: a person resource that contains their data, and a natural person resource associated with the respective business resource.

Important

A business must have at least one natural person attached to it in the capacity of legal representative and/or beneficial owner.


In this step, collect the mandatory data points from the business' legal representative(s) and create a person object for each representative. Then create a legal_representative resource and link it to the corresponding person object.

Legal representatives can be natural persons (individuals) or legal entities (businesses) appointed by a company to act on its behalf. The legal representative(s) of a company may be, for instance, its general manager(s) or its managing director(s). The names of a business' legal representatives (Gesellschafter) are usually recorded in the company's commercial register.

:::attention Important

  • A business must have at least one legal representative.
  • If a business has more than one legal representative, make sure to create and link all of them to the business object on our system to avoid any delays during the business identification process.

:::

A business' legal representative could be a legal entity instead of a natural person. For example, the legal representative of a GbR company could be another GmbH or AG company.

In this case, you must do the following:

  • Collect the business data of the legal entity acting as the legal representative and create a business resource for it.
  • The natural persons who are the legal representatives of this legal entity are then the ones who will go through the KYC flow.

For each of the business' legal representatives, you must collect the following mandatory information and call the following API endpoint:

POST Create person

This endpoint creates a person resource for the business' legal representative. Add the following mandatory data points you've collected from the customer in the request body of this endpoint:

Mandatory properties:

  • salutation
  • first_name: (including all middle names as printed on the ID document)
  • last_name: (including all middle names as printed on the ID document)
  • birth_date
  • birth_city
  • birth_country (ISO 3166-1 alpha-2 codes)
  • nationality (ISO 3166-1 alpha-2 codes)
  • address (Street, Number, City, Postal Code, Country, State).
  • mobile_number The mobile number will be verified during the identification process.
Important

You have to submit the information exactly as it appears on official documents.

Request URL

POST /v1/persons

Response

The API returns a person object with a unique id. You will use this id in subsequent API calls as the value of person_id throughout the remainder of this guide.

Click here to view the full API reference


For each person resource you created in the previous step, you must create a legal_representative resource and set the value of its legal_representative attribute to the id of the person resource.

Optional attributes

  • type_of_representation: Indicates whether this legal representative can make decisions alone or jointly with other legal representatives. This attribute is optional. Possible values are ALONE, JOINT, or OTHER.
  • power_of_attorney_confirmed_at: In case of JOINT representation, legal representatives need to confirm the power of attorney's timestamp in the power_of_attorney_confirmed_at attribute.

POST Create legal representative

This method creates a legal_representative resource on the business and binds a person to the business as a legal representative.

Request URL

POST /v1/businesses/{business_id}/legal_representatives

Response

The API returns an object containing the details of the new legal_representative resource, including its unique id. Note that calling this endpoint successfully will trigger the LEGAL_REPRESENTATIVE webhook event.

Click here to view the full API reference.


Step 4: Create Ultimate Beneficial Owner(s)

In this step, you must do the following:

  • Collect the mandatory data points from the business' beneficial owner(s) and create a person object for each beneficial owner.
  • Create a beneficial_owner resource and assign it to its corresponding person object.
  • Include the definition of the beneficial owner in your UI.

:::attention Important

  • If a business has more than one beneficial owner, make sure to create and link all of them to the corresponding business object to avoid any delays during the business identification process.
  • A beneficial owner MUST be a natural person and CANNOT be another company.

:::

The Beneficial Owners (BO) are natural persons who, directly or indirectly, own more than 25% of a company's shares.

According to the German Money Laundering Act (Geldwäschegesetz - GwG), a Beneficial Owner is a natural person who:

  • Ultimately owns or controls the business.
  • On whose behalf a transaction is ultimately carried out.
  • On whose behalf a business relationship is ultimately established.

:::attention Important notes

  • The beneficial owner must be a natural person (individual) and not a legal entity (company). If your business is owned by another company (holding or corporate structure), you need to follow the trail of indirect ownership until you find an individual.
  • After a thorough investigation, if no individual owns directly or indirectly more than 25% of the company's voting shares, you must add the legal representative(s) as fictitious beneficial owners.
  • Beneficial owners don't require video identification.
  • For more information about beneficial owners, check the FAQ in the appendices section. :::

Please ensure that the beneficial owner's full definitions and the checkbox are available to your customers in your sign-up flow.

Full definition in English

The ultimate beneficial owner in the sense of the German Money Laundering Act (Geldwäschegesetz - GwG) is the natural person who ultimately owns or controls the contracting party, or on whose behalf a transaction is ultimately carried out or a business relationship is ultimately established. This particularly includes:

  1. In case of legal persons, foundations without legal capacity and, in the case of other companies, any natural person who directly or indirectly holds more than a 25% share of the capital, controls more than 25% of the voting rights or exercises control in any comparable manner (+). Establishing the identity of the beneficial owner can be waived, though, for companies that are listed in an organised market in the EU with in accordance with Sec on 2 para. 5 of the Securities Trading Act or, in case of listed companies from a third country, if they are subject to EU-equivalent transparency requirements regarding voting rights or equivalent international standards;
  2. In case of foundations or other legal arrangements with legal capacity (or similar) used to manage or distribute assets or property as trustee (trust management), or through which third parties are instructed with the management or distribution of assets or property, the ultimate beneficial owner is:
  • any natural person who is a trustor/settlor, trustee or protector, if applicable
  • any natural person who is a member of the board of the foundation,
  • any natural person designated as a beneficiary,
  • the group of natural persons in whose favour the assets are mainly to be administered or distributed, provided that the natural person who is to be the ultimate beneficial owner of the assets or property has not yet been determined
  • any natural person who, by any other means, directly or indirectly exercises control over the asset management or property or the distribution of income.
  1. In the event of acting on behalf of another party, the ultimate beneficial owner includes the party upon whose initiative the transaction is performed. If the contracting party acts as a trustee, he also acts on behalf of another party. (+) Indirect control exists particularly if corresponding shares are held by one or more associations pursuant to Sec on 20 para. 1 GwG which are controlled by a natural person. Control exists particularly if the natural person can directly or indirectly exert a controlling influence on the association pursuant to Sec on 20 para. 1 GwG. Sec on 290 para. 2 to 4 German Commercial Code (Handelsgesetzbuch - HGB) applies mutatis mutandis to the existence of a controlling influence. If, after extensive audits have been performed and without the facts according to Sec on 43 para. 1 GwG applying, no natural person has been identified or if there is any doubt that the identified person is the ultimate beneficial owner, the ultimate beneficial owner shall be the legal representative, managing partner or partner of the contracting party.

Full definition in German

Wirtschaftlich Berechtigter im Sinne des Geldwäschegesetzes, ist die natürliche Person, in deren Eigentum oder unter deren Kontrolle der Vertragspartner letztlich steht, oder auf deren Veranlassung eine Transaktion letztlich durchgeführt oder eine Geschäftsbeziehung letztlich begründet wird. Hierzu zählen insbesondere:

  1. Bei juristischen Personen, außerrechtsfähigen Stiftungen und bei sonstigen Gesellschaften jede natürliche Person, welche unmittelbar oder mittelbar mehr als 25 Prozent der Kapitalanteile hält, mehr als 25 Prozent der Stimmrechte kontrolliert oder auf vergleichbare Weise Kontrolle ausübt(2). Auf die Abklärung des wirtschaftlich Berechtigten kann aber verzichtet werden bei Gesellschaften, die innerhalb der EU an einem organisierten Markt im Sinne des § 2 Abs. 5 des Wertpapierhandelsgesetzes notiert sind, oder bei börsennotierten Unternehmen aus einem Drittstaat, wenn sie dem Gemeinschaftsrecht entsprechenden Transparenzanforderungen im Hinblick auf Stimmrechtsanteile oder gleichwertigen internationalen Standards unterliegen;
  2. Bei rechtsfähigen Stiftungen und Rechtsgestaltungen, mit denen treuhänderisch Vermögen verwaltet oder verteilt oder die Verwaltung oder Verteilung durch Dritte beauftragt wird, oder diesen vergleichbaren Rechtsformen zählt zu den wirtschaftlich Berechtigten:
  • jede natürliche Person, die als Treugeber, Verwalter von Trusts (Trustee) oder Protektor, sofern vorhanden,
  • jede natürliche Person, die Mitglied des Vorstands der Stiftung ist,
  • jede natürliche Person, die als Begünstigte bestimmt worden ist,
  • die Gruppe von natürlichen Personen, zu deren Gunsten das Vermögen hauptsächlich verwaltet oder verteilt werden soll, sofern die natürliche Person, die Begünstigte des verwalteten Vermögens werden soll, noch nicht bestimmt ist,
  • jede natürliche Person, die auf sonstige Weise unmittelbar oder mittelbar beherrschenden Einfluss auf die Vermögensverwaltung oder Ertragsverteilung ausübt.
  1. Bei Handeln auf Veranlassung zählt zu den wirtschaftlich Berechtigten derjenige, auf dessen Veranlassung die Transaktion durchgeführt wird. Soweit der Vertragspartner als Treuhänder handelt, handelt er ebenfalls auf Veranlassung.

Create person resource for each beneficial owner

For each of the business' beneficial owners, you must collect the following mandatory information and pass it to Solaris in the request body of the following endpoint:

POST Create person

This endpoint creates a person resource for the business' beneficial owner. Add the following mandatory data points you've collected from the customer in the request body of this endpoint:

Mandatory properties:

  • salutation
  • first_name: (including all middle names as printed on the ID document)
  • last_name: (including all middle names as printed on the ID document)
  • birth_date
  • nationality (ISO 3166-1 alpha-2 codes)
  • country: Country of residence. (ISO 3166-1 alpha-2 codes).
Important

You have to submit the information exactly as it appears on official documents.

Request example:

POST /v1/persons
{
    "salutation": "MR",
    "first_name": "Max",
    "last_name": "Mustermann",
    "nationality": "DE",
    "birth_date": "1982-06-20"
}

Response

The API returns a person object with a unique id. You will use this id in subsequent API calls as the value of person_id throughout the remainder of this guide.

Click here to view the full API reference

Additionally, you need to clarify whether there is an additional agreement that allows an external person or business to have a right of ownership. To collect this information, display the following question to your customers as a check box during the sign-up process:

Are there contracts or agreements concluded outside the company register which reflect a possible ownership based on voting rights distributions?

If the customer checks this box, they must provide supplementary documentation to reflect the ownership. The required documents have the document type: SHARE_HOLDERS_AGREEMENT. Additionally, you need to store the response and timestamp of the customer's response and provide it when requested by Solaris.


Create beneficial owner resource(s)

For each person resource you created in the previous step, you must create a beneficial_owner resource. You must provide values for the following properties:

  • person_id: The id of the person resource you just created.
  • voting_share
  • fictious

POST Create beneficial owner(s)

This method creates a beneficial_owner resource on the business and binds a person to the business as a beneficial owner.

Request example:

// POST /v1/businesses/{business_id}/beneficial_owners
{
  "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  "voting_share": "70.50",
  "fictitious": "false",
  "relationship_to_business": "DOMINANT_INFLUENCE_OVER_SHARE_CAPITAL"
}

Response

The API call returns an object containing the details of the beneficial_owner resource, including its unique id. Note that calling this endpoint successfully will trigger the BENEFICIAL_OWNER webhook event.

Click here to view the full API reference.


Step 5: Complete the business identification (BKYC)

In this step, you will trigger the process of verifying the identities of the business legal entity and the legal representative(s) on the business account.

API reference

For a complete list of endpoints, properties, and examples related to business identification (BKYC), visit the following links:

Related webhook events

POST Initiate business identification

Call this endpoint to initiate the business identification process, which automatically triggers both the legal identification of the business and the video identification of applicable natural person(s). You have to specify the identification method in the request body. The default method is idnow.

Request URL

POST /v1/businesses/{business_id}/identifications

Response

The API response returns an identification object with a unique id representing the business identification resource and its overall status. Additionally, the payload contains individual identification objects for the video identification sessions of legal representatives, including their respective resource id, IDnow status, reference, and url for completing the process.

The payload also provides information on the legal identification process, including its dedicated legal_identification_status. You must call the API to monitor the progress of this process, particularly the legal_identification_missing_information field, where Solaris will highlight compliance questions requiring answers from the business.

Click here to view the full API reference.


Manual video identification

Your solution might need to trigger video identification manually in the following cases:

  1. New legal representatives are found during the legal identification process. In this case, you'll receive a webhook notification from the event legal_representative, which includes the legal_representative_id of the discovered legal representative. Afterward, initiate a video identification with IDnow and trigger the identification session by redirecting the legal representative to the provided URL.
  2. If any of the initially triggered video identifications fail, manually trigger a new identification.

API reference

For a complete list of endpoints, properties, and examples related to customer identification (KYC), visit the following link:

:::note

  • The previous link includes all endpoints for different KYC methods. This section includes the relevant endpoints required for video identification with IDnow.
  • Please note the technical prerequisites needed for IDnow here. :::

Related webhook events


Call this endpoint to create an identification resource for the person specified in the request URL, and add the following properties to the request body:

  • method: The identification method to use. In this case, set the value to idnow.
  • language: The customer's preferred language for the identification process. Possible values are EN and DE.
  • proof_of_address_type: The type of document submitted by the customer as a proof of address. This field is mandatory if the customer's identification document does not include their address.
  • proof_of_address_issued_at: The date when the proof of address document was issued. This field is mandatory if the customer's identification document does not include their address. It may not be older than 6 months.

:::attention Note that this endpoint does not actually trigger the identification process with the provider. Calling the PATCH Request an identification endpoint will trigger the process. :::

Request example

POST /v1/persons/{person_id}/identifications
{
  "method": "idnow",
  "language": "DE",
  "proof_of_address_type": "GAS_BILL",
  "proof_of_address_issued_at": "2022-09-21"
}

Response example

The API call will return an identification object with a unique id (i.e., identification_id) and an initial status of created.

{
    "id": "6dc54352d6793a892e0702850d07b831cidt",
    "reference": null,
    "url": null,
    "status": "created",
    "completed_at": null,
    "method": "idnow",
    "proof_of_address_type": "GAS_BILL",
    "proof_of_address_issued_at": "2022-09-21",
    "language": "DE",
    "iban": null,
    "terms_and_conditions_signed_at": null,
    "authorization_expires_at": null,
    "confirmation_expires_at": null
}

Click here to view the full API reference.

:::note Method idnow_custom is a customized IDnow flow. If you're interested in offering this to your customers, then please contact your Partner Manager. :::

GET List supported documents for a person identification

The purpose of this endpoint is to provide you with a list of supported identification documents per issuing country. You can use this endpoint to inform your customers of the required documents before starting the identification process.

The API call returns an array of document types with the corresponding issuing countries listed as ISO country codes (ISO-3166-1 alpha 2). If a customer provides a document type that is not supported, their identification process will fail.

Request URL

GET /v1/persons/{person_id}/identifications/{id}/supported_documents

Click here to view the full API reference

PATCH Request person identification

Call this endpoint to trigger the identification flow with IDnow for the specific customer.

Request URL

PATCH /v1/persons/{person_id}/identifications/{id}/request

Response example

The API call returns the identification object with the status pending. The status will remain pending until the customer completes the identification. Additionally, the payload includes the following key properties:

  • url The URL to which you must redirect the customer to complete the identification. Valid for 14 days.
  • reference: An internal IDnow identification token for the session (format: ABCDEFGH). Do not share this with the customer under any circumstances.
{
    "id": "6dc54352d6793a892e0702850d07b831cidt",
    "reference": "TST-KCCEY",
    "url": "https://go.test.idnow.de/solarisbankvideoidentsandbox/identifications/6dc54352d6793a892e0702850d07b831cidt",
    "status": "pending",
    "completed_at": null,
    "method": "idnow",
    "proof_of_address_type": "GAS_BILL",
    "proof_of_address_issued_at": "2022-09-21",
    "language": "DE",
    "iban": null,
    "terms_and_conditions_signed_at": null,
    "authorization_expires_at": null,
    "confirmation_expires_at": null,
    "estimated_waiting_time": 60
}

Click here to view the full API reference.

IDnow video identification session

Your customer will now be redirected to an IDnow-branded landing page, where they consent to IDnow's Terms & Conditions and confirm that they have a valid ID document for the video identification. They must also provide a valid mobile number, which the IDnow agent will verify during the call using an SMS OTP.

Customers may choose to conduct the call with a German- or English-speaking IDnow agent. When the video identification call begins, the agent will greet the customer on behalf of either you or Solaris (depending on your agreement with Solaris). The agent will then verify the customer's mobile number, first name, and last name. If there are any missing data properties, the agent will provide these as well, and they will be added to the customer's person resource.

GET Retrieve person identification

Once the identification completes successfully, call this endpoint to retrieve the finalized person identification. If you use the include_documents filter, the API will also return the documents submitted by the customer during the process. To download any of these documents, use the document's unique id to call the document download endpoints.

Request URL

GET /v1/persons/{person_id}/identifications/{id}

Click here to view the full API reference.

Other identification endpoints


Compliance questions

During the legal identification process, Solaris' legal and compliance team may require additional information from your customers, including answers to certain compliance questions and/or additional documents to be uploaded.

How to identify compliance questions and documents?

  1. If Solaris needs further clarification during the business identification, you will receive a notification on the BUSINESS_IDENTIFICATION webhook.
  2. Call the GET Retrieve a business identification endpoint to retrieve the required details.

Only compliance questions

If Solaris has compliance questions for the business, the field legal_identification_missing_information will contain only COMPLIANCE_QUESTIONS as a value. In this case, customers can simply provide answers to the questions on your frontend. Additionally, we recommend to have document upload set as optional to enable the customer to add supporting documents.

Example payload

{
  "legal_identification_status": "information_required",
  "legal_identification_status_missing_information": "COMPLIANCE_QUESTIONS"
}

Both compliance questions & documents

If Solaris requires both answers to compliance questions and documents from the business, the field legal_identification_missing_information will contain COMPLIANCE_QUESTIONS and a document_type enum, e.g., FOUNDATION_DOCUMENT or any other document_type. In this case, customers need to provide answers to the questions on your frontend. Additionally, they need to upload the required document type specified in the payload. You should have document upload set as mandatory on your frontend and submit the document to Solaris using the POST Create a Business Document endpoint.

Example payload

{
  "legal_identification_status": "information_required",
  "legal_identification_status_missing_information": 
  [
    "COMPLIANCE_QUESTIONS",
    "FOUNDATION_DOCUMENT"
  ]
}

How to retrieve compliance questions and provide answers?

In case your customer must answer compliance questions, you need to call the following endpoints to retrieve the questions and allow to the customer to answer them on your frontend:

GET Retrieve compliance questions

To get the compliance questions, call the following endpoint:

Request URL

GET /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification/questions

Response example

The API call returns an object that includes the question(s) with a unique ID and the corresponding text. You must redirect these questions to your customers and retrieve their answers as part of your workflow. You should also provide a dedicated page for answering all questions separately.

{
  "question_id": "ebb463137becc09788dfe21fc066e670qstn",
  "question_text": "Please provide the license for security / guarding services (Bewachungsgewerbe): § 34a GewO",
  "legal_identification_id": "14eb210435e09ab7f6a06c8b9b86ce27lid",
  "business_identification_id": "4c74c804eaea5d2a2d64ef400a27a4d3bid",
  "business_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  "answer_id": null,
  "answer_text": "string",
  "asked_at": "2021-07-16T13:38:06.000Z",
  "answered_at": null
}

Click here to view the full API reference.

Create answers for compliance questions

After receiving the compliance question answers from the customer, call the following endpoint to share them with Solaris. Note that you must make a separate API call for each answer.

Request URL

You have to provide the question's answer in the request body of this endpoint.

POST /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification/questions/{question_id}/answers

Click here to view the full API reference.

Call this method to update the legal identification and mark it as ready to resume the identification process after adding all answers to the compliance questions. This endpoint changes the legal_identification_status from information_required to pending when called.

Request URL

PATCH /v1/businesses/{business_id}/identifications/{id}/legal_identification/mark_as_ready

Click here to view the full API reference.


Identification statuses

There are three different statuses related to the business identification process:

1. Solarisident status

The Solarisident process includes both legal identification and the video-identification. It's represented on the system with the property status, which is automatically set to created when creating a business identification.

Successful legal identification and video identification(s) set the status of the business identification (solarisident) to successful.

Check the appendix for more information about the different status values and descriptions.

2. Legal identification status

The legal identification process is represented by the legal_identification_status property. When a business identification is created, this value is automatically set to created.

Check the appendix section for more information about the different status values and descriptions.

Video identification process

The API returns a unique video identification object for each natural person undergoing video identification. This includes the status property, which is the IDnow status. The property has an initial value of pending and keeps this value as long as the corresponding legal representative has not video-identified with IDnow.

Check the appendix for more information about the different status values and descriptions.


What's next?

Congratulations! You've successfully completed the business identification process (BKYC).

Check the appendices below for additional information on enums and testing data.

For an overview of Solaris' Customer KYC products, check the overview page.

Useful resources

Check the following links for additional related guides and API reference documentation:


Appendix I: Enums

CRS company type

The field crs_company_type is required to collect the mandatory tax information and create the business tax_identification resource. The following table includes the possible values for this field and their descriptions:

EnumDescription
FE_REPORTINGReporting financial institution.
FE_NON_REPORTINGNon-reporting financial institution.
NFE_ACTIVE_OTHERActive NFE - A corporation whose shares are regularly traded on at least one recognized stock exchange (or a company affiliated with it), a government entity, an international organization, a central bank, or a legal entity wholly owned by NFE
NFE_PASSIVE Passiver NFE Passive NFE - Non-active NFE
NFE_PASSIVE_INVESTMENT Inactive NFE/NFFE or an Investment Entity that is a Financial Institution in a jurisdiction not participating in the CRS and that is managed by another Financial Institution

Document types

The following table includes the possible values for the field document_type and their descriptions.

EnumDescription
ANNUAL_FINANCIAL_STATEMENTA business or a company's annual financial statement.
KYC_REPORTThe KYC report generate after a successful customer identification.
ID_DOCUMENTAn person's identification document, such as passport or ID.
SIGNATUREA signature example.
PICTUREA picture or a scanned document of any other type.
QES_DOCUMENTA document related to a Qualified Electronic Signature (QES).
SIGNED_CONTRACTA signed contract of any kind.
SIGNED_QES_DOCUMENTA document signed by a Qualified Electronic Signature (QES).
REGISTER_CHECKA register check.
REGISTER_EXTRACTA business or a company's commercial register excerpt or a similar document.
FOUNDATION_DOCUMENTThe foundation document of a company or business.
SCHUFA_COMPACT_REPORTA compact SCHUFA report.
SCHUFA_GWG_REPORTA GWG SCHUFA report.
SCHUFA_FULL_REPORTA full SCHUFA report about a person.
SCHUFA_SHORT_REPORTA short SCHUFA report about a person.
CREDIT_AGENCY_REPORTA report issued by a credit agency.
SHARE_HOLDERS_AGREEMENTA business or a company's shareholders agreement.
SHAREHOLDERS_LISTA business or a company's shareholders list.
TRADING_LICENSEA business or a company's trading license.
TRANSPARENCY_REGISTER_EXTRACTAn extract of a transparency register.
INVOICEAn invoice of any kind.
OTHERAny other type of document.
VIDEOA video of any kind.
VAT_CERTIFICATEVAT registration certificate

Idnow status

The following table includes the possible values for the field status for the video identification process carried out by IDnow and the related description of each status.

StatusDescription
createdThe identification resource has been created for the customer.
pendingThe identification process has been triggered and the video identification URL and reference are generated. You must redirect the customer to the URL to complete the identification process with IDnow.
pending_failedThe identification is currently under review. You cannot offer banking services to the customer at this stage. The identification might eventually turn to successful, but it is unlikely.
successfulThe video identification was successful. The customer can be onboarded. Please note that the customer's data might have been updated during the identification session.
abortedThe customer aborted the identification process. The customer can still video-identify using the same URL.
canceledThe provider canceled the video identification. The customer should video-identify again using the same URL.
failedThe identification was unsuccessful. You cannot onboard the customer or offer any banking services to them.

IDnow provides a reason whenever the identification has a canceled or aborted status. No reason can be disclosed for the final failed status.

Tax country

The following tables includes the possible values for the field tax_country:

EnumCountry
DEGermany
ITItaly
ATAustria
GBUnited Kingdom
CZCzech Republic
FRFrance
BEBelgium
LULuxembourg
NLThe Netherlands
ESSpain
PTPortugal

Sector

The following are the possible values for the field sector.

  • ECONOMICALLY_SELF_EMPLOYED
  • ECONOMIC_DEPENDENT
  • FOREIGN_COMPANIES
  • FOREIGN_ECONOMIC_DEPENDENT
  • FOREIGN_PRIVATE_INDIVIDUAL
  • FOREIGN_SELF_EMPLOYED_PRIVATE_PERSON
  • GERMAN_BANKS
  • MUNICIPALITY_AND_MUNICIPALITY_ASSOCIATION
  • OTHER_COMPANIES_WORKMAN
  • OTHER_COMPANIES
  • OTHER_PRIVATE_INDIVIDUAL

The selected value for the field tax_country influences the accepted values for the field legal_form. The following are the possible values for the field legal_form per each tax_country.

Austria (AT)

  • AT_SE
  • AT_OHG
  • AT_KG
  • AT_AG
  • AT_GESMBH
  • AT_EG
  • AT_GBR
  • AT_EV
  • AT_SOLE_PROPRIETORSHIP
  • AT_SELF_EMPLOYED
  • AT_AMT
  • AT_KOR
  • AT_STIFTUNGEN
  • AT_GMBH
  • AT_GMBH_CO_KG

Belgium (BE)

  • BE_SNC
  • BE_SCS
  • BE_SA
  • BE_SPRL
  • BE_SE
  • BE_SCA
  • BE_SC
  • BE_SCRI
  • BE_SEP
  • BE_SF
  • BE_SPRLU
  • BE_SOLE_PROPRIETORSHIP
  • BE_SELF_EMPLOYED

Bulgaria (BG)

  • BG_AD
  • BG_OOD
  • BG_KDA
  • BG_KD
  • BG_SD
  • BG_SELF_EMPLOYED
  • BG_SOLE_PROPRIETORSHIP

Croatia (HR)

  • HR_DD
  • HR_DOO
  • HR_JDOO
  • HR_KD
  • HR_JTD
  • HR_SELF_EMPLOYED
  • HR_SOLE_PROPRIETORSHIP
  • HR_ORTA

Czech Republic (CZ)

  • CZ_AS
  • CZ_SRO
  • CZ_KS
  • CZ_VOS
  • CZ_DRUZSTVO
  • CZ_FYZICKA_OSOBA
  • CZ_SOLE_PROPRIETORSHIP
  • CZ_SELF_EMPLOYED

France (FR)

  • FR_AE
  • FR_EI
  • FR_SNC
  • FR_SCS
  • FR_SA
  • FR_SAS
  • FR_SARL
  • FR_SE
  • FR_SCA
  • FR_EURL
  • FR_SC
  • FR_SCOP
  • FR_SELARL
  • FR_SOLE_PROPRIETORSHIP
  • FR_SELF_EMPLOYED

Germany & others

Solaris accepts the following legal forms for companies in Germany and other countries that are not specified in our system:

  • AG
  • EG
  • EK
  • EV
  • NEV
  • GBR
  • GMBH
  • GMBH_CO_KG
  • GMBH_I_GR
  • KG
  • KGAA
  • LTD
  • MUNICIPALITY
  • MUNICIPAL_COMPANY
  • NONE
  • OHG
  • PARTG
  • PRIVATE_PERSON
  • SAVINGS_BANK
  • SE
  • SELF_EMPLOYED
  • SOLE_PROPRIETORSHIP
  • UG
  • UG_I_GR
  • FOREIGN_CORPORATION
  • ADOR
  • AMT
  • KDOR
  • STIFTUNGEN
  • SECOKG
  • AGCOKG

Hungary (HU)

  • HU_NYRT
  • HU_KFT
  • HU_BT
  • HU_KKT
  • HU_SOLE_PROPRIETORSHIP
  • HU_SELF_EMPLOYED
  • HU_ORTA

Italy (IT)

  • IT_SE
  • IT_SNC
  • IT_SAS
  • IT_SPA
  • IT_SRL
  • IT_SAPA
  • IT_SCPA
  • IT_SCARL
  • IT_SCOP
  • IT_SS
  • IT_SOLE_PROPRIETORSHIP
  • IT_SELF_EMPLOYED

Luxembourg (LU)

  • LU_SNC
  • LU_SCS
  • LU_SA
  • LU_SARL
  • LU_SE
  • LU_SCA
  • LU_SCSP
  • LU_SARLS
  • LU_SC
  • LU_SCOP
  • LU_SOLE_PROPRIETORSHIP
  • LU_SELF_EMPLOYED
  • LU_SECA
  • LU_ASBL
  • LU_FON
  • LU_SP

Poland (PL)

  • PL_SA
  • PL_SPZOO
  • PL_SE
  • PL_SKA
  • PL_SPK
  • PL_SPJ
  • PL_SELF_EMPLOYED
  • PL_OTHER

Portugal (PT)

  • PT_SNC
  • PT_SC
  • PT_SA
  • PT_LDA
  • PT_SE
  • PT_SUNI
  • PT_EIRL
  • PT_SCIV
  • PT_COP
  • PT_SOLE_PROPRIETORSHIP
  • PT_SELF_EMPLOYED

Romania (RO)

  • RO_SA
  • RO_SRL
  • RO_SCA
  • RO_SCS
  • RO_SNC
  • RO_SELF_EMPLOYED
  • RO_SOLE_PROPRIETORSHIP

Serbia (RS)

  • RS_AD
  • RS_DOO
  • RS_KD
  • RS_OD
  • RS_SELF_EMPLOYED
  • RS_SOLE_PROPRIETORSHIP

Slovenia (SI)

  • SI_DD
  • SI_DOO
  • SI_KDD
  • SI_KD
  • SI_DNO
  • SI_SELF_EMPLOYED
  • SI_SOLE_PROPRIETORSHIP

Spain (ES)

  • ES_SRC
  • ES_SC
  • ES_SA
  • ES_SAS
  • ES_SRL
  • ES_SE
  • ES_SCA
  • ES_SLNE
  • ES_SAU
  • ES_SLU
  • ES_SPRO
  • ES_SCOP
  • ES_SOLE_PROPRIETORSHIP
  • ES_SELF_EMPLOYED

Switzerland (CH)

  • CH_DE_AG
  • CH_FR_SA
  • CH_IT_SA
  • CH_DE_GMBH
  • CH_FR_SARL
  • CH_IT_SAGL
  • CH_SE
  • CH_DE_KOMAG
  • CH_FR_SCA
  • CH_IT_SACA
  • CH_DE_KG
  • CH_FR_SCM
  • CH_IT_SAC
  • CH_DE_KIG
  • CH_FR_SNC
  • CH_IT_SNC
  • CH_DE_EG
  • CH_FR_SS
  • CH_IT_SS
  • CH_SELF_EMPLOYED
  • CH_SOLE_PROPRIETORSHIP
  • CH_DE_KMG

The Netherlands (NL)

  • NL_VOF
  • NL_CV
  • NL_NV
  • NL_BV
  • NL_SE
  • NL_CVOA
  • NL_COPV
  • NL_MTS
  • NL_SOLE_PROPRIETORSHIP
  • NL_SELF_EMPLOYED
  • NL_VERENIGING
  • NL_STICHT

Turkey (TR)

  • TR_ADI_SIR
  • TR_AS
  • TR_LS
  • TR_KOM_STI
  • TR_KOLL_STI
  • TR_SELF_EMPLOYED
  • TR_SOLE_PROPRIETORSHIP

United Kingdom

  • GB_SE
  • GB_PARTNERSHIP
  • GB_LP
  • GB_PLC
  • GB_LTD
  • GB_COPS
  • GB_UAS
  • GB_PRCU
  • GB_PUCU
  • GB_SOLE_PROPRIETORSHIP
  • GB_SELF_EMPLOYED

Please note that there are certain dependencies between the fields tax_country, sector, and legal_form. For example, based on the value selected for the field tax_country, certain values will be accepted for the field sector, and based on the value selected for the field sector, certain values will be accepted for the field legal_form.

The following sections give an overview of the mapping between these fields.

The selected value for the field tax_country influences the accepted values for the field sector. The following table gives an overview about the mapping of values between the field tax_country and sector.

Tax countryAllowed values for sector
DE
  • ECONOMICALLY_SELF_EMPLOYED
  • ECONOMIC_DEPENDENT
  • GERMAN_BANKS
  • MUNICIPALITY_AND_MUNICIPALITY_ASSOCIATION
  • OTHER_COMPANIES_WORKMAN
  • OTHER_COMPANIES
  • OTHER_PRIVATE_INDIVIDUAL
All other countries
  • FOREIGN_COMPANIES
  • FOREIGN_ECONOMIC_DEPENDENT
  • FOREIGN_PRIVATE_INDIVIDUAL
  • FOREIGN_SELF_EMPLOYED_PRIVATE_PERSON

The selected value for the field sector influences the accepted values for the field legal_form. The following table gives an overview about the mapping of values between the field sector and legal_form.

SectorAllowed values for legal form
OTHER_COMPANIES
  • AG
  • EG
  • GBR
  • GMBH_CO_KG
  • GMBH_I_GR
  • GMBH
  • KG
  • KGAA
  • LTD
  • OHG
  • PARTG
  • SE
  • UG_I_GR
  • UG
OTHER_COMPANIES_WORKMAN
  • EK
  • GBR
  • LTD
  • SELF_EMPLOYED
  • SOLE_PROPRIETORSHIP
FOREIGN_COMPANIES
  • FOREIGN_CORPORATION
  • NONE
GERMAN_BANKS
  • SAVINGS_BANK
MUNICIPALITY_AND_MUNICIPALITY_ASSOCIATION
  • MUNICIPALITY
  • MUNICIPAL_COMPANY
ECONOMICALLY_SELF_EMPLOYED
  • EK
  • GBR
  • SELF_EMPLOYED
  • SOLE_PROPRIETORSHIP
NON_PROFIT_ORGANIZATION
  • EV
  • NEV

The following table includes the possible values for the field legal_identification_status for the legal identification process of the business legal entity carried out by Solaris and the related description of each status.

StatusDescription
createdThe legal identification was initiated and will be conducted shortly.
information_requiredThe legal identification cannot be conducted because Solaris is missing one or more required documents. Refer to the legal_identification_missing_information array to determine which document(s) is/are missing.
blocked_internallyThe legal identification is put on hold due to additional internal checks
successfulThe legal identification was conducted successfully.
failedThe legal identification was marked as failed. Refer to the legal_identification_reason to find out why.
expiredThe legal identification was not updated to terminal status in 90 days

NACE code

The Statistical Classification of Economic Activities in the European Community, commonly known as NACE, is the industry standard classification system used in the European Union.

NACE uses four hierarchical levels:

  • Level 1: 21 sections identified by alphabetical letters A to U;
  • Level 2: 88 divisions identified by two-digit numerical codes (01 to 99);
  • Level 3: 272 groups identified by three-digit numerical codes (01.1 to 99.0);
  • Level 4: 629 classes identified by four-digit numerical codes (01.11 to 99.00).

The first four digits of the code, which is the first four levels of the classification system, are the same in all European countries. National implementations may introduce additional levels. The fifth digit might vary from country to country and further digits are sometimes placed by suppliers of databases.

For example, if the NACE code A 01.11 (Growing of cereals (except rice), leguminous crops and oil seeds) would apply to the person/business, supply the value like such:

nace_code = "A 01.11"

Please visit this site for the list of values of NACE codes values you need to implement in your solution. The list is available in multiple languages.

NACE codes are mandatory for B2B and freelancer customers in Germany, Italy, and Spain. For France, NACE codes are excluded due to the usage of different coding system CODE NAF.

:::info Please note that using NACE codes replaces using the fields industry and industry_key. :::

Solarisident status

The following table includes the possible values for the field status, which refers to the overall status of the business identification process (BKYC), including the legal identification of the business legal entity carried out by Solaris and the video identification of the business's natural persons.

StatusDescription
createdThe legal identification was initiated and will be conducted shortly.
pendingA business identification (solarisIdent) is mark_as_successful by partner
successfulBoth steps of the business identification process (solarisIdent) were completed successfully.
failedThe business identification process (solarisIdent) will not continue. The business couldn't be identified. A reason will not be provided. Verify the status of either the legal identification or the individual video identifications instead.
expiredThe business identification process (solarisIdent) was not completed within six months of being initiated. Either the legal identification or one of the individual video identifications was not finished on time.

Appendix II: BKYC required documents

The following table includes the required documents for identification for each legal form:

:::note

  • For all registered Legal Forms, the Customers are prompted to input their business data: registration_number registration_issuer Once the Customer enters this data correctly, Solaris will be able to pull the required company documents automatically without the need to request this data to the Customer during the onboarding flow. :::

:::warning Failure to provide this data accurately (registration_number and registration_issuer), will result in the failure of Solaris’s document retrieval automation and documents will be requested manually from the Customer via the request information and request document endpoints.

Please note that Solaris may request further documents during the onboarding process depending on different factors, such as legal entities as beneficial owners, complex business structures and/or types of services offered. ::::

Legal FormDocuments requiredDocument TypeData can be retrieved by Solaris
ADÖRRegister extractREGISTER_EXTRACTYes - Automated
ADÖRArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
AGRegister extractREGISTER_EXTRACTYes - Automated
AG"Aktionärsliste" for AG or AG/SE as General PartnerSHAREHOLDER_LISTNo
AGArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
AG_CO_KGRegister extractREGISTER_EXTRACTYes - Automated
AG_CO_KG"Aktionärsliste" for AG or AG/SE as General PartnerSHAREHOLDER_LISTNo
AG_CO_KGArticles of Association (Satzung) for AG/SE as General PartnerFOUNDATION_DOCUMENTNo
EGRegister extractREGISTER_EXTRACTYes - Automated
EGArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
EKRegister extractREGISTER_EXTRACTYes - Automated
GbRGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
eGbRRegister extractREGISTER_EXTRACTYes - Automated
eGbRGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
GemeindeArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
gGmbHRegister extractREGISTER_EXTRACTYes - Automated
gGmbHList of ShareholdersSHAREHOLDER_LISTYes - Automated
GMBHRegister extractREGISTER_EXTRACTYes - Automated
GMBHList of ShareholdersSHAREHOLDER_LISTYes - Automated
GMBH_CO_KGRegister extractREGISTER_EXTRACTYes - Automated
GMBH_CO_KGShareholderlist for GmbH/UG General PartnerSHAREHOLDER_LISTNo
GMBH_I_GRArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
GMBH_I_GRGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
GMBH_I_GRNotariell beglaubigte Urkundenrolle/MusterprotokollOTHERNo
gUGRegister extractREGISTER_EXTRACTYes - Automated
gUGList of ShareholdersSHAREHOLDER_LISTYes - Automated
KDORArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
KGRegister extractREGISTER_EXTRACTYes - Automated
KGAARegister extractREGISTER_EXTRACTYes - Automated
KGAAArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
LTDRegister extractREGISTER_EXTRACTYes - Automated
LTDList of ShareholdersSHAREHOLDER_LISTNo
LTDArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
NEVList of Shareholders (List of Board members)SHAREHOLDER_LISTNo
NEVArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
OHGRegister extractREGISTER_EXTRACTYes - Automated
PARTGRegister extractREGISTER_EXTRACTYes - Automated
PARTGGesellschaftsvertrag (Partnerschaftsvertrag)OTHER or SHAREHOLDER_AGREEMENTNo
SERegister extractREGISTER_EXTRACTYes - Automated
SEList of ShareholdersSHAREHOLDER_LISTNo
SE_CO_KGRegister extractREGISTER_EXTRACTYes - Automated
SE_CO_KG"Aktionärsliste" for AG or AG/SE as General PartnerSHAREHOLDER_LISTNo
SE_CO_KGArticles of Association (Satzung) for AG/SE as General PartnerFOUNDATION_DOCUMENTNo
SE_CO_KGGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
SOLE_PROPRIETORSHIPRegister extractREGISTER_EXTRACTNo
StiftungenArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
StiftungenTrustee Agreement / Stiftungssatzung or Statement signed by the Legal RepresentativesOTHERNo
UGRegister extractREGISTER_EXTRACTYes - Automated
UGList of ShareholdersSHAREHOLDER_LISTYes - Automated
UG_CO_KGRegister extractREGISTER_EXTRACTYes - Automated
UG_CO_KGShareholderlist for GmbH/UG General PartnerSHAREHOLDER_LISTNo
UG_CO_KGGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
UG_I_GRArticles of Association (Satzung)FOUNDATION_DOCUMENTNo
UG_I_GRGesellschaftsvertrag (partnership/shareholder agreement)OTHER or SHAREHOLDER_AGREEMENTNo
UG_I_GRNotariell beglaubigte Urkundenrolle/MusterprotokollOTHERNo

Appendix III: Testing samples for GET Search for business commercial registration

The following table includes testing samples for the GET Search for business commercial registration endpoint, including values for the fields country, registration_number, registration_issuer, and name.

CountryRegistration numberRegistration issuerCompany name
DEHRA204605Oldenburg (Oldenburg)Stiftung St. Josef-Stift
DEHRB18686BonnTekcor 1. V V UG
DEHRA201632LüneburgEWIV für Unternehmensberatung
DEHRA12751DortmundIndustrial Mercantile International Co.
DEHRB39889Berlin (Charlottenburg)OKV-Ostdeutsche Kommunalversicherung auf Gegenseitigkeit
DEHRA928KoblenzHans Leininger, Textilgroßhandlung
DEHRA551344UlmRavensburger Verkehrs- und Versorgungsbetriebe
DEGnR729LandshutBürgerEnergie Niederbayern eG
ESA31239833----BEKO ERROTA SAL
ESA82234113----HOTEL BAHIA TROPICAL SA
ESD92943109----MICHAEL SCHMIDT Y CIA ENERGIA SOLAR [...]
ESB40547747----CACTUS DIGITAL SIGNAGE SOCIEDAD LIMITADA
ESV54433230----EL SECRETO DE SUS OJOS AIE
ESB93050672----PURAENVIDIA CONSULTING SL
ESG83086751----BARCLAYS GESTION FI
ESB57761249----GRUPO SA VINYA IBIZA, SOCIEDAD LIMITADA
ESA79102331----UNIDAD EDITORIAL SA
FR304141732----ROGER & GALLET
FR790241467----SR SIGNALETIC
FR807956966----MENTON PARC AUTO
FR321470072----GROUP ETUD CONSTR HAB CONSEIL
FR642050199----AUTOMOBILES CITROEN
FR330034968----INNOVATION ANIMATION CULTURE TOURISME
FR388843930----RISKAUDIT IRSN-GRS INTERNATIONAL
FR332856574----JEAN BAPTISTE POLIZZI
FR702006230----SOFILOGIS
FR521753418----HOLMES AND TOOLS
ITBA543920----FONDAZIONE NICOLA E VITO ANTONIO RUGGIERI
ITTP131030----MAIORANA GIUSEPPE PICCOLO IMPRENDITORE EDILE
ITBA520383----SPECIAL CARS SRL
ITBI11627----ALLEANZA COOPERATIVA TORINESE*A.C.T.
ITMI152555----UNICREDIT SERVICES S.C.P.A
ITBS505351----FUNGHI ENERGIA & SALUTE S.R.L.
ITRM1046737----CONSORZIO G.T.I. - GRUPPO TECNOLOGIE INTEGRATE IN LIQUIDAZIONE
ITME239092----RUACH S.C. A R.L. - CONSORZIO STABILE

:::note For non DEcompanies, the registration_issuer is not necessary. :::


Appendix IV: License requirements

The following table includes industries connected with license requirements depending on the services provided by the Business Customer. Please upload the license with document_type as OTHER.

Industries that require licenses
Alcoholic Beverages (Ausschanklizenz)
Brokerage or Consultancy on Financial Investments
Waste/ Rubbish Collection, Transportation, Trade, or Brokerage
Insurance broker / Insurance advisor
Fee-based financial investment advisor
Realtor (Immobilienmakler)
Real Estate Loan Brokerage (Immobiliardarlehensvermittler)
Residential Property Manager (Wohnimmobilienverwalter)
Site supervisor (Baubetreuer)
Property developer (Bauträger, Bauherr)
Drones
Tour Operator (Reisevermittler)
Labour Leasing (Arbeitnehmerüberlassung)
Tax Advisor/ Tax Consultancy (Steuerberater)
Taxi Business (Taxenverkehr/ Taxiservice)
Provision of Ambulatory (Non-stationary) Care
Geriatric Nurses (Altenpflegerinnen und Altenpfleger)
Employment Agency (Arbeitsvermittlung)
Auctioneer/ auction houses (Auktionator)
Gastronomy Establishments Without Alcoholic Beverages
Accommodation Establishments (Beherbergungsbetriebe)
Loan brokerage (Darlehensvermittler)
Wholesale of Medicinal Products
Road Haulage (Güterkraftverkehr)
Ambulance Services (Krankentransport)
Trade Fairs, Exhibitions, Markets
Pawn Shops (Pfandleihgewerbe)
Podiatrist/ Medical Podiatrist
Showman on Funfairs (Reisegewerbe)
Pension Advisor (Rentenberater)
Pest Control (Schädlingsbekämpfung)
Debtor and consumer insolvency advisor
Covid Test Centre (Corona Schnelltestzentrum)
Payment service providers (Zahlungsdienstleister)

Appendix V: Business Registry offices

Register Court
Aachen
Altenburg
Amberg
Ansbach
Apolda
Arnsberg
Arnstadt
Arnstadt Zweigstelle Ilmenau
Aschaffenburg
Augsburg
Aurich
Bad Hersfeld
Bad Homburg v.d.H.
Bad Kreuznach
Bad Oeynhausen
Bad Salzungen
Bamberg
Bayreuth
Berlin (Charlottenburg)
Bielefeld
Bochum
Bonn
Braunschweig
Bremen
Chemnitz
Coburg
Coesfeld
Cottbus
Darmstadt
Deggendorf
Dortmund
Dresden
Duisburg
Düren
Düsseldorf
Eisenach
Erfurt
Eschwege
Essen
Flensburg
Frankfurt am Main
Frankfurt/Oder
Freiburg
Friedberg
Fritzlar
Fulda
Fürth
Gelsenkirchen
Gera
Gießen
Gotha
Göttingen
Greiz
Gütersloh
Hagen
Hamburg
Hamm
Hanau
Hannover
Heilbad Heiligenstadt
Hildburghausen
Hildesheim
Hof
Homburg
Ingolstadt
Iserlohn
Jena
Kaiserslautern
Kassel
Kempten (Allgäu)
Kiel
Kleve
Koblenz
Köln
Königstein
Korbach
Krefeld
Landau
Landshut
Langenfeld
Lebach
Leipzig
Lemgo
Limburg
Lübeck
Ludwigshafen a.Rhein (Ludwigshafen)
Lüneburg
Mainz
Mannheim
Marburg
Meiningen
Memmingen
Merzig
Mönchengladbach
Montabaur
Mühlhausen
München
Münster
Neubrandenburg
Neunkirchen
Neuruppin
Neuss
Nordhausen
Nürnberg
Offenbach am Main
Oldenburg (Oldenburg)
Osnabrück
Ottweiler
Paderborn
Passau
Pinneberg
Pößneck
Pößneck Zweigstelle Bad Lobenstein
Potsdam
Recklinghausen
Regensburg
Rostock
Rudolstadt
Saarbrücken
Saarlouis
Schweinfurt
Schwerin
Siegburg
Siegen
Sömmerda
Sondershausen
Sonneberg
Stadthagen
Stadtroda
Steinfurt
Stendal
St. Ingbert (St Ingbert)
Stralsund
Straubing
Stuttgart
St. Wendel (St Wendel)
Suhl
Tostedt
Traunstein
Ulm
Völklingen
Walsrode
Weiden i. d. OPf.
Weimar
Wetzlar
Wiesbaden
Wittlich
Wuppertal
Würzburg
Zweibrücken

Appendix VI: FAQs

The company I am about to register is a „Gesellschaft mit beschränkter Haftung“ (GmbH) – who is my legal representative?

The easiest and surest way to figure that out is to check your current register excerpt (Handelsregisterauszug). In there you'll find all the official legal representatives which you would need to tell us. As a further indication, these people also need to be listed in the Imprint of your website (Impressum).

The Legal Representative has sole representations rights – do I need to add the other legal representatives as well?

Yes. Even though this legal representative could conclude the process on behalf of the company alone in the following steps, Solaris would need the complete set of information for regulatory purposes. Therefore, please enter the information about all legal representatives associated with the business.

One of our legal representatives is currently unavailable – do we need to reach them to complete the process?

Yes. All legal representative(s) must be identified in a video identification session to complete the business identification process(BKYC).

Our legal representatives are about to change soon – shall I include the new ones already?

No; please submit the information as it is currently written in the official register. If you already know that these individuals will change, then please inform your Onboarding manager accordingly, and they will help sort things out.

Why do I have to submit all legal representatives here?

As a bank, Solaris is obliged to keep a record about the companies it works with and check whether the provided information is correct. Solaris makes every effort to keep the flow as smooth as possible. Nevertheless, the law stipulates that Solaris must collect this information for all legal representatives.

Beneficial Owner FAQs

What is a “Beneficial Owner”?

A so-called “Beneficial Owner” is a natural person (a human) who owns directly or indirectly more than 25% of the voting shares of a legal entity today. Ultimately it is the person who benefits from the entered agreement and has the eventual decision power. It can never be another company, as Solaris would need to look up the owner of that company. There is a more detailed (legally-worded) definition here as well. It may significantly help cases with beneficial owners incorporated as trusts or other non-commercial entity types.

The company has no beneficial owners – how should I proceed?

It might be the case after a thorough investigation that nobody has directly or indirectly enough voting shares of the business. In that case, Solaris is required to take the legal representatives instead. Please enter their information accordingly.

I don't know the ownership structure of the company – how shall I proceed?

Ultimately, the ownership structure of a company is determined in the shareholder agreement (Gesellschaftervertrag), which has been signed at least when founding the entity. In the meantime, this may have changed but would need to be noted in an amendment or update of this contract.

Another company owns the company – what shall I do now?

Please submit the information of the natural person (human) owning your shareholders. If this is also another company (holding- or corporate-structure), you would need to follow the trail of indirect ownership until you either find an individual or the ownership is diluted under 25% ownership (through indirect ownership).

What do you mean by direct or indirectly & how do I calculate that?

Direct ownership refers to a natural person (individual) owning him-/herself voting shares in the business. Indirect ownership refers to somebody owning one entity that then owns a specific part of the business. It also qualifies if the entities are stacked into each other (several companies in between). Also, if one individual holds voting shares via different entities in the business, you would need to add up his/ her total indirect ownership to see whether the total engagement reaches more than 25%. When the shareholding structure is stacked over several hierarchies, you multiply the ownership-quotas of each entity to get the ultimate quota for the respective person.

Example:

Adello GmbH needs to provide its beneficial owners. Adello's shareholders are Peter 30% of shares, Susi 10% of shares, Anne 10% of shares, and Toscana GmbH 50% of shares. Toscana's shareholders: Hugo 75% of shares and Marie 25% of shares Direct beneficial owners of Adello: Peter Indirect beneficial owners of Adello: Hugo with 37,5% of shares (Toscana's share in Adello 50% x Hugo's ownership quota in Toscana 75%). Please note that Marie is not a beneficial owner as she has indirectly only 12,5% in Adello.

We have different kinds of shares – which shares are the decisive ones?

Please refer to the shares with decisive voting power as the beneficial owner is ultimately the person deciding the significant strokes of the company.

Does the UBO need to do something, for instance, sign something or perform a video identification?

No, please only submit the information of that person as stated in his/her official documents (ID card or passport). There is no further double-checking of that information. Therefore, the beneficial owner does not need to do anything during this identification process.