Dashboard & Admin

The dashboard is your control centre for configuring products, managing subscriptions, and handling customers. This guide walks through each section and how to use it.

Overview

The Salable dashboard gives you and your team a visual interface for configuring products, monitoring subscriptions, and tracking revenue.

This guide walks you through the major areas of the dashboard, explaining not just what each section does but when and why you'd use it. Understanding these workflows helps you operate your subscription business efficiently and respond quickly to customer needs.

Organization Management

Organizations are the top-level container for everything in Salable. All your products, plans, subscriptions, and settings belong to your organization.

Creating and Switching Organizations

When you first sign up for Salable, an Organization is created for you. Your account can belong to multiple organizations, which is useful if you manage several businesses or work with clients who each have their own Salable account.

The organization switcher in the sidebar shows your current organization and lets you switch to others. Switching is instant: the entire dashboard updates to show that organization's data, settings, and resources.

Each organization has its own API keys, Stripe connection, products, and customer base. You can't accidentally modify one business's products while viewing another's subscriptions.

Organization Settings

Organization settings control how your account operates. Access them through the sidebar:

Organization Name Your organization's name appears throughout the dashboard and in some customer-facing contexts. Choose a name that clearly identifies your business.

Team Management View and manage team members who can access your organization's data and settings.

API Keys Access your API keys for both test and live modes, which your application uses to integrate with Salable.

Webhook Endpoints Configure webhook endpoints where Salable sends real-time event notifications about subscription changes.

Stripe Integration Manage your Stripe connection for processing payments in live mode.

Team Management

Organizations support multiple team members, so your team can access the tools they need without sharing login credentials.

Invite team members by entering their email address in the team management section. They receive an invitation email with a link to join your organization. If they don't already have a Salable account, they'll create one as part of accepting the invitation.

Team members can view and modify products and plans, access subscription data, manage customer support issues, and configure organization settings based on their permissions. Your support team can investigate subscription issues while your product team configures new pricing tiers, all from their own accounts.

When team members leave your organization, remove them from the team to revoke their access immediately.

Test Mode and Live Mode

The dashboard operates in two modes that mirror the API's test and live environments.

Understanding Mode Separation

Test mode and live mode maintain completely separate data. Products created in test mode don't appear in live mode and vice versa. Subscriptions, customers, usage records, and all other data are similarly isolated.

You can experiment with pricing models, test integration flows, and validate changes in test mode without affecting real customers or processing payments. Once you've tested changes thoroughly, replicate them in live mode.

The mode toggle in the sidebar shows your current mode and switches with a single click. The entire dashboard updates to show that environment's data.

A colored banner or badge always indicates which mode you're in, preventing accidental changes to production data.

Working in Test Mode

Use test mode during initial setup, development, and when planning pricing changes:

Product Configuration Create products and plans that mirror your intended live mode structure so tests accurately represent production behavior.

Checkout Testing Test the complete checkout flow using Stripe's test cards. Verify payments process correctly and customers are redirected to the right pages.

Subscription Verification Create subscriptions and verify that grantees receive the correct entitlements based on their subscription.

Modification Testing Experiment with subscription modifications and cancellations. Test upgrades, downgrades, quantity changes, and the various proration options.

Webhook Integration Test webhook delivery and verify your application handles subscription events correctly.

Test mode connects to Stripe's test environment, which accepts special test card numbers. These test cards let you simulate successful payments, failed payments, authentication requirements, and other scenarios without moving real money.

Changes in test mode never affect your live customers. You can try different pricing structures, test edge cases, and refine your subscription flows without risk to production.

Transitioning to Live Mode

Once you've tested your setup and integrated your application with the test mode API, you're ready to transition to live mode.

First, switch to live mode in the dashboard. Your product catalog will be empty because test and live mode data are separate. Recreate your products and plans in live mode, matching the structure you finalized in test mode.

Update your application to use live mode API keys instead of test keys. This typically means changing environment variables or secrets management configuration. Verify your application points to live mode endpoints and handles live mode webhooks correctly.

Complete the Stripe onboarding process for your live mode organization. Test mode doesn't require full Stripe setup, but live mode does before you can process real payments. Follow the Stripe Connect flow from the dashboard to provide your business information, banking details, and identity verification.

Test your first real subscription using a small amount or a test purchase by a team member before announcing to customers.

Maintaining Both Environments

After launching in live mode, keep your test mode environment as a staging area. When planning new features, pricing updates, or integration changes, prototype them in test mode first.

Product and Plan Management

The product and plan configuration interface lets you build pricing structures visually. The underlying configuration is also available in YAML format for infrastructure-as-code workflows.

Product Creation

Access the products section from the dashboard sidebar to view your product catalog. In test mode, this starts empty. In live mode, it shows your active products and any archived products you've deprecated.

