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. In this guide you’ll learn how to issue invoices and credit notes in a supplier’s name using the ILYDA Greece app. To register a supplier first, see the companion guide: Greece: Supplier registration.

Prerequisites

To issue invoices in Greece, you will need:
  • A registered supplier: follow the myDATA supplier registration guide to connect the ILYDA Greece app and register the supplier with ILYDA before issuing.
  • 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:
These instructions apply to both the sandbox and live environments. The ILYDA Greece app must already be connected and the supplier registered — this is covered in the supplier registration guide.
1

Prepare Invoice Workflow

IAPR Invoice Workflow

This workflow will issue an invoice through IAPR.

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 “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:
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 accommodation 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.
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.
In this example, we’re issuing a retail sales receipt for a hotel stay (accommodation taxed at the reduced VAT rate) together with the climate crisis resilience fee on the same document.Notice:
  • we’ve set the services and simplified tags; the addon sets gr-mydata-invoice-type to 11.2 (services receipt), appropriate for B2C,
  • the accommodation line uses the reduced VAT rate (13%); the gr-mydata-vat-rate extension is filled in on build,
  • the climate crisis resilience fee is added as a charge with gr-mydata-other-tax set to 22 (hotels 4 stars, 7.00€ per room/night) and gr-mydata-tax-type 3 (other tax), as in the built version,
  • the card payment method maps to gr-mydata-payment-means 7 (card payment), and,
  • there are no totals in the minimal example; amounts are calculated when the document is built or uploaded.
In this example, we’re issuing a standalone climate fee invoice (no lines) 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.
In this example, we’re issuing a credit note that corrects a previously reported invoice.Notice:
  • the type is set to credit-note, which the gr-mydata-v1 addon maps to myDATA invoice type 5.1 (associated credit invoice),
  • the preceding array references the original invoice by series, code, and issue_date, and must include the iapr-mark stamp — the MARK (unique registration number) the IAPR assigned to the original invoice when it was reported,
  • the line items carry the same gr-mydata-income-cat and gr-mydata-income-type extensions as the original, describing the amounts being credited, and,
  • there are no totals or calculations; all these will be made automatically when uploading.

FAQ

Build a GOBL invoice with the gr-mydata-v1 addon, run the IAPR Issue Invoice workflow. Invopop signs and transmits via ILYDA, retrieves the MARK identifier, and stores it on the silo entry.
Install the ILYDA Greece app, register the supplier (one provider at a time per VAT — see our FAQ), and run invoices through the IAPR workflow. PDFs are generated alongside the myDATA submission.
The Greek tax authority (IAPR) requires the invoice type to be specified as part of the invoice. In GOBL, this type can be set using the gr-mydata-invoice-type extension in the tax section and setting the GOBL invoice type to other.Alternatively, GOBL will set the extension for you based on the type and the tax tags you set in your GOBL invoice. You can read more in the GOBL Greece Tax Regime readme.If you produce a PDF version of the invoice, the invoice type label will be displayed instead of “Invoice”.
For further details on how GOBL prepares data for conversion, see the Greek Tax Regime.
If you issue a credit note shortly after the invoice it refers to, the MyDATA system may reject it because the original invoice hasn’t completed synchronization. You’ll typically see an error like:
This happens because there can be a delay between when an invoice is accepted by MyDATA and when it becomes fully available for reference by other documents like credit notes. This delay can range from a few minutes to several hours, depending on MyDATA system load.Solution: If you receive this error, retry issuing the credit note after waiting some time. You may need to wait anywhere from a few minutes to several hours for the original invoice to be fully synchronized in the MyDATA system before the credit note can successfully reference it.
See the Greece tax regime in GOBL for tax categories and AFM rules. The myDATA mapping lives in gr-mydata-v1 including all invoice type codes.
More available in our Greece FAQ section

Participate in our community

Ask and answer questions about invoicing in Greece →