- Short answer
- Shopify Order Printer by Shopify is the current free app; the legacy Order Printer app is deprecated.
- Order Printer Pro
- A third-party app: its listing names the developer as Order Printer, not Shopify.
- Your old templates
- Import under Templates → Import in the new app.
- Cost of switching
- None extra: Shopify says the new app comes at no additional cost.
How do you tell Shopify's current Order Printer apart from similar apps?
The table below compares three apps that carry the Order Printer name; the current Shopify app is Shopify Order Printer, made by Shopify and free. Shopify's help section on printing order documents points to it.
| Listing (handle) | Made by | Status | Price |
|---|---|---|---|
| Shopify Order Printer (shopify-order-printer) | Shopify | Current | Free |
| Order Printer (order-printer) | Shopify | Deprecated; not available on the App Store | — |
| Order Printer Pro: PDF Invoice (order-printer-pro) | Order Printer, a third-party developer | Available | Free up to 50 orders a month; paid plans from $10/month |
Read on each Shopify App Store listing, October 9, 2026.
Sending an invoice, rather than printing one, is a separate question.
What does "deprecated" mean for the old app?
Shopify's migration guide says the legacy app is no longer supported or maintained, while the new one offers the same functionality, template previews and ongoing updates.
To avoid possible disruptions or printing errors, migrate your templates and use the new Shopify Order Printer app.
How do you move your old templates?
Import your custom templates inside Shopify Order Printer under Templates → Import; Shopify's migration guide has the steps. Liquid variables update automatically wherever possible, and most templates will work as expected.
Shopify's troubleshooting page names the most common reasons a template doesn't import correctly:
- custom CSS
- metafields
- Liquid variables that don't update correctly
If a template doesn't import correctly, check its variables by hand: order variables now need the order. prefix (billing_address becomes order.billing_address), though some, like line_items, don't. The transaction variables authorization, message and test were removed and can't be replaced.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial Policy