A libre self-hosted web application designed to help you manage invoices, clients, and payments efficiently.
Every release is documented in CHANGELOG.md. Downloadable packages and the
per-version release notes are published on the
GitHub Releases page. Formal security
advisories live in .github/security/; step-by-step upgrade instructions
are in UPGRADE.md.
Security releases matter here. Check the CHANGELOG before upgrading, and subscribe to GitHub Releases notifications so you don't miss one.
- Invoice & Quote Management: Effortlessly Create, send, and manage professional Invoices and Quotes.
- Client Management: Maintain detailed client records, including contact information and transaction history.
- Product Management: Maintain products to add to your Invoices.
- Project & Tasks Management: Maintain tasks to add to your Invoices.
- Payment Tracking: Monitor payments, set up reminders, and integrate with multiple payment gateways.
- Customization: Tailor templates, themes, and settings to match your brand preferences.
- Reporting: Generate insightful reports to track your financial performance.
# Clone the repository
git clone https://github.com/InvoicePlane/InvoicePlane.git
cd InvoicePlane
# Build and start the app + database — dependencies, assets, and
# configuration are all handled inside the container.
docker compose up -d --build
# Access the application
# InvoicePlane: http://localhost:4895
compose.ymlis for local development/testing only — it ships a fixedENCRYPTION_KEYand database password (uploads, storage, and the database do persist across restarts via named volumes). For a real deployment, see Container (Docker) Deployment Instructions for the environment variables to set instead.
- Download the latest release from the InvoicePlane website.
- Extract and upload the files to your web server.
- Copy
ipconfig.php.exampletoipconfig.phpand set your base URL and database credentials. - Navigate to
http://your-domain.com/index.php/setupto run the installer.
For a detailed installation guide, see Installation instructions.
To remove index.php from your URLs:
- Enable
mod_rewriteon your web server. - Set
REMOVE_INDEXPHP=trueinipconfig.php. - Rename the
htaccessfile in the root directory to.htaccess.
Note: If you experience issues after making these changes, revert to the default settings by undoing the steps above.
Since version 1.7.2 custom template names are added via an allowlist in ipconfig.php — the filesystem is
See CUSTOM_TEMPLATES.md for the how-to.
Session files are stored in PHP's default session save path (sys_get_temp_dir()) unless
overridden. Set SESS_SAVE_PATH in ipconfig.php to an absolute path to store sessions
elsewhere, e.g. outside the document root for additional security:
SESS_SAVE_PATH=/var/lib/invoiceplane/storage/framework/sessions
If you mount a volume in Docker, include the configured path in your persistent volumes (see Container (Docker) Deployment Instructions).
A pre-built container image is available, configured entirely through environment variables —
no ipconfig.php file needed. The entrypoint generates the configuration and runs any pending
database migrations automatically on startup.
See Container (Docker) Deployment Instructions for the full list of required/optional environment variables, default admin user setup, and persistent volumes.
Join our Discord — it's the fastest way to reach users, developers, and contributors in real time, whether you need help, want to report something, or are interested in contributing.
Other resources:
- Discord: discord.gg/PPzD2hTrXt — real-time chat with the community.
- Community Forums: community.invoiceplane.com — ask questions, share knowledge, and get help from the community.
- Issue Tracker: GitHub Issues — report bugs and request features.
- Wiki & Documentation: wiki.invoiceplane.com — find guides, FAQs, and detailed setup instructions.
InvoicePlane is developed and maintained by a dedicated team of volunteers. Support is provided by the community on a best-effort basis.
We welcome contributions from the community! To get involved:
- Report Issues: Use the Issue Tracker to report bugs or request features.
- Submit Pull Requests: Fork the repository, make your changes, and open a pull request.
- Translate: Help translate InvoicePlane — see TRANSLATIONS.md.
For contribution guidelines, see CONTRIBUTING.md.
- Development Guidelines — Security patterns and code review checklist
- Agent / AI Instructions — Guide for AI coding assistants working on this codebase
- Copilot Instructions — GitHub Copilot context
- Docker Setup — Docker configuration guide
If you discover a security vulnerability, please report it privately by opening a GitHub Security Advisory before disclosing it publicly. See our Security Policy for the full process.
Ask on Discord Visit our Community Forums for assistance with logo conversion.
InvoicePlane is licensed under the MIT License.
The InvoicePlane name and logo are copyrighted by Kovah.de and InvoicePlane.com. Usage is restricted. For more information, visit invoiceplane.com/license-copyright.