Skip to main content

Usage & Limits

Monitor your Scriptix subscription usage and track consumption metrics.

Overview

Usage tracking shows how many resources you've consumed in your current and past billing periods. This helps you understand consumption patterns and manage your subscription effectively.

Accessing Usage Information

Navigation:

  1. Go to Billing & Subscription page
  2. Click Subscriptions tab
  3. Click View (eye icon) on a subscription
  4. Subscription details page opens
  5. Scroll to Usage Details section

What You'll See:

  • Subscription information at top
  • Usage details table below
  • Historical usage by billing period

Subscription Information Display

The subscription details page shows key information about your plan:

Information Shown:

FieldDescription
Subscription PlanSKU code of your plan
Start DateSubscription start date
End DateSubscription end date (if applicable)
Available CreditsBudget credits (reseller organizations only)
Speech-to-TextAvailable STT units
AlignmentAvailable alignment units
TranslationAvailable translation budget
Auto RenewYes or No
Billing ChannelScriptix or Azure
Cancellation DateScheduled cancellation (if applicable)

Layout:

  • Grid layout with 2 columns on mobile, 5 on desktop
  • Each field displays label and value
  • Border-bottom separators between fields
  • Font-semibold for values

Conditional Fields:

  • Available Credits - Only shown for reseller organizations (organization.is_reseller)

Usage Metrics Tracked

Scriptix tracks five key usage metrics:

Speech-to-Text (STT) Units

What Are STT Units:

  • Measurement of audio transcription
  • Audio minutes processed
  • Primary usage metric

Display:

  • Field label: "Speech-to-Text"
  • Shows available units in subscription
  • Example: 1000 (units available per period)

What Consumes STT Units:

  • Transcribing audio files
  • Speech-to-text processing
  • Batch processing

Alignment Units

What Are Alignment Units:

  • Force alignment processing
  • Aligning existing transcripts to audio
  • Separate from STT units

Display:

  • Field label: "Alignment"
  • Shows available units
  • Example: 500 (units available)

When Used:

  • Force alignment requests
  • Transcript-audio alignment

Translation Budget

What Is Translation Budget:

  • Characters available for translation
  • Machine translation capacity
  • Character count (not words)

Display:

  • Field label: "Translation"
  • Shows available character budget
  • Example: 200000 (characters)

What Consumes Budget:

  • Translating transcripts
  • Translation API calls
  • All translation services

Custom Models Trained

What It Tracks:

  • Number of custom model training sessions
  • Each training run counted
  • Accumulated per billing period

Display:

  • Column: "Custom Models Trained"
  • Shows count per period
  • Example: 2 (trainings completed)

Custom Models Hosted

What It Tracks:

  • Number of active custom models
  • Models stored in organization
  • Current hosting count

Display:

  • Column: "Custom Models Hosted"
  • Shows count per period
  • Example: 3 (models hosted)

Usage Details Table

The usage details section shows consumption by billing period.

Table Columns:

ColumnDescriptionSortable
Period StartBeginning of billing cycleYes
Period EndEnd of billing cycleYes
STT Units UsedSpeech-to-text units consumedYes
Alignment Units UsedAlignment units consumedYes
Translation Characters UsedCharacters translatedYes
Custom Models TrainedTraining sessions completedYes
Custom Models HostedModels hosted in periodYes
BilledYes or No (invoice generated)Yes

Grid Features:

  • Server-side sorting (all columns sortable)
  • Server-side pagination (25/50/75/100 per page)
  • Server-side filtering
  • Default page size: 25 items
  • Height: 70vh
  • Dense layout
  • Striped rows
  • Filter mode: popover
  • No row selection
  • No column filtering enabled

Data Display:

  • Dates formatted with formatDate() function
  • Numeric values displayed as-is
  • Dash ("-") shown for null/empty values
  • Billed column: "Yes" or "No" translation

Subscription Status

The page header displays subscription status:

Status Display:

  • Title format: "Subscription #{id} Status - {status}"
  • Dynamic status based on subscription state

Status Values:

Active:

  • Subscription is currently active
  • No issues or scheduled cancellation
  • Normal operation

Suspended:

  • Subscription has been suspended
  • Value: sub.suspended === true
  • Cannot be cancelled while suspended

Ended:

  • Cancellation date has passed (cancel_date <= today)
  • Or end date has passed (end_date < today)
  • Subscription no longer active

Active (Cancels on [date]):

  • Subscription active but cancellation scheduled
  • Format: "Active (Cancels on {formatted_date})"
  • Shows future cancel_date
  • Still usable until cancellation date

Cancel Subscription

