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

# BankAccount

> Conta bancária vinculada a uma empresa para saques

## Campos

| Campo                | Tipo                | Descrição                                              |
| -------------------- | ------------------- | ------------------------------------------------------ |
| `bankAccountId`      | `UUID`              | Identificador único                                    |
| `organizationId`     | `UUID`              | Referência à organização da empresa                    |
| `companyId`          | `UUID`              | Referência à empresa dona da conta                     |
| `externalProvider`   | `String`            | Nome do provedor externo                               |
| `externalProviderId` | `String`            | ID da conta no provedor externo                        |
| `bankCode`           | `String`            | Código do banco                                        |
| `bankName`           | `String`            | Nome do banco                                          |
| `agencyNumber`       | `String`            | Número da agência                                      |
| `accountNumber`      | `String`            | Número da conta                                        |
| `accountType`        | `BankAccountType`   | Tipo da conta                                          |
| `holderName`         | `String`            | Nome do titular                                        |
| `holderDocument`     | `String`            | Documento do titular (normalizado e validado)          |
| `holderDocumentType` | `DocumentType`      | Tipo do documento do titular                           |
| `status`             | `BankAccountStatus` | Status da conta bancária                               |
| `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 [Organization](/data-modelling/tenant/organization)
* Relaciona-se com [Company](/data-modelling/tenant/company) (1:1)
* Relaciona-se com múltiplos [Transfer](/data-modelling/billing/transfer)

## Regras de Negócio

* Cada empresa possui no máximo uma conta bancária.
* Obrigatória para que a empresa possa realizar saques.
* `bankCode`, `agencyNumber`, `accountNumber` e `holderDocument` são normalizados e validados na entrada.
* `status` tem default `ACTIVE`.

## Enums

### BankAccountStatus

| Valor      | Descrição              |
| ---------- | ---------------------- |
| `ACTIVE`   | Conta bancária ativa   |
| `INACTIVE` | Conta bancária inativa |

### BankAccountType

| Valor      | Descrição      |
| ---------- | -------------- |
| `CHECKING` | Conta corrente |
| `SAVINGS`  | Conta poupança |

### DocumentType

| Valor  | Descrição       |
| ------ | --------------- |
| `CPF`  | Pessoa física   |
| `CNPJ` | Pessoa jurídica |
| `RG`   | Registro geral  |

## Example

```json theme={null}
{
  "bankAccountId": "0197a817-f0e7-7c45-bcf2-5b6e967c2b2a",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "externalProvider": "billing_interface",
  "externalProviderId": "ba_5ad708e2",
  "bankCode": "001",
  "bankName": "Banco do Brasil",
  "agencyNumber": "1234",
  "accountNumber": "567890",
  "accountType": "CHECKING",
  "holderName": "Transportes Brasil Ltda",
  "holderDocument": "98765432000110",
  "holderDocumentType": "CNPJ",
  "status": "ACTIVE",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T14:40:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T14:40:00.000Z"
}
```
