Shippo
$49.00

Stop Taping the Wrong Postage on the Wrong Box.

One Shippo account. USPS, UPS, FedEx, DHL, Canada Post, and dozens more — all quoting live rates at your checkout, all generating labels from your J2Commerce admin, all posting tracking numbers the moment you click Create.

USPS · UPS · FedEx · DHL
Canada Post + more
All through one Shippo account
4
Label Formats — Standard, Thermal, PNG, ZPL II
0
Manual Tracking Number Copy-Pastes Required
27
Shipping Features in One Joomla Plugin

Every Major Carrier. One Joomla Plugin.

Real rates at checkout. Labels from your admin. Tracking that updates itself. This is what shipping looks like when it actually works.

Live Carrier Rates at Checkout

Real USPS, UPS, FedEx, DHL, Canada Post, and more appear the moment your customer enters an address — calculated from your actual origin to their actual door. No flat-rate dart-throwing. No margin bleed. Carrier logos and estimated transit days included.

Service Discovery Tool

Click one button and see every service your connected carrier accounts actually support. Check off the ones you want. Uncheck the rest. Only your selected services appear at checkout — clean options for your shopper, precise control for you.

One-Click Label Creation

Open the order, click Create Label, confirm dimensions, click Create. Label purchased from Shippo, tracking number posted to the order, status advanced to Shipped — all without leaving your J2Commerce admin. That's the entire workflow.

Live Re-Quote in the Modal

Changed the weight? Adjusted the box dimensions? Click Update Rates inside the label modal and get fresh live quotes before committing. The modal also shows what the customer paid vs the actual label cost — your shipping margin, right there before every purchase.

Four Label Formats

PDF for standard inkjet and laser printers. PDF 4x6 for Dymo, Rollo, and thermal label printers. ZPL II for industrial Zebra printers. PNG for anything else. Set the format once in the plugin settings and stop fighting the print dialog forever.

Label Void

Wrong service? Wrong dimensions? Wrong order entirely? Void the label with one click from the order view before the carrier picks it up. The carrier is notified, the record updates, and you can create a fresh label immediately. No penalty for getting it wrong the first time.

Tracking Links in Customer Emails

When your store sends a status-change email, the tracking number and a direct carrier tracking link are included automatically. Your customer can click and check without emailing you. The "where is my order?" ticket never gets written.

Webhook Security Token

Set a token in the plugin and append it to the webhook URL you register in Shippo. Every incoming delivery event is checked against that token before any order is touched. Requests without the matching token are rejected. Legitimate delivery confirmations get processed. Fake ones bounce.

Configurable Handling Fee

Add a flat-dollar or percentage handling fee on top of every carrier rate before it appears at checkout. The carrier gets paid their rate. The handling markup is profit — yours, quietly baked into the shipping charge your customer sees.

Geozone Restriction

Restrict Shippo rates to the regions you actually ship to. Shoppers outside your configured zone see a different shipping method or none at all. No international quotes for a domestic-only store. No angry emails from addresses you've never served.

Customer Delivery Notification

Turn on a delivery notification email that fires automatically when the carrier confirms the package arrived — via cron or real-time webhook. One toggle in the plugin settings. Your customer feels taken care of. You did nothing except flip a switch.

Order History Audit Trail

Every label creation and void is stamped into the order history with the tracking number, carrier, and timestamp. Your team knows what happened and when — without asking anyone or digging through email threads.

Order Statuses That Update Themselves

Here's the truth about manually advancing orders to Shipped and Delivered: nobody does it consistently. Not when you're packing 40 boxes and the printer just jammed and someone just emailed about a return. Shippo Multi-Carrier Shipping handles it automatically. Label created means the order advances to Shipped — no manual dropdown click required. Carrier confirms delivery means the order advances to Delivered — via the scheduled cron job or a real-time Shippo webhook, whichever fires first. Your order list becomes a source of truth instead of a list of stale guesses from three weeks ago.

  • Tracking number auto-posted the moment a label is purchased
  • Order advances to Shipped automatically on label creation
  • Cron task polls carrier tracking updates on all open shipments
  • On-demand refresh for individual orders with one click
  • Shippo webhook fires Delivered status the moment the carrier scans the package
  • Optional delivery notification email — one toggle, zero extra work

Labels Without Leaving Your Admin — Ever

