The same order data
in every document

Map one order into the receipts, invoices, packing slips, labels, and images its workflow needs. Start from a supported connector, a webhook, or your own API integration.

Free account, no credit card

Built for e-commerce workflows

Order Receipts

Fill a PDF receipt with the order's line items, tax, shipping, payment details, and brand assets.

Packing Slips

Give fulfillment the item counts, barcodes, order reference, and shipping address it needs to pack.

Invoices

Place branding, payment terms, line items, supplied tax values, and currency data into one invoice layout.

Return Labels

Reuse customer and order details in return forms and labels when a return is opened.

Product Images

Merge catalog values into reusable layouts for listing images, sale banners, and campaign graphics.

Shipping Labels

Generate a label from the carrier data and barcode values supplied by your shipping workflow.

How it works

1

Choose the order event

Start with the event your store, payment service, or fulfillment system already emits. Use a connector, webhook, or API call.

2

Map data into a template

Begin with a gallery template or build your own. Define where order fields, repeating items, conditions, and brand assets belong.

3

Route the finished file

Use the response or completion webhook to attach the file, save it to supported storage, or continue another workflow.

One order is never one document

A confirmation may be only the first output. Fulfillment may need a packing slip, the carrier may need a label, accounting may need an invoice, and an international shipment may add customs paperwork. Pick an order type below to see how the document count changes.

6 documents over the life of one order

  • Order confirmation The customer At checkout
  • Tax invoice The customer and your accountant At payment
  • Packing slip The warehouse At pick
  • Shipping label The carrier At dispatch
  • Credit note The customer and your accountant On a return
  • Return label The customer On a return

Each is 1 render. A store shipping 500 orders a month is producing several thousand documents, from templates that all have to agree with each other about your address, your tax number, and what the logo looks like this quarter.

The chain from checkout to doorstep

Each stage can create a document and hand it to another system. Storefront, payment, fulfillment, and accounting connectors cover different actions, so check the catalog for the exact event and destination you need. Use a webhook or API call for the gaps between those published actions.

Checkout confirmation Payment tax invoice Pick packing slip Dispatch label Accounts statement

Keep the document layout in a reusable template instead of rebuilding it inside each store event. A repeating line-item block can accept both short and long orders, while conditions show sections only when the supplied order data calls for them.

The details an order document cannot infer

A template can format the values it receives, but it does not decide which tax treatment, invoice number, address, or currency is valid for an order. Keep those decisions in their source systems, then test how the document behaves with the hardest values they can send.

Supply the tax treatment per order

Pass the calculated tax values and the facts the invoice must display. Template conditions can choose among approved tax blocks, but the template should not guess a rate from an address or product name.

Own invoice numbering upstream

Allocate the invoice number in the accounting or order system, then pass it with the render data. A retry can reuse the same record and number instead of asking the render step to create another one.

Test the longest line-item table

A wholesale order can run to several pages. Configure page-break behavior and repeated headers, then test long descriptions, many rows, and a totals block close to the bottom of a page.

Keep shared business details reusable

Put the seller address, registration details, and other repeated content in a shared block or common data source. A business change can then be made without hunting through unrelated layouts.

Format currency and locale deliberately

Send the transaction currency and choose the date, decimal, and grouping rules the document requires. Do not rely on the renderer to infer them from the shipping address.

Load fonts for the scripts you use

Names and addresses may use Greek, Cyrillic, Arabic, or other scripts. Add font assets with the required glyph coverage, configure direction where needed, and test real examples before sending the document.

Keep a sales spike out of the checkout path

Rendering takes longer than recording a completed order. If checkout waits for the file, render latency becomes customer-facing latency. Queue the work after the order is accepted, and plan throughput from the concurrency and volume included with the chosen plan.

  1. Submit the render after accepting the order. An async request returns a job id. Store it with the order, then let a completion webhook move the finished file into the email, storage, or fulfillment step.
  2. Size the queue around published concurrency. The entry tier lists 2 concurrent renders, Business lists 8, and Enterprise lists 25. Measure peak order volume and decide how much queue delay the workflow can tolerate.
  3. Use caching only where the request is safe to reuse. Cacheable requests can avoid repeat render work when their inputs and output are the same. Keep customer-specific values and cache policy aligned with the documented request model.
  4. Define retry behavior before production. Choose which failures to retry and how many attempts to make. Keep the order identifier stable so a repeated render does not become a second business record.
  5. Route the result to its next owner. Deliver into supported S3, Google Cloud Storage, Azure, R2, B2, or DigitalOcean Spaces storage, return the file to your application, or continue through a connector action that supports the destination you need.

Begin with the order events that already exist. Placement may call for a confirmation or invoice. Fulfillment may add a packing slip or label. A return or refund may require another document, but only when your business workflow asks for it.

