Skip to main content
CompanyCreditAccount consolida o saldo de créditos que uma Company comprou da master/MOB/BKO e pode distribuir para funcionários.

Campos

CampoTipoDescrição
companyCreditAccountIdUUIDIdentificador único
organizationIdUUIDOrganização da Company
companyIdUUIDCompany dona do saldo
purchasedAmountIntTotal comprado em centavos
allocatedAmountIntTotal concedido a Customers em centavos
availableAmountIntSaldo disponível para novas concessões
statusCompanyCreditAccountStatusStatus da conta
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização

Relacionamentos

Regras de Negócio

  • Existe uma conta de crédito corporativo por Company.
  • Somente compras APPROVED em CompanyCreditPurchase aumentam purchasedAmount e availableAmount.
  • Concessões em CreditGrant 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

ValorDescrição
ACTIVEConta ativa para compra e distribuição
SUSPENDEDConta suspensa para novas distribuições
CLOSEDConta encerrada

Example

{
  "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"
}