11 minute read

It took 27 emails and roughly five weeks to go from a first document review to the word accepted.

I’m not complaining. Looking back, those 27 emails were probably the most valuable work I did on that engagement before it even started. But when I finally typed that word — accepted — I was aware that there was still one clause I hadn’t fully resolved. One structural risk I had flagged but not yet received a clear answer on.

This article is about that process. What the contract originally said, what I pushed for, what I got, what I conceded, and what I’m still watching. I’m writing it for the Indonesian freelancer who gets handed a US-entity contract for the first time and doesn’t know where to start — and also for myself, because writing things down is how I make sense of them.

The parties and the project are anonymized. The lessons are real.

Note — May 2026: This article is written mid-engagement. The open questions at the end are still open. I’ll update this post with a final chapter once the engagement reaches a conclusion — success, failure, or something in between. The LinkedIn version will follow when the full picture is clear.


The Setup

The engagement was a large enterprise project — the kind that makes your eyes widen a little when you first hear the scope. The client was a major Indonesian corporation. The vendor was a small US-based technology company with no Indonesian legal entity. I was being brought in as the on-the-ground project manager: Indonesian, Jakarta-based, the only person physically in-country on the vendor’s side.

The contract arrived as a Google Doc.

My first read took about an hour. My second read took longer. By the third read I had a list of items I wanted to address before I would sign.


What the Contract Originally Said

The document was professionally drafted. It covered the right things: scope, compensation, IP, confidentiality, non-solicitation, termination, governing law, dispute resolution. It was not a boilerplate freelancer agreement — someone had put real thought into it.

But a few structures stood out.

Pay-when-paid

The compensation section included what’s known in contract law as a pay-when-paid clause. In plain terms: the vendor’s obligation to pay me was strictly contingent on the vendor first receiving payment from the client. If the client didn’t pay — for any reason, including insolvency, dispute, or delay — the vendor had no obligation to pay me either.

The clause was written broadly. It explicitly listed scenarios where the vendor would owe me nothing: client insolvency, client breach, client dispute, termination of the client agreement. Any of those, and I could have performed the work and received nothing.

There was also a no-recourse clause: I could not pursue the client directly for payment. My sole recourse was through the vendor, and only to the extent the vendor was paid.

I want to be precise here: this is not a predatory clause in isolation. Pay-when-paid structures are common in construction and project contracting, particularly where a middle-layer entity is managing cash flow risk. But for a solo contractor — no float, no team, no alternative revenue during a full-time engagement — absorbing that risk uncapped is a different proposition.

The version I eventually accepted included a meaningful safeguard: if the vendor receives payment from the client and fails to pay me within a defined window while the engagement is active, I may terminate immediately and the payment obligation for that amount becomes unconditional. This protects against the scenario where the vendor has the money but holds it. It does not protect against the scenario where the client simply doesn’t pay.

That structural exposure remains. I went in with open eyes.

Notice and termination

The original notice period for termination without cause was short — and asymmetric in effect if not in wording. The vendor could end the engagement with minimal notice. Payment through termination remained subject to the pay-when-paid structure.

I requested a longer reciprocal notice period and a minimum guaranteed payment on termination by the vendor without cause. I got the reciprocal notice period. The guaranteed payment did not make it into the final version — payment through the termination date remains conditional on client payment status.

Additional scope

The contract allowed the vendor to assign me to other engagements beyond the primary project. The language was reasonable in workload and not materially interfering — but the threshold was undefined, and any additional work would be compensated within the same pay structure tied to the primary client’s payment.

This created a structural problem: I could theoretically be delivering work for an unrelated client of the vendor, while receiving nothing because the primary client hadn’t paid. The work and the payment trigger were decoupled.

I raised this directly. What I received was a percentage threshold above which additional scope would require separate compensation and separate payment terms, not tied to the primary client’s payment status. That threshold was negotiated down from the vendor’s initial proposal. Below that threshold, additional scope remains part of the agreed package.

The allowance

The role required on-site presence in a city different from where I live. The original draft included a transport allowance — but it covered only one component of the actual operational cost, not both accommodation and transport simultaneously.

I laid out the practical arithmetic: the real door-to-door cost of the commute, the realistic monthly cost of accommodation near the worksite, the difference between the allowance as written and what the arrangement would actually cost to operate. I requested the allowance be increased and made unconditional — not subject to the pay-when-paid structure.

The unconditional status was accepted. The amount was revised upward to cover both transport and accommodation. This was one of the cleaner outcomes of the negotiation.


What I Got

Looking at what I actually negotiated into the final version:

  • The allowance — increased to reflect actual operational costs, unconditional and not subject to pay-when-paid
  • Non-solicitation — reduced from the original period, with an explicit carve-out: extensions for hypercare or warranty do not reset the clock
  • Additional scope threshold — reduced from the vendor’s initial proposal, above which additional work requires separate payment terms outside the primary pay structure
  • Authority matrix — two clear tiers documented in the contract: operational decisions I can make independently, contractual decisions that require written approval before I communicate them to the client
  • Pre-existing IP — my methodologies, frameworks, templates, and tools developed before the engagement remain mine
  • Portfolio and CV rights — after the engagement concludes, I may reference the project name, the client name, my role title, and a general description of scope in professional materials
  • Partial month pro-rata — compensation for any partial month is calculated on a working-day basis, explicitly documented
  • Indonesian law acknowledgment — a recognition that the services are performed in Indonesia and both parties will comply with applicable Indonesian law, without changing the governing law of the contract

