Legal Entity Onboarding

Account Types and Required Documents

Legal Entity onboarding

Legal Entity endpoints

  • POST /accounts/legal-entity
  • POST /onboardings/company
  • POST /onboardings/association
  • POST /onboardings/sole-trader
  • GET /onboardings/{id}/resume

📘

Note

It's important to note that for the onboarding process, dataset requirements will differ based on the entity type. The data we request from a company will not be the same as what we ask from an association or a sole trader. For example: registration date is mandatory for a company during creation, but optional for associations and sole traders.


Account Creation endpoint

Onboarding Entity Examples

POST /accounts/legal-entity

{
    "legalEntity": {
        "name": "{{$randomCompanyName}}",
        "type": "COMPANY",
        "registrationNumber": "{{$randomInt}}{{$randomLoremWord}}", 
        "registrationCountry": "{{$randomCountryCode}}",
        "registrationDate": "1992-03-21"
    },
    "legalRepresentative": {
        "firstName": "{{$randomFirstName}}",
        "lastName": "{{$randomLastName}}",
        "birthDate": "2023-06-01",
        "email": "{{$randomEmail}}",
        "address": {
            "country": "{{$randomCountryCode}}"
        },
        "birthCountry": "{{$randomCountryCode}}",
        "nationalities": [
            "{{$randomCountryCode}}"
        ]
    },
    "profile": "PROJECT_HOLDER",
    "walletId": "{{$randomUUID}}",
    "solutionName": "{{solutionName}}"
}

Field

Required

Description

Data Type

Value Example

name

Yes

Legal entity name.

string

Lemonway SAS

type

Yes

Legal entity type.

string

COMPANY

registrationNumber

Yes

Optional for Associations and Sole Traders

Legal entity registration number.

enum: { COMPANY ; ASSOCIATION ; SOLE_TRADER }

enum

KJDWAO

registrationDate

Yes

Creation date of the legal entity.

date

1970-01-01

Country

Yes

The country where the legal entity is registered.

ISO-2 format.

iso2-alpha

FR

firstName

Yes

First name of the legal representative.

string

John

lastName

Yes

Last name of the legal representative.

string

Doe

birthDate

Yes

Birth date of the legal representative.

YYYY-MM-DD

date

1978-06-01

birthCountry

Yes

birth country of the legal representative, two-letter country code
ISO-2 format

iso-alpha2

FR

email

Yes

The email address of the legal representative.

john.doe@email.fr

Country

Yes

The residence country of the legal representative.
ISO-2 format

iso-alpha2

FR

nationalities

Yes

The nationalities of the legal representative.
ISO-2 format

iso-alpha2

["FR", "EN"]

profile

Yes

The profile of the entity.

  • *Note:** Only one profile will be permitted this is linked with the end-user's activity.

enum

PROJECT_HOLDER

Other profile examples include:

DONOR, INVESTOR, LENDER, BUYER, MERCHANT, CREDITOR, OPERATOR, CONTENT_EDITOR, OTHER_OPERATOR.

walletId

Yes

The wallet ID associated with the entity.

string

f2470b35-4dd4-4fe1-bab2-f8c763ebcef5

solutionName

Yes

The solution name.

string

lemonway


Initiating the Online Onboarding Process

To initiate the online onboarding process using the POST/onboardings/company or POST/onboardings/association or POST/onboardings/sole_trader endpoint, you need to submit the same data you used for account creation, along with the accountId we provided.

All other data are optional to initiate an online onboarding and will be collected directly from the end-user, ensuring compliance with KYC requirements without additional data input from your side.

Required data set:

{
    "accountId": "{{accountId}}",
    "legalEntity": {
        "name": "{{$randomCompanyName}}",
        "type": "COMPANY",
        "registrationNumber": "{{$randomInt}}{{$randomLoremWord}}", 
        "registrationCountry": "{{$randomCountryCode}}",
        "registrationDate": "1992-03-21"
    },
    "legalRepresentative": {
        "firstName": "{{$randomFirstName}}",
        "lastName": "{{$randomLastName}}",
        "birthDate": "2023-06-01",
        "email": "{{$randomEmail}}",
        "address": {
            "country": "{{$randomCountryCode}}"
        },
        "birthCountry": "{{$randomCountryCode}}",
        "nationalities": [
            "{{$randomCountryCode}}"
        ]
    },
}

