The PSA your MSP
actually owns.
A complete Professional Services Automation platform — service desk, CRM, contracts, quoting, invoicing, projects and time. Open source, self-hosted, and free of per-seat pricing forever.
No credit card. No sales call. No seat count.
Why another PSA
You are renting the system that runs your business.
Per-seat pricing punishes you for hiring. Your data sits in someone else's database on someone else's terms, and getting it out is deliberately tedious. Every renewal is a negotiation you are on the wrong side of.
VibePSA is the other option: run it yourself, read every line, change what you don't like, and add engineers without opening a spreadsheet to work out what it will cost.
Your database
Runs on your own PostgreSQL. Nothing phones home, and a pg_dump is a complete export.
Unlimited seats
Add the whole team. The price is the same as adding nobody, because there is no price.
No lock-in
Documented schema, full SQL in the repo, AGPL licence. Leaving is a supported path.
Modules
A whole PSA, not a ticketing app
The pieces an MSP actually runs on, built to work together rather than bolted alongside each other.
Service Desk
Tickets with notes, status flow, SLA tracking and time capture. Reference numbers, assignment, and an audit trail on every change.
CRM
Companies, contacts and a drag-and-drop opportunity pipeline. Prospects convert to customers without re-keying anything.
Contracts
Managed service, fixed price, pre-pay hours and T&M. Contracts absorb labour and drive the recurring invoice, so the two never disagree.
Quotes & Invoices
Line-item quote builder with PDF output and a customer-facing portal. Invoices with payments, recurring schedules and ready-to-bill queues.
Projects
Tasks, milestones and budget tracking, with time booked against them feeding straight into profitability.
Timesheets
Log time against tickets or projects. Cost is snapshotted at write time, so changing a rate never rewrites history.
Reporting
Revenue, utilisation, ticket and project reports — plus true profitability: revenue minus engineer cost minus service cost.
Users & Roles
Full RBAC, per-tenant engineer cost rates, enforced two-factor, and admin impersonation with an audit record.
Built in, not bolted on
An assistant that knows your business
Not a chatbot in the corner. The assistant is given your actual schema, so it answers from your data — and it is scoped to your tenant at the database level, not by asking it nicely.
- Bring your own key — Anthropic, OpenAI, or anything OpenAI-compatible including a local Ollama model.
- An assistant on every screen that already knows your schema, so it answers from your data rather than guessing.
- Ask in plain English: "which contracts lost money last quarter?" — it writes the query and explains the answer.
- An MCP server, so you can drive VibePSA from Claude Desktop instead of clicking through screens.
- Read-only by default. Writes are opt-in, and the assistant confirms before it creates anything.
Which contracts lost money last quarter?
Two of your fourteen active contracts ran at a loss:
- Northwind Ltd−£1,240 (−31%)
- Baxter & Co−£310 (−4%)
Northwind absorbed 41 engineer hours against a £400/month fee. Shall I draft a renewal at a rate that covers it?
Download
Running in about ten minutes
You need Node 18 or newer and a PostgreSQL database. Deploy it to Vercel, a VPS, or your own hardware — it is a standard Next.js app with a Prisma schema, not an appliance.
Clone and install
One command, no build toolchain to assemble first.
Point at Postgres
Set DATABASE_URL and push the schema. The full SQL is in the repo if you would rather run it yourself.
Add your keys
SMTP for outbound mail, and an LLM key if you want the assistant. Both optional to get started.
# 1. Get it
git clone https://github.com/xantaradev/vibepsa.git
cd vibepsa && npm install
# 2. Configure
cp .env.example .env
# DATABASE_URL="postgresql://..."
# 3. Create the schema
npx prisma db push
npm run db:seed
# 4. Go
npm run dev
# → http://localhost:3000Live demo
Have a click around first
A full instance loaded with a fictional MSP's data — tickets, contracts, invoices and all. Nothing to install, and you cannot break anything that matters.
Demo coming soonThe hosted demo isn't up yet. In the meantime, the repository has a seed script that fills a local install with the same sample data — clone it and you have the demo on your own machine in minutes.
Open source
Built in the open
VibePSA started at an MSP consultancy that got tired of watching clients get squeezed at renewal. It is AGPL-3.0 licensed and developed in public — every commit, every issue, every decision.
It is early, and it shows in places. If you run an MSP and something here is wrong or missing, that is exactly the feedback worth having — an issue describing how your business actually works is as useful as a pull request.
- AGPL-3.0
- Licence — free for commercial use
- 58
- Database tables, fully documented
- £0
- Per seat, per month, forever
- 100%
- Of the source, not an open core
Questions
Is it really free?
Yes. VibePSA is AGPL-3.0 licensed — download it, run it, modify it, use it commercially, for nothing. There is no seat count, no feature gate, and no paid tier holding anything back. If you self-host, your only cost is the hosting itself.
What does AGPL mean for me as an MSP?
If you run VibePSA to operate your own MSP — the normal case — it means nothing at all. Use it however you like. The licence only bites if you modify VibePSA and offer that modified version to others as a hosted service, in which case you have to publish your changes. It exists to stop someone taking this and selling it back as closed software.
Where does my data live?
Wherever you put it. VibePSA runs against your own PostgreSQL database — Supabase, Neon, RDS, or Postgres on a box under your desk. Nothing phones home. There is no vendor telemetry and no central service that has to be up for your PSA to work.
Can I migrate off it later?
It is a documented PostgreSQL schema you already own, and the full SQL is in the repo. Take a pg_dump and it's yours. Being easy to leave is the point — that's the problem with the incumbents.
Is it production-ready?
Be realistic about where this is. The modules described here are built and working, but VibePSA is young and has not been through years of hardening across hundreds of MSPs the way the commercial products have. Trial it alongside what you run today before you trust it with your billing.
How do I get help?
GitHub issues for bugs and feature requests, and discussions for questions. There is no support SLA — it is an open source project, not a product with a contract behind it. If you need commercial support, get in touch at [email protected].
Stop renting your own operations
Clone it, point it at a database, and see what you think.