SICC (Search and Import Client from Core)

DocFox helps a bank open a new business bank account. This process involves the applicant for an account, or a banker on their behalf, submitting required information and documentation. However, if a bank has an existing client on their core that was not created while using DocFox (e.g. at a time before the bank used DocFox), DocFox would have no data on such a client. Therefore, if the client applies for a new account, they would be required to upload all their information from scratch, resulting in a poor client experience.

My Role
Senior Product Designer
Duration
6 months
Category
Desktop Applications
Year
2023-2024
Team
Dean Benjamin
Greg Meyer
Lunga Sizani
Lindokuhle Maselela
Johan Meiring
Randolph Aguanpmwa
Jacqui Lesar

Product Demo

Background & Problem

DocFox helps a bank open a new business bank account. This process involves the applicant for an account, or a banker on their behalf, submitting required information and documentation.

However, if a bank has an existing client on their core that was not created while using DocFox (e.g. at a time before the bank used DocFox), DocFox would have no data on such a client. Therefore, if the client applies for a new account, they would be required to upload all their information from scratch, resulting in a poor client experience.

The Solution

Before the Banker creates a new application in DocFox or invites the client to create their own, the banker is first able to search for the client in the core without leaving DocFox.

The banker can then create the client's application in DocFox by importing their information from the core. The benefit of this is that when an existing client wants to open a new account, DocFox ensures that the client doesn't have to re-enter the information the bank has on file; any data entry required from the client would just be for the new account they wish to open.

Product Scope

Must Haves

Search for clients in the core without leaving DocFox
View list of signers and owners linked to a business record
View businesses linked to an individual as signer or owner
See sufficient info to decide if a record should be imported
Select and import a client's core record into DocFox
View imported profile info, related parties, and accounts
Skip manual document collection for existing core records
View imported application data seamlessly in DocFox forms

Should Haves

Search for multiple clients simultaneously
Import multiple clients in a single action
Indicator if a core client already exists in DocFox
Detail the exact nature of relationships (e.g. Owner vs Signer)

Won't Haves (Future Release)

Automatic core search in related party builder
Custom bank-defined form updates for existing data
Real-time interjection during manual SFO invites
Automated merging of duplicate core/DocFox records
Uniform search fields across all banking cores
Identical data display across different core providers

How it Works

Flow 01: Search
DocFox UI
POST /search
Open Banking API
Banking Core
Flow 02: Results
Webhook Listener
Results Ready Notification
GET /search_results
Flow 03: Import
POST /import

API Endpoints

POST/search
GET/search_results?id=1234
POST/import?customer_id=5678
GET/import?import_id=39402

Webhook Events

POST/search_status
POST/import_status

Process Logic

  1. 01.DocFox calls PortX with structured search query.
  2. 02.Unique query ID generated and search starts against core.
  3. 03.Webhook notifies DocFox when results are ready.
  4. 04.DocFox retrieves results marked with Customer IDs.
  5. 05.Customer details retrieved and imported synchronously.

Workshops

Cyber security teams are so overwhelmed and reactive that they cannot apply their expertise in a scalable and measurable way. Product and services vendors try to solve this problem by adding more alerts and more point-in-time assessments, none of which materially improves an organization's defenses.

Bionic addresses this disparity not by adding more tools and detections, but by making defenders the best they can be through collaborative automation. Our assistive technology gives defenders "superpowers" by providing actionable insights, tailored recommendations, and coaching on a sustained basis.

Workshop photo 1
Workshop photo 2
Workshop photo 3
Workshop photo 4
Workshop photo 5
Workshop photo 6

High Level User Flows

Status Quo: what happens today?

Banker is notified that an existing client wishes to take out a new product.
Banker reviews client's existing accounts and behaviour.
Banker Invites client to onboard (SFO) through DocFox.
Person receives SFO invite and enters info of the person/business that is already the bank's client.
This is shit as the client is submitting info the bank already has

Target Flow: Simplified Experience

Client wishes to take out a new "product"
Client speaks to their day to day contact
Banker sends client the addendum for the new function as well as a Schedule D form - both sent via DocuSign
Banker sends client "New Account - Business Form"

The Ideal User Journey

Context

  • • This describes an existing client at the bank
  • • The existing client does not exist in DocFox, but is in the core
