Estimates • Invoices • Recurring • 100% Free

Invoicing that ships with your CRM data

Quotes, one-off invoices, and recurring subscriptions on the same line-item engine. Send a tokenised link, accept payment online with Stripe, auto-flip the status on paid. No per-document fees, no SaaS portal for your customers.

Estimates → invoices
One transactional convert, status linked
Recurring billing
Subscriptions without subscribing
Online payments
Stripe built-in, others via webhook
How it works

From quote to cash.

No spreadsheets, no separate billing tool, no monthly fee per invoice sent.

1

Draft

Build the doc from line items — quantity, unit price, per-line tax, discount. Totals are computed server-side.

  • Line-item editor
  • Per-line tax rates
  • Item & flat discounts
  • Save as template
2

Send

Email it to the customer's primary contact in one click — they get a branded HTML email and a tokenised public URL.

  • Branded email template
  • Tokenised public URL
  • PDF attached or linked
  • Reminders configurable
3

Get paid

Customer pays online via Stripe (built-in) or any gateway via webhook. The invoice flips to paid automatically.

  • Stripe out of the box
  • Other gateways via webhook
  • Partial payments tracked
  • Auto-receipt on paid
4

Renew

Recurring schedules materialise invoices on cadence — daily, weekly, monthly, yearly. Run-of-mill subscription billing without a SaaS subscription.

  • Any cadence
  • Auto-send toggle
  • End date or open-ended
  • Inherits template line items
Capabilities

Everything billing should do.

Estimates, invoices, recurring

One unified line-item model powers customer-facing estimates (quotes), one-off invoices, and recurring subscriptions. Convert an estimate to an invoice in one transaction.

  • Three doc types, one engine
  • Estimate → invoice convert
  • Status workflow per type
  • Audit trail on every change

Tax & discount

Per-line tax rates for mixed jurisdictions. Discounts as % or flat. Subtotal, tax, discount, and grand total recomputed on every save — never trust client-side math.

  • Per-line tax
  • Compound tax stacking
  • % or flat discounts
  • Server-recomputed totals

Public customer pages

Every estimate and invoice gets a tokenised public URL. Customers view, accept (estimates), or pay (invoices) — no login required.

  • Tokenised URLs
  • Mobile-friendly templates
  • Accept-online button
  • Pay-online button

Payments

Stripe wired in by default. Other gateways plug in via webhooks — record the payment, flip the status. Partial payments tracked separately.

  • Stripe built-in
  • Any gateway via webhook
  • Partial payments
  • Refund tracking

Recurring billing

A Celery beat task generates due invoices every hour. Customers don't need to live in a SaaS portal — just receive invoices on cadence and pay.

  • Daily / weekly / monthly / yearly
  • Day-of-month anchor
  • Auto-send option
  • End date or perpetual

Revenue analytics

AR aging, paid-vs-overdue, MRR/ARR if you use recurring, top customers by revenue. All slices ship out of the box.

  • AR aging buckets
  • MRR / ARR rollups
  • Top customers
  • Overdue alerts

Connected to your stack.

Built next to your CRM data — accounts, contacts, deals — so an invoice always knows who, what, and why.

Stripe
Online payments out of the box
Email
Branded delivery + reminders
Mobile
View & send from Flutter app
Webhooks
invoice.sent, .paid, .overdue
Custom fields
PO #, tax ID, payment terms
Tagging
Group by project, region, currency

Questions, answered.

Can I customise the invoice template?

Yes — invoice PDFs render from an HTML template you can edit per org (logo, colors, headings, footer terms). The default template covers standard B2B layouts; advanced layouts can swap in a fully custom template.

What currencies and tax models are supported?

Any ISO-4217 currency code, with per-document currency. Tax is per-line, supporting compound rates (e.g. provincial + federal). Each org sets its default currency and tax behaviour; documents can override.

How are recurring invoices generated?

A Celery beat task scans active schedules every hour and materialises invoices that are due. The generated invoice inherits the template's line items, contact, and custom field values, then optionally sends itself based on the schedule's auto-send flag.

Can customers pay without an account?

Yes. Every invoice has a tokenised public URL (no login). With Stripe configured, the customer can pay directly from that page. Payment via other gateways (PayPal, Razorpay, custom) is supported via a webhook integration that records the payment server-side.

Send invoices, not subscription fees.

Free, self-hosted, open source. Stripe wired in, recurring billing included.