11 min read
You did solid work at a bank through a staffing agency. Your resume still says Apex Staffing with no client name, so the parser attaches your SQL dashboards to a firm the hiring manager never heard of. That's the contract trap. It's not the contract itself. It's the employer line pointing at the wrong name.
Check your resume for free before you relabel contract rows. If Workday reads your agency block before your client block, bullet one won't land where you think. You'll learn how to list contract work on a US resume ATS-friendly by putting the client first, the agency in parentheses, and Month Year dates on the same strip so bullets stay tied to the right employer.
Below you'll see why agency-only lines confuse parsers, six steps with before/after examples, when to group short contracts vs list them separately, and the mistakes that make contract history look like job hopping. Job searching on contract is already unstable. You don't need a formatting error hiding the client where you shipped code for nine months.
Open your PDF tonight. If Experience shows only staffing firms, you're not hiding contract status. You're hiding the work. Fix the employer line first, then tailor bullet one for each posting. That's the whole filter before you rewrite anything else.
Quick Wins
- Put client name on the employer line; staffing agency goes in parentheses.
- Add Contract to the title when the assignment was agency W2 or C2C.
- Use Month Year start and end on the same line as client and title.
- Group three or more short same-title gigs; list long or brand-name clients separately.
Why parsers need the client name, not just the staffing agency
Corporate ATS imports in Workday, Greenhouse, Lever, and iCIMS treat the employer field as the anchor for everything underneath it. Bullets inherit that anchor. When your employer line says Randstad or Insight Global with no client, your Kubernetes migration reads as agency work with no domain context. Recruiters ctrl-f the client they recognize, not the payroll vendor.
Contract status is not a stigma on most corporate req. Hidden client names are. A composite software engineer with four agency placements in two years still gets screens when each block names the bank, insurer, or SaaS shop where code shipped. The same history with four agency names and no clients reads like churn with nothing to verify.
US resume convention expects reverse chronological Experience with Month Year dates. Contract rows follow the same rules as full-time rows: employer, title, dates, bullets. The only addition is honest labeling. Contract in the title or Consultant beside the client name tells the screener how you were paid without a cover letter sidebar.
Parsers do not understand via or through as relationship words consistently. Parentheses on one employer line beats a second line for the agency. Two employer blocks for one assignment can split bullets across entries in Taleo previews. One line keeps the text stream linear.
Read how to write resume experience ATS understands when your contract bullets are strong but still parse under Skills or Education. Layout and employer order are separate fixes from keyword placement. Solve employer naming first so tailoring actually attaches to the client block.
Short contracts are normal in tech, healthcare travel, and project finance. The resume question is not whether to include them. It is whether each client gets a searchable employer line or disappears inside a vague agency umbrella. That choice drives whether bullet one survives the first six-second scan.
I've screened files in Greenhouse where the only fix was swapping Apex Staffing for the hospital name in parentheses. Bullet one suddenly matched the req because the parser finally attached it to the right employer field.
How to list contract work on a US resume ATS-friendly: six steps
Work employer line first, dates second, bullets third, grouping last. You're not rewriting your career story. You're fixing where parsers attach proof so humans can find the client name they already care about.
Step 1: Client name first, agency in parentheses
The employer field is the client where you clocked in, not who issued the paycheck. Add the staffing firm in parentheses on the same line so payroll is documented without stealing the anchor field.
Before: Software Developer, Apex Staffing, 2023 to 2024. Bullets describe a healthcare portal nobody can tie to an employer.
After: Software Developer, Contract, Meridian Health (via Apex Staffing), March 2023 to November 2023. Bullets sit directly under Meridian Health.
Step 2: Label contract status in the title
Write Contract or Consultant in the title when the assignment was W2 contract, C2C, or a fixed-term agency placement. Full-time conversions that stayed W2 can keep the title without Contract if HR paperwork matched, but agency placements should not pretend to be direct hire.
Before: Business Analyst, Contoso Ltd (via Kelly Services). Reader assumes direct employee.
After: Business Analyst, Contract, Contoso Ltd (via Kelly Services), June 2022 to February 2023.
Step 3: Month Year dates on the employer strip
Contract assignments end on schedule. Missing end months make parsers assume Present and create overlaps with the next role. Write March 2024 to August 2024 on the same line as client and title, not in a sidebar table cell.
Before: 2023 to 2024 under a staffing logo with no months.
After: January 2023 to September 2023 beside the client and title on one line.
Step 4: Stack bullets under the client block
Draft two to four bullets per contract with method, tool, and scope numbers from real work. Lead bullet one with the outcome or system name the posting mentions. Do not park bullets under a separate agency-only entry with no client context.
Example bullet under Meridian Health: Built patient intake dashboards in Tableau and SQL, cutting manual reporting time 6 hours weekly for a 14-person care coordination team.
For a composite project manager: Contract Project Manager, Northwind Logistics (via Yoh), April 2024 to October 2024 · Ran warehouse rollout for 3 sites in Ohio; cut pick errors 11% in Q3 through SAP WM config and daily standups with floor leads.
Step 5: Separate long contracts vs group short ones
List separately when: one assignment ran six months or longer, the client is a brand you need to signal, the title changed between gigs, or you're targeting that client's industry directly.
Group when: you had three or more assignments under twelve weeks each with the same title family and no single client dominates the story. Use one employer line with a range, then name each client inside bullets.
Before: Six separate two-month blocks each listing only TekSystems with duplicate generic bullets.
After: Contract Data Analyst, Select Financial Services Clients, 2022 to 2023 · Harbor Credit Union: automated loan dashboards in Power BI for risk committee packs · Summit Insurance: cleaned policy data in SQL for quarterly actuarial extracts · Lakeview Mortgage: documented ETL steps in Azure Data Factory for audit handoff.
Step 6: Parser-check, then tailor
Export a single-column PDF or DOCX. Paste into Notepad and read top to bottom. Client names should appear before bullets. Dates should stay on employer lines. Fix layout once, then mirror posting keywords in bullet one per application.
Read how to fix overlapping roles on a US resume when contract end dates collide with the next full-time start month. Overlaps trigger manual review faster than contract labels do.
Copy-paste contract employer skeleton
Copy-paste into your Experience section and replace bracketed lines:
[Job Title], Contract, [Client Company] (via [Staffing Agency]) · [Month Year] to [Month Year or Present]
• [Verb] + [tool] + [scope number] + [outcome tied to client work]
• [Second bullet: stakeholder or delivery milestone]
• [Optional third bullet: compliance, scale, or handoff]
Grouped short contracts:
[Job Title], Contract, Select [Industry] Clients · [Year] to [Year]
• [Client A name]: [one line with tool and outcome]
• [Client B name]: [one line with tool and outcome]
• [Client C name]: [one line with tool and outcome]
Edge case: C2C consulting with your LLC as employer
When you billed as a corp-to-corp consultant, list the client on the employer line and note Independent Consultant or C2C in the title. Put your LLC name in parentheses if contracts required it on invoices: Senior Network Engineer, Contract, Metro Transit Authority (C2C, Lane Consulting LLC), May 2023 to January 2024. Do not list only your LLC with no client unless every gig was under NDA and you use descriptive placeholders per bullet.
Edge case: contract-to-hire that converted
When the client hired you direct after six months, split into two strips with accurate dates: Contract Business Analyst, Brightline SaaS (via Robert Half), March 2024 to August 2024, then Business Analyst, Brightline SaaS, September 2024 to Present. Two lines on one employer shows progression without hiding the contract start. Do not merge into one Present line that erases the contract months.
Registered nurse travel contract before/after
Before: RN, AMN Healthcare, 2023. No hospital name, no contract label, no months.
After: Registered Nurse, Contract, Riverside Medical Center (via AMN Healthcare), January 2023 to April 2023 · Staffed 28-bed med-surg unit; precepted two travel orientees while maintaining 94% patient satisfaction on HCAHPS rounds.
Marketing coordinator agency rotation before/after
Before: Marketing Coordinator, Creative Circle. Single bullet: assisted with campaigns.
After: Marketing Coordinator, Contract, Brightline SaaS (via Creative Circle), July 2024 to December 2024 · Owned lifecycle email for trial onboarding in HubSpot; lifted trial activation 9% in Q4 through A/B tests on subject lines and send timing.
Where contract lines break parsing
Agency-only employer fields. Staffing firm with no client forces recruiters to guess where you worked. Fix the client line before you add another keyword.
Hiding contract status. Listing Contoso Ltd with no Contract label when payroll was agency W2 breaks trust when background checks show a different employer of record.
Duplicate employer blocks for one assignment. Client on line one and agency on line two with bullets only under the agency splits parsed text in iCIMS previews. Merge to one parenthetical line.
Vague grouped bullets. Select Clients with no client names inside bullets wastes the grouping format. Name each client in the bullet lead.
Year-only dates on short contracts. 2023 to 2023 with three back-to-back gigs looks like overlap. Month Year ranges separate assignments cleanly.
Tables and sidebars for contract labels. Two-column templates push employer names below Skills in plain-text paste. Keep contract rows in the main Experience stack.
Listing every two-week gig separately. Six identical title blocks with two bullets each reads like churn. Group same-title short gigs when no single client needs its own signal line.
Fake client names under NDA. Invented company titles fail reference checks. Use Fortune 500 Retailer or Global Pharma Client until you can name the client verbally in interview.
Check before you apply
After you relabel client lines, run a free ATS check on the exported file. You're confirming employer order and Month Year dates survived parsing, not chasing a design score.
When the posting lists must-have tools, paste your relabeled PDF and the job description into the job match score tool to see whether bullet one on the client block already hits the req language. Fix employer naming first, then adjust keywords on the client strip.
If the portal asks for a cover letter, generate a cover letter that names the same client and contract dates from bullet one. Letter and resume should describe one timeline, not two employer experiments.
Relabel the client tonight
When you list contract work on a US resume ATS-friendly, you're fixing employer anchors, not apologizing for contract pay. Client name first, agency in parentheses, Contract in the title when it was agency W2, Month Year dates on the strip, bullets stacked under the client block.
Open your PDF, paste into Notepad, and confirm each client name appears before its bullets. Group short same-title gigs when six separate two-month blocks clutter the page. Split long or brand-name assignments onto their own lines. Parser-check once, then tailor bullet one per posting.
Contract history doesn't fail because you weren't full time. It fails when parsers attach your best proof to a staffing logo nobody searched for. Fix that line tonight and the rest of the file can do its job on the next upload.
Read more
Frequently asked questions
List the client company first because that is where the work happened and what the hiring manager recognizes. Put the staffing agency in parentheses on the same employer line, like Data Analyst, Meridian Health (via Apex Staffing), March 2024 to August 2024. Parsers in Workday and Greenhouse map keywords to the employer field. When only the agency appears, your Salesforce or SAP bullets attach to a name the reader does not know.
Yes when the role was W2 contract, C2C, or a fixed-term assignment through an agency. Contract Business Analyst or Senior Developer, Contract tells the screener the employment type without hiding it in a cover letter. Skip the label only when the client treated you like a regular employee on paper and you are comfortable defending that in a background check. Never omit contract status and hope nobody asks.
Group when you had three or more assignments under twelve weeks each at different clients but the same title family, and none of the clients is a household name you need to signal. Use Contract Data Analyst, Select Financial Clients with a year range, then one bullet per client with the client name inside the bullet. List separately when one contract ran six months or longer, when a client is the target employer's direct competitor or partner, or when the title changed between gigs.
Contract work rarely hurts when dates and employer lines parse cleanly. What hurts is agency-only employer fields, missing Month Year end dates, and bullets orphaned under a staffing firm nobody searched for. Fix the employer strip first, then mirror posting keywords in bullet one on the client line. A single-column PDF with standard Experience headings parses the same whether the role was contract or full time.
Use a descriptive placeholder the reader still understands: Fortune 500 Retailer, Series B SaaS Startup, or Global Logistics Provider. Keep the contract label and Month Year dates exact. One bullet should name tools and scope without revealing trade secrets. In the interview, offer the real client name verbally when the NDA allows. Do not invent a fake company name that fails a reference check.
