Skip to main content

New Zealand

The Ministry of Business, Innovation and Employment (MBIE) is the Peppol Authority in New Zealand. MBIE has defined specific requirements for service providers offering Access Point (AP) or Service Metadata Publisher (SMP) services in New Zealand; these are published as the Peppol Authority Specific Requirements in the OpenPeppol library.

New Zealand and Australia share a specification. In 2018 the two governments entered into the Australia and New Zealand Government Electronic Invoicing Arrangement for a common approach to eInvoicing, and in 2019 both Prime Ministers announced adoption of the Peppol Interoperability Framework. The two countries established separate Peppol Authorities with mutual recognition of accreditation.

New Zealand and Australia use the same profiles

Everything on this page about CustomizationID, document type IDs and Schematron is identical to the Australia guide. What differs is the regulatory context, the identifier scheme, and โ€” see What GoRoute validates โ€” the fact that GoRoute ships no New Zealandโ€“specific pre-flight checks.

Overviewโ€‹

AspectDetails
Peppol AuthorityMinistry of Business, Innovation and Employment (MBIE)
SpecificationPINT A-NZ Billing Process v1.1.2 (shared with Australia)
Self-billingPINT A-NZ Self-billing Process v1.1.2 (optional specification)
Mandate statusNo B2B mandate. Government Procurement Rules 36 and 44 bind agencies
CurrencyNZD (New Zealand Dollar)
Tax systemGST
Participant scheme0088 (GLN / EAN Location Code โ€” used for the NZBN)
Authority supportsupport@nzpeppol.govt.nz

New Zealand Government Procurement Rulesโ€‹

The New Zealand Government Procurement Rules (5th edition, published by MBIE) contain two rules that matter for e-invoicing. Read the framing carefully:

These rules bind government agencies, not suppliers

Rules 36 and 44 are procurement rules imposed on New Zealand government agencies. They are not statutes that bind suppliers directly. A supplier is affected through its government contracts โ€” because an agency subject to Rule 44.2 must require its large suppliers to submit eInvoices. There is no general B2B e-invoicing mandate in New Zealand.

Rule 44 โ€” eInvoicing capabilityโ€‹

Quoted from the rule:

Agencies that:

  • receive more than 2,000 domestic trade invoices annually must be capable of receiving eInvoices through their primary accounts payable system(s)
  • send more than 2,000 domestic trade invoices annually must be capable of sending eInvoices through their primary accounts receivable system(s).

Agencies must require large suppliers to submit eInvoices.

The two dates in the rule:

RequirementDate
Agencies must meet the requirements of Rule 44.1 to be eInvoice capableby 1 January 2026
Agencies must meet the requirements of Rule 44.2 to require large suppliers to submit eInvoicesfrom 1 January 2027

Rule 44.2 only applies where the agency also meets the Rule 44.1.a threshold of receiving more than 2,000 domestic trade invoices annually.

"Large supplier" has the same meaning as in section 45(b) of the Financial Reporting Act 2013: an entity is large if, in each of the two preceding accounting periods, the total revenue of the entity and its subsidiaries (if any) exceeds $33 million.

Rule 36 โ€” Prompt payment timesโ€‹

Quoted from the rule:

Agencies must pay 95% of:

  • domestic trade eInvoices within 5 business days
  • other domestic trade invoices within 10 business days.

Points that change how you should read that:

  • The payment requirement applies from the day an invoice is entered into an accounts payable system, which may differ from the date on the invoice.
  • It does not apply where the goods, services or works are unsatisfactory or incomplete, where the invoiced amount is in dispute, or where an invoice is incomplete or incorrectly rendered.
  • Agencies report domestic eInvoice and domestic trade invoice payment times to MBIE quarterly, and those figures are made publicly available.

What "domestic" means in both rulesโ€‹

Both rules define domestic the same way: the requested payment is in NZD, for goods or services supplied within New Zealand, by an entity that does business in New Zealand.

Out of scope for both rules: reimbursement of employee expenses; rents and leases; credit card statements, finance payments and insurance premiums; and payments made regularly under an ongoing contract that do not require an invoice, such as progress payments on a roading contract.

Identifier schemesโ€‹

