OneSolar CRM

Tutorial

Converting BOQ to Invoice (BOM + Add-on Services)

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.

See it with your own projects

Book a demo and we will walk through your workflow.

Book a demo