Your Warehouse Just Quit Being Your Problem
Design it, import it, sell it — printed and shipped only when someone actually buys. No boxes, no inventory, no garage full of "someday" merch.
Everything Between "Nice Design" and "Shipped Product"
A full print-on-demand pipeline built straight into your Joomla ecommerce store — from catalog to checkout to tracking number.
One-Click Shop Connect
Link your account once, confirm the connection with a single click, and every feature downstream just works.
Browse & Import Designs
Click a design in your catalog, hit Import, and it lands on your storefront as a real product — photos, sizes, colors, price, done.
Automatic Mockup Processing
Every product photo gets resized, compressed, and thumbnail-ready the moment it's imported. No manual photo editing.
Automatic Retail Pricing
Set your markup once — percentage or flat — and every imported design prices itself correctly. No spreadsheet math.
Live Catalog Sync
New variant added, one discontinued, cost changed? One sync click and your storefront matches reality.
Real Shipping Rates
Shoppers see actual delivery rates for their address and their exact products — not a flat-rate guess.
Smart Mixed-Cart Shipping
Print-on-demand item shares a cart with a regular product? Choose separate or blended shipping — your call.
Hands-Off Fulfillment
Order hits your chosen status, the print job fires off automatically. You never touch it.
Automatic Tracking Sync
Tracking numbers land in the order the moment they exist — no manual copy-paste required.
Live Status Webhooks
Shipped, delivered, canceled — your store hears about it the instant it happens, signed and verified.
Order Command Center
Submit, cancel, push to production, refresh status — every fulfillment action right on the order screen.
Sales & Profit Dashboard
A real chart of what you sold, what you kept, and what's stuck in the pipeline. Numbers, not vibes.
Import a Design, Get a Real Product
What used to be an afternoon of manual product entry per design — writing descriptions, uploading photos, building out size and color options one by one — becomes a single click. Repeated as many times as your imagination allows.
- Photos processed and optimized automatically
- Sizes and colors built as real storefront options
- Price calculated from your own markup rule
Fulfillment You Never Have to Babysit
Set the order status that should trigger fulfillment and every qualifying order gets pushed to production automatically. No second tab, no manual re-keying, no order that slips through the cracks on a busy weekend.
- Auto-submit to production on your chosen status
- Tracking flows back into the order on its own
- Verified webhook updates, no fake status can sneak through
Shipping Rates That Reflect Reality
A flat-rate shipping guess either eats your margin on a heavy order or torches your conversion rate on a light one. Real, live rates quoted at checkout mean neither one happens.
- Rates based on actual destination and actual product
- Standard, priority, and express tiers
- Mixed-cart shipping shown separate or blended, your choice
Real-World Use Cases
Turn Your Next Design Into a Product, Not a "Someday" Folder
Zero inventory. Zero warehouse. Zero excuses left standing between your designs and a paying customer.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Apps
- J2Commerce Version 6.x
- Joomla Version 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishFix Open imported products with no article in the products list, not a removed form
Improvement Mark the legacy product edit redirect for removal once core handles it
Fix Keep Printify artwork, text layers and position intact when a product is pushed
New Feature Stop the push on a product Printify has locked or deleted, naming the product
Deletion Drop the print-area placeholder rebuild the push no longer needs
Fix leave the artwork out of the product push
Improvement Hold the connection test to the same setup permission as resume
Fix Keep a shared Printify image folder intact when another product re-syncs
Fix Protect variant gallery images from the same prune
Improvement Treat an empty mockup selection as unknown, not as permission to delete
Fix Keep a shared Printify image folder intact when another product re-syncs
Fix Protect variant gallery images from the same prune
Improvement Treat an empty mockup selection as unknown, not as permission to delete
Fix Fix variant option-value key stored in Printify option order, which left
Fix combinations unreachable on the storefront and unaddable to the cart
Improvement Rewrite legacy unsorted keys in place on the next sync of the product
Improvement Sort the option-value key after an option-value id remap
Deletion Drop hardcoded English fallbacks from the sync button labels
Improvement Patch version bump
Update The key is repaired automatically the next time an affected product syncs
Fix Reprice every variant on sync when the markup settings change
Fix Stop sync adding variant rows the storefront cannot select
Fix Register webhooks reliably when the shop already holds a subscription
New Feature Report variants with no Printify link instead of leaving them silently stale
Improvement Unregister now clears subscriptions the shop still holds for this site
Improvement Sync log records how many variant prices were updated
Update Run Sync all once after updating to repair products whose variants lost their link.
Fix Fix webhook deletion so order and product notifications can be registered again
Fix Show each variant's own mockup as its thumbnail in listings, product page and cart
Fix Keep the Printify connection from pausing indefinitely after rejected requests
Fix Process imported images with the store's own image settings
New Feature Explain a failed webhook registration in plain language, with when to try again
New Feature Translate the webhook and connection messages into all 21 shipped languages
Improvement Name buttons in messages from the buttons' own labels, in every language
New Feature Report why a connection test failed instead of a generic error
New Feature Show the Delete Webhooks button whenever the plugin is configured
Fix Count network failures towards the retry limit and the connection pause
Fix Clamp a shipping rate at zero so it can never reduce an order total
Fix Keep the unbuyable-variant guard armed when option lookup fails
Improvement Keep upstream request details in the log instead of the settings screen
Improvement Check the shop id is well formed before it is used in an API address
Fix Fix dashboard product links to open the correct article or product editor
Fix Explain why Sync Products reports 0 queued — fresh install vs already-queued now distinct
Improvement Add server log for sync-all skip reason (no imported products vs all already claimed)
Fix Replace hardcoded queue and JS error text with language strings
Fix Keep the Joomla article alias in step with the Printify title on re-sync
Improvement Titles that yield no URL-safe slug fall back to product-{article id}
Improvement Hold the queued image writer to the same allowed file types as product image sync
Improvement A destination whose extension is not jpg, jpeg, png, gif or webp is refused and logged
Fix Fix variant option-value key stored in Printify option order, which left
Fix combinations unreachable on the storefront and unaddable to the cart
Improvement Rewrite legacy unsorted keys in place on the next sync of the product
Improvement Sort the option-value key after an option-value id remap
Deletion Drop hardcoded English fallbacks from the sync button labels
Improvement Patch version bump
Improvement The key is repaired automatically the next time an affected product syncs
Fix Fix variant option-value key stored in Printify option order, which left
Fix combinations unreachable on the storefront and unaddable to the cart
Improvement Rewrite legacy unsorted keys in place on the next sync of the product
Improvement Sort the option-value key after an option-value id remap
Deletion Drop hardcoded English fallbacks from the sync button labels
Improvement Patch version bump
Update The key is repaired automatically the next time an affected product syncs
Fix Reprice every variant on sync when the markup settings change
Fix Stop sync adding variant rows the storefront cannot select
Fix Register webhooks reliably when the shop already holds a subscription
New Feature Report variants with no Printify link instead of leaving them silently stale
Improvement Unregister now clears subscriptions the shop still holds for this site
Improvement Sync log records how many variant prices were updated
Update Run Sync all once after updating to repair products whose variants lost their link.
Fix Fix webhook deletion so order and product notifications can be registered again
Fix Show each variant's own mockup as its thumbnail in listings, product page and cart
Fix Keep the Printify connection from pausing indefinitely after rejected requests
Fix Process imported images with the store's own image settings
New Feature Explain a failed webhook registration in plain language, with when to try again
New Feature Translate the webhook and connection messages into all 21 shipped languages
Improvement Name buttons in messages from the buttons' own labels, in every language
New Feature Report why a connection test failed instead of a generic error
New Feature Show the Delete Webhooks button whenever the plugin is configured
Fix Count network failures towards the retry limit and the connection pause
Fix Clamp a shipping rate at zero so it can never reduce an order total
Fix Keep the unbuyable-variant guard armed when option lookup fails
Improvement Keep upstream request details in the log instead of the settings screen
Improvement Check the shop id is well formed before it is used in an API address
Fix Fix dashboard product links to open the correct article or product editor
Fix Explain why Sync Products reports 0 queued — fresh install vs already-queued now distinct
Improvement Add server log for sync-all skip reason (no imported products vs all already claimed)
Fix Replace hardcoded queue and JS error text with language strings
Fix Keep the Joomla article alias in step with the Printify title on re-sync
Improvement Titles that yield no URL-safe slug fall back to product-{article id}
Improvement Hold the queued image writer to the same allowed file types as product image sync
Improvement A destination whose extension is not jpg, jpeg, png, gif or webp is refused and logged
Fix Fix variant option-value key stored in Printify option order, which left
Fix combinations unreachable on the storefront and unaddable to the cart
Improvement Rewrite legacy unsorted keys in place on the next sync of the product
Improvement Sort the option-value key after an option-value id remap
Deletion Drop hardcoded English fallbacks from the sync button labels
Improvement Patch version bump
Improvement The key is repaired automatically the next time an affected product syncs
Fix Fix live Printify shipping rates never being offered, leaving only the fallback rate
Fix Refuse image downloads that redirect away from the Printify CDN to another host
Fix Record the author on new variants instead of leaving the field empty
Fix Escape the order status name before printing it on the dashboard and order list
Improvement Reject image URLs that are not HTTPS on the standard port, and non-image responses
Improvement Accept Printify image URLs written in uppercase or with a trailing dot
Update Stores with no fallback rate configured could not check out a Printify-only cart
New Feature Add a Push to Printify button on the product edit screen that sends the title and description up to Printify
Improvement Send the product's current tags, variants and print areas back with every push, so Printify does not empty them
Improvement Refuse to push when Printify returns no variants or print areas, so a failed read cannot wipe a listing
New Feature Show when a product was last pushed, and warn that content sync pulls the Printify copy back over local edits
Fix Fix the Orders filter bar rendering empty because the forms folder was left out of the installer manifest
New Feature Translate the new push strings into all 21 shipped locales
Update Requires Joomla 6.x + J2Commerce 6.x + a Printify Personal Access Token
Improvement Reject malformed Printify order and webhook identifiers before they are used in a request
Improvement Remove expired cached entries during the scheduled sync
Improvement Ignore a repeated webhook so the same event is never processed twice
Improvement Limit how often repeated webhook rejections are written to the log
Improvement Reject malformed Printify identifiers before they are used in an API request
Improvement Only treat web addresses as links on tracking details
Improvement Keep product descriptions intact when they are split into intro and body text
Improvement Read the site address from the site itself when registering webhooks
Improvement Skip the product lookup for signed-out visitors on the administrator product screen
Fix Fix inbound webhooks never reaching the site, so no Printify event was ever received
Improvement Move the webhook endpoint off the cron route so no site-wide secret is shared with Printify
Fix Fix the scheduled sync command never running because the cron argument was read incorrectly
Improvement Restrict downloaded product images to an approved list of image file types
Improvement Reject Printify identifiers that are not plain alphanumeric before they are used in a file path
Improvement Confine background image downloads to the Printify image directory
Improvement Keep a product unpublished, and skip a variant, when a price of zero or less is calculated
Improvement Show a generic message instead of upstream error text when an order status lookup fails
Improvement Match products on an exact identifier so wildcard characters cannot widen the lookup
Improvement Webhooks now only update products already imported; creating or publishing a product in Printify no longer puts it on sale automatically
New Feature Set the store owner who ran the import as the author of the new product and article
Fix Fix new prices not showing in listings because the product price index was never refreshed on import or sync
Fix Fix the activity log never recording anything, leaving the Activity view frozen
Fix Fix a renamed product being imported a second time instead of matching the existing one
New Feature Add a guard that aborts an import rather than creating a duplicate of an already linked product
Fix Fix re-imports and queued syncs never matching the existing product, so prices were never recalculated and duplicate products could be created
Fix Fix every queued Printify job being reported as skipped and never processed
Fix Fix processed queue jobs never being marked complete or failed
New Feature Add the Sync Products button to the dashboard and plugin settings toolbars
Improvement Rename the products toolbar Sync All button to Sync Products
New Feature Add a setting controlling whether a pricing change reaches all products or only newly imported ones
Fix Fix the Edit Printify link never appearing on a product, caused by reading a meta key that is never written
Fix Fix the product sync badge always reading Imported no matter how many times the product was synced
New Feature Add a Sync Now button to the Printify panel on the product edit screen
New Feature Add an explanatory message when a product is not linked to Printify, instead of an empty panel
Fix Fix Edit in J2Commerce failing with "not permitted to use that link to directly access that page"
New Feature Add a return to the Printify products view from the article and product edit screens
Fix Fix Printify costs being imported without currency conversion, so a USD print provider fed a non-USD store raw USD figures
Fix Fix queued product syncs duplicating when a prior job was retrying or in progress
Fix Fix product re-sync never reaching products past the configured batch size
New Feature Add currency resolution from the catalog shipping profile with conversion to the store base currency
Improvement Move the Sync All action from the products list into the toolbar
Improvement Show a generic message instead of raw exception text when an admin action fails
Fix Fix webhooks only ever subscribing to order:created, which silently disabled all product and shipment events
Fix Fix product and order webhook handlers reading the id from resource.data instead of resource.id
Fix Fix Printify title and description changes never reaching the linked article on sync
Fix Fix variant prices only recalculating when the Printify cost changed, so markup setting changes were ignored
Fix Fix the master variant never being repriced, freezing the displayed price of simple products
New Feature Add product:created, product:updated and product:publish:started webhook handling
New Feature Add gross margin and "use Printify retail price" pricing methods alongside markup
New Feature Add automatic product re-sync on the printify_sync cron, with a batch size setting
New Feature Add a Sync All button that queues every imported product for re-sync
New Feature Add a setting to keep locally edited titles and descriptions from being overwritten
Fix Fix dashboard date range showing a literal placeholder when the language string uses the numbered form
Fix Fix webhook signature verification (X-Pfy-Signature header + sha256= prefix)
New Feature Add dedicated Printify Dashboard with Chart.js analytics under Analytics menu
New Feature Add admin authorization gate (core.manage) to every AJAX action
New Feature Translate into 19 additional languages (21 locales total)
Deletion Remove in-app product create/design wizard (products are built in Printify)
New Feature Rebuild Printify Orders as a full list view with search, filters, sort, pagination
New Feature Add sales-vs-profit, orders-by-day and status charts with date-range presets
New Feature Add Products pie (shop total vs migrated) and Printify Status donut
New Feature Add J2Commerce Status, Printify Status and Tracking (Yes/No) order filters
Fix Fix webhook secret never persisting after webhook registration
Improvement Honor com_j2commerce badge style and date format settings in all admin views
Improvement Move Settings and Help buttons (right-justified) into every Printify toolbar
Improvement Rebuild Shipping and Products views in core Joomla 6 fieldset format
Improvement Show tracking as Yes/No badges in order lists
Fix Fix catalog cache TTL parameter never being read (name mismatch)
Fix Fix dead Resume API button (no backing handler)
Improvement Rename order status filter labels and Edit Printify button for clarity
Improvement Use numbered placeholders in the connection message for RTL languages
Update Requires Joomla 6.x + J2Commerce 6.x + a Printify Personal Access Token
Fix Fix dashboard date range showing a literal placeholder when the language string uses the numbered form
Fix Fix webhook signature verification (X-Pfy-Signature header + sha256= prefix)
New Feature Add dedicated Printify Dashboard with Chart.js analytics under Analytics menu
New Feature Add admin authorization gate (core.manage) to every AJAX action
New Feature Translate into 19 additional languages (21 locales total)
Deletion Remove in-app product create/design wizard (products are built in Printify)
New Feature Rebuild Printify Orders as a full list view with search, filters, sort, pagination
New Feature Add sales-vs-profit, orders-by-day and status charts with date-range presets
New Feature Add Products pie (shop total vs migrated) and Printify Status donut
New Feature Add J2Commerce Status, Printify Status and Tracking (Yes/No) order filters
Fix Fix webhook secret never persisting after webhook registration
Improvement Honor com_j2commerce badge style and date format settings in all admin views
Improvement Move Settings and Help buttons (right-justified) into every Printify toolbar
Improvement Rebuild Shipping and Products views in core Joomla 6 fieldset format
Improvement Show tracking as Yes/No badges in order lists
Fix Fix catalog cache TTL parameter never being read (name mismatch)
Fix Fix dead Resume API button (no backing handler)
Improvement Rename order status filter labels and Edit Printify button for clarity
Improvement Use numbered placeholders in the connection message for RTL languages
Update Requires Joomla 6.x + J2Commerce 6.x + a Printify Personal Access Token
Fix Fix webhook signature verification (X-Pfy-Signature header + sha256= prefix)
New Feature Add dedicated Printify Dashboard with Chart.js analytics under Analytics menu
New Feature Add admin authorization gate (core.manage) to every AJAX action
New Feature Translate into 19 additional languages (21 locales total)
Deletion Remove in-app product create/design wizard (products are built in Printify)
New Feature Rebuild Printify Orders as a full list view with search, filters, sort, pagination
New Feature Add sales-vs-profit, orders-by-day and status charts with date-range presets
New Feature Add Products pie (shop total vs migrated) and Printify Status donut
New Feature Add J2Commerce Status, Printify Status and Tracking (Yes/No) order filters
Fix Fix webhook secret never persisting after webhook registration
Improvement Honor com_j2commerce badge style and date format settings in all admin views
Improvement Move Settings and Help buttons (right-justified) into every Printify toolbar
Improvement Rebuild Shipping and Products views in core Joomla 6 fieldset format
Improvement Show tracking as Yes/No badges in order lists
Fix Fix catalog cache TTL parameter never being read (name mismatch)
Fix Fix dead Resume API button (no backing handler)
Improvement Rename order status filter labels and Edit Printify button for clarity
Improvement Use numbered placeholders in the connection message for RTL languages
Update Requires Joomla 6.x + J2Commerce 6.x + a Printify Personal Access Token
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.