Invora - Self-Hosted Invoicing Billing icon

Invora - Self-Hosted Invoicing Billing

Go to Website
Hot or Not
Invora - Self-Hosted Invoicing Billing

Description

Invoicing you own outright.

Invora is a complete, self-hosted invoicing and billing system for freelancers, agencies, trades and small businesses. Estimates that convert to invoices, branded PDFs, recurring billing, payments and what you are owed - on your own server, bought once. No monthly fee, no cut of what you bill, no cap on invoices.

BUILT FOR GETTING PAID Write an estimate, convert it to an invoice with one click, and send the client a public link they can open without an account. Every document renders to a branded PDF with your logo. Record part-payments and see exactly what is outstanding, by client and by age.

RECURRING BILLING THAT CANNOT DOUBLE-CHARGE Weekly, fortnightly, monthly, quarterly or yearly. Each cycle lands as a draft you review - Invora never emails a client on its own. A unique period stamp makes it impossible for the same month to draft twice, even from two open tabs or a cron and a dashboard load at the same moment.

IT IS YOURS, DOWN TO THE PLUMBING A REST API with revocable keys, outbound webhooks, and an MCP endpoint so an AI assistant can read your books and draft documents through the same guarded functions the app uses. Two-factor authentication and optional OIDC single sign-on. Scheduled backups with a restore path. A full audit log, exportable to CSV. Saved views, team invites and roles. Client import, file attachments on documents, tax rates, a reusable item catalogue, and GDPR anonymisation. It installs to a phone home screen as an app, and it has a dark mode.

NEW IN 3.1 - IT CAN NOW WRITE TO THE PEOPLE YOU SERVE Email an invoice to your client through your own SMTP server: number, amount, due date, their own public link and your payment link, with every attempt recorded in a send log. A payment reminder for anything unpaid. A calendar feed of due dates your own calendar subscribes to. All of it ships switched off, runs on your own credentials, and a failed send never touches the invoice.

WHY SELF-HOSTED Invoicing SaaS charges per month and sometimes per invoice, forever, and holds your client list. Invora is bought once and runs on hosting you already pay for. Backup is one database. It never phones home.

TECH Plain PHP 8 + MySQL (SQLite also supported for instant local trials). No framework, no Composer, no build step, no external APIs. 2-minute web installer. Dockerfile included.

WHAT'S INCLUDED Full source code, web installer, sample data, Dockerfile, the engine test suite, and written guides in the download: README.md, QUICKSTART.txt, API.md and a deploy-for-a-client walkthrough. 6 months support.

HONEST LIMITS - READ BEFORE BUYING - 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 and 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. - Nothing is emailed automatically - every client email is a button a person presses.

LIVE DEMO https://invora.ownware.io - opens straight into the dashboard, already signed in, on sample data. No sign-up, no password. Everything resets every hour.

Features

- Estimates that convert to invoices in one click; drafts, sent, paid and overdue states - Branded PDF invoices and estimates with your own logo, printable or downloadable - A public link per document the client opens without an account - Part-payments recorded against a document; outstanding balance by client and by age - Recurring invoices - weekly, fortnightly, monthly, quarterly or yearly, always as drafts - A unique period stamp means the same cycle can never draft twice - Email an invoice or a payment reminder through your own SMTP - off until you switch it on - Every send attempt recorded in a send log, and a failed send never alters the invoice - Your own payment link rendered as a Pay button on unpaid documents only - Calendar feed (.ics) of due dates your own calendar subscribes to - Reusable item catalogue and configurable tax rates - File attachments on documents, and bulk actions across lists - Clients with import, GDPR export and anonymisation - REST API with revocable keys, plus outbound webhooks - MCP endpoint - an AI assistant can read the books and draft documents through the same guarded functions - Two-factor authentication, optional OIDC single sign-on, team invites and roles - Scheduled backups with a restore path; full audit log exportable to CSV - Saved views for the lists you open every day - Installs to a phone or tablet home screen as an app (PWA); dark mode - 2-minute web installer, sample data, Dockerfile included

Requirements

- PHP 8.0 or newer (tested on 8.3), with the PDO extension - standard on virtually all hosts - MySQL 5.5.3+ / MariaDB (InnoDB, utf8mb4) - or SQLite, bundled with PHP, no setup - Any Apache or LiteSpeed shared host with mod_rewrite, or Nginx / VPS - No Composer, no Node, no build step, no external services required - Optional: your own SMTP server, if you want to email invoices or reminders - Optional: an OIDC provider, if you want single sign-on instead of local logins - Optional: a payment link (Stripe, PayPal or your bank's page) to show a Pay button - Optional: a cron entry, if you want recurring invoices drafted without opening the dashboard

Instructions

1. Upload the contents of the app/ folder to your web root (e.g. public_html). 2. Visit your domain - the web installer opens automatically. 3. Enter database details (MySQL, or SQLite for zero setup), business name, timezone and your admin login. Click Install. 4. Add your logo and tax rates in Settings, create a client, and issue your first estimate or invoice. 5. Optional: load the sample data set to see a populated dashboard before you start. 6. Optional: in Settings, add your SMTP details to email invoices and reminders, and paste your payment link so unpaid documents show a Pay button. Both stay off until you switch them on. 7. Optional: set a recurring schedule on an invoice; each cycle lands as a draft for you to review. 8. Optional: turn on two-factor authentication under Security, issue API keys or webhooks under API settings, and set a scheduled backup. Manual alternative: copy config.sample.php to config.php and edit. Local trial: php -S localhost:8000 router.php. Full details in README.md, QUICKSTART.txt and API.md inside the download.

Authorownware
CategoryScripts & Code / PHP Scripts / Finance / Management
Price$104
Extended License$312
Likes1
First ReleaseJul 3, 2026
Last UpdateSep 7, 2026
DatabaseMySQL 5.x
Files included.php, .css, .html, JavaScript .js
Software versionPHP 8.0, PHP 8.1, PHP 8.2, PHP 8.3, PHP 8.4

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit