Illumi

In the open

The contract, annotated

Contracts usually get shown at the end, when it's already awkward to ask questions. That's why we publish ours in advance — clause by clause, with a note alongside on what each clause means and whom it protects. Below it there's also a list of what it's missing: we ran our own check on it, and it didn't pass in full.

Articles
13 + an annex
Notes
On every article
Blank template
To download
Legal advice
It isn't

Before you read

Four things about this text.

We're publishing our own contract, not a template from the internet. So it makes sense to be clear about what it is and what it isn't.

It's blankNo client names, amounts, dates or signatures. The parties' details and the price are replaced with square brackets — they're filled in for each project.
It's short on purposeThirteen articles on two pages. A long contract doesn't mean a better-protected client — it means a more expensive lawyer.
It isn't legal adviceIt works for our projects. Before you use it for your own, give it to a lawyer — that goes for any template found online, including this one.
It isn't completeFive things we ourselves recommend asking about aren't in it. They're listed below, one by one, rather than pretending they don't exist.

1. Client

Name: [company]

UIC (company ID): [number]

Registered office and address: [address]

Represented by: [name]

2. Contractor

Name: [company]

UIC (company ID): [number]

Registered office and address: [address]

Represented by: [name]

This contract was concluded today, [date], in [city], between the parties above.

Whom it protectsBoth. Check that the contractor's company number actually exists — you can search for it free of charge in the Commercial Register. A contract with a company that can't be found isn't a contract.

I

Subject of the contract

Art. 1. The CLIENT commissions and the CONTRACTOR agrees to build [description of the website — for example: a fully functional online shop on WordPress and WooCommerce], hereinafter referred to as the WEBSITE.

What it meansOne line that means nothing on its own. “Fully functional” is a word, not a scope. It only works because the next article follows straight after it.

Art. 2. The content, functionality, form and scope of the services under the subject of the contract are described in Annex 1 to this contract.

The most important articleThe scope isn't in the contract but in an annex — and that's right. The annex is written in plain language and read by people who aren't lawyers. If a contract you're signing has no such annex, there's no scope — only mutual expectations.

II

Rights and obligations of the client

Art. 3. The CLIENT undertakes to provide the CONTRACTOR with the photos, logo and text content needed to build the WEBSITE.

This is where it's decided who causes delaysMissing copy and photos stall more projects than anything else. Note that the article has no deadline — that's a weakness in our contract too. The fair version would say “within [number] days of signing”.

Art. 4. The CLIENT undertakes to provide access to the necessary domain and hosting services. The hosting fee payable to the provider is borne by the CLIENT.

This should please youIt means the environment is yours: you hold the account, you pay the fee, and the contractor gets access. The opposite — the contractor “taking care of the hosting” — sounds like a service and is the beginning of dependence. More on Whose website is it.

Art. 5. If courier integrations are activated, the CLIENT provides the necessary details from active contracts with the courier companies.

A small article that matters a lotThe courier contracts are in your name. The integration connects your contracts, not someone else's — so the discounts and terms are yours and stay yours.

Art. 6. The CLIENT undertakes, within 14 days of the official publication of the WEBSITE, to review it for defects related to the specific work under Annex 1. Any defects found are remedied by the CONTRACTOR.

This is the warrantyEven though it isn't called that. It's fair to know the other side of it too: after the fourteenth day, fixes are new work. So those two weeks shouldn't pass while you're on holiday.

III

Rights and obligations of the contractor

Art. 7. The CONTRACTOR undertakes to build the WEBSITE within [number] weeks of the date of receiving the advance payment and all the necessary materials under Art. 3.

When the clock startsFrom the advance and from the materials — both together, not separately. It's fair, but it means the launch date isn't known on the day of signing. If you need a firm date, it's agreed separately and usually means a stricter deadline for you too.

Art. 8. The CONTRACTOR is not obliged to build the WEBSITE with information not provided on time by the CLIENT. Any additional work outside Annex 1 is subject to separate agreement.

It's one-sidedThe mirror of Art. 3 — but only in one direction. It says what happens if you're late, and doesn't say what happens if we're late. That's an omission, and we admit it rather than count on you not noticing.

IV

Prices and payments

Art. 9. The CLIENT undertakes to pay a total price of [amount] euros for building the WEBSITE. [It is stated explicitly whether the price includes or excludes VAT.]

Final, not “from”If a contract says “from”, you're signing an intention, not a deal. This is also where VAT belongs: it must say explicitly whether it's charged, so a twenty per cent difference doesn't appear on the invoice.

Art. 10. Payment is made in two stages by bank transfer:
— 50% in advance — before work on the project starts;
— 50% on completion — after the work is finished and the site goes live.

Fifty-fiftyThe sensible split. One hundred per cent up front gives everything to the contractor; one hundred per cent at the end, to the client. Both make the other side nervous, and nervous projects go badly. Note that the second payment is tied to an event — going live, not a date.

V

Additional provisions

Art. 11. This contract enters into force on the date it is signed.

