Contents


Summary: Bulk MPIR File Payload and Processing Outcome

This document outlines the handling of Bulk Mandate Payment Initiation Requests (Bulk MPIR) submitted via file to ANZ’s Fileactive platform. It provides a detailed structure for creating, submitting, and processing bulk payment initiation requests and explains the status codes used for tracking their progress.

Bulk MPIR Overview

Bulk MPIR allows multiple payment requests to be submitted in a single file. These payments are aggregated and processed together, with details like user ID, payment amounts, and creditor information included in each transaction. The bulk process supports up to 50,000 transactions per file, with each transaction uniquely identified and tracked.


File Structure

The Bulk MPIR File Payload is based on the ISO20022 NPP API Batch Payment Initiation (pain.a46.001.03) format. Key elements include:

  • request_type: Defines the type of request (e.g., BULKMPIR).
  • creation_date_time: The timestamp of when the MPIR request is created.
  • mps_user_id: The unique ID of the user submitting the MPIR.
  • batch_identification: A unique ID assigned to the entire batch of transactions.
  • instruction_details: An array of transaction details, including instruction_identification, end_to_end_identification, and mandate_identification.

Return to Top

Specification

  • JSON schema based on ISO 20022 NPP API Batch Payment Initiation (pain.a46.001.03)
  • Payload to be encrypted by customer before sending to ANZ.
Level Name Type/Code Description Sample Value M/O/C Additional Comments
1.0 request_type string(15) Type of request being submitted via file BULKMPIR M Used only within Fileactive
2.0 creation_date_time string(datetime) Date and time at which the MPIR request was created. 2023-09-19T15:01:20.246Z M ISODateTime in UTC
3.0 requested_execution_date string(date) Date on which MPIR should be executed 2023-09-19 M ISO Date
4.0 mps_user_id string(10) MPS User ID under which the MPIR is submitted. Must match the MPS User ID linked to the Mandate. 10002005 M  
5.0 priority string(15) Indicates whether the Bulk MPIR is attended or unattended UNATTENDED M Only UNATTENDED is supported for Bulk MPIR
6.0 batch_identification string(35) Unique identification for the payment batch. 1465ed96b65711edafa10242ac120002 M Fileactive will replace this identifier with its own batch identifier.
7.0 number_of_transactions integer(15) Number of individual transactions contained in the instruction_details group. 1-50000 M No decimal or negative numbers allowed.
8.0 instruction_details array of aggregates Instruction details specific to MPIR   M Minimum = 1, Maximum = 50000
9.1 instruction_identification string(35) Unique identification for the instruction. 1465ed96b65711edafa10242ac120002 M If UUID, omit dashes to keep length within 35 characters.
10.1 end_to_end_identification string(35) Unique identification assigned by the initiating party to identify the transaction. BILL00237711 M Echoed back in MPIR Processing Outcome and BTR/RTN.
11.1 uetr string(36) Universally unique identifier for an end-to-end payment transaction. 2f0bfae0-c9a6-4768-8564-5d3d2d73a7e8 O Echoed back in MPIR Processing Outcome and BTR/RTN.
12.1 mandate_identification string Mandate ID as provided by MMS. 32e21360c36a11eda4d67378abcec396 M  
13.1 instructed_amount aggregate Instructed Amount   M  
14.2 currency string(3) Currency Code AUD M Only AUD supported
15.2 amount string(19) Currency Amount 100.00 M  
16.1 creditor_information aggregate Information concerning a creditor party identified in the MPIR.   O If not provided, will be taken from Mandate by ANZ.
17.2 party_name string(140) Name by which the party is known and which is used to identify that party. Barney Rubble M  
18.2 ultimate_party_name string(140) Name by which the ultimate party is known and which is used to identify that party. Barney Rubble M  
19.2 account_identification_type_code string(4) Type of account identification (e.g., BBAN - Basic Bank Account Number). BBAN M Only BBAN allowed
20.2 account_identification string(34) Unique and unambiguous identification of the account (e.g., Basic Bank Account Number with BSB). 01312367800234 M  
21.1 remittance_information_unstructured array of strings(140) Information to enable matching/reconciliation of an entry. Lorem ipsum dolor sit amet. O Maximum 2 elements

