Taxes, fees, deductions¶
Apart from VAT, a document can carry withholding tax, fees, other taxes, the digital transaction fee (formerly stamp duty) and deductions. There are two ways to report them. You choose one per document.
| Per line | At document level (taxesTotals) |
|
|---|---|---|
| Where | On each invoiceDetails[]: withheldAmount + withheldPercentCategory, feesAmount + feesPercentCategory, etc. |
In the taxesTotals[] array, one entry per tax |
| When | When the tax applies to specific lines | When it applies to the whole document. Required for B2G. |
| Printing | Automatic | With taxTypeLabel (required) and reducesPayable |
How the total is calculated¶
totalGrossValue = totalNetValue + totalVatAmount
− totalWithheldAmount
+ totalFeesAmount + totalStampDutyAmount + totalOtherTaxesAmount
− totalDeductionsAmount
The sum of paymentMethods[].amount must equal this amount.
taxesTotals: one entry per tax¶
taxType |
Kind | taxCategory from the table |
Reduces the amount payable |
|---|---|---|---|
| 1 | Withholding tax | Withholding taxes | yes |
| 2 | Fees | Fees | no |
| 3 | Other taxes | Other taxes | no |
| 4 | Digital transaction fee | Digital transaction fee | no |
| 5 | Deductions | — | yes |
Example: 4% withholding on a €100 invoice
"taxesTotals": [
{ "taxType": 1, "taxCategory": 6, "underlyingValue": 100, "taxAmount": 4.00,
"reducesPayable": true, "taxTypeLabel": "Παρακράτηση φόρου 4%" }
]
Rate and amount must match
When the category is a percentage (e.g. 4%), the amount must be that percentage of the value. When the category is an "amount" (e.g. accommodation tax), you send the amount that applies.
Ready-made examples¶
Both files describe the same invoice (€100 + 24% VAT, with every kind of tax), once per line and once at document level. They are examples of structure, not tax advice.
Taxes per line
{
"invoice": [
{
"issuer": {
"vatNumber": "123456789",
"country": "GR",
"branch": 0
},
"counterpart": {
"vatNumber": "987654324",
"country": "GR",
"branch": 0,
"address": {
"street": "Οδός Πελάτη",
"number": "10",
"postalCode": "15772",
"city": "Ζωγράφου"
}
},
"invoiceHeader": {
"series": "A",
"aa": "1010",
"issueDate": "2026-09-24",
"invoiceType": "1.1",
"currency": "EUR"
},
"paymentMethods": [
{
"type": 3,
"amount": 125.7
}
],
"invoiceDetails": [
{
"lineNumber": 1,
"lineCode": "SRV-100",
"quantity": 1,
"measurementUnit": 1,
"measurementUnitLabel": "ΤΜΧ",
"lineUnitPrice": 100,
"totalNetPriceBeforeDiscount": 100,
"totalDiscountValue": 0,
"netValue": 100,
"vatCategory": 1,
"vatCategoryPercent": 24,
"vatAmount": 24,
"lineDescription": "Προϊόν Α",
"withheldPercentCategory": 6,
"withheldAmount": 4.0,
"feesPercentCategory": 10,
"feesAmount": 2.0,
"otherTaxesPercentCategory": 17,
"otherTaxesAmount": 3.0,
"stampDutyPercentCategory": 1,
"stampDutyAmount": 1.2,
"deductionsAmount": 0.5,
"incomeClassification": [
{
"classificationType": "E3_561_001",
"classificationCategory": "category1_1",
"amount": 100
}
]
}
],
"invoiceSummary": {
"totalNetValue": 100,
"totalVatAmount": 24,
"totalWithheldAmount": 4.0,
"totalFeesAmount": 2.0,
"totalStampDutyAmount": 1.2,
"totalOtherTaxesAmount": 3.0,
"totalDeductionsAmount": 0.5,
"totalGrossValue": 125.7,
"incomeClassification": [
{
"classificationType": "E3_561_001",
"classificationCategory": "category1_1",
"amount": 100
}
]
},
"providerAdditionalInvoiceDetails": {
"issuer": {
"name": "TEST ISSUER ΙΚΕ",
"profession": "Εμπόριο ειδών θέρμανσης",
"taxoffice": "Α' Αθηνών",
"addressStreet": "Οδός Δοκιμής",
"addressNumber": "1",
"addressPostalCode": "10431",
"addressCity": "Αθήνα",
"addressCountry": "Ελλάδα",
"phone": "2100000000",
"email": "info@example.com",
"webSite": "www.example.com",
"registryNumber": "ΓΕΜΗ: 000000000000",
"emtyLine2": "IBAN: GR00 0000 0000 0000 0000 0000 000"
},
"counterpart": {
"code": "C-0001",
"name": "TEST CLIENT ΑΕ",
"profession": "Χονδρικό εμπόριο",
"taxoffice": "Ζωγράφου",
"addressStreet": "Οδός Πελάτη",
"addressNumber": "10",
"addressPostalCode": "15772",
"addressCity": "Ζωγράφου",
"addressCountry": "Ελλάδα",
"phone": "2100000001",
"email": "client@example.com"
},
"additionalDetails": {
"documentLabel": "Τιμολόγιο Πώλησης",
"documentLanguageCode": "EL",
"documentSizeCode": 0,
"documentComments": "Εξόφληση εντός 30 ημερών.",
"paymentMethodInvoiceLabel": "Μετρητά"
}
}
}
]
}
Taxes at document level (taxesTotals)
{
"invoice": [
{
"issuer": {
"vatNumber": "123456789",
"country": "GR",
"branch": 0
},
"counterpart": {
"vatNumber": "987654324",
"country": "GR",
"branch": 0,
"address": {
"street": "Οδός Πελάτη",
"number": "10",
"postalCode": "15772",
"city": "Ζωγράφου"
}
},
"invoiceHeader": {
"series": "A",
"aa": "1011",
"issueDate": "2026-09-24",
"invoiceType": "1.1",
"currency": "EUR"
},
"paymentMethods": [
{
"type": 3,
"amount": 125.7
}
],
"invoiceDetails": [
{
"lineNumber": 1,
"lineCode": "SRV-100",
"quantity": 1,
"measurementUnit": 1,
"measurementUnitLabel": "ΤΜΧ",
"lineUnitPrice": 100,
"totalNetPriceBeforeDiscount": 100,
"totalDiscountValue": 0,
"netValue": 100,
"vatCategory": 1,
"vatCategoryPercent": 24,
"vatAmount": 24,
"lineDescription": "Προϊόν Α",
"incomeClassification": [
{
"classificationType": "E3_561_001",
"classificationCategory": "category1_1",
"amount": 100
}
]
}
],
"taxesTotals": [
{
"taxType": 1,
"taxCategory": 6,
"underlyingValue": 100,
"taxAmount": 4.0,
"reducesPayable": true,
"taxTypeLabel": "Παρακράτηση φόρου 4%"
},
{
"taxType": 2,
"taxCategory": 10,
"underlyingValue": 100,
"taxAmount": 2.0,
"reducesPayable": false,
"taxTypeLabel": "Λοιπά τέλη"
},
{
"taxType": 3,
"taxCategory": 17,
"underlyingValue": 100,
"taxAmount": 3.0,
"reducesPayable": false,
"taxTypeLabel": "Λοιποί φόροι"
},
{
"taxType": 4,
"taxCategory": 1,
"underlyingValue": 100,
"taxAmount": 1.2,
"reducesPayable": false,
"taxTypeLabel": "Ψηφιακό τέλος συναλλαγής 1,2%"
},
{
"taxType": 5,
"underlyingValue": 100,
"taxAmount": 0.5,
"reducesPayable": true,
"taxTypeLabel": "Κρατήσεις"
}
],
"invoiceSummary": {
"totalNetValue": 100,
"totalVatAmount": 24,
"totalWithheldAmount": 4.0,
"totalFeesAmount": 2.0,
"totalStampDutyAmount": 1.2,
"totalOtherTaxesAmount": 3.0,
"totalDeductionsAmount": 0.5,
"totalGrossValue": 125.7,
"incomeClassification": [
{
"classificationType": "E3_561_001",
"classificationCategory": "category1_1",
"amount": 100
}
]
},
"providerAdditionalInvoiceDetails": {
"issuer": {
"name": "TEST ISSUER ΙΚΕ",
"profession": "Εμπόριο ειδών θέρμανσης",
"taxoffice": "Α' Αθηνών",
"addressStreet": "Οδός Δοκιμής",
"addressNumber": "1",
"addressPostalCode": "10431",
"addressCity": "Αθήνα",
"addressCountry": "Ελλάδα",
"phone": "2100000000",
"email": "info@example.com",
"webSite": "www.example.com",
"registryNumber": "ΓΕΜΗ: 000000000000",
"emtyLine2": "IBAN: GR00 0000 0000 0000 0000 0000 000"
},
"counterpart": {
"code": "C-0001",
"name": "TEST CLIENT ΑΕ",
"profession": "Χονδρικό εμπόριο",
"taxoffice": "Ζωγράφου",
"addressStreet": "Οδός Πελάτη",
"addressNumber": "10",
"addressPostalCode": "15772",
"addressCity": "Ζωγράφου",
"addressCountry": "Ελλάδα",
"phone": "2100000001",
"email": "client@example.com"
},
"additionalDetails": {
"documentLabel": "Τιμολόγιο Πώλησης",
"documentLanguageCode": "EL",
"documentSizeCode": 0,
"documentComments": "Εξόφληση εντός 30 ημερών.",
"paymentMethodInvoiceLabel": "Μετρητά"
}
}
}
]
}