Onboard Business Users
Identifying your customers is an integral part of secure and compliant banking solutions. Roecny offers a variety of state-of-the-art identification methods that are compliant with the know your customer or know your client (KYC) guidelines.
Whether you're identifying businesses or retail customers, Roecny's onboarding solutions are versatile, scalable, and suitable for different products and use cases.
Pre-requisites
The pre-requisites required to be validated and established before you start creating a business user in the system are:
- You are able to connect to API and your source IPs are whitelisted.
- You have established the onboarding journey for your business users and the engagement model for managing the onboarding and customer lifecycle.
- You are able to access the enumerations applicable for business user onboarding.
Technical Integration Overview
Step 1: Create Business Profile
Create business profile
curl --location 'https://{{server}}/{{product_code}}/v1/businesses' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--form 'email="john.doe@acme.com"' \
--form 'name="ACME PTE LTD"' \
--form 'preferred_name="ACME corp"' \
--form 'mobile_country_code="65"' \
--form 'mobile="1432156521"' \
--form 'foundation_date="2023-01-01"' \
--form 'purpose_of_account_opening="cash_deposit"' \
--form 'tax_id_type="uen"' \
--form 'tax_id_number="126786789"' \
--form 'tax_id_issuance_country="SGP"' \
--form 'tax_id_date_issued="2024-01-01"' \
--form 'tax_id_date_expiry="2025-01-01"' \
--form 'source_of_funds="directors_capital"'
Step 2: Update Business User with Details of Connected Parties
Depending on the type of entity onboarded, connected parties differ. Connected parties are loosely defined as individuals or entities who have material controlling interest in the business entity onboarded. These can cover and may not be limited to:
- Directors
- Shareholders with stake greater than a stipulated value
- Ultimate beneficiary user
Step 3: Update Addresses for the Business Profile
Update Foundation Address
curl --location --request PUT 'https://{{server}}/{{product_code}}/v1/businesses/addresses/foundation' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--data-urlencode 'address_1=14B Kreta ayer conservation area' \
--data-urlencode 'address_2=Smith street' \
--data-urlencode 'city=Singapore' \
--data-urlencode 'state=Singapore' \
--data-urlencode 'country=Singapore' \
--data-urlencode 'zipcode=058928' \
--data-urlencode 'country_code=SGP'
Update Operational Address
curl --location --request PUT 'https://{{server}}/{{product_code}}/v1/businesses/addresses/operational' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--data-urlencode 'address_1=14B Kreta ayer conservation area' \
--data-urlencode 'address_2=Smith street' \
--data-urlencode 'city=Singapore' \
--data-urlencode 'state=Singapore' \
--data-urlencode 'country=Singapore' \
--data-urlencode 'zipcode=058928' \
--data-urlencode 'country_code=SGP'
Step 4: Submit Documents for the Business Profile Verification
The below section lists the documents that are required to be uploaded when doing KYB for a business entity.
Take Note for Image Uploads
For uploading images, the images need to be converted into base64 and uploaded as part of the data field. Supported file types are jpg, bmp, png, and PDF. Max size of each file should be less than 8MB.
Submit Business Tax Documents
curl --location 'https://{{server}}/{{product_code}}/v1/businesses/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'document_type="board_resolution"' \
--form 'document_id="181818"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'
Submit Documents for Business Corporate Structure
curl --location 'https://{{server}}/{{product_code}}/v1/businesses/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'document_type="board_resolution"' \
--form 'document_id="181818"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'
Submit Identity Documents of Connected Parties
curl --location 'https://{{server}}/{{product_code}}/v1/businesses/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'document_type="board_resolution"' \
--form 'document_id="181818"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'
Step 5: Wait for KYB Approval
The KYB approval would have a turnaround time. After the time has expired from the moment of confirmation, you can call the status endpoint to query the status of the KYB process.
Confirm KYB Submission
curl --location --request PUT 'https://{{server}}/{{product_code}}/v1/businesses/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>'
Query KYB Status
curl --location --request GET 'https://{{server}}/{{product_code}}/v1/businesses/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>'
Once the KYB of the business entity is approved, the API will respond with a status key in the response with the value approved.