Contract
The contract terms, in writing, before you sign
Every project is governed by a written contract with annexes. This page summarises what you would be signing and — just as deliberately — what you would not be signing, so you can check it now rather than discover a clause later.
I trade as a registered household business (a hộ kinh doanh), not a company. That is a legal form in its own right in Vietnam: it can sign contracts, and once registered for VAT it can issue VAT invoices. The invoice you receive carries the same name as my business registration — open the registration and compare it letter by letter, including the diacritics, before you sign.
Three payments, 30 / 40 / 30
The money follows something that is running, not a date on a calendar. The middle payment falls due only once you have seen the system running on your own infrastructure.
- 0130%
Deposit
On signature, before I write the first line of code.
- 0240%
Second tranche
When you have run the first working build on your own infrastructure and confirmed it in writing. I cannot call this tranche due because a date arrived while you had not yet looked.
- 0330%
Final tranche
On handover of the source code and the documentation.
The clauses worth reading twice
- The source is yours from the start
- Not on handover, not when the final invoice is settled. I do not hold your source as leverage to collect the last payment, and I cannot demand it back if you pay late.
- Defect warranty: 30 days for short work, 90 for multi-week builds
- Two short engagements — “Start Here” (a few days) and the AI Measured Trial (two weeks) — carry 30 days. Everything of eight weeks or more carries 90 days: MVP, Internal System, and both AI builds, Document Extraction and Data Pipeline & Scale-up. On a build that runs 8–24 weeks a 30-day window is not proportionate to what you have just bought. The Measured Trial sits at 30 because it hands over a measurement, not a running system: what protects you there is the accuracy and the cost per run, not a countdown. The period runs from handover and only for defects inside the delivered scope. Hosting, licences and third-party services are outside it.
- Scope changes are quoted first
- Anything outside the agreed scope gets a separate written quote and waits for your written agreement before work starts. It is never folded into the original package and invoiced later, and nothing appears on an invoice you did not agree to.
- No hard price before there is a scope
- Without a signed scope document there is no price in the contract. I do not give a number for work whose scope is undefined.
- Third-party costs are yours to contract
- Hosting, domains, paid library licences, SMS providers, e-invoice vendors — you contract and pay them directly. I do not collect on your behalf and I do not act as your representative.
- Your data goes nowhere
- Your data is never used to train somebody else's model, including mine. That is a clause in the contract, not a verbal assurance.
- After the warranty
- The contract sets out a post-handover support window. There is no monthly recurring package — if you need one, I will tell you it does not exist here rather than sell you an empty one. The system and the source stay yours, and you can hand the fixes to somebody else.
- The size of work I decline
- Below VND 25,000,000 I do not take new work. Not because I am pricing high, but because at that level there is no honest way to write a scope, quote it and contract it.
What is in the contract pack
Four parts. Three exist as reusable documents; the fourth is written per project and is the part that decides the price.
Software development services contract
The main document: who the parties are, what is delivered, how progress and acceptance work, how payment runs, what the warranty covers, who is responsible when, and what this contract does not include.
Annex 1 — Price schedule and payment structure
The price ladder published on this site, so both sides are looking at the same number, plus the 30/40/30 table and the out-of-scope items. This project's actual price lives in this annex, not on the web page.
Annex 2 — Scope of work and acceptance criteria
Written per project, because no two projects are alike. It carries the feature list, the completion condition for each milestone, the shared components, and the data migration script. Without this annex there is no price.
Annex 3 — Confidentiality and personal-data terms
This system stores your staff's names, roles and login history, so this annex is not optional. It states where data is stored, who may access it, which third parties process it, and how quickly an incident must be reported.
What this contract does not cover
Written down so the two of us can check before signing rather than argue afterwards. If you need any of the following, I will say so in the first conversation.
24/7 cover, or a one-hour response commitment
The system has one maintainer. Both promises would have to become lies at exactly the moment you needed them.
A team
No staff augmentation, no team of my own. If a project needs three or more people working at once, it belongs with a larger company.
Cybersecurity services
No ISO, SOC 2 or CMMI certification or audit. I do not do security work.
A pre-trained AI model
The AI work I sell is integration, measurement and operation on your own data — not an off-the-shelf model, and not an AI strategy deck with no build attached.
Integrating with a platform that has no public documentation
Unless a paid feasibility spike is done first and you agree to it in writing. I have never delivered a Zalo OA, KiotViet or TikTok Shop project for a client.
A complete commercial game
Game development is a separate line of work, not a service this contract sells.
Public-sector tendering
Whether a sole-proprietor household business is eligible as a direct counterparty is unresolved, so I do not bid.
Common questions
- Am I locked into a contract?
- For a system build, yes — and without a signed contract and scope document there is no price at all, because I do not put a number on work whose scope is undefined. If it turns out we are not the right fit, you do not pay.
- Will you hold the source code until I pay in full?
- No. Ownership passes to you on the project start date and the repository sits in your account from that point. I do not hold your source hostage to the final payment.
- What happens after the project is delivered?
- The contract ends at handover. You then have three options and no lock-in: stop entirely, use the support window already written into the contract, or hand the fixes to somebody else.
Read the contract, or start with a quote
Send me a few lines about the problem you are facing. If it is not a fit I will tell you plainly, and if it is, the next step is a written scope and a written quote.