dev split. Real numbers from the tuning set, not the held-out test split; retrieval only, no answer layer has run yet.

A real Czech filing

One public filing, two official sources: the scanned annual report of Strojírny Prostějov s.r.o. for 2024 and the XML statements filed with it. The scan is read with the open-source Tesseract OCR, rows are anchored on their printed row codes, and the accounting identities of the vyhláška 500 form decide which readings to re-check. The XML is used only to score the result, never to choose a value.

Source

Company
Strojírny Prostějov s.r.o., IČO 05516269
Registry
Sbírka listin, veřejný rejstřík (or.justice.cz) — filing record
Scan
Výroční zpráva s výrokem auditora 2024 (komprimovaný).pdf (PDF), embedded page images at about 72 dpi
XML
UZ-462100029424-20250627-112807.xml (XML), schema version 06.03, amounts in thousands of CZK

Both files are pinned by SHA-256 in data/manifests/czech_filings.yaml. DealBench has no affiliation with the company or the registry; only the statement tables of public pages are shown, without the signature boxes. Takedown requests are honoured.

Rows anchored
198 / 198
169 exact code, 17 near, 12 by position
Cells matching the XML
173 → 532 of 550
page OCR → after identity repair
Page-OCR misreads
373 of 550
all 373 among the 464 cells an identity flagged; 366 fixed, 0 introduced
Identities holding on the scan
14 → 230 of 239
page OCR → repaired; the XML: 238
Sources disagree
11
cells; all 11 agree with the value read by eye

Honest reading. The page OCR alone gets 32.2 % of the cells right (31.5 % match the XML), mostly because a lone 0 at 72 dpi is rarely read: 279 cells have no reading at all. A misread counts as caught when an identity pointed at its cell, and that is a low bar here: with 193 of 239 identities unreadable on the page OCR, identities flagged 464 of the 550 cells, 91 of them already right. So "all 373 misreads caught" mostly says that 84.4 % of the cells were re-read. After the repair 96.7 % match the XML; 7 cells are still misread; all 7 sit in an identity that still fails, which is where the page says it is unsure. The remaining 11 differences are not OCR errors: the scan's own identities hold on them. Right means equal to the reference: the XML, except in the 11 cells where the sources disagree, where it is the printed value read by eye.

The sources disagree

The scan and the XML give different prior-year values in 11 asset cells. Within the XML itself, prior-year total assets (223 620) and total liabilities (228 364) differ; on the scan both are 228 364. Every difference traces to 3 rows:

  • 017 Stavby: The XML's prior-year value equals its own current-year value for this row.
  • 019 Oceňovací rozdíl k nabytému majetku: The XML's prior-year value equals its own current-year value for this row.
  • 066 Dohadné účty aktivní: The XML has no value for this row; the scan prints one.

The other 8 are subtotals that carry those differences up to total assets. Wording rule: the sources disagree; this page does not say which one is right.

Cells where the scan and the XML disagree
ŘádPoložkaScan (prior year outlined)Scan, OCRXMLWhy
001AKTIVA CELKEM228 364223 620A subtotal: the difference of 4 744 is the sum of the differences in rows 003, 037.
003Stálá aktiva111 144106 428A subtotal: the difference of 4 716 is the sum of the differences in row 014.
014Dlouhodobý hmotný majetek98 98394 267A subtotal: the difference of 4 716 is the sum of the differences in rows 015, 019.
015Pozemky a stavby44 80542 750A subtotal: the difference of 2 055 is the sum of the differences in row 017. The XML's prior-year value equals its own current-year value for this row.
017Stavby40 68238 627The XML's prior-year value equals its own current-year value for this row.
019Oceňovací rozdíl k nabytému majetku39 91037 249The XML's prior-year value equals its own current-year value for this row.
037Oběžná aktiva116 838116 810A subtotal: the difference of 28 is the sum of the differences in row 046.
046Pohledávky50 07950 051A subtotal: the difference of 28 is the sum of the differences in row 057.
057Krátkodobé pohledávky50 07950 051A subtotal: the difference of 28 is the sum of the differences in row 061.
061Pohledávky – ostatní2 7442 716A subtotal: the difference of 28 is the sum of the differences in row 066.
066Dohadné účty aktivní28absentThe XML has no value for this row; the scan prints one.

Identity checks

