> ## Documentation Index
> Fetch the complete documentation index at: https://help.abacusdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Form vs Document mode

> Form mode for fixed layouts, Document mode for variable ones.

Every schema has a **processing mode**. You set it in the builder. It is stored on the schema and locked into each published version.

| Mode                   | Use it for                                          | Field cap     |
| ---------------------- | --------------------------------------------------- | ------------- |
| **Document** (default) | Contracts, letters, mixed layouts                   | **18** fields |
| **Form**               | IDs, licenses, registrations, other fixed templates | **50** fields |

The cap is enforced when you add fields and again when you publish. A schema over the cap cannot be published — split it by section if you need more.

## How the modes differ

**Document** treats field descriptions as guidance for a language-model extractor. Longer, more specific descriptions help.

**Form** uses a forms engine that keys off labels and layout. Descriptions should stay short (about two sentences), name the printed label, and avoid instructions such as "never reorder" or "if OCR fails".

Field ids also differ:

* **Document:** start with a letter, then letters, digits, and underscores (`invoice_total`).
* **Form:** also allows hyphens and mixed case, up to 64 characters, and cannot use reserved type words as the id.

<Warning>
  Changing mode on a published schema is a new version. Existing batches keep the version they were started with until you reprocess them onto the new one.
</Warning>

## Source languages

You can mark the languages a schema expects on the source documents. That is a hint for extraction, not a list of every language the platform can read. It is separate from [field translation](/guides/translation) and from the UI language switcher (English, Arabic, French, Urdu, Hindi, Spanish, Portuguese).
