- The problem
- For each portfolio, every land registry extract (nota simple) has to be broken down into owners, property details and every charge on it (mortgages, liens, amounts, ranking) and entered into the client's spreadsheet, which has more than 120 columns per row.
- What we built
- An engine that processes batches of extracts in PDF. If the PDF contains text, there is no OCR: the model receives the transcription plus page images and returns the data in a fixed schema, with each amount tied to the passage it came from. Deterministic code then calculates totals, normalises dates and ID numbers, converts amounts written out in words and queries the Spanish Cadastre. The output is the client's own spreadsheet filled in, one row per charge, plus a report of cells worth reviewing. 1,603 extracts have been processed so far across four portfolios.
- The detail that made the difference
- In the first portfolio OCR only lost data in 2 of 176 documents; almost all the errors came from interpretation. For example, 34 of those 176 extracts gave amounts in both pesetas and euros, and the model picked the pesetas. In the latest portfolio, 320 extracts received and delivered on the same day, the client's review found 98.39% of cells correct. The most frequent error turned out to be a rule (a contract ID copied onto every charge) and it was fixed in code without calling the model again: 98.77%.