Germany
Fiscalisation for Germany
Helps POS software vendors comply with fiscalization laws and VAT reporting for B2C, B2B and B2G sales across Europe via a single, lightweight app.
- Overview
- Benefits
- POS Integrations
- Understanding ftreceiptcase
- Examples of Usage
- E-commerce
- Account setup
- Get Support
Overview
Viva Fiscal API is designed to help businesses comply with fiscalization laws, especially in countries with strict regulations on tax reporting and cash register security. It acts as an intermediary between a company’s point-of-sale (POS) system and government tax authorities, ensuring that all transactions are accurately recorded, securely signed, and transmitted in compliance with legal requirements.
Benefits
- Legal Compliance – Many countries, such as Germany and Austria, enforce strict fiscal laws requiring businesses to securely record transactions. The Viva Fiscal API ensures businesses meet these regulations seamlessly.
- Security & Integrity – Protects against tax fraud by ensuring all sales data is securely stored and transmitted in an immutable format.
- Automation & Efficiency – Reduces manual errors and administrative burdens by automating tax reporting.
- Seamless Integration – Enables businesses to integrate fiscal compliance into their existing POS systems with minimal effort.
- Handle Government-Mandated Requirements – Some countries require certified fiscalization solutions for all POS systems.
POS Integrations
Viva offers Auto Fiscalization functionality within its POS integrations, providing an electronic fiscalization service that allows businesses to record, process, and store transactions digitally. This ensures transparency, accuracy, and compliance without complex procedures.
Fiscalization is available through:
- Local Terminal API – Local ECR integration
- InterApp Integration – Terminal/SoftPos Interapp integration
- Cloud Terminal API – POS integration via Cloud Terminal API
Merchants and ISV partners do not need to allocate resources for fiscalization integration, as all transactions are automatically fiscalized during payments.
Partners working with other PSPs can also use Viva’s standalone Fiscal API to transmit data to regulators and receive valid receipt information.
The fiscalisation feature is currently available exclusively on our SoftPOS for Android. Please use this link to download the demo version of the Viva Terminal app with fiscalisation enabled and try it out in demo environment.
How to Fiscalize POS Payments
Ensuring that a payment is tax-compliant is quite straightforward. Your integration remains the same, with just one additional object added to your sale requests. This object(fiscalisationData) contains essential data, including the items sold, the payment amount for each item, and the corresponding VAT details. You can find the object structure and its parameters here.
The fiscalisationData is same across all types of POS integrations. By understanding what to include in your requests, you can seamlessly integrate fiscalisation into Viva’s any POS integration. Viva Fiscalisation handles the compliance process by signing the transaction with the relevant authorities. It then returns the receipt details, including the required signature for tax authorities. This information must be printed on the receipt and provided to the customer.
Fiscalisation Data Object
The table below presents the parameter details for the fiscalizationData
. The fiscalization data contains the core details required for tax compliance.
Fiscalisation Data Parameters
The fiscalisationData
object contains the below parameters.
Value | Description | Example | Mandatory field |
---|---|---|---|
cbChargeItems | An array of objects, each representing an individual item sold, including details such as description, quantity, price, and VAT. For more details about cbChargeItems parameter, please click here. | [{“amount”:40,“description”:“description1”,“position”:1,“quantity”:100,“unit”:“pcs”,“unitPrice”:40,“vatAmount”:1,“vatRate”:2400,“currencyCode”:“978”,“moment”:“2025-04-24T22:09:32.521Z”,“ftChargeItemCaseData”:{“taxable”:true},“ftChargeItemCase”:5139205309155246083}] | ✅ |
cbPayItems | An array of objects specifying the payment details, including payment method, amount, and references. For more details about cbPayItems parameter, please click here. | [{“amount”:40,“description”:“Card”,“position”:1,“currencyCode”:“978”,“moment”:“2025-04-24T22:09:32.521Z”,“ftPayItemCase”:5139205309155246085}] | ✅ |
cbUser | The data object representing the identification of the user who creates the receipt. For more details about cbUser parameter, please click here. | {“merchantName”:“Merchant”,“cashier”:{“name”:“JohnDoe”,“id”:10}} | ❌ |
cbCustomer | The data object representing the identification of the business customer for whom the receipt is created. For more details about cbCustomer parameter, please click here. | {“customerVATId”:“EL999999999”,“customerCountry”:“GRC”,“customerName”:“ProfessionalServicesLTD”,“customerStreet”:“AmarousiouChalandriou18-20”,“customerZip”:“15125”,“customerCity”:“Athens”} | ❌ |
cbReceiptMoment | The time of receipt creation. Must be provided in UTC | 2025-04-24T22:09:32.521Z | ✅ |
cbReceiptReference | The reference number sent by the cash register. Ideally, this should be a unique receipt identifier provided by the cash register, enabling the return value to be stored in the cash register’s dataset. | Unique reference of the receipt | ✅ |
ftReceiptCase | This field defines the receipt type, determines if the receipt has to be secured accordingly to the national law, and establishes the way to calculate the correct values for each national counter. For more details about ftReceiptCase parameter, please click here. | 5139205309155246081 | ✅ |
currencyCode | The numeric code of the transaction’s currency as defined in ISO 4217 | 978 | ✅ |
Example
The order includes one product, Coffee Latte, with grand total amount of 4 euro (1 item Coffee Latte x 4 euro ). The fiscalisationData sample is as below:
{
"cbChargeItems": [
{
"amount": 400,
"description": "Coffee Latte",
"position": 1,
"quantity": 100,
"unit": "pcs",
"unitPrice": 400,
"vatAmount": 96,
"vatRate": 2400,
"currencyCode": "978",
"moment": "{{$isoTimestamp}}",
"ftChargeItemCaseData": {
"taxable": true
},
"ftChargeItemCase": 5139205309155246083
}
],
"cbPayItems": [
{
"amount": 400,
"description": "Card",
"position": 1,
"currencyCode": "978",
"moment": "{{$isoTimestamp}}",
"ftPayItemCase": 5139205309155246085
}
],
"cbUser": {
"merchantName": "Merchant",
"cashier": {
"name": "John Doe",
"id": 10
}
},
"cbCustomer":
{
"customerVATId": "EL999999",
"customerCountry": "GRC",
"customerName": "Professional Services LTD",
"customerStreet": "Street 18-20",
"customerZip": "99999",
"customerCity": "Athens"
},
"cbReceiptMoment": "{{$isoTimestamp}}",
"cbReceiptReference": "Unique reference of the receipt",
"ftReceiptCase": 5139205309155246081,
"currencyCode": "978"
}
cbChargeItems Array
Inside the fiscalisationData
object, the cbChargeItems
array holds the product/item details that the invoice includes.
Field name | Description | Sample data | Mandatory field | Visualized on receipt |
---|---|---|---|---|
amount | Gross total price of service(s). The gross individual price, net total price, and net individual price, have to be calculated using the amount and VAT rate/amount | 400 | ✅ | yes |
quantity | Amount or volume (number) of service(s) or items of the entry | 1 | ✅ | yes |
description | Name, description of customary indication, or type of the service or item | Kaffee | ✅ | yes |
vatRate | Represents the value-added tax (VAT) rate, where the last two digits represent the decimal component. For example, a value of 2400 corresponds to a VAT rate of 24.00%, and 850 corresponds to 8.50%. This fixed-point representation avoids floating-point precision issues. | 2000 | ✅ | yes |
ftChargeItemCase | Type of service or item according to the reference table in the appendix. For more details about ftChargeItemCase parameter, please click here. | 5139205309155246083 | ✅ | no |
Moment | Time of service (UTC format) | 2023-08-01T07:47:53.68Z | ✅ | no |
vatAmount | Can be used to calculate the net amount to avoid rounding errors | 80 | ✅ | yes |
ftChargeItemCaseData | Additional data about the service, currently accepted only in JSON format | {"taxable": true} | ❌ | currently not* |
accountNumber | Account number for transfer into bookkeeping | 1234 | ❌ | no |
costCenter | Indicator for transfer into cost accounting (type, center, and payer) | 1 | ❌ | no |
productGroup | This value allows the customer the logical grouping of products | Kaffee | ❌ | no |
productNumber | Value used to identify the product | 123 | ❌ | no |
productBarcode | Product’s barcode | 16514646137 | ❌ | currently not* |
unit | Unit of measurement | pcs | ❌ | no |
unitQuantity | Quantity of the service(s) of receipt entry, displayed in indicated units | - | ❌ | no |
unitPrice | Gross price per indicated unit | 400 | ❌ | no |
currencyCode | Used as currency code for money numbers in ISO 4217 | 978 | ✅ |
ftChargeItemCase Parameter for Germany
The ftChargeItemCase: in the ‘cbChargeItems’ object defines the type of service or item in the line item block and thus how Viva processes the individual receipts with regards to receipt generation. The data type is Int64 and contains a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.
Format
The format of the `ftChargeItemCase` parameter on line item level, should be as below.
Example for lineItem ftChargeItemCase : 4919338167972134913
Calculation: After you identify the type of service value (Eg: The value 4445000000000001 in hexadecimal format in the below table) you should convert it to its decimal equivalent(Eg: 4919338167972134913) and then include it in the request data.
A helpful online tool for your converting tests is [this](https://www.rapidtables.com/convert/number/hex-to-decimal.html).
Value | Description | UST_SCHLUESSEL (DSFinV-K) | GV_TYP (DSFinV-K) |
---|---|---|---|
4445000000000000 |
Unknown type of service for DE | 7 | Umsatz |
4445000000000001 |
Undefined type of service for DE normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Umsatz |
4445000000000002 |
Undefined type of service for DE discounted-1
1.1.2019: 7% (DE: Ermäßigter Steuersatz) |
2 | Umsatz |
4445000000000003 |
Undefined type of service for DE special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Umsatz |
4445000000000004 |
Undefined type of service for DE special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Umsatz |
4445000000000005 |
Undefined type of service for DE not taxable | 5 | Umsatz |
4445000000000006 |
Undefined type of service for DE zero | 6 | Umsatz |
4445000000000007 |
Undefined type of service for DE unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Umsatz |
4445000000000011 |
Delivery normal. For processing, see (4445000000000001) | 1 | Umsatz |
4445000000000012 |
Delivery discounted-1. For processing, see (4445000000000002) | 2 | Umsatz |
4445000000000013 |
Delivery special-1. For processing, see (4445000000000003) | 3 | Umsatz |
4445000000000014 |
Delivery special-2. For processing, see (4445000000000004) | 4 | Umsatz |
4445000000000015 |
Delivery not taxable. For processing, see (4445000000000005) | 5 | Umsatz |
4445000000000016 |
Delivery zero. For processing, see (4445000000000005) | 6 | Umsatz |
4445000000000017 |
Delivery unknown vat. For processing, see (4445000000000007) | 7 or > 1000 | Umsatz |
4445000000000019 |
Other services normal. For processing, see (4445000000000003) | 1 | Umsatz |
444500000000001A |
Other services discounted-1.For processing, see (4445000000000001) | 2 | Umsatz |
444500000000001B |
Other services special-1. For processing, see (4445000000000004) | 3 | Umsatz |
444500000000001C |
Other services special-2. For processing, see (4445000000000002) | 4 | Umsatz |
444500000000001D |
Other services not taxable. For processing, see (4445000000000005) | 5 | Umsatz |
444500000000001E |
Other services zero. For processing, see (4445000000000005) | 6 | Umsatz |
444500000000001F |
Other services unknown vat. For processing, see (4445000000000007) | 7 or > 1000 | Umsatz |
4445000000000021 |
Returnable normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Pfand |
4445000000000022 |
Returnable discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Pfand |
4445000000000023 |
Returnable special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Pfand |
4445000000000024 |
Returnable special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Pfand |
4445000000000025 |
Returnable not taxable | 5 | Pfand |
4445000000000026 |
returnable zero | 6 | Pfand |
4445000000000027 |
Returnable vat unknown.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Pfand |
4445000000000029 |
Returnable reverse normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | PfandRueckzahlung |
444500000000002A |
Returnable reverse discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | PfandRueckzahlung |
444500000000002B |
Returnable reverse special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | PfandRueckzahlung |
444500000000002C |
Returnable reverse special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | PfandRueckzahlung |
444500000000002D |
Returnable reverse not taxable | 5 | PfandRueckzahlung |
444500000000002E |
Returnable reverse zero | 6 | PfandRueckzahlung |
444500000000002F |
Returnable reverse vat unknown.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | PfandRueckzahlung |
4445000000000031 |
Discount normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Rabatt |
4445000000000032 |
Discount discounted-1 . 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Rabatt |
4445000000000033 |
Discount special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Rabatt |
4445000000000034 |
Discount special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Rabatt |
4445000000000035 |
Discount not taxable | 5 | Rabatt |
4445000000000036 |
Discount zero | 6 | Rabatt |
4445000000000037 |
Discount unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Rabatt |
4445000000000039 |
Extra charge normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Aufschlag |
444500000000003A |
Extra charge discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Aufschlag |
444500000000003B |
Extra charge special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Aufschlag |
444500000000003C |
Extra charge special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Aufschlag |
444500000000003D |
Extra charge not taxable | 5 | Aufschlag |
444500000000003E |
Extra charge zero | 6 | Aufschlag |
444500000000003F |
Extra charge unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Aufschlag |
4445000000000041 |
Unreal grant normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | ZuschussUnecht |
4445000000000042 |
Unreal grant discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | ZuschussUnecht |
4445000000000043 |
Unreal grant special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | ZuschussUnecht |
4445000000000044 |
Unreal grant special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | ZuschussUnecht |
4445000000000045 |
Unreal grant not taxable | 5 | ZuschussUnecht |
4445000000000046 |
Unreal grant zero | 6 | ZuschussUnecht |
4445000000000047 |
Unreal grant unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | ZuschussUnecht |
4445000000000049 |
Real grant not taxable | 5 | ZuschussEcht |
4445000000000051 |
Tip to owner normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | TrinkgeldAG |
4445000000000052 |
Tip to owner discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | TrinkgeldAG |
4445000000000053 |
Tip to owner special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | TrinkgeldAG |
4445000000000054 |
Tip to owner special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | TrinkgeldAG |
4445000000000055 |
Tip to owner not taxable | 5 | TrinkgeldAG |
4445000000000056 |
Tip to owner zero | 6 | TrinkgeldAG |
4445000000000057 |
Tip to owner unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | TrinkgeldAG |
4445000000000059 |
Tip to employee no vat | 5 | TrinkgeldAN |
4445000000000060 |
Voucher sale not taxable | 5 | MehrzweckgutscheinKauf |
4445000000000061 |
Coupon sales normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | EinzweckgutscheinKauf |
4445000000000062 |
Coupon sales discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | EinzweckgutscheinKauf |
4445000000000063 |
Coupon sales special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | EinzweckgutscheinKauf |
4445000000000064 |
Coupon sales special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | EinzweckgutscheinKauf |
4445000000000065 |
Coupon sales not taxable | 5 | EinzweckgutscheinKauf |
4445000000000066 |
Coupon sales zero | 6 | EinzweckgutscheinKauf |
4445000000000067 |
Coupon sales unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | EinzweckgutscheinKauf |
4445000000000068 |
Voucher redeem not taxable | 5 | MehrzweckgutscheinEinloesung |
4445000000000069 |
Coupon redeem normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | EinzweckgutscheinEinloesung |
444500000000006A |
Coupon redeem discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | EinzweckgutscheinEinloesung |
444500000000006B |
Coupon redeem special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | EinzweckgutscheinEinloesung |
444500000000006C |
Coupon redeem special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | EinzweckgutscheinEinloesung |
444500000000006D |
Coupon redeem not taxable | 5 | EinzweckgutscheinEinloesung |
444500000000006E |
Coupon redeem zero | 6 | EinzweckgutscheinEinloesung |
444500000000006F |
Coupon redeem unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | EinzweckgutscheinEinloesung |
4445000000000071 |
Receivable creation normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Forderungsentstehung |
4445000000000072 |
Receivable creation discounted-1 . 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Forderungsentstehung |
4445000000000073 |
Receivable creation special-1. 1.1.2019: 10,70% (DE: Durchschnittssatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Forderungsentstehung |
4445000000000074 |
Receivable creation special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Forderungsentstehung |
4445000000000075 |
Receivable creation not taxable | 5 | Forderungsentstehung |
4445000000000076 |
Receivable creation zero | 6 | Forderungsentstehung |
4445000000000077 |
Receivable creation unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Forderungsentstehung |
4445000000000079 |
Receivable reduction normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Forderungsaufloesung |
444500000000007A |
Receivable reduction discounted-1 . 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Forderungsaufloesung |
444500000000007B |
Receivable reduction special-1 . 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Forderungsaufloesung |
444500000000007C |
Receivable reduction special-2 . 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Forderungsaufloesung |
444500000000007D |
Receivable reduction not taxable | 5 | Forderungsaufloesung |
444500000000007E |
Receivable reduction zero | 6 | Forderungsaufloesung |
444500000000007F |
Receivable reduction unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Forderungsaufloesung |
4445000000000081 |
Down payment creation normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Anzahlungseinstellung |
4445000000000082 |
Down payment creation discounted-1. 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Anzahlungseinstellung |
4445000000000083 |
Down payment creation special-1. 1.1.2019: 10,70% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Anzahlungseinstellung |
4445000000000084 |
Down payment creation special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Anzahlungseinstellung |
4445000000000085 |
Down payment creation not taxable | 5 | Anzahlungseinstellung |
4445000000000086 |
Down payment creation zero | 6 | Anzahlungseinstellung |
4445000000000087 |
Down payment creation unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Anzahlungseinstellung |
4445000000000089 |
Down payment reduction normal. 1.1.2019: 19,00% (DE: Regelsteuersatz) | 1 | Anzahlungsaufloesung |
444500000000008A |
Down payment reduction discounted-1 . 1.1.2019: 7% (DE: Ermäßigter Steuersatz) | 2 | Anzahlungsaufloesung |
444500000000008B |
Down payment reduction special-1 . 1.1.2019: 10,70% (DE: Durchschnittssatz (§ 24 Abs. 1 Nr. 3 UStG) übrige Fälle) | 3 | Anzahlungsaufloesung |
444500000000008C |
Down payment reduction special-2. 1.1.2019: 5,50% (DE: Durchschnittsatz (§ 24 Abs. 1 Nr. 1 UStG)) | 4 | Anzahlungsaufloesung |
444500000000008D |
Down payment reduction not taxable | 5 | Anzahlungsaufloesung |
444500000000008E |
Down payment reduction zero | 6 | Anzahlungsaufloesung |
444500000000008F |
Down payment reduction unknown vat.
chargeItem.VATRate == 0.0 ? UST_SCHLUESSEL = 7 : UST_SCHLUESSEL = (chargeItem.VATRate * 100) + 1000 |
7 or > 1000 | Anzahlungsaufloesung |
4445000000000090 |
Cash transfer to empty till not taxable | 5 | Anfangsbestand |
4445000000000091 |
Cash transfer from till to owner not taxable | 5 | Privatentnahme |
4445000000000092 |
Cash transfer from owner to till not taxable | 5 | Privateinlage |
4445000000000093 |
Cash transfer from/to till not taxable | 5 | Geldtransit |
4445000000000094 |
Cash transfer from till to employee not taxable | 5 | Lohnzahlung |
4445000000000095 |
Cash transfer to cash book not taxable | 5 | Einzahlung |
4445000000000096 |
Cash transfer from cash book not taxable | 5 | Auszahlung |
4445000000000097 |
Cash amount difference from/to till not taxable | 5 | DifferenzSollIst |
44450000000000A1 |
Reverse charge | 5 | Umsatz |
44450000000000A2 |
Not own sales | 5 | Umsatz |
Example
The order includes one product, Coffee Latte, with grand total amount of 4 euro (1 item Coffee Latte x 4 euro ). The cbChargeItems sample is as below:
"cbChargeItems":
[
{
"amount": 400,
"description": "Coffee Latte",
"position": 1,
"quantity": 100,
"unit": "pcs",
"unitPrice": 400,
"vatAmount": 96,
"vatRate": 2400,
"currencyCode": "978",
"moment": "2025-04-24T13:13:28.545Z",
"ftChargeItemCaseData":
{
"taxable": true
},
"ftChargeItemCase": 5139205309155246083
}
]
cbPayItems Array
cbPayItems
array holds the payment details that the invoice includes.
Field Name | Description | Sample Data | Mandatory Field |
---|---|---|---|
amount | Total amount of payment | 400 | ✅ |
quantity | Number of payments. This value will be set to 1 in most of the cases. It can be greater than 1 e.g. when paying with multiple vouchers of the same value. | 1 | ✅ |
description | Name or description of payment | Card | ✅ |
ftPayItemCase | Type of payment according to the reference table in the appendix. It is used in order to determine the processing logic. For more details about ftPayItemCase parameter, please click here. | 5139205309155246085 | ✅ |
moment | Time of payment. Must be provided in UTC, e.g. 2020-06-29T17:45:40.505Z. | 2025-04-24T13:13:28.545Z | ✅ |
position | Line number or position number on the receipt. Used to preserve the order of lines on the receipt. | 1 | ✅ |
currencyCode | Used as currency code for money numbers in ISO 4217 | 978 | ✅ |
accountNumber | Account number for transfer into bookkeeping | String | ❌ |
costCenter | Indicator for transfer into cost accounting (type, center and payer) | String | ❌ |
moneyGroup | This value allows the logical grouping of payment types. | String | ❌ |
moneyNumber | This value identifies the payment type. | String | ❌ |
ftPayItemCase Parameter for Germany
The ftPayItemCase in the ‘cbPayItems’ object indicates the type of payment within the pay items block and defines how the Viva Fiscalisation processes the individual payment in terms of the receipt. The data type is Int64 and contains a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.
Format
The format of the `ftPayItemCase` parameter on payments item level, should be as below.
Example for payments ftPayItemCase : 4919338167972134913
Calculation: After you identify the type of payment value (Eg: The value 4445000000000001 in hexadecimal format in the below table) you should convert it to its decimal equivalent(Eg: 4919338167972134913) and then include it in the request data.
A helpful online tool for your converting tests is [this](https://www.rapidtables.com/convert/number/hex-to-decimal.html).
Value | Description | ZAHLART_TYP (DSFinV-K) |
---|---|---|
4445000000000000 |
Unknown payment type for DE
This is handled like a cash payment in national currency. |
Bar |
4445000000000001 |
Cash payment in national currency | Bar |
4445000000000002 |
Cash payment in foreign currency | Bar |
4445000000000003 |
Crossed cheque | Unbar |
4445000000000004 |
Debit card payment | ECKarte |
4445000000000005 |
Credit card payment | Kreditkarte |
4445000000000006 |
Online payment | ElZahlungsdienstleister |
4445000000000007 |
Customer card payment | Guthabenkarte |
4445000000000008 |
SEPA transfer | Unbar |
4445000000000009 |
Other Bank transfer | Unbar |
444500000000000A |
Internal / material consumption | Keine |
444500000000000B |
Change in national currency | Bar |
444500000000000C |
Change in foreign curreny | Bar |
444500000000000D |
Voucher
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount gets converted to GV_TYP=MehrzweckgutscheinKauf. Positive amount gets converted to TYP_GV=MehrzweckgutscheinEinlösung. amount=-amount. In case of void-receipt everything is returned. |
Keine |
444500000000000E |
Receivable
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount gets converted to GV_TYP=Forderungsauflösung. Positive amount gets converted to GV_TYP=Forderungsentstehung. amount=-amount. In case of cancellation-receipt the +/- sign has to be returned. |
Keine |
444500000000000F |
Down payment
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount gets converted to GV_TYP=Anzahlungseinstellung. Positive amount gets converted to GV_TYP=Anzahlungsaufloesung. amount=-amount. In case of void-receipt everything is returned. Not valid for taxable down payments, where it is clearly defined what the service is for. |
Keine |
4445000000000010 |
Tip to employee
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount required, get converted to GV_TYP=TrinkgeldAN. amount=-amount. In case of void-receipt everything returned. |
Keine |
4445000000000011 |
(real) Grant
not taxable DSFinV-K transformation required. UST_Schluessel=5. Positive amount required, get converted to GV_TYP=ZuschussEcht. amount=-amount. In case of void-receipt everything is returned. |
Keine |
4445000000000012 |
Cash transfer to empty till
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount required, get converted to GV_TYP=Anfangsbestand. amount=-amount. In case of void-receipt everything is returned. |
Keine |
4445000000000013 |
Cash transfer from/to owner
not taxable DSFinV-K transformation required. UST_Schluessel=5. Negative amount gets converted to GV_TYP=Privateinlage. Positive amount gets converted to GV_TYP=Privatentnahme. amount=-amount. In case of void-receipt everything is returned |
Keine |
4445000000000014 |
Cash transfer from/to till
not taxable DSFinV-K transformation required. UST_Schluessel=5. GV_TYP=Geldtransit. amount=-amount. Cash transfer from till is positive amount, cash transfer to till is negative amount. |
Keine |
4445000000000015 |
Cash transfer to employee
not taxable DSFinV-K transformation required. Positive amount required, get converted to UST_Schluessel=5.GV_TYP=Lohnzahlung. amount=-amount. |
Keine |
4445000000000016 |
Cash transfer from/to cash book
not taxable DSFinV-K transformation required. Negative amount gets converted to GV_TYP=Einzahlung. Positive amount gets converted to GV_TYP=Auszahlung. amount=-amount. In case of void-receipt everything is returned |
Keine |
4445000000000017 |
Cash amount difference from/to till
not taxable DSFinV-K transformation required. UST_Schluessel=5. GV_TYP=DifferenzSollIst. amount=-amount. Cash transfer from till is positive amount, cash transfer to till is negative amount. |
Keine |
Example
The order includes one product, Coffee Latte, with grand total amount of 4 euro (1 item Coffee Latte x 4 euro ). The cbPayItems
sample is as below:
"cbPayItems": [
{
"amount": 400,
"description": "Card",
"position": 1,
"currencyCode": "978",
"moment": "2025-04-24T13:13:28.545Z",
"ftPayItemCase": 5139205309155246085
}
]
cbUser Object
cbUser object indicates the user, who creates the receipt. Although all string values are supported, we suggest using data structures serialized into JSON format.
Example
"cbUser": {
"merchantName": "Merchant",
"cashier": {
"name": "John Doe",
"id": 10
}
}
cbCustomer Object
cbCustomer object is used when the receipt is for a business customer.
Field Name | Description | Sample Data | Mandatory Field |
---|---|---|---|
customerName | Name of beneficiary customer. | John Dohn's Company | ❌ |
customerStreet | Street and house number of the beneficiary customer. | York Road | ❌ |
customerZip | Zip of the beneficiary customer. | 1234 | ❌ |
customerCity | City of the beneficiary customer. | Athens | ❌ |
customerCountry | Country of the beneficiary customer. [ISO 3166 ALPHA-3 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). | GRC | ❌ |
customerVATId | VAT-ID of the beneficiary customer. | EL999999 | ❌ |
Example
"cbCustomer":
{
"customerVATId": "EL999999",
"customerCountry": "GRC",
"customerName": "Professional Services LTD",
"customerStreet": "Street 18-20",
"customerZip": "99999",
"customerCity": "Athens"
}
Understanding ftReceiptCase for Germany
The ftReceiptCase in the ‘main body’ indicates the receipt type and defines how it should be processed by the Viva Fiscalisation. The data type is Int64 and contains the country specific code, which is a value following the ISO-3166-1-ALPHA-2 standard converted from ASCII into hex and used as byte 8 and 7. For definitions regarding national laws, please refer to each country seperately.
For Germany (DE), the country code is 4445. Thus, the value of an unknown ftReceiptCase in Germany is 4445000000000000.
Example for POS receipt : 4445000000000001
The value 4445000000000001 is in hexadecimal format and needs to be converted to its decimal equivalent, which is 4919338167972134913. Therefore, the value to be included in the request body should be 4919338167972134913.
A helpful online tool for your converting tests is [this](https://www.rapidtables.com/convert/number/hex-to-decimal.html).
Value | Description | BON_TYP (DSFinV-K)
processType (TSE) |
---|---|---|
4445000000000000 |
Unknown type for country-code "DE"
This receipt case is handled like a "pos-receipt" ( 4445000000000001 ). See below: |
Beleg
Kassenbeleg-V1 |
4445000000000001 |
Pos-receipt
Represents the main kind of receipt processed by a POS-System. Creates a turnover and/or change in the amount of cash in the till or similar operations. Use the ftChargeItemCase and ftPayItemCase to hand over details for processing. The ftChargeItemCase and ftPayItemCase should contain the full final state of the receipt. Turnover and cash amount
is increased by the final pos-receipt content, intermediate start-transaction, update-transaction and delta-transaction content doesn't influence turnover and cash amount. The pos-receipt case can be used with implicit and explicit flow.
The duration of the represented action is calculated using the minimum (start time) and maximum (end time) of datetimes over ftReceiptCase /ftChargeItemCase /ftPayItemCase
The BON_TYP (Beleg) of DSFinV-K can be overwritten by an ftReceiptCaseFlag . |
Beleg
Kassenbeleg-V1 |
4445000000000002 |
Zero-receipt
Used for communication test and functional test of the Viva Fiscalisation. In addition, the response also contains a detailed status information about the used TSE-Device. TSE data is herefore loaded and that may cause a long running request. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. Using it without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception.
If you want to end an ongoing transaction without turnover (e.g. all items on a receipt are voided) then please use a regular ftReceiptCase .
Informations returned in the response are:
|
[none]
SonstigerVorgang |
4445000000000003 |
Initial operation receipt / start-receipt
The request is only valid with the same property requirements as a zero-receipt. It initialises a new Viva Fiscalisation including the used TSE in the background. Depending on the TSE-Type used, this includes different actions. On successful initialisation, a notification is created which includes the queue-id, scu-id, certificate/public-key, tse-serialnumber=hash(public-key). This notification needs to be reported to the tax administration. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. calling without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
SonstigerVorgang |
4445000000000004 |
Out of operation receipt / stop-receipt
The request is only valid with the same property requirements as a zero-receipt. It is disabling the Viva Fiscalisation including the deactivation of the client ID used in the TSE for the current queue. This request also permanently disables the connected TSE, which is an irreversible action on production TSEs. Optionally, one can avoid deactivating the TSE using the ftReceiptCaseFlag 0x0000000001000000 (see below).
On successful deactivation, a notification is created which includes the queue-id, scu-id, certificate/public-key, tse-serialnumber=hash(public-key). This notification needs to be reported to tax administration. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. Calling without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
SonstigerVorgang |
4445000000000005 |
Monthly-closing
This receipt case works only with implicit flow. Calling without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. This is a zero-receipt. It is recommended to
send this receipt at the end of each month to define the time of the accounting closure. |
[none]
SonstigerVorgang |
4445000000000006 |
Yearly-closing
This receipt case works only with implicit flow. Calling without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
SonstigerVorgang |
4445000000000007 |
Daily-closing
This receipt case works only with implicit flow. Calling without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. This is a zero-receipt. It is required to send
this receipt at the end of each day to define the time of the accounting closure. |
[none]
SonstigerVorgang |
4445000000000008 |
Start-transaction-receipt
Starts a new, unfinished action. Use ftChargeItemCase and ftPayItemCase to hand over already known details for the final receipt. Using the same cbReceiptReferece in further calls connects the action items.
This receipt case works only with explicit flow. Calling with the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
[empty] |
4445000000000009 |
Update-transaction-receipt
Updates an ongoing action. Use ftChargeItemCase and ftPayItemCase to hand over all details for the final receipt. Using the same cbReceiptReferece in further calls connects the action items.
This receipt case works only with explicit flow. Calling with the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
[empty] |
444500000000000A |
Delta-transaction-receipt
Updates an ongoing action. Use ftChargeItemCase and ftPayItemCase to hand over changes for the final receipt. Using the same cbReceiptReferece in further calls connects the action items.
This receipt case works only on explicit flow. Calling with the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
[empty] |
444500000000000B |
Fail-transaction-receipt
Fails an ongoing transaction. It tries to finish either one or multiple open transaction (accepts fail, continue on fail) and clears the cbReceiptReferece <-> Transaction-ID relations.
To close single open transactions, an explicit fail-transaction receipt needs to be used. The open transaction needs to be referenced via cbReceiptReference . If this value is not provided
or no open transaction exists, the Viva Fiscalisation will throw an exception and the call will fail.
To close multiple open transactions, an implicit fail-transaction receipt needs to be sent. This can also be used to close transactions that were not opened by the Viva Fiscalisation (e.g. manually during testing). The transaction numbers that should be closed need to be passed via JSON in ftReceiptCaseData , using the array property CurrentStartedTransactionNumbers (e.g.: ftReceiptCaseData: "{\"CurrentStartedTransactionNumbers\": [1, 2, 3]}" ).
cbReceiptReference must be empty in this case, otherwise the Viva Fiscalisation will throw an exception and return an error. |
AVBelegabbruch
Kassenbeleg-V1 |
444500000000000C |
B2B-invoice
The BON_TYP (Beleg) of DSFinV-K can be overwritten by an ftReceiptCaseFlag . |
Beleg
Kassenbeleg-V1 |
444500000000000D |
B2C-invoice
The BON_TYP (Beleg) of DSFinV-K can be overwritten by an ftReceiptCaseFlag . |
Beleg
Kassenbeleg-V1 |
444500000000000E |
Info-invoice
|
AVRechnung
Kassenbeleg-V1 |
444500000000000F |
Info-delivery-note
|
AVTransfer
Kassenbeleg-V1 |
4445000000000010 |
Info-order
To be used when goods are already delivered to customer and the ftPayItemCase array of the request is filled. Usually, this is filled by using ftPayItemCase material consumption ('444500000000000A').
(ReceiptRequest.PayItems != []) |
AVBestellung
Kassenbeleg-V1 |
4445000000000010 |
Info-order
To be used when recording an ongoing order and the ftPayItemCase array of the request is empty. This request must contain at least one ftChargeItemCase entry, empty ftChargeItemCase array is not allowed.
(ReceiptRequest.PayItems == [] and ReceiptRequest.ChargeItems != []) |
[none]
Bestellung-V1 |
4445000000000011 |
Cash deposit / cash pay-in / cash pay-out / exchange
The BON_TYP (Beleg) of DSFinV-K can be overwritten by an ftReceiptCaseFlag . |
Beleg
Kassenbeleg-V1 |
4445000000000012 |
Material consumption
|
AVSachbezug
Kassenbeleg-V1 |
4445000000000013 |
Info-internal
First case: "charge items and pay items exist" (ReceiptRequest.ChargePayItems != [] && ReceiptRequest.PayItems != []) |
AVSonstige
Kassenbeleg-V1 |
4445000000000013 |
Info-internal
Second case: "no charge items or no pay items" (ReceiptRequest.ChargePayItems == [] \|\| ReceiptRequest.PayItems == []) |
[none]
SonstigerVorgang |
4445000000000014 |
Protocol
|
[none]
SonstigerVorgang |
4445000000000015 |
Foreign sales
|
To be used in case of a sale in a country where there is no need to fiscalize. For example you have a German foodtruck and goes to Hungary and sell food there.
Kassenbeleg-V1 |
4445000000000016 |
Cancel/void a receipt
Please note that according to the DSFinV-K, this receipt type can only be used on systems without a TSE. For "regular" cancellations, please use the respective ftReceiptCaseFlag. |
AVBelegstorno
Kassenbeleg-V1 |
4445000000000017 |
Initiate SCU switch
This request is only valid with the same property requirements as a zero-receipt and can only be used after the SCU switch process was initiated in the Viva Fiscal API. It disconnects the Queue from the currently used, "old" SCU, hence preparing it for connecting another SCU. To finish this process, a finish SCU switch receipt has to be called (see below). On successful execution, a notification is created which includes relevant data for financial authority notifications. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. |
[none]
SonstigerVorgang |
4445000000000018 |
Finish SCU switch
This request is only valid with the same property requirements as a zero-receipt and can only be used after the SCU switch process was initiated in the Viva Fiscal API. On successful execution, a notification is created which includes relevant data for financial authority notifications. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. Calling it without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
SonstigerVorgang |
4445000000000019 |
Prepare Queue for (cloud) migration
This request is only valid with the same property requirements as a zero-receipt. It permanently sets the currently installed instance of this Queue (on the current machine) to readonly-mode to prepare it for the migration to another runtime environment, e.g. to the CloudCashbox. This is required to prevent concurrent signatures on different instances; the migration wizard in the fiscalisation Portal will verify that the last receipt sent to the Queue is of this type before performing the actual migration. Please note that this receipt will prevent any further sign operations in the current installed version of the Queue, and signing will only be again possible after the Queue was migrated to e.g. the CloudCashbox. The request is only valid when the charge items block ( ftChargeItemCase ) and the pay items block (ftPayItemCase ) in the ftReceiptRequest are empty arrays.
This receipt case works only with implicit flow. Calling it without the ftReceiptCaseFlag 0x0000000100000000 ends up in an exception. |
[none]
SonstigerVorgang |
Examples of Usage
fiscalisationData for Cloud REST API and Local Terminal API integrations
For Cloud REST API and P2P(LOCAL Terminal API) integrations, please add fiscalisationData
JSON object to the request body. This aproach is valid for both standard and ISV integrations.
- JSON Format
"fiscalisationData": {
"cbChargeItems": [
{
"amount": 1,
"description": "description 1",
"position": 1,
"quantity": 100,
"unit": "pcs",
"unitPrice": 1,
"vatAmount": 1,
"vatRate": 2400,
"currencyCode": "978",
"moment": "2025-04-22T13:53:32.205Z",
"ftChargeItemCaseData": {
"taxable": true
},
"ftChargeItemCase": 5139205309155246083
}
],
"cbPayItems": [
{
"amount": 1,
"description": "Card",
"position": 1,
"currencyCode": "978",
"moment": "2025-04-22T13:53:32.205Z",
"ftPayItemCase": 5139205309155246085
}
],
"cbUser": {
"merchantName": "Merchant",
"cashier": {
"name": "John Doe",
"id": 10
}
},
"cbReceiptMoment": "2025-04-22T13:53:32.205Z",
"cbReceiptReference": "Unique reference of the receipt",
"ftReceiptCase": 5139205309155246085,
"currencyCode": "978"
}
fiscalisationData for Interapp(app2app) Integration
For Interapp(app2app) integration, you should encode fiscalisationData JSON object as base64 format and pass it as uri parameter
- Base64 format
ewogICAgImNiQ2hhcmdlSXRlbXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAiYW1vdW50IjogMSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImRlc2NyaXB0aW9uIDEiLAogICAgICAgICAgICAicG9zaXRpb24iOiAxLAogICAgICAgICAgICAicXVhbnRpdHkiOiAxMDAsCiAgICAgICAgICAgICJ1bml0IjogInBjcyIsCiAgICAgICAgICAgICJ1bml0UHJpY2UiOiAxLAogICAgICAgICAgICAidmF0QW1vdW50IjogMSwKICAgICAgICAgICAgInZhdFJhdGUiOiAyNCwKICAgICAgICAgICAgImN1cnJlbmN5Q29kZSI6ICI5NzgiLAogICAgICAgICAgICAibW9tZW50IjogIjIwMjUtMDQtMjJUMTM6NTM6MzIuMjA1WiIsCiAgICAgICAgICAgICJmdENoYXJnZUl0ZW1DYXNlRGF0YSI6IHsKICAgICAgICAgICAgICAgICJ0YXhhYmxlIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICAiZnRDaGFyZ2VJdGVtQ2FzZSI6IDUxMzkyMDUzMDkxNTUyNDYwODMKICAgICAgICB9CiAgICBdLAogICAgImNiUGF5SXRlbXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAiYW1vdW50IjogMSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNhcmQiLAogICAgICAgICAgICAicG9zaXRpb24iOiAxLAogICAgICAgICAgICAiY3VycmVuY3lDb2RlIjogIjk3OCIsCiAgICAgICAgICAgICJtb21lbnQiOiAiMjAyNS0wNC0yMlQxMzo1MzozMi4yMDVaIiwKICAgICAgICAgICAgImZ0UGF5SXRlbUNhc2UiOiA1MTM5MjA1MzA5MTU1MjQ2MDg1CiAgICAgICAgfQogICAgXSwKICAgICJjYlVzZXIiOiB7CiAgICAgICAgIm1lcmNoYW50TmFtZSI6ICJNZXJjaGFudCIsCiAgICAgICAgImNhc2hpZXIiOiB7CiAgICAgICAgICAgICJuYW1lIjogIkpvaG4gRG9lIiwKICAgICAgICAgICAgImlkIjogMTAKICAgICAgICB9CiAgICB9LAogICAgImNiUmVjZWlwdE1vbWVudCI6ICIyMDI1LTA0LTIyVDEzOjUzOjMyLjIwNVoiLAogICAgImNiUmVjZWlwdFJlZmVyZW5jZSI6ICJVbmlxdWUgcmVmZXJlbmNlIG9mIHRoZSByZWNlaXB0IiwKICAgICJmdFJlY2VpcHRDYXNlIjogNTEzOTIwNTMwOTE1NTI0NjA4NSwKICAgICJjdXJyZW5jeUNvZGUiOiAiOTc4Igp9
E-commerce
While the Fiscal API is not yet available for web payments, it will be launching soon.
Account Setup
To activate fiscalization for your integration, please contact your sales representative.
Get Support
If you would like to integrate with Viva, or if you have any queries about our products and solutions, please see our Contact & Support page to see how we can help!