Software Development Offshore Outsourcing Contract: Key Aspects
Published: 2022-04-21 13:03:06

Offshore IT outsourcing or hiring developers abroad had considerably grown due to the pandemic, remote work popularity growth, and other trends in business. Offshore IT Outsourcing takes place when Company А fully or partly delegates product development to Company B. Company B is located in a different country outside local governmental regulations. It makes the mechanisms of work more complicated rather than when two parties are located in the same country. 

Such collaboration raises several legal questions for both vendors of IT services and a client. The contracting party should understand that their activities are subject to many regulations of the foreign state: employment and labor, taxation, intellectual property, etc.

![What clients are saying about legal issues when hiring overseas developers](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/me2t183f9ckghqaaa9cy.png)
<figcaption>What clients are saying about legal issues when hiring overseas developers</figcaption>

To avoid costly and continuous disputes, you should prepare a robust agreement with an IT contractor. It is important to understand that agreement between the parties should meet the legal requirements of the countries in which these parties are registered. What is legal and true in one country might be unacceptable in another country. In case your dispute ends up in court, agreement will be considered as the most important factor.

## 1. Taxation aspects: foreign independent contractor or an employee
When hiring a foreign developer you have two options: hire this person as an “employee” or as an “independent contractor”. 

### Foreign developer with an “employee” status
Employee – is a person hired by the employer to work full time for a fixed salary. On the regular basis, you pay the fixed sum, provide working equipment, control employees’ time and methods of work.

![Foreign developer with an “employee” status](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jh6e3449dokeet2cedq0.png)
<figcaption>Foreign developer with an “employee” status</figcaption>

If you want to hire a foreign developer as an “employee” you should apply for certification to the Ministry of Labor of your country. The Ministry aims at protecting the citizens’ employment rights and possibilities, therefore you will have to provide evidence that there is a shortage of qualified employees that can do the required work at the existing rates in your country. To do this you should:

