Skip to content

InvoicePlane/InvoicePlane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,435 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InvoicePlane logo

InvoicePlane

A libre self-hosted web application designed to help you manage invoices, clients, and payments efficiently.

Curent version Downloads Translation

Discord Wiki Community Forums Issue Tracker Contribution Guide


Release Notes

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.


Key Features

  • 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.

Getting Started

Quick Start with Docker (Recommended for Development)

# 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

See Installation instructions

compose.yml is for local development/testing only — it ships a fixed ENCRYPTION_KEY and 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.

Production Installation

  1. Download the latest release from the InvoicePlane website.
  2. Extract and upload the files to your web server.
  3. Copy ipconfig.php.example to ipconfig.php and set your base URL and database credentials.
  4. Navigate to http://your-domain.com/index.php/setup to run the installer.

For a detailed installation guide, see Installation instructions.


Removing index.php from URLs

To remove index.php from your URLs:

  1. Enable mod_rewrite on your web server.
  2. Set REMOVE_INDEXPHP=true in ipconfig.php.
  3. Rename the htaccess file 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.


Custom Invoice & Quote Templates

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 Storage

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).


Container Deployment

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.


Community and Support

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:

InvoicePlane is developed and maintained by a dedicated team of volunteers. Support is provided by the community on a best-effort basis.


Contributing

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.

Developer Resources


Security

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.

Need help?

Ask on Discord Visit our Community Forums for assistance with logo conversion.


License & Copyright

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.

About

A self-hosted open source application for managing your invoices, clients and payments.

Topics

Resources

License

Contributing

Security policy

Stars

3.1k stars

Watchers

135 watching

Forks

Packages

 
 
 

Contributors