CSV Exporter for Australia Post - WordPress Plugin
Export selected WooCommerce orders as native Australia Post Domestic and International bulk shipping CSVs.
Installation Instructions
- 1. Download: You've already downloaded the plugin! The file
csv-exporter-for-australia-post_4.1.1.zipcontains the complete plugin.
- 2. Upload to WordPress:
- Login to your WordPress admin dashboard
- Navigate to Plugins → Add New
- Click Upload Plugin at the top of the page
- Choose the
csv-exporter-for-australia-post_4.1.1.zipfile - Click Install Now
- 3. Activate:
- After installation, click Activate Plugin
- 4. Configure:
- Go to WooCommerce → Settings → Shipping → AusPost CSV Exporter
- Set your sender (Send From) details
- Set item/package defaults (description, package length & width, minimum height, packing efficiency, weight)
- If you ship internationally, set customs defaults: HS Tariff (HTS), Export Declaration Number (EDN), reason for export and country of origin
- 5. Export several orders:
- Go to WooCommerce → Orders
- Tick the orders you want to ship
- Choose "Export AusPost manifest" from the *Bulk actions* dropdown and Apply
- Download the Domestic and/or International CSV that appears
- Upload each file to the Australia Post bulk shipping tool
- 6. Export a single order:
- Open the order
- Choose "Export AusPost manifest" from the Order actions box and click the arrow (or Update) to run it
- The same download button appears at the top of the order screen
Notes
- Sender details must be set before the first export. The plugin ships with the "Send From" block empty rather than guessing, so a new install has no return address until you fill one in under WooCommerce -> Settings -> Shipping -> AusPost CSV Exporter. Until Name, Address Line 1, Suburb, State and Postcode are set, the export stops and links you to the settings screen instead of producing a manifest Australia Post would reject on upload.
- Customs details must be set before the first international export. The Item Description, HS Tariff Code and Export Declaration Number also start empty, because no value is true for every store. Until all three are set, the International download is replaced by a notice linking to the settings screen. Domestic orders in the same export still download as normal. There is no general-purpose HS code: use the one for what you sell. Parcels to the United States need the full 10-digit code, since Australia Post returns US-bound parcels carrying 6 or 8 digits. The same code written with dots (for example
7117.90.00) is accepted as the EDN. Describe the goods specifically: EU customs rejects vague descriptions such as "goods" or "merchandise".
- Where the export runs from. The *Bulk actions* dropdown on the Orders list handles any number of orders; the Order actions box on a single order's edit screen exports just that one. Both route the order to the Domestic or International manifest by destination and offer the same download button. Running the order action saves the order, exactly as WooCommerce's built-in order actions do.
- Package height is calculated by packing the order into the configured package length x width footprint: each product's volume (length x width x height x quantity) is totalled, divided by the packing efficiency to allow for air between items, and spread across the base area. A product missing its length or width has no known footprint, so its height is stacked instead. The result is raised to the configured minimum package height whenever it falls below it. A variation with no dimensions of its own inherits its parent's.
- The parcel is never shallower than the product it has to contain. Spreading volume across the base works for lots of small flat pieces, but on its own it would flatten a single bulky item: one 15 x 7 x 7 cm product is 735 cm3, which is barely 2 cm across an 18 x 24 cm base. Every product is therefore also measured in its best-fitting orientation - each dimension in turn tried as the upright one, keeping the shallowest whose other two dimensions still fit the base - and the exported height clears the tallest of those. That 15 x 7 x 7 cm product lies on its 15 x 7 face and gives a 7 cm parcel.
- A product too big for the configured base makes the parcel taller, since it can only stand on end: a 30 cm item against an 18 x 24 cm base exports a 30 cm height. If that happens, the Package Length and Package Width settings describe a satchel your products don't actually fit in, and want raising.
- Item Length, Width and Height are exported as whole centimetres. Australia Post rejects any dimension with more than 4 integral digits or more than 1 decimal place ("Item Height is in error"), which a calculated measurement such as 9.18 or 13.65 would otherwise trip.
- Weights are summed from the order's product weights and rounded to Australia Post's maximum of 3 decimal places (never zero).
- Item Weight never falls below the parcel contents it declares. On international manifests each content line's per-unit weight is rounded up to Australia Post's 0.001 kg floor, so a parcel of many sub-gram pieces can declare more across its contents than the summed order weight - which Australia Post rejects with *"the input shipment request is invalid for item content weight"*. The exported Item Weight is the larger of the two.
- Parcel content values export as whole currency units of at least 1. Australia Post rejects anything lower with *"Parcel Contents - Value is in error. The Unit value must be at least 1"*, which free or fully discounted lines would otherwise trigger.
- Product dimensions and weights are converted from your store's units (WooCommerce -> Settings -> Products), so a store measuring in mm or grams exports correct centimetres and kilograms.
- Signature on delivery is resolved in three steps, most specific first.
- 1. The order's own choice. Set the Signature Order Meta Key to the meta key your checkout checkbox saves to. It is read from the order and from the order's shipping line, so a flag attached to the chosen shipping method is picked up either way. The keys
_apcsv_signature,_clk_auspost_signature,_signature_on_deliveryandsignature_on_deliveryare also recognised automatically. Values such as1,yesandtruemean YES;0,no,offand an empty value mean NO. An unticked checkbox therefore exports NO rather than falling through to the default. - 2. The shipping method. Any method selected under Shipping Methods Requiring A Signature exports YES. Useful where the signature is a property of the service rather than a customer choice, for example an Express rate that always requires one.
- 3. The configured default, when neither of the above applies.
Developers can override the result entirely with the apcsv_order_signature filter, or change which meta keys are consulted with apcsv_signature_meta_keys. The pre-3.0.0 filter names (clk_auspost_order_signature, clk_auspost_signature_meta_keys) still fire.
- Deliver To falls back to the billing address when an order has no shipping address at all, so stores that do not force one still export a usable recipient instead of blank columns. A partially filled shipping address is never mixed with billing data: it is one or the other.
- The Schedule 8 declaration is filled in for you. Australia Post requires every domestic parcel to state whether it contains Schedule 8 or medicinal cannabis. When the column is absent, MyPost accepts the upload but then asks for the answer again the moment you open the order to edit it, one order at a time. The exporter writes the column with the value set under Schedule 8 Or Medicinal Cannabis (No by default). Australia Post rejects any bulk import declaring Yes, so parcels that genuinely contain S8 medication have to be lodged through a StarTrack account instead. The column is domestic only: it appears in Australia Post's combined International & Domestic template because that file is a superset of the domestic one, and MyPost never asks for it on an international order.
- Business and recipient names are trimmed to Australia Post's 40-character limit to avoid import errors.
Pro add-on
CSV Exporter Pro for Australia Post is a separate, paid add-on. It adds customs descriptions and HS codes per product, variation or category (including 10-digit US codes), marks orders as exported and warns before a duplicate upload, and imports tracking numbers back onto orders from a CSV. This plugin keeps every feature described above without it.
For developers
| Hook | Type | Arguments |
|---|---|---|
apcsv_content_line |
filter | $line (description, weight, value, quantity, origin, tariff), $item, $product, $order |
apcsv_order_description |
filter | $description, $order, $contents |
apcsv_order_edn |
filter | $edn, $order, $contents |
apcsv_customs_missing |
filter | $missing (option key => label), $order_ids |
apcsv_delivery_address |
filter | $address, $order |
apcsv_order_signature |
filter | $signature (YES/NO), $order |
apcsv_signature_meta_keys |
filter | $keys |
apcsv_export_ready |
action | $data (domestic and international order ids) |
apcsv_exported |
action | $orders, $type (domestic or international) |
WordPress.org
The plugin is being published to the WordPress.org directory as CSV Exporter for Australia Post. That copy and this download are the same plugin in the same folder, so once it is listed, WordPress offers the directory's updates to a copy installed from here as well.
Requirements
- WordPress: 5.0 or higher
- WooCommerce: 3.0 or higher
- PHP: 7.4 or higher
Support
- Documentation: Built into the plugin settings screen
- Email Support: support@bloodweb.net
License
This plugin is licensed under GPLv2 or later. You are free to use, modify, and distribute this plugin.
© 2026 Jack Ewers / BloodWeb.net