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 support

Benefits:

  • 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/raterunner

Or download from GitHub Releases.

2. Initialize your project

raterunner init

This creates a raterunner/billing.yaml file with example plans.

3. Validate your configuration

raterunner validate raterunner/billing.yaml

4. Sync to Stripe

export STRIPE_SANDBOX_KEY=sk_test_...
raterunner apply --env sandbox raterunner/billing.yaml

How It Works

  1. You edit billing.yaml — your plans, prices, and entitlements
  2. Run raterunner apply to sync changes
  3. CLI creates/updates products in Stripe
  4. 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

On this page