Skip to content

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.

Geekonomics — bookkeeping for small businesses