TUTORIAL 11 · INVOICING & PAYMENTS

How to set up milestone-based invoicing for solar projects

This tutorial walks you through configuring a payment schedule on a solar project, assigning billing amounts to each milestone, and tracking payments so every invoice fires automatically when a milestone is completed - with zero manual triggers.

CrmLeaf TeamUpdated July 202610 min readFinance teams & project managers

Prefer to set up as you read? Spin up a free CrmLeaf workspace and follow along with your own data.

Start Free Trial

Set the payment schedule on the deal

The payment schedule is the backbone of milestone billing. It defines how the total project value is split across billing events - usually tied to project phases. Set it at the deal stage so everything is agreed before work starts.
  1. Open the deal record → scroll to "Payment Schedule"
  2. Click "Add Payment Schedule"
  3. Choose schedule type: Milestone-based, Date-based or Manual
  4. For milestone-based: add each billing event with amount and trigger milestone
  5. Common structure: 30% deposit on deal sign, 40% on installation start, 30% on commissioning
  6. Save payment schedule - client can see this in the proposal
Always agree the payment schedule before the client signs the proposal - include it in the proposal document. This prevents payment disputes later and sets clear expectations from day one.
WHAT YOU SEE WHEN DONEPayment schedule configured and visible on the deal. Billing amounts and triggers defined before the project starts.

Link billing amounts to project milestones

Once the project is created from the won deal, link each payment schedule tranche to a specific project milestone. When that milestone is marked complete, the invoice is created automatically.
  1. Open the project → go to Milestones
  2. Click a milestone → "Set Billing Trigger"
  3. Enter the invoice amount or select from the payment schedule tranche
  4. Set tax rate (VAT, GST or none) applicable to this invoice
  5. Confirm client billing details (invoice recipient, address, payment terms)
  6. Repeat for each billable milestone
For the deposit invoice (raised at deal sign), set it as a "manual" trigger - it fires when you click "Send Deposit Invoice" after the deal is won, not on milestone completion.
WHAT YOU SEE WHEN DONEEvery billable milestone has an invoice amount attached. No milestone can be completed without the invoice being created.

Review and send invoices

When a milestone is marked complete, CrmLeaf creates the invoice automatically. Review it, personalise if needed and send. The client receives the invoice by email with payment instructions.
  1. Milestone marked complete → notification appears in Finance dashboard
  2. Go to Invoices → the new invoice shows as "Draft"
  3. Review: client name, invoice date, line items, amount and tax are pre-filled from the milestone
  4. Add any notes (e.g. "Payment due within 14 days per contract")
  5. Click "Send Invoice" - client receives email with invoice PDF
  6. Invoice status updates to "Sent"
Set up your invoice email template once in Settings → Invoice Template. Every auto-generated invoice will use your branded template - saving you formatting time on every invoice.
WHAT YOU SEE WHEN DONEInvoice sent to client immediately on milestone completion. No delay between work completed and billing triggered.

Track payments and manage outstanding balances

As clients pay, record payments against invoices. CrmLeaf tracks partial payments, outstanding balances and overdue invoices - giving finance a live view of cash position at all times.
  1. Go to Invoices → click an invoice → "Record Payment"
  2. Enter payment amount, date and payment method
  3. If partial: CrmLeaf updates balance - invoice status becomes "Partially Paid"
  4. Overdue invoices appear in the Overdue report automatically after the due date passes
  5. Send payment reminders from within the invoice record
  6. Revenue dashboard shows total collected, outstanding and overdue by project, client and month
Review the outstanding invoices report every Monday morning - it takes 2 minutes and ensures no overdue invoice goes unnoticed for more than a week.
WHAT YOU SEE WHEN DONEEvery payment recorded. Partial payments tracked. Overdue invoices flagged. Finance has a live cash position without a spreadsheet.

You've completed this tutorial

Set up once - invoices fire automatically every time a milestone is completed. Tick steps off as you complete them using the progress tracker.

Next: Lead to commissioning