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.