How to start a company in Addis Ababa by Addis Software

Posted On 24 December 2019 ( 4.9 Minute Read )

Addis Software a company based in Ethiopia

If you did not read part one of this blog, please click here and read.

Part 2

 I will cover how Addis Software continued throughout the rest steps to start the business. 

Step 10: Stamp

 Get a stamp for your company from any business center or printing service shop.

A company stamp is a must to proceed with the next steps, Documents you need to get your company stamp are:

  1. Business Registration
  2. Business License 
  3. Logo (if you have one)

Step 11: VAT Registration

This step may vary from business to business. You will only need to have a VAT registration certificate if you are a VAT payer. We can take our Addis Software as an example, it is a VAT registered company. Most businesses or companies are VAT Payers. 

You will get your VAT Registration Certificate from the nearest ERCA office (የኢትዮጵያ ገቢዎችና ጉምሩክ ባለስልጣን ), most likely it will be the office you visited to get your company TIN Certificate. 

You will be asked to bring your Business License, TIN Certificate and a stamp. This step will not take more than 30 minutes. 

Step 12: Bank Account

You may be asking why opening a bank account is among the last steps. Although it may sound unusual, you are only required to state the amount of money you want to put in starting your business on the previous steps. 

What I advise here is to carefully choose your bank. As Addis Software, I and my partner had to visit multiple banks and discussed with the bank managers to find out what special services they will offer. The offers may include internet banking, mobile banking and other offers for the company and employees. 

Step 13: Sales Register Machine and Manual Receipt Print

A Fiscal printer or cash register machine is a must for VAT Registered businesses. 

To start processing a sales register machine Go to the ERCA office and write a letter to get permission. 

Step 14: Additional Business Licenses 

If you think you need additional business licenses, you can always go back to your sub city Trade and Industry office to expand your license. 

Addis Software got its software export license at this step. 

Step 15: Investment License 

If your business is in the IT sector you can get an additional investment license from the office of Addis Ababa Bureau of Investment located around Senga Tera 

To summarise all steps

Offices to get services:
  • Addis Ababa Sub City Offices
  • ERCA (ገቢዎች)
  • DARA (ውልና ማስረጃ)
  • MCIT for IT sector
  • Addis Ababa Bureau of Investment (optional)
A little secret from Addis Software:
  • Always have multiple copies of your documents when you visit the above offices except for MCIT.
  • Go to the offices early in the morning to save time. Because of this, we were able to finish all the processes with less than 4 days.
Last but not least!

Relax and Enjoy! Addis Software wishes all people reading this blog Best of Luck in your business. 

React.js Let's Hook

Posted On 18 December 2019 ( 5.1 Minute Read )

React.js Let’s Hook

If you are a starter to react, I suggest that you read this blog first on how to get started with react.js.

When did Hooks come along?

Hooks are a new addition in React 16.8″ React.js official site. This means that to use Hooks, you need to have React.js version 16.8 or later.

But Hooks has brought some frustration among some react developers, They argue It’s inappropriate to bring Hooks in to play in a matured and well-understood library like react, But Most developers agree that Hooks can transform the react library itself and some of its limitations that the developer been facing so far. we will list some of the pros of using Hooks below and why we use Hooks here in Addis Software and why you should. We hope that other software developers in Addis Abeba shares our view

Hooks come in to play Because there were problems. Well, Hooks don’t solve all problems, but they still solve some of the problems we have faced with react development and making a complex application using merely components.

By the way, one thing to note here is that the react team is not planning on replacing class components by Hook out of a sudden, they have a strategy they call it “Gradual Adoption Strategy”. As you might have guessed classes are going to stay for a while.

Here are some of the problems with react class components and why they are being replaced by Hooks.

  • It’s hard to reuse stateful logic between components
  • Complex components become hard to understand
  • Classes confuse both people and machines
  • react more about motivations here

Play by the rules

If you are convinced by Hooks into play, let’s proceed to write hooks. But before that, we have to set some rules before we start the fun part. Here are the rules to write hooks

  • Always call hooks from the top-level ( don’t call in loops, iterative functions … )
  • Start with a Capital letter ( something that very similar to class components)
  • Don’t call hooks from regular javascript functions

now without any further ado, let’s Hook

