Getnet DocsGetnet Docs

Reports: Totals, Details, and Shifts

This guide explains how to retrieve operational reports from an Integrated POS using the GetReports operation. It applies to both the SDK (USB / HTTP) and Cloud2Cloud connection modes; only the connector creation method differs.

What are GetReports

The GetReports function allows the automation system to request consolidated or detailed report data directly from the POS terminal. You specify the report type; the terminal returns the data and can optionally print it. Report types are Totals (aggregated transaction totals), Detailed (individual transaction records), and Shift (transactions grouped by shift).

The report must be requested at least two minutes after the last sale or shift change to ensure synchronization.

Before you begin

Before retrieving reports:

  • A Connector must be created and validated using Polling
  • Integrated POS Mode must be active

Step 1: Execute a report request

To retrieve an operational report, call the GetReports operation with the desired Type.

For technical reasons, reports must be requested at least two minutes after the last sale or shift change to ensure all transaction data is correctly synchronized on the terminal.

The following parameters are available for the GetReports operation:

ParameterTypeRequiredDescription
TypeEnumYesReport type: Totals (summary), Detailed (itemized), or Shift (by operational period).
PrintOnPosBooleanNoIf true, the report is printed on the POS terminal. If false, the data is returned in the ReportDetails field.

The following example demonstrates how to request a summary report to be printed directly on the device:

var reportRequest = new ReportsRequest
{
    Type = ReportType.Totals,
    PrintOnPos = true
};

var reportResult = await connector.GetReportsAsync(reportRequest);

The following example demonstrates how to retrieve itemized transaction data to be processed by your automation system:

var reportRequest = new ReportsRequest
{
    Type = ReportType.Details,
    PrintOnPos = false
};

var reportResult = await connector.GetReportsAsync(reportRequest);

Step 2: Handle the response

The POS returns a structured response matching the requested report type. If PrintOnPos was set to false, the ReportDetails field will contain the JSON data.

Below is an example of a successful response for a detailed report request:

{
  "Code": 0,
  "Message": "APPROVED",
  "CommerceCode": "1234567890",
  "TerminalId": "GET00123",
  "ReportDetails": [
    {
      "authorizationCode": "551437",
      "paymentId": "789456123",
      "opReasonMessageStatus": "APPROVED",
      "timestamp": "2025-08-25T16:11:23.000Z",
      "brandType": "Mastercard",
      "cardLastNumber": "1234",
      "operationValue": "5000",
      "operation": "Credit"
    }
  ]
}

Always verify the Code and Message before parsing the ReportDetails structure.

Next steps