LogoLogo
Release notesHomepageTry demo
  • Welcome to B2CORE docs
  • Integrations
    • Platforms
    • Payment systems
    • KYC providers
    • Communication platforms
    • Other systems
  • Back Office guide
    • Get started
    • Clients
      • General
        • Client tab
        • Contacts tab
        • Event log tab
        • Accounts tab
        • Transactions tab
        • Finance tab
        • History tab
        • Trades tab
        • Services tab
        • Files tab
        • Settings tab
        • Advanced tab
        • Compliances tab
        • Devices tab
        • Documents tab
        • Mailing Log tab
        • Introducing brokers tab
      • Services
      • Requests
      • Accounts
      • Managers
      • Types
      • Events log
      • Jurisdictions
    • Introducing brokers
    • Finance
      • Deposits
      • Payouts
      • Deposit wallets
      • Transfers
      • Exchange
      • Transactions
      • Reports
    • Savings
      • Presets
      • Plans
    • Bonuses
      • Bonus presets
      • Bonus distribution
      • Temporary bonuses
    • Currencies
      • Currencies
      • Rates
      • Currency pairs
    • Cashback
      • MetaTrader Volume
        • Preferences tab
        • Tiers tab
    • Products
      • Products
      • Groups
      • Rights
      • Platforms
    • Promotion
      • Banners
      • Announcements
      • Dashboard
      • Menu
    • Mailing
      • Marketing
      • System
    • Ticket feedback
    • Verification
      • Levels
      • Documents
      • Document types
      • Document groups
      • Client tests
    • Investment platform
    • System
      • SMS Providers
      • Key storage
      • Deposit system
      • Payout system
      • Wizards
      • Bulk actions
      • Operation types
      • Countries
      • External connections
      • Localizations
      • Requests
      • Templates
        • Email
        • SMS
        • Slack
        • Telegram
      • Logs
      • Settings
      • Event notifications
      • Users
        • Users
        • Groups
        • Client Tags
      • Events
      • Client rights
      • Client folders
      • Backend images
      • Import data
      • Visual customization
    • Security
      • Search by IP
      • Blocked clients
      • Black lists
      • White lists
      • Transaction monitoring
      • Address whitelist
      • Email black list
    • References
      • Client statuses
      • Client request statuses
      • Transaction statuses
      • Event types for triggering event notifications for Back Office users
      • Product permissions
      • Supported currencies
      • Supported cryptocurrency payment methods
      • Block explorer list
  • How-to articles
    • Manage clients
      • How to register a new client
      • How to change a client password
      • How to disable 2FA for a client
      • How to enable internal transfers for a client
      • How to view deposit or withdrawal wallet addresses
      • How to upload files to a client profile
      • How to assign tags to clients
      • How to approve or reject client requests
      • How to create categories for the Event log
      • How to create a jurisdiction
    • Manage finances
      • How to create a deposit
      • How to create a payout
      • How to create a transfer
      • How to exchange funds
      • How to create a report
      • How to update balances
      • How to process transactions with the Partial status
    • Manage savings programs
      • How to create a savings program
        • Configure the Flexible strategy settings
        • Configure the Fixed strategy settings
    • Manage currencies
      • How to add a currency
      • How to configure currency exchange rates
      • How to add an exchange currency pair
      • How to set priorities for exchange rate providers
      • How to enable requests for exchanges in specific currency pairs
      • How to update rates in exchange requests
    • Manage bonuses
      • How to create a bonus preset
      • How to create a temporary bonus program
      • How to automatically credit bonuses to clients upon deposits
      • How to manually credit bonuses to clients
    • Manage products
      • How to create a wallet
      • How to restrict the use of a product
    • Manage platforms
      • How to integrate B2TRADER
      • How to integrate DXtrade
      • How to integrate Match-Trader
      • How to integrate MetaTrader
      • How to integrate TradeLocker
      • How to integrate OneZero and PrimeXM
      • How to enable one-click trading access from the B2CORE UI and mobile app
    • Manage cashback options
      • How to configure cashback programs for MT4 and MT5
    • Manage advertising options
      • How to create a banner
      • How to create an announcement
      • How to configure the default Dashboard
      • How to add Ticker Widget symbols to the Dashboard
      • How to configure a menu in the B2CORE UI
    • Manage mailing options
      • How to send an email
      • How to create an email template
      • How to configure SMTP
      • How to configure SendGrid
      • How to determine why clients fail to receive email notifications
    • Manage verification options
      • How to use the KYC constructor
      • How to use SumSubstance
      • How to use ShuftiPro
      • How to use iDenfy
      • How to create a client accreditation test
    • Manage system settings
      • How to set up the Registration wizard
        • How to add and configure the Registration wizard
        • How to set up fields for the Basic Information step
        • Fields supported in the Basic Information step
        • How to set up fields for the Advanced step
        • Field types and validation rules
        • How to configure the User Registration step
      • How to change the wizard workflow
      • How to block registration for a country
      • How to add or remove a language
      • How to create a request resolution type
      • How to create a request resolution
      • How to set up event notifications
      • How to set up Apple push notification
      • How to add a user group and grant permissions
      • How to add an admin user
      • How to make an admin user see only specific clients
      • How to add a manager
      • How to create a bulk action
      • How to export a CSV file with email addresses
      • How to change Back Office images
      • How to set up 2FA
      • How to import client-related data
      • How to import data related to Back Office user groups
      • How to configure a connection to Zendesk
      • How to switch from SupportPal to Zendesk
      • How to configure a connection to RudderStack
      • How to configure settings for mobile app downloads
    • Manage payment methods
      • How to add non-PSS deposit and withdrawal methods
        • How to integrate B2BINPAY
      • How to add the manual deposit or withdrawal method
      • How to add the Constructor deposit or withdrawal method
      • How to add deposit and withdrawal methods through PSS
        • How to integrate BridgerPay
        • How to integrate PayPal
        • How to integrate Paytiko
        • How to integrate Praxis
      • How to configure commissions for deposit and withdrawal methods
      • How to restrict the use of deposit and withdrawal methods
    • Manage communication platforms
      • How to configure Twilio
      • How to set up a Slack bot
      • How to set up a Telegram bot
      • How to get Telegram chat, group and channel identifiers
  • B2CORE Mobile
    • Deploying your iOS app
    • Deploying your Android app
  • B2CORE API
    • Restricted access to the API
  • Release notes
    • Release notes
    • Release notes Mobile