Onboarding Endpoints

POST /onboardings/company

{
    "accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
    "legalEntity": {
        "name": "Rebeca CORP",
        "brandName": "Kale brand",
        "type": "COMPANY",
        "registrationNumber": "870voluptas",
        "registrationDate": "2024-05-17T15:28:26.736Z",
        "vatNumber": "0403019261",
        "website": "Enoch.biz",
        "legalForm": "SIMPLIFIED_JOINT_STOCK_COMPANY",
        "taxCode": "MRTMTT91D08F205J",
        "address": {
            "street": "86017 Halle Loaf",
            "city": "Aureliechester",
            "postalCode": "311",
            "province": "AO",
            "country": "IT"
        },
        "activity": {
            "NACEcode": "1.44",
            "ATECOcode": "013", 
            "SAEcode": "120",          
            "description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
            "fundsDestinationCountries": {
            "sameFundCountryAsCompanyRegistration": false,
             "otherFundsDestinationCountries": {
                  "reason": "Laborum dolore ut quia ex laboriosam est aut.",
                  "countries": ["FR"]
                  }
            },
            "location": {
                "sameAddressAsCompanyRegistration": false,
                "address": {
                    "street": "252 Rohan Square",
                    "city": "Maximeport",
                    "postalCode": "808",
                    "province": "AO",
                    "country": "MY"
                }
            }
        },
        "project": {
            "description": "Voluptatem enim sunt nam et accusamus cum est.",
            "website": "Tyreek.info"
        },
        "financialSituation": {
            "expectedActivityVolume": "FIRST_TIER",
            "currentTurnover": "FOURTH_TIER",
            "previousTurnover": "FIRST_TIER",
            "financialAsset": "FIRST_TIER"
        },
        "shareholding": {
            "hasShareholders": true,
            "shareholders": [
                {
                    "name": "Mark",
                    "registrationCountry": "CN",
                    "registrationNumber": "94aut"
                }
            ]
        }
    },
    "legalRepresentative": {
        "firstName": "Sydni",
        "lastName": "Gibson",
        "otherName": "Brando",
        "birthDate": "2024-05-20T16:34:56.257Z",
        "birthCity": "New Samantaton",
        "birthProvince": "BN",
        "birthCountry": "VA",
        "email": "Ophelia.Wiza5@hotmail.com",
        "phoneNumber": "+33678787878",
        "nationalities": [
            "BD"
        ],
        "address": {
            "street": "279 Schimmel Stream",
            "city": "Davisfurt",
            "postalCode": "132",
            "province": "CL",
            "country": "IT"
        },
        "politicalExposure": {
            "status": "YES"
            "startDate": "2023-06-01T10:10:57.870Z",
            "endDate": "2029-06-01T10:10:57.870Z",
            "position": "POLITICAL_LEADER",

        },
        "isUbo": true
    },
    "ubos": [
        {
            "firstName": "Reynold",
            "lastName": "King",
            "otherName": "Aurelia",
            "birthDate": "2024-05-20T16:34:56.257Z",
            "birthCity": "Vadafort",
            "birthProvince": "BN",
            "birthCountry": "IT",
            "email": "Vallie.Nitzsche98@yahoo.com",
            "phoneNumber": "+33678787878",
            "nationalities": [
                "BO"
            ],
            "address": {
                "street": "36095 King Overpass",
                "city": "Wuckertstad",
                "postalCode": "394",
                "province": "CL",
                "country": "IT"
            },
            "politicalExposure": {
                "status": "CLOSE",
                "fullName": "John Smith",
                "position": "OTHER",
                "otherPosition": "other pep position",
                "closeRelationship": "CHILD",
                "startDate": "2020-12-06",
                "endDate": "2033-12-06"
            }
        }
    ]
}

POST POST/onboardings/association

