> For the complete documentation index, see [llms.txt](https://docs.identomat.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.identomat.com/platform-concepts/anydoc-reader.md).

# AnyDoc reader

### **Overview**

AnyDoc lets clients extract structured data from **any document type** using AI - payslips, bank statements, utility bills, tax declarations, invoices, or any other document that doesn't fit into Identomat's predefined document types.

Rather than relying on a fixed set of document templates, the administrator defines exactly which fields should be extracted from a document, and an AI model reads the uploaded file and returns the values in a structured, validated format. This makes AnyDoc suited for client-specific or non-standard documents that a general-purpose OCR flow can't cover.

Multiple AnyDoc steps can be added to the same flow, each independently configured for a different document type - for example, one step for a payslip and a separate step for a tax declaration.

***

### **How it works**

1. The administrator configures a document type, its expected format, and the fields to extract - each field can include a label, key, data type, and hints to guide the AI.
2. When the applicant uploads a document, the system generates an extraction prompt from the configured fields and sends the document to the AI.
3. The AI returns a structured response containing each field's extracted value, a normalized version of that value, and a confidence score.
4. Extracted data is validated against the configured field types (e.g. valid date, valid email format) and against any configured document validity rules.
5. If a required field is missing, fails validation, is low-confidence, or the document has expired, the session is flagged.&#x20;

***

#### **Data extracted per field**

For each configured field, the system stores:

<table><thead><tr><th width="134.33984375">Property</th><th>Description</th></tr></thead><tbody><tr><td>Value</td><td>The normalized, validated value (e.g. <code>EUR</code>, <code>2026-06-01</code>)</td></tr><tr><td>Raw value</td><td>The value exactly as it appeared in the document, before normalization (e.g. <code>€</code>, <code>01 Jun 2026</code>)</td></tr><tr><td>Confidence</td><td>A 0–100 score indicating how confident the AI is in the extracted value</td></tr><tr><td>Validation status</td><td>Whether the value passed, failed, or was not found</td></tr></tbody></table>

Raw and normalized values are both retained, so operators can see exactly what the AI read versus what the system interpreted it as.

***

#### **Document validity**

Administrators can optionally enforce a maximum document age, based on a date extracted from the document itself (e.g. issue date or statement date). If the extracted date falls outside the configured window, the document is treated as expired.

***

#### **Confidence thresholds**

A confidence threshold (default: 80) determines when an extracted field is considered reliable. Any field extracted below this threshold is flagged for manual review. Thresholds can be set once for the entire step, and optionally overridden for individual fields that require stricter accuracy (e.g. a salary amount vs. a reference number).

***

### **Enabling the feature**

**How to enable:** Add an **AnyDoc** step in the Configuration builder and define the document type, allowed formats, fields to extract, and any validity or confidence rules.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Via the No-code workflow builder:</strong><br>Configure the step directly in the Configuration builder.</td><td><a href="/no-code-workflows/kyc-steps.md#anydoc-reader">KYC steps</a></td></tr><tr><td><strong>Via API:</strong><br>The step is configured using the <code>anydoc-reader</code> step type. See AnyDoc in the <strong>Developer guide</strong> for the full configuration reference.</td><td><a href="/developer-tools/developer-guide/kyc-know-your-customer.md#anydoc-reader">KYC (Know Your Customer)</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.identomat.com/platform-concepts/anydoc-reader.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
