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

# Receivable

> Registros de recebíveis sincronizados do provider de billing

## Campos

| Campo                | Tipo               | Descrição                                                  |
| -------------------- | ------------------ | ---------------------------------------------------------- |
| `receivableId`       | `UUID`             | Identificador único                                        |
| `paymentId`          | `UUID`             | Referência ao pagamento que originou o recebível           |
| `organizationId`     | `UUID`             | Referência à organização da empresa beneficiária           |
| `companyId`          | `UUID`             | Referência à empresa beneficiária                          |
| `externalProvider`   | `String`           | Nome do provedor externo                                   |
| `externalProviderId` | `String`           | ID da transação no provedor externo                        |
| `amount`             | `Int`              | Valor do recebível em centavos                             |
| `gatewayFeeRate`     | `Int`              | Rate dinâmico inferido do webhook em basis points          |
| `gatewayFee`         | `Int`              | Valor absoluto em centavos recebido via webhook do gateway |
| `status`             | `ReceivableStatus` | Status do recebível                                        |
| `createdBy`          | `UUID?`            | Usuário que criou o registro, quando aplicável             |
| `createdAt`          | `DateTime`         | Data de criação                                            |
| `updatedBy`          | `UUID?`            | Usuário que fez a última atualização, quando aplicável     |
| `updatedAt`          | `DateTime`         | Data da última atualização                                 |

## Relacionamentos

* Relaciona-se com [Payment](/data-modelling/billing/payment)
* Relaciona-se com [Organization](/data-modelling/tenant/organization)
* Relaciona-se com [Company](/data-modelling/tenant/company)

## Regras de Negócio

* O `paymentId` é obrigatório — todo recebível é rastreável ao pagamento que o originou.
* `organizationId` e `companyId` identificam a empresa beneficiária do recebível.
* O `gatewayFeeRate` e `gatewayFee` são dinâmicos — reportados pelo provedor de pagamento na sincronização, não pré-configurados.
* O valor (`amount`) é o valor líquido reportado para o recebível em centavos.
* O par `externalProvider` + `externalProviderId` evita duplicidade na sincronização com o provedor.
* O saldo disponível para saque é consultado diretamente no provedor; recebíveis e transferências não possuem vínculo individual.

## Sincronização de Recebíveis

Os recebíveis são sincronizados a partir do provedor de pagamento quando uma cobrança é confirmada e pela rotina periódica de conciliação. A sincronização localiza o pagamento por identificadores externos e atualiza o recebível de forma idempotente.

## Enums

### ReceivableStatus

O status é copiado diretamente do provedor de pagamento a cada sincronização. Default `WAITING_FUNDS`.

| Valor           | Descrição                                    |
| --------------- | -------------------------------------------- |
| `WAITING_FUNDS` | Aguardando liquidação dos fundos no provedor |
| `PREPAID`       | Antecipado                                   |
| `PAID`          | Liquidado/pago                               |
| `CANCELLED`     | Cancelado                                    |

## Example

```json theme={null}
{
  "receivableId": "0197a817-5fb6-7ed8-a75e-27cc15afd0ac",
  "paymentId": "0197a816-281b-72e7-8f50-286fbfc5c08d",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "externalProvider": "billing_interface",
  "externalProviderId": "recvb_9fa13571",
  "amount": 11001,
  "gatewayFeeRate": 350,
  "gatewayFee": 399,
  "status": "WAITING_FUNDS",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T16:02:30.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T16:02:30.000Z"
}
```