Return to Top

Sample Payload

{
    "request_type": "BULKMPIR",
    "creation_date_time": "2023-09-19T15:01:20.246Z",
    "requested_execution_date": "2023-09-19",
    "mps_user_id": "10002005",
    "priority": "UNATTENDED",
    "batch_identification": "TC124",
    "number_of_transactions": "2",
    "instruction_details": [
        {
            "instruction_identification": "TC124/1471873911",
            "end_to_end_identification": "BILL00237711",
            "uetr": "2f0bfae0-c9a6-4768-8564-5d3d2d73a7e8",
            "mandate_identification": "32e21360c36a11eda4d67378abcec396",
            "instructed_amount": {
                "currency": "AUD",
                "amount": "100.00"
            },
            "creditor_information": {
                "party_name": "Barney Rubble",
                "ultimate_party_name": "Barney Rubble",
                "account_identification_type_code": "BBAN",
                "account_identification": "01312367800234"
            },
            "remittance_information_unstructured": [
                "Lorem ipsum dolor sit amet.",
                "In velit turpis, pretium eu diam."
            ]
        },
        {
            "instruction_identification": "TC124/1581974022",
            "end_to_end_identification": "BILL0038712",
            "uetr": "bf027a4e-8350-4113-a326-b9b820a99e4e",
            "mandate_identification": "d290193889b311eeb9d10242ac120002",
            "instructed_amount": {
                "currency": "AUD",
                "amount": "5100.22"
            },
            "remittance_information_unstructured": [
                "Car loan repayment"
            ]
        }
    ]
}

Return to Top —-

Processing Outcome

Note: This table covers the mapping for Bulk MPIR Processing Outcome.

  • JSON schema based on ISO 20022 NPP API Batch Payment Status (pain.a47.001.01)
# Level Name Type/Code Description Sample Value M/O/C Additional Comments
1 0 request_type string(15) Type of request being submitted via Fileactive. BULKMPIRPO M  
2 0 message-identification string(36) Point to point reference assigned by the instructing party to identify the message. 3d003c66-2d00-4092-8d8a-e55ba9bf8b2b M  
3 0 creation_date_time string(datetime) Timestamp when the event is generated (ISO UTC). 2023-03-16T00:57:02.530Z M  
4 0 mps_user_id string(10) MPS User ID under which Bulk MPIR was submitted. 10002005 O  
5 0 priority string Indicates whether Bulk MPIR is attended or unattended. UNATTENDED O Only UNATTENDED will be supported.
6 0 batch_identification string(35) Unique identification assigned by the instructing party for the payment batch. 1465ed96b65711edafa10242ac120002 O Bulk MPIR
7 0 original_number_of_transactions integer(15) Number of individual transactions in the Bulk MPIR. 50000 O  
8 0 batch_status string(4) Batch status: RCVD (received), PDNG (pending), ACTC (accepted), ACSC (settlement complete), RJCT (rejected), PART (partially completed). ACSC M  
9 0 batch_status_reason_code string(4) Transaction reason code for RJCT status.   O Refer to ISO ExternalStatusReason1Code list.
10 0 batch_status_additional_information array of strings(105) RJCT Reason Description or status for non-RJCT Batch Status.   O  
11 0 transaction_status_details array of aggregates Details concerning the status of the individual transactions.   O  
12 1 transaction_status string(4) Transaction Status: ACSC (settlement completed), RJCT (rejected). ACSC M  
13 1 transaction_status_reason_code string(4) Transaction reason code for RJCT.   O  
14 1 transaction_status_additional_information array of strings(105) RJCT Reason Description or status for non-RJCT Transaction Status.   O  
15 1 instruction_identification string(35) ID assigned by ANZ. ANZBAU3LXXXI20230621900000000011200 O ANZ Processing Outcome
16 1 uetr string(UUID) Universally unique identifier. a690be37-9caf-44e4-bae1-475b50a8cb18 O MPIR
17 1 account_servicer_reference string(35) Unique reference, as assigned by the account servicing institution, to unambiguously identify the instruction. MPS123456789 O ANZ Processing Outcome
18 1 clearing_system_reference string(35) Unique reference, as assigned by a clearing system, to unambiguously identify the instruction. CUSCAU2SXXXN20230403000139150001900 O ANZ Processing Outcome
19 1 acceptance_date_time string(datetime) Point in time when the payment order from the initiating party meets the processing conditions of the account servicing agent. 2023-06-13T15:01:20.246Z O ANZ Processing Outcome
20 1 original_transaction_reference aggregate     O  
21 2 original_instruction_identification string(35)   TC121/1471873823 O MPIR
22 2 instructed_amount aggregate     O  
23 3 currency string(3)   AUD M MPIR
24 3 amount string(19)   1000.00 M MPIR
25 2 mandate_identification string(35)   247de1c0c3a911edafa10242ac120002 O MPIR
26 2 creditor_name string(140)   Barney Rubble O ANZ Processing Outcome
27 2 creditor_ultimate_name string(140)   Barney Rubble O ANZ Processing Outcome
28 2 creditor_account_identification string(34) Creditor Account Number, inclusive of BSB. 01312367800234 O ANZ Processing Outcome

