A couple of weeks ago, I was in a meeting with a potential client (let’s call her- Ms Gifted). Ms Gifted is a pretty talented developer, and she had recently started off in the world of freelancing.

The reason she had come to me, was because she had this one particular client who kept making changes to the original project specs, sending her emails at all hours, and basically making her life a living hell, she had come to me to see what (if anything) she could do to rein in this clearly overzealous client, or maybe even completely stop the job without incurring any kind of legal liability.

Obviously, first thing I asked is – ‘Did you sign a contract?’ And surprise surprise, she said ‘No we did not’. And that my friends is what spurred me into writing this article.

This article goes beyond the importance of having a written contract when offering your freelance services, I will discuss key legal issues that you must preempt to help make your life so much easier.

1. Not Registering a Business Entity

You might think that as a freelancer running what is to all intents and purposes a one-person business, you do not need to bother about incorporating a company (or registering a business name). Well, sadly you might be mistaken…

There are numerous benefits to incorporation, but for the purposes of this article, I will name only a few:

  • Having an incorporated company projects a professional image, and it basically signals to your potential clients that you are not a ‘fly-by-night’ freelancer, you are here to do serious business. (No legal basis for this, just my opinion.)
  • Certain clients will require that you are incorporated before engaging your services, especially if you want to work with the ‘big boys’, and by ‘big boys’ I mean working with the Government and big corporations that are frequently audited
  • Being incorporated helps you organize your finances much better, you are able to classify certain expenses as those incurred in the course of business, and thereby reduce your tax liability (and exposure)

2. Not registering with the Federal Inland Revenue Service (FIRS)

Upon commencement of business you are obligated to register with the Federal Inland Revenue Service for Valued Added Tax (VAT) collection. VAT is a tax assessed on the supply of goods and services.

So, say for instance to develop an app you charge your client N200k; because you have provided a service, the Government would like a share of it, so what they do is charge a 5% mark up on how much you have charged (the VAT rate in Nigeria is 5%).

What then happens is you give your client a final bill of N200k +VAT, so in total your client pays N210k. You keep N200k and you are meant to remit N10k to the FIRS.

Hope that makes sense?

So apart from keeping the taxman happy (which as a good corporate citizen it is your responsibility to do), you also avoid financial liability from the FIRS, which would arise if you failed to register for VAT after commencing business.

How VAT works is slightly more complex than I have explained it above, as there are things like input and output tax…but I will not bore you with those now!

(As an aside, I think with the new Buhari-Osinbajo administration coming in, there will be a greater emphasis on generating revenue through tax collection, and businesses need to pre-empt a crack down by ensuring they are on the right side of the law).

3. Not Having a Contract

This is what spurred me to write this article. I think it is borderline professional suicide for you to call yourself a freelancer, and not have your own contract for each project.

Most people look at the value of the work, and think, ‘the amount is too small jare, no point in writing up a contract for this small job’…that logic is with all due respect…flawed!

The point of a contract is to spell out the terms of the agreement and protect the parties. I have seen many cases where the value of the work is considered too small, say N100k, but then they run into trouble, and the ‘cost of the trouble’ multiplies ten fold! Always best to have a contract.

A few of the important things that must be covered in a freelance developer contract (generally referred to as Work for Hire Agreements) are as follows:


Any tech guy/girl will confess that this is the most common issue they have – ‘scope creep’, you start off the job with both parties outlining what is to be done, but then as the job progresses your client begins to ‘remember’ additional features which they would like, and asks for slight modifications here and there.

It’s important that as a developer you have a contract which lays out the scope of the project as exhaustively as possible, so that if the client comes to you one week later asking for a modification, you can say ‘Sorry boss, that’s out of scope…I can incorporate it, but it will involve additional costs…and add some time to the project delivery.’

Having this is the best way to protect yourself from clients like the one Ms Gifted from earlier has to contend.


The second and probably most important clause that should be there is – how much you will be paid! This is important because it not only sets out how much your services will cost, but how they are calculated (hourly, weekly etc. depending on the nature of the project), if your contract doesn’t have a clause about your fees, you might as well be working for free.

This clause should also cover late payment fees and potentially penalties for not hitting milestones on time (more on milestones below)


