New Zealand Post & CourierPost Connector for Odoo
Generate NZ Post and CourierPost shipping labels and track parcels - using your own NZ Post API keys (BYOK)
Ship with NZ Post & CourierPost straight from Odoo
This module turns any outgoing Odoo delivery into a New Zealand Post or CourierPost parcel: it builds the label request, receives the allocated tracking number, gives you a scannable printable waybill, and keeps the delivery status in sync. It is a bring-your-own-key (BYOK) connector — you paste the NZ Post developer credentials issued to your business account, and every request goes straight to the NZ Post endpoint you configure. No middleware, no third-party relay, no reselling of your account.
Label Generation (ParcelLabel API)
Generate an NZ Post / CourierPost label from a stock picking in
one click via NZ Post's current ParcelLabel API
(POST /parcellabel/v3/labels). The connector builds
the request (sender, destination, parcel dimensions in
millimetres, weight in kilograms, service code) and stores the
returned consignment reference and label link on the delivery.
Tracking (ParcelTrack API)
Query NZ Post's current ParcelTrack API
(GET /parceltrack/3.0/parcels/…) for the scan
history of a parcel. A built-in scheduled action refreshes the
status of all open shipments, and a one-click link opens the
public NZ Post tracking page for any parcel.
CourierPost & ParcelPost Services
Choose from CourierPost Overnight, CourierPost Economy, ParcelPost Tracked and International Economy products. The service code is an editable default so you can match the exact code on your NZ Post contract, and signature-required delivery is a per-carrier toggle.
Printable Waybill
Preview and print a self-contained HTML waybill with sender and receiver blocks, parcel metrics and a real Code128 barcode of the tracking number rendered as inline SVG — no external print service required.
Built for New Zealand
| Tracking number format | UPU S10 (two letters + nine digits + NZ, e.g. RA123456785NZ) with a verified S10 check digit, plus numeric CourierPost ticket references. |
|---|---|
| Postcodes | Four-digit New Zealand postcodes validated with the significant leading zero preserved. |
| Units | Parcel dimensions converted from Odoo centimetres to the millimetres the NZ Post Label API expects; weight in kilograms. |
| Parcel limits | Enforces NZ Post single-item limits (max 25 kg, max 1.5 m single dimension) before booking. |
| Carriers | CourierPost and NZ Post ParcelPost networks, with the source carrier recorded on every tracking update. |
Feature Highlights
- One-click label generation from any outgoing delivery.
- Tracking number, label UUID and label PDF link stored on the picking.
- Scheduled status refresh and public tracking link.
- Label cancel / void by label UUID before lodgement.
- Printable Code128 waybill preview wizard.
- Full API call log (request, response, status, duration) for auditing.
- Per-carrier BYOK credentials — your keys never leave your database except to NZ Post.
- Connection test button to verify your credentials.
How it works (BYOK)
Create a shipping method under Inventory > Configuration > Shipping Methods with Provider = NZ Post / CourierPost, then enter your own NZ Post OAuth2 client ID and client secret (issued by the NZ Post Developer Portal) and your account number. The connector exchanges your credentials for a short-lived bearer token (client_credentials grant) and sends every ParcelLabel / ParcelTrack request directly to the NZ Post host you configure. This module is not affiliated with New Zealand Post; it is an integration that uses your own NZ Post developer account.
Screenshots
Api Log
Settings
Update date: 2026-07-02