239 identities generated from the row tree
Identity status by kind and reading
IdentityPage OCR: holds / fails / unreadableRepairedXML
Subtotals (parent = Σ children, per column)7 / 21 / 130151 / 7 / 0158 / 0 / 0
Netto = brutto + korekce (assets)6 / 9 / 6275 / 2 / 077 / 0 / 0
Aktiva = Pasiva (per period)0 / 2 / 02 / 0 / 01 / 1 / 0
Rozvaha 098 = VZZ 55 (result for the period)1 / 0 / 12 / 0 / 02 / 0 / 0

Identities that still fail on either source

Failing identities after repair and on the XML
IdentityScan, repairedXML
038 = 039 + 040 + 041 + 044 + 045 (netto)fails 45 613 vs 45 612holds
041 = 042 + 043 (korekce)fails −553 vs −533holds
122 = 123 + 126 + 127 + 128 + 129 + 130 + 131 + 132 (prior)fails 87 768 vs 81 768holds
132 = 133 + 134 + 135 + 136 + 137 + 138 + 139 (prior)fails 22 118 vs 22 028holds
14 = 15 + 18 + 19 (current)fails 10 031 vs 11 101holds
30 = 01 + 02 - 03 - 07 - 08 - 09 - 14 + 20 - 24 (current)fails 13 138 vs 2 325 690holds
56 = 01 + 02 (current)fails 256 959 vs 2 569 511holds
042: netto = brutto + korekcefails 14 233 vs 14 253holds
045: netto = brutto + korekcefails 25 vs 26holds
AKTIVA CELKEM 001 = PASIVA CELKEM 078 (prior year)holds fails 223 620 vs 228 364

An identity failing on the repaired scan marks a cell the OCR could not settle; all 7 remaining OCR errors are inside these.

Every row: scan, OCR and XML

77 rows
Statement rows with the scan, both OCR readings and the XML
ŘádPoložkaScanPage OCRRepairedXMLVerdict and OCR passes
001 AKTIVA CELKEM228228 364(corrected by the repair)(re-read)223 620sources disagree
OCR passes
  • Row code read as “001)”; placed on an exact code
  • Page OCR: “228”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “228364”
  • flagged; replaced by the re-reads
002A. Pohledávky za upsaný základní kapitál00(re-read)0matches XML
OCR passes
  • Row code read as “oe”, re-read “002”; placed on an exact code
  • Page OCR: “0”
  • Re-read x4, x5, x6: “”
  • Re-read x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; the re-reads kept the page OCR value
003B. Stálá aktiva111 144111 144(re-read)106 428sources disagree
OCR passes
  • Row code read as “003|”; placed on an exact code
  • Page OCR: “111 144]”
  • Re-read x4, x5, x8, x6, binarised at 160: “111144”
  • Re-read x6: “”
  • Re-read x4, binarised at 160: “111143”
  • flagged; the re-reads kept the page OCR value
004B.I. Dlouhodobý nehmotný majetek9 5011 959(corrected by the repair)(re-read)1 959matches XML
OCR passes
  • Row code read as “004)”; placed on an exact code
  • Page OCR: “950] 1”
  • Re-read x4, x6, x8, x4, binarised at 160, x6, binarised at 160: “1959”
  • Re-read x5: “”
  • flagged; replaced by the re-reads
005B.I.1 Nehmotné výsledky vývoje—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “005”; placed on an exact code
  • Page OCR: “o”
  • Re-read x4, x5, x6, x8: “0”
  • Re-read x4, binarised at 160: “c”
  • Re-read x6, binarised at 160: “C”
  • flagged; replaced by the re-reads
006B.I.2 Ocenitelná práva1 9591 959(re-read)1 959matches XML
OCR passes
  • Row code read as “006”; placed on an exact code
  • Page OCR: “1 959”
  • Re-read x4, x5, x6, x8: “”
  • Re-read x4, binarised at 160: “195”
  • Re-read x6, binarised at 160: “1959”
  • flagged; re-reads disagreed, the identities chose
007B.I.2.1 Software9 5511 959(corrected by the repair)(re-read)1 959matches XML
OCR passes
  • Row code read as “oo7|”; placed on an exact code
  • Page OCR: “955] 1”
  • Re-read x4, x5: “-”
  • Re-read x6, x8: “”
  • Re-read x4, binarised at 160: “1959”
  • Re-read x6, binarised at 160: “155”
  • flagged; re-reads disagreed, the identities chose