Powered by GitBook
On this page
  • How to create document groups
  • How to create document types
  • How to create verification levels
  • Example
  • How to restrict the use of verification levels by client type
  • Example
  • How to restrict the use of verification levels by jurisdiction or country
  • Example
  • How to create permission levels
  • How to set up deposit, withdrawal, and transfer limits by verification levels

Was this helpful?

  1. How-to articles
  2. Manage verification options

How to use the KYC constructor

PreviousManage verification optionsNextHow to use SumSubstance

Last updated 20 days ago

Was this helpful?

Before you begin to configure a custom KYC (Know Your Customer) procedure, consider the following:

  • the number of verification levels that clients can obtain (you can use the built-in KYC provider or one of the to run a verification procedure at each level)

  • the permissions that clients are granted after obtaining each verification level, as well as possible limits that can be applied to specific permissions

  • the documents that clients are required to submit to obtain each verification level.

Moreover, it’s possible to configure separate KYC procedures for clients of different types, such as individual and corporate clients. You can also grant different initial verification levels to clients of different types after they sign up to the B2CORE UI (for details, refer to and specifically the article about ).

Follow the steps below to create and set up verification levels, define the documents that clients must submit at each level, as well as configure the way the verification levels and their descriptions are displayed to clients in the B2CORE UI.

How to create document groups

