Corporate
statement
Statements

Description

These APIs provide corporate customers with real-time information on bank account statements, virtual account statements, and MT940 statements, allowing for easy integration with internal financial systems or ERPs.

In order to subscribe, Please

  • Overview
  • APIs Offered
  • Use Cases
    MT940 Statement API
    View API Specifications

    This API provides corporate clients with detailed electronic bank statements in the MT940 format, a standardized SWIFT message format used globally for end-of-day bank statements

    NOTE:

    • Applications must get the token using the “Get Token API," which will provide the access token details. This token must be used for the subsequent interactions of RESTful APIs. Tokens will be valid for 180s

    Flow Chart

    Image
    Flow Chart MT940 Statement API

    What operations can be performed?

    1. downloadStatement:  This service is required to download debit and credit information from the account statements in globally recognized MT940 format. This is a GET method.

    Request Headers:

    Fields
    Description
    Mandatory/Optional
    Data Type
    Length
    Sample Value
    clientId
    Unique client ID provided by Mashreq to corporate.
    Mandatory
    STRING
     
     
    Authorization
    Bearer Token received from get token API with respect to Scope
    Mandatory
    STRING
     
     

    Request Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data Type
    Length
    Sample Value
    cifNumber
    Unique CIF number
    Mandatory
    STRING
     
    10150935
    accountType
    Keep the below value to the account type: CASA
    Mandatory
     
    Max200
     
    accountNumber
    Any current account which is onboarded for API services.
    Mandatory
    STRING
    Max200
    10591902400
    searchBy

    Options for search filters are as under.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    • LAST_10_TRANSACTIONS
    • PREVIOUS_DAY_TRANSACTIONS
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Mandatory
    STRING
    Max200
    CUSTOMER_REFERENCE
    searchValue

    The value to search. Must be used together with searchBy values for

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    Conditional Mandatory
    STRING
    Max200
    abcd1234
    fromDate

    Must be used together with toDate and with mentioned below searchBy values.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Conditional Mandatory
    STRING
    Max200
    01/08/2023
    toDate

    The end date for the statements must not exceed 6 months. Must be used together with fromDate and with below searchBy values.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Conditional Mandatory
    STRING
    Max200
    06/12/2023
    pageSize
    Number of records fetched
    Optional
    STRING
    Max200
     
    format
    This option gives you type of statement. 

    F_MT940 STATEMENT (Returns MT940 STATEMENT as file attachment in response). 

    MT940 STATEMENT (Returns MT940 STATEMENT as part of response with the message).
     
     
     
     

    Response Headers:

    Fields
    Value
    Sample Value
    content-disposition
    attachment
    filename=<accountNumber>-<searchBy>.txt
    content-type
    application/octet-stream
     

    Response Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data type
    Length
    Sample value
    status

    Status of the request whether it is success or failed with below values.

    • SUCCESS
    • FAILED
    • REJECTED
    Mandatory
    STRING
     
    SUCCESS
    message

    Additional message/description of the status with below possible values.

    • STATEMENTS_FETCHED_SUCCESSFULLY
    • NO_RECORDS_FOUND
    • FIELDS_LIMIT_EXCEEDED
    • INVALID_SEARCH_BY
    • INVALID_ACCT_TYPE
    • INVALID_ACCOUNT_NUMBER
    • INVALID_DATE_FIELDS
    • TO_DATE_IS_AFTER_CURRENT_DATE
    • DATE_FIELDS_MISSING
    • FROM_DATE_IS_AFTER_CURRENT_DATE
    Mandatory
    STRING
     
    STATEMENTS_FETCHED_SUCCESSFULLY
    accountSummary

    Summary Object of the given account number consists of below fields.

    • acctNumber
    • acctTitle
    • acctCurrency
    • fromDate
    • toDate
    Mandatory
    STRING
     
     
    mt940
    contains the statements in MT940 format.
    Optional
    STRING
     
     

    Status Code Information:

    Status code
    Status
    Description
    200
    SUCCESS
    STATEMENTS_FETCHED_SUCCESSFULLY
    200
    SUCCESS
    NO_RECORDS_FOUND
    201
    INITIATED
    ADHOC_REQUEST_INITIATED
    201
    IN_PROGRESS
    ADHOC_REQUEST_IN_PROGRESS
    201
    SUCCESS
    ADHOC_STATEMENTS_FETCHED_SUCCESSFULLY
    400
    REJECTED
    INVALID_SEARCH_BY
    400
    REJECTED
    INVALID_BENEFICIARY_NAME
    400
    REJECTED
    INVALID_ACCOUNT_NUMBER
    400
    REJECTED
    INVALID_CUSTOMER_REFERENCE_NUMBER
    400
    REJECTED
    INVALID_BANK_REFERENCE_NUMBER
    400
    REJECTED
    INVALID_DEBIT_AMOUNT
    400
    REJECTED
    INVALID_CREDIT_AMOUNT
    400
    REJECTED
    INVALID_DATE_FIELDS
    400
    REJECTED
    INVALID_STATEMENT_FORMAT_REQUESTED
    400
    REJECTED
    TO_DATE_IS_AFTER_CURRENT_DATE
    400
    REJECTED
    DATE_FIELDS_MISSING
    400
    REJECTED
    FIELDS_LIMIT_EXCEEDED
    400
    REJECTED
    CUSTOMER_REFERENCE_NUMBER_MISSING
    400
    REJECTED
    BENEFICIARY_NAME_MISSING
    400
    REJECTED
    DEBIT_AMOUNT_MISSING
    400
    REJECTED
    CREDIT_AMOUNT_MISSING
    400
    REJECTED
    BANK_REFERENCE_NUMBER_MISSING
    400
    REJECTED
    BATCH_ID_MISSING
    401
    REJECTED
    API_BANKING_DISABLED
    500
    FAILED
    INTERNAL_SERVER_ERROR
    IMPORTANTS NOTES:
    • No date range or search value is required when Last_10_Transaction OR PREVIOUS_DAY_ TRANSACTIONS are looked for in the statement.
    • Batch ID search along with date range enables you to look for the debits for that specific batch
    • Date range criteria are required with every search except for the last 10 and previous day transactions.
    • Please note these are parameters and should be used as parameters in the request.
    Account Statement API
    View API Specifications

    This API enables clients to retrieve detailed account information, credit and debit information, transaction histories, and other financial data efficiently and securely.

    NOTE:

    • Applications must get the token using the “Get Token API," which will provide the access token details. This token must be used for the subsequent interactions of RESTful APIs. Tokens will be valid for 180s

    Flow Chart

    Image
    Flow Chart Account Statement API

    What operations can be performed?

    1. pullStatement: This is a GET method that is required to fetch debit and credit information from the account statements with different criteria.

    Request Headers:

    Fields
    Description
    Mandatory/Optional
    Data Type
    Length
    Sample Value
    clientId
    Unique client ID provided by Mashreq to corporate.
    Mandatory
    STRING
     
     
    Authorization
    Bearer Token received from get token API with respect to Scope
    Mandatory
    STRING
     
     

    Request Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data Type
    Length
    Sample Value
    clientId
    Unique client ID provided by Mashreq to corporate.
    Mandatory
    STRING
     
     
    cifNumber
    Unique CIF number
    Mandatory
    STRING
     
    10150935
    accountType
    Keep the below value to the account type: 
    CASA
    Mandatory
     
    Max200
     
    accountNumber
    Any current account which is onboarded for API services.
    Mandatory
    STRING
    Max200
    10591902400
    searchBy

    Options for search filters are as under.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    • LAST_10_TRANSACTIONS
    • PREVIOUS_DAY_TRANSACTIONS
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Mandatory
    STRING
    Max200
    CUSTOMER_REFERENCE
    searchValue

    The value to search. Must be used together with searchBy values for

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    Conditional Mandatory
    STRING
    Max200
    abcd1234
    fromDate

    Must be used together with toDate and with mentioned below searchBy values.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • BATCH_ID
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Conditional Mandatory
    STRING
    Max200
    01/08/2023
    toDate

    The end date for the statements must not exceed 6 months. Must be used together with fromDate and with below searchBy values.

    • BENEFICIARY_NAME
    • CUSTOMER_REFERENCE_NUMBER
    • BANK_REFERENCE_NUMBER
    • DEBIT_AMOUNT
    • CREDIT_AMOUNT
    • SELECTIVE_DATE_RANGE_TRANSACTIONS
    Conditional Mandatory
    STRING
    Max200
    06/12/2023
    pageSize
    Number of records fetched
    Optional
    STRING
    Max200
     

    Response Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data type
    Length
    Sample value
    status

    Status of the request whether it is success or failed with below values

    • SUCCESS
    • FAILED
    • REJECTED
    Mandatory
    STRING
     
    SUCCESS
    message

    Additional message/description of the status with below possible values.

    • STATEMENTS_FETCHED_SUCCESSFULLY
    • NO_RECORDS_FOUND
    • FIELDS_LIMIT_EXCEEDED
    • INVALID_SEARCH_BY
    • INVALID_ACCT_TYPE
    • INVALID_ACCOUNT_NUMBER
    • INVALID_DATE_FIELDS
    • TO_DATE_IS_AFTER_CURRENT_DATE
    • DATE_FIELDS_MISSING
    • FROM_DATE_IS_AFTER_CURRENT_DATE
    Mandatory
    STRING
     
    STATEMENTS_FETCHED_SUCCESSFULLY
    accountSummary

    Summary Object of the given account number consists of below fields.

    • acctNumber
    • acctTitle
    • acctCurrency
    • fromDate
    • toDate
    Mandatory
    STRING
     
     
    statementRecords

    Array of statement records consists of below fields for each transaction.

    • transactionDate
    • transactionDescription
    • transactionReference
    • transactionRemarks
    • debitAmount
    • creditAmount
    • balance
    • customerReference
    • valueDate
    • channelReferenceNumber
    • popCodeDetails
    • beneName
    • beneAccountNumber
    Mandatory
    STRING
     
     

    Status Code Information:

    Status code
    Status
    Description
    200
    SUCCESS
    STATEMENTS_FETCHED_SUCCESSFULLY
    200
    SUCCESS
    NO_RECORDS_FOUND
    201
    INITIATED
    ADHOC_REQUEST_INITIATED
    201
    IN_PROGRESS
    ADHOC_REQUEST_IN_PROGRESS
    201
    SUCCESS
    ADHOC_STATEMENTS_FETCHED_SUCCESSFULLY
    400
    REJECTED
    INVALID_SEARCH_BY
    400
    REJECTED
    INVALID_BENEFICIARY_NAME
    400
    REJECTED
    INVALID_ACCOUNT_NUMBER
    400
    REJECTED
    INVALID_CUSTOMER_REFERENCE_NUMBER
    400
    REJECTED
    INVALID_BANK_REFERENCE_NUMBER
    400
    REJECTED
    INVALID_DEBIT_AMOUNT
    400
    REJECTED
    INVALID_CREDIT_AMOUNT
    400
    REJECTED
    INVALID_DATE_FIELDS
    400
    REJECTED
    TO_DATE_IS_AFTER_CURRENT_DATE
    400
    REJECTED
    DATE_FIELDS_MISSING
    400
    REJECTED
    FIELDS_LIMIT_EXCEEDED
    400
    REJECTED
    CUSTOMER_REFERENCE_NUMBER_MISSING
    400
    REJECTED
    BENEFICIARY_NAME_MISSING
    400
    REJECTED
    DEBIT_AMOUNT_MISSING
    400
    REJECTED
    CREDIT_AMOUNT_MISSING
    400
    REJECTED
    BANK_REFERENCE_NUMBER_MISSING
    400
    REJECTED
    BATCH_ID_MISSING
    401
    REJECTED
    API_BANKING_DISABLED
    500
    FAILED
    INTERNAL_SERVER_ERROR
    IMPORTANTS NOTES:
    • No date range or search value is required when Last_10_Transaction OR PREVIOUS_DAY_ TRANSACTIONS are looked for in the statement.
    • Batch ID search along with date range enables you to look for the debits for that specific batch
    • Date range criteria are required with every search except for the last 10 and previous day transactions.
    • Please note these are parameters and should be used as parameters in the request.
       
    Virtual Account Statement API
    View API Specifications

    This API allows corporate clients to fetch information and inquire about virtual account transactions occurred in one or more virtual accounts associated with the client.

    NOTE:

    • Applications must get the token using the “Get Token API," which will provide the access token details. This token must be used for the subsequent interactions of RESTful APIs. Tokens will be valid for 180s

    Flow Chart

    Image
    Flow Chart Virtual Account Statement API

    What operations can be performed?

    1. initiateVirtualAccountEntries: This POST method allows the customer to make a manual credit entry into one or more associated virtual accounts using the virtual account numbers.

    Request Headers:

    Fields
    Description
    Mandatory/Optional
    Data Type
    Length
    Sample Value
    clientId
    Unique client ID provided by Mashreq to corporate.
    Mandatory
    STRING
     
     
    Authorization
    Bearer Token received from get token API with respect to Scope
    Mandatory
    STRING
     
     

    Request Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data Type
    Length
    Sample Value
    cif
    Unique CIF number
    Mandatory
    STRING
    Max 16
    10150935
    customerReferenceno
    Unique Customer reference number
    Mandatory
    STRING
    Min1 - Max 16
    sampleCustRef1
    virtualEntityId
    This is entity level title which is also populated for Virtual accounts configured by the bank.
    Optional
    STRING
    Max 12
    001010150123
    virtualAccNumber
    Virtual account created in the system under a entity
    Conditional Mandatory with VAiban
    STRING
    Max 12
    123456789012
    VAiban
    IBAN of the virtual account
    Conditional Mandatory with virtualAccNumber
    STRING
    Max 23
    AE15033xxx0008000000xxx
    fromDate
    Starting date range
    Mandatory
    STRING
    Max200
    01/08/2023
    toDate
    Ending date range
    Mandatory
    STRING
    Max200
    06/12/2023

    Response Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data type
    Length
    Sample value
    status

    Status of the request whether it is success or failed with below values

    • Request Initiated
    • SUCCESS
    • FAILED
    • REJECTED
    Mandatory
    STRING
     
    SUCCESS
    code

    Status code can be any one of the below:

    • SUCCESS - 200
    • Request Initiated - 201
    • REJECTED - 401
    • FAILED - 500
    Mandatory
    STRING
    3
    201
    message
    Additional message/description of the status
    Mandatory
    STRING
     
    Request Initiated. Please try after sometime
    customerReferenceno
    Unique Customer reference number
    Mandatory
    STRING
    Min1 - Max 16
    sampleCustRef1
    msreferencenumber
    Unique Reference Number generated by MS at batch level
    Mandatory
    STRING
    Max 16
     
    virtualaccountstatementrequestdtos

    Contains the request details of below parameters:

    • reqType
    • cif
    • virtualEntityId
    • virtualAccNumber
    • fromDate
    • toDate
    Mandatory
     
     
     
    reqType
    This is requesting type which should always be prefixed as “VAstatement”
    Mandatory
    STRING
    11
    VAstatement

    Status Code Information:

    Status code
    Status
    Description
    200
    SUCCESS
    STATEMENTS_FETCHED_SUCCESSFULLY
    201
    Request Initiated
    Request Initiated
    400
    REJECTED
    Invalid date format
    400
    REJECTED
    Maximum limit for fetching statement exhausted. Please try on next calendar day
    400
    REJECTED
    INVALID_VIRTUAL_ACCOUNT_NUMBER
    400
    REJECTED
    INVALID_CUSTOMER_REFERENCE_NUMBER
    400
    REJECTED
    INVALID_DATE_FIELDS
    400
    REJECTED
    TO_DATE_IS_AFTER_CURRENT_DATE
    400
    REJECTED
    DATE_FIELDS_MISSING
    400
    REJECTED
    FIELDS_LIMIT_EXCEEDED
    400
    REJECTED
    CUSTOMER_REFERENCE_NUMBER_MISSING
    500
    FAILED
    INTERNAL_SERVER_ERROR

    2. virtualAccountEntriesEnquiry: This GET service enables the customer to make an inquiry request about the manual credit entry status in one or more virtual accounts associated with them.

    Request Headers:

    Fields
    Description
    Mandatory/Optional
    Data Type
    Length
    Sample Value
    clientId
    Unique client ID provided by Mashreq to corporate.
    Mandatory
    STRING
     
     
    Authorization
    Bearer Token received from get token API with respect to Scope
    Mandatory
    STRING
     
     
    msreferencenumber
    Unique Reference Number generated by MS at batch level
    Conditional Mandatory with customerReferenceno
    STRING
    Max 16
     
    customerReferenceno
    Unique Customer reference number
    Conditional Mandatory with msreferencenumber
    STRING
    Min1 - Max 16
    sampleCustRef1

    Response Parameters:

    Fields
    Description
    Mandatory/ Optional
    Data type
    Length
    Sample value
    status

    Status of the request whether it is success or failed with below values

    • Request Initiated
    • SUCCESS
    • FAILED
    • REJECTED
    Mandatory
    STRING
     
    SUCCESS
    finalStatus
    This attribute contains “Y” or “N”, this can help to automate the inquiry calls to retrieve the final status
    Mandatory
    STRING
     
    Y
    code

    Status code can be any one of the below:

    • SUCCESS - 200
    • Request Initiated - 201
    • REJECTED - 401
    • FAILED - 500
    Mandatory
    STRING
    3
    201
    message
    Additional message/description of the status
    Mandatory
    STRING
     
    Request Initiated. Please try after sometime
    customerReferenceno
    Unique Customer reference number
    Mandatory
    STRING
    Min1 - Max 16
    sampleCustRef1
    msreferencenumber
    Unique Reference Number generated by MS at batch level
    Mandatory
    STRING
    Max 16
     
    lastupdatedtime
    Date and timestamp until which transactions are available in Statements
    Conditional Mandatory (only for Success response)
    STRING
     
    2024-12-02 14:00:00
    virtualaccountstatementdetailsdtos

    Array of statement records consists of below fields for each transaction.

    • txnReferenceNumber
    • drCr
    • msgText
    • valueDate
    • accountId
    • transactionStatus
    • trnDate
    • transactionAmount
    • runningBalance
    Conditional Mandatory (only for Success response)
     
     
     
    txnReferenceNumber
    Unique transaction reference number
    Conditional Mandatory (only for Success response)
    STRING
     
     
    drCr
    Entry can be Credit or Debit. Prefixes are “C” for Credit and “D” for Debit
    Conditional Mandatory (only for Success response)
    STRING
     
    C
    msgText
    Transaction Description
    Conditional Mandatory (only for Success response)
    STRING
     
     
    valueDate
    Value date for transaction
    Conditional Mandatory (only for Success response)
    STRING
     
    2024-11-01
    transactionStatus

    This is to provide transaction status to Customer. Possible values are:

    • Active (A)
    • Reversed (R)
    • Pending (P)
    • Expired (E)
    Conditional Mandatory (only for Success response)
    STRING
     
    A
    trnDate
    Transaction date
    Conditional Mandatory (only for Success response)
    STRING
     
    2024-11-01
    transactionAmount
    Contains transaction amount and currency information
    Conditional Mandatory (only for Success response)
     
     
     
    runningBalance
    Contains running balance and account currency information
    Conditional Mandatory (only for Success response)
     
     
     
    amount
    Transaction or Running balance amount
    Conditional Mandatory (only for Success response)
    STRING
     
    100
    currency
    Transaction or Running balance currency
    Conditional Mandatory (only for Success response)
    STRING
     
    AED
    IMPORTANTS NOTES:
    • If same customer is requesting statement for same VA account, more than 20 times in same day, “REJECTED” response will be sent with reason “maximum limit for fetching statement exhausted. Please try on next calendar day”.