008B.I.2.2 Ostatní ocenitelná práva—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “008”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x6, binarised at 160: “0”
  • Re-read x4, binarised at 160: “6”
  • flagged; replaced by the re-reads
009B.I.3 Goodwill (+/-)—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “00”; placed on a near code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
010B.I.4 Ostatní dlouhodobý nehmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “010”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • Re-read x6: “.”
  • flagged; replaced by the re-reads
011B.I.5 Poskytnuté zálohy na dlouhodobý nehmotný majetek a nedokončený dlouhodobý nehmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “011”; placed on an exact code
  • Page OCR: “o”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
012B.I.5.1 Poskytnuté zálohy na dlouhodobý nehmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “niž”, re-read “012”; placed on an exact code
  • Page OCR: “ol”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
013B.I.5.2 Nedokončený dlouhodobý nehmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “013”; placed on an exact code
  • Page OCR: “ol”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
014B.II. Dlouhodobý hmotný majetek96398 983(corrected by the repair)(re-read)94 267sources disagree
OCR passes
  • Row code read as “014]”; placed on an exact code
  • Page OCR: “se 963)”
  • Re-read x4, x6, x8: “”
  • Re-read x5, x6, binarised at 160: “989683”
  • Re-read x4, binarised at 160: “98983”
  • flagged; re-reads disagreed, the identities chose
015B.II.1 Pozemky a stavby44 00844 805(corrected by the repair)(re-read)42 750sources disagree
OCR passes
  • Row code read as “015]”; placed on an exact code
  • Page OCR: “44008)”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “44805”
  • flagged; replaced by the re-reads
016B.II.1.1 Pozemky4 1234 123(re-read)4 123matches XML
OCR passes
  • Row code read as “016”; placed on an exact code
  • Page OCR: “4123”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “4123”
  • flagged; the re-reads kept the page OCR value
017B.II.1.2 Stavby40 68240 682(re-read)38 627sources disagree
OCR passes
  • Row code read as “017]”; placed on an exact code
  • Page OCR: “40 682”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “40682”
  • flagged; the re-reads kept the page OCR value
018B.II.2 Hmotné movité věci a jejich soubory14 10014 100(re-read)14 100matches XML
OCR passes
  • Row code read as “018]”; placed on an exact code
  • Page OCR: “14 100”
  • Re-read x4, x5, x6, x8, x4, binarised at 160: “14100”
  • Re-read x6, binarised at 160: “1410”
  • flagged; the re-reads kept the page OCR value
019B.II.3 Oceňovací rozdíl k nabytému majetku339 910(corrected by the repair)(re-read)37 249sources disagree
OCR passes
  • Row code read as “v1]”, re-read “019”; placed on an exact code
  • Page OCR: “3am”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “39910”
  • flagged; replaced by the re-reads
020B.II.4 Ostatní dlouhodobý hmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “020”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
021B.II.4.1 Pěstitelské celky trvalých porostů—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “021”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
022B.II.4.2 Dospělá zvířata a jejich skupiny—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “022”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x4, binarised at 160, x6, binarised at 160: “0”
  • Re-read x5: “°”
  • Re-read x6, x8: “c”
  • flagged; replaced by the re-reads
023B.II.4.3 Jiný dlouhodobý hmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “023”; placed on an exact code
  • Page OCR: “qf”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
024B.II.5 Poskytnuté zálohy na dlouhodobý hmotný majetek a nedokončený dlouhodobý hmotný majetek—168(corrected by the repair)(re-read)168matches XML
OCR passes
  • Row code read as “ry”, re-read “024”; placed on an exact code
  • Page OCR: “ee]”
  • Re-read x4, x6, x8: “”
  • Re-read x5, x4, binarised at 160, x6, binarised at 160: “168”
  • flagged; replaced by the re-reads
025B.II.5.1 Poskytnuté zálohy na dlouhodobý hmotný majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “025”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
026B.II.5.2 Nedokončený dlouhodobý hmotný majetek188168(corrected by the repair)(re-read)168matches XML
OCR passes
  • Row code read as “026”; placed on an exact code
  • Page OCR: “188]”
  • Re-read x4: “”
  • Re-read x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “168”
  • flagged; replaced by the re-reads
