Invora
Recurring invoices, payment links that mark themselves paid, and reminders that chase late payers.
For freelancers and small firms. Often replaces FreshBooks, Wave or Bill.com.
Single license $99 · Extended license $229 · paid once, yours for good
What it does
Off until you switch them on. Approve the schedule and wording once. They go through your own SMTP and stop when an invoice is paid.
One button sends the invoice, its public link and your payment link through your own SMTP. Every send is logged.
Weekly to yearly. Each cycle lands as a draft for you to review, and the same period can never draft twice.
A Pay button appears on the client's invoice only while a balance is owing. It names the host that takes the payment.
A client who pays through your Stripe Payment Link is recorded against the right invoice. No more reminders go out.
A fixed amount or a percentage, once or every 30 days, up to a limit you set. Off until you switch it on; waive any fee.
Their open invoices with your pay button, and estimates waiting for an answer. Also 24 months of history and a statement PDF.
Clients accept or decline from the estimate's link. An accepted estimate becomes a draft invoice for you to send.
Add up to five fields, such as a PO number or job site. They print under 'Billed to' and on the PDF.
Whole-cent arithmetic with per-line tax and proportional discounts. Paid, partial and overdue come from recorded payments.
Print-ready PDFs with your logo and colors, plus a read-only link for the client that needs no login.
Install it from the browser to a phone or tablet home screen. No app store involved.
Also: a live line-item editor, estimates to invoice in one click, a dashboard with a 12-month collection chart, a reusable client and item catalog.
Self-hosted without the assembly
The other answer to “self-hosted” is a repository: clone it, read the compose file, provision a database, wire up mail, then keep it patched yourself. That is a fair answer when running infrastructure is already your job, and we would rather say so than pretend otherwise. This is the other kind. It is bought once at $99.00, the full PHP source is in the download, and the web installer finishes on ordinary shared hosting in about two minutes. No Composer, no Node, no build step, nothing to compile, and nothing that phones home.
What Invora deliberately doesn’t do.
- Invora never processes cards. Bring your own payment link (Stripe Payment Link, PayPal.me, your bank's page); payments are recorded here when they land.
- Not double-entry accounting, a general ledger or an ERP — it exports clean CSV/JSON for whatever keeps your books.
- Single-tenant: one business per installation.
- Email goes through your own SMTP server; there is no relay and no sending service.
- Invoices go out only when a person presses Send. Automatic payment reminders (3.2) are off until you switch them on; you approve the schedule and the wording once, and they go through your own SMTP.
What renting costs instead
5 months of FreshBooks costs what Invora costs once.
Read Sep 26, 2026 · source6 months of Wave costs what Invora costs once.
Read Sep 3, 2026 · source1 month of Bill.com costs what Invora costs once.
Read Sep 3, 2026 · sourceThe full comparison: every rival, what each does better, and who should stay with them →
Replacing one of these? FreshBooks alternative · Wave alternative · Bill.com alternative · Invoice Ninja (hosted) alternative · Bonsai alternative · HoneyBook alternative · Invoicely alternative · Zoho Billing alternative · Zoho Invoice alternative
Release history
For Invora, 4.1 adds payment reminders by text through your own SMS gateway, only to clients who agreed. What’s new in 4.1 →
For Invora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →
This release put your own details on the paper. What’s new in 3.3 →
This release closed the loop on getting paid: automatic payment reminders you approve once, and a client who pays through your Stripe Payment Link recorded against the…
The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…
Point Claude, an n8n agent or your own script at POST /mcp and it can list and create invoices and estimates, record payments and pull the overdue report — under the…
Invora 2.0 adds the 2.0 owner layer.
What’s in the zip
The tree as the zip ships it — the working leftovers the packager deletes are not listed
- .htaccess
- API.md
- Dockerfile
- QUICKSTART.txt
- assets/
- bin/
- config.sample.php
- controllers/
- deploy/
- index.php
- install/
- manifest.json
- offline.html
- router.php
- src/
- sw.js
- tests/
- views/
src/AutoRemind.php: a real module, the first 24 of 599 lines
Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.
<?php /** * AutoRemind.php — v3.2: automatic payment reminders, on a schedule the owner approves once. * * Until 3.2 Invora never mailed a client without a person pressing a button. This sends on a * schedule, so every rule below errs on the side of NOT sending: * * 1. Armed only when three things agree: automatic reminders switched ON * (settings.auto_remind_enabled, default 0), client email ON (notify_client_email, the * master switch every client mail already needs), and the owner's own SMTP set up. A demo * install records in the outbox and opens no socket (ClientMail's rule). * 2. Open invoices only: effective status sent, partial or overdue, a balance above zero, a * due date, and a client with a valid address. A draft, an estimate, a paid invoice or one * with nothing left to pay is never reminded, and run() reads the invoice again immediately * before each send, so a payment recorded a moment earlier stops it. * 3. A step is a number of days from the due date (negative = before it) and goes at most once * per invoice. A step owns the days from its own day until the next step's day, and never * more than WINDOW_DAYS: a step that could not go on its day (a refused send, the daily cap, * a quiet day) is tried on the following days inside that window, never twice on one day, * and the next step takes over as soon as its day comes. An invoice first seen long after * its due date therefore gets at most one reminder, never the whole schedule in a burst. * 4. A step whose day falls on or before the invoice's issue date is skipped: nobody is told an * invoice is due soon on the day it was issued, or before it existed. * 5. Paused per invoice and per client. A daily cap. A quiet day: no automatic reminder on the
Runs on: 2-minute web installer, plain PHP 8.1+ with MySQL (or SQLite for a trial), no Composer or build step — Docker image included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.
Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- invora <your license key>
Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run
Which license do I need?
It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.
- Install it on one domain or subdomain you own or operate
- Change the source however you like for that installation
- Run your own business on it commercially, client work included
- Re-download the current build any time from your buyer portal
- A second site, or an installation you hand to a client as theirs, needs the Extended license
- No reselling, redistributing or sublicensing the source
- Not for offering it to other people as a hosted service
- Everything the Single license grants
- Install it on as many domains as you own or operate — no cap on the number
- Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
- White-label: remove or replace the product name and logo in the screens of client installations
- Still no reselling or redistributing the source itself
- Running it as a multi-tenant service others sign up for needs a SaaS agreement
Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.
After you buy
The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.
Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers
Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms
It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.
Questions
Does Invora support recurring invoices?
Does it email invoices automatically?
Can it collect online payments?
What do I need to run it?
What if the developer disappears?
Is there a monthly fee, or a percentage of what I invoice?
Do I need Composer, or a PDF library, alongside it?
How do upgrades work — is there a migration command to remember?
Once I set up a recurring cycle, do invoices go out on their own?
Covered in these guides
- What's new in Own It 4.1
- What's new in Own It 3.3
- What's new in Own It 3.2
- Invoice reminders that don't sound like a robot
- Leaving HoneyBook? What changes when you own invoicing
- Self-hosted CRM: what it costs to run
Also covered in: Appointment booking with CRM, self-hosted · Driving-school software: seven jobs, in the order worth buying them · What Invoice Ninja actually costs, including the free way to run it · There is no freelancer suite here, and this is what one person actually needs · The Back-Office Suite: four kinds of paper, one license · The field-service stack, bought once: the quote that becomes a job, the van's service date, the kit that goes out, and the checks that come due, and 14 more in the guides.
More about Invora
Self-hosted recurring invoicing for freelancers and small firms: every cycle lands as a draft you approve before it goes out, and each unpaid invoice carries your own payment link.
The problem it solves
If you are looking for self-hosted invoicing software — one time payment, no subscription — you are most likely weighing this against Invoice Ninja and InvoicePlane. Both are free and open source, and if you are comfortable running Docker or administering a VPS, either is a fair answer — we would rather say so than pretend otherwise. Invora is for the case they do not cover well: plain PHP on ordinary shared hosting, a two-minute installer, $99 paid once with the full source included, and invoice arithmetic you can check yourself.
Freelancers, consultants, and small businesses that invoice clients are otherwise stuck paying a hosted invoicing tool a monthly fee forever, and that tool keeps their client and revenue data. Cheap invoice scripts often get the numbers subtly wrong too — floating-point drift, discounts and tax applied in the wrong order, and manual status juggling to work out what's paid, partial, or overdue.
- Monthly SaaS fees that never stop
- Client and revenue data living on someone else's server
- Invoice math you can't verify yourself
Every feature
- Automatic payment reminders, off until you approve them. Switch them on once, approve the steps (by default three days before the due date, on the day, a week after and two weeks after) and the wording, and see exactly what would go out today before anything does. They go through your own SMTP, stop the moment an invoice is paid (including when the client pays through your Stripe Payment Link), keep to a daily cap, and pause per invoice or per client.
- Email an invoice to your client. One button sends the invoice — number, amount, due date, their own public link and your payment link — through your own SMTP. Off until you switch it on, every attempt logged in a send log, and a failed send never touches the invoice.
- Recurring invoices that draft, never send. Weekly, every two weeks, monthly, quarterly or yearly. Each cycle lands as a draft you review; a unique period stamp means the same month can never draft twice, even from two open tabs.
- Your payment link on every unpaid invoice. Set an account-wide payment link or override it per invoice; it renders as a Pay button on the client's invoice only while a balance is owing. Scheme-checked, and the page names the host that takes the payment.
- Provable money math. Integer-cents arithmetic with per-line tax rates and proportional discounts, plus automatic paid/partial/overdue status derived from recorded payments and the due date.
- Live line-item editor. Totals update as you type, pulling from your saved item catalog.
- Estimates to invoice in one click. Convert a quote or estimate straight into an invoice.
- Branded PDF & public link. Print-perfect branded PDF invoices plus a read-only public client link that needs no login.
- Dashboard & collection chart. See invoiced, collected, outstanding and overdue totals, a 12-month chart of invoiced against collected, and receivables aging.
- Reusable clients & item catalog. Saved clients and items with default tax rates, auto-numbering, and one-click demo data.
- Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
- Stripe payments mark the invoice paid. Point your Stripe webhook at your install: a client who pays through your Stripe Payment Link is recorded against the right invoice, which shows paid and gets no further reminder. Each notice is signature-checked and recorded once. Invora never sees a card.
- Late fees, on your rule. Off until you switch it on: a flat amount or a percentage of what is unpaid, a number of days after the due date, once or every 30 days up to a limit. It shows on the invoice as its own line, the next reminder names it, you can waive any fee, and it never touches an invoice that fell due before the rule started.
- A page for each client. One private link shows a client their open invoices with your payment button, estimates waiting for an answer, 24 months of history and a statement PDF.
- Estimates answered online. The client accepts or declines on the estimate's link; an accepted estimate becomes a draft invoice for you to send.
- Your own fields on every invoice. Name up to five fields once (a PO number, a project, a job site); every invoice and estimate gets a box for each, and a filled-in field prints under "Billed to" and in the PDF. They carry over when an estimate becomes an invoice and into each recurring draft, and the API reads and writes them by name.
- Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
- Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
- Payment reminders by text. The automatic reminders can also go by text through your own SMS gateway, only to clients you marked as having agreed, inside your texting hours. Each step texts once, every text names your business and ends with a stop link, and a refused text is shown with your gateway's answer.
- Own It 4.0.1 — fixes and an up-to-date manual. For Invora, 4.0.1 fixes an installer and its invite and two-factor pages that had lost their styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0.2 — the installer opens on every host. For Invora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
Release notes in full
- Own It 4.1: payment reminders by text. For Invora, 4.1 adds payment reminders by text through your own SMS gateway, only to clients who agreed. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Invora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0: it updates and backs itself up. For Invora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
- Own It 3.3: your own fields on every invoice. This release put your own details on the paper. Name up to five fields once, such as a PO number, a project or a job site, and every invoice and estimate gets a box for each. A filled-in field prints under "Billed to" and in the PDF, and carries over when an estimate becomes an invoice.
- Own It 3.2: invoices that close themselves. This release closed the loop on getting paid: automatic payment reminders you approve once, and a client who pays through your Stripe Payment Link recorded against the right invoice, which then gets no further reminder. Each client has one private page with their open invoices, estimates to accept or decline, and a statement, and late fees follow your own rule. Reminders and late fees are each off until you switch them on.
- Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
- Own It 3.0: works for your AI, not just for you. Point Claude, an n8n agent or your own script at POST /mcp and it can list and create invoices and estimates, record payments and pull the overdue report — under the same key, roles and integer-cent money engine you use. There is deliberately no send tool and no delete tool: mail and destruction stay human clicks. Recurring invoices arrive as drafts for review, never as sent mail.
- Own It 2.0: API, 2FA, backups, dark mode. Invora 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.
Browse self-hosted: Front-office software · Salon & clinic software · Office & finance software · School & training-provider software · Charity, club & association software · Garage & vehicle-service software · Event & venue software · Coworking & workspace software · Accountancy & bookkeeping software · Photography & creative-studio software · Driving-school software · IT support & managed-service software