{
    "accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
    "legalEntity": {
        "name": "Le Monway Association",
        "type": "ASSOCIATION",
        "registrationNumber": "870voluptas",
        "registrationDate": "2024-05-17T15:28:26.736Z",
        "vatNumber": "0403019261",
        "website": "No",
        "noWebsiteReason": "the organisation has no website",
        "legalForm": "NON_PROFIT_ORGANIZATION",
        "taxCode": "MRTMTT91D08F205J",
        "address": {
            "street": "86017 Halle Loaf",
            "city": "Aureliechester",
            "postalCode": "311",
            "province": "AO",
            "country": "IT"
        },
        "activity": {
            "NACEcode": "94.99",
            "ATECOcode": "013",          
            "description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
            "entitiesFinancing": [
                {
                    "by": ["OTHER",
                    "other": "other entities entitiesFinancing"
                }
            ],
            "location": {
                "sameAddressAsCompanyRegistration": true,
            }
        },
        "project": {
            "description": "Voluptatem enim sunt nam et accusamus cum est.",
            "website": "Tyreek.info"
        },
        "financialSituation": {
            "expectedActivityVolume": "FIRST_TIER",
            "currentTurnover": "FOURTH_TIER",
            "previousTurnover": "FIRST_TIER",
            "financialAsset": "FIRST_TIER"
        }
    },
    "legalRepresentative": {
        "firstName": "Sydni",
        "lastName": "Gibson",
        "otherName": "Brando",
        "birthDate": "2024-05-20T16:34:56.257Z",
        "birthCity": "New Samantaton",
        "birthProvince": "BN",
        "birthCountry": "VA",
        "email": "Ophelia.Wiza5@hotmail.com",
        "phoneNumber": "+33678787878",
        "nationalities": [
            "BD"
        ],
        "address": {
            "street": "279 Schimmel Stream",
            "city": "Davisfurt",
            "postalCode": "132",
            "province": "CL",
            "country": "IT"
        },
        "politicalExposure": {
            "status": "YES"
            "startDate": "2023-06-01T10:10:57.870Z",
            "endDate": "2029-06-01T10:10:57.870Z",
            "position": "POLITICAL_LEADER",

        },
		  "positions": [
            {
                "type": "PRESIDENT"
            },
	           {
                "type": "OTHER", 
                "other": "Vice president"
            }
        ]
    }
}

POST/onboardings/sole-trader

{
    "accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
    "legalEntity": {
        "name": "Rebeca SMITH",
        "brandName": "The Smith CO.",
        "type": "SOLE_TRADER",
        "registrationNumber": "870voluptas",
        "registrationDate": "2024-05-17T15:28:26.736Z",
        "vatNumber": "0403019261",
        "website": "Enoch.biz",
        "legalForm": "SOLE_TRADER",
        "taxCode": "MRTMTT91D08F205J",
        "activity": {
            "NACEcode": "1.44",
            "ATECOcode": "013",        
            "description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
            "fundsDestinationCountries": {
            "sameFundCountryAsCompanyRegistration": false,
             "otherFundsDestinationCountries": {
                  "reason": "Laborum dolore ut quia ex laboriosam est aut.",
                  "countries": ["FR"]
                  }
            },
            "location": {
                "sameAddressAsCompanyRegistration": false,
                "address": {
                    "street": "252 Rohan Square",
                    "city": "Maximeport",
                    "postalCode": "808",
                    "province": "AO",
                    "country": "MY"
                }
            }
        },
        "project": {
            "description": "Voluptatem enim sunt nam et accusamus cum est.",
            "website": "Tyreek.info"
        }
    },
    "legalRepresentative": {
        "firstName": "Sydni",
        "lastName": "Gibson",
        "otherName": "Brando",
        "birthDate": "2024-05-20T16:34:56.257Z",
        "birthCity": "New Samantaton",
        "birthProvince": "BN",
        "birthCountry": "VA",
        "email": "Ophelia.Wiza5@hotmail.com",
        "phoneNumber": "+33678787878",
        "nationalities": [
            "BD"
        ],
        "address": {
            "street": "279 Schimmel Stream",
            "city": "Davisfurt",
            "postalCode": "132",
            "province": "CL",
            "country": "IT"
        },
        "politicalExposure": {
            "status": "NO"

        },
        "financialSituation": {
				    "annualRevenue": "FIRST_TIER",
				    "estimatedWealth": "FIRST_TIER",
				    "hasIFItax": false
			  } 
    }
}

General Information

Field

Required

Description

Data Type

Example

type

Yes

Legal entity type

string

Company

name

Yes

Legal entity name

string

ABC Entreprise

brandNames

No

Brand names associated with the entity.

Company or Sole Trader. Not requested for Association.

string

ABC France, ABC Paris

legalForm

Yes

Legal form of the company

string

SARL (Société à responsabilité limitée)

registrationNumber

Yes

Company registration number

Optional for Sole trader and Association.

string

123 456 789 RCS Paris

registrationDate

Yes

Date of company registration

date

01/01/2020

vatNumber

Yes

Value-added tax number

Optional for Sole trader and Association.

string

FR12345678910

Website

Yes

Official company website

string

www.abc-france.fr

NoWebsiteReason

Yes

Reason for no website, if applicable

string

N/A

taxCode

Yes

for italian registered legal entities

Codice Fiscale (CF) or Tax Code is a sixteen digit tax ID number with the following format: AAA AAA NNANN ANNNA.

string

MRARSS22A01F205K


Address

Field

Required

Description

Data Type

Example

Street

Yes

Street address of the company

string

12 Rue de la Paix

complementary street

Yes

Additional address information

string

Building B

postal code

Yes

Postal code

string

75002

city

Yes

City where the company is located

string

Paris

province

Yes

  • *Note: **Required for individuals living in Italy

List of residential provinces

enum

AO
Residence Provinces

Country

Yes

Country where the company is registered
ISO-2 format.

iso-alpha2

FR


Activity

Field

Required

Description

Data Type

Example

NaceCode

Yes

Company’s economic activity code

enum

1.44 NACE Codes

AtecoCode

Yes

If company/sole trader registered in Italy (optional for associations registered in Italy)

enum

12 ATECOCodes

SaeCode

No

SAE codes (for companies registered in Italy only)

enum

120 SAE Codes

description

Yes

Description of the company's main activity

string

Retail of general goods

fundsDestinationCountries.sameFundCountryAsCompanyRegistration

Yes

Whether the destination of funds matches registration country (boolean)

boolean

Yes

fundsDestinationCountries.otherFundsDestinationCountries.reason

Yes

Requested if funds are sent to a country other than the company registration

boolean

Tax optimization

fundsDestinationCountries.otherFundsDestinationCountries.counties

Yes

Requested if funds are sent to a country other than the company registration

boolean

[FR, GB]

location.sameAddressAsCompanyRegistration

Yes

Whether trading address is the same as registration address

boolean

Yes

location.address.Street

Yes

Trading address of the company

string

5 Avenue de l'Opéra

location.address.ComplementaryStreet

No

Additional trading address information

string

Suite 101

location.address.PostalCode

Yes

Postal code for trading address

string

75009

location.address.City

Yes

City for trading address

string

Paris

location.address.Province

Yes

Required for entities with activity in Italy.

enum

AO Residence Provinces

location.address.Country

Yes

Country for trading address

iso-alpha2

France

entityFinancing.by

Yes

Entity financing source (for Associations only) enum: { DONATION , MEMBERSHIP_FEES, SUBVENTION , OTHER }

enum

Donation, Other

entityFinancing.Other

Yes

Other sources of financing (required for association only if entityFinancing.by is Other)

string

Private equity


Financial situation (Company & Association only)

Field

Required

Description

Data Type

Example

expectedActivityVolume

Yes

Expected volume of business activity in euros.

enum

120K€ - 500K €

previousTurnover

Yes

Previous year's turnover in euros.

enum

120K€ - 500K €

currentTurnover

Yes

Current year's turnover in euros.

enum

120K€ - 500K €

financialAssets

Yes

Entity’s financial assets in euros.

enum

200K€ - 1M€

originOfFunds.sources

Yes
(for Investors only).

The origin of funds that will be invested on the platform.

enum

Real estate properties

enum: { Real estate properties ;
Excess cash reserves : Sale of a stock portfolio ; Transfer or sale of company shares ; Surrender of a capitalization contract : Shareholder current account contributions ; Sale of movable assets (car, boat, artwork, etc.), goodwill, intellectual property rights (trademark, patent, design, model) ; Financial investments ; Other operations (free text) }

enum

originOfFunds.other

Yes
(for Investors only).

Required if the origin of funds source is "other".

string

Other origin of funds


Project (Project Holder profile only)

FieldRequiredDescriptionData TypeExample
descriptionYesDescription of the projectstringExpansion into e-commerce
websiteYesProject websitestringwww.abc-project.fr

Shareholding Structure (Company only)

Field

Required

Description

Data Type

Example

hasShareholders

Yes

Whether the company has shareholders.

boolean

Yes

name

Yes (if entity has shareholders)

Name of shareholders.

string

Jean Dupont

registrationNumber

Yes (if entity has shareholders)

Registration number of shareholders.

string

987654321 RCS Paris

registrationCountry

Yes (if entity has shareholders)

Country where shareholders are registered. ISO-2 format.

iso-alpha2

FR


LR (Legal Representative) Information

Attribute

Required

Description

Data Type

Example

FirstName

Yes

Official first name that appears on the user’s legal documents. The name that appears on a passport.

string

Jonathan (not John)

LastName

Yes

Official last name that appears on the user’s legal documents.

string

Doe

OtherName

No

Maiden name, married name, use name, or pseudo

string

Smith

Birthdate

Yes

Date of birth in YYYY-MM-DD format

date

1980-07-10

BirthCity

Yes

City of birth

Paris

birthProvince

Yes

Required for individuals born in Italy

enum

Birth Province

BirthCountry

Yes

Country of birth in ISO-2 format

iso-alpha2

FR

Nationalities

Yes

ISO-2 format

The onboarding form allows you to add multiple nationalities.

iso-alpha2

FR, GB

Email

Yes

User's email address

regex

john.doe@gmail.com

PhoneNumber

Yes

Phone number with country code

regex

+33689222211

street

Yes

Street address

string

44 Rue de l'Abbaye

complementaryStreetInfo

No

Additional street address information

string

Batiment A

city

Yes

City of residence

string

Paris

postalCode

Yes

Postal code of residence

string

75000

province

Yes

Required for individuals living in Italy.

enum

Residence Provinces

residenceCountry

Yes

Country of residence in ISO-2 format

iso-alpha2

FR

TaxCode

Yes

Required for individuals born or living in Italy

string

MRTMTT91D08F205J

status (Are you a politically exposed person?)

Yes

There are 3 options: Yes, No, or Close to a politically exposed person.

string

Yes

position

Yes

Required only if status: “YES”

enum: { POLITICAL_LEADER, POLITICAL_REPRESENTATIVE, JUDICIAL_OFFICIAL, FINANCIAL_AUDITOR, BANK_EXECUTIVE, DIPLOMATIC_REPRESENTATIVE, MILITARY_LEADER, ADMINISTRATIVE_OFFICIAL, ORGANIZATIONAL_OFFICIAL, OTHER }

enum

POLITICAL_LEADER

otherPosition

Yes

Required only if position: “OTHER”.
The person must state their official position.

string

Vice president

startDate

Yes

Required only if status: “YES” or “CLOSE".
This should correspond to the first day in the person’s position in YYYY-MM-DD format.

date

1980-07-10

endDate

Optional

Last day in the person’s position in YYYY-MM-DD format (if unknown, it can be omitted).

date

2001-07-10

closeRelationship

Yes

Required only if status: “CLOSE”.
enum: { PARTNER, CHILD, PARENT }

enum

Child

fullName

Yes

Required only if status: “CLOSE”.
The full legal name of the politically exposed person.

string

Michael James

annualRevenue

Yes

Required for Sole Trader’s legal representative only.
enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER } { 0 - 10K €,

10K € - 25K €,
25K € - 50K €, 50K € - 75K €, 75K € - 100K €, 100K € }

