Subcontractor Invoices for Developers Working Under an Agency
By Mark Fulton · · 13 min read
Last verified:

You landed work through an agency. The client is theirs, the contract is theirs, and the person who will actually approve your invoice has never read your code. Most subcontractor invoice templates were drawn for plumbers and electricians, so they leave out everything that matters in this setup.
A developer subcontracting for an agency invoices the agency, not the agency's client. The invoice needs the agency's legal entity, their purchase order or project code, line items that map to the scope in your statement of work, and payment terms that match what you signed. Describe the work without naming the end client if the engagement is white-label. Check the contract for a pay-when-paid clause before you accept it, because it decides when you get paid if the agency's client is slow. The rest of this guide shows the exact fields and wording, with an annotated example you can copy.
This is general information about invoicing practice, not legal or tax advice. Contract terms and tax treatment vary by country and state, so have a professional review anything with real money attached.
Who do you invoice when you subcontract for an agency?
The agency. Always the agency.
Your contract is with them, so they owe you the money whether or not their client has paid them yet (unless you agreed otherwise, which is the pay-when-paid question further down). Sending an invoice to the end client creates three problems at once. It exposes that you exist as a separate party, which many agencies treat as a breach of the engagement. It sends the client a bill they have no obligation to pay, since they never hired you. And it makes your actual customer, the agency, look like they are being routed around.
The practical version of "invoice the agency" has a few parts:
- Use the agency's legal entity name. Not the name on their website or the name of your project manager. Ask for the entity that signed your agreement, or read it off the contract. Their accounts payable team pays entities.
- Send it where AP expects it. Many agencies run a shared inbox such as accounts or billing, and invoices emailed to a producer get lost. Ask once at kickoff: "Where should invoices go, and do you use a portal?"
- Put your contact and their contact on it. The person who manages you and the person who pays you are usually different people. Both names help.
If you are unsure whether you are a subcontractor or something closer to staff, that question has tax consequences, and it is worth reading how the IRS frames the independent contractor versus employee distinction before you assume.
Which reference numbers does the agency need on the invoice?
Agencies run on job codes. Their finance person matches your invoice against an internal budget line, and an invoice that cannot be matched sits in a queue until somebody has time to investigate. Three references do most of the work.
The purchase order number. If the agency issues POs to subcontractors, it goes at the top of the invoice, not buried in the notes. A missing PO is one of the most common reasons an approval stalls, so ask for it before you start the work. If they do not issue POs, say so in your onboarding email so you know it is not an oversight.
The project or job code. Agencies track profit per job. If they gave you a code such as ACME-2026-WEB, put it next to the invoice number. If they did not give you one, ask the project manager. It takes them ten seconds and saves a week of back and forth.
The SOW or contract reference. Cite the document your line items come from: "Per Statement of Work dated October 3, 2026." If you do not have a written scope yet, a statement of work for a freelance developer is the document to write first, because every line on the invoice should trace back to something in it.
Here is what a clean header looks like:
INVOICE 2026-0042
Issue date: November 6, 2026
Due date: December 6, 2026
Bill to:
Northfield Creative LLC
Accounts Payable, ap@northfieldcreative.example
Agency PO: PO-7731
Project code: NFC-2026-114
Reference: Statement of Work dated October 3, 2026
The company names above are made up, but the structure is the point: entity, routing address, PO, code, SOW. If you want a deeper look at each field, what belongs on a software development invoice covers the general anatomy.
How do you describe white-label work on an invoice?
White-label means the agency presents your work as its own. Their client may not know you exist. That changes how you word the invoice, because the document might get forwarded, attached to a client report, or pulled into a client's expense audit.
The safe rule: describe the deliverable and the phase, never the client's name, domain or internal product names, unless the agency has told you it is fine. Refer to the engagement by the agency's own project code.
| Instead of this | Write this |
|---|---|
| Rebuilt checkout for Acme Outdoor Co. | Storefront checkout rebuild, project NFC-2026-114 |
| Fixed bug in clientname.com payment webhook | Payment webhook retry logic and error handling, 6 hrs |
| Staging deploy for the Acme launch | Staging deployment and QA support, milestone 2 |
| Meetings with Acme's CTO | Technical review call with agency team, 1.5 hrs |
Two other white-label habits are worth adopting:
- Keep your own name on the invoice. White-label applies to the client's identity and to the credit for the work. It does not mean you invoice under the agency's brand. Your legal name or business name goes on your own invoice, always.
- Ask what you are allowed to say in your portfolio. Many agency agreements restrict that. Invoice wording is only half of staying confidential.
For line-item wording that survives a finance review in general, see web development invoice line items, which has before-and-after rewrites for build, integration and migration work.
What does a complete subcontractor invoice look like?
Here is a full invoice, annotated. It covers a hypothetical front-end subcontract: a fixed-price milestone plus hourly overage, billed to an agency on net 30.
FROM
Jordan Reyes, Independent Developer
12 Example Street, Portland, OR 97201
jordan@example.com
Taxpayer ID on file via W-9
BILL TO
Northfield Creative LLC
Attn: Accounts Payable
ap@northfieldcreative.example
INVOICE 2026-0042
Issue date: November 6, 2026
Due date: December 6, 2026 (net 30 from issue date)
Agency PO: PO-7731
Project code: NFC-2026-114
Scope reference: Statement of Work dated October 3, 2026
LINE ITEMS
1. Milestone 2: Storefront checkout rebuild, per SOW section 3 1 x $4,800.00 $4,800.00
2. Additional work approved by Sam Ortiz on Oct 28 (change request CR-02):
promo code validation, 5 hrs x $95.00 $475.00
3. Technical review calls with agency team, 1.5 hrs x $95.00 $142.50
Subtotal $5,417.50
Tax $0.00
TOTAL DUE (USD) $5,417.50
NOTES
Payment terms: net 30 per the Master Services Agreement. Please quote
invoice 2026-0042 and PO-7731 with the payment. Remittance details were
sent with the signed agreement.
What each part is doing:
- "Taxpayer ID on file via W-9." In the US, an agency that pays you as a contractor will want a W-9 before the first payment. Putting this line on the invoice reminds the AP team the paperwork is done. More on that in the FAQ.
- The PO and project code in the header. These are what AP searches for.
- Line 1 uses the SOW's own wording. "Milestone 2" and "section 3" let the approver tick it against the agreement without asking you anything.
- Line 2 names who approved the extra work and when. This is your protection against "we never agreed to that." Change requests approved by email should be cited by date and name. Scope creep and change orders explains how to get that approval in writing.
- The notes line repeats the terms. It restates what the agreement says. It does not invent new terms.
You can build this exact layout in the free invoice template for developers. Put the PO number in the notes or reference field, add the project code beside it, and the output prints cleanly to PDF in your browser.
What is a pay-when-paid clause, and should you accept it?
A pay-when-paid clause says the agency will pay you after the agency's client pays the agency. It is common in subcontracting, and it shifts the client's payment risk from the agency to you. A similar but stricter version is sometimes called pay-if-paid, where the agency owes you nothing at all if its client never pays.
How courts treat these clauses differs by jurisdiction, so treat the following as questions to ask, not legal conclusions:
- Is the wording "when" or "if"? "Payment within 10 days of the agency's receipt of client payment" is a timing clause. "Payment is conditional on the agency's receipt of client payment" puts the whole risk on you. Read for the word conditional.
- Is there an outer limit? A reasonable version says "and in any event within 60 days of invoice." That cap means a slow client cannot hold your money forever.
- Do you control the client relationship? You do not. You cannot chase the client, you often cannot see the client's contract, and you have no way to judge whether they are likely to pay. That is exactly why the clause favors the agency.
- Does the agency get paid in advance? Ask whether the client paid a deposit. If the agency is already holding client money for your phase of the work, a pay-when-paid clause is much less of a risk.
If you accept one, protect yourself on the operational side. Invoice the moment a milestone is approved, not at month end. Bill in smaller milestones so less money is exposed at any one time. And keep the deposit habit you would use with any direct client; the reasoning in how much deposit to charge applies to agencies too. If the clause is one-sided and the agency will not move on it, that is a pricing signal as much as a legal one. Many developers raise their rate for pay-if-paid work to price the risk.
How do you invoice an agency that pays on a monthly cycle?
Plenty of agencies batch payments. Invoices received by the 20th get paid on the 5th of the following month, or something similar. If your invoice arrives on the 21st, you wait another full cycle, which can turn net 30 into effectively 45 or more.
So the date you send the invoice matters as much as the number of days on it.
- Ask for the cutoff. One email to the agency's finance contact: "What is your invoice cutoff, and what is your payment run date?" Put both dates in your calendar.
- Invoice before the cutoff, even if work is mid-stream. For hourly work, bill through the cutoff date and say so on the invoice ("Hours worked October 1 to October 31"). For milestone work, invoice the milestone the day it is approved.
- Write the due date as a calendar date. "Due December 5, 2026" removes arithmetic from the agency's side.
- Reconcile against the run. If the payment run passes and you are not in it, email the finance contact the same day with the invoice number and PO. Do not wait a week. Late payment email templates for developers has wording for each stage.
If the agency's monthly cycle is too slow for you, say so before signing. Asking for net 15 or twice-monthly payment runs is a normal request, and agencies agree more often than you would expect when it is raised before the contract is final.
What paperwork goes with the invoice?
Not much, but missing it delays payment more than any formatting mistake.
A W-9 (US contractors). The agency needs your legal name, address and taxpayer identification number to report what they pay you. You give the form to the agency, not to the IRS. The IRS page for Form W-9 explains who requests it and why. We walk through filling it in, and what arrives in January, in W-9 and 1099 for freelance developers.
A 1099-NEC (US, next year). If the agency pays you above the reporting threshold, they send you and the IRS a Form 1099-NEC after year end. The IRS's Form 1099-NEC page is the place to check the current threshold and deadlines, since the numbers can change.
Time records, if the agency bills the client by the hour. Some agencies need your hours in a format they can attach to their own invoice. Ask early. Billing in consistent increments makes this much easier, and the git log import gives you timestamped descriptions you can hand over without rewriting anything.
Subcontractor invoice checklist
| Field | Where it goes | Why the agency cares |
|---|---|---|
| Your legal name and address | Header | Matches the W-9 and their vendor record |
| Agency legal entity | Bill to | AP pays entities, not people |
| AP email or portal | Bill to / delivery | Invoices sent to the wrong person stall |
| Invoice number | Header | Unique handle for every follow-up |
| Issue date and calendar due date | Header | Terms and payment cutoff both depend on them |
| Agency PO number | Header | Most common approval blocker |
| Project or job code | Header | Their internal budget match |
| SOW or contract reference | Header or notes | Ties the invoice to the agreed scope |
| Line items in SOW wording | Body | Approver can verify without calling you |
| Change request references | Body | Proof extra work was approved |
| Currency and total | Footer | Explicit currency avoids ambiguity |
| Payment terms and instructions | Notes | Restates the contract, adds no new terms |
FAQ
Can I contact the end client about an unpaid agency invoice?
Generally no. Your contract is with the agency, and the end client usually has no obligation to you. Contacting them can breach a confidentiality or non-solicitation clause and damage the agency relationship. Escalate inside the agency first: the project manager, then the finance contact, then the person who signed your agreement. If it goes unpaid for a long time, read your contract for its dispute process and consider a short consultation with a lawyer before taking any step involving the client.
Should I charge an agency less than direct clients?
Many developers charge agencies somewhat less per hour because the agency brings the client, manages the relationship and sends steady work. That is a business decision, not a rule. Be careful about the discount being a trade for something real: consistent volume, shorter payment terms, or no pay-when-paid clause. If they want a lower rate and slower payment and more risk, you are being asked to pay three times. Freelance developer hourly rates covers how to set the number.
Do I send a W-9 to the agency?
If you are a US contractor, yes, usually before the first payment. The agency uses it to report your payments. You hand the W-9 to the agency and never file it with the IRS yourself. See the IRS's W-9 page and our W-9 and 1099 explainer. Outside the US, ask the agency what tax documentation they need instead.
What if the agency disputes hours its client approved?
Your agreement is with the agency, so the agency's client approving the hours does not by itself bind the agency, and the reverse also holds: your invoice is judged against your contract, not against what their client said. Pull out the SOW, the change request emails and your time records. Offer to walk through the disputed lines. If the dispute is about scope, a written change request would have settled it, so use that as the lesson for the next engagement. For persistent late or disputed payment, what to do when a client won't pay an invoice lays out the escalation steps.
Make the invoice, send it before the cutoff
The fastest way to get paid by an agency is an invoice their finance team can approve without asking you a single question: right entity, right PO, right code, line items they recognize. Put the agency's PO number in the notes and generate the subcontractor invoice free. It runs in your browser, your data stays on your machine, and you can export a PDF to send straight to their AP inbox.