7 open source tools compared. Sorted by stars. Scroll down for our analysis.
By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.
| Tool | Stars | Velocity | Score |
|---|---|---|---|
hyperswitch Open source, composable payments platform | PCI compliant | SaaS and Self-host options | Enables connectivity to multiple payment, payout, fraud, vault and tokenization providers | Uplifts authorization with intelligent routing and revenue recovery | Reduce payment processing costs with cost observability | Reduces payment ops with reconciliation | 45.8k | +58/wk | 92 |
Lago Open Source Metering and Usage Based Billing. | 10.8k | +36/wk | 76 |
polar Checkout and billing for people selling software, with Polar as the merchant of record so sales tax and VAT are handled for you. | 10.5k | +5/wk | 84 |
Kill Bill Open-source subscription billing platform | 5.9k | +12/wk | 82 |
New Expensify Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code. | 5.1k | +7/wk | 84 |
invoice-builder Invoice and quotation builder desktop app with PDF export, designed for small businesses and freelancers. Create, manage, and export invoices and quotes easily using a local database in an Electron-based app. | 1.5k | +134/wk | 70 |
hyperswitch-prism One library | Many payment processors | Scale to multiple processors with few lines of code. | 1.4k | - | 74 |
Stay ahead of the category
New tools and momentum shifts, every Wednesday.
Hyperswitch sits between your app and payment processors like Stripe, Adyen, and PayPal, routing each transaction to whichever is cheapest or most likely to succeed. Juspay, whose team runs payment infrastructure for more than 400 enterprises, open sourced the core in Rust under Apache 2.0. One API, many processors, no rewrite when you add or drop one. Trying it locally is a one-line setup script. Production is different: Helm charts on AWS, GCP, or Azure, plus the PCI scope questions that arrive the moment card data flows through systems you operate. This is a payments team tool, not a weekend deploy. A newer option is adopting pieces, since the routing decision engine and the connector library now ship as standalone repos. Single-processor startups don't need it. Stripe alone is simpler than Stripe behind a switch. It earns its keep when you juggle multiple processors for fees, geographic coverage, or failover. Solo and small teams: skip. Companies at real volume: smart routing and retries can recover a measurable slice of revenue. Enterprise Edition and Cloud exist when you would rather pay Juspay to run it, and neither has public pricing. The catch: it orchestrates payments, it doesn't process them. You still need contracts with the underlying processors. Revenue recovery, cost observability, and reconciliation are paid add-ons on both self-hosted editions, and only come included with Cloud.
Lago handles the billing plumbing that makes SaaS companies tear their hair out: usage metering, subscription management, invoicing, payment orchestration, and revenue analytics. If you're building usage-based pricing (per API call, per seat, per compute hour), this is the open source engine that competes with Chargebee and Stripe Billing. Self-hosting runs on Docker Compose with PostgreSQL. The API and frontend are separate services, which adds some initial complexity but keeps things modular. Event ingestion handles real-time usage tracking, aggregation rules turn raw events into billable metrics, and the invoicing engine generates PDFs. Integrations with NetSuite, Xero, Salesforce, and tax providers like Avalara cover the accounting side. Solo founders can run the full billing stack for free. Growing startups avoid Stripe Billing's percentage-of-revenue pricing by self-hosting. Enterprise teams get Lago Cloud for managed infrastructure with pay-as-you-go pricing. The catch: AGPL license. If you embed Lago into a SaaS product, the copyleft clause may require open-sourcing your application. Many companies end up on the paid cloud plan specifically to avoid that legal exposure.
Polar is a checkout and billing service for people selling software: subscriptions, usage metering, seats, credits and license keys. As merchant of record, Polar is legally the seller, so sales tax and VAT are its problem. The code is Apache 2.0 and signing up costs nothing; Polar earns per transaction. Self-hosting is technically possible, and Polar's own docs steer you away from it. The stack is Postgres, Redis, S3 storage and a worker, wired to your own Stripe account. Run it yourself and you're the seller again, tax compliance included. Treat the repo as transparency, not a deployment target. Starter has no monthly fee and takes 5% + 50¢ per sale, plus 1.5% on non-US cards. Pro ($20/month, 3.8% + 40¢), Growth ($100/month) and Scale ($400/month, adds SSO) trade a flat fee for a lower rate. By Polar's own math, Pro pays off around $1,379 a month in sales. Solo: Starter. Small teams past that line: Pro. Larger teams: Scale. Same job as Paddle or Lemon Squeezy. The catch: you're renting someone else's merchant account. Polar sells software and digital goods only, bans donations and sponsorships, and can refuse or suspend accounts at its discretion. Disputes cost $15 each, win or lose.
Kill Bill is a full billing and payments platform: subscription management, invoicing, payment processing (pluggable gateways: Stripe, Braintree, Adyen, etc.), tax calculation, revenue recognition, and multi-tenancy. It's been around since 2010 and handles real money in production. Apache 2.0 license. Used by companies processing billions in payments. Self-host for free. The company behind it (Kill Bill Inc.) offers paid support and consulting, but the software is fully open. Small teams with significant billing complexity (usage-based pricing, multi-currency, custom invoicing), should evaluate Kill Bill. If you're just charging $20/mo for a SaaS, Stripe Billing is simpler. The catch: this is enterprise-grade Java software that's complex to deploy and maintain. It runs on a JVM, needs a database, and the documentation assumes billing domain expertise. The learning curve is steep. For simple subscriptions, this is a bulldozer for a garden.
New Expensify is a ground-up rewrite of the expense management platform, built as a React Native app that runs on iOS, Android, web, and desktop from a single codebase. It handles expense reports, receipt scanning, corporate card management, invoicing, and bill pay. The open source angle is interesting: Expensify publishes their entire client app on GitHub, which is rare for a fintech company. But this is not a tool you self-host. It is the client for Expensify's paid service. Contributing is encouraged but the product only works with Expensify's backend. Alternatives like Fiskl and Budget Zen exist for personal expense tracking, but for corporate expense management the real competitors are SAP Concur, Brex, and Ramp. The catch: open source client, closed source backend. You cannot run your own Expensify. This is transparency, not freedom.
Invoice Builder is a desktop app for freelancers and small businesses that makes invoices and quotes and exports them as PDFs. No account, no cloud, no subscription: your data sits in a local SQLite file, or a PostgreSQL server if you'd rather. MIT. It covers more than most free tools: multiple currencies, tax per item or on the total, partial payments, payment QR codes, a visual PDF layout builder, thermal receipt printing, and e-invoice XML for Peppol and Germany's XRechnung. It runs on Windows, Linux and Apple Silicon Macs; there's no Intel Mac build. A Docker version runs it as a web app. Solo freelancers who want clean invoices without a monthly fee: use it. Anyone who needs clients paying online, recurring billing or a client portal should look at Invoice Ninja or a paid service like FreshBooks instead. Teams: not what it's built for. The catch: the Docker web mode has no login at all, so never put it on the internet without an authenticating proxy in front. The Mac app is unsigned, so macOS will block it until you clear the quarantine flag, and it's a one-person project.
Prism lets your code talk to Stripe, Adyen, Braintree, PayPal, Worldpay and dozens of other payment processors through one request format, so switching processors becomes a config change instead of a rewrite. Juspay pulled it out of Hyperswitch, its open source payments platform, and it's Apache 2.0 with no paid tier. It's a library, not a service. Install it from npm, PyPI, Maven or Cargo, or run it as a stateless gRPC server in Docker. It stores nothing: processor credentials ride along with each request and there's no database. The native SDK libraries only ship for Apple Silicon Macs and x86 Linux right now, so Windows and ARM Linux need the Docker server. Teams already running two or more processors, or wanting the option to leave Stripe without rebuilding checkout, get the most here. It only translates requests. Routing, retries and a card vault live in the full Hyperswitch (juspay/hyperswitch), whose Enterprise and Cloud editions are contact-sales with no public prices. Solo devs on one processor should just use that processor's SDK. The catch: it's pre-1.0 and coverage is uneven, with plenty of payment methods still marked in progress. And ignore the website line about no compliance. If raw card numbers pass through your server, you're in PCI scope no matter how stateless the library is.