The standard multi-carrier label workflow involves at least four context switches: your ecommerce admin, the carrier portal, your printer queue, back to the admin to update the order. Multiply that by every order you ship today and you've built a second job. Shippo Multi-Carrier Shipping collapses the entire workflow into one screen. The label modal opens inside the order view. Dimensions are pre-filled from product data. The live label cost is displayed — including what the customer paid vs what the label costs, so you see your shipping margin before every purchase. Change the weight mid-modal and get fresh quotes with one click. Then click Create and you're done.

  • Carrier and service pre-selected from the customer's checkout choice
  • Package weight calculated from product data — verify and confirm
  • Update Rates re-quotes live if you change any dimension
  • Customer-paid vs label cost shown — your margin, before you click
  • Four output formats including thermal-ready PDF 4x6 and ZPL II

Real-World Use Cases

A handmade ceramics store shipping 50 orders per week was opening three carrier websites every shipping day — three logins, three address inputs, three label downloads — then copying tracking numbers into orders by hand. Each order took 6-8 minutes. Shipping consumed a full afternoon, every week. With Shippo connected through J2Commerce, every label is bought from inside the order view. The tracking number posts automatically. The order advances to Shipped without a click. Shipping day is 90 minutes. The afternoon is back — for making ceramics.

A sporting goods store was flat-rating everything at $9.99. On a lightweight resistance band going next door: fine. On a 12-pound weight set going to the Pacific Northwest: the owner was personally covering the gap between $9.99 and what USPS actually charged — out of operating funds, silently, on every heavy order. With live Shippo rates at checkout, the customer pays what shipping actually costs. A configurable handling percentage adds a few quiet points of margin on top. Heavy orders generate the right revenue. Nobody subsidizes anybody's postage anymore. Simple math.

A specialty export store was offering flat-rate international shipping and getting burned every time a Canadian order qualified for a US-only rate that wasn't actually available to Canada. With Shippo's live rates and Canada Post connected to the same account, Canadian customers see Canada Post options alongside USPS international rates. US customers see domestic options. Each shopper sees what's actually available to them based on their real destination. No manual corrections after the order lands. No customers who paid $8.99 for a $31 international shipment.

A Joomla-based kitchen supply store was generating 20 "where's my package?" support messages per week. Root cause: tracking numbers were manually copy-pasted into orders, and about 20% of the time they weren't pasted at all. Customers had no order status to look at and no tracking link to click. With Shippo posting tracking numbers automatically, advancing orders to Shipped on label purchase, and injecting tracking links into status-change emails, customers check their own order status without contacting anyone. The support volume dropped. The owner started spending that time on product listings. Progress.

A gift shop doing 70% of annual volume in Q4 had been fighting the print dialog every shipping run for two years — standard PDF labels were printing sideways on the Rollo thermal printer because the format was never configured correctly. Every shipping day started with fifteen minutes of print-dialog gymnastics before a single label hit paper. With PDF 4x6 set in the plugin once, every label comes out correctly sized for the thermal roll without touching the print settings. The holiday season is still exhausting. The label printer is no longer part of the reason why.

Your Flat Rate Is a Lie. Your Tracking Is a Manual Mess. Fix Both.

Live carrier rates. Labels in one click. Tracking that updates itself. You've been running a freight brokerage disguised as an ecommerce store — time to let the plugin handle that part. Seriously.

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)


  • Developer J2Commerce
  • Extension Type Shipping
  • J2Commerce Version 6.x
  • Joomla Version 6.x
Language Translations
Arabic UnitagArabic Unitag
Chinese, TraditionalChinese, Traditional
DanishDanish
DutchDutch
EnglishEnglish
English, USAEnglish, USA
FinnishFinnish
FrenchFrench
GermanGerman
GreekGreek
HebrewHebrew
ItalianItalian
JapaneseJapanese
Norwegian BokmålNorwegian Bokmål
Persian FarsiPersian Farsi
PolishPolish
Portuguese, BrazilPortuguese, Brazil
Portuguese, PortugalPortuguese, Portugal
RussianRussian
SpanishSpanish
SwedishSwedish
TurkishTurkish

New Feature Inject the carrier tracking link into shipped/delivered order emails

Fix Fix normal webhooks being rejected — only enforce HMAC when Shippo signs

New Feature Discover and pick any service level per connected Shippo carrier account

New Feature Persist the discovered service catalog so it survives a page reload

New Feature Show the shipping amount the customer paid in the buy-label modal

Fix Explain why a carrier returned no rates during service discovery

Improvement Rebuild the carrier allow-list on the core Joomla fancy-select list field

New Feature Show weight/dimension units and live delivery ETA in the buy-label modal

Improvement Use the instance HttpFactory and PSR-7 response in the Shippo API client

Fix Rename the DHL carrier key to dhl_express to match Shippo

Improvement Allow the label raw_response column to be NULL

Update Requires Joomla 6.x, J2Commerce 6.x and a Shippo account

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.