Lotus: Pricing & Packaging Infrastructure For Any Business Model
Usage-Based, Per-Seat, Bespoke Enterprise Plans And More
Documentation •
Lotus is a pricing and billing engine that enables SaaS companies to deploy, monitor, and experiment with custom subscriptions and complex models like usage-based pricing.
Lotus provides a flexible and modular control panel on top of your existing quote to cash stack that allows you to integrate data from multiple systems to help you figure out the optimal pricing scheme for your products.
Getting Started
:bust_in_silhouette: Self-Hosted Version (currently the only version)
:computer: Local Instance
- Install Docker Desktop and start Docker
- Clone the repo and navigate to the project
sh git clone https://github.com/uselotus/lotus.git && cd lotus
- Run the self-hosting script:
sh ./scripts/self-host.sh
If you need to give the script permission to run, runchmod 755 ./scripts/self-host.sh
first. - You should now be able to access the homepage at localhost/, and sign in using the
ADMIN_USERNAME
andADMIN_PASSWORD
you defined, or the default, which is:py username: change_me password: change_me
Optionally:
- Change the environment variables located in
env/.env.prod
to suit your needs. For more details, check out this guide in our docs.
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply request a feature.
Don't forget to give the project a star! Thanks again!
:construction_worker: Local Development
To set up Lotus for development locally, please refer to our guide here. Whether you want to contribute something for the whole community to use, or you want to personalize Lotus for your own needs, our developer-friendly codebase makes it easy to get started.
About The Project
Pricing your SaaS product is never easy, and often isn't directly related to the value you provide. Lotus was built to help you solve those problems and maintain the flexibility you need as you grow. Pricing is an underappreciated but hugely important lever for growth, and pushing it to the side can be a huge mistake. As companies evolve their pricing models, maintaining and scaling a pricing and billing stack can take significant engineering hours. With Lotus, you can go through the pricing deployment, monitoring, and experimentation cycle blazingly fast, while integrating with your existing payments, customer management, and data solutions.
Tech Stack:
- React Typescript
- Postgres (TimescaleDB)
- Redpanda
- Redis
- Python (Django)
- Celery (background jobs)
- Go (Microservices)
Features
-
Usage-Based Pricing and Flexible Prorations - Create custom pricing schemes for your SaaS, PaaS, IaaS, or any other acronym you come up with. A variety of models are supported out of the box, but with our fully extensible framework, creating exactly what you need is easy.
-
Sensible, Intuitive Plan Management - Forget about keeping track of subscriptions, plans, versioning, deployments, and everything that gets in the way of your product. Lotus simplifies plan management for you and your engineering team, so you can focus on what matters.
-
Powerful Tools for Experimentation - Lotus provides a suite of tools to empower you to change and deploy your pricing experiments and evaluate the effects it has on your business. Whether that's a backtest, an A/B test, or a forecast, we've got you covered.
-
Seamless Integrations with your Monetization Stack - Never feel locked into a single system thanks to a variety of integrations to help you get the most out of your existing stack. Additionally, a simple yet expressive API helps you integrate with any system you want.
License
Distributed under the MIT License. See LICENSE
for more information.