> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcsolar.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# 5. Build a confident quote

> A clear offer. Carefully checked. Ready for a customer to understand.

export const LessonChecklist = ({lessonId, items}) => {
  const courseKey = "arcsolar-sales-onboarding-v1";
  const readProgress = () => {
    try {
      const value = JSON.parse(window.localStorage.getItem(courseKey) || "{}");
      return value && typeof value === "object" && !Array.isArray(value) ? value : {};
    } catch {
      return {};
    }
  };
  const complete = value => Array.isArray(value) && value.length === 3 && value.every(item => item === true);
  const [checks, setChecks] = useState([false, false, false]);
  const [loaded, setLoaded] = useState(false);
  const [saveFailed, setSaveFailed] = useState(false);
  useEffect(() => {
    const saved = readProgress()[lessonId];
    setChecks(items.map((_, index) => Array.isArray(saved) && saved[index] === true));
    setLoaded(true);
  }, [lessonId]);
  const toggle = index => {
    const next = checks.map((checked, itemIndex) => itemIndex === index ? !checked : checked);
    setChecks(next);
    try {
      window.localStorage.setItem(courseKey, JSON.stringify({
        ...readProgress(),
        [lessonId]: next
      }));
      setSaveFailed(false);
    } catch {
      setSaveFailed(true);
    }
  };
  return <fieldset className="my-8 border-0 border-t border-zinc-200 px-0 py-5 dark:border-zinc-700">
      <legend className="pr-3 font-semibold">Your checkpoint</legend>
      <p className="mt-0 text-sm">Tick each box when you have tried it or talked it through with your manager. You can untick a box to revisit it.</p>
      {items.map((item, index) => <label key={item} className="my-2 flex cursor-pointer items-start gap-3 py-2">
          <input type="checkbox" checked={checks[index] || false} disabled={!loaded} onChange={() => toggle(index)} className="mt-1 h-5 w-5 shrink-0" style={{
    accentColor: "#3D88F2"
  }} />
          <span>{item}</span>
        </label>)}
      <p role="status" className="mb-0 text-sm">{saveFailed ? "Browser storage is unavailable. Your ticks work on this page but may not survive a refresh. Keep a note of your lesson before leaving." : complete(checks) ? "Lesson checked off. You’re ready for the next step." : "Your ticks are saved on this device when browser storage is available."}</p>
    </fieldset>;
};

Lesson 5 of 7 · Sales rep onboarding

This is where preparation becomes an offer. Take it one section at a time.

**Your goal:** prepare a practice quote and explain it clearly to your manager.

## Follow the builder

1. Open **Quick Create Quote**. Select the existing practice customer and opportunity.
2. Review the site information and services: solar, battery or both.
3. Choose the approved equipment and quantities. Check phase compatibility and installation conditions.
4. Review the energy profile and savings assumptions from lesson 4.
5. Check the price, incentives, payment option and final total.
6. Open the customer preview. Review what the customer will actually see.

Use [Create and send a quote](/quoting/walkthrough) beside the builder. It covers every step. **Stop before sending during practice.**

## Three checks that matter

### 1. The right system

Confirm the exact equipment, quantities and required installation work. Ask your manager or technical reviewer about anything outside your authority.

### 2. Incentives counted once

Check whether the package price is **before** or **after federal STCs**. Do not subtract a benefit twice. STCs are certificates used in the incentive calculation; a calculated amount is not eligibility approval.

Read [Incentives and STCs](/quoting/incentives-stcs), including the price-basis explanation, before your first live quote.

### 3. A payment plan you can explain

For direct payment, confirm the deposit, delivery payment and installation balance. They must add up to the total shown.

For finance, confirm the deposit, amount financed, term, repayments and fees. A repayment illustration is **not lender approval**. A government loan is funding, not a discount.

Read [Payment options](/quoting/payment-options). Use the actual schedule on this quote, not a remembered default.

## Give the customer view a final look

Check the name, address, system, total, savings, payment schedule and agreement. Explain the offer to your manager using the [customer quote view](/quoting/customer-view).

<Note>
  For your first live quote, get your manager’s approval before sending. Once issued, use the supported revision process for changes; changing the catalogue does not update the customer’s issued offer.
</Note>

## ArgonixIntelligence, by your side

Use checked bill information to reduce repeated entry. Intelligence does not approve the system design, rebate eligibility, finance or commercial terms.

<LessonChecklist lessonId="quote" items={["I can prepare a practice quote and review its customer preview without sending it.","I checked equipment, the STC price basis, incentives and the final total.","I can explain the payment schedule and know who approves my first live quote."]} />

[Continue to lesson 6: Follow through beautifully](/sales-onboarding/follow-through)

[Previous step](/sales-onboarding/assessment) · [Course overview](/sales-onboarding)

*The ArcSolar team · [support@arcsolar.com.au](mailto:support@arcsolar.com.au)*


## Related topics

- [4. Understand the home](/sales-onboarding/assessment.md)
- [Your first chapter with ArcSolar](/sales-onboarding.md)
- [Explain the savings estimator](/quoting/savings.md)
- [Welcome to ArcSolar](/index.md)
- [Revise and manage quotes](/quoting/revisions.md)
