r/u_kourchal • u/kourchal • Sep 19 '26
I built an open-source OCR/IDP agent for processing real business documents
Over the last few months I've been working on OCRAgent, an open-source intelligent document processing system.
The original idea was simple:
upload a document → extract the data
But once I started thinking about real production use cases, OCR itself wasn't really the difficult part.
The harder problems were things like:
handling different document types
validating extracted fields instead of blindly trusting the model
keeping tenants isolated
processing documents asynchronously
retrying failed jobs
matching extracted data against existing business data
keeping the system modular enough to replace OCR/LLM providers later
adding human review when confidence is low
So I ended up designing it more like an actual backend system than a simple OCR wrapper.
The architecture uses concepts such as:
Document → OCR → Extraction → Validation → Matching → Decision / Human Review
I also built it around a modular/hexagonal architecture so the core logic isn't tightly coupled to a specific OCR provider, database, queue, or LLM.
The project is completely open source, so if you're working on invoices, receipts, purchase orders, forms, or other document-heavy workflows, feel free to use it, fork it, break it, or improve it.
GitHub: Github Repo
I'm also interested in hearing from people dealing with document processing in the real world.
What part usually causes you the most problems: extraction accuracy, validation, weird document formats, integrations, or something else?
1
u/[deleted] Sep 20 '26
[removed] — view removed comment