Resellers can cancel subscriptions.

Cancel Button:

  • Only shown if user has RESELLER role
  • Label: "Cancel"
  • Variant: secondary
  • Size: medium

Button States:

  • Enabled: Can cancel (subscription active, no issues)
  • Disabled: Cannot cancel
    • Cancellation already scheduled (tooltip: "Cancellation already scheduled")
    • Subscription suspended (tooltip: "Subscription is suspended")
    • Subscription ended
    • Not cancellable for other reasons (tooltip: "Subscription not cancellable")

Cancel Conditions:

canCancel = !suspended &&
!cancellationScheduled &&
!cancellationEffective &&
!endedByEndDate

Cancel Process:

  1. Click Cancel button
  2. Confirmation modal opens
  3. Title: "Cancel subscription"
  4. Caption: "Cancel subscription confirmation"
  5. Click Confirm to proceed
  6. Button disabled during cancellation
  7. Label changes to "Canceling..." when processing
  8. Success toast: "Subscription cancelled successfully"
  9. Modal closes automatically

Confirmation Modal:

  • Size: small
  • Destructive: true (red confirm button)
  • Auto-focus on confirm button
  • Cancel button available

What Happens:

  • Cancellation scheduled for end of billing period
  • Subscription remains active until cancel_date
  • Cannot be undone after confirmation

Available vs. Used

The subscription details show available amounts, not used amounts:

Available Fields:

  • available_stt_units - Total STT units in plan
  • available_alignment_units - Total alignment units
  • available_translation_budget - Total translation characters
  • available_stt_budget - Credits (reseller only)

Used Amounts:

  • Shown in usage details table
  • Per billing period
  • Historical and current period

To Calculate Remaining:

Remaining = Available - Used (current period)

Example:

  • Available STT Units: 1000
  • STT Units Used (current period): 650
  • Remaining: 350 units

Billing Period Information

Period Tracking:

  • Usage tracked per billing period
  • Typically monthly cycles
  • Period start and end dates shown
  • Each period has separate usage row

Current vs. Past Periods:

  • All periods shown in same table
  • Current period has billed: false
  • Past periods have billed: true
  • No visual distinction in grid

Period Dates:

  • Formatted using formatDate() utility
  • Format based on locale
  • Displays dash ("-") if date invalid

Reseller-Specific Features

Available Credits

Display:

  • Only shown for reseller organizations
  • Condition: organization.is_reseller === true
  • Field: "Available credits"
  • Value: sub.available_stt_budget

Purpose:

  • Budget-based subscriptions for resellers
  • Credit allocation management
  • Separate from unit-based plans

Cancel Button Visibility

Access Control:

  • Only shown if user has RESELLER role
  • Uses isReseller from useRoles() hook
  • Non-resellers don't see cancel button

Loading States

Subscription Data:

  • Loads subscription details first
  • Displays information when available
  • No explicit loading indicator for subscription

Usage Data:

  • Loading message: "Loading usages..."
  • Shown while fetching usage table data
  • Grid shows loading state
  • Condition: usageIsLoading || usageIsFetching || !usageData

Back Button:

  • Icon: DoubleArrowLeft
  • Label: "Subscriptions"
  • Variant: smoke
  • Size: medium
  • Returns to Billing & Subscription page
  • Path: PATHS().BILLING_AND_SUBSCRIPTION

Button Location:

  • Page header, left side
  • Before cancel button (if shown)

Error Handling

Cancel Subscription Errors:

  • Priority: error_description → detail → error → message → fallback
  • Fallback message: "An error has occurred"
  • Toast error notification
  • Modal closes on error

Success Messages:

  • "Subscription cancelled successfully" - Cancellation complete

Error Checks:

  • Uses isAxiosError() for error type checking
  • Extracts error data from response

Page Layout

Structure:

  1. PageHeader with title and actions
  2. Subscription information grid (2-5 columns)
  3. Usage Details section header
  4. Usage details data grid

Styling:

  • Theme-aware colors via getColour()
  • Border-bottom separators
  • Grid layout responsive
  • Padding on mobile (px-1, px-4)

Data Grid Configuration

Usage Table:

  • Height: 70vh
  • Dense: true
  • Striped: true
  • Grid mode: false
  • Show column filters: false
  • Filter mode: popover
  • Manual pagination, sorting, filtering
  • Row ID: String(row.id)

Pagination:

  • Page sizes: 25, 50, 75, 100
  • Default: 25 items per page
  • Total items from API response

Track your usage! Monitor consumption, optimize workflows, and stay within limits for uninterrupted service.

Next Steps

Manage your account effectively: