Team
Full finance hub at /invoices.
Handles client invoices, expenses, subcontractor invoices, and subcontractor purchase orders.
Role cheat sheet, finance lanes, and data flow for team, client, and subcontractor users.
The finance area is not one shared page for all roles. It is split into three lanes with different permissions and different page sets.
Full finance hub at /invoices.
Handles client invoices, expenses, subcontractor invoices, and subcontractor purchase orders.
Invoice-only lane at /my-invoices.
Clients can view invoices, filter by company, and download PDFs.
Two finance lanes: /my-invoices-sub and /my-purchase-orders.
They can submit invoices to Fourge and approve POs sent by Fourge.
| Role | Main Routes | Can Do | Cannot Do |
|---|---|---|---|
| Team | /invoices | Create/send client invoices, track expenses, create POs, review subcontractor invoices, mark paid, export/send PDFs | Not limited in finance UI |
| Client | /my-invoices | View invoices, filter by company, download invoice PDFs | No expenses, no invoice editing, no POs, no subcontractor finance tools |
| Subcontractor / External | /my-invoices-sub /my-purchase-orders |
Create/submit invoices to Fourge, view status, download receipts after payment, approve POs | No team finance overview, no client invoice management, no internal expenses |
Simple mental model: invoices bill clients, expenses track internal costs, subcontractor_invoices let subcontractors bill Fourge, and subcontractor_payments are POs Fourge sends to subcontractors.
Approved client work reaches tasks.status = client_approved.
Team finance loads uninvoiced tasks and revisions, builds line items, saves an invoice, and emails the PDF to the client.
Later, team marks the invoice paid.
Team logs expenses, optionally with receipt files.
Expenses feed overview charts, yearly summaries, and profit calculations.
Subcontractor creates an invoice from completed approved tasks assigned to them.
Fourge reviews it, then marks it paid and sends a receipt PDF back.
Team creates a PO for a subcontractor, optionally tied to project tasks.
Subcontractor reviews the PO and can approve it from their own portal view.
draft → sent → paid
draft → submitted → paid
draft → sent → approved → ready_to_pay → paid
cancelled is exit state.
| Surface | Route | User |
|---|---|---|
| Finance Hub | /invoices | Team |
| Client Invoices | /my-invoices | Client |
| Subcontractor Invoices | /my-invoices-sub | External |
| Create Subcontractor Invoice | /my-invoices-sub/new | External |
| Purchase Orders | /my-purchase-orders | External |