> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Status Reconciliation

> Rotina que reconcilia transferências pendentes com o provider de billing

Transfer Status Reconciliation é a rotina periódica que corrige drift entre [Transfer](/data-modelling/billing/transfer) e o provider de billing.

## Objetivo

A rotina garante que saques pendentes ou em processamento sejam atualizados mesmo quando o webhook de resultado atrasar ou falhar.

## Execução

Ao rodar, a rotina:

1. Busca transferências com `status = PENDING` ou `status = PROCESSING`.
2. Consulta o provider usando `externalProvider` e `externalProviderId`.
3. Atualiza `status` para `PAID`, `FAILED` ou `CANCELED`, quando o provider indicar status terminal.
4. Preenche `transferredAt` quando a transferência for efetivada.

## Regras

| Regra             | Comportamento                                                                    |
| ----------------- | -------------------------------------------------------------------------------- |
| Fonte externa     | O provider é a fonte de verdade para o resultado da transferência.               |
| Estados terminais | Transferências `PAID`, `FAILED` ou `CANCELED` não são reconciliadas novamente.   |
| Saldo             | A rotina não calcula saldo disponível; saldo continua vindo do provider.         |
| Idempotência      | A mesma transferência pode ser consultada mais de uma vez sem duplicar mutações. |
| Escopo            | A rotina atua apenas em transferências persistidas no DEVMOB.                    |
