Sheet to PDF
Help · Use cases · Offer letters

Personalized offer letters for HR teams

Hiring 10, 50, or 500 people per quarter? Generating offer letters one by one in Word is a productivity disaster. Here's the Sheet to PDF playbook.

The setup

1. Pick the conditional offer template (Starter+)

The built-in Conditional offer template adapts the content based on seniority — junior/mid/senior candidates get different compensation packages and benefits automatically.

2. Set up your candidates sheet

Candidate | Email | Role | Seniority | Salary | Currency | StartDate | Manager | Location | Equity

Fill in one row per candidate. Use the Seniority column to drive the conditional logic.

The workflow

  1. HR coordinates with managers to fill the sheet (you can give the sheet a comment-only share link)
  2. Open the sidebar in your sheet, pick the template, click Generate
  3. (Pro) Auto-email each offer to the candidate's email
  4. Track responses in a separate column (Accepted / Declined / Pending)

Smart template variations

Different benefits for senior level

{% if Seniority == "senior" %}
- 30 days PTO + sabbatical eligibility
- Annual learning budget €5,000
- Sign-on bonus of {{ Salary * 0.10 | currency:Currency }}
{% else %}
- 25 days PTO
- Annual learning budget €2,000
{% endif %}

Equity only for engineers and product

{% if Role contains "Engineer" %}
Equity grant: {{Equity}} shares
{% endif %}{% if Role contains "Product" %}
Equity grant: {{Equity}} shares
{% endif %}

Multi-language offers

Add a Language column. Maintain two templates (English + French). Run the generation twice with the appropriate filter on each batch.

After the offer

Signed copies

Candidates print, sign, scan, return. Store the signed copies in a separate Drive folder named "Signed offers — {{Year}}".

HRIS upload

Most HR information systems (BambooHR, Personio, Lattice) accept PDF uploads via API or bulk. The "PDF link" column in your sheet has the URL for each — script the upload via Zapier or n8n.

Privacy considerations