Skip to content

Admin Billing

Target Audience: Platform administrators and staff

Admin billing tools manage organization credits and feature usage charges.

Credit Top-Ups

Credits are added from the tenant/admin edit flow. Top-ups are additive only:

  • Enter a positive amount.
  • Enter a reason.
  • Submit the top-up.

The system increases the organization's existing balance and records a ledger row labeled Manual top-up. Staff should not edit a tenant's credit balance directly; the Django admin marks the balance read-only so the ledger remains the audit trail.

Feature Usage Charges

The Billing section includes a Feature Usage tab. This table contains fixed feature rows. Admins can edit the integer credit cost for a feature, but cannot edit the feature name or slug from this page.

The current seeded features are:

SlugNameCharged
video_exportVideo exportPer output
link_page_creationLink page creationPer artist link page (one-time)
link_creationLink creationPer unlocked link slot on a link page

Set a feature cost to 0 only when usage should be free but still recorded in the ledger.

Video Studio Export Billing

Video Studio project creation is free. Export is the paid gate.

Before a render starts, the app asks the backend for a quote and then charges the tenant wallet. Rendering begins only after the debit succeeds.

For Asset Groups, every selected export-enabled member counts as one billable output. If no Asset Group member is selected, the base export counts as one output.

Idempotency and Ledger References

Video export charges are idempotent per tenant, feature slug, and idempotency key. Replaying the same export charge does not debit twice. If the same key is reused for a different project snapshot, the backend rejects it with a conflict.

Video export ledger rows store reference_type=VIDEO_EXPORT and a fingerprint reference so support can distinguish genuine replays from mismatched requests.