Resources Tax Residency for Contractors in Africa

Tax Residency for Contractors in Africa

Contractors with clients in the continent of Africa will want to research the specific tax residency rules.  Each country sets its criteria, and generally, tax residents are taxed on income no matter where it originates.  This is not a problem if your only income is generated inside the country of residency. This is very likely if you have a full-time gig.

But what if you have income in the tax year from a previous client in another country? Or from your home country?

This is something that can certainly occur with international contractors.  So, you have to know the tax residency rules for all the countries of work, as well as your home country.  For example, US expats will always be subject to tax on worldwide income. This applies even if they are abroad for many years.  Other countries are more lenient, but the rules do vary if you want to ‘lose’ your home country’s tax residency.

This guide will review the basics of tax residency for contractors and some specific examples from select African countries.

What is tax residency?

Tax residency means a financial status applied to foreign nationals that work in a country for a certain period.  If you meet the time criteria, then you will be taxed just like a citizen of the country, with some exceptions.  The most common period used is 183 days in 12 months, and after that, you have deemed a tax resident.

The 12-month period is usually ‘rolling’. This means it is not dependent on the calendar year and begins on the entry date.  The period is also cumulative, so a quick visit home will not reset the clock just because you crossed the border.  The time away is usually just not counted.


If you stay less than the tax residency period, you are taxed as a non-resident. In this case, non-resident tax applies which means you pay tax only on earnings inside the host country.  Foreign non-residents may also be offered alternative flat-tax rates to keep things simple.

Tax Residents

Once you cross the tax residency time threshold, you will often need to pay tax on earnings outside the country as well, for the affected tax year.  At first, this looks like unfair double taxation assuming you are still liable for tax in the other countries or at home.  But there are ways to offset this result with some research and planning around tax treaties.  Some countries will only tax you if the earnings are received locally.

What are tax treaties and how do they work?

Tax treaties are in place between two countries to give equitable treatment to expat citizens who may be working and earning income.  Essentially, they prevent double taxation when an expat meets tax residency requirements, but still has tax liability at home.  Without tax treaties, there would be a chilling effect on bilateral trade and professional exchange that would be negative for both countries.

How is tax residency different from legal residency?

Tax residency criteria are only used to determine what type of personal income is taxed.  As a tax law, it does not confer any type of legal residency status or immigration permission to stay.  It is possible that if you pay taxes as a resident for a few years that could be taken into consideration for legal residency. However, it won’t be a deciding factor.  You would have to meet the other immigration criteria for legal residency or citizenship if that is your desire.

Examples of tax residency rules in Africa

We’ll be looking at tax residency rules in five different countries in Africa

  1. South Africa
  2. Morocco
  3. Namibia
  4. Egypt
  5. Kenya

When am I considered a tax resident in South Africa?

South Africa uses “ordinarily resident” as the definition for tax residency.  This means the place that is your most fixed or settled residence.  The alternative test is if you are physically present in South Africa for 91 days (cumulative) in the current tax year as well as the previous five tax years, and 915 days total in those five years.

The bottom line is that any expat contractor who does not work for at least five years in South Africa will never become a tax resident.  So, you will only be taxed on income earned in the country.

When am I considered a tax resident in Morroco?

In Morocco, you become a tax resident if you spend 183 days in any 365 days, counted cumulatively from the date of arrival.  There are no special expat tax regimes and rates range from 0-38%.  Residents will pay tax on worldwide income and must look to a tax treaty for relief from double taxation.

When am I considered a tax resident in Namibia?

Namibia is unique in that the typical definitions of residence don’t apply.  The tax system is based solely on the source of income, and not residency or physical presence.  So, expat contractors will only pay tax on earnings inside of Namibia.

When am I considered a tax resident in Egypt?

Egypt uses a test of 183 days in 12 months, or a different period specified by the tax treaty with the contractor’s home country.

When am I considered a tax resident in Kenya?

In Kenya, tax residency occurs with a 183-day stay in the year of earning income, or if you are present in Kenya for 122 days in the current year and the two preceding years.  This eliminates the option of avoiding tax residency by only staying 4 months per year if you do so three years in a row.

How can Contractor Taxation help with tax residency for contractors?

If you don’t want to take any chances navigating the tax residency rules in Africa, Contractor Taxation can be your valuable partner.  We have a network of umbrella companies across Africa with local experts who know all of the residency criteria and tax rates. This ensures that you will remain in compliance, and pay the correct tax rates under local criteria.

The umbrella company can also assist with handling client payments, withholding taxes and negotiating any client disputes.  Please contact us if you are interested in using an umbrella company for all of your contracting needs.

Contact Us

"*" indicates required fields

This field is for validation purposes and should be left unchanged.