
For a government body in Italy we built SolidaNetwork, an AI document processing and tax evaluation system. Citizens upload their payroll and income documents once through the IRIS portal. The engine recognises each document’s layout, reads the values, builds clean spreadsheets and applies the payroll and income-tax rules to produce an automatic evaluation.
The client
The client is a public-sector tax administration body in Italy. Its name is withheld.
Citizens reach the system through IRIS, the body’s upload portal, and the reading engine runs as a separate service that the portal calls. Keeping the engine separate means the portal and the reading logic can change independently.
The project is a good example of what document automation needs in practice. The hard part is rarely the tax rule itself. It is getting trustworthy numbers out of documents that were never designed to be read by a machine, and refusing to guess when a document does not match anything the system knows.
The problem
The body could not evaluate tax from citizens’ payroll documents, for three reasons:
- Too many layouts. Employers and payroll packages print payslips differently, so no single template fits.
- Numbers locked in PDFs. Retyping amounts was slow, costly and prone to error.
- Rules need clean data. Tax rules only work on reliably labelled values, which the body did not have at scale.
What we built
One upload point
Citizens submit all of their documents through IRIS.
Eight document families
The engine is configured for payslips (busta paga), Certificazione Unica, income tax returns (Redditi), tax collection notices (cartella), bank statements, credit reports (CRIF), credit-register extracts (centrale rischi) and protest searches (visura protesti). New families are added as new configurations.
Layout recognition
By checking the top lines of the first pages, the engine matches a document to one of 12 known layout variants across payslips, tax returns, Certificazione Unica and protest searches.
Layout-aware reading and rule-based extraction
Words are read with their page coordinates and grouped into lines and, for payslips, blocks. Each family has its own rules: label and pattern matching, values between two printed markers, values above or below a label, and combined fields. Because the rules live in configuration, a layout change is a rule edit.
Tables and spreadsheet output
For bank statements, collection notices and credit-register extracts the engine rebuilds rows and columns, normalises amounts and removes duplicate rows. Each document becomes an Excel workbook with named fields in order and tables on separate sheets.
Tax evaluation and guardrails
Payroll and income-tax rules run on the structured data to produce the evaluation. Only PDFs are accepted, unknown layouts are reported as new templates rather than guessed, unconfigured types are refused with a message, and missing fields are left blank, never invented. See our document and OCR automation service.
Technology
Python with Flask for the web service, PyMuPDF for PDF reading, and pandas with openpyxl for the Excel output.
How it works
- Upload: the citizen submits documents through IRIS.
- Recognise: the engine matches each document to a known layout.
- Read: words are read with their positions on the page.
- Extract: rules pull out fields and tables.
- Evaluate: tax rules run on the structured data.
- Manage: evaluations are kept in one system for tracking.
What changed
- Citizens upload once through IRIS.
- Tax is evaluated automatically from the documents.
- The body receives structured, spreadsheet-ready data and manages submissions and evaluated taxes in one system.
Pipeline diagrams we show for this project use sample layouts. No real documents, people or amounts are shown.
Key facts
| Client | A tax administration body in Italy (name withheld) |
|---|---|
| Document families | 8 |
| Layout variants recognised | 12, across four families |
| Fields mapped on one document type | 100+ |
| Stack | Python, Flask, PyMuPDF, pandas, openpyxl |
| Output | Excel workbooks and automatic tax evaluation |
Questions
What is AI document processing?
It is software that reads documents such as payslips and tax forms, turns their contents into structured data, and lets rules or models act on that data automatically.
Does SolidaNetwork use OCR?
It reads the text layer of digital PDFs. Scanned documents need an OCR step, which we add when a project requires it.
What happens with an unknown layout?
The document is flagged as a new template instead of being guessed at, and fields that are not found are left blank.
Which documents does it read?
Payslips, Certificazione Unica, income tax returns, tax collection notices, bank statements, credit reports, credit-register extracts and protest searches.
Can a similar system be built for Pakistan?
Yes, for government or tax bodies and for businesses that process many documents. See our AI solutions.
Need something similar? Tell us how your team works today and we will scope it with you. Contact Ezitech or WhatsApp us, 24/7. Our office is at #304-G Amna Plaza, Main Peshawar Road, Rawalpindi.