Some of these feel small on paper. The portfolio clause in particular — many contractors don’t think to ask for it, then find themselves unable to reference a significant project in their professional history because the confidentiality provisions are broad enough to prohibit it. Worth asking for explicitly.


What I Conceded

Reciprocal notice at 14 days rather than the 30 I requested. The liability cap remained at 3 months of compensation actually paid rather than 6. The pay-when-paid structure remained as the core commercial framework — the safeguard I negotiated addresses the vendor holding funds, not the client failing to pay.

Weekend and critical-phase availability — SIT, UAT, go-live, hypercare — are included in the agreed package rather than separately compensated. This was a trade-off: the total package came to a number that I considered fair for what the role requires, and I accepted the framing rather than continuing to push for hourly or daily overtime rates.


The Clause I’m Still Watching

The pay-when-paid structure, even with the safeguard, has a structural gap I haven’t fully resolved.

I don’t have visibility into when the client pays the vendor. The contract says the vendor will inform me of client payment status monthly and will use commercially reasonable efforts to collect. But commercially reasonable efforts is a standard-of-effort clause, not a guarantee. And I have no independent way to verify the client’s payment status or the vendor’s collection actions.

In practice, this means I could perform two or three months of work — establish relationships, run governance, produce deliverables — and then discover that the client’s first payment has been delayed. My payment would be delayed with it, and I would have no recourse beyond waiting, negotiating, or terminating with 14 days notice.

I raised this before signing. The answer I received was the transparency commitment: monthly updates on client payment status, and the unconditional trigger if payment is received but not passed through. I accepted that.

I’m watching it.


The Question That Arrived Late

Near the end of the process — after I had already accepted the final version of the contract — a structural question occurred to me that I should have raised earlier.

The vendor is a US entity with no Indonesian legal entity. I am an independent contractor, not an employee or registered agent. But operationally, I would be the only vendor representative physically present in Indonesia, working from a location near the client’s office, available for unscheduled in-person sessions.

If the client’s legal or procurement team perceived me — correctly or not — as the vendor’s Indonesian presence, I could become the identifiable local party in any dispute between the vendor and the client. That is not a comfortable position for a contractor whose liability is capped and whose authority is explicitly limited.

I raised three specific requests: that the vendor’s contract with the client discloses the absence of an Indonesian legal entity; that my formal introduction to the client describes me as an independent contractor with authority limited to the operational scope in our agreement; and that any coworking address not be used as the vendor’s Indonesian business address in formal documents.

As of writing, I’m still waiting for the reply.

I’ll update this post when I have one.


What I Would Tell Another Freelancer

Read the pay-when-paid clause as if the client will not pay. Not because you should expect it, but because the clause is written for that scenario and you need to understand what your exposure looks like. How many months could you work before payment becomes a problem? What does your termination option actually give you in that scenario?

The allowance negotiation is about arithmetic, not principle. Don’t frame it as fairness — frame it as actual cost. Put together the real numbers: commute cost per day, monthly accommodation near the worksite, the gap between what’s offered and what the arrangement will actually cost to operate. That framing works better than a general request for more.

Ask for the portfolio clause before you sign. It costs the vendor nothing, it matters to you, and it’s much easier to get before signing than to negotiate after.

The authority matrix is your protection, not theirs. Defining what you can decide independently and what requires written approval before you communicate it to the client means that when the client asks you something outside your scope, you have a documented reason to say let me come back to you. Without it, you’re making judgment calls in the room with no cover.

Think about your legal exposure as the only local face. If you are the only physically-present representative of a foreign entity with no local legal registration, think carefully about how you are formally introduced, what authority you are perceived to have, and what happens if something goes wrong in the commercial relationship between the vendor and the client. This is especially worth thinking through in Indonesia, where vendor relationships with large corporations often involve procurement and legal teams who may not fully understand the independent contractor structure.

A conditional engagement letter is not an engagement. I spent weeks preparing for a project before the activation event occurred. That preparation had value — I was ready on day one — but it was uncompensated and predicated on a contract that could have dissolved if the client agreement fell through. Know what you’re committing to before the clock actually starts.


A Note on the Process

Twenty-seven emails is a lot. Some people would read that and think: too much friction, walk away.

I read it differently. Every email in that thread was an email where both parties were still willing to engage. The vendor responded to every point I raised — not always with what I asked for, but always with a reasoned counter. When I said something didn’t work for me and explained why, the response engaged with the reasoning. That’s not a red flag. That’s what a negotiation looks like when both sides are trying to build something that works.

The clauses I walked away without fully resolving — the pay-when-paid structure, the legal entity question — are not signs of bad faith. They’re structural features of cross-border contracting that don’t have clean answers, and a vendor who is honest about that is more useful to work with than one who papers over the question.

I went in with open eyes. I’m watching the things that remain open.

That’s the lab. That’s the work.


All parties, projects, and commercial terms are anonymized. This article reflects my personal experience and analysis only. A final update will follow once the engagement reaches its conclusion.

Updated: