SELF-HOSTEDYour invoicing, on your machine

Invoice, chase and file VAT.Without the subscription.

Culture Finance is a complete invoicing system you run yourself. Send invoices clients can open without an account, chase the late ones automatically, file receipts against bills, and see exactly what you’re owed, what you owe and what’s left - from figures you can check line by line.

No monthly fee No per-user pricing Nothing leaves your machine
The Culture Finance dashboard, showing invoices owed, bills to pay, net profit, cash in and cash out, with a cash-flow chart underneathThe Culture Finance dashboard, showing invoices owed, bills to pay, net profit, cash in and cash out, with a cash-flow chart underneath

£0

Per month, per user, forever. It runs on your machine.

8

One-click CSV exports, each carrying your filters.

4

Date bases to slice by, issued, due, paid, or any custom range.

100%

Of your invoices, clients and receipts stay on your own disk.

What it does

Everything an invoicing tool should do, and nothing it shouldn’t.

Built around the jobs that actually take your time: getting the invoice out, getting it paid, and knowing where you stand when the quarter closes.

Invoices that add up

Multi-line invoices with per-line VAT and live totals. Draft becomes sent, part paid, then paid on its own, and anything past its due date flips to overdue without you touching it.

Chasing that actually happens

Set a reminder on any invoice or bill. Anything due shows a count in the header and a card on the dashboard, and one click sends a chase email with the balance and exactly how late it is.

Bills and receipts in one place

Log what you owe, upload the receipt as a photo or PDF, and attach it to the bill. Linked receipts are excluded from expense totals, so the same cost never counts twice.

VAT you can check

Output VAT, input VAT and the net position, with every transaction that produced the number listed underneath. Export the working paper and hand it straight to your accountant.

Know what you're actually owed

Invoices owed, bills to pay, cash in, cash out and net profit or loss, all on one screen. Accrual and cash figures are shown side by side and each one is labelled, so you're never guessing which is which.

Access you control

Add staff and tick only the areas they need. Everything else disappears from their sidebar, blocks if they type the URL, and returns a 403 from the export APIs. Deactivate someone and they're signed out everywhere.

Invoicing

Send something your client can actually open.

Every invoice gets its own private link. No login, no portal, no password reset email at 9pm, they click it, see the invoice, and print it to PDF if they want a copy.

Per-line VAT: with a band-by-band breakdown, as a VAT invoice needs

Bank details on the page: with the invoice number as the payment reference

Part payments: so the balance due is always right

Your logo and footer: set once in Settings and applied everywhere

Duplicate in one click: to raise next month's from last month's

A Culture Finance invoice showing line items, VAT bands, totals, balance due and bank payment detailsA Culture Finance invoice showing line items, VAT bands, totals, balance due and bank payment details

Getting paid

Know who’s late before they do.

Overdue is applied the moment a due date passes, not the next time you remember to look. Filter by when something was actually paid, not just when it was raised, so “what came in last quarter” is one dropdown away.

Chase emails: showing the outstanding balance and the days late

Reminders: on invoices, on bills, or free-standing, with a count in the header

Filter by date paid: as well as issue date and due date, over any period

A running summary: of net, VAT, gross, paid and outstanding above every list

The invoice list, filtered and totalled, with statuses from draft through to overdue and paidThe invoice list, filtered and totalled, with statuses from draft through to overdue and paid

Reports & VAT

Quarter-end without the spreadsheet.

Profit and loss net of VAT, the VAT position with every transaction behind it, revenue by client, costs by category, and a rolling twelve months of cash. Then export the lot.

A VAT working paper: summary boxes, then every sale and purchase that made them

Accrual and cash, labelled: so you always know which number you're reading

Eight CSV exports: each one carrying the filters you had on screen

Any period you like: this quarter, last year, or a custom range

The reports screen showing profit and loss, a VAT summary and a cash-in-versus-cash-out chartThe reports screen showing profit and loss, a VAT summary and a cash-in-versus-cash-out chart

Included

No tiers. No add-ons. No “contact sales”.

There is only one version, and it has all of it.

Unlimited invoices clients and staff accounts
Per-line VAT rates with a proper band breakdown
Private client links no account needed to view or pay
Print-to-PDF on A4 with your logo at the top
Part payments with running balance and paid date
Duplicate an invoice to start next month's in one click
Recurring bills monthly, quarterly or yearly
Receipt uploads photos, PDFs, CSV and XLSX up to 20MB
Profit & loss net of VAT, with net margin
Revenue by client and costs by category
Month-by-month cash for the rolling twelve
A full payment log filterable by the date money landed
Multi-currency GBP, USD, EUR, AUD and CAD
Activity logging so you can see who changed what
Light and dark mode with colour-blind-safe charts
Overdue detection applied automatically on every load
Custom invoice numbering prefix and next number are yours
Complete backup in two files you can copy anywhere

What it costs

Three commands, then it’s yours.

There’s no billing page because there’s nothing to bill. You run it, so you own it.

1

Install it

Clone the project and install. Node is the only thing you need, the database is a file that gets created for you.

npm install
npm run setup
2

Make it yours

Create your owner account, then put your company details, logo, bank details and VAT number into Settings once.

npm run dev
# → localhost:3000
3

Start invoicing

Add a client, raise an invoice, send it. Set SMTP when you want real emails going out, everything works before you do.

# optional, in .env
SMTP_HOST="…"

Hosting it somewhere public? Any Node host with a persistent volume works. Keep prisma/dev.db and storage/uploads/ on that volume and your backup is a copy of two paths.

Locked down by default.

Passwords are hashed: with bcrypt at cost 12, never stored or logged in the clear

Sessions live server-side: in httpOnly cookies you can revoke instantly

Receipts sit outside the web root: and are only served after a permission check

Client links are unguessable: and drafts stay invisible until you send them

Every permission is enforced twice: in the UI and again on the server route

Questions

The things people ask first.

No. It runs on your own laptop with npm run dev, and everything lives in a single SQLite file. If you want it reachable from anywhere, so clients can open their invoice links, or staff can sign in, deploy it to any host that runs Node and keep a volume mounted for the database and uploads.

Stop renting access to your own numbers.

Set it up in the time it takes to cancel a subscription, and the next invoice you send is one you own end to end.