---
id: KB-DI-018
url: https://app.codecontract.io/help/documents-and-ai/documents-with-tables
idioma: en
categoria: documentos-ia
subcategoria: lectura
audiencia: usuario
nivel: intermedio
actualizado: 2026-08-13
tambienEn: [es]
relacionados: [KB-DI-004, KB-DI-016]
citadoPor: [KB-DI-013]
---

# Documents with tables

_A single field almost always reads fine. A table fails elsewhere: not on the number, but on the row._

**Responde a:** reads invoice tables badly · extracting delivery note lines · why does it pick the wrong row · documents with many columns

A certificate has a number, a date and a holder: three loose fields, and they read fine. An invoice, a delivery note or a results listing have twenty rows of four columns, and there automatic reading behaves differently — not worse in the way you would expect.

## Where it actually fails

| What people fear | What actually happens |
| --- | --- |
| That it misreads the number | The number usually reads fine: the digits are large and clean |
| That it skips a row | It happens, and it is visible: the total does not add up |
| — | What really fails is which row each value belongs to |
| — | And rows continuing onto the next page, which get split |

> [!IMPORTANT]
> That third point cannot be spotted by looking at the result: **a correctly read value can end up in the wrong row**, and then everything checks out separately while the whole thing lies. The sum works, every number exists in the document, and yet one reference's quantity has landed on the next one. When the breakdown matters and not just the total, check two or three random rows, not the total.

## What makes a table read well

**En corto**

- Table lines actually drawn, not columns separated by spaces alone.
- No cell spanning two lines of text: that is what shifts the rows.
- The header repeated if the table runs onto another page.
- And the document coming from the system that issued it, not photographed.

> [!WARNING]
> If you define the table and a supplier fills it in, there is a far better way out than tuning the reading: **ask for the same data in a form rather than inside a document**. A scanned delivery note has to be read; a form with one line per reference does not. It takes the same time to fill in and the whole problem disappears.

## How to check it without rereading the whole document

1. **Check the total against the sum of the rows** — Catches the missing row and the duplicated one.
2. **Pick two rows at random and compare the whole row** — Not the number: the entire row, to see whether it is aligned.
3. **Look at the page break** — That is where a row splits, and where nobody looks.
4. **And correct in the platform, not on the document** — That way there is a record of what changed and who changed it.

> [!NOTE]
> If a document with tables reads badly time after time, it is usually the document rather than the reading: same supplier, same template, same failure. Raising it with whoever issues it fixes all the following ones at once.

**Should I extract every line?**

Only if you will use them. If the total is enough, asking for less fails less.

**What about a spreadsheet?**

Far better: there the rows are real rows, not a picture of rows.

**Does uploading at higher resolution help?**

It helps read the digits, not place the rows. Different problems.

## Ejemplos

**A company extracts a supplier's delivery note lines and the totals add up.**

- Cross-checks two whole rows at random and the page break

→ A quantity turns up on the neighbouring reference, which the total was never going to reveal.

**A table reads with its columns crossed.**

- Reviews the extraction against the image

→ The figure ends up in its column.

**The table splits across two pages.**

- Checks it was read in full

→ No row is missing.

**Only the total is extracted and the detail was needed.**

- Defines which rows or columns matter

→ The extraction serves what is needed.

**A skewed scanned table reads badly.**

- Straightens it before uploading

→ Reading improves with no further tweaks.

**Long tables are keyed by hand.**

- Lets them be read and reviews the uncertain

→ Time goes on checking.
