Introduction
Welcome to Raterunner - Open source billing configuration as code for SaaS
Welcome to Raterunner
Raterunner is an open-source tool that lets you manage your SaaS billing configuration as code. Define your plans, entitlements, and promotions in YAML, version control your changes, and sync to payment providers like Stripe.
The Problem
SaaS billing configuration is typically scattered across:
- Payment provider dashboards — Stripe Products, Paddle Catalog
- Backend code — entitlement checks, feature flags
- Marketing sites — pricing pages, feature comparisons
- Infrastructure configs — environment-specific settings
This leads to drift, inconsistencies, and provider lock-in.
The Solution
Raterunner consolidates all of this into a single, version-controlled YAML configuration:
version: 1
providers:
- stripe
plans:
- id: pro
name: Pro Plan
prices:
monthly: { amount: 2900 }
yearly: { amount: 29000 }
limits:
projects: 25
api_requests: { limit: 1000, per: minute }
features:
- Up to 25 projects
- Priority supportBenefits:
- Single source of truth — one file defines all plans, prices, and entitlements
- Version control — track all billing changes in Git with full history
- Code review — pricing changes go through PR review like any other code
- Environment parity — same config deploys to sandbox and production
- Provider-agnostic — sync to Stripe today, Paddle tomorrow
- Schema validation — catch errors before they hit production
Quick Start
1. Install the CLI
brew install raterunner/tap/raterunnerOr download from GitHub Releases.
2. Initialize your project
raterunner initThis creates a raterunner/billing.yaml file with example plans.
3. Validate your configuration
raterunner validate raterunner/billing.yaml4. Sync to Stripe
export STRIPE_SANDBOX_KEY=sk_test_...
raterunner apply --env sandbox raterunner/billing.yamlHow It Works
- You edit
billing.yaml— your plans, prices, and entitlements - Run
raterunner applyto sync changes - CLI creates/updates products in Stripe
- Provider ID file (
stripe_sandbox.yaml) is auto-generated with Stripe IDs
Your billing.yaml is the source of truth — you edit it, commit it, review it. Provider ID files are auto-generated to track which Stripe products/prices were created.
Current Status
Raterunner currently supports Stripe only. Support for Paddle and Chargebee is planned.
Next Steps
- Quick Start — Get up and running in 5 minutes
- Schema Reference — Learn about the configuration schema
- CLI Reference — Explore all CLI commands
- Stripe Integration — Set up Stripe sync