OSS και πωλήσεις εξ αποστάσεως σε καταναλωτές της ΕΕ: έκδοση παραστατικών myDATA μέσω API
Το myDATA δεν έχει πεδίο OSS. Το παραστατικό συντίθεται: γραμμή με 0% και αιτία απαλλαγής, και ο ΦΠΑ της χώρας προορισμού σαν ξεχωριστή γραμμή. Πλήρη payloads, οι κωδικοί σφάλματος που παίρνεις όταν το κάνεις αλλιώς, και γιατί ένα καθαρό ΜΑΡΚ δεν σημαίνει σωστή κωδικοποίηση.
Ένα e-shop στέλνει ένα δέμα σε ιδιώτη στη Ρώμη. Ένα marketplace περνάει την παραγγελία με τον συντελεστή της χώρας προορισμού πάνω στη γραμμή. Ένα ERP βλέπει ένα πεδίο συντελεστή που γράφει 22 και πρέπει να αποφασίσει τι θα το κάνει. Και στις τρεις περιπτώσεις η ερώτηση είναι η ίδια: πώς διαβιβάζεται στο myDATA μια λιανική πώληση εξ αποστάσεως σε καταναλωτή άλλου κράτους μέλους.
Η απάντηση δεν βρίσκεται σε κάποιο πεδίο, γιατί το myDATA δεν έχει μηχανισμό OSS: ούτε πεδίο, ούτε σημαία, ούτε ξεχωριστό είδος παραστατικού. Το παραστατικό συντίθεται. Αυτός ο οδηγός δείχνει από τι.
Ο ξένος ΦΠΑ δεν είναι ελληνικός ΦΠΑ. Το παραστατικό βγαίνει με 0% και αιτία απαλλαγής, και ο ΦΠΑ της χώρας προορισμού μπαίνει σαν ξεχωριστή γραμμή.
Πότε σε αφορά
Όσο οι πωλήσεις σου σε καταναλωτές άλλων κρατών μελών μένουν μικρές, φορολογούνται στην Ελλάδα και τιμολογείς όπως πάντα. Το όριο είναι 10.000 ευρώ ετησίως και μετριέται αθροιστικά για ολόκληρη την ΕΕ, όχι ανά χώρα: τρεις χώρες από τρεις χιλιάδες ευρώ η καθεμία μετράνε μαζί. Πάνω από εκεί ο τόπος φορολόγησης μετατοπίζεται στη χώρα του πελάτη, οπότε οφείλεται ο δικός της ΦΠΑ.
Το αν έχεις περάσει το όριο δεν το απαντά αυτή η σελίδα. Είναι ερώτημα για τα βιβλία σου, και το απαντά ο λογιστής σου. Ό,τι ακολουθεί προϋποθέτει ότι η απάντηση έχει δοθεί και ότι υπάγεσαι.
Μία διάκριση αξίζει τον κόπο, γιατί διατυπώνεται συχνά λάθος. Υποχρεωτικός πάνω από το όριο γίνεται ο ΦΠΑ της χώρας προορισμού. Το OSS είναι η απλοποίηση που σου επιτρέπει να τον δηλώνεις και να τον αποδίδεις από μία δήλωση, αντί να εγγράφεσαι χωριστά σε κάθε κράτος μέλος στο οποίο πουλάς. Η εναλλακτική του OSS δεν είναι να συνεχίσεις με ελληνικό ΦΠΑ. Είναι είκοσι έξι εγγραφές.
Το παράδειγμα που ακολουθεί σε όλο το άρθρο
Μια λιανική πώληση αγαθών 100 ευρώ σε ιδιώτη στην Ιταλία, με ΦΠΑ Ιταλίας 22%.
| Σκέλος | Ποσό |
|---|---|
| Αξία αγαθών | 100,00 € |
| Ελληνικός ΦΠΑ | 0,00 € (0%, με αιτία απαλλαγής) |
| ΦΠΑ χώρας προορισμού, ως ξεχωριστή γραμμή | 22,00 € |
| Συνολική καθαρή αξία | 122,00 € |
| Συνολικός ΦΠΑ στο παραστατικό | 0,00 € |
| Πληρωτέο | 122,00 € |
Τα σύνολα διαβάζονται περίεργα με την πρώτη, και αξίζει μια πρόταση. Ο πελάτης πληρώνει 122 ευρώ, δηλαδή ακριβώς αυτό που του ζητήθηκε, ενώ το παραστατικό δηλώνει μηδενικό ελληνικό ΦΠΑ, γιατί στην Ελλάδα δεν οφείλεται τίποτα. Τα 22 ευρώ αποδίδονται στην Ιταλία μέσα από τη δήλωση OSS, όχι μέσα από την ελληνική δήλωση ΦΠΑ. Το παραστατικό είναι το ίχνος της συναλλαγής, όχι ο μηχανισμός πληρωμής του φόρου.
Το παραστατικό: τύπος 11.1, δύο γραμμές
Το είδος παραστατικού είναι 11.1, απόδειξη λιανικής πώλησης, όπως και για Έλληνα πελάτη. Δεν υπάρχει τύπος OSS. Αυτό που αλλάζει είναι οι γραμμές.
Η γραμμή των αγαθών
Η αξία της πώλησης, με vat_rate μηδέν και αιτία απαλλαγής. Χαρακτηρισμός εσόδου, όπως σε κάθε λιανική πώληση αγαθών.
Η γραμμή του ξένου ΦΠΑ
Ο ΦΠΑ της χώρας προορισμού, πάλι με vat_rate μηδέν και αιτία απαλλαγής, με χαρακτηρισμό category1_95, τα «λοιπά πληροφοριακά».
Τα σύνολα
Στέλνονται πλήρη και στα δύο επίπεδα: καθαρή αξία 122, ΦΠΑ 0, σύνολο 122, πληρωτέο 122.
Η αιτία απαλλαγής για το ενωσιακό καθεστώς OSS είναι ο κωδικός 30, «Χωρίς ΦΠΑ – άρθρο 57 του Κώδικα ΦΠΑ (OSS ενωσιακό καθεστώς)». Στην παλαιότερη αρίθμηση του ν.2859/2000 ήταν το άρθρο 47γ, και θα το συναντήσεις ακόμη έτσι σε παλιότερα κείμενα και σε feeds. Ο πλήρης πίνακας των κωδικών είναι στους πίνακες αναφοράς για τις αιτίες εξαίρεσης ΦΠΑ, και ζωντανά ανά λογαριασμό από το GET /vat_exemptions.
{
"invoice_type_code": "11.1",
"billing_book_id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"payment_method_type": 3,
"counterpart": {
"name": "Giulia Rossi",
"country_code": "IT",
"city": "MILANO",
"street": "VIA DANTE",
"number": "12",
"postal_code": "20121"
},
"net_total_amount": 122.0,
"vat_total_amount": 0,
"total_amount": 122.0,
"payable_total_amount": 122.0,
"invoice_lines": [
{
"line_number": 1,
"name": "Πώληση αγαθών εξ αποστάσεως (OSS)",
"quantity": 1,
"quantity_type": 1,
"unit_price": 100.0,
"net_total_price": 100.0,
"vat_rate": 0,
"vat_exemption_code": 30,
"vat_total": 0,
"subtotal": 100.0,
"classification_category": "category1_1",
"classification_type": "E3_561_003"
},
{
"line_number": 2,
"name": "ΦΠΑ χώρας προορισμού (IT 22%)",
"quantity": 1,
"quantity_type": 1,
"unit_price": 22.0,
"net_total_price": 22.0,
"vat_rate": 0,
"vat_exemption_code": 30,
"vat_total": 0,
"subtotal": 22.0,
"classification_category": "category1_95",
"classification_type": "_"
}
]
}
Αντικατέστησε το billing_book_id με το id της δικής σου σειράς για τύπο 11.1, από το GET /billing_books.
Το σημείο που δεν ανακαλύπτεται μόνο του
Η γραμμή 2 θέλει κι αυτή αιτία απαλλαγής. Αυτό είναι το σημείο όπου χάνεται ο περισσότερος χρόνος, και ο λόγος είναι ότι η αντίθετη υπόθεση είναι απόλυτα λογική: η category1_95 σε άλλα παραστατικά, όπως στην προείσπραξη, είναι γραμμή πραγματικά χωρίς ΦΠΑ που δεν παίρνει κωδικό. Σε ένα 11.1 όμως είναι συνηθισμένη γραμμή κατηγορίας ΦΠΑ 7, και χωρίς κωδικό το παραστατικό απορρίπτεται με 217.
Η αποτυχία δεν έχει καμία σχέση με το country_code του αντισυμβαλλόμενου. Ίδια γραμμή, ίδιο σφάλμα, είτε ο πελάτης είναι Ιταλός είτε Έλληνας.
Η ελάχιστη μορφή, και γιατί δεν είναι αυτή που χτίζεις
Το παραστατικό περνάει καθαρό και με μία μόνο γραμμή, αυτή των αγαθών, χωρίς τη γραμμή του ξένου ΦΠΑ. Αξίζει να το ξέρεις σαν ελάχιστη έγκυρη μορφή. Αφήνει όμως το πληρωτέο του παραστατικού στα 100, ενώ ο πελάτης πλήρωσε 122, και αυτή η διαφορά είναι που κάνει τη μορφή των δύο γραμμών εκείνη που θέλεις σε παραγωγή.
Ένα ΜΑΡΚ δεν σημαίνει σωστή κωδικοποίηση
Το myDATA δεν επικυρώνει σημασιολογικά την αιτία απαλλαγής. Το ίδιο παραστατικό με λάθος κωδικό, για παράδειγμα με τον γενικό κωδικό για παραδόσεις αγαθών εκτός Ελλάδας αντί για τον κωδικό του ενωσιακού OSS, περνάει εξίσου καθαρά: παίρνει ΜΑΡΚ, βγάζει έγκυρο παραστατικό και QR που σκανάρει ο πελάτης, και τίποτα δεν δείχνει πρόβλημα.
Το λάθος εμφανίζεται στη δήλωση ΦΠΑ και στη δήλωση OSS, μήνες αργότερα, όχι κατά τη διαβίβαση. Είναι η πιο χρήσιμη πληροφορία αυτής της σελίδας, γιατί ξεπερνάει το OSS: ισχύει για κάθε αιτία απαλλαγής. Ένα ΜΑΡΚ αποδεικνύει ότι το παραστατικό έγινε δεκτό. Ποτέ ότι η κωδικοποίηση ήταν σωστή.
Πρακτικά σημαίνει ότι δεν μπορείς να χρησιμοποιήσεις το myDATA σαν δίχτυ ασφαλείας για τη φορολογική επιλογή. Ο έλεγχος πρέπει να είναι δικός σου, πριν τη διαβίβαση.
Τι βλέπεις όταν είναι λάθος
| Λάθος | Απάντηση myDATA |
|---|---|
Ο ξένος συντελεστής περνάει αυτούσιος σαν ελληνικό vat_rate, π.χ. 22 |
216 «Vat category must have value other than 8 for this invoice type» και 229 «vatAmount is not correct according to the given: vatCategory(invoice line: 1» |
Η γραμμή category1_95 του ξένου ΦΠΑ στο 0% χωρίς αιτία απαλλαγής |
217 «When vatCategory has value 7, element vatExemptionCategory is mandatory» |
Ο μηχανισμός πίσω από το 216 αξίζει μια γραμμή, για όποιον θέλει να καταλάβει αντί να αντιγράψει: ένας συντελεστής που δεν αναγνωρίζεται δεν επιστρέφει «άγνωστος συντελεστής». Πέφτει στην κατηγορία ΦΠΑ 8, «άνευ ΦΠΑ», την οποία ο τύπος λιανικής απαγορεύει. Γι' αυτό το σφάλμα ονομάζει μια κατηγορία που δεν έστειλες ποτέ.
Και τα δύο είναι οριστικά. Μια απόρριψη από το myDATA καίει το προσχέδιο: δεν επανεκδίδεται, ο αριθμός χάνεται, και χρειάζεται νέο παραστατικό από την αρχή. Δεν ανήκουν στην κατηγορία «ξαναπροσπάθησε και προχώρα».
Ταμειακή δεν χρειάζεται
Για τις πωλήσεις εξ αποστάσεως που υπάγονται στο OSS, τα στοιχεία λιανικής δύνανται να εκδίδονται με οποιοδήποτε πρόσφορο μέσο, ακόμη και στις περιπτώσεις όπου η χρήση ΦΗΜ είναι κατά τα άλλα υποχρεωτική. Τα δεδομένα διαβιβάζονται στο myDATA από τα υπόλοιπα κανάλια, και πρώτοι από αυτούς που αναφέρονται είναι οι πιστοποιημένοι πάροχοι ηλεκτρονικής έκδοσης στοιχείων.
Για ένα e-shop αυτό είναι το πρακτικό συμπέρασμα: η απόδειξη μπορεί να βγαίνει μέσα από τη ροή της παραγγελίας σου, μέσω παρόχου, χωρίς να μπλέκεται ταμειακή στη μέση. Το ίδιο ισχύει και για τα e-shop και marketplace που αυτοματοποιούν τη διαδρομή από την παραγγελία στο παραστατικό.
Τι δεν καλύπτει αυτός ο οδηγός
| Εκτός | Γιατί |
|---|---|
| Η εγγραφή στο OSS, η τριμηνιαία δήλωση και η πληρωμή του φόρου | Τα καλύπτει η ΑΑΔΕ στις δικές της σελίδες για το OSS. Εδώ μιλάμε για το παραστατικό. |
| Ποιας χώρας ο συντελεστής ισχύει σε μια συγκεκριμένη πώληση | Ο προσδιορισμός του τόπου παράδοσης εξαρτάται από τα αγαθά, τα όρια και τον τρόπο αποστολής. Είναι κρίση του λογιστή σου. |
| Πωλήσεις προς επιχείρηση άλλου κράτους μέλους | Άλλη συναλλαγή και άλλο παραστατικό: τιμολόγιο, όχι απόδειξη, με δική του αιτία απαλλαγής. Το καλύπτει ο οδηγός για το ενδοκοινοτικό τιμολόγιο. |
| Μη ενωσιακό OSS και IOSS | Χωριστά καθεστώτα με δικές τους αιτίες απαλλαγής. Το μη ενωσιακό αφορά υποκειμένους μη εγκατεστημένους στην ΕΕ, το IOSS αφορά εισαγόμενα αγαθά σε δέματα εσωτερικής αξίας έως 150 ευρώ. |
| Αν μια συγκεκριμένη επιχείρηση έχει περάσει το όριο | Είναι στοιχείο των βιβλίων της, όχι κάτι που μπορεί να βεβαιώσει μια σελίδα. |
Πώς ξεκινάς
Για πρόσβαση στο staging περιβάλλον, συμπλήρωσε τη φόρμα στη σελίδα συνεργασίας μέσω API με το ΑΦΜ σου. Ο staging λογαριασμός σου δημιουργείται αυτόματα και θα επανέλθουμε άμεσα με τα credentials σου. Θα χρειαστείς σειρά τιμολόγησης για τύπο 11.1 πριν στείλεις το πρώτο draft.
Το πλήρες σχήμα των πεδίων είναι στην τεκμηρίωση του REST API. Αν χτίζεις πλατφόρμα που τιμολογεί για λογαριασμό των πελατών της, το API onboarding συνεργατών είναι το κομμάτι που δημιουργεί τους λογαριασμούς τους. Οι αποδεκτές τιμές που αναφέρονται εδώ είναι στους πίνακες αναφοράς για τα είδη παραστατικών, τους τύπους χαρακτηρισμού και τις αιτίες εξαίρεσης ΦΠΑ.
Η δομή που δίνει αυτό το άρθρο είναι αυτή που βλέπουμε συνήθως στην πράξη. Οι χαρακτηρισμοί, οι συντελεστές ΦΠΑ και οι αιτίες εξαίρεσης είναι όμως λογιστική επιλογή: πριν την παραγωγή επιβεβαίωσέ τους με τον τελικό πελάτη ή τον λογιστή του. Το myDATA δεν τις επικυρώνει και θα δεχτεί και λάθος επιλογή, χωρίς σφάλμα.
Συχνές ερωτήσεις
Πουλάω σε ιδιώτη στην Ιταλία. Τι παραστατικό κόβω;
Απόδειξη λιανικής, τύπος 11.1, όπως και σε Έλληνα πελάτη. Αυτό που αλλάζει δεν είναι το είδος του παραστατικού αλλά ο ΦΠΑ πάνω του: η γραμμή των αγαθών φεύγει με 0% και αιτία απαλλαγής, γιατί ελληνικός ΦΠΑ δεν οφείλεται, και ο ΦΠΑ της Ιταλίας μπαίνει σαν δική του γραμμή. Το myDATA δεν έχει ξεχωριστό τύπο παραστατικού για OSS.
Γιατί δεν βάζω απλώς 22% στο vat_rate;
Επειδή το πεδίο δηλώνει ελληνικό συντελεστή, και το 22 δεν είναι ελληνικός συντελεστής. Ένας συντελεστής που δεν αναγνωρίζεται δεν επιστρέφει «άγνωστος συντελεστής»: πέφτει στην κατηγορία ΦΠΑ 8, «άνευ ΦΠΑ», την οποία ο τύπος λιανικής απαγορεύει. Παίρνεις 216 και 229, και η απόρριψη καίει το παραστατικό μαζί με τον αριθμό του. Είναι το πιο φυσικό λάθος σε αυτή τη ροή, γιατί το 22 μοιάζει προφανώς σωστό.
Πού μπαίνει τελικά ο ΦΠΑ της χώρας προορισμού;
Σε δεύτερη γραμμή του ίδιου παραστατικού, με 0%, αιτία απαλλαγής, και χαρακτηρισμό category1_95 που είναι η κατηγορία «λοιπά πληροφοριακά». Έτσι ο πελάτης βλέπει και πληρώνει το ποσό που του ζητήθηκε, ενώ το παραστατικό δηλώνει μηδενικό ελληνικό ΦΠΑ, που είναι το σωστό: στην Ελλάδα δεν οφείλεται τίποτα. Το ποσό αποδίδεται στη χώρα προορισμού μέσα από τη δήλωση OSS, όχι μέσα από την ελληνική δήλωση ΦΠΑ.
Χρειάζεται και η γραμμή του ΦΠΑ προορισμού αιτία απαλλαγής;
Ναι, και είναι το σημείο που δεν ανακαλύπτεται μόνο του. Η category1_95 σε άλλα παραστατικά είναι γραμμή πραγματικά χωρίς ΦΠΑ που δεν παίρνει κωδικό, οπότε είναι απόλυτα λογικό να υποθέσεις το ίδιο και εδώ. Σε ένα 11.1 όμως είναι συνηθισμένη γραμμή κατηγορίας ΦΠΑ 7, και χωρίς κωδικό το παραστατικό πεθαίνει με 217. Η αποτυχία δεν έχει σχέση με τη χώρα του αντισυμβαλλόμενου.
Αν βάλω λάθος αιτία απαλλαγής, θα το πιάσει το myDATA;
Όχι. Το myDATA δεν επικυρώνει σημασιολογικά την αιτία απαλλαγής. Ένα παραστατικό με λάθος κωδικό περνάει καθαρό, παίρνει ΜΑΡΚ, βγάζει έγκυρο QR που σκανάρει ο πελάτης, και τίποτα δεν δείχνει πρόβλημα. Το λάθος εμφανίζεται στη δήλωση ΦΠΑ και στη δήλωση OSS, μήνες αργότερα. Ένα ΜΑΡΚ αποδεικνύει ότι το παραστατικό έγινε δεκτό, ποτέ ότι η κωδικοποίηση ήταν σωστή.
Από πότε υποχρεούμαι να χρεώνω ΦΠΑ της χώρας του πελάτη;
Το όριο είναι 10.000 ευρώ ετησίως και μετριέται αθροιστικά για όλη την ΕΕ, όχι ανά χώρα. Πάνω από εκεί ο τόπος φορολόγησης μετατοπίζεται στη χώρα του πελάτη, οπότε οφείλεται ο δικός της ΦΠΑ. Το αν έχεις περάσει το όριο είναι ερώτημα για τα βιβλία σου και το απαντά ο λογιστής σου, όχι μια σελίδα.
Είναι υποχρεωτικό το ίδιο το OSS;
Όχι, και η διάκριση έχει σημασία. Πάνω από το όριο γίνεται υποχρεωτικός ο ΦΠΑ της χώρας προορισμού. Το OSS είναι η απλοποίηση που σου επιτρέπει να τον δηλώνεις και να τον αποδίδεις από μία δήλωση, αντί να εγγράφεσαι σε κάθε κράτος μέλος στο οποίο πουλάς. Η εναλλακτική του OSS δεν είναι να συνεχίσεις με ελληνικό ΦΠΑ, είναι να εγγραφείς χωριστά παντού.
Χρειάζομαι ταμειακή για αυτές τις αποδείξεις;
Όχι απαραίτητα. Για τις πωλήσεις εξ αποστάσεως που υπάγονται στο OSS, τα στοιχεία λιανικής δύνανται να εκδίδονται με οποιοδήποτε πρόσφορο μέσο ακόμη και όταν η χρήση ΦΗΜ είναι κατά τα άλλα υποχρεωτική, και τα δεδομένα διαβιβάζονται στο myDATA από τα υπόλοιπα κανάλια. Πρώτο από αυτά που αναφέρονται είναι οι πιστοποιημένοι πάροχοι ηλεκτρονικής έκδοσης στοιχείων. Στην πράξη σημαίνει ότι η απόδειξη μπορεί να βγαίνει από τη ροή του e-shop σου μέσω παρόχου, χωρίς ταμειακή.
Τι ισχύει για πωλήσεις σε επιχείρηση άλλου κράτους μέλους;
Είναι άλλη συναλλαγή και άλλο παραστατικό. Το B2B ενδοκοινοτικό είναι τιμολόγιο, όχι απόδειξη λιανικής, και έχει δική του αιτία απαλλαγής. Ο οδηγός για το ενδοκοινοτικό τιμολόγιο το καλύπτει χωριστά. Το OSS αφορά πωλήσεις προς ιδιώτες.
Και για μη ενωσιακό OSS ή για εισαγωγές μικρής αξίας;
Είναι διαφορετικά καθεστώτα με δικές τους αιτίες απαλλαγής. Το μη ενωσιακό καθεστώς αφορά υποκειμένους μη εγκατεστημένους στην ΕΕ. Το IOSS αφορά πωλήσεις εξ αποστάσεως αγαθών που εισάγονται από τρίτες χώρες, σε δέματα εσωτερικής αξίας έως 150 ευρώ. Ο πλήρης πίνακας με τους κωδικούς είναι στους πίνακες αναφοράς για τις αιτίες εξαίρεσης ΦΠΑ.
Πώς δοκιμάζω πριν βγω σε παραγωγή;
Χρειάζεσαι βοήθεια;
Αν έχεις απορία για αυτό το θέμα ή θέλεις να σιγουρευτείς ότι όλα ρυθμίστηκαν σωστά, επικοινώνησε μαζί μας και θα το δούμε μαζί.