027B.III. Dlouhodobý finanční majetek10 20210 202(re-read)10 202matches XML
OCR passes
  • Row code read as “027|”; placed on an exact code
  • Page OCR: “10202”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “10202”
  • flagged; the re-reads kept the page OCR value
028B.III.1 Podíly – ovládaná nebo ovládající osoba202202202matches XML
OCR passes
  • Row code read as “028”; placed on an exact code
  • Page OCR: “202]”
  • page OCR, no identity pointed at it
029B.III.2 Zápůjčky a úvěry – ovládaná nebo ovládající osoba—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “axa”, re-read “029”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
030B.III.3 Podíly – podstatný vliv—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “030”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
031B.III.4 Zápůjčky a úvěry – podstatný vliv—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “031”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
032B.III.5 Ostatní dlouhodobé cenné papíry a podíly—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “032”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
033B.III.6 Zápůjčky a úvěry – ostatní—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “033”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
034B.III.7 Ostatní dlouhodobý finanční majetek10 00010 000(re-read)10 000matches XML
OCR passes
  • Row code read as “oa4|”, re-read “034”; placed on an exact code
  • Page OCR: “10000]”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “10000”
  • flagged; the re-reads kept the page OCR value
035B.III.7.1 Jiný dlouhodobý finanční majetek1010 000(corrected by the repair)(re-read)10 000matches XML
OCR passes
  • Row code read as “035]”; placed on an exact code
  • Page OCR: “10”
  • Re-read x4: “1000”
  • Re-read x5, x6, x8: “10000”
  • Re-read x4, binarised at 160, x6, binarised at 160: “100”
  • flagged; replaced by the re-reads
036B.III.7.2 Poskytnuté zálohy na dlouhodobý finanční majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “036”; placed on an exact code
  • Page OCR: “=”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
037C. Oběžná aktiva—116 838(corrected by the repair)(re-read)116 810sources disagree
OCR passes
  • Row code read as “037|”; placed on an exact code
  • Page OCR: “3a) 116”
  • Re-read x4, x8: “”
  • Re-read x5, x6, x6, binarised at 160: “116838”
  • Re-read x4, binarised at 160: “116834”
  • flagged; replaced by the re-reads
038C.I. Zásoby56 05756 057(re-read)56 057matches XML
OCR passes
  • Row code read as “038]”; placed on an exact code
  • Page OCR: “56057”
  • Re-read x4, x5, x6, x8, x4, binarised at 160: “56057”
  • Re-read x6, binarised at 160: “36057”
  • flagged; the re-reads kept the page OCR value
039C.I.1 Materiál15 04815 04815 048matches XML
OCR passes
  • Row code read as “p39]”; placed on a near code
  • Page OCR: “15 048}”
  • page OCR, no identity pointed at it
040C.I.2 Nedokončená výroba a polotovary—15 768(corrected by the repair)(re-read)15 768matches XML
OCR passes
  • Row code read as “pen|”, re-read “040”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “15768”
  • flagged; replaced by the re-reads
041C.I.3 Výrobky a zboží—25 241(corrected by the repair)(re-read)25 241matches XML
OCR passes
  • Row code read as “pet]”, re-read “041”; placed on an exact code
  • Page OCR: “i 2s2an”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “25241”
  • flagged; replaced by the re-reads
042C.I.3.1 Výrobky2 52125 241(corrected by the repair)(re-read)25 241matches XML
OCR passes
  • Row code read as “o42|”; placed on an exact code
  • Page OCR: “| 2521)”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “25241”
  • flagged; replaced by the re-reads
043C.I.3.2 Zboží—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “043”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8: “0”
  • Re-read x4, binarised at 160: “¢”
  • Re-read x6, binarised at 160: “C”
  • flagged; replaced by the re-reads
044C.I.4 Mladá a ostatní zvířata a jejich skupiny—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “044”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8: “0”
  • Re-read x4, binarised at 160: “<”
  • Re-read x6, binarised at 160: “¢”
  • flagged; replaced by the re-reads
045C.I.5 Poskytnuté zálohy na zásoby—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “045”; placed on an exact code
  • Page OCR: “i]”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
046C.II. Pohledávky—50 079(corrected by the repair)(re-read)50 051sources disagree
OCR passes
  • Row code read as “oas|”, re-read “212”; placed by position between anchored rows
  • Page OCR: “soo”
  • Re-read x4, x5, x6, x8: “50079”
  • Re-read x4, binarised at 160, x6, binarised at 160: “0079”
  • flagged; replaced by the re-reads
