Verkflo is in early access. Book a demo

KYB and UBO verification automation for business customers

A KYB agent reads the company documents, lists the beneficial owners above your threshold, screens each person and the company, and sends gaps in the ownership picture to a reviewer.

Book a demoSee how it runs

Works with

and any system with an API via Custom REST

What is KYB and UBO verification?

  • The procedure

    KYB checks a business customer: the company, the people who run it and the people who own or control it. UBO verification traces ownership through any holding companies until each owner above your threshold has a name, an ID and a screening result. Layered structures and undocumented owners are where the work slows down.

  • What the agent does

    • Reads the company documents and ownership declaration from Sumsub

    • Traces ownership through holding companies and lists owners above your threshold

    • Screens the company and each owner in ComplyAdvantage

    • Saves the ownership map to the case folder in Google Drive

  • What your team decides

    • Whether a layered or undocumented structure is acceptable

    • Whether an owner's possible sanctions match stands

    • Which extra documents to ask the customer for

    • Escalations to your MLRO or compliance officer

Example runs for KYB analysts, onboarding teams, MLROs or compliance officers

Sample data

KYB Review Agent

Maps ownership for each new business customer against your procedure.

  • Sumsub
  • ComplyAdvantage
  • +1

Trigger: Sumsub · applicantReviewed

From a procedure KYB review · v1.2

Diego

New business customer: Lumen Print. Run the ownership review.

KYB Review Agent

  1. Pulled the company documents and ownership declaration from Sumsub
  2. Listed the beneficial owners above your threshold: two people
  3. Screened the company and both owners in ComplyAdvantage: no hits
  4. All ownership is accounted for ownership.unaccounted_share == 0

Approved. Both owners are documented and screening is clear under v1.2 of the procedure.

4 steps · 0 reviews

KYB Review Agent

Maps ownership for each new business customer against your procedure.

  • Sumsub
  • Google Drive
  • +1

Trigger: Sumsub · applicantReviewed

From a procedure KYB review · v1.2

Marcus

New business customer: Corvid Freight. Run the ownership review.

KYB Review Agent

  1. Pulled the company documents from Sumsub
  2. Traced ownership through a holding company and a second layer
  3. The holding company's owners are not documented ownership.unaccounted_share > 0
  4. Paused for a reviewer on the undocumented holding company Waiting for a reviewerPriya: acceptable, register extract requested
  5. Saved the ownership map and the reviewer's note to the case folder

Waiting on documents. The reviewer accepted the structure, subject to a register extract for the holding company. The run resumes when it arrives.

5 steps · 1 review

KYB Review Agent

Maps ownership for each new business customer against your procedure.

  • Sumsub
  • ComplyAdvantage
  • +1

Trigger: Sumsub · applicantReviewed

From a procedure KYB review · v1.2

Tom

New business customer: Ostrava Metals. Run the ownership review.

KYB Review Agent

  1. Pulled the company documents and owner IDs from Sumsub
  2. Screened the company and its owners in ComplyAdvantage
  3. One owner returned a possible sanctions match
  4. Sent the possible match to a reviewer, as your procedure requires Waiting for a reviewerLena: possible match stands, escalate to your MLRO or compliance officer
  5. Held the onboarding and recorded the escalation

Escalated. The onboarding is on hold until your compliance officer decides on the match. Lena's note and the screening result go with it.

5 steps · 1 review

Setting up the KYB Review Agent

Connect your systems

Read company documents from Sumsub, screen the company and each owner in ComplyAdvantage, keep the ownership map in Google Drive, and reach registry or other systems through Custom REST.

  • Sumsub
  • ComplyAdvantage
  • Google Drive
  • Custom REST

Write the rules

Your ownership threshold and structure rules are CEL conditions. Any share that is not accounted for sends the case to a reviewer.

Sample data
ownership.unaccounted_share > 0Ask a reviewer
owners.exists(o, o.screening.hits > 0)Ask a reviewer
ownership.unaccounted_share == 0Approve

Add reviewers where the procedure says

When the ownership picture has a gap, the reviewer sees the map the agent built and decides what the procedure allows.

Sample data

Review requested: Corvid Freight

Reason
Holding company owners not documented
Rule
ownership.unaccounted_share > 0
Procedure
KYB review · v1.2

Accept structureRequest documents

Start it from the event

Start a KYB review when Sumsub finishes with a business applicant or a new business customer arrives by webhook. A daily schedule re-checks ownership requests still waiting on documents.

  • Sumsub · applicantReviewed
  • Inbound webhook · new business customer
  • Daily at 06:00 · ownership requests awaiting documents

Version and evaluate

Test each version against cases you define: a simple two-owner company, a layered holding structure and an owner with a screening hit. A failing case blocks publishing until it is fixed.

Sample data

KYB review · v1.2Published

12/12 scenarios passed

KYB review · v1.2 Superseded

KYB review · v1.1 Superseded

Share with the team

KYB analysts take the Reviewer role for ownership gaps, an Author maintains the KYB procedure and its threshold, and auditors get read-only access to each ownership map and decision.

  • Admin
  • Author
  • Reviewer
  • Auditor

Questions about KYB and UBO verification

How does the agent handle a holding company?

It follows the ownership chain through each layer it has documents for. If part of the ownership is unaccounted for, a CEL rule sends the case to a reviewer with the map built so far.

Can we set our own ownership threshold?

Yes. The threshold is part of your procedure and its rules, so you set it and change it by publishing a new version.

Does it check company registries?

There is no built-in registry connector. If your registry provider has an API, the agent can call it through Custom REST.

Who sees the ownership map?

Reviewers see it when a run pauses, and it is saved to the case folder in Google Drive. Auditors can read it alongside the run.

Controls your auditors will ask about

These controls apply to each agent you build. Sample data

Related use cases

See all use cases

Run this procedure as an agent

Book a demo with your own version of this procedure, and we'll show it running with each step logged.

Book a demo