Every Shopify project quote you get will land in one of two structures: a fixed price for a defined scope, or an hourly/time-and-materials rate with an estimated range. Merchants often assume the fixed-price option is automatically the “safer” choice because the number doesn’t move, but that’s not always true in practice, and the honest answer depends more on how well-defined your project actually is than on which pricing model sounds safer on paper.
This post breaks down how each model actually behaves once a project is underway, where the real budget risk sits in each one, and how to think about which is right for the specific work you’re commissioning.
How Fixed-Price Contracts Actually Work
A fixed-price contract means the agency quotes a set cost for a defined scope of work, for example, “a full Shopify theme build with these ten specified page templates and these five specified app integrations, for $X.” The appeal is obvious: you know the number upfront, and cost overruns are (in theory) the agency’s problem, not yours.
The catch is in that word defined. A fixed price is only as reliable as the scope document behind it. If the scope is vague, or if what you actually need becomes clearer once the project is underway (which is extremely common in Shopify builds, where design and functional decisions often surface new requirements), you end up in one of two situations:
- The agency absorbs the extra work to protect the relationship, which usually isn’t sustainable for them long-term and can quietly show up as corner-cutting elsewhere
- The agency issues a change order, additional cost for anything outside the original scope, which is standard practice, but if scope wasn’t documented tightly, almost everything can arguably be framed as “in scope” or “out of scope” depending on who’s arguing
This is the real risk with fixed-price work: not that the number changes, but that the definition of what’s included becomes a point of friction once you’re already committed and mid-project, when your leverage to walk away is lowest.
How Hourly (Time-and-Materials) Contracts Actually Work
An hourly or time-and-materials arrangement bills you for actual time spent, usually against an estimated range rather than a hard cap. The appeal here is flexibility, if requirements shift, or you want to add scope mid-project, there’s no renegotiation friction, because the model already assumes things can move.
The risk runs the other way: without a cap or a genuinely disciplined estimate, hourly work can drift. This isn’t necessarily bad faith on the agency’s side, it’s often just the natural effect of “let’s also just fix this while we’re in there” accumulating across a project without anyone deliberately tracking the running total against the original estimate.
Hourly work tends to be the right model when:
- The scope is genuinely hard to define precisely upfront, for example, an ongoing support retainer, a discovery-phase engagement, or exploratory CRO work where findings shape the next steps
- You want the flexibility to reprioritise as you learn things, without triggering formal change-order friction every time
- You trust (or can verify through transparent time-tracking and reporting) that the agency is billing accurately and communicating proactively about running costs
Where the Real Budget Risk Sits in Each Model
It’s worth being precise about this, because “fixed price is safer” is a genuine oversimplification:
Under fixed price, the risk is scope disputes. You’re protected from hourly overruns, but exposed to disagreements about what counts as in-scope, and to change-order costs that can add up quickly if the original scope document wasn’t thorough. A poorly scoped fixed-price project can end up costing more in change orders than a well-managed hourly project would have cost in the first place.
Under hourly, the risk is drift without a ceiling. You’re protected from scope disputes (because scope is expected to move), but exposed to the total simply running higher than expected if there’s no cap, no regular reporting against estimate, and no proactive flag when the project is trending over budget.
In both models, the actual protection comes from documentation and communication, not the pricing structure itself. A tightly scoped fixed-price contract with a clear change-order process is genuinely safer than a loosely scoped one. A well-reported hourly engagement with regular budget check-ins is genuinely safer than one with no visibility until the invoice arrives.
A Practical Framework: Which Model Fits Your Project?
| Project type | Better-suited model | Why |
|---|---|---|
| Full theme build with a locked design and defined page templates | Fixed price | Scope is genuinely definable upfront, so the risk of scope disputes is manageable with good documentation |
| Platform migration (e.g. WooCommerce or Magento to Shopify) | Fixed price with clear change-order terms | Migrations have known deliverables, but data quality issues in the source platform can surface mid-project, so change-order clarity matters more than usual |
| Ongoing support and maintenance retainer | Hourly or capped hourly (a “not to exceed” retainer) | Support work is inherently unpredictable in volume month to month |
| CRO or SEO work with an exploratory discovery phase | Hourly, with a defined budget ceiling per phase | Findings genuinely shape what work is needed next, which doesn’t suit a rigid fixed scope |
| A well-defined, narrow feature build (e.g. a specific custom app or integration) | Fixed price | Narrow, well-understood scope is exactly where fixed price performs best |
Questions to Ask Before Signing Either Type
- What exactly is included, and what explicitly triggers a change order? Get this in writing regardless of pricing model, vague scope documents cause the most friction later.
- What’s the change-order process, how is additional work quoted, approved, and communicated once you’re mid-project?
- For hourly work, is there a not-to-exceed cap or a regular reporting cadence so you’re not surprised by the final number?
- Who owns delays caused by the client side (late feedback, slow asset delivery) versus the agency side, and how does that affect either the fixed price timeline or the hourly total?
- What happens if the project scope changes significantly partway through, is there a clean re-scoping process, or does it become an ad hoc negotiation?
- Does the quote reflect a genuinely accurate understanding of your current setup, or is it a generic estimate that hasn’t accounted for your specific store’s complexity (existing apps, custom theme code, data volume)?
When to Bring in a Specialist to Review a Quote
If you’re evaluating a significant Shopify project, a migration, a full rebuild, or an ongoing retainer, and you’re not sure whether the quote in front of you (fixed or hourly) genuinely reflects the real scope of work, it’s worth getting a second opinion before signing. This is a large part of what a properly run discovery and scoping process is meant to prevent, since the quality of the scope document is really what determines whether either pricing model protects you. It’s worth understanding how a well-run Shopify agency engagement is actually structured before comparing quotes, so you’re evaluating the process behind the number, not just the number itself.
FAQ
Is fixed-price always cheaper than hourly for a Shopify project?
Not necessarily. A tightly scoped fixed-price project is often cost-effective, but a poorly scoped one can end up costing more once change orders are added, sometimes exceeding what an equivalent hourly engagement would have cost. The pricing model itself doesn’t determine the total cost, the quality of the scope and the discipline of project management does.
What’s a “not-to-exceed” hourly contract?
It’s an hourly arrangement with a hard cap on total billable cost, combining the flexibility of time-and-materials billing with a budget ceiling similar to fixed price. It’s a reasonable middle ground for projects where scope is somewhat uncertain but you still want cost predictability.
Should I ask for a detailed scope document even with a fixed-price quote?
Yes, always. A fixed price without a detailed, written scope document is one of the most common sources of disputes on Shopify projects, both sides need a clear, specific reference point for what’s included, so ambiguity doesn’t become a negotiation once the project is underway.
How do I know if change-order pricing is reasonable?
Ask for the agency’s standard hourly or day rate upfront, even on a fixed-price project, so you have a reference point for evaluating any change-order quotes that come up mid-project. A reasonable change-order rate should be broadly consistent with their stated standard rate, not a significant markup.
Is an hourly retainer a good fit for ongoing Shopify support?
Generally yes, often structured as a capped monthly hours allowance, since ongoing support and maintenance needs genuinely vary month to month and don’t suit a single fixed price. A capped retainer gives predictability on the maximum monthly cost while allowing flexibility in what the hours are spent on.
Ready to scope your next Shopify project properly?
Whichever pricing model fits your project, getting the scope document right upfront is what actually protects your budget. Book a call to talk through what you’re planning, or explore our process to see how we approach scoping before any contract is signed.