At this step, create document groups, for example, “Proof of ID”, “Proof of residence” and so on. Document groups are used to categorize documents required for verification.

To create a document group:

1

Navigate to Verification > Document Groups, and then click +Create in the upper-right page corner.

2

On the Create document group page, fill out the form:

  • Set the group Name, which will be displayed only in the Back Office.

  • Set Type to One.

  • Set Caption — the name of the document group in the B2CORE UI. Set localizations if needed.

  • Set Description — here, you can provide hints to your clients about the verification procedure. This information can be presented in the HTML format. Set localizations if needed.

  • Set Enabled to Yes.

3

Click Save to create the document group.

How to create document types

A KYC document is a formal document such as an ID card, a passport, driver’s license, or bank statement, which can verify the identity and address of a client. At this step, define documents that clients should provide in order to get verified at each level.

To define a document:

1

Navigate to Verification > Document Types, and then click +Create in the upper-right page corner.

2

On the Create document type page, fill out the form:

  • Set the document Name, which will be displayed only in the Back Office.

  • Set Caption to specify the document name to be displayed in the B2CORE UI. Set localizations if needed.

  • Set Description — the description can be specified in the HTML format. Set localizations if needed.

  • Set Status to Enabled.

  • Set the document Group — it should be one of the groups created at the previous step.

  • Set Max files to indicate how many documents of this type your client can upload.

3

Click Save to define the document type.

How to create verification levels

At this step, create the required verification levels. For each B2CORE instance, Level 0 is already set up and is used as the default level.

To create a new verification level:

1

Navigate to Verification > Levels, and then click +Create in the upper-right page corner.

2

On the Create verification level page, fill out the form:

  • Set the level Index, this value must be greater than 0.

  • Set Wizard — select DocumentsWizard to use the built-in KYC provider and display in the B2CORE UI a form for uploading required documents based on the specified document type.

  • Set Caption — the level name to be displayed to clients in the B2CORE UI and mobile app. If required, specify the localization properties for this field by clicking the button located on the right side of the field.

  • Set Next Level — select the next verification level that clients can obtain after they are granted the level that you currently configure.

    Leave this field empty to allow clients of different types, such as individual and corporate, to obtain different verification levels.

  • Set Desktop Description — the level description displayed to clients in the B2CORE UI. For a level description, you can list the permissions granted to clients after obtaining this level.

  • Set Mobile Description — the level description displayed to clients in the mobile app.

    The description for the mobile app can be specified in the JSON format. If required, specify the localization properties for this field.

  • Set Visible to Yes.

  • Set Default to No (since the default level is always Level 0).

3

Click Save to create the verification level.

Example

The following HTML code example illustrates how to specify a level description for the B2CORE UI:

Show example
<p><strong>Verification Level 0</strong></p>
<br/>
<table class="table table-striped" role="grid">
    <tbody>
        <tr>
            <td style="background-color: #151D24;"><strong>Operations</strong></td>
            <td style="background-color: #151D24;">
                <center><strong>Permissions</strong></center>
            </td>
        </tr>
        <tr>
            <td style="background-color: #3E4E5A;">Crypto Deposits</td>
            <td style="background-color: #3E4E5A;">
                <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
            </td>
        </tr>
        <tr>
            <td style="background-color: #212E38;">Crypto Withdrawals</td>
            <td style="background-color: #212E38;">
                <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
            </td>
        </tr>
        <tr>
            <td style="background-color: #3E4E5A;">Fiat Deposits</td>
            <td style="background-color: #3E4E5A;">
                <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
            </td>
        </tr>
        <tr>
            <td style="background-color: #212E38;">Fiat Withdrawals</td>
            <td style="background-color: #212E38;">
                <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
            </td>
        </tr>
        <tr>
            <td style="background-color: #212E38;">Trading</td>
            <td style="background-color: #212E38;">
                <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
            </td>
        </tr>
    </tbody>
