Welcome to BillStack
Multi-tenant billing management built on Stripe. One Stripe account, multiple SaaS products, complete isolation.
What is BillStack?
BillStack is a multi-tenant billing management layer built on top of Stripe. It lets you manage billing for multiple SaaS products using a single Stripe account — solving webhook chaos, customer isolation, and duplicated billing code.
Think of it as a self-hosted Chargebee alternative that sits between your SaaS apps and Stripe.
Problems BillStack Solves
If you're using Stripe directly for multiple SaaS products under one account, you've likely encountered:
- Webhook chaos — SaaS-2 receives webhook events intended for SaaS-1
- No customer isolation — customers are global, not scoped to individual products
- No project-level dashboard — one Stripe dashboard for everything
- Duplicated billing code — each SaaS rebuilds checkout, portals, and subscription management
BillStack acts as a project-aware billing layer that routes everything to the right place.
Key Features
| Feature | Description |
|---|---|
| Multi-tenant isolation | Customers, products, prices, and subscriptions are scoped per-project |
| REST API with API keys | External SaaS apps integrate via Authorization: Bearer bs_... |
| Self-hosted customer portal | Subscription management, invoices, payment methods at /portal/[token] |
| Webhook routing | Per-team webhook URLs that route events to the correct project |
| Referral system | Per-project referral codes with automatic conversion tracking |
| Analytics | MRR, customer growth, subscription breakdown, churn rate |
| Encrypted credentials | AES-256-GCM encrypted Stripe keys stored in the database |
How It Works
Your SaaS App ──► BillStack API ──► Stripe
(project-scoped)
│
▼
BillStack DB
(isolated data)- You connect your Stripe account to a team in BillStack
- You create projects (one per SaaS product)
- Your SaaS apps call BillStack APIs using API keys
- BillStack handles Stripe operations and routes webhooks to the correct project
- Customers see a self-hosted portal for managing their subscriptions
Documentation Structure
Migration Guide
Step-by-step guide to replace your direct Stripe integration with BillStack
API Reference
Complete reference for all 22 REST API endpoints
TypeScript SDK
Ready-to-use TypeScript client for calling BillStack APIs
Quick Start
Already have BillStack running? Here's the fastest path:
- Connect Stripe in your team settings dashboard
- Create a project for your SaaS product
- Generate an API key in the team settings
- Start calling APIs — see the Migration Guide for code examples