047C.II.1 Dlouhodobé pohledávky—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “naz|”, re-read “047”; placed on an exact code
  • Page OCR: “ol”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
048C.II.1.1 Pohledávky z obchodních vztahů—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “04a”; placed on a near code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
049C.II.1.2 Pohledávky – ovládaná nebo ovládající osoba—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “pas]”, re-read “049”; placed on an exact code
  • Page OCR: “a”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
050C.II.1.3 Pohledávky – podstatný vliv—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “050”; placed on an exact code
  • Page OCR: “ol”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
051C.II.1.4 Odložená daňová pohledávka—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “051”; placed on an exact code
  • Page OCR: “ol”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
052C.II.1.5 Pohledávky – ostatní—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “052”; placed on an exact code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
053C.II.1.5.1 Pohledávky za společníky—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “053”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
054C.II.1.5.2 Dlouhodobé poskytnuté zálohy—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “054”; placed on an exact code
  • Page OCR: “o”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
055C.II.1.5.3 Dohadné účty aktivní000matches XML
OCR passes
  • Row code read as “055”; placed on an exact code
  • Page OCR: “0”
  • page OCR, no identity pointed at it
056C.II.1.5.4 Jiné pohledávky—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “056”; placed on an exact code
  • Page OCR: “o”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
057C.II.2 Krátkodobé pohledávky50 07950 07950 051sources disagree
OCR passes
  • Row code read as “gs7|”, re-read “057”; placed on an exact code
  • Page OCR: “50 079}”
  • page OCR, no identity pointed at it
058C.II.2.1 Pohledávky z obchodních vztahů36 76536 76536 765matches XML
OCR passes
  • Row code read as “osa|”; placed by position between anchored rows
  • Page OCR: “36765”
  • page OCR, no identity pointed at it
059C.II.2.2 Pohledávky – ovládaná nebo ovládající osoba10 57010 57010 570matches XML
OCR passes
  • Row code read as “059”; placed on an exact code
  • Page OCR: “10 570”
  • page OCR, no identity pointed at it
060C.II.2.3 Pohledávky – podstatný vliv000matches XML
OCR passes
  • Row code read as “060”; placed on an exact code
  • Page OCR: “0”
  • page OCR, no identity pointed at it
061C.II.2.4 Pohledávky – ostatní2 7442 744(re-read)2 716sources disagree
OCR passes
  • Row code read as “061”; placed on an exact code
  • Page OCR: “2744”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “2744”
  • flagged; the re-reads kept the page OCR value
062C.II.2.4.1 Pohledávky za společníky—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “0&2”; placed on a near code
  • Page OCR: “of”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
063C.II.2.4.2 Sociální zabezpečení a zdravotní pojištění—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “ex)”, re-read “063”; placed on an exact code
  • Page OCR: “o|”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
064C.II.2.4.3 Stát – daňové pohledávky—2 245(corrected by the repair)(re-read)2 245matches XML
OCR passes
  • Row code read as “084”; placed on a near code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “2245”
  • flagged; replaced by the re-reads
065C.II.2.4.4 Krátkodobé poskytnuté zálohy22 155195(corrected by the repair)(re-read)195matches XML
OCR passes
  • Row code read as “065”; placed on an exact code
  • Page OCR: “22 155”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “195”
  • flagged; replaced by the re-reads
066C.II.2.4.5 Dohadné účty aktivní—28(corrected by the repair)(re-read)0sources disagree
OCR passes
  • Row code read as “DES”, re-read “056”; placed on a near code
  • Page OCR: “za]”
  • Re-read x4, x5, x6, x8, x4, binarised at 160: “28”
  • Re-read x6, binarised at 160: “”
  • flagged; replaced by the re-reads
067C.II.2.4.6 Jiné pohledávky278276(corrected by the repair)(re-read)276matches XML
OCR passes
  • Row code read as “067”; placed on an exact code
  • Page OCR: “278|”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “276”
  • flagged; replaced by the re-reads
068C.III. Krátkodobý finanční majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “AA”; placed by position between anchored rows
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
069C.III.1 Podíly – ovládaná nebo ovládající osoba—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “Dag”; placed by position between anchored rows
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
070C.III.2 Ostatní krátkodobý finanční majetek—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “070”; placed on an exact code
  • Page OCR: “|]”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
