Ethiopia HR Documents
Production-focused employee document workflow for Odoo 18: capture records manually or through OCR, review extracted data with strict controls, and synchronize only trusted values to employee profiles.
📄 Odoo 18 Ready
✏️ Manual + OCR
✅ Mandatory Verification
⚡ Native Processing
🔒 Multi-company Security
👁️ Google Vision + Tesseract
What This Module Solves
HR teams often store documents but cannot safely transform document content into trusted employee data. This module provides a controlled lifecycle so extracted data is reviewed before it affects core HR records.
📌 Result: faster data capture with lower risk, stronger compliance, and better auditability.
Operational Workflow
- 1. 📎 Upload document or enter values manually
- 2. 🤖 Run OCR with the configured provider (synchronous)
- 3. 📝 Parse extraction output into document fields
- 4. ✅ Review and verify the record
- 5. 💾 Synchronize approved values to employee profile
⚠️ OCR-extracted records cannot sync until verification is complete.
⏱️ Performance Note: OCR runs synchronously. For large documents or batch processing, consider running during off-peak hours or using a cron job.
Core Capabilities
- ✓ Document-type aware validation and structured storage
- ✓ Manual data entry and OCR-driven extraction workflows
- ✓ Post-OCR parsing into reusable business fields
- ✓ Server-enforced review and verification before sync
- ✓ Employee sync with consistency checks
- ✓ HR-role access control with company-level visibility rules
- ✓ Self-contained module – no external queue dependencies
OCR Setup Checklist
- 1. Open Settings → General Settings → Text Extraction
- 2. Enable OCR and at least one provider
- 3. Select a default provider
- 4. Add
hr.documentto target models - 5. Configure provider requirements (Google credentials path or Poppler path)
- 6. Run test actions and process a sample document
Module Identity: Production-focused employee document workflow with OCR, mandatory verification, and controlled data sync for HR compliance.
📦
Dependencies and Production Notes
- ✓ Processing mode: Synchronous – runs within the main Odoo process
- ✓ Recommended for production: Process documents during off-peak hours
- ✓ Scalability: Use cron jobs for automated batch processing
📌 External tools required: Poppler (pdf2image) and Tesseract OCR (pytesseract) – optional if using Google Vision or Doctr
💡 Performance Tip: For large volumes, configure the Odoo server with adequate memory (16GB+ recommended) and adjust timeout settings in the OCR configuration.
🚀
Quick Start Commands
Python Dependencies:
SpaCy Model (Large - Best Accuracy):
Verify Installation:
Poppler (External - Optional): Extract to
Tesseract (External - Optional): Install to
"C:\Program Files\Odoo 18\python\python.exe" -m pip install pdf2image pytesseract opencv-python PyPDF2 PyMuPDF python-doctr torch torchvision spacy google-cloud-vision presidio-analyzer presidio-anonymizerSpaCy Model (Large - Best Accuracy):
"C:\Program Files\Odoo 18\python\python.exe" -m spacy download en_core_web_lgVerify Installation:
"C:\Program Files\Odoo 18\python\python.exe" -c "import pdf2image, pytesseract, cv2, torch, spacy, doctr, fitz; print('✓ All dependencies OK')"Poppler (External - Optional): Extract to
C:\poppler and add C:\poppler\Library\bin to PATHTesseract (External - Optional): Install to
C:\Program Files\Tesseract-OCR and add to PATH
⚠️
Common OCR Error Guidance
| Error Code | Meaning | Action |
|---|---|---|
OCR_DISABLED_COMPANY | OCR disabled in company settings | Enable OCR in settings |
PROVIDER_NOT_CONFIGURED | No default provider configured | Set provider in OCR settings |
GOOGLE_CREDENTIALS_MISSING | Google credentials path missing | Provide service account JSON path and set GOOGLE_APPLICATION_CREDENTIALS env variable |
POPPLER_PATH_MISSING | Poppler path missing for PDF OCR | Configure Poppler path or install Poppler and add to PATH |
TESSERACT_NOT_FOUND | Tesseract executable not in PATH | Install Tesseract and add to system PATH, then restart Odoo |
TIMEOUT | Provider call timed out | Retry and review timeout settings |
UNSUPPORTED_FORMAT | Unsupported document format | Upload a supported file type (PDF, PNG, JPG, JPEG) |
📋
Installation Overview
1. Install Python dependencies from requirements.txt
2. Install optional external tools (Poppler, Tesseract) if using those providers
3. Configure Google Vision credentials if using that provider
4. Copy module to custom addons and update addons_path
5. Install
6. Configure OCR settings in General Settings
2. Install optional external tools (Poppler, Tesseract) if using those providers
3. Configure Google Vision credentials if using that provider
4. Copy module to custom addons and update addons_path
5. Install
ethiopia_hris_document6. Configure OCR settings in General Settings
✅ No external queue module required – all processing runs natively within Odoo.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 29279 |
| Technical Name |
ethiopia_hris_document |
| License | OPL-1 |
| Website | mailto:abuassefa795@gmail.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module