- Provide evidence of the necessity to hire a foreign developer for your vacancy.
- Fill out and sign the corresponding form enabling you to request the [permanent labor certification](https://www.dol.gov/agencies/eta/foreign-labor/programs/permanent) for a potential employee.
- Provide evidence of your ability to pay the candidate’s salary.
- Familiarize yourself with all the tax regulations that might be applicable to your company and your foreign employee. For instance, in the USA foreign developers need a social security number. Thus developers will pay taxes on their salaries.

There is a misperception that foreign developers can be paid less compared to local developers. However, no matter where the developer is from you should provide this person with a competitive salary despite the location. The employment of a foreign developer should not have a negative impact on the salary and working conditions of similar developers in your country.

### Foreign developer with a “Foreign independent contractor” status
Independent contractor – is a private entity or a company (legal entity) representing and providing services of another organization. The payer has the right to control and direct only the results of work, but now the approach of how things should be done. (source: IRS – the revenue service for the United States federal government)

![Foreign developer with a “Foreign independent contractor” status](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5a217iow9ilgkmng389m.png)
<figcaption>Foreign developer with a “Foreign independent contractor” status</figcaption>

For most countries specification of the contractor in the agreement won’t be enough. Judges around the world consider facts and not written agreement.

The court or tax institution in your country may determine that the person you hired as an “independent contractor” is in fact an “employee”. In such a situation, you will end up being accused of non-compliance with employment requirements. Therefore, it is important that the facts also prove the independence of the contractor. 

Although labor relations verification standards vary for different countries they look almost the same. The goal of these standards is to investigate the level of control over the independent contractor by the hiring company. We decided to help and distinguish the core elements to avoid when hiring a foreign developer:

- don’t specify fixed working hours;
- don’t provide any training courses;
- don’t provide any employment benefits (retirement plan, insurance, and vacation compensation) apart from the agreed work compensation;
- don’t provide any office equipment;
- don’t ask a contractor to work in your office.

If the court finds out the client-employee status of your relations instead of client-independent contractor, you can get into serious trouble. You might have to cover unpaid employee taxes on health care, social security, employee bonuses, unemployment tax, unpaid benefits, as well as penalties related to these payments. Below are the examples of possible outcomes of incorrect classification of a foreign IT contractor:

- For EU countries you will have to pay for at least four weeks of vacation a year plus salary taxes.
- In France and Argentina – employer penalties and imprisonment for up to three years.
- In Mexico you will have to pay additional benefits (annual bonus equal to salary for at least 15 days, a vacation bonus comprising 25% of salary, and paid vacations), share 10% of your income with the employee, and cover employer penalties.

**Rule of thumb:** decide on the kind of employment: an employee or an independent contractor. Learn how labor legislation defines “contractors” and “employees” in the contractor’s and your home country. 

---

## 2. Services aspects
It is important for you to express your expectations from the IT product as detailed and concisely as possible. Foreign employee obligations are specified not only in the agreement but in a statement of work (SOW) as well.

A statement of work describes the required services and outcomes, process, payment schedule, and any specific provisions applied to a certain SOW. A foreign developer accomplishes work in compliance with an agreement and a statement of work. He also provides services, results, supplementary materials stipulated in every SOW.

> Try to forecast changes in the services (for instance, change in the scope of services or demand for new services). Make sure that the agreement contains necessary conditions considering such changes.

**Rule of thumb:** specify your expectations in a statement of work. Should conflicts between the parties arise, or any discrepancies in expectations and obtained results the statement of work will have primacy over the agreement.

---

## 3. Force Majeure
The Black’s Law Dictionary is a reliable source in the field of law that defines force majeure as an event or effect that can be neither anticipated nor controlled. 

Force majeure circumstances are included in the agreement to release the contractor from liability if unforeseen events interfere with the performance of his obligations. As a rule, these are natural disasters, epidemics, wars, international sanctions, fires, and other circumstances beyond the control of the parties.

> Traditionally disruption of work caused by force majeure lasts from 30 to 60 days.

**Rule to follow:** make sure that the related clause stipulates certain examples of force majeure circumstances: war, fire, acts of elements and other events are clearly beyond the control of the party.

---

## 4. Property aspects
In most cases working with developers is by default considered as “works made for hire” which means that intellectual property (hereinafter IP) rights juridically belong to the employer. However, the situation is different in the case of a foreign developer. To ensure your project is your property only specify the terms of ownership in the agreement. 

There are several approaches to apply proprietary rights to IP in Offshore IT Outsourcing:

1. The client owns all IP and the service provider has the right to use IP under the terms of a license agreement.
2. The provider fully owns the IP and the client gets a license for it.
3. Distribution of ownership of various IP assets.
4. Joint IP ownership.

Risks of cooperation with a foreign IT service provider include:

1. Data leakage. Parts of your code can be either directly or indirectly used in a different project or for a different client (maybe even your competitor);
2. Confidentiality. Insufficient developer awareness about customer IP protection.

### 2 Ways To Protect Intellectual Property While Hiring Developers Overseas
**1. Do Your Due Diligence.** IP Due Diligence – verification process enabling you to reveal any IP-related risks and potential issues. 

The table below provides some of the core aspects you should consider while evaluating IP.

![IP Due Diligence](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ua0sb70c7n5ndu5liida.png)
<figcaption>IP Due Diligence</figcaption>

**2. Physical, technology, and legal protection.**

![Physical, technology, and legal protection](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0dy1u5achimso81w6of3.png)
<figcaption>Physical, technology, and legal protection</figcaption>

**Rule of thumb:** the agreement should concisely state who is the owner of any work results obtained within the course of the project. This should include the source code and all the intellectual property.

---

## 5. Confidentiality aspects
After you specify the ownership rights, make sure a developer doesn’t save the license for doing the same work for other clients. Ideally, anything created for your project should be registered for your use only.

![What clients are saying about legal issues when hiring overseas developers](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ci1ooec2z598z54qo39o.png)
<figcaption>What clients are saying about legal issues when hiring overseas developers</figcaption>

To be on the safe side, sign a Non-Disclosure Agreement (NDA). The NDA is signed by both parties having access to the code/technology. Every employee working on your project should know about your classified areas as well as about precaution measures stipulated and demanded by the NDA. By signing a non-disclosure agreement, the parties agree to protect confidential information being shared by the other party.

**Rule of thumb:** draw up a Non-Disclosure Agreement. The Agreement should state that the client reserves the property rights for all the data being shared with the IT provider. This data must be kept strictly confidential. If publicly disclosed the agreement will serve as legal grounds to claim the damage.

---

## 6. Legal aspects
The procedure of dispute resolution is one of the most important provisions of any development agreement. Traditionally, the parties try informal dispute resolution before embarking on the formal procedure – lawsuit or arbitral procedure (the parties address the third party – an arbitrator).

When several countries are engaged in working relationships, it is important to define dispute settlement approaches in advance. This will help you save time and resources should a lawsuit occur.

The agreement should state the following aspects of choosing the jurisdiction – the right to hear and decide on the case in terms of:

1. Which party should have the jurisdiction in case of disputes.
2. Substantive law (legal provisions and obligations) of which country will be applicable to disputes.

For obvious reasons, it is difficult to come to a consensus on these aspects. Each party prefers the jurisdiction of its own region to prevail and local laws to be applied. Nevertheless, the parties most often agree upon the jurisdiction and substantive laws of the country where breaches occur.

Arbitral procedure often becomes an alternative way to settle a dispute replacing long and costly court trials. Examples of Permanent Courts of Arbitration include:

[ICC](https://iccwbo.org/dispute-resolution-services/arbitration/) — International Chamber of Commerce (France).
[SCC](https://sccinstitute.com/) — Arbitration Institute of the Stockholm Chamber of Commerce (Sweeden).
[VIAC](https://www.viac.eu/de/) — Vienna International Arbitral Centre (Austria).
[SIAC](https://www.siac.org.sg/) — Singapore International Arbitration Centre (Singapore).
[LCIA](https://www.lcia.org/) — London Court of International Arbitration (Great Britain).
[Vilnius Court of Commercial Arbitration](https://www.arbitrazas.lt/?lid=6) (Lithuania).
[The International Commercial Arbitration Court](http://mkas.tpprf.ru/en/) (Russian Federation).
[The International Arbitration Court of the BelCCI](https://iac.by/en/) (Republic of Belarus).

**Rule of thumb:** learn if the developer’s country of residence requires application of local laws and courts in working agreements. Choose the dispute resolution method and the laws of which country will apply in disputes.

---

## 7. Termination aspects
Agreement termination determines what happens if you and a foreign developer decide to finalize a certain project.

Termination clauses are extremely important, since it stipulate conditions under which a client can quit IT Outsourcing. Common reasons why a client might want to use the right to terminate the agreement are:

**1. Convenience.** A client also wants to keep the right to cancel an agreement if it is convenient for him. The issue here is that a contractor also insists on having the same privilege.
**2. Major breach.** This may trigger continuous negotiations, since the parties dispute on what is on the list of “major” breaches. The danger of this approach lays in risk of overlooking some “major breach” circumstances in the agreement.
**3. Financial insolvency.**
**4. Developer’s competence mismatch.**

**Rules to follow:** stipulate certain conditions for termination of business relations between the parties in the agreement.

---

## 8. Pricing and payment aspects
One of the commonly encountered problems clients face is international money transfers. Key aspects to pay attention to include:

### Payment method
Consider the following factors when choosing the international payment method:

- **Currency.** What currencies are supported?
- **Money transfer fee.** What are the associated fees form sending and receiving money?
- **Conversion fee (currency exchange).** Quite often it is included in the conversion rate, therefore it might become problematic to separate this cost.
- **Easy to use for a sender.** Is the chosen method of sending money convenient for you?
- **Usability for a recipient.** Are payments made directly to the contractor’s account or other balance or account that might cause issues when withdrawing money?

Nowadays, there a couple of option to arrange international payments. They all have pros and cons. Commonly used are:

1. **PayPal.** Starting from December 2016 PayPal is available in 202 countries. The fee for receiving payments is 2.9% + $0.30 USD. 3.9% + currency conversion fee for international payments.
2. **TransferMate.** No charges from a sender for international payments. Currently available in the USA, Canada, and several European countries.
3. **Some other well-known payment service providers** – Payoneer, Bitwage, Skrill, BrainTree, Alipay, Xoom, etc.
4. **International bank transfer (SWIFT).** One of the most frequently used methods of payment for the services of foreign developers. High bank fees and different exchange rates are the main disadvantages of these payments. Since sending and receiving banks charge high fees for international money transfers, this way is considered not very economical, however reliable.

### Payment model
Once a foreign contractor and a client agree on the developer’s rates, both parties should consider payment distribution. Payment model – agreement forming the cost of services, timeline, and scope of project development work.

Software development company should be transparent in terms of costs. Therefore, you should choose a [payment model](https://jaydevs.com/pricing-models-in-it/) (Fixed Price, Time and Material, or Dedicated Team) before signing an agreement.

1. **Fixed-price agreement** – a fixed amount is paid by a client to a developer for the whole project scope of work.
2. **Time and materials agreement** – a client pays the vendor for spent time and actual software development-related costs.
3. **Dedicated team agreement** – a client pays to all the hired developers on monthly or hourly basis.

**Rule of thumb:** make sure to specify the suitable payment model (fixed price, time and materials, dedicated team, etc.), payment method (SWIFT, PayPal, etc. bank transfers), payment timeline, transaction costs, etc. in the agreement.

---

## 9. Supplemental provisions
When drawing up an agreement with a foreign developer, consider including some important supplemental provisions. These might be:

- Software testing and code review at various stages of this process. The least you expect is to get the final product and find that it has a lot of bugs. Therefore, it is important to protect yourself from extra costs for fixing errors.
- The Final Payment. This provision secures the client from paying the final installment unless all the agreement obligations are accomplished in full.
- Invoices and payments. These reports provide due supervision over the financial reports of foreign developers.
- Right to approve and request dismission or replacement of developers providing a reasonable cause. List the reasons for dismission in advance.
- Software maintenance and support: software renewal and updates obligations (for instance, to be compatible with new OS).
- Charges or costs. In the case of fixed costs, the “Sum of agreement” clause should state that the sum of the agreement should not exceed the specified fixed contractural cost.

---

## Summing Up
Hiring foreign developers can help you significantly save time and resources. However, as discussed above, there are many legal issues you should consider before and while working with foreign developers. It is important for you as a client to be familiar with at least the basics of legal issues you might face. 

In this article, we covered the legal peculiarities of hiring an independent foreign contractor. To summarize, we will list the aspects to consider:

- Draw up a robust agreement with your contractor, taking into consideration the legal systems of both countries.
- When hiring a foreign developer, meet the “employee” and “independent contractors” requirements for your and contractor’s countries. Learn if there are any taxation, reporting, etc. obligations.
- Be concise in describing the required services in the Statement of Work document.
- Specify certain examples of the force majeure events (war, epidemy, fire, the Act of God, traffic accidents, changes in legislation, etc.) in the corresponding provision of the agreement.
- The agreement must clearly state the client’s ownership of any intellectual property created and resulting from the course of the project.
- Draw up and sign a Non-Disclosure Agreement. This will keep your technical data and know-how strictly confidential.
- Define the governing law of the agreement as well as the procedure of dispute settlement: court, arbitration, etc.
- Make sure you don’t become an affected party when terminating an agreement. State all the possible reasons for termination, including a description of certain cases.
- Stipulate payment model and methods, payment timeline, etc.
- Add supplemental provisions if you want to feel secure or this is required by your business project.

Follow the advice provided in these practical guidelines. This will help you minimize the probability of legal issues arising from collaboration with foreign developers.