</table>
<p><strong>To obtain Verification Level 1, submit the following documents:</strong></p>
<ul>
    <li>A list of documents that a client must submit or other requirements that must be met for receiving Level 1.</li>
</ul>

To mark an operation as enabled for this verification level, change glyphicon glyphicon-error to glyphicon glyphicon-success in the HTML code.

The level description will be displayed in the B2CORE UI as follows:

How to restrict the use of verification levels by client type

To configure separate verification procedures, for example for individual clients and corporate clients, indicate the levels that can be obtained only by clients of a specific type.

To apply client type restrictions to a verification level:

1

Navigate to Verification > Levels.

2

Select the verification level, and click Edit.

3

On the Update verification level page, click the Actions button, and select Client type restriction.

4

In the Restrictions popup, fill in the following fields:

  • In the Enabled dropdown, select Yes.

  • In the Type dropdown, select either of the two options:

    • Allow only — to allow the use of the verification level only for a specific client type.

    • Deny only — to prohibit the use of the verification level for a specific client type.

  • In the Rule dropdown, select the client type to which you want to apply the selected rule.

5

Click Save to apply the changes.

Example

Suppose that both individual and corporate clients are assigned the default Level 0 after they sign up to the B2CORE UI.

The following levels should be configured to support separate verification procedures for clients, based on client type:

  • Individual clients: Level 0 → Level 1 → Level 2

    Client type restriction: Allow only = individual

  • Corporate clients: Level 0 → Level 3 → Level 4

    Client type restriction: Allow only = corporate

The next level that a client is allowed to obtain is the level with the next higher index according to the applied restrictions by client type.

How to restrict the use of verification levels by jurisdiction or country

To configure more specific verification procedures, you can restrict the use of verification levels based on a client’s jurisdiction or country.

To apply such restrictions to a verification level:

1

Navigate to Verification > Levels.

2

Select the verification level, and click Edit.

3

On the Update verification level page, click the Actions button, and select:

  • Jurisdiction restriction — to apply the restriction based on the client’s jurisdiction.

  • Country restriction — to apply the restriction based on the client’s country.

4

In the Restrictions popup, fill in the following fields:

  • In the Enabled dropdown, select Yes.

  • In the Type dropdown, select either of the two options:

    • Allow only — to allow the use of the verification level only for the selected jurisdictions or countries.

    • Deny only — to prohibit the use of the verification level for the selected jurisdictions or countries.

  • In the Rule dropdown, select one or more jurisdictions or countries to which you want to apply the rule.

5

Click Save to apply the changes.

Example

Suppose that both individual and corporate clients are initially assigned the default Level 0 after signing up to the B2CORE UI.

The following levels should be configured to support separate verification procedures for clients, based on client type and jurisdiction:

  • Individual clients in the EU: Level 0 → Level 1 → Level 2

    Client type restriction: Allow only = individual and Jurisdiction restriction: Allow only = EU

    These levels are accessible only to individual clients from the EU jurisdiction.

  • Individual clients in CY (Cyprus): Level 0 → Level 3 → Level 4

    Client type restriction: Allow only = individual and Jurisdiction restriction: Allow only = CY

    These levels are accessible only to individual clients from the CY jurisdiction.

  • Corporate clients in the EU: Level 0 → Level 5 → Level 6

    These levels are accessible only to corporate clients from the EU jurisdiction.

    Client type restriction: Allow only = corporate and Jurisdiction restriction: Allow only = EU

  • Corporate clients in CY (Cyprus): Level 0 → Level 7 → Level 8

    Client type restriction: Allow only = corporate and Jurisdiction restriction: Allow only = CY

    These levels are accessible only to corporate clients from CY jurisdiction.

The next level that a client is allowed to obtain is the level with the next higher index according to the applied restrictions by client type and jurisdiction.

How to create permission levels

Permission levels are a set of operations that clients are allowed to make in the B2CORE UI. The permission levels are associated with verification levels. When clients obtain a particular verification level, they are granted the permissions associated with this verification level.

