CompanyCreditAccount consolida o saldo de créditos que uma 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 por
companyId. - Relaciona-se com Organization por
organizationId. - Relaciona-se com múltiplas CompanyCreditPurchase.
- Relaciona-se com múltiplos CreditGrant.
Regras de Negócio
- Existe uma conta de crédito corporativo por Company.
- Somente compras
APPROVEDem CompanyCreditPurchase aumentampurchasedAmounteavailableAmount. - Concessões em CreditGrant aumentam
allocatedAmounte reduzemavailableAmount. availableAmountnã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
APPROVEDnã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 |