Open source · AGPL-3.0 · Self-host or cloud
Open-source billing for the way Africa pays
Subscriptions, usage and one-time payments over mobile money, cards, banks and crypto. Every shilling, cent and satoshi posts to a double-entry ledger your finance team can reconcile.
Or read the quickstart: running locally in about five minutes.
- Collected
- UGX 1,250,000
- Paid out
- UGX −840,000
- Provider fees
- UGX −18,750
- Balance
- UGX 391,250
- MTN MoMo renewalPrompt sent to 0771 234 567
- Payment failedRetried by dunning, pay link sent
- PaidPosted to the ledger, webhook delivered

- payment rails: mobile money, cards, banks and crypto
- 17payment rails: mobile money, cards, banks and crypto
- currencies, with daily exchange rates
- 160+currencies, with daily exchange rates
- open source, self-host or cloud
- AGPL-3.0open source, self-host or cloud
- every movement double-entry, checked every run
- 1 ledgerevery movement double-entry, checked every run
Built for how your customers pay
Mobile money
- MTN MoMo
- Airtel Money
- Yo! Payments
- Eversend
Cards and banks
- Flutterwave
- Paystack
- Stripe
- PayPal
- Pesapal
- PayU
- DPO
Crypto
- USDT on TRON
- USDT on Ethereum
- USDT on BNB Chain
- Bitcoin
- NOWPayments
- Binance Pay
How it works
Measure it. Bill it. Settle it.
“Pima” is Swahili for measure: what usage billing and a ledger do before anyone is charged.
- 01
Measure it
Send usage events from your app. Count, sum, take the maximum or count unique values per billing period, with per-customer plan overrides.
- 02
Bill it
Plans priced in any currency with trials, coupons, add-ons and proration. Invoices go out on schedule, failed payments are retried, and customers can pay from a hosted checkout link.
- 03
Settle it
Collections, payouts and wallet transfers run on the same rails and post to a balanced double-entry ledger, checked for integrity every run.
Billing and money infrastructure in one open-source product
Built for how customers pay
Renewals designed around mobile money prompts, retries and reminders, beside cards, bank transfers, PayPal and crypto.
One ledger for every movement
Subscriptions, usage, collections, payouts, transfers and platform fees post to a double-entry ledger finance can reconcile.
Yours to run
AGPL-3.0, self-hosted on PostgreSQL, with no processor lock-in. Switch providers without rewriting your billing.
Developer-first
An OpenAPI spec, TypeScript, Python and PHP SDKs, signed webhooks and idempotent money endpoints.
Teams and organisations
Owner, admin, finance, developer and viewer roles, invitations, and several organisations from one login.
Start without a merchant account
On the cloud, managed payments let you get paid before you have payment provider contracts of your own, with payouts to your mobile money, bank or PayPal.
Money movement
Collect, pay out and reconcile in one place
With your own provider accounts, every rail moves money between your payers and accounts you own. Without them, managed payments collects for you and pays you out.
- One-time collections
- A mobile money PIN prompt or a hosted checkout, not tied to an invoice. Retries with the same reference never charge twice.
- Payouts with controls
- Approval above a threshold, daily limits per currency, and payouts the provider cannot confirm are re-checked, never resent.
- Wallets and transfers
- Prepaid credit per customer and transfers between wallets, each one a balanced ledger entry.
- Crypto to your own wallet
- USDT on TRON, Ethereum and BNB Chain, and Bitcoin, watched on the chain. No keys and no custody.
- Platform commission
- Rates, flat fees and minimums per currency, charged to you or added to what the payer is asked for.
- Ledger health
- Zero-sum, balanced entries, cached balances and wallet parity, checked on every sync.
Developers
A few lines to bill, collect and pay out
- OpenAPI 3 spec, committed and checked on every change
- TypeScript, Python and PHP SDKs under the MIT licence
- Webhooks signed with HMAC-SHA256, every attempt logged
- Idempotency keys on collections, payouts and transfers
- A sandbox with sk_test_ keys and provider test accounts, one switch away in the dashboard
- A separate database per organisation
import { PimaBillClient } from 'pimabill';
const pima = new PimaBillClient({
token: process.env.PIMABILL_API_KEY!,
});
// A monthly plan, billed in shillings
await pima.subscriptions.create({
customerId: 'cus_123',
planId: 'plan_growth',
currency: 'UGX',
});
// Pay a supplier on MTN MoMo
await pima.payouts.create({
amount: '120000',
currency: 'UGX',
payee: { type: 'mobile_money', msisdn: '256771234567' },
});Compare
How PimaBill compares
Built for the way payments work across Africa, without giving up what the global tools do well.
| Feature | PimaBill | Stripe Billing | Lago | Chargebee |
|---|---|---|---|---|
| Open source, self-host on your own servers | ||||
| Mobile money built in (MTN MoMo, Airtel Money) | ||||
| Subscriptions, usage billing, coupons and add-ons | ||||
| Payouts and wallet transfers | With Connect | |||
| Double-entry ledger of every movement | ||||
| Get paid without your own provider account | On our cloud | |||
| Price | Free, then $15 a month | 0.7% of billing volume | Free to self-host; cloud on quote | Free to $250K billed, then from about $599 a month |
Out-of-the-box features and public list prices as of October 2026. Check each vendor's site for current details.
Pricing
Start free. Pay when you grow.
We host it for you, with a plan for every stage of your business.
Cloud Free
Free
We host it. Start billing today, free while you stay within the limits.
- 1,000 customers and 1,000 active subscriptions
- 2,500 invoices a month, 5 team members
- Every feature: usage billing, wallets, the ledger
- Managed payments: get paid without setting up a payment provider
- Sandbox with test keys
- Community support
Cloud Growth
$15/mo
UGX 55,000 · KES 1,900 · NGN 22,000, or your currency · two months free yearly
No limits, priced for African businesses.
- Unlimited customers and subscriptions
- Unlimited invoices and team members
- Everything in Cloud Free
- Pay by card or mobile money, in your currency
- Priority support
- Automatic updates and backups
Enterprise
Custom
For large, multi-entity billing operations.
- Everything in Cloud Growth
- Dedicated database cluster
- Custom SLA
- SSO / SAML
- On-premise deployment support
- A named account manager
Self-hosted
Free
Run the open-source platform on your own servers, free forever, with no limits.
- Every feature, unlimited organisations and customers
- Bring your own payment providers: every provider supported
- AGPL-3.0, running in minutes with Docker Compose
- Your own sandbox deployment
- Community support on GitHub
Questions
Is PimaBill free and open source?
Yes. PimaBill is released under the AGPL-3.0 licence and the SDKs under MIT. You can self-host it with Docker at no cost, or use our cloud: free up to 1,000 customers, then Growth, with no limits, at $15 a month, payable in your own currency (UGX 55,000, KES 1,900, NGN 22,000 and more). Enterprise is priced with you. Managed payments are part of the cloud only.
Can I bill customers with mobile money?
Yes. Collect and pay out with MTN MoMo and Airtel Money directly, or through Yo! Payments, Flutterwave, Eversend and other providers, alongside cards, bank transfers and PayPal.
Does it support usage-based and subscription billing?
Both. Define plans with standard, graduated, volume, package or percentage pricing, meter usage events, apply coupons and add-ons, and invoice automatically on any billing interval.
Do you hold my money?
Not when you connect your own payment providers or crypto wallet: payments go straight to your accounts, and PimaBill records every movement in a double-entry ledger. If you would rather not set up payment providers, managed payments on our cloud takes payments for you and pays them out to your mobile money, bank or PayPal, and you can change where they go at any time.
Can I test without moving real money?
Yes. A sandbox runs the same PimaBill against the payment providers' test accounts. Switch to it from the dashboard to get sk_test_ API keys and separate test data; your live account keeps working as it is.
Can I accept crypto?
Yes. Receive USDT on TRON, Ethereum or BNB Chain and Bitcoin straight to your own wallet with no processor, or use NOWPayments, Eversend or Binance Pay.
Can my team use it with different permissions?
Yes. Invite teammates as owner, admin, finance, developer or viewer, and manage several organisations from one login.
Which currencies are supported?
Any ISO 4217 currency, including UGX, KES, NGN, GHS, TZS, RWF, ZAR, USD, EUR and GBP, with the right number of decimals for each: none for UGX, two for KES, three for KWD.
What do I need to self-host it?
Docker. One docker compose command starts PostgreSQL, Redis, the API, the background worker, the dashboard and the docs. Each organisation gets its own database.
How does it compare with Lago, Kill Bill or Chargebee?
PimaBill covers the same ground as those subscription and usage billing tools (plans, metering, invoices, dunning) and adds mobile money, payouts, wallet transfers, crypto and a double-entry ledger in the same open-source product.






