Automated Employment Contract Generation

Generate professional employment contracts in DOCX and PDF formats from your HR data using Liquid templates. Built for HR systems and backend developers who need reliable contract automation without document generation complexity.

The HR Contract Problem

Every new hire needs a personalized employment contract with role-specific terms, salary details, and company policies. Manual contract creation is time-consuming and error-prone. Building document generation into your HR system means wrestling with DOCX libraries, PDF rendering, and template management.

How It Works

Send your employee data and contract template to our API. Get back professionally formatted contracts ready for signature workflows.

#1. Submit contract generation request
curl --request POST \
  --url https://dash.liquidtemplater.com/items/template_request \
  --header 'Authorization: Bearer YOUR_BEARER_API_KEY_HERE_1234578' \
  --header 'content-type: application/json' \
  --data '{
    "data": {
      "employee": {
        "name": "Sarah Johnson",
        "position": "Senior Software Engineer",
        "salary": 95000,
        "start_date": "2025-07-01",
        "department": "Engineering",
        "manager": "Alex Chen",
        "benefits": {
          "vacation_days": 25,
          "health_insurance": true,
          "retirement_match": "6%"
        }
      },
      "company": {
        "name": "TechCorp Inc.",
        "address": "123 Innovation Drive, Austin, TX"
      }
    },
    "template": "<contract template content>",
    "type": "docx"
  }'

#Response includes processing ID
{
  "data": {
    "id": "9125fdc1-a094-4464-8a5e-c5f28ee7dcca",
    "result": null,
    "fullfilled_on": null
  }
}
#2. Poll for completion
curl --request GET \
  --url https://dash.liquidtemplater.com/items/template_request/9125fdc1-a094-4464-8a5e-c5f28ee7dcca \
  --header 'Authorization: Bearer YOUR_BEARER_API_KEY_HERE_1234578'

#After a few seconds get download ID
{
  "data": {
    "id": "9125fdc1-a094-4464-8a5e-c5f28ee7dcca",
    "result": "166013e8-a767-4d1f-9502-889378a7f715",
    "fullfilled_on": "2025-06-20T11:32:11"
  }
}
#3. Download the contract
curl 'https://dash.liquidtemplater.com/assets/166013e8-a767-4d1f-9502-889378a7f715?download=true' \
  --header 'Authorization: Bearer YOUR_BEARER_API_KEY_HERE_1234578'

Template Example: Employment Contract

EMPLOYMENT AGREEMENT

This Employment Agreement is entered into between {{ company.name }} ("Company") and {{ employee.name }} ("Employee").

POSITION AND DUTIES
Employee will serve as {{ employee.position }} in the {{ employee.department }} department, reporting to {{ employee.manager }}.

COMPENSATION
Annual Salary: ${{ employee.salary | number }}
Start Date: {{ employee.start_date | date: "%B %d, %Y" }}

BENEFITS
- Vacation: {{ employee.benefits.vacation_days }} days annually
{% if employee.benefits.health_insurance -%}
- Health insurance coverage provided
{% endif -%}
{% if employee.benefits.retirement_match -%}
- 401(k) matching: {{ employee.benefits.retirement_match }}
{% endif -%}

Company Address: {{ company.address }}

Signatures:
_________________________    Date: ___________
{{ employee.name }}

_________________________    Date: ___________
{{ company.name }} Representative

Common Contract Types

Standard Employment Contracts

  • Full-time employee agreements
  • Part-time and contractor agreements
  • Internship contracts

Role-Specific Contracts

  • Executive employment agreements
  • Sales commission structures
  • Remote work agreements

Compliance Documents

  • Non-disclosure agreements
  • Non-compete clauses
  • Offer letters with terms

Real-World HR Integration

// Integrate with your HR system
async function generateEmploymentContract(employeeId) {
  const employee = await hr.getEmployeeData(employeeId);
  const company = await settings.getCompanyInfo();
  
  const response = await fetch('https://dash.liquidtemplater.com/items/template_request', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${YOUR_BEARER_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      data: { employee, company },
      template: getContractTemplate(employee.position),
      type: 'docx'
    })
  });
  
  const { data: { id } } = await response.json();
  
  // Poll until fullfilled_on has a value
  const result = await pollForCompletion(id);
  return `https://dash.liquidtemplater.com/assets/${result.data.result}?download=true`;
}

Multiple Output Formats

Generate contracts in the format your workflow requires:

  • DOCX documents for editing and digital signatures
  • PDF files for final executed versions
  • Email notifications to stakeholders about contract status

Simply change the type parameter in your API request.

Built for HR Workflows

Asynchronous Processing: Contract generation happens in the background while your HR system stays responsive.

Template Versioning: Update contract templates without changing your integration code.

GDPR Compliant: Generated contracts stored securely in Germany for 7 days, automatically purged afterward.

Email Integration

Automatically send contracts to new hires using your own SMTP credentials:

{
  "data": {
    "employee": {...},
    "email_to": "sarah.johnson@email.com",
    "email_from": "hr@yourcompany.com"
  },
  "template": "{{contract_template}}",
  "type": "email"
}

Requires SMTP setup in your dashboard first.

Security Considerations

Employment contracts contain sensitive personal and financial information. Our infrastructure provides:

  • Encrypted data transmission
  • Secure document storage in EU
  • Automatic document purging after 7 days
  • No long-term data retention

Common Use Cases

Onboarding Automation

  • Generate contracts immediately after offer acceptance
  • Create role-specific terms based on position data
  • Automate document delivery to new hires

Contract Updates

  • Generate amended contracts for promotions
  • Create addendums for policy changes
  • Handle salary adjustment documentation

Pricing

Free Tier: 100 renders/month - perfect for small teams Pro: €55/month for 10,000 renders + €0.005 per additional render Enterprise: Unlimited renders with dedicated infrastructure

View detailed pricing

Getting Started

  1. Get your API key
  2. Try the interactive demo
  3. Read the full documentation

Built by developers, for developers. No vendor lock-in, no complex setup.

Learn how to get startedInteractive demo