Skip to main content

Introduction

The myDATA (My Digital Accounting and Tax Application) platform is Greece’s standardized electronic invoicing and bookkeeping system, managed by the Independent Authority for Public Revenue (IAPR). This system enables businesses to report invoices and accounting data in real time, ensuring compliance with Greek tax regulations. This guide will walk you through the process of reporting invoices to the IAPR using myDATA, first registering a supplier, and then issuing invoices and credit notes in their name.

Prerequisites

To issue invoices in Greece, you will need:
  • Supplier details, including company name, TIN, and address.
  • Customer details for B2B transactions, including name, TIN or international ID, and address.
  • Line and item details, including quantity, price, description, applicable VAT rates, and, optionally, income classification codes.
  • To have chosen an invoice series.

Setup

To issue invoices, follow these instructions in the Invopop Console:
1

Connect ILYDA Greece App

  1. Navigate to ConfigurationApps.
  2. Find ILYDA Greece in the app discovery list.
  3. Click Connect to activate.
ILYDA Greece App
The ILYDA Greece app will send your invoices to the appropriate environment based on whether your current workspace is Sandbox or Live.
2

Prepare Invoice Workflow

Running

In this section, we’ll provide details on how to register new suppliers and issue invoices on their behalf.

Register a supplier

Supplier registration is only possible in production. In the sandbox environment, your invoices must use a supplier with the tax ID code set to 177472438 which is the TIN of the test supplier pre-enabled in that environment.
Invopop has partnered with ILYDA to issue invoices in Greece. Each supplier must be registered with ILYDA to issue invoices on their behalf. This involves:
  • Authorizing ILYDA as an electronic invoicing provider in Taxisnet.
  • Declaring ILYDA as invoice issuer in myDATA.
  • Signing a service provision agreement with ILYDA.
Please contact us via Slack or [email protected] whenever you need to onboard a new supplier. We will walk you through the process.

Send an invoice

The following examples are of partial GOBL documents you can copy and paste directly into the Invopop Console or store via the API as silo entries. Then, you must run the “Issue IAPR Invoice” workflow created during setup. As usual, the recommended approach for running jobs is to perform two steps; first, upload the document to the silo, second create a job. GOBL Invoices sent to myDATA require the following properties to perform the correct normalization and validation steps. Invopop will try to assign these automatically, but we recommend defining them explicitly before uploading:

Example service invoice (B2B)

In this example, we’re issuing a simple services invoice from a Greek supplier to another Greek business customer. Notice:
  • we’ve added the gr-mydata-v1 addon; this ensures the document will be validated and normalized using the myDATA v1 rules built into the GOBL library,
  • we’ve set the services tag; this makes the addon set the gr-mydata-invoice-type extension automatically to 2.1 (service invoice),
  • similarly, the credit-transfer payment method will cause the addon to set the gr-mydata-payment-means extension to 1 (credit transfer),
  • we added a charge for a special fee (tourist accomodation fee), using the gr-mydata-fee extension,
  • the specific income category and type are set using the gr-mydata-income-cat extension and the gr-mydata-income-type extension respectively,
  • only VAT rates (standard) have been specified; percentages and values for the gr-mydata-vat-rate extension will be set automatically, and,
  • there are no totals or calculations; all these will be made automatically when uploading.
