Offer letter PDF template for bulk hiring packets
Create consistent offer letter PDFs from recruiting CSVs with role details, compensation, start dates, manager names, and acceptance instructions.
Template ingredients
- CSV fields
- 9 mapped columns
- Liquid steps
- 4 setup steps
- Industries
- Recruiting, People operations, Professional services
This offer letter template helps recruiting and people teams turn approved hiring data into consistent candidate-ready PDFs. Each CSV row captures the candidate name, role title, department, manager, work location, compensation, start date, response deadline, and signer. The Liquid markup places those values in a warm but controlled letter format, so hiring teams can move quickly while preserving the details legal and finance need to see before an offer is sent.
Use it when a recruiting coordinator has a batch of approved offers and wants to avoid manual editing in a word processor. The template keeps variable fields obvious, separates employment details from acceptance copy, and gives reviewers a predictable place to confirm salary, start date, reporting line, and deadline. Teams can adapt the body for contract, part-time, or remote roles, add localized benefit language, or include a custom acceptance URL without changing the CSV structure every time a new requisition opens.
Sample CSV
| candidate_name | role_title | department | manager_name | work_location | annual_salary | start_date | response_deadline | signer_name |
|---|---|---|---|---|---|---|---|---|
| Taylor Morgan | Product Designer | Design | Avery Chen | Remote US | 118000 | 2026-06-01 | 2026-05-05 | Riley Patel |
| Morgan Ellis | Customer Success Manager | Revenue | Jamie Brooks | London | 72000 | 2026-06-15 | 2026-05-08 | Riley Patel |
Sample Liquid
<article class="offer-letter">
<p>{{ response_deadline }}</p>
<h1>Offer of employment for {{ candidate_name }}</h1>
<p>Dear {{ candidate_name }},</p>
<p>
We are pleased to offer you the role of {{ role_title }} on the
{{ department }} team. You will report to {{ manager_name }} and work from
{{ work_location }}.
</p>
<p>
Your annual compensation will be {{ annual_salary }} with an anticipated
start date of {{ start_date }}.
</p>
<p>Please respond by {{ response_deadline }}.</p>
<footer>
<p>Sincerely,</p>
<strong>{{ signer_name }}</strong>
</footer>
</article>How to use this template
- 1
Collect approved offer data
Export one row per candidate from your recruiting tracker after compensation, department, manager, location, and start date have been approved.
- 2
Review variable fields
Confirm each Liquid variable has a matching CSV header so names, role titles, deadlines, and signer details render without blank spaces.
- 3
Preview candidate copies
Render a small sample of letters and check that long role titles, remote locations, and compensation values fit comfortably on the page.
- 4
Generate the packet
Run the final CSV, download the PDFs, and route them through your normal approval or e-signature process before sending.