# WhatsApp Import - Flux Bonuri Fiscale ## Descriere Scripturi pentru importul automat al bonurilor fiscale primite pe WhatsApp. ## Flux Complet ``` PDF (WhatsApp) --> OCR API (doctr+, ~4sec) --> SQLite (receipts) --> Oracle (ACT) ``` ## Pași ### 1. Recepție PDF (Clawdbot pe moltbot) - PDF primit pe WhatsApp ajunge în `~/.clawdbot/media/inbound/` - Clawdbot detectează fișierul și pornește procesarea ### 2. OCR prin API (claude-agent:8000) ```bash # Login TOKEN=$(curl -s -X POST "http://localhost:8000/api/auth/login" \ -H "Content-Type: application/json" \ -d '{"username":"USER","password":"PASS","server_id":"central"}' \ | jq -r .access_token) # Submit OCR job JOB=$(curl -s -X POST "http://localhost:8000/api/data-entry/ocr/extract" \ -H "Authorization: Bearer $TOKEN" \ -F "file=@bon.pdf" | jq -r .job_id) # Wait for result (~4 sec) sleep 5 curl -s "http://localhost:8000/api/data-entry/ocr/jobs/$JOB" \ -H "Authorization: Bearer $TOKEN" ``` ### 3. Creare Receipt în SQLite ```bash curl -s -X POST "http://localhost:8000/api/data-entry/receipts/" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "receipt_type": "bon_fiscal", "receipt_number": "NR_BON", "receipt_date": "YYYY-MM-DD", "amount": 123.45, "partner_name": "FURNIZOR", "cui": "RO12345678", "tva_total": 23.45, "payment_mode": "banca", "company_id": 110 }' ``` ### 4. Aprobare în Frontend - User verifică în http://claude-agent:3000/data-entry - Editează dacă e necesar - Aprobă bonul ### 5. Salvare Oracle (după aprobare) - API-ul face automat salvarea în Oracle via PACK_CONTAFIN - Sau manual cu `save_to_oracle.py` ## Scripturi | Script | Descriere | |--------|-----------| | `ocr_client.py` | Client OCR - submit job în SQLite queue | | `whatsapp_flow.py` | Flux complet: OCR + SQLite + Oracle | | `process_v2.py` | OCR + PACK_CONTAFIN (direct, fără API) | | `save_to_oracle.py` | Doar salvare Oracle cu PACK_CONTAFIN | ## Configurare ### Server OCR (claude-agent) - Backend: http://localhost:8000 - Frontend: http://localhost:3000 - Start: `./start.sh test` sau `./start.sh central` ### Credențiale - User: din CONTAFIN_ORACLE.NOM_UTILIZATORI - Server: `central` (sau ce e configurat în .env) - Company ID: din token după login ## Note - OCR folosește doctr-plus (~4 sec per bon) - Bonurile apar în frontend cu status "draft" - Salvarea Oracle se face după aprobare - Fluxul e asincron - OCR rulează în background --- *Creat: 2026-02-03 de Echo*