Boring, but necessaryWithout it, a dispute starts over exactly when the deadline in Art. 7 began to run.

Art. 12. The CONTRACTOR bears no responsibility for unresolved copyright when publishing materials provided by the CLIENT.

This one protects the contractorRead it carefully. If you supply a photo you don't have the rights to, the responsibility is yours. That isn't unfair — the contractor has no way of checking the origin of someone else's archive. But it means the question “whose photo is this?” is yours, and before it's uploaded.

Art. 13. For all matters not settled in this contract, the provisions of the applicable Bulgarian legislation apply.

A standard clauseThere's no jurisdiction clause — where disputes are settled. For a project of this size it rarely matters; in a bigger contract, one is added.

VI

Annex 1 — project scope

The annex lists task by task what's included, with a status against each line. Here's what it looks like for an online shop:

This is why you signEvery line is a task with a status. A table like this costs the contractor half an hour and saves months of disputes. If a quote you've received has no such list, ask for it before you ask about the price.

Design and structureResponsive (mobile-first) design, building the shop from scratch, customer accounts, a light and fast theme.
Included
Language versions[number] language versions — [which].
Included
ProductsUploading and optimizing [number] initial products with variations — descriptions, photos, meta data.
Included
Delivery and paymentCash on delivery. Courier integration with automatic generation of shipping labels.
Included
SEO and SchemaStructure, meta descriptions, titles, schema markup, sitemap, robots.txt.
Included
Marketing integrationsTag Manager, Search Console, analytics, ad pixels, an email marketing platform.
Included
Legal and technical requirementsGDPR compliance — basic setup of policies and cookie management.
Included
Out of scopeAdditional payment methods (a virtual POS, etc.) and a maintenance plan are agreed separately.
Not included

Download the blank template. A plain text file with every article and square brackets to fill in. Use it with whoever you like — it doesn't carry our name and isn't tracked.

Honestly

Five things this contract doesn't have.

We ran our own contract through our own check. It didn't pass in full. Here's what's missing, why it hasn't been fixed yet and what we do in the meantime.

In whose name the domain is registeredArt. 4 says the access and the fee are yours, but it doesn't say explicitly that the domain is in your name. We always register it to the client — but that's a practice, not a clause.
Who gets administrator accessThere's no article on it. We give the administrator role at handover and say so in How to leave us. But a promise on a website isn't a contractual obligation.
Who owns the code after full paymentIt doesn't say. We hand over a full archive and the source code on request, at any time. Again — a public promise, not a clause.
How many rounds of revisions are includedThere's no number. We work without a counter, and it hasn't been a problem so far, but the absence of a number works in our favour, not yours. That's why we point it out.
What happens if the contractor is lateArt. 8 covers only delay by the client. The other direction is missing — the most visible gap in the whole document.
Why we're telling you at allBecause you'd have noticed it yourself in five minutes if you used the check. Better to hear it from us than to discover it.

The whole journey

Brief, quote, contract.

The three documents are one chain. If the first is clear, the third is short — and vice versa.

Questions

About the contract.

If your question isn't here, call us — we answer by phone too.

+359 882 95 89 89
Can I use this template for my own project?

Yes. Download it, change whatever you need and use it — including with another agency.

One condition, which is in both our interest and yours: show it to a lawyer before you sign anything based on it. It works for our projects, and yours may be different. This page is an explanation, not legal advice.

Why do you show what's missing from your own contract?

Because otherwise the page would be advertising, not help. Anyone who runs the contract through our own check will see the same five things in five minutes.

Better to hear them from us — along with what we do in the meantime so you're not short-changed.

Will you add the missing clauses?

That's the intention, and that's why they're listed publicly — that way we have a deadline in front of us, and you have something to remind us about.

In the meantime, if any of the five matters to you, we'll write it into your contract right now. Just ask before signing; you don't have to wait for us.

Is a contract compulsory for every task?

No. For smaller tasks — an hour of programming, a fix, a change — we work under the terms and conditions and a quote confirmed in writing. A separate contract makes sense for a project with stages and a deadline.

Can I change a clause I don't like?

You can, and that's a normal part of the work. The contract is a proposal, not a form.

If a change isn't acceptable to us, we'll tell you why — and if the reason doesn't convince you, then we weren't meant to work together, and it's good to find that out before we start.

Why is the price in the template in square brackets?

Because the price belongs to a specific project, not to the contract. Our starting prices are on the pricing page, and the calculator gives a rough estimate for your case.

The contract itself contains one single final sum, not a range.

Next step

You've read the end before the beginning.

If that works for you, tell us about the task. The quote is in writing, with scope and a fixed price, and the contract is the one you've just read.

+359 882 95 89 89 office@illumi.bg

Sofia, Bulgaria We reply within 24 hours In business since 2012

Three fields, thirty seconds

We don't send newsletters and we don't pass your details to anyone.

Got it.

We'll be in touch within 24 hours on working days. If it's urgent, call +359 882 95 89 89 — we react faster by phone.