Return to Top

Example Processing Outcome Payload

{
    "request_type": "BULKMPIRPO",
    "message_identification": "2bdf5f5f-469e-4f93-91fb-d61a934c8d01",
    "creation_date_time": "2024-02-27T04:47:32.131Z",
    "mps_user_id": "89898989",
    "priority": "UNATTENDED",
    "batch_identification": "TC124",
    "original_number_of_transactions": 2,
    "batch_status": "PART",
    "transaction_status_details": [
        {
            "transaction_status": "RJCT",
            "transaction_status_reason_code": "FF10",
            "transaction_status_additional_information": [
                "400: Bad Request"
            ],
            "original_transaction_reference": {
                "original_instruction_identification": "TC124/1471873911",
                "instructed_amount": {
                    "currency": "AUD",
                    "amount": "3.36"
                },
                "mandate_identification": "32e21360c36a11eda4d67378abcec396"
            }
        },
        {
            "transaction_status": "ACSC",
            "instruction_identification": "ANZBAU3LXXXI20230621900000000011200",
            "account_servicer_reference": "MPS123456789",
            "clearing_system_reference": "CUSCAU2SXXXN20230403000139150001900",
            "acceptance_date_time": "2023-03-16T00:57:02Z",
            "original_transaction_reference": {
                "original_instruction_identification": "TC124/1471873912",
                "instructed_amount": {
                    "currency": "AUD",
                    "amount": "214.00"
                },
                "mandate_identification": "32e21360c36a11eda4d67378abcec399",
                "creditor_name": "Barney Rubble2",
                "creditor_ultimate_name": "Barney Rubble 2Party Name",
                "creditor_account_identification": "01312367800236"
            }
        }
    ]
}

Return to Top

Status Reason Code Mapping

