# ClientFlow v4.9.13 — Apply Reconstructed Process to Opportunity Pipeline

## Objetivo

A Reconciliação já conseguia reconstruir um processo a partir de evidências externas, por exemplo:

- venda Odoo `S00274`;
- linhas/produtos da venda;
- produções Odoo concluídas;
- delivery `WH/OUT/00295` concluído;
- `invoice_status = to invoice`.

A v4.9.13 fecha a etapa seguinte: quando o operador liga o processo reconstruído a uma oportunidade, o ClientFlow deixa de criar apenas uma ligação solta e passa a aplicar o estado reconstruído à oportunidade.

## O que muda

Ao confirmar **Ligar processo à oportunidade**, o sistema passa a:

1. ligar os reconciliation items à oportunidade;
2. criar eventos na timeline da oportunidade;
3. criar/atualizar links operacionais Odoo;
4. importar linhas Odoo para os produtos da oportunidade;
5. atualizar o valor da oportunidade se ainda estiver a zero;
6. atualizar a fase visual para o estado reconstruído mais avançado;
7. garantir task `SEND_INVOICE` quando a venda/entrega está feita e a fatura está por emitir.

## Caso Elegantlegacy

Para a venda Odoo `S00274`, o resultado esperado depois de ligar à oportunidade é:

- Valor: `537,00 €`;
- Produtos:
  - Wallbox 7.4KW;
  - Wallbox 11KW;
  - Wallbox 22KW;
- Odoo:
  - venda `S00274` criada;
  - produção concluída;
  - estado físico `shipped`;
  - validação física/entrega concluída;
- Timeline:
  - venda/encomenda encontrada no Odoo;
  - linhas/produtos importados;
  - entrega Odoo concluída;
  - fatura por emitir;
- Próxima ação: `SEND_INVOICE`.

A linha de transporte Odoo com valor zero fica no payload operacional, mas não é importada como linha comercial da oportunidade.

## Janela da Reconciliação

A página `/reconciliation` passa a aceitar janela via query string:

```text
/reconciliation?days=7
/reconciliation?days=30
```

A UI mostra botões rápidos:

- Hoje;
- 3 dias;
- 7 dias;
- 30 dias.

As ações de sincronização e limpeza respeitam a janela ativa.

## Segurança

Esta versão continua conservadora:

- não confirma pagamentos automaticamente;
- não emite faturas automaticamente;
- não fecha oportunidades;
- não altera Odoo/Jasmin/Packlink;
- apenas aplica evidências externas depois da confirmação do operador.

