Misaligns column headers with data regions in dense financial tables, producing a structurally inconsistent balance-sheet extraction rather than a clean header-to-row mapping.
What was measured
Table Preservation
Preserves complex table structures, including rows, columns, multi-row headers, and merged-cell relationships in markdown.
decisive for this rankingtransformation
Accurate Markdown conversion of complex PDFs depends on keeping table structure intact, not flattening it into plain text. (3 of 3 judges)
What was given, what came back
Test input: Financial Report - Table Heavy · pdf · group: financial-report-table-heavy
Input — what we sent


Financial Report - Table Heavy
A table-heavy corporate financial report used to test extraction of dense, hierarchical financial statements with grouped columns, multi-row headers, segment-reporting tables, and narrative disclosures.
Why this input is hard
- · Multi-page financial statement extraction
- · Hierarchical table reconstruction
- · Grouped columns and multi-row headers
- · Reading order in a report with mixed narrative and tables
- · Document structure retention
- · Markdown usability
Output — unretouched


Also checked on this input — same tool, 2 other criteria
Reading Order & Structure✓ WorkedPreserves section hierarchy in the Mechatronics/Industrial Machinery prose, keeping subsection headings and their paragraphs in the same structural order as the source.Reading Order & Structure✗ FailedFlattens the Summary of Operating Performance page so the section heading is no longer visually or structurally distinguished from the running text.
Provenance
- Observation
- c66e2b14-a549-4ce7-bbd9-4f0fb50a2057
- Evidence run
- 6e3160de-fe46-4b45-b071-72560b5c5d0e
- Study
- Convert a Complex PDF into Clean Markdown with an API
- Research task
- 86b9h7t37
- Tested at
- not recorded
- Source
- first-party
- Evidence state
- verified
- Proof shown
- input + output shown
- Cost / latency
- not captured
- Repeat run
- not captured
- Tester
- not captured
The last three rows are honest blanks, not placeholders — our capture has no field for them yet.
Query this
get_evidence({
tool: "upstage-ai",
scenario: "financial-report-table-heavy"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 8 other tools
measured on Table Preservation
Adobe API✓ WorkedReconstructs the quarterly balance-sheet table with its major asset rows and the two reporting dates, preserving the core balance-sheet layout.Extend AI◐ MixedKeeps the body rows aligned in a multilevel table, but fails to split compound header cells cleanly, so header roles are partially flattened.Landing AI✓ WorkedReconstructs a multi-column segment comparison table with previous-year, present-year, and year-over-year change columns aligned across the rows.LlamaParse✓ WorkedPreserves a multi-level segment-results table with grouped headers and year-over-year columns, keeping the hierarchy legible in the extracted output.Mistral AI✗ FailedDistinct header levels are collapsed into a single cell in the multilevel table, weakening the parent-child relationships that define the column semantics.Nutrient.io✗ FailedLoses multi-level header organization in hierarchical tables, so parent-child column relationships are not reconstructed in the markdown output.Reducto✗ FailedBreaks a 5-column business-results table by duplicating the 2025 header and merging the 2024 value and percent change into one cell; the Net sales row ends up with 254,811 and 2.6 smashed together.Tensorlake✓ WorkedReconstructs a multilevel segment-results table with grouped previous/present quarter headers, year-over-year change columns, six segment rows, and a total row.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com