Skip to content

Customer billing

Three patterns for billing a customer for project work:

PatternWhen
Fixed priceThe customer agreed a total at the start
Time-and-materials (T&M)Bill the hours logged, at agreed rates
MilestonesBill on agreed deliverables (e.g. 30% on kick-off, 40% on first milestone, 30% on delivery)

Fixed price

Simplest:

  1. Sale order to the customer for the agreed total
  2. Project is created linked to the sale order
  3. Invoice the full amount when work completes (or at kick-off, or per your payment terms)

Hours logged are tracked for internal profitability but don't drive invoicing.

Time-and-materials

Most common for consulting and custom development:

  1. Sale order to the customer with service products representing "Hours" (e.g. "Junior Developer hour" at BGN 60, "Senior Developer hour" at BGN 100)
  2. Project created linked to the sale order
  3. Team members log timesheets against project tasks
  4. At month-end, invoice the customer for the logged hours at their billing rate

PLANA generates the invoice from the timesheets:

Sale order → Invoice → invoice lines are pre-filled with the billable hours.

The customer's invoice shows time per developer, per day or per task (configurable).

Milestones

For larger projects:

  1. Sale order with milestone products:
    • "Project kick-off — 30%" — BGN 30,000
    • "Phase 1 delivery — 40%" — BGN 40,000
    • "Final acceptance — 30%" — BGN 30,000
  2. Invoice each line as the corresponding milestone completes
  3. Customer pays per the invoice's payment terms

Track milestone completion in the project's tasks (mark the relevant task done → invoice the milestone).

Caps and overruns

For T&M with a cap:

  • Configure the project with a maximum billable hours field
  • PLANA flags when the team approaches the cap
  • The PM decides: stop billing or get customer sign-off for the overrun

Honest communication beats surprise invoices.

Profitability check

Before invoicing, glance at the Project profitability report:

MetricWhere
Revenue invoicedSum of confirmed invoices linked to the project
Revenue to invoiceTime logged but not yet billed
CostSum of timesheets × hourly cost + direct expenses
MarginRevenue – Cost

A negative margin warns you to investigate scope creep or under-pricing before the next milestone.

Where to read more

© PLANA Digital Ltd.