If you’re new here: OneCamp is a self-hosted workspace (chat, tasks, docs, calls, calendar and AI agents) that you install on your own server. It is open source and free for up to 25 people.
OneCamp has made invoices from tracked time since v2.48, at each person’s rate. But an invoice lived only as long as the browser tab: you printed it to a PDF, and from then on, whether it was paid was something you kept in your head, or in a spreadsheet. Now OneCamp keeps track.

Make an invoice from a project’s time report as before, then:
A sent invoice stays exactly as it was sent: its lines, its amounts, its dates. If one is wrong, Void it and make a new one. The void invoice keeps its number, so no number is ever used twice. Your accountant will thank you.
A saved invoice also keeps its lines as they were billed. Change a rate next month, and last month’s invoice still says what you actually charged.
Each project’s time report now lists its invoices: who they’re for, what they come to, and whether they’re a draft, sent, paid or Overdue, which is a sent invoice whose due day has passed. Above them, what’s still owed, per currency.
Money stays with a project’s admins, as rates do: everyone else’s time report shows hours.
Asana, Linear, Notion and Basecamp don’t make invoices at all. Toggl makes one from tracked time, as a PDF, but doesn’t track whether it was paid. OneCamp now makes the invoice from the project’s own time and follows it to paid, on your own server, in every edition, the free one included.