# ClientFlow v4.9.8 — Reconciliation Matching & Board Cleanup

## Objetivo

Melhorar a reconciliação para ser uma fila curta e útil, e limpar a board de oportunidades de ruído antigo.

## Alterações

- A janela "últimos 3 dias" passa a significar hoje + dois dias anteriores.
- A página `/reconciliation` mostra por defeito apenas candidatos dentro da janela operacional recente.
- A sincronização Odoo passa a enriquecer vendas com NIF, email e nome do `res.partner` quando disponível.
- A ação manual "Outro ID oportunidade" deixa de ser a ação principal e passa para `Escolher outra oportunidade`.
- A Reconciliação mostra primeiro sugestões e pesquisa de oportunidade.
- A board de oportunidades passa a ocultar oportunidades de ruído técnico como `Mail Delivery Subsystem`, `postmaster`, `mailer-daemon`, bounces/NDR.
- A coluna visual da board pode ser ajustada pela próxima ação pendente: fatura/pró-forma/pagamento aparecem em pagamento; encomenda/envio aparecem em operação/logística.

## O que não muda

- Não cria oportunidades automaticamente.
- Não liga documentos automaticamente.
- Não confirma pagamentos.
- Não altera documentos Jasmin/Odoo/Packlink.
- Não apaga dados externos.

## Comandos recomendados

```bash
PYTHONPATH=. python -m compileall app scripts tests
PYTHONPATH=. pytest -q
PYTHONPATH=. python scripts/cleanup_stale_reconciliation_items.py --days 3 --apply
PYTHONPATH=. python scripts/sync_external_reconciliation.py --jasmin --days 3 --limit 50
PYTHONPATH=. python scripts/sync_external_reconciliation.py --odoo --days 3 --limit 50
```

Evitar `--all` se Packlink ainda estiver com erro 401.
