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.
Earlier today I wrote about sending a client a link to their project instead of a status email, and about tracking time on tasks. Two things were still missing at the end of the job: the client saying yes, that’s done, and you sending the bill. Both are in OneCamp now.
When you share a project with Can see and comment, every task the client opens now has two buttons: Approve and Request changes. Asking for changes needs a note (“make the hero image brighter”), so you’re never left guessing what they meant.
What happens next:
The picture at the top is the client’s view after asking for a change and then approving it. Nobody needed an account.
On the project, press the clock button to open the time report, then Make an invoice. A page opens with the billable time for the range you picked.

On the left you fill in:
The invoice on the right updates as you type. Print or save as PDF opens your browser’s print dialog; choose “Save as PDF” and you have the file to send. The PDF is made on your own computer.
Your business details are remembered in your browser, and so are each project’s client details and rate, so next month’s invoice for the same client is a couple of clicks.
Only billable time is invoiced. Time you marked as not billable stays in the report, but not on the bill.
This one was embarrassing. The signed-in app keeps the page itself still and scrolls inside its panes, and the rule that did that applied to every page, including the ones you send to people outside your team. On a phone, a client filling in your intake form couldn’t scroll down to Submit, and a booking page cut off its later times.
Now only the signed-in app holds the page still. Forms, booking pages, shared docs and tables scroll the way any web page does.
Also fixed: in shared channels and on project links, a message from a client or from someone on the Slack bridge now shows their name (“Priya (Acme) (guest)”) as the author, instead of a generic “Guests” with the name in brackets above the text.
Leaving another tool? There are now short pages on moving from Slack, Basecamp, Notion, ClickUp and Toggl, each with what the other tool does better and how to bring your work across.
These arrived in OneCamp v2.48.0 (with AI) and v1.33.0 (without AI).