1. Complete the Milestone2. Convert to BOM3. Add Services4. Taxes & Discounts5. Preview the Invoice6. Send the Invoice7. Sync Payment Status
Complete the Milestone
Why it matters: Invoicing is tied to milestone completion - this is what lets you bill progressively instead of waiting for the entire project to finish.
- Confirm all tasks under the milestone are marked complete
- Mark the milestone itself as Complete
Result: the milestone status shows Complete, with a completion date.
Convert BOQ to BOM
Why it matters: This is the step that eliminates re-entry - the same quantities and costs from the BOQ become the invoice’s Bill of Materials automatically.
- From the completed milestone, click Generate Invoice
- Confirm the BOQ line items appear as BOM entries on the invoice draft
Result: the invoice draft shows every BOQ line item, with matching quantities and costs.
Add Additional Service Line Items
Why it matters: Not everything billed was in the original BOQ - permit filing fees, expedited delivery, or change-order work need their own line items.
- Click Add Line Item on the invoice draft
- Add any services or fees not captured in the BOQ
- Label each clearly so the client can see exactly what they’re paying for
Result: all non-material charges appear as clearly labeled invoice line items.
Apply Taxes & Discounts
Why it matters: Tax rules vary by state and by whether the sale is residential or commercial - getting this wrong is a compliance risk, not just a math error.
- Confirm the correct tax rate applies based on the client’s location
- Apply any negotiated discount as its own visible line item, not a silent price change
Result: the invoice total reflects the correct tax and any discount, both clearly itemized.
Preview the Invoice
Why it matters: The client-facing view can render differently from the editor - confirm before sending, not after a client questions a formatting issue.
- Click Preview as Client
- Check that all line items, totals, and your branding display correctly
Result: the preview matches exactly what the client will receive.
Send the Invoice
Why it matters: Sending directly from the milestone means the invoice reference stays linked to the project for future audit or dispute resolution.
- Click Send Invoice
- Confirm the client receives an email with a link to view and pay
Result: the invoice status updates to Sent, with a timestamp.
Sync Payment Status via QuickBooks
Why it matters: Real-time payment status means you’re not manually checking a bank statement to know if a client has paid.
- Confirm the QuickBooks integration is connected under Settings → Integrations
- Once the client pays, check that the invoice status updates to Paid automatically
Result: the invoice shows Paid status, synced from QuickBooks without manual entry.
You’ve completed this tutorial
Invoice sent. Next: make sure inventory reflects what was actually consumed.
Continue learning
Keep going with the next tutorials in the Solar CRM series.