Creating a product begins with the Create Product button. Enter a product name and click create. The product appears in your catalog immediately with default settings.

The product name appears in the dashboard, in API responses, and in customer-facing areas depending on your integration. Choose names like "SaaS Platform" or "Analytics Add-on" rather than internal codes or abbreviations.

Once created, click the product to open the detailed configuration editor. This is where you define plans, configure settings, and build out your complete pricing structure.

Product Settings Configuration

Product settings apply to all plans within the product, providing defaults for checkout and billing behavior. You can override these per-checkout through the API.

Checkout URLs define where customers go after the payment process. The success URL is where they land after subscribing, typically your application's welcome page or dashboard. The cancel URL is where they return if they abandon checkout, often your pricing page.

These URLs can include query parameters to pass information back to your application. For example, https://yourapp.com/welcome?plan=pro lets your application know which plan the customer selected, even though the subscription information also arrives via webhook.

Payment Collection Settings

Control various aspects of the checkout experience:

  • Promotional Codes: Enable to add a field where customers can enter discount codes you've created in Stripe
  • Automatic Tax: Enable Stripe Tax for jurisdiction-appropriate tax calculation (requires opting in to Stripe Tax in your Stripe Dashboard)
  • Billing Address Collection: Display billing address fields during checkout, required for tax calculation and useful for invoicing
  • Shipping Address Collection: Display shipping address fields during checkout, useful for physical goods that require delivery

Card Storage Preferences

Controls how payment methods are saved:

  • None: Don't save payment methods. Customers must enter payment details for each purchase
  • Choice: Let customers decide whether to save their card during checkout
  • Always: Automatically save payment methods for streamlined future payments and subscription renewals

Entitlement Access During Payment Issues

The past due entitlements setting controls feature access when payments fail:

  • Enabled: Customers retain access to their entitlements while Stripe retries payment
  • Disabled: Entitlements are revoked immediately when payment fails

The right choice depends on your business model and tolerance for providing service without confirmed payment.

Creating and Configuring Plans

Plans represent pricing tiers, add-ons, or options within a product. The plans section of the product editor shows existing plans and lets you create new ones.

Click Create Plan to open the plan configuration interface. This guided flow walks you through the essential elements: plan name, trial period, tier tags, entitlements, and line items.

The plan name appears in checkouts, invoices, and your customer portal. Use clear names like "Professional" or "Enterprise" rather than codes.

Trial periods give customers free access for a specified number of days before charging them. Enter the number of days (between 1 and 730) or leave it blank for no trial. During trials, customers have full access to entitlements but aren't charged. If they cancel before the trial ends, they're never billed.

Tier Tags make plans mutually exclusive by grouping them into tier sets. When you assign the same tier tag to multiple plans, an owner can only subscribe to one of those plans at a time. This is useful for subscription tiers where customers should choose one option (Basic, Pro, or Enterprise) rather than subscribing to multiple. Enter the tier tag string in the Tier Tag field, plans that share the same value belong to the same tier set.

Entitlement selection determines which features customers on this plan can access. The typeahead input lets you search for existing entitlements or create new ones inline. Type the entitlement name and click Create if it doesn't exist yet. Name entitlements in lowercase with underscores, like advanced_analytics or unlimited_exports.

Line Item Configuration

Line items define the charges within a plan: flat fees, per-seat charges, usage-based billing, or combinations.

Click Add Line Item to open the line item editor. Start by selecting the line item type: flat rate for fixed recurring fees, per-seat for team-based pricing, metered for usage-based billing, or one-time for setup fees and single charges.

For flat rate line items, configure the billing interval (monthly, yearly, or custom intervals), the price in each currency you support, and optionally any tiered pricing if you want volume-based discounts even for flat fees.

For per-seat line items, the min seats setting enforces a minimum purchase quantity, useful for team plans requiring at least 5 seats. The max seats setting caps the maximum quantity. Variable seating allows customers to choose their quantity within these bounds, while fixed seating sells plans with a predetermined number of seats.

Tiered per-seat pricing lets you offer volume discounts. Configure tiers with breakpoints like 1–10 seats at $10 each, 11–50 seats at $8 each, and 51+ seats at $6 each. Customers automatically get the appropriate tier pricing based on their quantity.

For metered line items, configure the slug that identifies this usage type, the price per unit, and the aggregation method. The slug is what you provide when recording usage through the API, and it must be unique across your organization. Use descriptive slugs like api-calls or storage-gb.

Each line item can have prices for multiple billing intervals and currencies. The editor shows tabs or sections for monthly, yearly, and custom intervals. Within each interval, specify prices in multiple currencies with one marked as default.

YAML Import and Export

