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

# CompanyCreditAccount

> Conta de saldo corporativo comprado pela empresa

`CompanyCreditAccount` consolida o saldo de créditos que uma [Company](/data-modelling/tenant/company) comprou da master/MOB/BKO e pode distribuir para funcionários.

## Campos

| Campo                    | Tipo                         | Descrição                                              |
| ------------------------ | ---------------------------- | ------------------------------------------------------ |
| `companyCreditAccountId` | `UUID`                       | Identificador único                                    |
| `organizationId`         | `UUID`                       | Organização da Company                                 |
| `companyId`              | `UUID`                       | Company dona do saldo                                  |
| `purchasedAmount`        | `Int`                        | Total comprado em centavos                             |
| `allocatedAmount`        | `Int`                        | Total concedido a Customers em centavos                |
| `availableAmount`        | `Int`                        | Saldo disponível para novas concessões                 |
| `status`                 | `CompanyCreditAccountStatus` | Status da conta                                        |
| `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 [Company](/data-modelling/tenant/company) por `companyId`.
* Relaciona-se com [Organization](/data-modelling/tenant/organization) por `organizationId`.
* Relaciona-se com múltiplas [CompanyCreditPurchase](/data-modelling/credit-grant/company-credit-purchase).
* Relaciona-se com múltiplos [CreditGrant](/data-modelling/credit-grant/credit-grant).

## Regras de Negócio

* Existe uma conta de crédito corporativo por Company.
* Somente compras `APPROVED` em [CompanyCreditPurchase](/data-modelling/credit-grant/company-credit-purchase) aumentam `purchasedAmount` e `availableAmount`.
* Concessões em [CreditGrant](/data-modelling/credit-grant/credit-grant) aumentam `allocatedAmount` e reduzem `availableAmount`.
* `availableAmount` não pode ficar negativo.
* A conta registra saldo disponível para distribuir, não o saldo já concedido ao Customer.
* Créditos concedidos ao Customer podem ser usados em qualquer ticket elegível, independentemente da cooperativa do ticket.
* A conta é uma posição consolidada. Auditoria de compra vem de CompanyCreditPurchase; auditoria de uso vem de CreditLedgerEntry.
* Cancelamento ou rejeição de compra antes de `APPROVED` não altera a conta.
* Estorno de ticket não aumenta CompanyCreditAccount; ele retorna para o mesmo CreditGrant do Customer.

## Enums

### CompanyCreditAccountStatus

| Valor       | Descrição                               |
| ----------- | --------------------------------------- |
| `ACTIVE`    | Conta ativa para compra e distribuição  |
| `SUSPENDED` | Conta suspensa para novas distribuições |
| `CLOSED`    | Conta encerrada                         |

## Example

```json theme={null}
{
  "companyCreditAccountId": "01980d3a-4ae8-7d72-b569-5d6526736dd1",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "purchasedAmount": 1000000,
  "allocatedAmount": 250000,
  "availableAmount": 750000,
  "status": "ACTIVE",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-04T09:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-04T10:00:00.000Z"
}
```