enum

0 - 10K €

estimatedWealth

Yes

Required for Sole Trader legal representative only.
enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER, SEVENTH_TIER } { 0 - 50K €,

50K € - 100K €,
100K € - 150K €, 150K €- 200K €, 200K € - 500K €, 500K € - 1M €, 1M € }

enum

0 - 50K €

hasIFItax

Yes

Required for Sole Trader’s legal representative only and for French residents. A true or false statement confirming if the user is subject to wealth tax.

boolean

true

positionType

Yes

Required only for Association’s Legal Representatives.
enum: { PRESIDENT, GENERAL_SECRETARY, TREASURER, OTHER }

enum

PRESIDENT

positionTypeOther

Yes

Required only if positionType: “OTHER”.
The user must specify their position.

string

Vice president


UBO (Ultimate Beneficial Owner) Information (Company Only)


Attribute

Required

Description

Data Atype

Example

FirstName

Yes

Official first name that appears on the user’s legal documents. The name that appears on a passport.

string

Jonathan (not John)

LastName

Yes

Official last name that appears on the user’s legal documents.

string

Doe

OtherName

No

Maiden name, married name, use name, or pseudo

string

Smith

Birthdate

Yes

Date of birth in YYYY-MM-DD format

date

1980-07-10

BirthCity

