Template library
Invoice PDF templates you can customize
Choose an invoice template, add your branding, and connect your customer data. Customize line items, payment dates, and totals in the ShipPDF visual editor.
No designs match your search.
Make the invoice yours
Build an invoice around your business
Start with a catalog design and adjust what appears on each invoice. These are the fields to review before publishing your copy.
Branding and contact details
Add your logo, colors, and typography. Check your business details and the customer’s billing address.
Invoice number, dates, and payment terms
Connect the invoice number, issue date, due date, and payment instructions to your data.
Line items and longer documents
Use a dynamic table for descriptions, quantities, and prices. Try an invoice with many rows to check its page breaks.
Currency, tax, and totals
Connect amounts from your billing system and adjust their labels and formatting. Review the calculations configured in the template before using it.
How to use an invoice template
Copy the design
Open a template from this page, sign in, and choose the project where you want to save your copy.
Customize and preview
Adjust the layout and field bindings. Use sample data to check long customer names, several line items, and payment terms.
Publish and generate
Publish your copy to use it from the app or the API. For an integration, copy your published template’s ID.
Your data, your layout
What data to send to an invoice
This example combines invoice data with the request that sends it to ShipPDF. Download it and adapt it to the copy you publish.
The invoice fields are illustrative: designs do not all share one schema. Match their names to “Schema & default data” in your template and replace template_id with your published copy’s ID.
Download invoice-request.json Understand data field bindings{
"template_id": "YOUR_PUBLISHED_TEMPLATE_ID",
"expiry_minutes": 60,
"data": {
"invoice": {
"number": "INV-1042",
"issued_on": "2026-10-30",
"due_on": "2026-11-13",
"currency": "USD",
"company_name": "Northstar Studio",
"customer_name": "Acme Co.",
"items": [
{
"description": "Design services",
"quantity": 12,
"unit_price": 90,
"amount": 1080
},
{
"description": "Monthly hosting",
"quantity": 1,
"unit_price": 40,
"amount": 40
}
],
"subtotal": 1120,
"tax_label": "Tax",
"tax_amount": 112,
"total": 1232,
"payment_terms": "Payment due within 14 days."
}
}
}From template to PDF
Generate an invoice with the ShipPDF API
Save the file as invoice-request.json, replace the template ID, and adapt its data. Create an API token with documents:create and documents:read and access to that template. Run these commands from your terminal or server.
1. Submit the invoice data
export SHIPPDF_API_TOKEN='YOUR_API_TOKEN'
curl --fail-with-body https://api.shippdf.com/v1/documents \
-H "Authorization: Bearer $SHIPPDF_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: invoice-INV-1042" \
--data-binary @invoice-request.jsonA successful request uses one generation credit and returns HTTP 202 with a queued document. Keep the token out of browser code. Reuse the idempotency key only when retrying the same request; use a new one if you change the invoice.
{"id":"doc_example","status":"queued","pdf_url":null}2. Check the document and open the PDF
export SHIPPDF_DOCUMENT_ID='YOUR_RETURNED_DOCUMENT_ID'
curl --fail-with-body \
"https://api.shippdf.com/v1/documents/$SHIPPDF_DOCUMENT_ID" \
-H "Authorization: Bearer $SHIPPDF_API_TOKEN"Use the actual ID from your response. If the status is queued or processing, wait before checking again. When it is completed, open the returned pdf_url. If it is failed, inspect failure before generating again.
{"id":"doc_example","status":"completed","expiry_minutes":60,"pdf_url":"https://…/document.pdf"}The example sets expiry_minutes: 60 for one-hour download links. Read the same document again to get a fresh link without generating another invoice.
Invoice template questions
Can I change an invoice’s logo and colors?
Yes. Copy the template into your project and change its images, colors, typography, and content in the visual editor. Your copy is independent of the catalog design.
Does the template calculate tax automatically?
Review the template’s configuration. You can supply amounts already calculated by your billing system or configure supported calculations in the design. Do not assume a design includes the tax rules your business needs.
What happens when an invoice has many line items?
Use a dynamic table and check its preview with a long invoice before publishing. Review page breaks, headers, and the position of totals with your own data.
Can I generate invoices without writing code?
Yes. After copying and customizing a template, you can generate documents from the app. You can also use a supported integration or an AI assistant connected to ShipPDF.
Can I send the catalog design’s ID to the API?
First copy the design into your project and publish your copy. POST /v1/documents takes that published template’s ID and data matching its schema.
Continue your invoicing workflow
Choose your next invoice design
Copy a template, adapt its fields, and publish a version for your customers.