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