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

# Document processing

> The stages a document goes through after it arrives, the statuses you see in the Inbox, the document types Mercora recognizes, and what to do when processing fails.

Every document that reaches Mercora, by [upload](https://docs.mercora.io/documents/uploading.md) or by [email](https://docs.mercora.io/documents/email-ingestion.md), goes through the same stages. Processing runs on its own: you don't need to stay on the page or start anything. When it finishes, the document waits in the [Inbox](https://docs.mercora.io/documents/inbox.md) for a person to review and approve it. Nothing a document says becomes part of your trade records until someone approves it. See [How Mercora works](https://docs.mercora.io/concepts/how-mercora-works.md).

This page helps you follow a document while it processes, read its status, and recover one that fails.

## The stages

**1. Received**

The file is stored and queued (shown as **Queued**). A saved email is opened up so each attachment becomes its own document. Word files are converted to PDF so you can review them next to the extracted fields, and the original stays available to download.

**2. Classified**

Mercora works out what kind of document it is: an invoice, a B/L, a certificate of origin and so on. If you chose a type when you uploaded it, Mercora uses that type instead.

If the file turns out to hold several documents, Mercora splits it into separate documents first. See [Multi-document packs](https://docs.mercora.io/documents/uploading.md#multi-document-packs-bundles).

If the file isn't a trade document at all, such as a newsletter, a sales deck or a meeting invite, Mercora sets it aside in the **Filtered** tab.

**3. Extracted**

Mercora reads the fields that matter for that type of document and checks each one against the page. This is the longest stage: usually a minute or two, longer for long documents and packing lists.

**4. Matched**

Mercora looks for the trade the document belongs to. It links the document only when it's sure, for example when the document carries a reference that identifies exactly one trade. Otherwise it recommends a trade for you to confirm, or leaves the document unmatched. See [Matching documents to trades](https://docs.mercora.io/documents/matching.md).

**5. Reconciled**

Once the document is on a trade, Mercora compares it with the trade and its other documents and flags what doesn't line up. See [Discrepancies](https://docs.mercora.io/documents/discrepancies.md).

**6. Done**

The document moves to **Needs you** in the [Inbox](https://docs.mercora.io/documents/inbox.md), ready for review.

> [!NOTE]
>
> Matching and reconciliation only run when your workspace uses the **Trades** module. Without it, documents complete as standalone documents and you approve them on their own.

## Following a document while it processes

While a document is being processed, it sits in the Inbox under **Waiting**, in the **Processing** group. Its row shows the current stage and progress, for example "Extracting · 5/11". Open it to see a live status card and a checklist of the milestones: **Classified**, **Extracted**, **Matched**, **Reconciled** and **Done**.

There's nothing for you to do while it's there. The document moves to **Needs you** by itself when processing finishes.

## Statuses you see in the Inbox

Each document row in the Inbox shows a short status.

| Status | Tab | What it means | What to do |
| - | - | - | - |
| Stage and progress, for example **Matching · 7/11** | Waiting | Mercora is still processing the document. | Nothing. It moves on by itself. |
| **Split review** | Needs you | A multi-document pack is waiting for someone to confirm how it's split. | Confirm or correct the split. |
| **Unmatched** | Needs you | Processed, but not yet on a trade. | Match it to a trade, or record that it belongs to no trade. |
| **N disc.** | Needs you | Matched, with N open discrepancies. | Review the discrepancies, then approve. |
| **Clean** | Needs you | Matched and checked, no open discrepancies. | Review and approve. |
| **Failed** | Needs you | Processing stopped after its automatic retries. | Retry it, reclassify it or delete it. See below. |
| **Approved** | Done | Someone approved the document. | Nothing. |
| **Closed** | Done | An approved invoice that has been closed. See [Financials](https://docs.mercora.io/finance/financials.md). | Nothing. |
| **Dismissed** | Done | Someone rejected the document. | Nothing. |
| **Filtered** | Filtered | Set aside as not a trade document, or a file type Mercora can't read. | Check it if you expected it to be a trade document. |

For example, when the twelve documents for the Veltana Commodities sugar trade finish processing, eleven arrive **Clean** on trade VCS-S-2026-0714 and the purchase contract VCS-P-2026-0688 arrives **Unmatched**, waiting for someone to match it. See [The Inbox](https://docs.mercora.io/documents/inbox.md).

Invoices also show whether they're a receivable (**AR**) or a payable (**AP**). An invoice whose direction couldn't be worked out shows **AR/AP?**, and one that might be a credit note shows **Credit note?** until you set it.

## Document types Mercora recognizes

Mercora sorts documents into these types and reads different fields for each. The fields listed are examples, not the full list.

| Type | What it is | Examples of fields read |
| - | - | - |
| **Contract (Purchase or Sale)** | The signed agreement to buy or sell the commodity. | Contract number, buyer, seller, product, origin, quantity, tolerance, unit price, currency, incoterms, ports, laycan, payment terms, required documents |
| **Trade Recap** | The summary of agreed terms sent after a deal is struck. | Trade reference, buyer, seller, product, quantity, price or pricing basis, incoterms, ports, laycan, payment terms |
| **Amendment** | A document that changes or ends an existing contract. | Contract number, amendment number and date, effective date, the clauses changed with their old and new values |
| **Invoice** | Commercial, freight, demurrage and proforma invoices, and debit and credit notes. | Invoice number, invoice and due dates, issuer, billed party, currency, amounts, charge lines, B/L number, vessel, ports |
| **Bill of Lading** | The carrier's receipt for cargo shipped by sea (B/L). | B/L number, shipper, consignee, notify party, vessel, voyage, ports, product, quantity, gross and net weight, shipped-on-board date, containers |
| **Railway Bill of Lading** | The transport document for cargo shipped by rail. | Rail bill number, shipper, consignee, origin and destination stations, wagon numbers, product, weights |
| **Forwarder's Certificate of Receipt** | A freight forwarder's confirmation that it has received the goods (FCR). | FCR number, forwarder, shipper, consignee, vessel, ports, product, quantities, containers and seals |
| **Vessel Nomination** | The notice naming the vessel that will carry the cargo. | Vessel name, IMO number, nominated quantity and tolerance, laycan, ports, ETA at load port |
| **Notice of Readiness** | The master's notice that the vessel is ready to load or discharge (NOR). | Vessel, port, when the notice was tendered and accepted, when laytime starts |
| **Statement of Facts** | The agent's timeline of the vessel's port call (SoF). | Vessel, port, each event with its time, stoppages and reasons |
| **Letter of Credit** | The bank's payment undertaking for the trade (L/C). | L/C number, expiry and latest shipment dates, issuing bank, parties, amount, quantity and tolerance, ports, required documents, presentation period |
| **Documentary Credit Advice** | The advising or confirming bank's notice of an L/C. | L/C number, issuing bank, parties, amount, expiry and latest shipment dates |
| **Insurance Certificate** | Proof of cargo insurance. | Insurer, insured party, coverage amount, currency, product, quantity, vessel, ports |
| **Certificate of Origin** | Certifies the country the goods come from. | Certificate references, B/L number and date, parties, product, origin, quantity, vessel, ports |
| **Packing List** | How the goods are packed, or the vessel's cargo manifest. | Product, quantity, gross and net weight, containers, vessel, ports |
| **Quantity Certificate** | A surveyor's certificate of how much was loaded or discharged, such as a weight certificate or draft survey. | Gross and net weight, volume, density, shipper, consignee, containers |
| **Inspection Certificate** | A quality analysis with many measured parameters. | Product, origin, weights, vessel, ports, the quality results |
| **Compliance Certificate** | A certificate answering one yes-or-no question, such as phytosanitary, fumigation or non-GMO. | Certificate name and number, issuer, issue date, result, findings |
| **Other Trade Document** | A trade document that fits none of the types above, such as a booking confirmation or delivery order. | Document title and date, parties, product, quantity, ports |
| **Not Trade Related** | Not a trade document. Set aside in **Filtered**. | Title, date, a short summary |

Most types also carry the trade reference, contract number and, where relevant, B/L or L/C number. Mercora uses these to match the document to its trade.

> [!TIP]
>
> For a certificate, Mercora also notes what kind of certificate it is, such as "Fumigation Certificate", and shows that name in the Inbox. You can give any document a custom label from **Reclassify…** in the **⋯** menu.

### How numbers are read

Mercora reads numbers the way they're printed, including European (`1.234,56`), US (`1,234.56`) and Swiss (`12'500`) formats. When a printed quantity or weight could be read two ways, Mercora shows you both readings under the field, for example "Printed as 745,087 · pick:", with the reading that fits the deal marked. Click the right one.

## Changing the type

If Mercora got the type wrong, open the document and choose **Reclassify…** from the **⋯** menu. Pick the right type from the list. Mercora keeps your choice and processes the document again under that type: it reads the fields for the new type, matches it and runs its checks again. The confirmation names the type you picked and, in most cases, offers **Undo**.

## Processing a document again

**Full Reprocess** in the **⋯** menu runs every stage again from the start. Use it if a document was read badly, for example after a poor scan was replaced. Your own field corrections are kept when a document is processed again.

> [!WARNING]
>
> Reprocessing an approved document sends it back for review. An invoice that has been closed can't be reprocessed: Mercora answers "This invoice is booked. Unbook it first to reprocess." [Reopen the invoice](https://docs.mercora.io/trades/financials.md) first, then reprocess it.

## When processing fails

Mercora retries a stage automatically when something goes wrong. If a document still can't be processed after its automatic retries, it shows as **Failed** in **Needs you**, in the **Recover** group. Open it to see why it failed.

You have three ways forward:

* **Force retry** resets the retry count and runs the whole process again. Use it when the problem looks temporary.
* **Reclassify…** in the **⋯** menu, when the failure comes from the document being treated as the wrong type.
* **Delete from Record** in the **⋯** menu, when the file shouldn't be in Mercora. This removes the document from its trade and discards any discrepancies raised against it. The file is kept for recovery but hidden from the Inbox and trades.

You need permission to edit documents to retry, reclassify or delete. See [Roles and permissions](https://docs.mercora.io/concepts/roles-and-permissions.md).

## Next steps

> **[The Inbox](https://docs.mercora.io/documents/inbox.md)**
>
> Review a processed document and approve it.

> **[Matching documents to trades](https://docs.mercora.io/documents/matching.md)**
>
> How Mercora finds the trade, and how to settle it yourself.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.