Status Status Code Status Description Reporting Level
RJCT TD03 Incorrect File Structure Batch
RJCT NARR MPS User ID is Invalid Batch
RJCT DUPL Duplicate Bulk MPIR file received (File Name: [{filename}]) Batch
RJCT FF10 Invalid message body Batch
RJCT FF10 Missing field or incorrect field length Batch
RJCT FF10 Item count is incorrect and/or Batch ID Mismatch Batch
ACTC Not Mapped Processing - Released from Warehouse Batch
WARE Not Mapped Warehoused Batch
RJCT NARR Division is invalid. Contact the ANZ Customer Service Centre. Batch
RJCT NARR Product is not entitled. Contact the ANZ Customer Service Centre. Batch
RJCT NARR MPS User is invalid. Contact the ANZ Customer Service Centre. Batch
RJCT AM21 Daily MPIR pay-away limit exceeded. Your daily limit is AUD XXX,XXX.XX. Available limit (as at “Time in HH:MM:SS in Melbourne/Sydney Time” on “MPIR Date”): AUD XXX,XXX.XX Batch
RJCT CH04 Payment date is in the past and invalid. Batch
RJCT CH03 Payment date is in the future and invalid. Batch
PART (batch) Partially completed Batch
RJCT (item) 400: Bad Request Item
RJCT DU05 409: Duplicate Instruction ID Item
RJCT AC02 Invalid Debtor Account Item
RJCT AC03 Creditor Account number invalid or missing Item
RJCT AC06 Creditor account blocked Item
RJCT AC07 Closed Creditor Account number Item
RJCT AM01 Specified message amount is equal to zero Item
RJCT AM03 Not Allowed Currency Item
RJCT AM09 Wrong Amount Item
RJCT AVED After Validity End Date Item
RJCT BE22 Creditor name is missing Item
RJCT BVSD Before Validity Start Date Item
RJCT CH03 Requested Execution Time is too far in the future Item
RJCT FF10 Bank System Processing Error Item
RJCT MCGP MGCR In Grace Period Item
RJCT MD01 No mandate Item
RJCT NACT Not Active Item
RJCT NAUT Unauthorized Mandate Item
ACSC Not Mapped Accepted Settlement Completed - Debtor Account Item
ACSP Not Mapped Accepted Settlement In Process Item
RJCT AB01 Aborted Clearing Timeout Item
RJCT AB02 Aborted Clearing Fatal Error Item
RJCT AB03 Aborted Settlement Timeout Item
RJCT AB04 Aborted Settlement Fatal Error Item
RJCT AB08 Offline Creditor Agent Item
RJCT AC02 Invalid Debtor Account Number Item
RJCT AC03 Invalid Creditor Account Number Item
RJCT AC05 Closed Debtor Account Number Item
RJCT AC06 Blocked Account Item
RJCT AC07 Closed Creditor Account Number Item
RJCT AC13 Invalid Debtor Account Type Item
RJCT AC14 Invalid Creditor Account Type Item
RJCT AC15 Account Details Changed Item
RJCT AG01 Transaction Forbidden Item
RJCT AG03 Transaction Not Supported Item
RJCT AG07 Unsuccessful Direct Debit Item
RJCT AGNT Incorrect Agent Item
RJCT AM01 Zero Amount Item
RJCT AM02 Not Allowed Amount Item
RJCT AM03 Not Allowed Currency Item
RJCT AM04 Insufficient Funds Item
RJCT AM06 Too Low Amount Item
RJCT AM09 Wrong Amount Item
RJCT AM12 Invalid Amount Item
RJCT AM19 Invalid Group Number Of Transactions Item
RJCT AM21 Limit Exceeded Item
RJCT BE05 Unrecognized Initiating Party Item
RJCT BE06 Unknown End Customer Item
RJCT BE08 Missing Debtor Name Item
RJCT BE22 Missing Creditor Name Item
RJCT CH20 Decimal Points Not Compatible With Currency Item
RJCT CH21 Required Compulsory Element Missing Item
RJCT CURR Incorrect Currency Item
RJCT CUST Requested By Customer Item
RJCT DT02 Invalid Creation Date Item
RJCT DT04 Future Date Not Supported Item
RJCT ED05 Settlement Failed Item
RJCT ED06 Settlement System Not Available Item
RJCT FF04 Invalid Service Level Code Item
RJCT FF08 Invalid End-To-End ID Item
RJCT FF10 Bank System Processing Error Item
RJCT FF11 Clearing Request Aborted Item
RJCT FRAD Fraudulent Origin Item
RJCT G005 Delivered With Service Level Item
RJCT G006 Delivered Without Service Level Item
RJCT MD01 No Mandate Item
RJCT MD02 Missing Mandatory Information In Mandate Item
RJCT MD20 Mandate Expired Item
RJCT MS02 Not Specified Reason - Customer Generated Item
RJCT MS03 Not Specified Reason - Agent Generated Item
RJCT NARR Narrative Item
RJCT NAUT Unauthorized Mandate Item
RJCT RC05 Invalid BIC Identifier Item
RJCT RR02 Missing Debtor Name Or Address Item
RJCT RR03 Missing Creditor Name Or Address Item
RJCT RR04 Regulatory Reason Item
RJCT SL01 Specific Service Offered By Debtor Agent Item
RJCT SL11 Creditor Not On Whitelist Of Debtor Item
RJCT SL13 Maximum Number Of Direct Debit Transactions Exceeded Item
RJCT SL14 Maximum Direct Debit Transaction Amount Exceeded Item
RJCT TD03 Incorrect File Structure Item
RJCT TM01 Invalid Cut-Off Time Item
RJCT NARR Item

Return to Top