Invoices, certificates, contracts and statements, rendered as PDFs in about two tenths of a second. Business teams design the templates without a developer. Developers call one endpoint. On Growth and above the finished document is written straight into your own cloud storage, and we never hold a copy of it.
<!-- the footer is defined once, shared by every template -->
<h1>Invoice {{ invoice.number }}</h1>
{% for line in invoice.lines %}
<tr>
<td>{{ line.description }}</td>
<td>{{ line.qty }}</td>
<td>{{ line.total | money }}</td>
</tr>
{% endfor %}
{% include 'footer' %} "number": "2026-0417", "customer": "Northwind Logistics, Inc.", "lines": [ 3 items ]
| Description | Qty | Amount |
|---|---|---|
| Freight forwarding, week 32 | 1 | 1,840.00 |
| Customs handling | 3 | 285.00 |
| Warehouse storage, pallet-day | 62 | 434.00 |
Upload the HTML you already have — it is already a valid template, because
Liquid passes plain markup through untouched. Add {{ }} where the
data goes. Developers author in code with a preview that renders through the
production engine; visual editing for business users arrives before general
availability.
Dev, QA and Prod behave like branches. One version publishes to several environments at once, and production asks a second time — by name.
Post your JSON and take the PDF back, or send a hundred thousand of them through the batch endpoint and collect a manifest when it finishes.
Most document APIs keep your customers' documents on their own servers. That is the first question an enterprise security review asks, and it is the one this product was designed around. Paperomat renders and writes; it stores nothing, and it holds no secret of yours in either direction. Available on Growth and Enterprise.
A cross-account role you create, assumed with an external ID and a session policy scoped to a single prefix. Revoking us is deleting a role.
Workload identity federation against our published OIDC issuer. No Azure client secret is ever created — there is nothing to leak and nothing to rotate.
id.paperomat.com — RS256, keys held in AWS KMS
Every template version carries a timeline: which version rendered, in which environment, when, and who last changed it. Test environments are never rate limited — QA output is watermarked and counted, never blocked.
No JSON document model and no invented markup. The editor emits standard HTML and standard Liquid, so the template is diffable, reviewable, and portable on the day you create it rather than on the day you ask for an export.
Legal footers, logos and addresses are defined once and included everywhere. Change the snippet, and every template that includes it changes with it.
{% include 'footer' %}
Export every template and partial as a folder of files, then reproduce the identical PDF offline with our open-source renderer. Liquid has independent implementations in five languages, so leaving is not a rewrite.
$ paperomat-render invoice.liquid payload.json
A warm render finishes in roughly 142 ms, which is what makes an editor preview of the real document possible instead of an approximation of it.
Nothing is for sale on this page. Beta accounts run on the Growth limits at no charge, and no one is billed before general availability in October. Annual billing saves 10% on every plan.
| Free$0 | Starter$11 | Growth$79 | Enterprise$499 | |
|---|---|---|---|---|
| Paid annually, per month | — | $9.90 | $71.10 | $449.10 |
| Documents included | 100 | 3,000 | 25,000 | 200,000 |
| Each additional 1,000 | not available | $3.00 | $2.50 | $2.00 |
| Active templates | 2 | 250 | 1,000 | Unlimited |
| Environments | 1 | 1 | 3 | Unlimited, named |
| Parallel renders | 1 | 5 | 30 | 1,000 |
| Bring your own storage | — | — | Included | Included |
| Reserved warm capacity | — | — | — | By arrangement |
Parallel renders are limits rather than reservations: requests over the line are held briefly and queued, never refused. Documents past the included volume are billed at the rate above rather than blocked — except on Free, which is a hard stop at 100, so a free account can never run up a bill. Bring your own storage begins at Growth; on Free and Starter the finished PDF comes back in the API response and nothing is kept beyond the day. Growth becomes the cheaper plan at around 25,700 documents a month and Enterprise at 193,000.
Tell us where to reach you and roughly what you render. Beta accounts get the whole platform, direct access to the person building it, and no invoice.