How it works
Configure documents and fields
In the workflow builder you define up to 3 documents. For each document you set:
Start from a template or build from scratch.
| Setting | Description |
|---|---|
| Title & description | Shown to the user on the upload screen. Entered once and auto-translated into every verification language. |
| Fields to extract | A list of typed fields — each with a name, an extraction instruction for the AI, a type (text, number, date), and a required flag. |
The user uploads documents
The user uploads one file per configured document (PDF or image). Each upload is processed independently; the step completes once every required document has been provided.
AI extraction
Didit renders each document and runs a vision-language model with a schema built from your field definitions. Extracted values are returned typed (numbers as numbers, dates as
YYYY-MM-DD) and stored per document. PDF/EXIF forensics run to detect manipulation.Cross-reference & rules
Extracted fields can be cross-checked against other steps — for example, the document holder name against the verified ID, or any field against questionnaire answers — and against your basic rules and custom status rules. The resulting per-document statuses combine into the feature status.
Starter templates
When you add a Document AI node you can start from a ready-made template that pre-fills the title, description, and typed fields. Customize anything afterward.| Template | Typical fields |
|---|---|
| Proof of Funds | Account holder, balance, currency, statement date |
| Proof of Income (payslip) | Employer, employee name, gross/net salary, pay period |
| Source of Wealth | Source type, amount, date, institution |
| Tax Document | Taxpayer name, tax year, declared income, tax ID |
Cross-referencing other steps
Document AI fields are addressable asdocument_ai.<field_key> and can be compared against fields from other completed steps using a custom status rule with value_type: "field". For example:
document_ai.account_holderequalskyc.full_name— the document holder matches the verified identity.document_ai.balancegreater_than50000— flag high balances for review.
Document requirements
| Requirement | Detail |
|---|---|
| Documents per step | Up to 3, each configured independently |
| Supported formats | PDF, JPG, JPEG, PNG, TIFF, WebP |
| Pages | Multi-page PDFs supported |
| Quality | Original document or high-quality scan; no digital editing or manipulation |
Document AI performs unstructured-text reading, which introduces a few seconds of latency per document. Webhooks fire only when the entire workflow step completes — do not poll the decision endpoint faster than every 5 s during this window.