Postie 4

Verbb Team Verbb Team May 2024 3 min read

It's taken us several years (sorry about that) to get to implementing Postie's most sought-after features — Shipment Tracking and Shipping Labels, along with some nifty utilities to help you out with shipping all the things from your Commerce store.


Once an order has been placed on your site, the next logical step is to grab the items and send them to the customer. If the provider supports it, you can generate a shipping label and a tracking number all directly within the Commerce order screen.

Postie provides a "Shipments" tab for any Commerce order, where you can create a shipment with the provider the customer has chosen, and for their selected service. This will generate a label and tracking number, and store it against the order.

You can even create multiple shipments if not all items in an order are ready to be dispatched at once.


Once a shipment has been created and lodged, you'll likely want to let your customers know. For the providers that support it, we query tracking updates that you can use to provide your customers with an output of updates directly on your website.

It's a nice touch where you can brand your shipping updates to customers, rather than sending them off to the provider website which may or may not have an appropriate display of shipping updates.

Updated Providers#

A few providers have decided to join us in the 21st century with their APIs ditching tedious SOAP APIs in favour of OAuth and REST APIs — notably FedEx, UPS and USPS. Postie is of course compatible with these APIs, and we're glad to say it's much easier to deal with.

Testing Rates#

Our most common support request is rates not working for an order. This requires us to fetch 3 things — the origin address, the destination address and the contents of the cart. This can be time-consuming for both parties.

Now, you can troubleshoot the rates you expect with our Rates Testing tool available for each provider. Enter the origin and destination address, along with the weight and dimensions of a parcel, and receive back available rates, or at the very least a response from the provider API regarding any issue.

Debug Toolbar#

In the same vein, testing and debugging are a big part of Postie. Previously, debugging was achieved by adding output to the page with var_dump() which was a little archaic and interrupted PHP's headers which meant the page sometimes wouldn't fully render.

You might be familiar with the Yii debug toolbar that Craft uses. Postie now has its very own pane in the toolbar, which records everything on a request, from what's sent to the provider, what's received, any caching involved along the way, and more.

This should make tracing the flow of rate-fetching easier to understand and troubleshoot.

Multiple Providers#

You can now also create multiple providers for a carrier. This might be common if you have multiple accounts for a provider or a multi-store scenario.

In addition, this should also save people's project config files from blowing out, as providers are now stored only if they're in use — not for every possible provider.

Powered by Shippy#

All of this is possible thanks to our brand-new Shippy package — a PHP open-source, framework-agnostic library to handle rates and shipments for many different providers.

Shippy icon sized

If you're interested in looking behind the scenes, read up on our Shippy blog post.

Pricing Change#

We don't love increasing prices (if only everything could be free), but we've decided to increase the price of Postie due to the increased feature set, and based on our years of support load. We also will be dedicating time to supporting the Shippy project, which in turn benefits Postie.

Postie's new pricing will be $79 initially for its first year of updates and support, and $39/year after that for continued updates and support.

If you have any issues with the above pricing change, please let us know.

Available now#

Postie 4 is available for Craft 4/Commerce 4 and Postie 5 (the same features) Craft 5/Commerce 5 on the plugin store (opens new window) today.

Until next time!