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.

View source

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