Map shared order fields once, then give each document its own template and the subset of data it needs. The order system remains the source of truth; the template controls how those values are arranged in the output.

Add one event at a time. Verify its trigger, field mapping, render result, and delivery path before adding the next document. Larger volumes should use queued jobs and plan capacity sized from measured demand.

Order Placed

Receipt or invoice using the recorded line items, supplied tax values, totals, and payment details.

Order Shipped

Packing slip for fulfillment and a label built from the carrier and barcode data you provide.

Order Returned

Return authorization, return label, or customer instructions tied to the original order.

End of Month

Statements or internal reports generated from approved accounting and order data.

Platform integration examples

Shopify to invoice PDF

  1. Receive the Shopify order event in your workflow.
  2. Validate and map line items, customer details, totals, and the invoice number.
  3. Submit that data with the selected invoice template.
  4. Use the response or completion webhook to continue delivery.
  5. Store the final PDF where the order workflow expects it.

WooCommerce to packing slip

  1. A WooCommerce order reaches the status chosen as the trigger.
  2. A connector or custom webhook receives the event.
  3. The workflow maps approved fields to the packing-slip template.
  4. cloudlayer.io renders the PDF.
  5. The workflow routes it to the fulfillment destination.

What changes when the parcel crosses a border?

An international shipment may add a commercial invoice or other customs paperwork. Those documents follow the requirements of the shipment, carrier, and destination rather than a generic storefront layout. Determine the required fields upstream, then pass them into the approved template.

What the extra document carries

  1. The shipment's required description or classification data for each item.
  2. Quantity, unit value, total value, and the stated currency.
  3. Country-of-origin and destination details supplied by the shipping workflow.
  4. The shipment purpose and any other fields required by the carrier or destination.

Why this breaks a fixed layout

Addresses do not share one shape. A layout built around a short domestic address may receive more lines, a different field order, or a district value with no room. Let the block reflow, and test it with representative destination formats.

Amounts change width as well. Currency symbols, decimal rules, and larger values can push a total beyond the space used by sample data. Test the widest values you expect instead of tuning the column to one currency.

A responsive document layout can reflow these values. It cannot decide which values are legally or operationally required; the request must supply them.

Before enabling a new destination, test a long address, the required currency format, and product or customer text in the scripts you expect. Review the output with the team that owns shipping or compliance requirements.

8
Official SDKs
Available on GitHub
36
Payment gateways
Accept payments on forms
6
E-signature providers
Triggered from submissions

Questions, answered

How many documents does one order actually produce?

It depends on the product, destination, and order events. A digital order might need a receipt and license certificate. A physical order can add an invoice, packing slip, shipping label, return form, or customs document. Each finished file uses one render from the plan allowance.

Will document generation slow down my checkout?

Keep rendering outside the checkout response. Submit an async job after the order is accepted, store its job id, and use the completion webhook to continue delivery. Published concurrency is 2 renders on the entry tier, 8 on Business, and 25 on Enterprise, so size the queue around the plan you choose.

Can one invoice template handle different tax rules?

Yes, when your data supplies the rule and values to apply. Template conditions can show the right tax block for the order type or destination. Test every branch you rely on, and keep tax calculation in the system that owns it rather than asking the document template to infer it.

What connects to my store and my accounts?

Connect directly with platforms like Shopify, WooCommerce, Stripe, Xero, Shippo, and Easyship through pre-built connectors. For custom e-commerce stores, trigger rendering with our REST API or signed webhooks.

What happens to invoice numbering if a render is retried?

Send the invoice number as input from the system that owns the invoice record. Retrying the same render can then reuse that value instead of allocating a new number. Your accounting system remains responsible for number rules, uniqueness, and gaps.

Do line items break badly on a long order?

Long tables can repeat headers and control how rows break across pages. Test the template with one line, many lines, long descriptions, and a totals block near a page boundary. That reveals layout problems before a large order does.

How do I automatically generate invoices for Shopify orders?

Receive the Shopify order event in your workflow, map the order fields to a template, and submit the render. The response or completion webhook provides the result for the next delivery step.

Can I generate packing slips and shipping labels too?

Yes. Keep each document as its own template and reuse the relevant order data across them. An invoice, packing slip, and shipping label are three finished outputs and therefore use three renders.

Do I need a developer to set this up?

No. Pre-built connectors for Shopify, WooCommerce, and Zapier let you automate invoice and packing slip generation without writing code. Developers can also use our REST API and SDKs for custom workflows.

Will the invoices match my brand?

Templates support your HTML, CSS, fonts, colors, and logo assets. Render representative orders and review the PDF before production, especially for long tables and font fallbacks. The $9 plan covers 1,000 renders a month, 5 custom templates, and 5 GB of storage.

Test one order document
with real store data

Choose a receipt, invoice, or packing slip and verify the full path from order event to finished file.

No credit card required.