Guides

Annotation format

Each sample in a Mandavo release ZIP includes a merged JSON annotation file and one or more PNG page images. Labels are extracted from the DOM at render time, not from OCR.

Coordinate system

OriginTop-left of the page image
UnitsPixels
Format[x_min, y_min, x_max, y_max]
Page index1-based

Top-level structure

{
  "document": { "...": "structured invoice ground truth" },
  "rendering": {
    "document_id": "invoice_00000001",
    "template_family": "classic_de",
    "coordinate_system": "pixel_top_left",
    "pages": [ "..." ]
  }
}

Semantic fields

Normalized field names (language-independent) with display labels per locale:

{
  "invoice_number": {
    "value": "RE-2026-00491",
    "page": 1,
    "bbox": [1200.0, 310.0, 1450.0, 330.0],
    "display_label": "Rechnungsnummer"
  }
}

Words and layout

Each page includes words[] with text and bboxes, layout regions (header, table, totals), and line_items[] with per-cell boxes.

Degradation metadata

When degradation is enabled, rendering.degradation records difficulty, scan effects, degradation_tags[], and physical_artifacts[] (stains, stamps, punch holes).

Export bundle

Release ZIPs also contain manifest.jsonl, train/val/test splits, checksums, and QA artifacts. Download the free sample to inspect a full example.