The dashboard supports YAML import and export for infrastructure-as-code workflows or replicating products across environments.

Click Export to YAML on any product to download a configuration file with all plans, line items, prices, and settings. You can version-control this file, share it for review, and use it to document your pricing structure.

The Import from YAML feature lets you upload a configuration file to create or update products. This is useful when transitioning from test mode to live mode: export your tested configuration, review it, and import it into live mode rather than recreating everything manually.

YAML import validates the configuration before applying changes, catching missing required fields, invalid prices, or references to non-existent entitlements. If validation fails, error messages tell you what to fix.

Managing Entitlements

The entitlements section in the sidebar shows all entitlements across your organization, including those shared across multiple products and plans.

Create standalone entitlements here if you prefer to define your entitlement structure before building products, or manage entitlements that were created inline during plan configuration.

Each entitlement has a name (the slug used in API checks), a description for team reference, and an optional expiry date for automatic revocation. The interface shows which plans include each entitlement, so you can audit feature access across your pricing tiers.

Archive entitlements you no longer use rather than deleting them. Archived entitlements don't appear in plan configuration interfaces but remain in the system so historical data remains consistent. If subscriptions still reference an archived entitlement, those customers retain access until their subscription changes.

Subscription Management

The subscriptions section is where you monitor subscription health, investigate customer issues, and make administrative changes.

Subscription List and Filtering

The subscriptions list shows all subscriptions in the current mode, with filtering and search to find specific subscriptions quickly.

The default view shows active subscriptions sorted by creation date. Filter by status (active, past_due, canceled, trialing), search by customer email or owner ID, filter by product or plan, and sort by creation date, next billing date, or subscription value.

These filters combine. You can find "all past_due subscriptions for the Pro plan" or "all subscriptions created in the last week."

Each subscription in the list shows key information at a glance: the customer's email or owner ID, current status, subscription plans, and the next billing date. Click any subscription to open the detailed view.

Subscription Detail View

The subscription detail page shows full information about a single subscription and provides tools for modifications and issue resolution.

The summary section shows the customer information including owner ID and contact details if available, current subscription status and any scheduled changes (like upcoming cancellation), creation date and subscription age, and the next billing date and amount.

The subscription items section lists all plans included in the subscription. For each item, you see the plan name and details, quantity (for per-seat plans), associated grantee group if applicable, and the price being charged per interval.

The billing history section shows all invoices for this subscription. Each entry displays the billing date, amount charged, payment status (paid, failed, or pending), and a link to download the PDF receipt.

For subscriptions with metered line items, the usage section shows current period usage. You can see recorded usage quantities, the calculated charges based on usage, and historical usage from previous billing periods.

Making Subscription Modifications

The subscription detail page includes actions for modifying the subscription without API calls.

Change Plan opens an interface for upgrading or downgrading the customer. Select the new plan, choose the proration behavior (immediate charge, end of period change, or no proration), and apply the change. The interface shows a preview of any prorated charges before you confirm.

Adjust Quantity modifies the seat count for per-seat plans. Enter the new quantity, see the prorated amount that will be charged immediately, and confirm the change. The system enforces minimum and maximum seat limits configured on the line item.

Add Plans lets you attach additional plans to the subscription, useful when customers want to add features or add-ons. Select the plan to add, specify the quantity, and choose proration behavior. The new plan becomes part of the subscription and bills on the same cycle.

Cancel Subscription offers both end-of-period and immediate cancellation options. End-of-period cancellation schedules termination for the current billing period's end, so the customer retains access for the time they've paid for. Immediate cancellation terminates the subscription right away, with optional prorated refunds.

These are the same operations available through the API, presented with visual feedback for support scenarios.

Webhook Configuration

Configure webhook endpoints to receive real-time notifications of subscription events. You can add multiple endpoints, each with its own URL and event type selection.

Enter the webhook URL where Salable should send events. This must be a publicly accessible HTTPS endpoint. Select which event types this endpoint should receive. You might send all events to one endpoint or route different event types to different handlers.

After creating a webhook endpoint, the dashboard shows the signing secret you need to verify webhook authenticity. Copy this secret into your application's environment configuration.

The webhook detail view shows recent deliveries: which events were sent, whether delivery succeeded or failed, and the full request and response. If deliveries are failing, you can see the exact error and manually retry individual webhooks.

Test your webhook endpoints using the Send Test Event button. This sends a sample event without creating the associated resource, so you can verify your endpoint works before real events occur.

API Keys and Access Tokens

Your personal access tokens for dashboard API usage appear in your user settings (organization-level API keys are in organization settings). Use these tokens for scripting dashboard operations or building custom tooling.

Generate personal access tokens with appropriate scopes, name them descriptively, and revoke them when no longer needed. Store them securely and never commit them to version control.