Libro de créditos de organización
Comprende créditos compartidos, contabilidad append-only, caducidad, consumo idempotente y reembolsos.
Sincronizado con el commit
7d452a6del starter.
Los créditos pertenecen a la organización y sus miembros comparten saldo. El libro solo añade: no actualices ni borres filas y no evites src/services/credit.ts con SQL directo.
Una concesión añade una fila positiva con transacción única y caducidad opcional. El consumo toma un advisory lock por organización, reproduce todo el libro, usa primero concesiones próximas a caducar y solo añade negativos si hay saldo utilizable. Puede dividirse en filas :part:n; la API las colapsa en una transacción lógica. Un reembolso añade compensaciones ligadas al gasto original.
balance_after es el total contable al insertar, no siempre el disponible tras caducidad. Usa el resumen de organización para disponible, concedido, consumido y vencido.
Toda operación económica necesita clave de idempotencia empresarial estable. Dos llamadas iguales producen un solo efecto; las pruebas lo exigen. Renovaciones y Stripe usan números deterministas. Las concesiones admin tienen límite y auditoría.
Para una función de pago: calcula coste en configuración, exige entitlement, consume mediante el servicio, guarda la transacción raíz y reembolsa si falla la operación posterior.