To create a permission level:

1

Navigate to System > Client Rights, and click +Create in the upper-right corner of the page.

2

In the Create role window that is displayed, fill in the following fields:

  • Name — specify the name of the verification level, which should not include any capital letters.

  • Caption — specify the permission level description.

3

Click Save to create the permission level.

4

Click the Edit button located in the permission level row.

5

In the Parent Role dropdown, select a previous permission level that clients must obtain before they can get this level. This field doesn't apply to the default permission level.

6

Select the permissions that you want to grant to your clients at this level:

  • Verification — if selected, clients are allowed to obtain a higher verification level in the B2CORE UI.

  • Converter — if selected, clients can exchange funds in the B2CORE UI.

  • Deposits — if selected, clients can deposit funds in the B2CORE UI.

  • Withdrawals — if selected, clients can withdraw funds in the B2CORE UI.

  • Internal Transfers — if selected, funds can be transferred from one client to another within the same B2CORE system.

7

Click Save to apply the changes.

How to set up deposit, withdrawal, and transfer limits by verification levels

For each verification level, you can limit the amounts that clients who are granted this level can deposit, withdraw, and transfer.

All limit values are calculated in USD.

To set up limits for a particular level:

1

Navigate to Verification > Levels.

2

Select a verification level for which you want to set up limits, and then click the Edit button located in the level row.

3

On the Update verification level page, fill in the fields displayed under the Limits section:

  • To limit the amount that clients can deposit per day, specify the maximum allowed value in the Daily deposit field.

  • To limit the amounts that clients can withdraw per day and per month, specify the maximum allowed values in the Daily withdraw and Monthly withdraw fields.

  • To set the minimum amount that clients can transfer from their wallets to trading accounts, specify the Transfer min. field. It won’t be allowed to transfer amounts that are less than the assigned limit.

  • To allow clients to withdraw certain amounts without obtaining approvals, specify the maximum allowed amount in the Auto withdraw field. The amounts that do not exceed the assigned limit can be withdrawn by clients automatically (without the admin approval).

  • To set the maximum allowed amount for internal transfer operations per day, specify the Daily internal transfer field. If a client wants to make an internal transfer after reaching a specified limit, a request for the internal transfer is created and must be approved by an admin.

If a client makes an internal transfer to or from an MT account, the MT platform settings override the Daily internal transfer option.

If the Request required for transfer from and Request required for transfer to options are enabled for the MT platform, the Daily internal transfer option is ignored, and requests for internal transfers are always created and must be approved by an admin.

To apply no limits, enter -1 in the corresponding field described above. To prohibit clients from making a specific transaction, enter 0 in the corresponding field described above.

4

Click Save to apply the changes.

See also

The next level that a client is proposed to obtain in the B2CORE UI is the level with the next higher index according to the applied client type restrictions (for details, refer to ).

The description for the B2CORE UI can be specified in the HTML format (see below). If required, specify the localization properties for this field.

In the Assigned Client Right dropdown, select a permission level defining a set of permissions that you want to grant to your clients after obtaining this verification level (to learn more, refer to ).

Select a client accreditation test in the Passed Tests Needed dropdown if you want to force your clients to pass the selected test before they can submit the documents required to obtain this verification level. The list of available client tests includes all the tests with visibility set to Yes, which are displayed on the page.

Select Document Groups from among those created at , which specify the documents required for a client to be granted this verification level. Multiple groups can be selected.

This may be useful when you want to use different for running verification procedures for individual and corporate clients.

supported third-party KYC providers
How to add and configure the registration wizard
how to configure the User Registration step
Client tests
KYC providers
How to use SumSubstance
How to use ShuftiPro
How to use iDenfy
How to restrict the use of verification levels by client types
Example
How to create permission levels
Step 1
The level description in the B2CORE UI
The level description in the B2CORE UI