>_ HireBrazilDevs
Blog · Contracts

What Goes in a PJ Contract With a Brazilian Developer

The clauses that belong in a service contract with a Brazilian PJ developer, the ones that quietly raise reclassification risk, and why the invoice matters as much as the contract.

By Gustavo Tinti, Founder, HireBrazilDevs · October 12, 2026 · 4 min read

A PJ contract with a Brazilian developer should define services rather than a position, assign intellectual property in the present tense, require a nota fiscal against each payment, and set notice on both sides. The clauses that create risk are the ones that look like employment: imposed hours, exclusivity, and payment for time rather than for work delivered.

If you have already read what PJ means, the next question is practical: what do you actually write down? This is the clause-by-clause version, for a company outside Brazil contracting a Brazilian developer's own company.

One framing first, because it decides everything else. A PJ contract is a service agreement between two companies. Every clause that reads like a job description pushes it toward employment, and Brazilian labour courts read substance rather than labels. The goal is not to disguise anything. It is to write down a relationship that genuinely is a supplier relationship, and to stop writing down one that is not.

The parties, and the detail most people get wrong

The contract is with the developer's legal entity, not with the developer. The counterparty line carries the company name and its CNPJ, Brazil's company tax number, and the signature block identifies the person as its representative. A contract naming only an individual, with a CPF, is a contract with a person. A contract with a person doing habitual work for one client is the fact pattern a court looks for.

Ask for the entity's registration document before signing. It takes a day, and it tells you the company exists, which activities it is registered for, and whether software development is one of them.

Scope: services, not a seat

Write what the supplier delivers, not which post they occupy. "Backend development services for the Client's platform, as agreed in writing from time to time" is a service scope. "Senior Backend Engineer reporting to the Head of Platform" is an org chart, and it is the most common self-inflicted wound in these contracts.

This is not a word game. It also changes how the work runs: a supplier agrees deliverables and windows, an employee is told what to do each morning. If the relationship you actually want is the second one, a direct PJ contract is the wrong instrument, and careful drafting will not fix it.

Hours: agree a window, do not impose a schedule

You can state that the parties agreed an overlap window. Most of the value of hiring in Brazil is the shared working day, so pretending hours do not matter would be silly. The distinction is between a window the two sides agreed and a schedule the client imposes, with the attendance control that usually comes with it. An agreed window is fine and worth writing down so nobody argues later. Clock-in, approved breaks and mandatory presence at every internal ritual are subordination, which is the factor that decides most reclassification cases.

Intellectual property: hereby assigns, in the present tense

Do not rely on work-for-hire doctrine. It is a United States concept and it does not travel. Brazilian law treats the author as the initial owner of the software they write unless there is an assignment, so the contract has to contain one, in the present tense: "the Contractor hereby assigns" rather than "agrees to assign". The second is a promise you would have to enforce against a small company in another jurisdiction, which is exactly the situation the clause exists to prevent.

A complete clause also survives termination, covers anything created under the relationship before signature, and obliges the contractor to sign whatever further document is needed to register the transfer. If the developer comes through a supplier rather than directly, ask to see both links: engineer to supplier, and supplier to you. A vendor who can only show the second one is selling you a gap you will not find until it matters. Ours is published in full, both links included.

Payment: against an invoice, for work, on a date

State the amount, the currency, the payment date, and that payment is made against a nota fiscal. Monthly payment is normal and not fatal on its own: what a court weighs is whether you are paying for time or for work, together with everything else in the picture. Pay by international transfer to the company account rather than the person's account, and keep the trail. Decide in writing who absorbs the transfer fee and the exchange spread, because otherwise you will discover the answer in month two.

Confidentiality, term and notice

Confidentiality should outlive the contract — three years after termination is common and defensible — and should cover your customers' data as well as your own. On term, month to month with thirty days notice both ways is the fairest structure and the easiest to sign. Long minimum terms are the thing to question when a vendor proposes one: a minimum term removes the only advantage this model has over hiring.

The clauses that quietly raise your risk

Four things make a service contract look like employment, and a court weighs them together: personal service by one specific individual, habitual work, payment for time, and subordination. Several clauses feed those directly — exclusivity, a ban on the contractor using their own team, imposed hours with attendance control, and a job title. None is illegal. Each moves the needle, and the party carrying that exposure in Brazil is the Brazilian party, which is why the structure you pick matters more than the wording you pick.

That is also the honest argument for contracting through a supplier instead of directly. The supplier holds the relationship with the engineer, and your contract is a service contract with a company — which is what it looks like on paper and also what it is. If you would rather go direct, go with your eyes open and compare the structures before choosing one.

None of this is legal advice and we are not lawyers. It is the list of things worth having answered before you sign.

Frequently asked questions

Does the PJ contract need to be in Portuguese?

It does not, and plenty are signed in English. What matters more is that the party on the other side is the developer's company, with its CNPJ stated, rather than the person. If a dispute ever reaches a Brazilian court the document is read in translation anyway, so write it in the language both sides actually understand instead of the one that looks more official.

What is a nota fiscal and why should I care?

It is the invoice a Brazilian company issues for a service, registered with the tax authority. It is what makes a payment a service payment rather than something a court has to characterise for you. Requiring one against every payment costs you nothing, takes the contractor minutes a month, and is among the cheapest evidence that the relationship was what the contract says it was.

Should I ask for exclusivity in the contract?

Think twice. Exclusivity is commercially attractive and it is also one of the things a Brazilian labour court weighs when deciding whether a service contract was really employment. If you need someone's full attention, the safer structure is to buy full-time hours through a supplier that carries the relationship, rather than writing exclusivity into a direct contract with an individual's company.

Need a senior Brazilian engineer on your team?

Two to four vetted profiles within five business days, each with a short video answering your brief. Flat monthly rate from $3,500, month to month, no recruiting fee. Everything in writing — no sales call.

Tell us what you need
Gustavo Tinti — Founder, HireBrazilDevs. Brazilian software engineer. Builds and runs HireBrazilDevs from Curitiba, and writes from what actually happens when a U.S. company hires in Brazil — the contract clauses, the payment rails, the time zone arithmetic.