New Zealand Business Number (NZBN)โ€‹

Scheme IDScheme nameFormat
0088EAN Location Code (GLN)13 digits, GS1 GLN format
<cbc:EndpointID schemeID="0088">9429000000000</cbc:EndpointID>

The NZBN is a 13-digit GS1 Global Location Number, and it is addressed on the Peppol network under the existing GLN code 0088. There is no separate "NZBN scheme" in the ISO 6523 ICD code list published with the PINT A-NZ specification โ€” 0088 is listed there as EAN Location Code.

0088 does not identify New Zealand

Unlike Australia's 0151 (AU:ABN), scheme 0088 is international. GoRoute's own reporting code maps 0088 to a placeholder country rather than to New Zealand, because a GLN can belong to a party anywhere in the world. Two consequences:

  1. You cannot infer that a participant is a New Zealand entity from its 0088 endpoint.
  2. GoRoute's participant-scheme-to-country inference does not recognise 0088 as New Zealand, so an NZ party's country must come from the invoice's own address fields, not from its endpoint.

Verify an NZBN against the New Zealand Business Number Register.

A-NZ Peppol profiles (PINT)โ€‹

New Zealand and Australia share the Peppol International (PINT) A-NZ specialisation. GoRoute resolves receivers in both AU and NZ to these profiles.

Billing (invoice and credit note)โ€‹

<cbc:CustomizationID>urn:peppol:pint:billing-1@aunz-1</cbc:CustomizationID>
<cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>
DocumentDocument type ID
Invoiceurn:...:Invoice-2::Invoice##urn:peppol:pint:billing-1@aunz-1::2.1
Credit Noteurn:...:CreditNote-2::CreditNote##urn:peppol:pint:billing-1@aunz-1::2.1

Self-billingโ€‹

<cbc:CustomizationID>urn:peppol:pint:selfbilling-1@aunz-1</cbc:CustomizationID>
<cbc:ProfileID>urn:peppol:bis:selfbilling</cbc:ProfileID>
DocumentDocument type ID
Self-billing Invoiceurn:...:Invoice-2::Invoice##urn:peppol:pint:selfbilling-1@aunz-1::2.1
Self-billing Credit Noteurn:...:CreditNote-2::CreditNote##urn:peppol:pint:selfbilling-1@aunz-1::2.1

The A-NZ self-billing specification is optional, so confirm your counterparty's access point supports it before relying on it. GoRoute resolves A-NZ self-billing documents to the profile above; this page documents A-NZ billing validation only and makes no claim of end-to-end self-billing Schematron coverage.

Specification datesโ€‹

The A-NZ specification transition dates are published on the OpenPeppol Australia country profile, and are cited here from that page because the New Zealand country profile does not restate them:

SpecificationStatus
A-NZ Peppol BIS Billing (invoice)Mandatory until 15 November 2024
PINT A-NZ BillingMandatory from 15 November 2024
A-NZ self-billingOptional

Tax (GST) requirementsโ€‹

New Zealand parties use GST as the TaxScheme ID, not VAT โ€” the same as Australia, Singapore, India and Malaysia in GoRoute's tax-label handling.

<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>GST</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>

The tax category codes are the PINT A-NZ aligned list, shared with Australia:

CodeName / description
SStandard rate
ZZero rated goods
EExempt from tax
GFree export item, tax not charged
OOutside scope of tax
note

GoRoute does not hard-code a New Zealand GST rate. The percentage you send is the percentage that is validated for internal consistency; take the current rate from Inland Revenue, not from this page.

What GoRoute validates for a New Zealand invoiceโ€‹

This section describes real behaviour, traced to product source.

1. There are no New Zealand pre-flight checksโ€‹

GoRoute's country-validation layer dispatches by country code to a per-country method. There are methods for Sweden, Norway, Denmark, Finland, Germany, Italy, the Netherlands, Belgium, Austria, Australia, Singapore, the United Kingdom and Oman. There is no New Zealand method.

The practical consequence:

Buyer countryCountry-layer findings
AustraliaFour โ€” COUNTRY_AU_001 โ€ฆ COUNTRY_AU_004 (ABN length, ABN checksum, ABN required, non-AUD currency warning)
New ZealandNone. Zero country-layer findings are produced

