Projects
Projects are containers for tracking how much a specific job, client engagement, or build is making or costing. Tag any transaction, invoice, bill, or time entry with a project, and a per-project P&L falls out for free.
Creating a Project
Go to Projects in the sidebar and click + New Project. Fill in:
- Name and code (a short identifier — useful for tagging).
- Status — active, on_hold, completed, or canceled.
- Client — who the project is for.
- Class — optional segment tag.
- Budget — total expected spend or revenue (used for budget utilization on the project P&L).
- Start and end dates.
Tagging Activity
Every transaction, invoice, and bill form has a Project picker. Pick a project and the project ID is threaded through to every journal line posted by that document. The same goes for time entries and split-line transactions.
This is the part that matters: because tagging happens at the journal-line level, the per-project P&L sees every dollar that touched the project regardless of how it was entered.
Per-Project P&L
Open a project and click the P&L button. Geekonomics queries journal_lines filtered by project_id and rolls up revenue and expense over the project's date range. Net profit, gross margin, and budget utilization are shown at the top; line-account detail below.
The aggregated Per-Project P&L Report at /reports/project-pnl does the same thing across every project, filterable by status — useful for spotting the projects bleeding money before they finish.
Filtering Lists
The Transactions, Invoices, and Bills lists each accept a project filter via ?project_id=. Use it to audit a project's activity end-to-end.
Deleting a Project
A project can only be deleted if nothing references it. If activity exists, set the status to canceled instead — that preserves the history while taking the project out of active reporting.
What's next
Classes — the broader segmentation layer above projects.