Skip to content

Onboarding


An onboarding process varies wildly from client to client, but typically involves the following steps in any order:

  • Strong identify verification (eg. through a national ID provider)
  • Capture additional information (Anti Money-Laundering (AML), tax information, ...)
  • AML Checks & approval/denial of client
  • Setting a withdrawal IBAN
  • Regulatory Checks (eg: Europe has Mifid regulation)
  • Legal disclaimers
  • Signing a contract
  • Suitability test
  • Creation of a User in InvestSuite
  • Creation of a Portfolio in InvestSuite, with the User as owner

Broadly speaking, the Onboarding process happens either outside the InvestSuite application (Scenario 1, also referred to as 'API Onboarding') or inside InvestSuite (Scenario 2, also referred to as 'In-App Onboarding').

The former is the preferred scenario as it requires less integration work, allows re-use of an existing onboarding solution and provides a smoother experience for your existing users.

Considerations

  • If multiple products are in scope (eg. Robo Advisor and Self Investor), will the customer sign one contract for all products or one contract per product?
One contract Multiple contracts
Implications - Check with legal/compliance whether one contract for multiple mandates is allowed - Middleware needs to handle product type (more complex)
- User status is more complex (to incorporate different products)
  • Will InvestSuite manage the Identity Provider (packaged within the InvestSuite platform) or will the Client (see the Supported 3rd Party list)?
InvestSuite Managed IdP Client Managed IdP
Implications - How to onboard existing users, if in scope? - Middleware needs to handle user creation
  • Will InvestSuite integrate with the broker/custodian?
Yes No
Implications InvestSuite ensures the user/portfolio are managed at the broker/custodian Client Middleware needs to ensure the user/portfoio are managed at the broker/custodian
  • Will the backoffice systems support the Robo Advisor 'paper money' portfolios?
Yes No
Implications - Take special care to not intermingle real and paper money through the integration layer - Discard the 'portfolio created' event for paper portfolios

Scenario 1: API Onboarding

The User onboards outside of InvestSuite: the 'Client Onboarding Solution' takes care of all requirements, and interacts with InvestSuite for two steps:

  1. Creating and updating the User
  2. Updating the Portfolio

Sequence diagram:

InvestSuiteFrontend + APIInvestSuiteFrontend + APIClientOnboarding Solution + MiddlewareClientOnboarding Solution + MiddlewareIdentity ProviderIdentity Provider(ONB001)User clicks 'Sign Up'Is redirected to the Onboarding Solution (unauthenticated) (Webview or Redirect)Strong identitiy verification (eg. through a national ID provider)Capture additional information (AML, tax, ...)Setting a withdrawal IBANRegulatory ChecksCreate User in downstream systems(eg. CRM, Core Banking, ...)opt[If one contract for all products]Contracting flow:- Create the PDF contract file (for all products)- Create a signing package at Document Signing Solution- Redirect Document Signing Solution to sign the package- User signs the package with strong authentication- Retrieve the signed PDF (package)- Allow user to download the PDF (optional)- Store the PDF in the digital archiveopt[If Client Managed Identity Provider]Create User(USR001)Create UserPOST /users/ - If one contract for all products, status = ACTIVE- If one contract per product, status = WAITING_FOR_SIGNATURE- If IdP is managed by InvestSuite, add ?create_idp_user=trueopt[If InvestSuite Managed Identity Provider]Create Userreturn (ivs_user_id)Store the ivs_user_id in the middleware for future use(ONB002)User continues in app(ONB003)User clicks 'Sign In' (OpenID Compliant Scheme)User activation within IdPreturn with JWT (OpenID Scheme to accessToken, refreshToken...)Complete app enrollment(Optional disclaimers, PIN, Face ID, Notifications...)opt[If one contract per product and contract is not signed](ONB004)User is redirected to the Onboarding Solution (authenticated) (Webview or Redirect)Contracting flow(USR002)PATCH /users/{id}with status = ACTIVE(ONB002)User continues in appalt[Robo Advisor Only]Create Portfolio (PAPER_MONEY)(PTF001)Event: Portfolio CreatedDepending on your backoffice needs/capabilies,we recommend to skip the PAPER_MONEY portfoliosSuitability ProfilingUser can use PAPER_MONEY portfolioas long as (s)he wantsUser activates portfolio- Delete PAPER_MONEY Portfolio- Create REAL_MONEY Portfolio[Self Investor Only]Create Portfolio (REAL_MONEY)(PTF001)Event: Portfolio CreatedThe event does not contain detail about the portfolio created other than the IDTo get the details, issue a GET /portfolios/{id}Backoffice Processes(CBS, CRM, ...)alt[Broker/Custodian Integration by InvestSuite]Manage User & Portfolio at Broker/Custodian[Broker/Custodian Integration by Client]Manage User & Portfolio atBroker/Custodian(PTF002)Update PortfolioBrokerage Account PATCH /portfolio/{id}

Integrations:

  • ONB001 (Outbound) An HTTP redirect (or webview) to a page which hosts the onboarding solution. This call is unauthenticated.
  • ONB002 (Inbound) The Onboarding Solution redirects the user back to InvestSuite, either through a HTTP redirect or through a written message.
  • ONB003 (Outbound) OpenID Connect Sign In flow. Returns a JWT token.
  • ONB004 (Outbound) An HTTP redirect (or webview) to a page which hosts the contract signature component.
  • USR001 (Inbound) Create the User. See here for the full signature.
    • If only one contract is used, set the status to ACTIVE. Otherwise, set it to WAITING_FOR_SIGNATURE.
    • If the IdP is managed by InvestSuite, also specify the create_idp_user query parameter.
  • USR002 (Inbound) Update the User status. See here for the full signature.
  • PTF001 (Outbound) An event signals the middleware that a new Portfolio has been created. See here for the full signature.
  • PTF002 (Inbound) Update the Portfolio's brokerage account. See here for the full signature.

Scenario 2: In-App Onboarding

Talk to your sales representative.