Australia NPP PayTo
Initiate NPP PayTo payment agreements (mandates) and real-time payments straight from Odoo — using your own bank's API credentials (BYOK)
PayTo is the Australian New Payments Platform service that replaces the old direct-debit experience: every payer authorises a payment agreement (mandate) up front, held in the NPP Mandate Management Service, and you then settle real-time payments against it. This module turns Odoo into your PayTo back office — you build the exact ISO 20022 messages your bank expects and lodge them through your own bank channel. Your data never leaves your database.
What it generates
Mandate Initiation — mndt.001
Create a brand-new PayTo agreement: payer, your collecting
account, the maximum amount each cycle, the frequency and the
validity window. The message is built to the published ISO 20022
mndt.001.001.07 MandateInitiationRequest layout.
Mandate Amendment — mndt.002
Vary an established agreement — raise the cap, change the
frequency or the counterparty account — as a
mndt.002.001.07 MandateAmendmentRequest that quotes the
agreement's PARN.
Mandate Cancellation — mndt.003
Cancel an agreement with a mndt.003.001.07
MandateCancellationRequest carrying its PARN and an ISO reason
code.
Real-Time Payment — pacs.008
Settle a payment under an active agreement as a
pacs.008.001.08 FIToFICustomerCreditTransfer, with the
amount validated against the agreement maximum before the message is
built.
Key features
- PayID and BSB addressing. Address payer and creditor accounts by BSB + account number or by a registered PayID — email, phone, ABN or organisation ID.
- Real ABN checksum. ABN PayIDs pass the official Australian Business Register weighting algorithm before they are written into a message.
- Phone normalisation. Mobile PayIDs are normalised to
E.164
+61form automatically. - Amount caps enforced. A payment that exceeds the agreement's maximum is rejected before any file is produced.
- Frequencies. Ad hoc, daily, weekly, fortnightly, monthly, quarterly, half-yearly and yearly agreements.
- BSB validation & state. Every BSB is checked for the correct six-digit structure and its state is surfaced.
- PARN lifecycle. Record the Payment Agreement Reference Number your bank returns; amendments, cancellations and payments all quote it.
- Full audit trail. Every generated message is logged in the record chatter and downloadable as a standalone XML file.
ISO 20022 messages at a glance
| Action | ISO 20022 message | Identifier |
|---|---|---|
| Create agreement | MandateInitiationRequest | mndt.001.001.07 |
| Amend agreement | MandateAmendmentRequest | mndt.002.001.07 |
| Cancel agreement | MandateCancellationRequest | mndt.003.001.07 |
| Settle payment | FIToFICustomerCreditTransfer | pacs.008.001.08 |
How it works
- Configure your initiating party and your own collecting (creditor) account under Settings > NPP PayTo.
- Create a PayTo Agreement for a customer, set the payer's account or PayID, the maximum amount and the frequency, then build the mndt.001 initiation message.
- Lodge the message through your own bank's PayTo channel and record the PARN the bank returns.
- Mark the agreement Active and initiate real-time payments against it; each one builds a pacs.008 you upload to your bank.
- Vary or cancel the agreement at any time with the mndt.002 / mndt.003 messages.
BYOK — bring your own bank credentials
This module is a format generator. It produces the ISO 20022 payloads NPP PayTo requires and lets you download them; you transmit them to the New Payments Platform through your own financial institution's PayTo API or portal using your institution's own credentials. The module is not a payments gateway, is not an accredited NPP participant, and sends nothing to any third party on your behalf. Compatible with Odoo 18 and Odoo 19.
Screenshots
Agreements
Payments
Update date: 2026-07-02