Fixed price projects

Change Requests in a Fixed Price App Project: What Is Extra, What Is Included and Who Pays

The most common objection to fixed price app development is that every change becomes a paid change request. That happens, but mostly in contracts that never defined what a change is. This guide shows how to tell a change from a defect, what a proper change request contains, and how to keep them rare.

Thomas Siudut
Thomas SiudutCo-Founder and CEO, Apps Value
September 30, 20267 min read
Fixed price Scope management Contracts Working with an agency
Short answer

In a fixed price app project, a change request covers only work outside the agreed scope, such as a new feature, user role or integration. It must state the change, the price and the timeline impact, and it starts only after the client approves it in writing. Defects in agreed features are not change requests: fixing them is the agency's responsibility. Clarifications of details the scope left open should usually be absorbed without extra cost. A written scope with explicit exclusions keeps change requests rare.

Key takeaways before you sign a fixed price contract
  • Three buckets, not one. Every request is a defect, a clarification or a change. Only the last one should cost extra.
  • The exclusions list matters as much as the feature list. Most disputes start where the scope was silent.
  • No work before approval. A change request is a proposal with a price and a date, not an invoice after the fact.
  • New ideas go to version two. A backlog for the next stage protects both the budget and the launch date.

Why fixed price has a reputation for change requests

Fixed price moves the risk of underestimating from the client to the agency. The agency commits to a result for a price, and if the work takes longer than planned, that is its problem. For a founder or an operations manager planning a budget, that is the main appeal.

The reputation problem comes from contracts where the scope is vague. When the specification says "user management" without saying which roles, which permissions and which screens, every detail becomes a negotiation. An agency protecting its margin will call many of those details changes. A client protecting their budget will call them obvious parts of the original deal.

Both sides can argue it in good faith, which is exactly why it gets expensive.

The fix is not a different pricing model. It is a clear definition of what counts as a change, agreed before the build starts. You can see how we structure this on our fixed price app development page.

Defect, clarification or change: the three buckets

Every request that comes up during a project fits into one of three categories. Agreeing on them up front removes most of the arguments later.

Defect

Something in the agreed scope does not work as described. The agency fixes it at its own cost, during the build and during the warranty after acceptance.

Clarification

The scope left a detail open, such as the order of fields on a form or the wording of a notification. Deciding it does not add new functionality, so it should not add cost.

Change

New functionality or a different behaviour than agreed: another user role, a new integration, a new payment method. This is where a change request belongs.

The middle bucket is where good and bad agencies differ most. If every clarification arrives with a price attached, the scope was either too thin or the agency is using it to recover margin. Everything agreed in the fixed price scope should simply work, and making it work is the agency's job, not a new invoice.

How to classify real requests

Abstract definitions only help so far. These are the kinds of requests that come up in almost every app project, and where they usually land.

  • "The login screen crashes on older Android phones." Defect. Login was in the scope, so it has to work on the devices the scope names.
  • "Can the booking confirmation mention the address, not just the time?" Clarification, as long as the address already exists in the data. It is a detail of an agreed feature.
  • "Let's move the filter from the top of the list to a separate screen." Usually a clarification before the designs are approved, and a small change after they are built.
  • "Managers should see their team's bookings, not just their own." Change. A new role with new permissions touches the app, the backend, the admin panel and the tests.
  • "We also want to invoice through our accounting system." Change, unless the integration was named in the scope.
  • "Apple rejected the app because of how payments work." It depends on the cause. If the agreed payment flow breaks store rules the agency should have known, the fix is on the agency. If the business model changed, it is a change.

Notice that timing matters. The same request is cheap when it arrives while screens are still designs and expensive when the feature is already built and tested. That is the strongest argument for approving designs before development starts.

Project scope documents and a laptop on a desk

What a proper change request contains

A change request is a small contract amendment. If it arrives as a line on an invoice, the process has already failed. Before any work starts, you should receive a document that answers these questions.

What every change request should answer

What changes. A plain description of the new or different behaviour, written so that someone outside the project could test it.

Why it is a change. A reference to the part of the scope it goes beyond, or to the exclusion it touches.

Price. A fixed amount for this change, not an hourly estimate that can grow.

Timeline impact. Whether it moves the milestone or the launch date, and by how much.

Where it fits. Whether it goes into the current milestone, a later one, or the next stage after launch.

Approval. A written yes from the client. No approval, no work, no charge.

The "where it fits" line is the one most often skipped, and the one that protects launches. Many changes are genuinely good ideas that simply do not need to delay the first release.