in the code below, we will just print out some basic example to help us understand the basic components of a Hook, that is a react Hook

import React from 'react';

function OurFirstHook () {
   return (
         <h1> our first Hook </h1>
export default OurFirstHook

But in the snippet above we didn’t use any Hook APIs so we are going to do that in the next example below

import React from 'react';
function OurFirstHook () {
const [clicked , setClicked] = React.useState(0);
const clickedHundler = (event) => {
   return (
         <Button onClick={clickedHundler}> 
{`button clicked ${clicked} times`}
export default OurFirstHook

We think that Hooks will be used more often by software developers in Addis Abeba and all over Africa.
we will discuss the code above line by line in the next Blog, til then ,

and also you can subscribe to our newsletter to get notified when new blogs come in


How to Start a tech company or PLC in Ethiopia | Addis Ababa

Posted On 13 December 2019 ( 12.9 Minute Read )

Addis Software a company based in Ethiopia

How to Start a tech company or PLC in Ethiopia | Addis Ababa

How to start a company in Addis Abeba by Addis Software

Part 1

What prompted me to write this blog is, it was complicated for me and my partner to find full information on how to start a company eight months ago when we were about to Start Addis Software, Read more .

I have tried to put everything you need to know about starting a PLC in Addis Ababa. 

Let me first walk you through the two most popular types of business organizations in Ethiopia.

  1. Sole Proprietorship: Is a type of enterprise that is owned and run by one person and in which there is no legal distinction between the owner and the business entity. 
  2. Private Limited Company: To start this type of company a minimum number of two members are required and the liability of each member or shareholders is limited. It means that if a company faces loss under any circumstances then its shareholders are liable to sell their assets for payment. The personal, individual assets of the shareholders are not at risk.

So what we first did was, we decided that PLC is the type of business we want to start and agreed on our share contributions. What is next? Company name right? It is not necessary to decide on a company name at this step, just keep thinking of different names for your company in the back of your head because later you will be asked for several names.  

I am going to put the next steps one by one. 

Step1: Decide which sub-city (ክፍለ ከተማ) in Addis you want to start your business.

Sub cities in addis abeba

Addis Ketema, Akaki Kality, Arada, Bole, Gullele, Kirkos, Kolfe Keranio, Lideta, Nifas Silk Lafto, and Yeka are the sub-cities in Addis Ababa, I guess choosing a sub-city depends on several factors such as type of business, location, etc… We decided to start our business addis software in Bole Sub-city. 

Step 2: Write Article of Memorandum and Article of Association (የመመስረቻ እና የመተዳደሪያ ጽሁፍ/ሰነድ) for your company. 

Article of Memorandum (የመመስረቻ ጽሁፍ)  is a document that sets up the company and it includes things like

  •  Company name
  • Date of establishment
  • Type of company
  • Names and signatures of all original shareholders

Article of Association (የመተዳደሪያ ጽሁፍ) sets out how the company is run, governed and owned. It also includes the responsibilities and powers of the directors, it includes things such as

  • Directors’ powers, responsibilities, decision making, appointment, and removal, indemnity, and insurance
  • Shares, distribution of shares and Dividends
  • Capitalization of profits
  • Shareholders
  • General meetings
  • Voting Rights

Writing your company Article of Memorandum and Article of Association from scratch might be a bit tricky, you can get samples from a nearby stationary or business centers near any Documents Authentication and Authorization Agency (የፌደራል የሰነዶች ማረጋገጫና ምዝገባ ኤጀንሲ) office. They have branches in different parts of the city. We were getting services from a Documents Authentication and Authorization Agency located in Megenagna Derartu Tulu Building. 

After looking at a sample you can also include your ideas, I suggest to talk to a lawyer or someone from the law firm to consult you with your Article of Memorandum and Article of Association before publishing it.

And print draft copies of Article of Memorandum and Article of Association without a company name. 

Step 3: Come up with at least 5 alternative company names and get approval on your choice of sub-city.

Firstly go to the sub-city you decided to start your business and go to the office of trade and Industry (የክፍለ ከተማው ንግድ እና ኢንዱስትሪ ቢሮ) of that sub-city. In our case, the Bole Sub-city head office, located right below Megenagna roundabout, and the office of trade and Industry is located on the third floor. 

secondly tell one of the officers that you came for a company name approval, they will ask you for your Article of Memorandum and Article of Association and list of alternative names. This will take around 10 to 15 minutes for them to check on their system whether the company name you proposed exists or not. If you are fortunate, you will get your first choice otherwise they will check all the alternative names. 

We were lucky enough to get our first company name choice “Addis Software PLC” I love this name more than anything now.  

 And Include your approved name in your Article of Memorandum and Article of Association and print three copies. Also print copies of each shareholder ID (Government ID, Drivers License, Yellow Card, Passport… )

Step 4: Get your Article of Memorandum and Article of Association approved (የመመስረቻና የመተዳደሪያ ጽሁፍ ማጽደቅ)

To do this you have to go to any Documents Authentication and Authorization Agency (የፌደራል የሰነዶች ማረጋገጫና ምዝገባ ኤጀንሲ) office that is close to you. The office is usually known by the name Wulina Masreja (ውልና ማስረጃ). The place is usually crowded, I suggest to go in the early morning to save time. 

Then, give your Article of Memorandum and Article of Association to one officer, after carefully reading it they will ask you to sign the papers in front of them.

In this case, all members of the PLC must be present physically because each share-holder will sign on each page of the ‘Article of Memorandum and Article of Association’ (የመተዳደሪያ እና የመመስረቻ ጽሁፍ/ሰነድ). 

Step 5: Office Rent Agreement (የቤት/የቢሮ ኪራይ ውል)

Find an office for rent and get approval for your contract at Documents Authentication and Authorization Agency or “wulina masreja” by signing a contract with the landlord. Every document that is signed between two or more parties gets its legality at this office. You may keep coming back here oftentimes 🙂

Step 6: TIN Registration (ቲን ምዝገባ)

In addition, you have to go to a new office called ERCA (Ethiopian Revenues and Customs Authority or ገቢዎች ቢሮ) near your office to get your company’s TIN Number.

TIN is an acronym for Taxpayers Identification Number and it is usually a 10 digit number assigned to a tax-paying business and other entities for identification, reporting, and record-keeping purposes. 

You will get your TIN very quickly from ERCA. 

Step 7: Business Registration (የንግድ ምዝገባ)

Registering your business means simply putting your company’s information such as your business name or your TIN in the government’s files.

After completing the above steps you will return to your sub city office of trade and Industry, They will require previous documents such as office rent agreement, copies of ID’s of shareholders and General Managers photograph. They will give your Business Registration Certificate with few minutes. 

Step 8: Competency Certificate (የሙያ ብቃት ማረጋገጫ ሰርተፊኬት) | IT sector for Addis Software

Having a Business Registration certificate does not mean you are now able to start your business, you will also need to have a business license depending on the type of business you want to start. To get a business license you will need to have a competence certificate first

For instance Since our Company is in the IT sector, we were asked to bring a Competency certificate from the Ministry of Information and Communication located inside the Global Hotel. in other words this step differs from business to business.

Step 9: Business License (ንግድ ፍቃድ).

Finally! A Business License gives you the right to run a business. You will also get this from your sub-city office of Trade and Industry. The General Manager must be present physically and sign to get the license.

Easy right?! after that you can start running your business. There are multiple steps and rules to follow. On the other hand It took three and a half-day for me and my partner to finish these processes. Consequently it wasn’t as difficult as we thought it would be. However you need to be first in line in the morning. Above all make multiple hard copies of all of your documents .

I will cover the rest important steps in Part 2 of the blog. 
also in collaboration with our Swedish partner Sweetopia

How to get started with react.js

Posted On 11 December 2019 ( 7.5 Minute Read )


What is react.js?

In this blog, we will discuss what Javascript is and What a library is and we will take a look at react The most famous Javascript Library in javascript.

JavaScript often abbreviated as JS, is a high-level, just in time compiled, object-oriented programming language that conforms to the ECMAScript specifications. according to Wikipedia. Javascript is very different from other programming languages like Java ( which inspired Javascript ) and c++ Because it runs in browsers.

But after a couple of attempts, javascript was hugely accepted as a server-side language starting from 2009 with the first release of node Js. This was a huge Game Changer for programmers who knew the language (working in browsers), Because now without learning a new language they can write server-side applications also.

This was not the only breakthrough we have seen with Javascript but also Javascript is used to work with mobile applications, Desktop applications, Tv applications and much more. Now it is true to say javascript can be used to build anything.

So as you might have guessed learning javascript is very important in the tech world right now. Not only that Javascript has a huge number of frameworks and libraries to get you rolling quickly and neatly. One of them being React.

React is a library for javascript that has the view layer in the famous MVC architecture. Before we dive into React, let’s discuss what a library is and the difference it has with a framework.

What is a Library

A library is a collection of resources ( in our case code ) written by someone to help roll quickly. The concept is pretty simple, Library is someone’s code to help you with a problem or issues that you can bring to your code to solve similar issues or problems. The code is reusable so you don’t have to write it on your own. for example, if you have worked with java, you know you have to import the String package to access the functions or resources in that package. library is the same, you reuse the code someone has written for a similar problem that you are facing.

SO, What is the difference with framework ?

well, A framework and library are similar things, they are codes written by someone that you bring to your project or code to solve similar issues. Well, what a library does is give you certain tools to deal with the problem at hand, well Framework seems to go beyond. Library gives you the furniture, Framework can build you the whole house.

well Technically speaking, if you are using a framework the framework also tells or influences the flow of your app, the design and also the architectures in some cases. But a library doesn’t force any flow on you. Instead gives you full control and will take care of little details you don’t have to bother about.

What is react.js

simply react.js is a javascript library that enables you to make your development and application fast and painless.

Things to dive in deeply when learning react.js

  • Virtual DOM
  • JSX
  • Context
  • State
  • Component
  • High-order components
  • Component Life cycles ( if you are learning react 5.9 or less )
  • Hooks

How to setup react

First install and setup Nodejs

React expects node js installed, install node js here node website

If you are using Linux make sure to install NPM separately.

Setup your first react project

run the following command

$ npx create-react-app my-app
// or if you have a template use
$ npx create-react-app my-app --template [template-name]
$ cd my-app
//going into the project directory
$ npm start
//starting the application
//now you should see localhost:3000 loads your new app

you can now change your app.js in src directory with the code below

import React from react
function App() {
     <h1> welcome to react.js </h1>
export default App

with that code, you officially are a React starter! ??

Where to go from here?

The first choice to learn to react would be the official react website here and also we would be writing about react here at addis software website. You can ask any question on the comment below.

How we use react.js in Addis Software

Here in Addis Software, We use React.js to build frontEnd web applications and also Cross-Platform Mobile Applications. Building a cross-platform Mobile application is very helpful, as it enables you to achieve the development speed and also gives you a native speed for your app.

Why attend a tech event?

Posted On 06 December 2019 ( 3.4 Minute Read )

Why attend a tech event?

What is Devfest ?

This year’s Devfest

Let’s talk about this year’s Devfest. Let’s start with the location. It was held at Grand Eliana hotel. And the hall was epic. It is one of those bougie halls reserved for those high-class events. That made me feel important. I can’t imagine how much this cost.

Morning session

Let’s get into the content of the event. There were morning and an afternoon session. The morning session kicked off from the Sub-Saharan Africans lead of Google Developers, Aniedi. He talked about how these kinds of events are good for the betterment of the tech community and also hinted that the next DevfestAfrica(not sure about the type of event) will be held here in Addis Ababa with about 500 Google developers from all over Africa. Imagine the network that can be made with all these developers. I urge you not to miss it when you hear about it. There was also a video conference on a keynote from India about what it really takes to develop an AI-based software.

Afternoon session

In the afternoon session, I joined the venture capitalist track and through a panel, discussion developers got to know what challenges there are as an entrepreneur and also what venture capitalism is and how it can help the tech community.

The last but not least which was the most interesting part was the networking sessions. This happened during the breaks and everyone got to know each other talk about their projects, upcoming technologies, startups and so on. There were booths given to companies and organizations for showcasing products and for people to know what they are about.

Addis Software at Devfest

Our company Addis Software was a partner to the event and we were there to meet with enthusiast developers and provide an opportunity for them, we really believe there is potential in this country and we want to help and connect with the people with potential. And what better platform to do it than the biggest developer gathering in our country.