SolidInvoice
SolidInvoice is a PHP-based application that provides sophisticated invoicing application for small businesses.
Open-source invoicing, honestly reviewed. No marketing copy, just what happens when you actually deploy it.
TL;DR
- What it is: Open-source (MIT) invoicing application for freelancers and small businesses — create quotes, send invoices, accept Stripe/PayPal payments, run recurring billing [README][3].
- Who it’s for: Solopreneurs and small teams paying $15–30/mo for FreshBooks or Zoho Invoice who want to own their billing data and eliminate the subscription [homepage].
- Cost savings: FreshBooks Lite runs $19/mo; Zoho Invoice’s free tier caps out fast. SolidInvoice cloud is $8/mo, self-hosted is $0 software + ~$5–10/mo VPS [pricing page].
- Key strength: Clean, professional interface. Covers the core billing loop (quote → invoice → payment) without the bloat of an accounting suite. MIT license means you own it entirely [README].
- Key weakness: PHP 8.4 + MySQL stack makes self-hosting more involved than a simple Docker pull. MySQL-only database support is a hard constraint [1]. Only 867 GitHub stars — this is a small project with a small community, which matters for long-term bets.
What is SolidInvoice
SolidInvoice is a web-based invoicing application built in PHP. The core loop is straightforward: create a client, draft a quote, convert it to an invoice, accept payment online. That’s the entire pitch. The GitHub README describes it as “a sophisticated open-source invoicing application designed to assist small businesses and freelancers in efficiently managing their daily billing operations” [README] — which is accurate if you strip the adjective “sophisticated,” because what you’re actually getting is a focused, no-frills billing tool, not a full accounting platform.
The project is MIT-licensed, has 867 GitHub stars at the time of this review, and is currently on version 2.3.16 [3][4]. It’s a single-company open-source project with a parallel cloud offering at $8/month, which is a common model: give away the software, sell the managed hosting to people who don’t want to run servers.
What separates SolidInvoice from the dozens of invoicing SaaS products isn’t feature depth — it’s data ownership. When you self-host it, your client list, invoice history, and payment records live on your server, not on someone else’s database that they can price-hike, deprecate, or sell to a private equity firm. For freelancers with long-running client relationships and sensitive billing history, that’s not a trivial consideration.
The features list from the README: client and contact management, quote creation, invoice generation, online payment acceptance (Stripe and PayPal), tax and discount handling, recurring billing, a RESTful API, and email/SMS notifications [README]. It’s a complete billing workflow, just not an accounting suite — there’s no general ledger, no expense tracking, no bank reconciliation built in.
Why People Choose It
The third-party coverage of SolidInvoice is almost entirely installation tutorials rather than comparative reviews — which tells you something about where this tool sits in the market. It’s not being written up in “best of” roundups; it’s being discovered by people who already decided they want self-hosted invoicing and are looking for how to get it running [2][4][5].
That context shapes why people choose it. The pattern that emerges across the guides: someone is paying a recurring SaaS bill for invoicing, they find SolidInvoice in a self-hosted tools list, they see MIT license and $0 software cost, and they follow a deployment guide to get it running on a NAS or VPS [4][5].
Versus FreshBooks and Zoho Invoice. The comparison isn’t technical — it’s philosophical. FreshBooks Lite is $19/mo, Zoho Invoice has a free tier that caps at 1,000 invoices/year, and Wave is free-but-ads-supported. SolidInvoice cloud is $8/mo for unlimited everything [pricing page]. Self-hosted is $0 for the software. If you’re a freelancer running 20–30 invoices per month and you’re not using any of the accounting features your SaaS invoicing tool bundles in, you’re paying for features you don’t need. SolidInvoice is the focused alternative.
Versus Invoice Ninja. Invoice Ninja is the more mature open-source competitor — larger community, more GitHub stars, a stronger feature set (time tracking, expense management, proposals), and its own cloud at $12/mo. If you’re evaluating self-hosted invoicing seriously, Invoice Ninja is the first thing you should look at. SolidInvoice is simpler and has a cleaner UI, but Invoice Ninja has a broader feature set and a more active community. Data not available on direct head-to-head user comparisons, but SolidInvoice’s 867 stars versus Invoice Ninja’s significantly larger community is a real signal about ecosystem maturity.
Versus Crater. Crater is another PHP-based MIT-licensed invoicing app. Similar feature set, similar self-host model. They’re direct competitors with roughly equivalent capabilities. SolidInvoice has a longer history; Crater has better Docker documentation in some community guides.
Features
Based on the README and website:
Core billing:
- Quote creation and management [README][features page]
- Invoice generation with line items, taxes, and discounts [README]
- Convert quote to invoice in one click [features page]
- PDF export for quotes and invoices [3]
- Automatic payment reminders [homepage]
- Invoice status tracking — draft, sent, viewed, paid [features page]
Payments:
- Stripe integration (cards and wallets) [features page]
- PayPal integration [features page]
- Offline payments (cash, bank transfer, credit) — manual entry [features page]
- Automatic invoice status update when payment received [features page]
- Clients can pay invoices directly from the email link [features page]
Client management:
- Client database with contact details and multiple addresses [README][features page]
- Multiple contacts per client [features page]
- Activity history per client [features page]
Recurring billing:
- Automated recurring invoices with custom schedules [README][features page]
- Automatic reminders on recurring schedules [features page]
- Requires a cron job to function — this is a setup step you must complete separately [1]
Multi-currency:
- Bill clients in their currency [features page]
- Currency set at system level during installation [1]
Team features:
- Team member invitations [homepage]
- Role-based permissions [features page]
Developer / integration:
- RESTful API [README][homepage]
- Available on Docker Hub as
solidinvoice/solidinvoice[4][README]
What’s missing (relative to accounting suites):
- No expense tracking
- No general ledger or P&L reports
- No time tracking
- No bank feed integration
- English-only UI at this time, though locale configuration exists [1]
Pricing: SaaS vs Self-Hosted Math
SolidInvoice Cloud:
- $8/month or $80/year (saves 2 months) [pricing page]
- 30-day free trial, no credit card required [homepage]
- Includes: unlimited invoices and quotes, recurring billing, online payments, client management, multi-currency, team collaboration, automatic backups, priority email support, REST API [pricing page]
- Single plan — no tiered feature gating on the cloud offering [pricing page]
Self-hosted:
- Software: $0 (MIT license) [README]
- VPS: $5–10/mo on Hetzner, Contabo, or DigitalOcean
- NAS deployment: $0 extra if you already have a Synology or UGREEN NAS [4]
- Your time: 30–90 minutes for initial setup depending on your path
Comparison for a typical freelancer running 20 invoices/month:
| Option | Monthly | Annual |
|---|---|---|
| FreshBooks Lite | $19/mo | $228/yr |
| Zoho Invoice (paid) | $15/mo | $180/yr |
| SolidInvoice Cloud | $8/mo | $80/yr |
| SolidInvoice Self-hosted | ~$6/mo (VPS) | ~$72/yr |
Over two years: FreshBooks ≈ $456, SolidInvoice self-hosted ≈ $144. The gap widens if you’re already running a VPS for other services and SolidInvoice is just another container on it — then the marginal cost is effectively $0.
The $8/mo cloud plan is genuinely competitive even if you don’t want to self-host. The single-plan model (no feature tiers) means you’re not being pushed toward a higher tier because you need a feature.
Deployment Reality Check
This is where SolidInvoice’s PHP heritage shows. The deployment options range from “easy with Docker on a NAS” to “full LAMP stack on bare metal” — and the gap between those two paths is significant.
Docker path (easiest):
The Docker image solidinvoice/solidinvoice:2.3.16 is available on Docker Hub and works on Linux, Synology NAS, UGREEN NAS, and Zeabur [3][4]. The Portainer stack from the mariushosting.com guide is a single-service compose file — no database container, because the Docker version supports SQLite as an embedded database [4]. That’s the fastest path: pull the image, map a volume to /etc/solidinvoice, expose port 8765, done. First-run wizard handles the rest [4].
Bare metal path (more involved):
The non-Docker route requires PHP 8.4+, Apache or nginx, MariaDB/MySQL, and a set of PHP extensions: curl, mbstring, json, mysql, opcache, bcmath, intl, gd, xml, soap, zip, apcu [5]. The libtechnophile guide for Debian/Ubuntu walks through all of this, and it’s not difficult, just long [5]. The Windows path via XAMPP works but requires manual httpd.conf editing and is not a production-grade setup [2].
The cron job requirement: This is a real gotcha that the installation docs flag explicitly: recurring invoices and scheduled tasks don’t work without a cron job configured on the server [1]. The documentation warns: “If you do not set up the cron job, functionality will be limited, and scheduled tasks won’t be able to run.” [1] Docker deployments may handle this internally, but on bare metal you need to configure it yourself. If you’re a non-technical founder who set this up following a guide, and you later wonder why your recurring invoices aren’t sending — it’s the cron job.
Database constraint: The official documentation states: “Only MySQL is supported at the moment. Support for other databases may be added in a future release.” [1] This eliminates PostgreSQL as an option on bare metal installs. The Docker/SQLite path sidesteps this, but SQLite is not appropriate for multi-user production use.
Realistic time estimates:
- Docker on NAS (following mariushosting.com guide): 20–40 minutes [4]
- Docker on Linux VPS with a reverse proxy: 45–90 minutes
- Bare metal LAMP on Debian/Ubuntu: 1.5–3 hours including cron setup [5]
- Windows via XAMPP: 1–2 hours, but avoid this for anything production [2]
Pros and Cons
Pros
- MIT license. Own it, fork it, embed it, deploy as many instances as you want. No commercial licensing conversations [README].
- $8/mo cloud plan with no feature tiers and no per-invoice pricing. Simpler and cheaper than most SaaS invoicing tools [pricing page].
- SQLite option in Docker means the easiest deployment path has zero database setup [4].
- Clean, focused UI. The screenshots show a professional interface that doesn’t try to be an accounting suite. Quote → invoice → payment is the core loop and it’s not buried under tabs.
- Online payment links. Clients receive an invoice with a “Pay Now” link — Stripe and PayPal, automatic status update when paid [features page].
- REST API included in both self-hosted and cloud [README][homepage].
- Runs on a NAS. If you already have a Synology or UGREEN NAS, this is a Docker container away from eliminating your invoicing SaaS bill entirely [4].
Cons
- 867 GitHub stars is a small number. This is a small project with a small community. If the maintainer steps back, this could stall. Compare to Invoice Ninja’s order-of-magnitude larger community.
- MySQL-only on bare metal. PostgreSQL users are locked out on non-Docker installs [1]. The documentation describes this as a current limitation, not a design choice.
- PHP 8.4+ requirement. Most shared hosting environments don’t run PHP 8.4 yet. You need a proper VPS or your own hardware [README][5].
- Cron job required for recurring billing. This is easy to miss during setup and silently breaks a key feature [1]. Not documented prominently.
- No expense tracking, no P&L, no time tracking. If you need even light accounting features, you’ll need a separate tool or a more full-featured alternative like Invoice Ninja.
- No multi-language UI. English only at this time, despite locale configuration for currency/number formatting [1].
- Small article/review footprint. Third-party coverage is almost entirely installation tutorials, not comparative reviews. Hard to find real-world user feedback on edge cases.
- article_summaries is empty in the merged profile — no third-party review synthesis was available for this tool, which limits the confidence level of some claims in this article.
Who Should Use This / Who Shouldn’t
Use SolidInvoice if:
- You’re a freelancer or very small business paying $15–30/mo for FreshBooks, Zoho Invoice, or a similar SaaS, and you use it purely for invoicing — not expense tracking or accounting.
- You already run a home server or NAS and want to add invoicing as a Docker container.
- You want MIT-licensed software you can deploy multiple instances of without licensing costs.
- The $8/mo cloud plan looks attractive versus your current SaaS — it’s genuinely cheaper and the single-plan model is refreshingly honest.
- You don’t need time tracking, expense management, or a general ledger.
Skip it (look at Invoice Ninja instead) if:
- You want a larger open-source community, more active GitHub, and more feature coverage — Invoice Ninja is the stronger ecosystem.
- You need time tracking, expense management, or proposal features built into the same tool.
- You want PostgreSQL support or a more flexible database backend.
Skip it (stay on SaaS) if:
- You’re not comfortable with any server administration — the cron job requirement alone will catch you off guard [1].
- Your accounting is intertwined with your invoicing — you need a tool that does both.
- You’re betting on long-term community support — 867 stars is a real concern if this is load-bearing infrastructure.
Skip it (look at Crater) if:
- You want a PHP-based MIT alternative with similar scope but want to compare options before committing.
Alternatives Worth Considering
- Invoice Ninja — the most direct comparison. More features (time tracking, expenses, proposals), larger community, also MIT-licensed (self-hosted), also has a cloud plan. Start here if you’re evaluating self-hosted invoicing.
- Crater — PHP-based, MIT-licensed, similar scope to SolidInvoice. Smaller community than Invoice Ninja but worth comparing UIs.
- FreshBooks — the obvious SaaS incumbent. Starts at $19/mo. Better accountant integration, time tracking built in. Worth staying on if those features matter to you.
- Zoho Invoice — free tier up to 1,000 invoices/year, $15/mo after. Tightly integrated with Zoho Books if you want to grow into accounting.
- Wave — free, ad-supported, covers invoicing and basic bookkeeping. Fine for solo operators who want zero cost and don’t mind a US-centric product.
- Akaunting — open-source accounting + invoicing. More complex, but covers the full bookkeeping workflow if you need it.
Bottom Line
SolidInvoice is a competent, honest invoicing tool with an MIT license, a $8/mo cloud option, and a straightforward Docker deployment path. If you’re a freelancer who runs 10–50 invoices per month, doesn’t need expense tracking, and is paying $15–30/mo to a SaaS invoicing tool, the math is simple: $8/mo cloud or ~$6/mo VPS versus what you’re paying now. The self-hosted path requires PHP 8.4, MySQL (on bare metal), and a cron job you must not forget to set up — but the Docker-plus-SQLite path on a NAS or VPS is genuinely straightforward. The caution is the 867-star community: this is a small project, and if you’re making a multi-year bet on it for client billing, keep Invoice Ninja in your back pocket as the alternative with a larger community safety net.
Sources
- SolidInvoice Installation Documentation — docs.solidinvoice.co. https://docs.solidinvoice.co/en/latest/guide/installation.html
- i12bretro — “Install SolidInvoice — Open Source Invoicing Software — on Windows”. https://i12bretro.github.io/tutorials/0911.html
- Zeabur — “SolidInvoice Deploy Guide” (template: VZMPHJ, v2.3.16). https://zeabur.com/templates/VZMPHJ
- Marius Hosting — “How to Install Solidinvoice on Your UGREEN NAS”. https://mariushosting.com/how-to-install-solidinvoice-on-your-ugreen-nas/
- LibTechNophile (Mahesh Palamuttath) — “Installing SolidInvoice on Debian/Ubuntu” (October 24, 2024). http://libtechnophile.blogspot.com/2024/10/installing-solidinvoice-on-debianubuntu.html
Primary sources:
- GitHub repository and README: https://github.com/solidinvoice/solidinvoice (867 stars, MIT license)
- Official website: https://solidinvoice.co
- Features page: https://solidinvoice.co/features
- Pricing page: https://solidinvoice.co/pricing
- Docker Hub: https://hub.docker.com/r/solidinvoice/solidinvoice
Features
Integrations & APIs
- REST API
Category
Replaces
Related Finance & Budgeting Tools
View all 97 →OpenBB Terminal
63KOpen-source investment research platform that gives financial analysts and portfolio managers AI-powered analytics without locking data into Bloomberg or Refinitiv.
Maybe
54KOpen-source personal finance and wealth management app. Track net worth, investments, spending, and debt in one self-hosted dashboard.
HyperSwitch
42KHyperSwitch is an open-source payments orchestration platform that connects multiple payment processors through a single API, with intelligent routing, retry logic, and cost optimization.
ERPNext
32KThe world's best 100% open source ERP software. Supports manufacturing, distribution, retail, trading, services, education, and more.
Actual
26KLocal-first personal finance app with envelope budgeting, bank sync, and cross-device synchronization.
Firefly III
23KFirefly III lets you run modern financial manager. It helps you to keep track of your money and make budget forecasts. It entirely on your own server.