071C.IV. Peněžní prostředky1010 702(corrected by the repair)(re-read)10 702matches XML
OCR passes
  • Row code read as “oT”, re-read “071”; placed on an exact code
  • Page OCR: “10”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “10702”
  • flagged; replaced by the re-reads
072C.IV.1 Peněžní prostředky v pokladně—38(corrected by the repair)(re-read)38matches XML
OCR passes
  • Row code read as “úřž”, re-read “072”; placed on an exact code
  • Page OCR: “”
  • Re-read x4: “KJ”
  • Re-read x5: “38”
  • Re-read x6, x8: “3”
  • Re-read x4, binarised at 160: “3e”
  • Re-read x6, binarised at 160: “K2”
  • flagged; re-reads disagreed, the identities chose
073C.IV.2 Peněžní prostředky na účtech1010 664(corrected by the repair)(re-read)10 664matches XML
OCR passes
  • Row code read as “ga”, re-read “073”; placed on an exact code
  • Page OCR: “M 10”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “10664”
  • flagged; replaced by the re-reads
074D. Časové rozlišení aktiv2382(corrected by the repair)(re-read)382matches XML
OCR passes
  • Row code read as “E”, re-read “074”; placed on an exact code
  • Page OCR: “a2]”
  • Re-read x4, x5, x6, x4, binarised at 160, x6, binarised at 160: “382”
  • Re-read x8: “”
  • flagged; replaced by the re-reads
075D.1 Náklady příštích období—382(corrected by the repair)(re-read)382matches XML
OCR passes
  • Row code read as “075]”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x8, x4, binarised at 160, x6, binarised at 160: “382”
  • Re-read x6: “”
  • flagged; replaced by the re-reads
076D.2 Komplexní náklady příštích období—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “076”; placed on an exact code
  • Page OCR: “r”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads
077D.3 Příjmy příštích období—0(corrected by the repair)(re-read)0matches XML
OCR passes
  • Row code read as “077”; placed on an exact code
  • Page OCR: “”
  • Re-read x4, x5, x6, x8, x4, binarised at 160, x6, binarised at 160: “0”
  • flagged; replaced by the re-reads

Red: differs from the reference (the XML, or the printed value where the sources disagree). Green with ✓: corrected by the repair. Italic XML values are rows the XML omits (it leaves out zero rows), read as 0. * the cell was re-read because an identity pointed at it; open “OCR passes” in a row for every reading of the cell and of its row code.

Method

  • Page OCR: Tesseract psm 3, ces+eng on the page rendered at 300 dpi (the same parser as the synthetic room).
  • Re-reads: crops of the embedded image upscaled x4; x5; x6; x8; x4, binarised at 160; x6, binarised at 160, one line of digits each. The scan is about 72 dpi, so rendering the PDF at a higher resolution would add nothing.
  • Pages are found by matching each page's OCR text against the statements' row labels and kept only if they carry the statement's ruled form.
  • Rows are anchored on the printed row code (řád): the page OCR's code when it reads cleanly, otherwise a re-read of the code cell, aligned to the vyhláška 500 row order.
  • Every value is first read by the page OCR. Cells that a failing or unreadable identity points at are re-read from crops of the embedded page image, repeated while new cells are pointed at; disagreeing re-reads are settled by the identities, choosing only among values some OCR pass produced.
  • Korekce is printed as a deduction, so a re-read that lost its minus sign is negated; no other sign is changed.
  • The XML is never used to choose a value. A reading that differs from the XML counts as a source disagreement only if every identity through it holds on the scan's own values and two OCR passes or two identities back it; otherwise it counts as an OCR error.
  • No vision model and no API was used for this page: everything runs offline with Tesseract and is cached, so make czech reproduces it.

Also checked: XML aktiva row 78 has no printed counterpart (brutto 0, korekce 0, netto 0, netto_prior 0). XML pasiva row 67 has no printed counterpart (current 0, prior 0).

Source: Sbírka listin, veřejný rejstřík (or.justice.cz), filing record https://or.justice.cz/ias/ui/vypis-sl-detail?dokument=87344310&subjektId=949174&spis=1403435. Public documents of Strojírny Prostějov s.r.o., shown for research. No affiliation with the company; synthetic documents are never attached to it. Takedown requests are honoured.