---
title: Received Transactions Report
slug: api/received-transactions-report
docTags: 
createdAt: 2026-09-28T06:18:59.720Z
---

{
  "id": "jtsLz-pF-lcO3JwaW5b9U",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.mpay.com.au/receivables/v6/report/{date}",
    "servers": [
      {
        "url": "https://api.mpay.com.au/receivables/v6/report/{date}",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/receivables/v6/report/{date}",
        "description": "Sandbox URL"
      }
    ],
    "name": "Received Transactions Report",
    "description": "<p>Returns a report of all received transactions for the day with associated details, this includes Direct Entry and NPP Receivables. 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. Direct Entry transactions arrive in batches 7 times throughout the day, 8.30am, 11.30am, 14.30pm, 17.30pm, 19.45pm, 21.45pm and 22.50pm (emergency), business days only. NPP Transactions may arrive at anytime, we recommend subscribing to a webhook to receive new transaction notifications.</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": "20260824000000",
          "description": "<p><strong>Required</strong>. Format: 'yyyyMMddHHmmss'. The date and time from which transactions are reported. This becomes the start date of the report if the report is being fetched for a date range.</p>",
          "default": "20260824000000",
          "pattern": "^\\d{14}$"
        }
      ],
      "headerParameters": [],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "endDate",
          "type": "string",
          "example": "20260824235959",
          "description": "<p><strong>Optional</strong>. Format: 'yyyyMMddHHmmss'. Use this to fetch the report for a date range. When supplied, it is the inclusive end of the range that starts at the date path parameter.</p>",
          "default": "20260824235959",
          "pattern": "^\\d{14}$"
        },
        {
          "kind": "optional",
          "name": "skip",
          "type": "string",
          "example": "0",
          "description": "<p><strong>Optional</strong>. Number of records to skip. 0 is the first record. Use together with take to page through large reports.</p>",
          "default": "0",
          "pattern": "^\\d{1,9}$"
        },
        {
          "kind": "optional",
          "name": "take",
          "type": "string",
          "example": "1000",
          "description": "<p><strong>Conditional</strong>. Number of records to take. <strong>Conditional</strong> upper limit: if endDate is provided the maximum take is 10000.</p>",
          "default": "1000",
          "pattern": "^\\d{1,5}$"
        },
        {
          "kind": "optional",
          "name": "accountNumber",
          "type": "string",
          "example": "410000123",
          "description": "<p><strong>Optional</strong>. Payee bank account number. Filters the report to transactions received into this account.</p>",
          "default": "410000123",
          "pattern": "^[0-9]{1,34}$"
        },
        {
          "kind": "optional",
          "name": "clientUniqueId",
          "type": "string",
          "example": "CUID-000123",
          "description": "<p><strong>Optional</strong>. The unique identifier for the account, as supplied by you when the account was created.</p>",
          "default": "CUID-000123",
          "pattern": "^[A-Za-z0-9_\\-\\.]{1,50}$"
        },
        {
          "kind": "optional",
          "name": "transactionType",
          "type": "string",
          "example": "NPP",
          "description": "<p><strong>Optional</strong>. Filters the report by rail. Possible values: 'DE' for Direct Entry or 'NPP' for New Payments Platform.</p>",
          "default": "NPP",
          "pattern": "^(DE|NPP)$"
        },
        {
          "kind": "optional",
          "name": "transactionCode",
          "type": "string",
          "example": "50",
          "description": "<p><strong>Conditional</strong>. Industry standard transaction code, only applicable when transactionType is 'DE'. Possible values: '13' for debit, '50' for credit. Refer to the Direct Entry standard for definitions 51-57.</p>",
          "default": "50",
          "pattern": "^(13|50|51|52|53|54|55|56|57)$"
        },
        {
          "kind": "optional",
          "name": "payId",
          "type": "string",
          "example": "payments@yourcompany.com.au",
          "description": "<p><strong>Optional</strong>. Email address for the PayID. Filters the report to transactions received against this PayID.</p>",
          "default": "payments@yourcompany.com.au",
          "pattern": "^[^@\\s]+@[^@\\s]+\\.[A-Za-z]{2,}$"
        },
        {
          "kind": "optional",
          "name": "payIdName",
          "type": "string",
          "example": "Your Company Pty Ltd",
          "description": "<p><strong>Optional</strong>. Name displayed to the payers when they address a payment to the PayID.</p>",
          "default": "Your Company Pty Ltd",
          "pattern": "^[A-Za-z0-9 .,'&\\-]{1,140}$"
        }
      ],
      "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": "Received Transactions Report response.",
            "customType": "cuscalReportResponse_V6",
            "schema": [
              {
                "name": "ndeFileDetails",
                "kind": "optional",
                "type": "array",
                "description": "NDE file details. Each item is one comma separated report row for a received Direct Entry or NPP transaction.",
                "example": "[\"TR12345678,410000123,20260824093000,150.00,Invoice 1001\"]",
                "default": [
                  "TR12345678,410000123,20260824093000,150.00,Invoice 1001"
                ],
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "TR12345678,410000123,20260824093000,150.00,Invoice 1001",
                "itemDefault": "TR12345678,410000123,20260824093000,150.00,Invoice 1001"
              },
              {
                "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/cuscalReportResponse_V6",
            "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": "bZiGlXKjcQv7Wrzja8jsR",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.mpay.com.au/receivables/v6/report/{date}?endDate=20260824235959&skip=0&take=1000&accountNumber=410000123&clientUniqueId=CUID-000123&transactionType=NPP&transactionCode=50&payId=payments%40yourcompany.com.au&payIdName=Your%20Company%20Pty%20Ltd' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "oY8dzWxDy94pE5G8FvZd2",
          "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/receivables/v6/report/{date}?endDate=20260824235959&skip=0&take=1000&accountNumber=410000123&clientUniqueId=CUID-000123&transactionType=NPP&transactionCode=50&payId=payments@yourcompany.com.au&payIdName=Your Company Pty Ltd\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "rJQsYVu1Nzp5Q3Y4YxieV",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/receivables/v6/report/{date}?endDate=20260824235959&skip=0&take=1000&accountNumber=410000123&clientUniqueId=CUID-000123&transactionType=NPP&transactionCode=50&payId=payments@yourcompany.com.au&payIdName=Your Company Pty Ltd\")\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": "XyNf3yEIhzgXdps7eIsqr",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/receivables/v6/report/{date}?endDate=20260824235959&skip=0&take=1000&accountNumber=410000123&clientUniqueId=CUID-000123&transactionType=NPP&transactionCode=50&payId=payments@yourcompany.com.au&payIdName=Your Company Pty Ltd\"\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": "bZiGlXKjcQv7Wrzja8jsR"
    },
    "results": {
      "languages": [
        {
          "id": "ija7DXXSWqTAXcw9AbHSn",
          "language": "200",
          "code": "// 200 OK. Successful validation. The report was generated and returned.\n{\n  \"ndeFileDetails\": [\n    \"TR12345678,410000123,20260824093000,150.00,Invoice 1001\"\n  ],\n  \"durationMs\": 125,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\"\n}"
        },
        {
          "id": "pqdf3sVdEfxtSXpO6WQF3",
          "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": "6zrAucDZCTe4D9RiIYFRf",
          "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": "QWj2XfENOFET6RKz2boM-",
          "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": "ija7DXXSWqTAXcw9AbHSn"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}