# Project pack: InvoicePlane @ ef00e30 Facts about **InvoicePlane** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > InvoicePlane is a self-hosted invoicing application. You keep a list of clients, create quotes and invoices from templates, record payments, send reminders and generate PDFs. It is built with PHP and MySQL and runs on ordinary web hosting as well as Docker. ## Setup path (checked 2026-11-03) - **Needs Docker.** Tell the person before any setup work; no light non-Docker route is documented upstream. A manual PHP + MySQL + web server install is documented but judged too heavy for a one-sitting non-technical setup. Docker Desktop on Windows may need a computer restart and an admin-only Windows feature (virtualisation); say so and let the person decide. - Verdict source: https://raw.githubusercontent.com/InvoicePlane/InvoicePlane/HEAD/README.md - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/InvoicePlane/InvoicePlane - Pinned commit: `ef00e30708a8024debda68dbc2674b775bbc1ee4`. Use exactly this version. - Zip the person can download in a browser: https://github.com/InvoicePlane/InvoicePlane/archive/ef00e30708a8024debda68dbc2674b775bbc1ee4.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Licence: **MIT**. Free to use, change and share, even commercially. Keep the original copyright notice. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/InvoicePlane/InvoicePlane bespoke-invoiceplane cd bespoke-invoiceplane git checkout --detach ef00e30708a8024debda68dbc2674b775bbc1ee4 # Prepare development requirements and local configuration first. cp ipconfig.php.example ipconfig.php docker compose up -d --build ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh Download the latest release zip from https://github.com/InvoicePlane/InvoicePlane/releases, upload it to PHP hosting with MySQL, copy ipconfig.php.example to ipconfig.php, set your site address, and open the site in a browser to run the setup. ``` - Tools these commands use: Docker, or PHP 8.1+ with MySQL or MariaDB and a web server - Develop: `docker compose up -d --build` - Test: `composer test` - Check/lint: `composer lint` - Stack: php, javascript (CodeIgniter 3, Bootstrap). Difficulty for a non-developer with an AI: **moderate**. A classic PHP application on CodeIgniter 3 with modules, views and templates. Templates and languages are easy to change; new features follow familiar MVC patterns. - The project's own AI instructions, in the repository: `AGENTS.md`, `CLAUDE.md`. Personal data: **yes**. Stored in: A MySQL database plus an uploads folder. Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/invoiceplane/ef00e30/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/invoiceplane/ef00e30/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/invoiceplane/ef00e30/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/invoiceplane/ef00e30/r3/SKILL.md)