B2B Services Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "gr-mydata-v1"
  ],
  "$tags": [
    "services",
    "simplified"
  ],
  "series": "XXGR",
  "supplier": {
    "name": "Αθηναϊκό Ξενοδοχείο Α.Ε.",
    "tax_id": {
      "country": "EL",
      "code": "177472438"
    },
    "addresses": [
      {
        "num": "28",
        "street": "Λεωφόρος Συγγρού",
        "locality": "Αθήνα",
        "code": "11743",
        "country": "GR"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Τεχνολογικές Λύσεις Ελλάς Α.Ε.",
    "tax_id": {
      "country": "EL",
      "code": "841442160"
    },
    "addresses": [
      {
        "num": "15",
        "street": "Οδός Πανεπιστημίου",
        "locality": "Αθήνα",
        "code": "10671",
        "country": "GR"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "lines": [
    {
      "quantity": "3",
      "item": {
        "name": "Διαμονή Deluxe Δίκλινο Δωμάτιο",
        "price": "180.00",
        "unit": "day",
        "ext": {
          "gr-mydata-income-cat": "category1_3",
          "gr-mydata-income-type": "E3_561_001"
        }
      },
      "discounts": [
        {
          "reason": "Εταιρική Έκπτωση",
          "percent": "10%"
        }
      ],
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ],
  "charges": [
    {
      "reason": "Τέλος διαμονής παρεπιδημούντων",
      "amount": "21.00",
      "ext": {
        "gr-mydata-fee": "18"
      }
    }
  ],
  "payment": {
    "instructions": {
      "key": "credit-transfer"
    }
  }
}

Example retail sales receipt (B2C)

In this example, we’re issuing a simple goods invoice from a Greek supplier to a Greek final consumer. Notice:
  • we’ve set the goods and the simplified tags; this makes the addon set the gr-mydata-invoice-type extension automatically to 11.1 (retail sales receipt),
  • similarly, the cash payment method will cause the addon to set the gr-mydata-payment-means extension to 3 (cash),
  • the specific income category and type are set using the gr-mydata-income-cat extension and the gr-mydata-income-type extension respectively,
  • only VAT rates (standard) or keys (exempt) have been specified; percentages and values for the gr-mydata-vat-rate extension will be set automatically
  • the exemption cause is set using the gr-mydata-exemption extension, and,
  • there are no totals or calculations; all these will be made automatically when uploading.
B2C Goods Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "gr-mydata-v1"
  ],
  "$tags": [
    "goods",
    "simplified"
  ],
  "series": "XXGR",
  "supplier": {
    "name": "Ελληνικά Τρόφιμα Α.Ε.",
    "tax_id": {
      "country": "EL",
      "code": "177472438"
    },
    "addresses": [
      {
        "num": "12",
        "street": "Λεωφόρος Βουλιαγμένης",
        "locality": "Αθήνα",
        "code": "11636",
        "country": "GR"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "lines": [
    {
      "quantity": "50",
      "item": {
        "name": "Ελαιόλαδο Extra Virgin 1L",
        "price": "12.50",
        "unit": "unit",
        "ext": {
          "gr-mydata-income-cat": "category1_1",
          "gr-mydata-income-type": "E3_561_001"
        }
      },
      "discounts": [
        {
          "reason": "Έκπτωση Όγκου",
          "percent": "10%"
        }
      ],
      "taxes": [
        {
          "cat": "VAT",
          "rate": "reduced"
        }
      ]
    },
    {
      "quantity": "1",
      "item": {
        "name": "Βιβλία Μαγειρικής",
        "price": "15.00",
        "ext": {
          "gr-mydata-income-cat": "category1_1",
          "gr-mydata-income-type": "E3_561_001"
        }
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "exempt",
          "ext": {
            "gr-mydata-exemption": "3"
          }
        }
      ]
    }
  ],
  "payment": {
    "instructions": {
      "key": "cash"
    }
  }
}

Example climate fee invoice (B2B)

In this example, we’re issuing a climate fee invoice from a Greek supplier to another Greek business customer. This is an example of how special records and other document types can be used in Greece. Notice:
  • we’ve set the other type and the 8.2 invoice type (climate crisis fee collection) explicitly using the gr-mydata-invoice-type extension,
  • the climate fee is set as a charge using the gr-mydata-other-tax extension set to 8 (climate crisis fee),
  • there are no lines as this special record type doesn’t allow them,
  • the credit-transfer payment method will cause the addon to set the gr-mydata-payment-means extension to 1 (credit transfer), and,
  • there are no totals or calculations; all these will be made automatically when uploading.
B2B Climate Fee Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "gr-mydata-v1"
  ],
  "type": "other",
  "series": "XXGR",
  "tax": {
    "ext": {
      "gr-mydata-invoice-type": "8.2"
    }
  },
  "supplier": {
    "name": "Αθηναϊκό Ξενοδοχείο Α.Ε.",
    "tax_id": {
      "country": "EL",
      "code": "177472438"
    },
    "addresses": [
      {
        "num": "28",
        "street": "Λεωφόρος Συγγρού",
        "locality": "Αθήνα",
        "code": "11743",
        "country": "GR"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Τεχνολογικές Λύσεις Ελλάς Α.Ε.",
    "tax_id": {
      "country": "EL",
      "code": "841442160"
    },
    "addresses": [
      {
        "num": "15",
        "street": "Οδός Πανεπιστημίου",
        "locality": "Αθήνα",
        "code": "10671",
        "country": "GR"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "charges": [
    {
      "reason": "Τέλος ανθεκτικότητας στην κλιματική κρίση",
      "amount": "3.00",
      "ext": {
        "gr-mydata-other-tax": "8"
      }
    }
  ],
  "payment": {
    "instructions": {
      "key": "credit-transfer"
    }
  }
}

Greece FAQ

Find answers to frequently asked questions about invoicing in Greece →

Participate in our community

Ask and answer questions about invoicing in Greece →