Automatic data extraction from UK company financials is typically achieved using two main technologies: Optical Character Recognition (OCR) for scanned image-based PDFs and iXBRL parsers for modern digital filings. These methods identify and pull key data points, which are then structured (e.g., in JSON or a database) for analysis.
UK companies are required to file financial statements with Companies House, but this information is often locked in PDF documents. Manually transcribing this data is slow and error-prone. Automation solves this by programmatically reading these files.
What is the main challenge with UK company filings?
The primary challenge is the format. While modern filings use iXBRL (inline eXtensible Business Reporting Language), which embeds machine-readable tags in an HTML file, many historical or smaller-company filings are simply scanned images saved as PDFs. A simple text-scrape fails on these, and manual entry becomes the only option.
What are the main methods for automatic extraction?
There are two primary technical approaches for extracting financial data at scale:
- Optical Character Recognition (OCR): This technology is used for image-based PDFs. An OCR engine scans the document, “reads” the text, and converts it into a machine-readable format. Basic OCR just captures text; advanced AI-driven OCR can also understand the document’s layout (e.g., “This number is in the ‘Revenue’ row and ‘2023’ column”).
- iXBRL parsers: For modern digital filings, a parser is a piece of software that reads the iXBRL tags. Since these tags explicitly label data (e.g.,
<ix:nonNumeric name="uk-gaap:DateOfBalanceSheet">31 December 2023</ix:nonNumeric>), this method is extremely fast and accurate for the data it can access.
What are the key data points to extract?
An automated system is typically configured to find the core components of the three main financial statements:
- From the Income Statement (P&L):
- Turnover (Revenue)
- Cost of Goods Sold (COGS)
- Gross Profit
- EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortisation)
- Operating Profit (EBIT)
- Net Income (Profit After Tax)
- From the Balance Sheet:
- Total Current Assets
- Total Current Liabilities
- Total Assets
- Total Liabilities
- Shareholders’ Equity
- From the Cash Flow Statement:
- Cash Flow from Operations
- Cash Flow from Investing
- Cash Flow from Financing
What is the final step after extraction?
Raw, extracted data is not yet useful. The final and most critical step is structuring. An automated process will normalise the extracted data - mapping different labels (e.g., “Turnover” and “Sales”) to a single “Revenue” field - and output it in a structured format, such as a JSON object, a database entry, or via a REST or GraphQL API.