Rendral

Use case · Invoices

The invoice PDF API

Every billing system eventually needs to produce invoice PDFs — thousands of them, on the 1st, each personalised from your database. Doing that in-house means running a headless-browser farm you'd rather not own.

Send the invoice HTML you already render in your app; get back a pixel-perfect PDF in one request. Page numbers, headers and footers, precise totals — all in plain CSS.

01How it works

01

Month-end at scale

Fire thousands of renders when the billing job runs. A warm browser pool and concurrency control keep it fast and predictable.

02

On your brand

Full modern CSS — your fonts, colours and layout, exactly as designed, not a spreadsheet export.

03

Safe retries

Send an Idempotency-Key so a retried invoice returns the same document and never double-charges quota.

02One request

request.sh
curl https://rendral.com/api/v1/pdf \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "html": "<h1>Invoice #1042</h1>…",
        "options": { "pageNumbers": true, "format": "A4" } }' \
  -o invoice-1042.pdf

Frequently asked

Can each invoice use live data?

Yes — render the HTML your app already produces per customer, with their line items, totals and branding.

Do you support page numbers and footers?

Yes. Set pageNumbers: true for a centered footer, or supply your own header/footer HTML.

How do I avoid duplicate invoices on retry?

Send an Idempotency-Key header; a repeated request returns the original PDF and doesn't count against your quota.

Start rendering in minutes.

A free tier, five endpoints, and SDKs for Node and Python.