CompanyCreditPurchase registra a compra de créditos feita por uma Company junto à master/MOB/BKO.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
companyCreditPurchaseId | UUID | Identificador único |
companyCreditAccountId | UUID | Conta corporativa impactada |
organizationId | UUID | Organização da Company |
companyId | UUID | Company compradora |
purchasedByUserId | UUID? | Usuário da Company que solicitou a compra |
approvedByUserId | UUID? | Usuário ou processo que incorporou a compra ao saldo |
code | String | Código legível da compra |
amount | Int | Valor comprado em centavos |
externalProvider | String? | Provedor externo de pagamento, quando aplicável |
externalProviderId | String? | Identificador externo da cobrança, quando aplicável |
status | CompanyCreditPurchaseStatus | Status da compra |
paidAt | DateTime? | Data em que a compra foi paga |
approvedAt | DateTime? | Data de aprovação |
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 CompanyCreditAccount.
- Relaciona-se com Company.
- Relaciona-se com Organization.
- Relaciona-se com User, quando houver solicitante ou aprovador.
Regras de Negócio
- Representa a compra de crédito da master/MOB/BKO pela Company.
- A compra começa como
PENDING. - A cobrança é criada no gateway para a conta master/BKO.
PAIDindica pagamento confirmado pelo provider, mas ainda não é a posição final de saldo.APPROVEDé o estado que incorpora o valor em CompanyCreditAccount.- Quando a compra fica
APPROVED, o valor aumentapurchasedAmounteavailableAmountna CompanyCreditAccount. - A compra não cria ticket e não se vincula a cooperativa específica.
- Créditos comprados ficam disponíveis para a Company distribuir aos funcionários.
amounté armazenado em centavos.- O par
externalProvider + externalProviderIddeve ser único quando existir cobrança externa. approvedByUserIdpode ficarnullquando a incorporação for automática após confirmação do gateway.approvedAtdeve ser preenchido quando a compra for incorporada ao saldo.- Compra
REJECTEDouCANCELEDnão deve aumentar saldo. - Se uma compra paga for cancelada antes de virar saldo, o estorno financeiro fica vinculado ao provider externo por
externalProviderId. - O comprovante operacional da compra é o próprio registro com
code,amount, provider, timestamps e status.
Enums
CompanyCreditPurchaseStatus
| Valor | Descrição |
|---|---|
PENDING | Compra solicitada e aguardando pagamento ou aprovação |
PAID | Compra paga |
APPROVED | Compra aprovada e incorporada ao saldo corporativo |
REJECTED | Compra rejeitada |
CANCELED | Compra cancelada |