PHPackages                             webhostingace/module-auspost - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. webhostingace/module-auspost

ActiveMagento2-module

webhostingace/module-auspost
============================

Australia Post shipping rates for Magento 2 with a real multi-box packing algorithm, letter services, extra cover and PAC API response caching

1.1.2(today)03↑2900%MITPHPPHP &gt;=8.1

Since Jul 23Pushed todayCompare

[ Source](https://github.com/WebHostingAce/magento2-module-auspost)[ Packagist](https://packagist.org/packages/webhostingace/module-auspost)[ Docs](https://www.webhostingace.com.au/)[ RSS](/packages/webhostingace-module-auspost/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (8)Versions (9)Used By (0)

Auspost / Australia Post Magento 2 Extension by Web Hosting Ace
===============================================================

[](#auspost--australia-post-magento-2-extension-by-web-hosting-ace)

Australia Post shipping rates (PAC API) for Magento 2, with a real box packing algorithm. Standalone extension — carrier code `auspost`. Developed and maintained by [Web Hosting Ace](https://www.webhostingace.com.au/).

Features
--------

[](#features)

- Multi-box packing into your actual cartons, validated by an axis-aligned shelf/layer arrangement check against the configured box dimensions — pure volume maths would accept impossible fits; per-package rates requested and summed
- JSON PAC API with responses cached in Magento cache (default 24h)
- Domestic + international parcel and letter services, signature-hide and extra cover options
- Extra Cover insures each package for the value of the products packed into it; admin validation prevents enabling Extra Cover while Signature on Delivery is hidden, since Australia Post only sells cover above $500 with a signature
- Constructor DI throughout, strict types, one product collection query per quote — no per-item loads
- No licensing or phone-home code

Standalone extension
--------------------

[](#standalone-extension)

On install the module creates the product attributes it needs (skipped individually if an attribute already exists):

Attribute codePurpose`auspost_length`Product length in cm`auspost_width`Product width in cm`auspost_height`Product height in cm`auspost_package_type`Parcel (default) or LetterThe three dimension attributes are pre-selected in the **Product Dimensions** config. Products with empty values fall back to the configured default dimensions (10 cm each by default). Any other numeric attribute can be selected instead.

If any other extension using the carrier code `auspost` was previously installed, disable it first — two active carriers cannot share a code.

Requirements
------------

[](#requirements)

- Magento Open Source / Adobe Commerce **2.4.4 or later**
- PHP **8.1 or later** (use the PHP version supported by your Magento release, per the table below)
- An Australia Post PAC API key — free registration at [developers.auspost.com.au](https://developers.auspost.com.au/)

MagentoSupported PHP2.4.4 / 2.4.58.12.4.68.2, 8.12.4.78.3, 8.22.4.88.4, 8.32.4.98.5, 8.4Magento 2.3 and earlier are end-of-life and not supported.

Rates are Australia Post retail (PAC) rates. Contract/eParcel negotiated rates are not supported.

Installation
------------

[](#installation)

### Composer (recommended)

[](#composer-recommended)

```
composer require webhostingace/module-auspost
php bin/magento module:enable WebHostingAce_Auspost
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
```

Updating later:

```
composer update webhostingace/module-auspost
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
```

### Manual (app/code)

[](#manual-appcode)

```
mkdir -p app/code/WebHostingAce/Auspost
# copy module files there

php bin/magento module:enable WebHostingAce_Auspost
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
```

Use one method or the other — if a copy exists in `app/code`, it overrides the Composer copy in `vendor` and Composer updates will appear to have no effect.

Configuration
-------------

[](#configuration)

Stores → Configuration → Sales → Delivery Methods → **Australia Post (WebHostingAce)**

### Box Packing (the important part)

[](#box-packing-the-important-part)

Define your real cartons/satchels under **Available Boxes**: name, outer dimensions in cm, maximum content weight and empty-box (tare) weight in kg. Example set:

BoxLWHMax kgTare kgSmall Satchel221670.50.02Small Box22161050.10Medium Box302215100.20Large Box433020220.45Enter **outer** carton dimensions — they are what Australia Post prices on. Wall thickness and packing material are absorbed by the **Fill Factor** (default 90% of volume usable).

Packing strategy per rate request:

1. If all items fit one box, use the **smallest** box that holds them.
2. Otherwise fill the largest suitable box greedily (largest items first) and repeat.
3. Each resulting package is then downsized to the smallest box that holds its contents.
4. Items that fit no box ship as their own package with their own dimensions.
5. With no boxes defined, the whole cart is quoted as a single bounding package (legacy behaviour).

Constraints checked per box: rotation-aware dimensional fit, usable volume (× Fill Factor), max content weight, **and an axis-aligned shelf/layer arrangement check** against the configured box dimensions — pure volume maths would happily put two 6 cm cubes into a 10 cm cube; this module will not. Note the check uses the dimensions as entered (outer), so allow for wall thickness when configuring tight-fitting cartons. The check is deliberately conservative: borderline carts may split into one more box rather than risk an impossible fit. AusPost is quoted once per distinct package size/weight/value and each service's price is summed across packages. A service is only offered when it is available for **every** package.

`Handling Applied = Per Package` applies your handling fee once per packed box.

### Debugging

[](#debugging)

Enable **Debug Logging** to see packing results and raw API traffic in `var/log/debug.log`:

```
[Auspost] Package 1: Medium Box (30.0x22.0x15.0@3.100), 4 item(s)

```

After changing AusPost list prices (or your API key), flush the cache tag: `php bin/magento cache:flush` (responses use the `WEBHOSTINGACE_AUSPOST` tag, TTL configurable, default 86400s).

Notes
-----

[](#notes)

- The store **base currency** should be AUD for Australian stores. On other base currencies the module converts AusPost's AUD rates using your configured currency rates; without an AUD rate, no rates are returned (a warning is logged).
- Dimensions are always centimetres; weight is converted to kg from the module's **Weight Unit** setting (kilograms, grams or pounds — this setting is authoritative over the store locale unit).
- Products with decimal quantities (sold by weight/length) keep their fractional weight; partial quantities ship as one piece with proportional weight.
- Letters: when every cart item has `auspost_package_type = Letter`, letter services are quoted instead of parcels (single letter, summed weight/thickness).
- Cart-price-rule free shipping on individual items exempts those units from packing, matching core carrier behaviour.
- The retail PAC API is rate limited by Australia Post; the built-in response cache keeps checkout traffic well under the limit.

Support
-------

[](#support)

- Website: [www.webhostingace.com.au](https://www.webhostingace.com.au) - Australian Based Magento 2 Developer, Support and Hosting
- Email:
- Bugs and feature requests: [GitHub issues](https://github.com/WebHostingAce/magento2-module-auspost/issues)

Provided as-is, without warranty or guaranteed response times. Please include your Magento version, PHP version and the relevant `var/log/debug.log` lines (with **Debug Logging** enabled) when reporting rate issues.

License
-------

[](#license)

MIT — see [LICENSE](LICENSE). Copyright (c) 2026 Web Hosting Ace.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance100

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

8

Last Release

0d ago

PHP version history (2 changes)1.0.0PHP ~8.1.0||~8.2.0||~8.3.0

1.0.1PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/48896928?v=4)[WebHostingAce](/maintainers/WebHostingAce)[@WebHostingAce](https://github.com/WebHostingAce)

---

Top Contributors

[![WebHostingAce](https://avatars.githubusercontent.com/u/48896928?v=4)](https://github.com/WebHostingAce "WebHostingAce (17 commits)")

---

Tags

shippingmagento2magento 2shipping ratesaustralia-postauspostcarrierbox-packing

### Embed Badge

![Health badge](/badges/webhostingace-module-auspost/health.svg)

```
[![Health](https://phpackages.com/badges/webhostingace-module-auspost/health.svg)](https://phpackages.com/packages/webhostingace-module-auspost)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1131.9M16](/packages/mollie-magento2)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68357.9k](/packages/run-as-root-magento2-prometheus-exporter)[buckaroo/magento2

Buckaroo Magento 2 extension

32420.3k8](/packages/buckaroo-magento2)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50398.5k20](/packages/dotdigital-dotdigital-magento2-extension)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1011.8k26](/packages/loki-magento2-components)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

1310.9k2](/packages/opengento-module-category-import-export)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