Number of API/s
3
Number of APIs
APIC Calls
160
K
Calls per month
Active users
250
Active users
Regions
Overview
Overview

Statement APIs offer a direct link between corporate financial systems and banking services, ensuring that businesses have up-to-date information at their fingertips. This integration enhances transparency, improves financial management, and supports compliance with regulatory requirements.

What are the benefits?
  • Real-Time Access

    Obtain up-to-date financial statements and transaction details instantly, enabling timely decision-making.

  • Enhanced Accuracy

    Reduce errors by automating the retrieval of financial data, minimizing manual data entry.

  • Improved Financial Management

    Gain better insights into cash flows, account balances, and transaction histories, facilitating more effective financial planning.

  • Security

    Ensure the protection of sensitive financial information with robust security measures, including encryption and secure authentication.

  • Compliance

    Simplify compliance with financial regulations by providing accurate and timely financial data.

  • Standardization

    Access bank statements in the globally recognized MT940 format, ensuring consistency and compatibility with various financial systems.

Which APIs are offered?
  • Account Statement API: This API enables clients to pull or retrieve detailed account information, credit and debit information, transaction histories, and other financial data efficiently and securely.
  • Virtual Account Statement API: This API allows corporate clients to fetch information regarding virtual account transactions occurred in one or more virtual accounts associated with the client.
  • MT940 Statement API: This API provides corporate clients with detailed electronic bank statements in the MT940 format, a standardized SWIFT message format used globally for end-of-day bank statements.

 

By leveraging Mashreq’s Statement APIs, corporate clients can significantly enhance their financial operations, ensuring more efficient, accurate, and secure management of their financial data. This product empowers businesses to focus on their core activities while maintaining robust and efficient financial management systems

What can I do with this API ?
icon
icon
icon
Product benefits
Automate the reconciliation of bank statements with internal records.
Monitor cash flows in real-time, helping businesses manage liquidity & optimize financial planning.
Simplify the process of preparing audits and ensuring compliance with financial regulations.
Track and manage expenses by accessing transaction history to help businesses improve budgeting.
Statements
Engage with us
Get started today or reach out to learn more.
 
Register today to access and get started with our tools and API documentation.
 
Schedule a call with our team to understand how our offering can support you and your customers.