Generate a payslip for every employee in a single API call. Send payroll data from your system to the batch endpoint directly — PDFox handles the rest.
The problem
Generating 200 payslips by hand — or via mail merge — is slow, error-prone, and miserable on the last working day of the month. One formula error or template drift means wrong numbers reach employees.
Payslips also carry sensitive data: each employee should only receive their own document. Routing PDFs correctly at scale requires logic most finance teams don't want to build and maintain themselves.
How it works
Design the payslip layout once in the PDFox visual editor. Define Handlebars fields for employee details, earnings, deductions, and net pay. Publish when approved by your finance team.
POST a JSON array to the batch endpoint directly from your payroll system. PDFox queues one generation job per employee.
Poll job status per employee or receive webhooks. Each completed job returns a signed URL for that employee's payslip — ready to email, store, or push to your HRIS.
Batch API · Node.js
const { data } = await axios.post(
'https://api.pdf-fox.com/v1/generate/batch',
{
templateId: 'tpl_payslip_standard',
rows: payrollData.map(emp => ({
employee: {
name: emp.name,
id: emp.staffId,
department: emp.department,
},
period: { start: '2026-05-01', end: '2026-05-31' },
earnings: {
basic: emp.basicPay,
overtime: emp.overtime,
bonus: emp.bonus,
gross: emp.grossPay,
},
deductions: {
tax: emp.incomeTax,
ni: emp.nationalInsurance,
pension: emp.pensionContribution,
},
net: emp.netPay,
})),
},
{ headers: { Authorization: `Bearer ${process.env.PDFOX_API_KEY}` } }
);
// data.jobs — array of { jobId, employeeId } for status polling Each job in the response maps to one employee. Poll /v1/jobs/:jobId per employee or use the webhook_url field to receive completion events.
Why teams choose PDFox
Each generation job receives only the data for that employee. No cross-contamination — wrong payslip to the wrong person is not possible by design.
A 500-employee batch runs in parallel, not sequentially. Your monthly payrun completes in seconds, not the time it takes to loop through a spreadsheet.
Every generation is logged — which template version, which data payload, which API key, and when. Payroll compliance requires records; PDFox keeps them automatically.
Free tier included. No card required. Start generating payslips in minutes.