New Zealand is also absent from GoRoute's country-name map and from its participant-scheme-to-country map. If you are moving an integration from AU to NZ, do not expect the NZBN to be format-checked or the currency to be flagged the way an ABN and AUD are. Nothing validates the NZBN before the document reaches Schematron.

Note also that the country layer keys on the buyer's country taken from the invoice, not on any request parameter you set.

2. Schematron is selected from the document, not from a request fieldโ€‹

The PINT A-NZ Schematron pack is chosen by inspecting the document's cbc:CustomizationID. An ID of the form urn:peppol:pint:billing-<n>@aunz-<n> โ€” or urn:peppol:pint:selfbilling-<n>@aunz-<n> โ€” is detected as PINT jurisdiction aunz, and the A-NZ pack runs.

The receiver_country field of the deep-validation request body does not select the Schematron pack. Setting "receiver_country": "NZ" will not cause A-NZ validation of a document whose CustomizationID says otherwise.

3. CEN EN16931 is not run on PINT documentsโ€‹

For a detected PINT document, GoRoute runs the PINT A-NZ Schematron pack instead of CEN EN16931, not in addition to it โ€” the PINT pack already incorporates the adapted EN16931 rules. So an A-NZ invoice returns PINT IBR- rule identifiers, never bare CEN BR- / BR-CO- ones.

PrefixCovers
IBR-nnnCore business rules
IBR-CL-nnCode list rules
IBR-CO-nnCalculation / consistency rules
IBR-SR-nnSyntax and semantic restriction rules

If you receive BR- identifiers for a document you believe is PINT A-NZ, the PINT pack did not run โ€” check your CustomizationID first.

4. Severity gateโ€‹

SeverityResult
fatalReject โ€” is_valid: false
errorReject โ€” is_valid: false
warningPass with a flag โ€” is_valid: true, logged

Validating a New Zealand invoiceโ€‹

import requests

response = requests.post(
"https://app.goroute.ai/peppol-api/api/v1/invoices/validate/deep",
headers={
"X-API-Key": "your_api_key",
"Content-Type": "application/json",
},
json={
"invoice": invoice, # CanonicalInvoice
"include_schematron": True,
"receiver_country": "NZ", # resolves the A-NZ Peppol profile
},
)

result = response.json()
print(result["is_valid"], result["error_count"], result["schematron_version"])

Example invoiceโ€‹

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:peppol:pint:billing-1@aunz-1</cbc:CustomizationID>
<cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>
<cbc:ID>INV-NZ-2026-001</cbc:ID>
<cbc:IssueDate>2026-02-06</cbc:IssueDate>
<cbc:DueDate>2026-03-06</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>NZD</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>PO-AUNZ-2026-002</cbc:BuyerReference>

<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">9429000000000</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0088">9429000000000</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Kiwi Supplies Limited</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>12 Lambton Quay</cbc:StreetName>
<cbc:CityName>Wellington</cbc:CityName>
<cbc:PostalZone>6011</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NZ</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>GST</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:AccountingSupplierParty>

<!-- ... rest of invoice -->
</Invoice>
note

This example is a hand-checked illustration with placeholder identifiers. Nothing in the documentation pipeline validates example XML against the Schematron, so treat it as a shape reference and validate your own documents with the deep-validation endpoint above.

Key differences from Australiaโ€‹

AspectAustraliaNew Zealand
Peppol AuthorityAustralian Taxation Office (ATO)Ministry of Business, Innovation and Employment (MBIE)
Participant scheme0151 (AU:ABN), country-specific0088 (GLN), not country-specific
Country inferred from schemeYesNo
GoRoute pre-flight country checksFour (COUNTRY_AU_001โ€“COUNTRY_AU_004)None
CurrencyAUDNZD
Tax scheme IDGSTGST
SpecificationPINT A-NZPINT A-NZ (identical)

Resourcesโ€‹

New Zealand Peppol Authority support: support@nzpeppol.govt.nz

Next stepsโ€‹

Further readingโ€‹

Ready to build? The free developer sandbox gives you test credentials and a registered participant, provisioned within 24 hours on business days. Recorded ERP integration walkthroughs are on the tutorials page.