Yes

City of birth

string

Paris

birthProvince

Yes

Required for individuals born in Italy.

enum

Birth Provinces

BirthCountry

Yes

ISO-2 format

iso-alpha2

FR

Nationalities

Yes

ISO-2 format The onboarding form allows you to add multiple nationalities.

iso-alpha2

FR, GB

Email

Yes

User's email address

regex

john.doe@gmail.com

PhoneNumber

Yes

Phone number with country code

regex

+33689222211

street

Yes

Street address

string

44 Rue de l'Abbaye

complementaryStreetInfo

No

Additional street address information

string

Batiment A

city

Yes

City of residence

string

Paris

postalCode

Yes

Postal code of residence

string

75000

province

Yes

Required for individuals living in Italy.

enum

Residence Provinces

residenceCountry

Yes

Country of residence in ISO-2 format

iso-alpha2

FR

TaxCode

Yes

Required for individuals born or living in Italy

sting

MRTMTT91D08F205J

status (Are you a politically exposed person?)

Yes

There are 3 options: Yes, No, or Close to a politically exposed person.

string

Yes

position

Yes

Required only if status: “YES”`. enum: { POLITICAL_LEADER, POLITICAL_REPRESENTATIVE, JUDICIAL_OFFICIAL, FINANCIAL_AUDITOR, BANK_EXECUTIVE, DIPLOMATIC_REPRESENTATIVE, MILITARY_LEADER, ADMINISTRATIVE_OFFICIAL, ORGANIZATIONAL_OFFICIAL, OTHER }

enum

POLITICAL_LEADER

otherPosition

Yes

Required only if position: “OTHER”. The person must state their official position.

string

Vice president

startDate

Yes

Required only if status: “YES” or “CLOSE”. This should correspond to the first day in the person’s position in YYYY-MM-DD format.

date

1980-07-10

endDate

Optional

Last day in the person’s position in YYYY-MM-DD format (if unknown, it can be omitted).

date

2001-07-10

closeRelationship

Yes

Required only if status: “CLOSE”. enum: { PARTNER, CHILD, PARENT }

enum

Child

fullName

Yes

Required only if status: “CLOSE”. The full legal name of the politically exposed person.

string

Michael James


During the onboarding process a user's progress is automatically backed-up, there is also a save feature if the user wants to manually save their progress. The resume endpoint let's an user can continue where they last finished.

GET /onboardings/{id}/resume

{
    "url": "https://onboarding.lemonway.com/t2/e35ffdb3-b185-42fe-8413-06ecba7b2d30/welcome"
}