How to keep change requests rare

A project with zero change requests usually means the client stopped learning. A project with dozens usually means the scope was not ready. The goal is a small number of deliberate ones.

  • Write the exclusions down. A list of what the first version will not do, such as a second language, a web version or a manager role, prevents most "I assumed it was included" moments.
  • Approve clickable designs before code. Changing a screen in a design tool is quick. Changing it after the backend and tests are built is not.
  • Name every integration. "Integrates with accounting" is not a scope. The system, the direction of data and the events that trigger it are.
  • Test each milestone yourself. Install the build on your own phone and let your team use it. Problems found at a milestone are clarifications. Problems found at the end are often arguments.
  • Keep a version two backlog. Every new idea goes on a list for the next stage by default. Only what blocks the launch moves into the current build.

If the scope still feels thin before signing, a short discovery workshop is cheaper than the change requests it prevents. Our guide on whether you need a discovery workshop helps decide.

Warning signs in a proposal

You can often predict how change requests will be handled before the project starts, just by reading the offer.

  • The scope is a list of feature names. "Chat, payments, profile" leaves every detail open, and every detail becomes a negotiation.
  • There is no exclusions section. The absence of limits is not generosity. It is ambiguity.
  • The contract has no change process. If the document does not say how changes are priced and approved, it will be decided under pressure.
  • The price is far below the other offers. A fixed price that looks too low often expects to be recovered through changes. Our guide on how to compare app development quotes shows how to spot this.
  • Defects after launch are billed. Ask directly what happens when a feature from the scope stops working after acceptance.
Team reviewing a project plan in a meeting room

What happens after acceptance

A fixed price project ends with a formal acceptance. Both sides confirm in a signed protocol that the agreed scope was delivered, much like the acceptance of a machine or a building. From that point, the three buckets still apply, but the timeline changes.

Defects in accepted features are covered by the warranty. On larger contracts we give a one year warranty on the software. Changes after launch become the next stage, usually planned and priced as a new fixed scope based on what real users do. Code ownership should transfer to you with the final payment, which the contract should state clearly; we cover that in detail in fixed price app development contracts.

For startups, this staged approach is usually the healthiest one: a focused first version under a fixed price, then the next stage shaped by data. We describe it in fixed price MVP development and on the MVP development for startups page. Current price ranges are on the pricing page.

About the source

Who is answering this?

CompanyApps Value, mobile app development agency
LocationKraków, Poland
Markets servedUnited States, Western Europe, Nordics
Experience6 years, 19+ projects delivered, 13+ positive client reviews
TechnologiesFlutter, React Native, NestJS, Supabase, PostgreSQL, AWS, Google Cloud
Engagement modelsFixed price contracts and dedicated development teams

FAQ

What is a change request in a fixed price app project?

A change request is a written proposal to add, remove or alter something that is outside the agreed scope. It describes the change, its effect on the price and the timeline, and it takes effect only after the client approves it. Fixing something that was in the scope but does not work is not a change request, it is a defect the agency has to fix.

Who pays for changes in a fixed price contract?

The client pays for new scope: features, roles or integrations that were not in the agreed specification. The agency pays for defects: anything that was agreed but does not work as described. Clarifications of details the specification left open should normally be absorbed by the agency as long as they do not add new functionality.

How do I avoid change requests in a fixed price project?

You cannot avoid all of them, but you can reduce them. Agree a written scope with an explicit list of exclusions, approve clickable designs before development starts, test each milestone on your own phone, and move new ideas into a version two backlog instead of the current build.

Can I switch from fixed price to time and materials in the middle of a project?

It is possible when the agency agrees, but it is rarely the best fix. A more common approach is to finish the agreed fixed price scope, accept it, and run the next stage under a new fixed price or a different model once real usage shows what the product needs.

How much does a change request add to the cost?

That depends entirely on the change. Moving a button costs close to nothing, while adding a new user role touches the app, the backend, the admin panel and the tests. A good change request states the exact price and timeline impact before any work starts, so there are no surprises on the invoice.

Thomas Siudut
Written by Thomas Siudut Co-Founder and CEO, Apps Value

Thomas sets the company's long term strategy and direction, identifies market opportunities, and owns business development and client acquisition. He builds strategic partnerships that last beyond a single project. He works with clients from the first strategy conversation, so their business goals, not just their feature list, drive every decision.

Want a scope that leaves no room for surprises?

Send us what you have, even if it is rough. We will turn it into a written scope with features, exclusions and milestones, so you know exactly what the fixed price covers before anything is signed.