← AI Insights
繁體中文 English 简体中文
Levi · LinkedIn

Fixed-Scope AI Contracts: A Buyer's Clause-by-Clause Guide

Companies evaluating AI outsourcing projects often invest heavily in comparing technical proposals, only to rush through the contract review stage. AI project contract risks differ from standard software development: model behavior is difficult to quantify, deliverable boundaries are easily blurred, and downstream API cost structures are not always transparent. The following breaks down eight core clauses a fixed-scope AI contract should cover, with an explanation of each clause's practical impact on buyers.

1. Scope Definition Must Reach the Feature Level

The core premise of any fixed-scope contract is that both parties agree in writing on what "done" means before work begins.

A typical vague scope statement: "Build an AI system that can answer customer questions." This type of description cannot serve as an acceptance benchmark.

An executable scope definition should specify:

Without a clear scope definition, any additional requirement can become a dispute: the contractor considers it out of scope, while the buyer assumed it was always included. A clear exclusions list often provides as much legal protection as the inclusions list.

2. The Deliverables List Determines What You Actually Receive

The contract should enumerate each deliverable item by item, rather than describing the work as simply "completing the system." A complete deliverables list typically covers three layers:

Code LayerComplete source code (including all dependencies and version numbers), deployment configuration files (environment variable templates, Dockerfile, cloud service settings), API interface documentation
Knowledge LayerFull system prompt text, RAG chunking parameters and embedding model settings, test sets and evaluation records
Operations LayerHandover meeting records, basic operations manual for non-technical staff to handle day-to-day maintenance
If the deliverables list omits the system prompt or embedding model settings, rebuilding the system becomes significantly harder even if you hold the source code. The deliverables list itself should be finalized before the contract takes effect, not negotiated item by item at handover time.

3. Milestone Payment Structure Should Be Tied to Deliverables

The payment structure for a fixed-scope project directly determines how risk is distributed between the parties. Common high-risk structures include paying the full amount or a large deposit upfront, or tying the final payment to "buyer satisfaction" — the former shifts all risk to the buyer; the latter creates disputes by using a subjective standard as a payment trigger.

A recommended three-stage structure that ties each payment to verifiable deliverables:

MilestoneTrigger ConditionPayment Share
KickoffRequirements confirmation document signed30%
AcceptanceSystem passes pre-defined test scenarios50%
HandoverSource code and documentation fully delivered20%

Acceptance criteria should be objective and quantifiable — for example: "Correct field extraction rate of 85% or above across 20 provided test documents" — rather than "the system works." Using subjective satisfaction as an acceptance standard is difficult to arbitrate in any actual dispute.

4. Source Code Handover Terms Are the Decisive Factor for Long-Term Costs

This clause's long-term impact on the buyer often far exceeds the initial development cost. The contract should explicitly state: the exact point at which source code is transferred (typically after final payment is cleared), the method of transfer (private Git repository access, compressed archive delivery), and that intellectual property belongs to the buyer with no usage license retained by the contractor.

AI projects require special confirmation of ownership across the following layers:

If a contractor refuses to hand over the system prompt on the grounds that it is "core intellectual property," they are retaining a critical dependency inside the buyer's own system. The system prompt is part of the buyer's business logic and should not remain in the contractor's hands.

For a complete framework on source code handover: Why Source Code Handover Matters: Core Buyer Protection Clauses.

5. LLM API Cost Attribution Must Be Defined During the Contract Period

Fixed-scope development costs are one-time; LLM API costs are ongoing and variable. The contract should clearly define:

During the development period (within the contract term): Which party bears API costs; whether there is a usage cap and how overages are handled.

After delivery (outside the contract term): The buyer operates the system using their own API keys; monthly cost estimates based on projected usage and model pricing.

If the system uses multiple LLM providers (a primary model plus a fallback), billing attribution for each provider should be included in the contract. Which provider's API is ultimately used in production should be confirmed in writing before delivery, to avoid the buyer discovering after handover that they need to register for multiple API accounts.

6. Change Request Mechanism Prevents Scope Creep

Common disputes in fixed-scope contracts stem from disagreement on whether something is a modification within the original scope or a new requirement. The contract should include an explicit Change Request process:

Contracts without this mechanism tend to evolve into a situation where both parties dispute the scope of work in the later stages of the project.

7. Warranty Period Terms Define Post-Delivery Responsibility Boundaries

Edge cases appearing in the initial operation of an AI system after delivery are normal. The contract should specify:

After the warranty period, if the buyer requires ongoing technical support, a separate maintenance contract should be signed rather than extending the responsibility scope of the original fixed-scope contract.

8. Five Questions to Confirm with the Contractor Before Signing

Regardless of how the contract clauses are written, it is worth directly confirming the following with the contractor before signing:

  1. Does the source code handover include all prompts and RAG settings? Ask the contractor to provide a complete handover checklist.
  2. Who defines the acceptance criteria? If the contractor defines them unilaterally, a conflict of interest exists.
  3. If the project terminates early, which specific deliverables correspond to payments already made? Each milestone should have independent deliverable outputs.
  4. Which third-party services does the system depend on? The replaceability and cost structure of each service should be understood in advance.
  5. Is documentation written by the contractor, or compiled by the buyer? If the contract does not specify, documentation often becomes a dispute point later.

The core protection logic of a fixed-scope contract is: tying each payment to a specific, verifiable deliverable, so that regardless of which stage the project ends at, the assets the buyer holds are commensurate with the amount paid. The clauses themselves do not need to be complex, but each one must be specific, measurable, and confirmed in writing by both parties before the contract takes effect.

Further reading: Fixed-Scope vs. Time-and-Material: How to Pay for AI Projects · How to Evaluate an AI Vendor Proposal

AI contract fixed-scope buyer protection source code handover LLM outsourcing

Levi is an independent AI engineer based in Hong Kong, building production-grade LLM applications, RAG pipelines, and document intelligence systems for SMEs pursuing AI digitalization internationally, working remotely.

WhatsApp Free Initial Consultation → More enterprise case studies →

Or email: support@hksoka.com