Open Source · Self-Hosted · MCP-Enabled

Business management
built for developers.

Clients, projects, time tracking, invoicing, and follow-ups. One self-hosted platform. No SaaS subscription. Your data stays yours.

bash
$ git clone https://github.com/reneweiser/freelancer-crm
$ cd freelancer-crm
$ docker compose -f docker-compose.prod.yml up -d
Creating freelancer-crm-app-1 ... done
Creating freelancer-crm-db-1 ... done

# That's it. Open your browser.
$ open https://crm.yourdomain.com

From first contact
to final payment.

A clear pipeline that mirrors how freelancers actually work. Every step tracked, nothing forgotten.

01 Client Add contacts, companies, notes. Full relationship history.
02 Offer Create quotes with line items. Generate & send PDFs.
03 Project Track progress. Log hours. Fixed or hourly pricing.
04 Invoice Auto-generate from projects. Sequential numbering. PDF export.
05 Payment Record payments. Track overdue. Export for tax season.
06 Follow-up Reminders, recurring tasks, automated notifications.

Everything you need.
Nothing you don't.

Built by a freelancer, for freelancers. Every feature solves a real problem.

<Client />

Client Management

Companies and individuals. Contact details, VAT IDs, notes, and full relationship history at a glance.

<Time />

Time Tracking

Log hours with start/stop or manual entry. Billable vs. non-billable. Automatically flows into invoices.

<Invoice />

Invoicing & PDF

German-compliant invoices with auto-numbering, VAT calculation, and professional PDF generation. Send via email.

<Remind />

Reminders & Tasks

Attach reminders to any entity. Recurring schedules for maintenance contracts. Never miss a follow-up.

<Export />

Tax-Ready Exports

Export by date range. VAT summaries. Income reports by month, quarter, or year. Your accountant will thank you.

<API />

REST API

Full CRUD API with Sanctum auth. Integrate with your tools, scripts, or AI assistants. 60 req/min rate limiting.

<Mail />

Email Integration

Send offers and invoices directly. Payment reminders. Queued delivery with failure tracking and retry.

<Dash />

Dashboard

Open invoices, monthly revenue, active projects. Quick actions and upcoming reminders. All at a glance.

<Lock />

Privacy First

Self-hosted on your infrastructure. No third-party data sharing. User-scoped data isolation. Your data, your rules.

Model Context Protocol

Talk to your CRM.
Literally.

Ships with a dedicated MCP server that connects Claude Code and Claude Desktop directly to your CRM data. Create projects from meeting notes, generate invoices from conversation, query your pipeline — all through natural language.

  • 15 MCP tools for clients, projects, invoices, reminders, and stats
  • Batch operations for atomic multi-resource workflows
  • Auto-pagination and smart error messages with fix suggestions
  • Sanctum token auth with configurable rate limiting
View MCP Server on GitHub
claude code
you Create a project for Acme Corp — website redesign, 3 phases, 12k total.

mcp crm_list_clients → found "Acme Corp" (id: 42)
mcp crm_create_project → 3 line items, €12,000.00

claude Done. Created project "Website Redesign" for Acme Corp with 3 phases totaling €12,000. Status is set to draft — want me to send the offer?

you Yes, and remind me to follow up in 2 weeks.

mcp crm_update_project_status → draft → sent
mcp crm_create_reminder → 2026-02-20, "Follow up on Acme offer"

claude Offer sent and reminder set for Feb 20th.
15 tools · clients · projects · invoices · reminders · stats · batch ops
0

Monthly fees

Self-hosted, open source. No per-seat pricing. No subscription traps. Run it on a 5€/month VPS.

<5m

Deploy time

Docker image pulls from GHCR. One compose file. Environment variables. Done.

DE

Tax compliant

German locale, EUR currency, Leistungszeitraum, VAT calculation, sequential invoice numbering. Built-in.

API

Scriptable

REST API for everything. Automate with cron jobs, AI agents, or custom integrations. Your CRM, programmable.

Built on proven tools.

No experimental frameworks. No vendor lock-in. Battle-tested technologies you already know.

Laravel v12
Filament v4
PHP 8.4+
Livewire v3
Tailwind CSS v4
MariaDB 11
Docker compose
Sanctum auth
DomPDF pdf gen
Pest v4 testing

Two ways to ship it.

Pre-built images on GHCR. No local build step required.

Docker Compose

Direct CLI deployment. Pull, configure, run.

$ cp .env.example .env.prod
$ nano .env.prod
$ docker compose \
  -f docker-compose.prod.yml \
  --env-file .env.prod up -d

Portainer Stack

GUI deployment with Traefik reverse proxy integration.

# 1. Create stack in Portainer UI
# 2. Paste docker-compose.portainer.yml
# 3. Set environment variables:
   APP_KEY, APP_URL, APP_DOMAIN
   DB_PASSWORD, DB_ROOT_PASSWORD
# 4. Deploy stack

Ready to take control?

Clone the repo. Deploy in minutes. Own your business data.