Document groups
Documents are organized into four structured groups, each representing a category of evidence needed for business verification:| Group | Description | Examples |
|---|---|---|
| Legal presence | Documents proving the company legally exists | Certificate of incorporation, business registration |
| Company details | Documents describing the company’s operations | Articles of association, memorandum of association |
| Ownership structure | Documents proving the ownership chain | Shareholder register, share certificates, UBO declarations |
| Representatives authorization | Documents proving authority to act on behalf of the company | Power of attorney, board resolutions, authorization letters |
Document types
| Category | Examples |
|---|---|
| Formation documents | Certificate of incorporation, articles of association, memorandum of association |
| Ownership documents | Shareholder register, share certificates, UBO declarations |
| Address documents | Utility bills, bank statements, or lease agreements for the registered address |
| Financial documents | Annual accounts, audit reports, financial statements |
| Tax documents | Tax registration certificates, tax compliance certificates |
| Regulatory documents | Licenses, permits, regulatory approvals |
| Custom documents | Any additional documents required by your compliance process |
Document workflow
Automatic requests
Based on your workflow configuration, Didit automatically identifies which documents are needed for the business verification. Required document types are presented to the business for upload.
Upload
Documents are uploaded through the hosted verification flow or via the Business Console. Supported formats include PDF, JPG, PNG, and WebP.
OCR extraction
Didit extracts structured data from uploaded documents using OCR:
- Company name and registration number from certificates
- Address data from utility bills
- Financial figures from statements
- Names and roles from shareholder registers
Cross-referencing
Extracted data is cross-referenced against:
- Registry data from the company lookup
- Information provided at session creation
- Data from other uploaded documents
Analyst document requests
During the review process, analysts can request additional documents:- Navigate to the business session in the console
- Click Request document and specify the document type and description
- The business is notified and can upload the requested document
- The document appears in the session with a Requested status until uploaded
Document statuses
Each document and the aggregatedocument_verifications[] check use the standard KYB feature status set:
| Status | Description |
|---|---|
NOT_FINISHED | Document is still being processed (upload in progress, OCR running, or cross-check pending). |
APPROVED | Document was reviewed and accepted. |
DECLINED | Document was reviewed and rejected. |
IN_REVIEW | Document requires manual analyst attention. |
RESUB_REQUESTED | Analyst requested a resubmission — the business must re-upload this document before the session can progress. |
Cross-check results
When a document is processed, Didit cross-references the OCR-extracted data against the user-provided data submitted in the Key People flow (and any data confirmed during registry review) plus other uploaded documents. The cross-check produces structured results:| Category | Description |
|---|---|
| Critical fields | Fields where the document data and the user-provided data do not match — these require analyst review. Each field shows the document value, the user-provided value, and a confidence score. |
| Non-critical fields | Fields with minor discrepancies or formatting differences that may not require action (e.g. abbreviation differences in company name). |
| People overlap | Analysis of people mentioned in the document vs. people submitted by the user — highlights missing or additional individuals. |
Retrieving documents via API
Documents are attached to the Business Verification (KYB) session. Fetch them via the session decision:document_verifications[] array — each item has a status, node_id, items[] (each with a signed file_url and OCR extract), groups, and required_groups. See response schema for the full structure.
Next steps
Response schema
Where documents appear in the payload.
Troubleshooting
OCR failures and request flows.
Business console
Reviewing documents as an analyst.