Solar EPC Operations

    Milestone billing, retention and bank guarantees in solar EPC contracts

    Staged payments, retention held for a defect period and bank guarantees that expire quietly. How to track each as a dated obligation so nothing is billed late, released late or lapses.

    GC
    GarunaCDX Editorial
    Editorial team
    Oct 19, 2026 4 min read
    Key takeaways
    • A milestone is a trigger plus evidence plus a date. Missing the evidence is the usual reason it is not billed.
    • Retention is a receivable with a long fuse. Track it from day one.
    • A bank guarantee is a dated risk. Alert on expiry long before it arrives.
    • Link each milestone to the operational step that earns it, such as delivery or commissioning.
    • GST treatment of supply and installation in one contract should be confirmed with your CA; sources we checked did not agree.

    Quick answer

    Treat every milestone, retention amount and bank guarantee as a dated obligation with an evidence requirement, an owner and an alert. For milestones, record the contractual trigger and the proof needed to bill. For retention, record the release date and defect-liability end. For bank guarantees, record amount, bank, issue date, expiry and claim period, and set renewal alerts well before expiry. Confirm GST treatment of your contract structure with your chartered accountant.

    How do milestone payments work in a solar contract?

    The customer pays in stages, each tied to an event. A common pattern is an advance when the order is placed, a larger share when material is delivered, a share when the system is commissioned, and a retained amount released later. The split is negotiated per contract. The mistake is not the split. It is treating milestones as a payment schedule on paper instead of a chain of operational steps.

    From operational step to cash

    photo, certificate, reportcontract trigger metif requiredrelease date setOperational stepEvidence capturedMilestone billableInvoice raisedCustomer approvalCash collectedRetention held
    Our model. A milestone is billable only when the trigger is met and the evidence exists.

    What should a milestone record hold?

    FieldExample
    Milestone name and shareOn delivery, 50%
    Contractual triggerMaterial received at site
    Evidence requiredDelivery challan signed, photos
    Trigger date reachedDate the evidence exists
    Invoice date and numberWhen billed
    Expected collection dateContract terms or history
    Collected date and amountActual
    Blocker and ownerWhy late, who is chasing

    The column most spreadsheets lack is evidence required. Billing delays are often not about the customer. They are about a missing signed challan.

    How should retention be handled?

    Retention is a receivable that sits for a long time. Record it at contract signing: amount or percentage, release condition, the defect-liability period and its end date. Put the release date on a calendar and alert 30 and 60 days ahead. Track it in the same view as other receivables, labelled separately so it does not look overdue when it is simply not due.

    If the customer releases retention against a bank guarantee instead, track the guarantee below.

    How should bank guarantees be tracked?

    A bank guarantee is a dated risk with a cost. Lapsing, or failing to release one when the obligation ends, ties up credit limit or creates a claim risk.

    FieldWhy
    Type: advance, performance, retentionDifferent release triggers
    Amount and currencyExposure
    Issuing bank and referenceWho to call
    Beneficiary and contractWhat it covers
    Issue date and expiry dateThe clock
    Claim period after expirySome guarantees can be invoked after expiry; read the text
    Fee or margin paidReal cost of the contract
    Release or renewal action and ownerSo it does not lapse

    Alert at 90, 60 and 30 days before expiry. Link each guarantee to the project so its release is part of project close-out.

    What about GST and invoicing?

    Be careful here. Reported sources say most solar goods moved to a 5% GST rate from 22 September 2025. The pages we checked did not agree on how installation services and a combined supply-and-install contract are treated, and one gave different rates for inverters in different places. We are not stating a rate for your contract. Confirm with your chartered accountant and the current GST notifications, and make sure your invoicing system lets you split supply and service lines correctly. E-invoicing and e-way bill obligations also depend on your turnover and on goods movement.

    Where does this not apply?

    Small residential jobs paid mostly upfront have little milestone complexity, and scheme projects have their own subsidy timing (see PM Surya Ghar tracking). This page is for C&I and larger projects with staged payment, retention or guarantees.

    What to do this week

    1. List your open bank guarantees with expiry dates. If you do not have that list, that is the finding.
    2. For each live project, add an “evidence required” note to every unbilled milestone.
    3. Put retention release dates on one calendar.

    Part of the guide Running a solar EPC business on connected systems.

    Billing check
    Send us one contract's payment terms. We will turn them into a dated milestone and guarantee tracker.
    Talk to us

    The tracker design is our own model. GST: a Tally Solutions page on solar GST rates states most solar products attract 5% GST as of 22 September 2025, but the same page is internally inconsistent about inverters and the installation split, so no rate for a contract is stated here. This is not tax advice; consult a chartered accountant.

    Your verdict
    Was this article useful?
    GC
    Written by
    GarunaCDX Editorial
    Editorial team

    Engineers, product and growth folks at GarunaCDX writing about the systems we build for clients.

    View all articles
    Share
    Planning something similar?

    Let's talk about your build.

    Tell us what you are building. A founding engineer replies within one working day with how we would approach it.

    FAQ

    Frequently asked questions

    Contracts differ, but common triggers are an advance on order, a share on material delivery, a share on commissioning and a retained amount released after a defect-liability period. The exact split is a commercial negotiation, not a standard.

    A portion of the contract value held by the customer until a defined period after completion, to cover defects. It is a receivable that can sit for a year or more, so it needs its own tracking.

    Type (advance or performance), amount, issuing bank, beneficiary, issue date, expiry date, claim period, margin or fee, and the contract it supports. Set alerts for renewal or release.

    Reported sources say most solar goods moved to a 5% GST rate from 22 September 2025, but the pages we checked disagreed on how installation and the supply-installation split are treated. Confirm with your chartered accountant before pricing or invoicing.

    The GarunaCDX build log

    Industry insights, once a month

    New case studies, healthcare, marketplace, B2B SaaS and industrial breakdowns, and the engineering notes behind what we ship. One short email a month, no fluff.

    We never share your data — see our Privacy Policy for details.