Onboarding

When creating a User to be paid on Aria, you may be required to complete an advanced onboarding, to enable future Loan approvals. This could involve onboarding the counterparty by uploading documents related to the individual and their business (KYB).

How to manage onboardings

You can send required documents via a dedicated, white label portal for each KYB. The required documents and portal URL for your business contact will be provided in an Onboarding. We recommend the following API flow:

  1. Subscribe to onboarding and onboarding.document webhooks (created + updated)
  2. Create a User.
  3. Get notified by webhooks when the onboarding is created, with the list of documents that need to be uploaded.
  4. Send documents using the portalUrl returned in the Onboarding payload, also accessible on the User's dashboard view.
  5. Get updated via webhooks: onboarding and onboarding.document.

Each onboarding and onboarding.document will come with a specific status and webhooks, allowing you to communicate with your counterparties regarding their onboarding status with Aria. If no onboarding is returned by our API, no document uploads are required for this counterparty.

You can either request your business contact to upload their documents or upload them yourself using our portalUrl. This is our recommended method, but if you prefer to use our API, please contact us for guidance. In any case, for now we recommend you to use only one upload method for each onboarding (portalUrl or upload via API).

Onboarding status and portal links are also available on your dashboard.

The type of document required depends on:

  • Business type: Regular companies will need to upload company documents in addition to the legal representative's ID document.
  • Invoice owner capability: If your company account is configured with the user (beneficiary) as the default invoice owner or if the User's canBeInvoiceOwner is true, onboarding will be required.
  • Specific, internal risk rules that are proper to Aria.
📘

Important: About User creation

Creating a User triggers comprehensive verification processes on our side. To ensure optimal use of resources, we highly recommend creating a User only if there is a clear intent to proceed with a Loan in the near future.

Individual vs. company

When creating a User, you’ll be asked to fill a businessType. For Users operating in a sole-trader mode, you can fill INDIVIDUAL, otherwise fill COMPANY.

Required documents*

Document Type

Required for

API field name

Information

Legal Representative’s ID Document

COMPANY, INDIVIDUAL

ID

Registration Certificate

COMPANY, INDIVIDUAL

REGISTRATION_CERTIFICATE

Fetched automatically for French Users.**

Articles of Association

COMPANY

ARTICLES_OF_ASSOCIATION

Ultimate Beneficial Owner Certificate

COMPANY

UBO

Fetched automatically for French Users.**

*An onboarding will be created and documents will be required, only ifcompany.config.currencyConfig.defaultInvoiceOwner = beneficiary or if user.canBeInvoiceOwner = true.

**Document might appear as required for few seconds after onboarding creation but will be fetched right away and set as validated.

Your Integration Manager and dedicated Key Account Manager are always available to help you understand the required documents for each case and how everything works if needed.

Refusal reasons

Onboarding and Onboarding documents come with refusalReasons, that are returned in English, for now.

Webhooks

You can subscribe to one of these events to be notified when a data has changed:

  • onboarding.created
  • onboarding.updated
  • onboarding.document.created
  • onboarding.document.updated

Webhook payloads

{
    "date": string,
    "event": "onboarding.created", // or "onboarding.updated"
    "payload": {
	    id: string,
	    createdAt: string,
	    updatedAt: string,
	    targetType: string,
	    targetId: string,
	    status: string,
	    refusalReasons: Array
    }
}
{
    "date": string,
    "event": "onboarding.document.created", // or "onboarding.document.updated"
    "payload": {
        id: string,
        createdAt: string,
        updatedAt: string,
        onboardingId: string, 
        type: string,
        status: string,
        refusalReasons: Array
    }
}