Existing client wishes to take out a new offering from the bank
Client gets in contact with their person at the bank
Consideration
During this consultation, banker is going to need to see what the client currently has with the bank, how they've been using those products and which new offering is best for the client. Currently: this is done by the banker logging into the core or another interface (Meridian Link etc). Do we want this to be done in DocFox?
Client and banker consult on the client's needs and confirms which offering is needed
Risk / Issue
Would the banker know if the client exists in DocFox or not? How could they find out? Search bar? Invite through SFO?
In DocFox: Banker enters info about the business/person
DocFox calls the core (ESB) to check if there is a record that matches what the user entered
Core returns with a Yes/No as well as the info about those records
Risk / Issue
How much information about the records from the core do we show here?
Banker sees the matched records and can select the correct one
Consideration
Each AI would configure which of the following info they want in DocFox: Business Information (for Profile in DocFox), Existing products, add-ons & signers, Ownership structure, Documents (would we need the actual documents? maybe just request docs older than X? Or, if we show the banker Middesk - might not need to get the biz docs)
Risk / Issue
Seems that banks use this opportunity to get the client to do some account maintenance as well as take out new products. What info needs to be pulled? Profile? Products? Related Parties? Documents? (The actual docs or just the knowledge that they have been collected and when?)
DocFox pulls relevant info from core and creates an application in DocFox
Consideration
The intention behind the banker sending the invite to the client is for the client to be able to: 1. Confirm info, 2. Select product, 3. Give permissions.
Banker sends an invitation to the client to self-select a new account + do maintenance
Banker pre-selects a new account and/or edits an existing account
Consideration
The client would need to: View/edit business profile, owners, accounts, signers, upload docs, accept T&Cs.
Risk / Issue
Banker would send an invitation to the client to agree to T&Cs, upload required docs, confirm/edit ownership and signers for accounts
Client does 'all the things'
Banker is notified that the client has done all the things (gets an email?)
Risk / Issue
If the client says that an old signer is no longer there... we would want to reflect these changes in the core. What about destructive changes?
Banker approves application and changes are propagated to the core

Key Questions to Answer

How much info about a client's existing products and activity do we need to pull into DocFox?

Do we want to allow DocFox to be used as an account management tool? ie: should we allow viewing existing signers/owners/products?

How will we handle syncing when a client is in both systems? We'll need to sync from core before inviting.

Where in DocFox do we check the core?

SFO Invite

Invite Customer

Enter your customer's details to send them a link to begin onboarding

Let them choose

Customise Email Body Copy

Hi [First Name],

Bobs Burgers are the best burgers 🍔🍔🍔
Problem & Solution

How to identify ties to a business in the core?

We allow the officer to enter information about the entity that the invitee will be onboarding; ie: the officer can say that the person is onboarding a business and the officer might even know the business' name and/or TIN.
Identifier Issue

No semi-unique identifier besides name.

Solution: We add in a numeric identifier here (SSN/TIN) to avoid getting too many results.
TIN
EIN
SSN
Banker enters TIN of the person/company being invited
MODUS
Is this call sync? How long will it take?
DocFox calls ESB to check if client exists
Client(s) exist?
No
DocFox allows banker to proceed with invite
Yes
DATA
What info do we get back from the core? Eg: Person/Business' name, Products
DocFox displays a list of existing client records
Banker chooses the client they want
Application in DocFox is automatically created with info from core
Banker redirected to application to add new product / send invite

Technical Sequence

DocFox
ESB
Core
1

Banker invites, creates or searches for a client

What sort of latency do we expect? Sync vs Async?
Which clients exist?(client_identifier)
Which identifier is supported by most cores? TIN?
Which clients exist?(client_identifier)
2

Banker identifies their client from list

List of matching clients
What is the bare minimum info we assume we'll get back?
List of matching clients
3

Banker elects to have KycApplication created

Create KycApplication
Get all required information
4

Banker views KycApplication on DocFox

Required info for identifier
App created with Core data
Option 1: ESB maps data and creates KycApplication via our APIs
Option 2: ESB sends Core info to DocFox who does the mapping
What are the pros and cons of each option?

SICC Timelines

Q1Q2Q3Q4

Bankers can search for clients in the core without leaving DocFox.

Bankers can import clients from the core into DocFox removing the need for a client to provide the same information again when opening new accounts.

Automatic detection and importing of existing clients from the core into DocFox when a business' owners and signers are being entered by the client, preventing the client from having to provide the same information again.

Bankers are told which client documents and forms need to be completed when importing existing clients into DocFox, minimising the number of times a banker needs to request information from the client.

Searching for existing clients in the core is much quicker which offers a greatly improved banker and client experience.

Wireframe Revisions

Revision 1: Initial Concept
REVISION 1

Revision 1: Initial Concept

First exploration of the search and import flow, focusing on core connectivity.

Revision 2: Refined UX
REVISION 2

Revision 2: Refined UX

Improved data mapping and validation steps based on initial stakeholder feedback.

Revision 3: Final Wireframe
REVISION 3

Revision 3: Final Wireframe

Polished low-fidelity designs with complete edge-case handling and technical constraints.

Final Deliverables

View Figma Prototype
SICC (Search and Import Client from Core) main view
SICC (Search and Import Client from Core) detail view
SICC (Search and Import Client from Core) detail view
SICC (Search and Import Client from Core) overview
SICC (Search and Import Client from Core) full view

The Result & Impact

56%

Reduction in duplicate client data

12%

Increase in client satisfaction

68%

Positive user sentiment (system was too slow and clunky)

"The design implementation was excellent. The challenge was ensuring that the system was fast and responsive, and that the user experience was smooth and intuitive."

Jacqui Lesar
Jacqui Lesar
Senior Product Manager
SICC (Search and Import Client from Core)

DocFox helps a bank open a new business bank account. This process involves the applicant for an account, or a banker on their behalf, submitting required information and documentation. However, if a bank has an existing client on their core that was not created while using DocFox (e.g. at a time before the bank used DocFox), DocFox would have no data on such a client. Therefore, if the client applies for a new account, they would be required to upload all their information from scratch, resulting in a poor client experience.