Deep neural network to extract structured information from invoice documents with a customizable UI and training tools.
InvoiceNet is a deep neural network system that extracts structured information like vendor names, dates, and amounts from invoice documents. It solves the problem of manual invoice data entry by automating extraction with customizable models. The project includes tools for training on user-specific datasets and a GUI for easy interaction.
Developers and businesses needing to automate invoice processing, especially those with custom invoice formats or sensitive data requiring on-premise solutions.
It offers a self-hosted, customizable alternative to commercial invoice extraction services, with the unique ability to train models on private datasets via an intuitive UI.
Deep neural network to extract intelligent information from invoice documents.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows adding or removing invoice fields by editing a Python file, with pre-defined types for general text, amounts, dates, and optional fields as specified in the __init__.py instructions.
Provides a graphical interface (trainer.py) to train models on custom datasets without coding, enabling users to prepare data and start training with clicks.
Supports both GUI and CLI for data preparation, training, and extraction, offering flexibility for different workflows, such as batch processing via predict.py.
Handles PDF, JPG, and PNG invoice formats, with integrated OCR for text extraction, though OCR engine customization requires code changes as noted.
The README's disclaimer states that pre-trained models for general invoice fields are not available, forcing users to train from scratch on their own data.
Installation on Windows 10 requires manual steps like installing Tesseract, ImageMagick, and Ghostscript separately, which can be error-prone and time-consuming.
Relies on CUDA and specific TensorFlow versions, making training impractical for environments without GPU support or limited computational power.
The predict.py note mentions changing the OCR engine in code, but provides minimal guidance, complicating customization for different document types.