Greece-ChargeItemCase
Country selector
What is a Charge Item?
A Charge Item is a single line item on the receipt/invoice — e.g. Coffee Latte, Delivery fee, Tip, Voucher sale.
You send line items inside fiscalisationData.cbChargeItems[].
Each line item typically includes:
- Commercial values:
amount,quantity,vatRate,vatAmount - Display / ordering:
description,position - Fiscal classification:
ftChargeItemCase(country-specific Int64)
In short: cbChargeItems drives what the customer sees as lines, and what the fiscal provider reports per VAT regime/rate.
Amounts & scaling rules (important)
amountandvatAmountare in the smallest currency unit (e.g., cents for EUR).vatRateis a fixed-point integer:
2400→ 24.00%,850→ 8.50%quantityis scaled by 100 (send1as100,2.5as250, etc.)
cbChargeItems (fields — common)
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. Please note: The quantity should always be multiplied by 100. For example, send 1 as 100 |
100 | ✅ | yes |
| position | Line number or position number on the receipt. Used to preserve the order of lines on the receipt. | 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. | See Below how to construct the decimal Int64. | ✅ | no |
| moment | Time of service (UTC format) | 2023-08-01T07:47:53Z | ✅ | no |
| vatAmount | The VAT portion included in the total amount. It is calculated using the formula: vatAmount = (net * vatRate) / 10000, where vatRate is provided in fixed-point format (e.g., 2400 = 24.00%). The result should always be rounded according to your local fiscal rules and provided in the smallest currency unit—for example, cents (so €0.80 is sent as 80) |
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 | ✅ |
Understanding ftChargeItemCase
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.
- CCCC – Country (ASCII of ISO 3166-1 alpha-2), e.g. GR → hex
4752 - vlll – Tagging version (current:
2000) - gggg – Flag bits (behavior modifiers)
- NN – Nature of VAT
- S – Type of Service
- V – VAT code
Send the decimal Int64 in the API. Examples below show the human-readable hex; convert to decimal before sending.
A helpful online tool for your converting tests is this.
Flag (gggg) — common
| Value | Description |
|---|---|
0000 | Sale — default. |
0001 | IsVoid — void previous position; invert quantity/amount vs original. |
0002 | IsReturn / IsRefund — return of goods/services; invert sign. |
0004 | Discount/Extra — applies to previous position. (+) extra, (–) discount. |
0008 | Downpayment — (+) create, (–) reduce downpayment. |
0010 | Returnable — handout vs reverse by sign. |
0020 | TakeAway — marks takeaway for special VAT rules. |
8000 | ShowInPayments — show after total; invert amount and exclude from visual total. |
NN — Nature of VAT (per-country)
The NN code meaning is common, but specific legal regimes / notes differ per country.
Choose a country above; only that country’s NN table will be shown.
Greece — NN: Nature of VAT
| NN | Meaning (Common / Generic) | GR — Notes |
|---|---|---|
| 00 | Usual VAT applies | Usual VAT applies Tail receipt with current rates. |
| 10 | Not Taxable (1x for country specifics) |
Not Taxable. 1X can be used to specify more country specific details. For example, IGL. [11] (myDATA: 14) Article 33 — Intra-community supplies. Χωρίς ΦΠΑ - άρθρο 33 του Κώδικα ΦΠΑ [12] (myDATA: 8) Article 29 — Export of goods outside of EU. Χωρίς ΦΠΑ - άρθρο 29 του Κώδικα ΦΠΑ [13] (myDATA: 28) TAXFREE retail to non-EU citizens. Χωρίς ΦΠΑ – άρθρο 29 περ. β’ παρ.1 του Κώδικα ΦΠΑ [14] (myDATA: 16) Article 45 — Reverse charge (recipient pays VAT). Χωρίς ΦΠΑ - άρθρο 45 του Κώδικα ΦΠΑ [15] (myDATA: 6) Article 24 — Bottle recycling, ticket sales, newspapers, magazines. Χωρίς ΦΠΑ - άρθρο 24 του Κώδικα ΦΠΑ [16] (myDATA: 7) Article 27 — Medical, insurance, banking, sale of 1st residence, etc. Χωρίς ΦΠΑ - άρθρο 27 του Κώδικα ΦΠΑ |
| 20 | Not Subject (2x for country specifics) | Not Subject. 2X can be used to specify more country-specific details. |
| 30 | Exempt (3x) |
Exempt. 3X for specific regimes. [31] (myDATA: 20) Article 50 — Travel agencies, special regime. ΦΠΑ εμπεριεχόμενος - άρθρο 50 του Κώδικα ΦΠΑ [32] (myDATA: 9) Article 30 — Special customs regimes (warehouses, active processing etc.). Χωρίς ΦΠΑ - άρθρο 30 του Κώδικα ΦΠΑ [33] (myDATA: 15) Article 44 — Special regime for small businesses (<10K invoices). Χωρίς ΦΠΑ - άρθρο 44 του Κώδικα ΦΠΑ [35] (mydata:27) Miscellaneous VAT exemptions - Λοιπές Εξαιρέσεις ΦΠΑ |
| 40 | Margin scheme (VAT not shown) |
Margin scheme. Do not print/show VAT rate and amount on receipt/invoice. 4X can be used to specify more country specific details. [41] (myDATA: 22) Article 52 — Special regime for second-hand goods, art, collectibles etc. Χωρίς ΦΠΑ εμπεριεχόμενος - άρθρο 52 του Κώδικα ΦΠΑ |
| 50 | Reverse charge (5x) |
Reverse charge. 5X for specific reverse-charge scenarios. [51] (myDATA: 19) Article 54 — Investment gold regime and related transactions. Χωρίς ΦΠΑ - άρθρο 54 του Κώδικα ΦΠΑ |
| 60 | VAT paid in other EU country (6x) |
VAT paid in other EU country. 6X for location-based taxation. [61] (myDATA: 3) Article 17 — Goods located outside Greece during sale, intra-EU on boats/planes. Χωρίς ΦΠΑ - άρθρο 17 του Κώδικα ΦΠΑ [62] (myDATA: 4) Article 18 — Services taxed outside Greece (incl. digital, catering abroad). Χωρίς ΦΠΑ - άρθρο 18 του Κώδικα ΦΠΑ |
| 70 | VAT distribution | VAT distribution (where configured). Typically used where only aggregated VAT per day is reported. |
| 80 | Excluded (8x) |
Excluded. 8X for out-of-scope / special exclusions. [81] (myDATA: 1) Articles 2 & 3 — Transactions outside VAT scope (compensations, grants, etc.). Χωρίς ΦΠΑ - άρθρο 2 και 3 του Κώδικα ΦΠΑ [82] (myDATA: 2) Article 5 — Transfer of a business (as a whole / branch / part). Χωρίς ΦΠΑ - άρθρο 5 του Κώδικα ΦΠΑ [83] (myDATA: 10) Article 31 — Rare tax warehouse cases. Χωρίς ΦΠΑ - άρθρο 31 του Κώδικα ΦΠΑ [84] (myDATA: 11) Article 32 — Exemptions for ships, aircraft, diplomats, NATO, refugees, etc. Χωρίς ΦΠΑ - άρθρο 32 του Κώδικα ΦΠΑ |
S — Type of Service (per-country notes)
The S code meaning is common, but country notes/requirements are fully split by country.
Choose a country above; only that country’s table will be shown.
Greece — S: Type of Service
| S (Hex) | Meaning (Common / Generic) | GR — Notes |
|---|---|---|
| 0 | Unknown type of service | Unknown type of service |
| 1 | Delivery (supply of goods) | Merchandise (1_1) — meant for resale. |
| 2 | Other service (supply of service) | Other service (supply of service) |
| 3 | Tip |
|
| 4 | Voucher |
|
| 5 | Catalog service | Goods (1_2) — self-produced goods. |
| 6 | Not own sales / Agency business | Sales on behalf of third parties / agency. |
| 7 | Own consumption | Own consumption. |
| 8 | Grant |
|
| 9 | Receivable |
|
| A | Cash transfer |
|
| F | Reserved / Tax Specific |
Super specific type of tax (e.g. withholding) - Detailed definition in NN - V=8 required && S=F - Use separate charge item with negative amount, description exactly as myDATA, etc. |
Portgual — S: Type of Service
| Value | Description |
|---|---|
0 | Unknown type of service With the help of the VAT-rates table saved within Viva fiscalisation. |
1 | Delivery (supply of goods) |
2 | Other service (supply of service) |
3 | Tip For owner use V=0 to 7, related to total amount For Employee use V=8, Not Taxable(as of 1.1.2022, this is calculated with 5%). |
4 | Voucher For Single-Use-Voucher use V=0 to 7 For Multi-Use-Voucher use V=8, Not Taxable Voucher Sale is a positive (+) amount. Voucher Redeem is a negative (-) amount. IsVoid can be applied to reverse amounts. Avoid to use this for Multi-Use-Voucher, use PayItem instead, with ShowInChargeItems flag. For Single-Use-Voucher, apply the ShowInPayItems flag to visualize it similar to payment and to keep the total amount unreduced. |
5 | Catalog service |
6 | Not own sales / Agency business |
7 | Own Consumption |
8 | Grant For Unreal Grant use V=0 to 7 For Real Grant use V=8 |
9 | Receivable Receiveable creation is negative (-) amount Receiveable reduction is positive (+) amount. IsVoid can be applied to reverse amounts. Avoid to use this, use PayItem instead. |
A | Cash Transfer Cash Transfer to till is positive (+) amount Cash Transfer from till is negative (-) amount. Only useable with V=8, Not Taxable. IsVoid can be applied to reverse amounts |
V — VAT (per-country mapping)
Core meanings are common; rate indices or usage may vary by country.
Choose a country above; only that country’s V table will be shown.
Greece — V: VAT
| V | Meaning (Common / Generic) | GR — Notes |
|---|---|---|
| 0 | Unknown VAT type | Unknown VAT type / mapping. |
| 1 | Discounted-1 VAT rate |
Discounted-1 VAT rate. Typical Greek reduced rates: 17%, 13%, 9%, 6% (myDATA: 4, 2, 5, 3). |
| 2 | Discounted-2 VAT rate |
Discounted-2 VAT rate. Same reduced bucket as above, depending on product/service: 17%, 13%, 9%, 6% (myDATA: 4, 2, 5, 3). |
| 3 | Normal VAT rate |
Normal VAT rate. 24% (myDATA: 1). |
| 4 | Super reduced 1 VAT rate |
Super reduced 1 VAT rate. 4% (myDATA: 6). |
| 5 | Super reduced 2 VAT rate |
Super reduced 2 VAT rate. 4% (myDATA: 6). |
| 6 | Parking VAT rate |
Parking VAT rate (reversal of tax liability etc.). Currently not mapped to specific myDATA code. |
| 7 | Zero VAT rate |
Zero VAT rate. 0% (myDATA: 7). |
| 8 | Not taxable |
Not taxable (0% output VAT for the item). 0% (myDATA: 8). |
Examples (per-country)
Each example shows: (a) the human-readable pattern, (b) what it means, and (c) the value you send to the API (decimal Int64).
Greece — goods item (24% VAT)
| Human-readable pattern | 4752_2000_0000_00_1_3 |
|---|---|
| Meaning |
|
| API value | 5139205309155246083 (decimal Int64) |
{
"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:28Z",
"ftChargeItemCase": 5139205309155246083
}
]
}
Rule: in requests, always send the decimal Int64 (not the hex pattern).
Conversion reminder
All CCCC_vlll_… show the human-friendly hex. Always send decimal Int64 in the API.