Fiscalisation for Online Sales (Beta)

Sign and fiscalize receipts for Merchants and ISV/Resellers.


Merchant

Signs (fiscalizes) a receipt for the authenticated merchant. Requires the AllowFiscalization role.

post    /fiscalization/v1/receipts:sign

Authorization

Authenticate using OAuth2 with a Bearer token. Pass the token in the request header:

Authorization: Bearer {access_token}
The AllowFiscalization role must be enabled on the account. Contact Viva to request access.

Environments

Environment URL
Production https://api.vivapayments.com/fiscalization/v1/receipts:sign
Demo https://demo-api.vivapayments.com/fiscalization/v1/receipts:sign

Request body

Field Type Description
cbArea string
cbUser object or null
sessionId string <uuid>
cbCustomer object or null
ftReceiptCase integer <int64>
ftPosSystemId string or null <uuid> Uniquely identifies the software version of the ECR.
currencyCode string
cbReceiptAmount integer <int64>
ftReceiptCaseData object or null
cbReceiptReference string
cbReceiptMoment string <date-time>
cbPreviousReceiptReference object or null
cbPayItems Array of objects (FiscalizationPayItem)
cbChargeItems Array of objects (FiscalizationChargeItem)
cbPayItems — each object in the array
Field Type Description
amount integer <int64>
position integer <int32>
ftPayItemCase integer <int64>
description string
currencyCode string
transactionId string or null <uuid>
moment string <date-time>
cbChargeItems — each object in the array
Field Type Description
amount integer <int64> The total amount of the line (price * quantity).
unit string Unit of measurement.
position integer <int32>
vatRate integer <int64>
quantity integer <int64>
unitPrice integer or null <int64> The price of a single unit.
vatAmount integer <int64>
unitQuantity integer or null <int64>
description string
currencyCode string
ftChargeItemCase integer <int64>
productNumber string
productBarcode string
moment string <date-time>
Request sample
   {

      "cbChargeItems":
      
      [
      {
          "amount": 1780,
          "description": "product x",
          "position": 1,
          "moment": "2026-07-10T11:28:00Z",
          "quantity": 200,
          "vatRate": 0,
          "vatAmount": 0,
          "ftChargeItemCase": 5139205309155246098,
          "currencyCode": 978
      }
      ],
      "cbPayItems":
      [
          {
              "amount": 1780,
              "description": "cash-payment",
              "position": 1,
              "currencyCode": "978",
              "moment": "2026-07-10T11:28:00Z",
              "ftPayItemCase": 5139205309155246082,
              "transactionId": "27efa6c4-1e51-440e-96c8-e674a04c9184"
          }
      ],      
      "sessionId" : "9e346121-cb51-4234-16cb-7c347bfe05d1",
      "cbReceiptMoment":  "2026-07-10T11:28:00Z",
      "cbReceiptReference": "testreceiptreference1",
      "cbReceiptAmount": 1780,
      "ftReceiptCase": 5139205309155770370,
      "currencyCode": "978",
      "ftReceiptCaseData": {
        "GR": 
        {
            "MerchantVATID": "099565360",
            "Series": "AB",
            "AA": 123,
            "HashAlg": "sha256",
            "HashPayload": "099565360-AB-123-testreceiptreference1-2026-07-10T11:28:00Z-17.8"
        }
      }
  }
Response sample
{
  "ftState": 0,
  "ftStateData": {},
  "ftReceiptIdentification": "string",
  "ftCashBoxIdentification": "string",
  "ftSignatures": [{}],
  "transmissionIndicator": 0
}

ISV / Reseller

Signs (fiscalizes) a receipt on behalf of a merchant, for ISV/reseller callers.

post    /fiscalization/v1/isv/receipts:sign?merchantId={merchantId}

Authorization

Authenticate using OAuth2 with a Bearer token. Pass the token in the request header:

Authorization: Bearer {access_token}
The AllowFiscalization role must be enabled on the account. Contact Viva to request access.

Environments

Environment URL
Production https://api.vivapayments.com/fiscalization/v1/isv/receipts:sign
Demo https://demo-api.vivapayments.com/fiscalization/v1/isv/receipts:sign

Query parameters

Parameter Type Required Description
merchantId string <uuid> required The merchant on whose behalf the receipt is signed.

Request body

Field Type Description
cbArea string
cbUser object or null
sessionId string <uuid>
cbCustomer object or null
ftReceiptCase integer <int64>
ftPosSystemId string or null <uuid> Uniquely identifies the software version of the ECR.
currencyCode string
cbReceiptAmount integer <int64>
ftReceiptCaseData object or null
cbReceiptReference string
cbReceiptMoment string <date-time>
cbPreviousReceiptReference object or null
cbPayItems Array of objects (FiscalizationPayItem)
cbChargeItems Array of objects (FiscalizationChargeItem)
cbPayItems — each object in the array
Field Type Description
amount integer <int64>
position integer <int32>
ftPayItemCase integer <int64>
description string
currencyCode string
transactionId string or null <uuid>
moment string <date-time>
cbChargeItems — each object in the array
Field Type Description
amount integer <int64> The total amount of the line (price * quantity).
unit string Unit of measurement.
position integer <int32>
vatRate integer <int64>
quantity integer <int64>
unitPrice integer or null <int64> The price of a single unit.
vatAmount integer <int64>
unitQuantity integer or null <int64>
description string
currencyCode string
ftChargeItemCase integer <int64>
productNumber string
productBarcode string
moment string <date-time>
Request sample
   {

      "cbChargeItems":
      
      [
      {
          "amount": 1780,
          "description": "product x",
          "position": 1,
          "moment": "2026-07-10T11:28:00Z",
          "quantity": 200,
          "vatRate": 0,
          "vatAmount": 0,
          "ftChargeItemCase": 5139205309155246098,
          "currencyCode": 978
      }
      ],
      "cbPayItems":
      [
          {
              "amount": 1780,
              "description": "cash-payment",
              "position": 1,
              "currencyCode": "978",
              "moment": "2026-07-10T11:28:00Z",
              "ftPayItemCase": 5139205309155246082,
              "transactionId": "27efa6c4-1e51-440e-96c8-e674a04c9184"
          }
      ],      
      "sessionId" : "9e346121-cb51-4234-16cb-7c347bfe05d1",
      "cbReceiptMoment":  "2026-07-10T11:28:00Z",
      "cbReceiptReference": "testreceiptreference1",
      "cbReceiptAmount": 1780,
      "ftReceiptCase": 5139205309155770370,
      "currencyCode": "978",
      "ftReceiptCaseData": {
        "GR": 
        {
            "MerchantVATID": "099565360",
            "Series": "AB",
            "AA": 123,
            "HashAlg": "sha256",
            "HashPayload": "099565360-AB-123-testreceiptreference1-2026-07-10T11:28:00Z-17.8"
        }
      }
  }
Response sample
{
  "ftState": 0,
  "ftStateData": {},
  "ftReceiptIdentification": "string",
  "ftCashBoxIdentification": "string",
  "ftSignatures": [{}],
  "transmissionIndicator": 0
}