Aplicación starter

Libro de créditos de organización

Comprende créditos compartidos, contabilidad append-only, caducidad, consumo idempotente y reembolsos.

Sincronizado con el commit 7d452a6 del 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.

Libro de créditos de organización · Sushi SaaS