---
title: BPAY Receivables Report
slug: api/bpay-receivables-report
docTags: 
createdAt: 2026-09-28T06:18:59.720Z
---

{
  "id": "wQzW3TJgiohjeq7HpyT-l",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.mpay.com.au/bpay/v1/bpayInReport/{date}",
    "servers": [
      {
        "url": "https://api.mpay.com.au/bpay/v1/bpayInReport/{date}",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/bpay/v1/bpayInReport/{date}",
        "description": "Sandbox URL"
      }
    ],
    "name": "BPAY Receivables Report",
    "description": "<p>Returns a report of all received BPAY transactions for the day with associated details. If requested multiple times on the current date (calendar day, AEDT), the report is cumulative. E.g. if, on the same day, a report is requested at 10am and another one at 1pm, the report at 1pm will contain all the transactions already contained in the 10am report, in addition to any new transactions.</p>\n<p>The report is an application/octet-stream, columns are comma separated. Where a comma (,) or double quote (\") is present in any of the below fields, the field will be encased in double quotes and/or escaped as per RFC4180.</p>\n<p>Report format: <a href=\"https://developer.monoova.com/receivables-reporting#report-format\" target=\"_blank\">https://developer.monoova.com/receivables-reporting#report-format</a></p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "date",
          "type": "string",
          "example": "2026-08-24",
          "description": "<p><strong>Required</strong>. Format: 'yyyy-MM-dd'. The date for which Monoova received the BPAY Receivable transactions.</p>",
          "default": "2026-08-24",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      ],
      "headerParameters": [],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "skip",
          "type": "string",
          "example": "1",
          "description": "<p><strong>Optional</strong>. Number of records to skip. 1 is the first record. Use together with take to page through large reports.</p>",
          "default": "1",
          "pattern": "^\\d{1,9}$"
        },
        {
          "kind": "optional",
          "name": "take",
          "type": "string",
          "example": "1000",
          "description": "<p><strong>Optional</strong>. Number of records to take in a single call.</p>",
          "default": "1000",
          "pattern": "^\\d{1,5}$"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "basicAuth",
          "name": "basicAuth",
          "kind": "optional",
          "type": "http",
          "description": "<p>To authenticate using basic authentication, generate an API key and pass it as the username. No password is required.</p>",
          "scheme": "basic"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "200 OK. Successful validation. The report was generated and returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "BPAY Receivables Report response.",
            "customType": "bPayInReportResponse_V1",
            "schema": [
              {
                "name": "bpayInTransactions",
                "kind": "optional",
                "type": "array",
                "description": "<p>BPAY In transaction details, one entry per received BPAY payment.</p>",
                "modelRef": "#/components/schemas/bpayInTransactions",
                "customType": "bpayInTransactions[]",
                "schema": [
                  {
                    "name": "transactionId",
                    "kind": "optional",
                    "type": "string",
                    "description": "Monoova generated unique ID for the transaction.",
                    "example": "TR12345678",
                    "default": "TR12345678",
                    "pattern": "^[A-Za-z0-9]{1,12}$"
                  },
                  {
                    "name": "batchId",
                    "kind": "optional",
                    "type": "string",
                    "description": "Payment batch ID. Payments come in batches throughout the day.",
                    "example": "BPB0000456",
                    "default": "BPB0000456",
                    "pattern": "^[A-Za-z0-9]{1,20}$"
                  },
                  {
                    "name": "dateTime",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Date and time the transaction was received, AEDT, Sydney. Format: 'yyyy-MM-ddTHH:mm</p><div></div>'.<p></p>",
                    "example": "2026-08-24T09:30:00",
                    "default": "2026-08-24T09:30:00",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"
                  },
                  {
                    "name": "paymentType",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Payment type. Possible values: 'Payment', 'Error Correction' or 'Reversal'.</p>",
                    "example": "Payment",
                    "default": "Payment",
                    "pattern": "^(Payment|Error Correction|Reversal)$"
                  },
                  {
                    "name": "payerInstitutionCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "PayerInstitutionCode. The BPAY code of the financial institution the payer paid from.",
                    "example": "CBA",
                    "default": "CBA",
                    "pattern": "^[A-Za-z0-9]{1,10}$"
                  },
                  {
                    "name": "payerState",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Payer state. The Australian state or territory recorded against the payer, for example 'NSW'.</p>",
                    "example": "NSW",
                    "default": "NSW",
                    "pattern": "^[A-Za-z]{2,3}$"
                  },
                  {
                    "name": "customerReferenceNumber",
                    "kind": "optional",
                    "type": "string",
                    "description": "Customer reference number quoted by the payer when making the BPAY payment.",
                    "example": "123456789012",
                    "default": "123456789012",
                    "pattern": "^[0-9]{2,20}$"
                  },
                  {
                    "name": "paymentMethod",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Payment method used by the payer, for example 'Internet' or 'Telephone'.</p>",
                    "example": "Internet",
                    "default": "Internet",
                    "pattern": "^[A-Za-z ]{1,40}$"
                  },
                  {
                    "name": "amount",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>Payment amount in AUD, 2 decimal places for cents.</p>",
                    "example": 150,
                    "default": 150,
                    "pattern": "^\\d{1,9}\\.\\d{2}$"
                  },
                  {
                    "name": "transactionReferenceNumber",
                    "kind": "optional",
                    "type": "string",
                    "description": "Transaction reference number allocated to the BPAY payment.",
                    "example": "BPAYREF0001234",
                    "default": "BPAYREF0001234",
                    "pattern": "^[A-Za-z0-9]{1,21}$"
                  }
                ]
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 125,
                "default": 125,
                "pattern": "^\\d{1,9}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "This is the status of the request. A code of 'Ok' indicates no errors.",
                "example": "Ok",
                "default": "Ok",
                "pattern": "^[A-Za-z]{2,40}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. If an 'Ok' status is returned, then this will be 'Operation completed successfully'.</p>",
                "example": "Operation completed successfully",
                "default": "Operation completed successfully",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/bPayInReportResponse_V1",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "<p>400 Bad Request. The request could not be processed because one or more supplied values are missing or incorrectly formatted, for example a date that does not match the required format.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request before the error was returned.",
                "example": 12,
                "default": 12,
                "pattern": "^\\d{1,9}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>Status code of the failed request, for example 'BadRequest', 'Unauthorized' or 'InternalServerError'.</p>",
                "example": "BadRequest",
                "default": "BadRequest",
                "pattern": "^[A-Za-z]{2,40}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "Human readable description of why the request failed. Quote this value when contacting Monoova support.",
                "example": "The date supplied is not in the required format.",
                "default": "The date supplied is not in the required format.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "description": "<p><strong>Optional</strong>. One or more field level error messages. Present when the Platform can attribute the failure to specific request values; omitted otherwise.</p>",
                "example": "[\"date: value must match the format 'yyyy-MM-dd'.\"]",
                "default": [
                  "date: value must match the format 'yyyy-MM-dd'."
                ],
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "date: value must match the format 'yyyy-MM-dd'.",
                "itemDefault": "date: value must match the format 'yyyy-MM-dd'."
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "<p>401 Unauthorized. Authentication failed. The API key passed as the basic authentication username is missing, invalid, or not permitted to access reporting.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request before the error was returned.",
                "example": 12,
                "default": 12,
                "pattern": "^\\d{1,9}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>Status code of the failed request, for example 'BadRequest', 'Unauthorized' or 'InternalServerError'.</p>",
                "example": "BadRequest",
                "default": "BadRequest",
                "pattern": "^[A-Za-z]{2,40}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "Human readable description of why the request failed. Quote this value when contacting Monoova support.",
                "example": "The date supplied is not in the required format.",
                "default": "The date supplied is not in the required format.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "description": "<p><strong>Optional</strong>. One or more field level error messages. Present when the Platform can attribute the failure to specific request values; omitted otherwise.</p>",
                "example": "[\"date: value must match the format 'yyyy-MM-dd'.\"]",
                "default": [
                  "date: value must match the format 'yyyy-MM-dd'."
                ],
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "date: value must match the format 'yyyy-MM-dd'.",
                "itemDefault": "date: value must match the format 'yyyy-MM-dd'."
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "<p>500 Internal Server Error. An unexpected error occurred while generating the report. Retry the request; if the error persists contact Monoova support quoting the status description.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request before the error was returned.",
                "example": 12,
                "default": 12,
                "pattern": "^\\d{1,9}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>Status code of the failed request, for example 'BadRequest', 'Unauthorized' or 'InternalServerError'.</p>",
                "example": "BadRequest",
                "default": "BadRequest",
                "pattern": "^[A-Za-z]{2,40}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "Human readable description of why the request failed. Quote this value when contacting Monoova support.",
                "example": "The date supplied is not in the required format.",
                "default": "The date supplied is not in the required format.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "description": "<p><strong>Optional</strong>. One or more field level error messages. Present when the Platform can attribute the failure to specific request values; omitted otherwise.</p>",
                "example": "[\"date: value must match the format 'yyyy-MM-dd'.\"]",
                "default": [
                  "date: value must match the format 'yyyy-MM-dd'."
                ],
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "date: value must match the format 'yyyy-MM-dd'.",
                "itemDefault": "date: value must match the format 'yyyy-MM-dd'."
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "WBDSYwMbzkEUbANVAZ9Xx",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.mpay.com.au/bpay/v1/bpayInReport/{date}?skip=1&take=1000' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "fBMnZ2IdY4Y4JyDksudDm",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/bpay/v1/bpayInReport/{date}?skip=1&take=1000\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "hjqa4N0TqdGEgVI6W3Yei",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/bpay/v1/bpayInReport/{date}?skip=1&take=1000\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "hF1rNmmS_KNW5dCvO8_7o",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/bpay/v1/bpayInReport/{date}?skip=1&take=1000\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "WBDSYwMbzkEUbANVAZ9Xx"
    },
    "results": {
      "languages": [
        {
          "id": "JwmJN6xWN4ZnOVpPYEnmy",
          "language": "200",
          "code": "// 200 OK. Successful validation. The report was generated and returned.\n{\n  \"bpayInTransactions\": [\n    {\n      \"transactionId\": \"TR12345678\",\n      \"batchId\": \"BPB0000456\",\n      \"dateTime\": \"2026-08-24T09:30:00\",\n      \"paymentType\": \"Payment\",\n      \"payerInstitutionCode\": \"CBA\",\n      \"payerState\": \"NSW\",\n      \"customerReferenceNumber\": \"123456789012\",\n      \"paymentMethod\": \"Internet\",\n      \"amount\": 150,\n      \"transactionReferenceNumber\": \"BPAYREF0001234\"\n    }\n  ],\n  \"durationMs\": 125,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\"\n}"
        },
        {
          "id": "UyEBnw19q6NozB1OCHqcr",
          "language": "400",
          "code": "// 400 Bad Request. The request could not be processed because one or more supplied values are missing or incorrectly formatted, for example a date that does not match the required format.\n{\n  \"durationMs\": 12,\n  \"status\": \"BadRequest\",\n  \"statusDescription\": \"The date supplied is not in the required format.\",\n  \"errors\": [\n    \"date: value must match the format 'yyyy-MM-dd'.\"\n  ]\n}"
        },
        {
          "id": "bLu9zX0fUqO_v7oZQyVu6",
          "language": "401",
          "code": "// 401 Unauthorized. Authentication failed. The API key passed as the basic authentication username is missing, invalid, or not permitted to access reporting.\n{\n  \"durationMs\": 12,\n  \"status\": \"BadRequest\",\n  \"statusDescription\": \"The date supplied is not in the required format.\",\n  \"errors\": [\n    \"date: value must match the format 'yyyy-MM-dd'.\"\n  ]\n}"
        },
        {
          "id": "ko7yKK5ZVGdVLeuqWrg1M",
          "language": "500",
          "code": "// 500 Internal Server Error. An unexpected error occurred while generating the report. Retry the request; if the error persists contact Monoova support quoting the status description.\n{\n  \"durationMs\": 12,\n  \"status\": \"BadRequest\",\n  \"statusDescription\": \"The date supplied is not in the required format.\",\n  \"errors\": [\n    \"date: value must match the format 'yyyy-MM-dd'.\"\n  ]\n}"
        }
      ],
      "selectedLanguageId": "JwmJN6xWN4ZnOVpPYEnmy"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}