Terminal-2 icon

Reconcile a balance mismatch

Get the totals of a reconciliation period and use them to reconcile balance mismatches between the terminal and POS app.

You may need to reconcile the balance between your payment terminal and POS app when a mismatch occurs. For example, if the connection dropped at some point and your POS app does not receive the final response.

Use the reconciliation request to:

  • Get the terminal's totals of the current reconciliation period and start a new period, by setting the reconciliation type to SaleReconciliation.

  • Get the terminal's report of a previous reconciliation period without starting a new period, by setting the reconciliation type to PreviousReconciliation and using POIReconciliationID NNN.

Requirements

Before you begin, take into account the following requirements.

Requirement Description
Integration type A Terminal API integration with payment terminals.

Make a reconciliation request

  1. Log in to the terminal.

  2. Make a Terminal API reconciliation request, specifying:

    • The standard SaleToPOIRequest.MessageHeader object, with MessageClass set to Service and MessageCategory set to Reconciliation.

      Parameter Required Description
      ProtocolVersion -white_check_mark- 3.0
      MessageClass -white_check_mark- Service
      MessageCategory -white_check_mark- Reconciliation
      MessageType -white_check_mark- Request
      ServiceID -white_check_mark- Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.
      SaleID -white_check_mark- Your unique ID for the POS system component to send this request from.
      POIID -white_check_mark- The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
    • The ReconciliationRequest object with:

      Parameter Required Description
      ReconciliationType -white_check_mark- The type of reconciliation:
      • SaleReconciliation to get the totals of the current reconciliation period and start a new period.
      • PreviousReconciliation to get the report of a previous reconciliation period without starting a new period. Also specify POIReconciliationID with a value of NNN.
      POIReconciliationID Include this field and set the value to NNN when using the reconciliation type PreviousReconciliation.
  3. In the ReconciliationResponse, check the TransactionTotals object.

    {
      "SaleToPOIResponse":{
         "ReconciliationResponse":{
            "ReconciliationType":"SaleReconciliation",
            "POIReconciliationID":"1000",
            "Response":{
               "Result":"Success"
            },
            "TransactionTotals":[
               {
                  "SaleID":"CashRegB3",
                  "PaymentInstrumentType":"Card",
                  "PaymentCurrency":"EUR",
                  "PaymentTotals":[
                     {
                        "TransactionType":"Debit",
                        "TransactionCount":1,
                        "TransactionAmount":10.99
                     }
                  ],
                  "OperatorID":"John",
                  "CardBrand":"mc",
                  "TotalsGroupID":"GroupA",
                  "ShiftNumber":"123"
               }
            ]
         },
         "MessageHeader":{
            "ProtocolVersion":"3.0",
            "SaleID":"CashRegB3",
            "MessageClass":"Service",
            "MessageCategory":"Reconciliation",
            "ServiceID":"0518145303",
            "POIID":"P400Plus-275008565",
            "MessageType":"Response"
         }
      }
    }

See also