Files
Claude Agent 1366dbc11c feat: Add WhatsApp import scripts for receipt processing
- OCR client for SQLite queue
- WhatsApp flow: PDF -> OCR -> SQLite -> Oracle
- PACK_CONTAFIN integration for Oracle save
- README with flux documentation
2026-02-03 15:33:22 +00:00

93 lines
2.5 KiB
Markdown

# 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*