Milestones are key; they serve as phases in the life of a project. A milestone is usually reached at the completion of one ‘chunk’ of the work, it gives the client the opportunity to do a progress check, and flag any issues early, rather than when the whole project is complete. Therefore, it helps avoid complicated disputes at the conclusion of the project about the inadequacy of certain portions of the work.

Most contracts might trigger payment at key milestones, if your project is a long one, you do not want to have to wait months before you receive payment for your services, scheduling payments after key milestones are achieved makes it easier for both parties.


It’s important that the contract states how, when, and by whom the project can be terminated. The most obvious you would think is that the contract will end when the project is complete, right? Wrong! Some contracts may include clauses that ensure the freelancer will provide after development support for X number of months/years (in one contract I saw, the client sneakily try to extend support indefinitely).

Termination also links to fees and milestones, because if the client decides that they want to abandon the job, the fact that you have already completed some milestones would mean you have gotten paid for most of the work already done; and an excellently worded termination clause will guarantee you pro-rata payment for work already done even if the next milestone has not been achieved.

Change Request

There should be a process to be followed if and when a client needs to make any changes to the original agreed project spec during the life of the project. This doesn’t necessarily have to be in the body of the contract, it may be referenced, and included as an annexure to it. But this without a doubt needs to be covered. It is also customary for there to be a fee attached to changes.

Ownership of Intellectual Property (IP)

In most Work for Hire projects, the client always seeks to have the IP rights in the finished product transferred to them. This is understandable I guess, because more often that not the product you have developed is to be commercialized by the client for profit, and in order to do it effectively, they would need to own the IP in the product.

There are a few key things to note here though; the first and most important being the key legal principle- Nemo dat quod non habet, which basically means you cannot give what you do not have.

In the context of this article, this principle means that if there are things inherent in your completed product, which you do not have the sole IP rights to, you cannot pass those rights to the client, as you never had it to begin with!

For example, if you developed a piece of software, it might include stock photos, illustrations, or software code created by a 3rd party. You should disclose this clearly to your client and make sure that they understand any usage restrictions which exists on that third party content


Finally, as a freelancer, your next job is dependent on people knowing how awesome you are, and they can only know this when they see what you have done in the past! Some contracts specifically state that the developer is not allowed to include their projects in any portfolio for future promotion.

Your portfolio is literally your CV as a freelancer, so you should not give up this right easily. There are certain instances when the project demands secrecy (e.g. you are working on a Government project or in a highly competitive industry where industrial espionage is not uncommon), in those cases you may decide not to insist on this, but you need to be aware of your rights in those cases.

4. Not Having an Invoice

I heard of a freelancer who never sent invoices when the work was complete, all he did was email the completed files, with a covering note which contained his account details.

If the above is something you do regularly…then please, stop it! An invoice is a sine qua non (fancy Latin way of saying- ‘essential’) for any serious business.

An invoice should have –

  • A unique identification number
  • Your company name, address and contact information
  • The company name and address of the customer you’re invoicing
  • A clear description of what you’re charging for
  • The date service was provided (supply date)
  • The date of the invoice
  • The amount(s) being charged
  • VAT amount if applicable
  • The total amount owed

Having an invoice is important not only because it projects a professional image, but also because you will need it for your financial records when you compile your yearly company accounts, and also in any dealings with the FIRS; and most importantly it evidences money owed to you in case your client refuses to pay and you intend to commence debt recovery proceedings.

I hope you have found this little write up useful, I’m pretty excited about the growth of tech start ups in Nigeria, and I truly think it can usher a new economic age for us! This is my own little way of helping build the ecosystem…we need you guys focused on being awesome, so make sure before you get on the road to awesomeness, you dot those I’s and cross those T’s…I dey take God beg you!

Please note that the information in this article is provided for general informational purposes only and is not intended to be legal advice. Being general in nature, the information discussed may not apply to any specific factual and/or legal set of circumstances.  No lawyer-client relationship is formed nor should any such relationship be implied. This article is not intended to substitute for the advice of a qualified lawyer. If you require legal advice, please consult with a qualified lawyer.

Photo Credit: KrisFricke via Compfight

Babatunde Ibidapo-Obe Author

Get the best African tech newsletters in your inbox