Έκδοση 2.3 – Μάιος 2026

Περιεχόμενα

  1. Εισαγωγή
  2. Επισκόπηση ενσωμάτωσης
  3. Αυθεντικοποίηση
  4. Υπηρεσίες API
    1. Αποστολή παραστατικού
    2. Αίτημα διαβιβασθέντων παραστατικών
    3. Υπογραφή πληρωμής
    4. Αποστολή πληρωμών
    5. Ακύρωση δελτίου διακίνησης
    6. Αποστολή αρχείου
  5. Περιγραφή InvoiceDoc
    1. Στοιχεία οντότητας
      1. Διεύθυνση
    2. Μέθοδος πληρωμής
      1. Υπογραφή Πληρωμής Παρόχου
      2. Ροή πληρωμής
    3. Επικεφαλίδα παραστατικού
      1. Λοιπά Γενικά Στοιχεία
        Διακίνησης
    4. Λεπτομέρειες παραστατικού
      1. Δήλωση Ανάληψης Δραστηριότητας
    5. Σύνολα φόρων
    6. Περίληψη παραστατικού
    7. Ταξινόμηση εισοδήματος
    8. Ταξινόμηση εξόδων
    9. Λεπτομέρειες
      1. Εκδότης
      2. Αντισυμβαλλόμενος
      3. Πρόσθετα
  6. Απαντήσεις
    1. Υποβολή δεδομένων
    2. Ανάκτηση δεδομένων
  7. Σφάλματα
  8. Πίνακες αναφοράς
  9. Δομή παραστατικού, παραδείγματα και εργαλεία
  10. Ιστορικό εκδόσεων

 

    1. Εισαγωγή

      Το παρόν έγγραφο περιγράφει τις παραπάνω υπηρεσίες και τις τεχνικές προδιαγραφές που είναι απαραίτητες για την υλοποίηση των σχετικών κλήσεων της διεπαφής REST API.
      Συγκεκριμένα, για μια επιχείρηση που χρησιμοποιεί σύστημα πληροφοριών που χρησιμοποιεί το σχετικό API, οι δυνατότητες που προσφέρονται είναι:

      • Αποστολή δεδομένων για τα παραστατικά που εκδίδει
      • Ανάκτηση στοιχείων παραστατικών που έχουν εκδοθεί για αυτό και υποβάλλονται από τους αντίστοιχους εκδότες στην ΑΑΔΕ.


      Οι ακόλουθες τεχνολογίες χρησιμοποιούνται για τη δημιουργία σύνδεσης με τη διεπαφή.

      • HTTPS – Secure HTTP
      • Web Service
      • REST API – REST διεπαφή που απαιτείται για τη διαδικασία αναφοράς δεδομένων.
      • XML – eXtensible Markup Language

      Η διεπαφή είναι προσβάσιμη σε οποιοδήποτε πρόγραμμα τιμολόγησης ικανό να στείλει μηνύματα HTTP και να δημιουργήσει XML συμβατό με σχήμα, όπως καθορίζεται στην παρούσα προδιαγραφή. Εκτός από τα σχετικά δεδομένα, το λογισμικό θα πρέπει να μπορεί να στέλνει ταυτόχρονα και αυτόματα τις απαραίτητες πληροφορίες για την αναγνώριση του χρήστη μέσω της ίδιας κλήσης HTTPS.

    2. Επισκόπηση ενσωμάτωσης

      Απαιτήσεις

      • Όλα τα αρχεία XML πρέπει να είναι καλά διαμορφωμένα, να τηρούν το σχήμα (XSD) και να είναι κωδικοποιημένα σε UTF-8.
      • Να είναι ασφαλής με χρήση ελέγχου ταυτότητας που περιγράφεται στο επόμενο κεφάλαιο.

      Διαδικασία Πιστοποίησης

      1. Δημιούργησε ένα λογαριασμό στο https://api.sbz.gr/register.php και επικοινώνησε με το τεχνικό μας τμήμα στο email support@sbzsystems.com για να ενεργοποιήσουμε το δοκιμαστικό λογαριασμό σου.
      2. Δοκίμασε και ανάπτυξε το API μας.
      3. Έλεγξε και βεβαιώσου ότι δεν λαμβάνεις σφάλματα. Η δοκιμή για αυτό το API αποτελείται από αυτοδιαγνωστικούς ελέγχους που πραγματοποιούνται χρησιμοποιώντας τον δοκιμαστικό λογαριασμό σε περιβάλλον sandbox.
      4. Δοκιμή ενσωμάτωσης. Όταν είσαι έτοιμος για δοκιμή, επικοινώνησε με το τεχνικό τμήμα της SBZ systems και τον τεχνικό που έχει ανατεθεί στον λογαριασμό σου για καθοδήγηση στο περιβάλλον δοκιμών.
      5. Όταν όλα είναι εντάξει και οι ρυθμίσεις είναι έτοιμες, θα ενεργοποιήσουμε το παραγωγικό API-KEY που βρίσκεται στις ρυθμίσεις του διαχειριστικού μας.
      6. Μετά τον έλεγχο από το προσωπικό της SBZ εκδίδεται ηλεκτρονική σύμβαση.


      Μετά την έναρξη

      • Θα πρέπει να συνεχίσεις να τηρείς τους Όρους και τις Προϋποθέσεις μας.
      • Θα πρέπει να παρακολουθείς τη σύνδεσή σου στο API για τυχόν προειδοποιήσεις ή σφάλματα
      • Θα πρέπει να αναφέρεις τυχόν προειδοποιήσεις ή σφάλματα που έλαβες σε οποιαδήποτε απάντηση και τον τρόπο επίλυσής τους.

 

    1. Αυθεντικοποίηση

      Κάθε κλήση πρέπει να περιέχει τις ακόλουθες κεφαλίδες με τη μορφή τιμών ζεύγους, οι οποίες είναι απαραίτητες για την αναγνώριση του χρήστη. Σε περίπτωση εσφαλμένων πληροφοριών, ο χρήστης θα λάβει μήνυμα σφάλματος. Απαιτούνται οι παρακάτω κεφαλίδες:

      Κλειδί Τύπος δεδομένων Αξία Απαιτείται Περιγραφή
      API-KEY String {API-KEY} YES Το API_KEY του sandbox ή του λογαριασμού παραγωγής σας
      Content-Type String application/xml; charset=utf-8 YES

      Με την αναγνώριση του χρήστη μέσω των headers, η διεπαφή θα αποκτήσει επίσης πρόσβαση στον ΑΦΜ που είχε δηλώσει ο χρήστης κατά την εγγραφή του, έτσι ώστε να μην είναι απαραίτητο να τον υποβάλλει σε κάθε κλήση.

      Λάβε υπόψη ότι κάθε κλήση σε νέο αριθμό ΦΠΑ πρέπει πρώτα να έχει εξουσιοδοτηθεί από την πλευρά μας.

 

  1. Υπηρεσίες API

    1. Αποστολή παραστατικού

      Η κλήση έχει τα ακόλουθα χαρακτηριστικά:
      • /sendinvoice.php (POST)
      • Κύριο μέρος σε μορφή xml που περιέχει το στοιχείο InvoicesDoc, το οποίο περιέχει ένα ή περισσότερα παραστατικά. Η δομή του στοιχείου InvoicesDoc περιγράφεται ανά τύπο
        AadeBookInvoiceType

      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/sendinvoice.php?action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/sendinvoice.php?action=sandbox

    2. Αίτημα διαβιβασθέντων παραστατικών

      Η κλήση έχει τα ακόλουθα χαρακτηριστικά:
      • /requesttransmitteddocs.php (GET)
      • Με αυτήν τη μέθοδο μπορείτε να ανακτήσετε παραστατικά που έχουν υποβληθεί στο myData. Η μέθοδος επιστρέφει τα παραστατικά που έχουν τον ΑΦΜ εκδότη της καθορισμένης παραμέτρου.

      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      issuerVAT xs:long Ναι ΑΦΜ εκδότη (query parameter)
      mark xs:long Οχι Μοναδικός Αριθμός Καταχώρησης (Mark). Προωθείται στην ΑΑΔΕ ως Mark
      maxMark xs:long Οχι Εφόσον δοθεί τιμή, επιστρέφονται εγγραφές με ΜΑΡΚ μικρότερο ή ίσο αυτής της τιμής

       

      Παρατηρήσεις:

      • Η SBZ API προωθεί στην ΑΑΔΕ τις παραμέτρους issuervat, Mark και maxMark (μέθοδος Provider RequestTransmittedDocs).
      • Απαιτείται έγκυρο Api-Key. Το ΑΦΜ εκδότη πρέπει να αντιστοιχεί σε οντότητα που καλύπτεται από το Api-Key.
      • Οι παράμετροι nextPartitionKey / nextRowKey της ΑΑΔΕ δεν προωθούνται προς το παρόν από την SBZ κλήση.


      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/requesttransmitteddocs.php?issuerVAT={issuerVAT}&mark={mark}&maxMark={maxMark}&action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/requesttransmitteddocs.php?issuerVAT={issuerVAT}&mark={mark}&maxMark={maxMark}&action=sandbox

    3. Υπογραφή πληρωμής

      Η κλήση έχει τα ακόλουθα χαρακτηριστικά:
      • /paymentsignature.php (POST)
      • Κύριο μέρος σε μορφή xml που περιέχει το στοιχείο ERPpayment, το οποίο περιέχει μια αίτηση υπογραφής πληρωμής για χρήση με τερματικό καρτών POS.

      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      issuerVat xs:long Ναι ΑΦΜ οντότητας
      issueDate xs:date Ναι Ημερομηνία έκδοσης παραστατικού
      branch xs:int Ναι Αριθμός υποκαταστήματος
      invoiceType xs:string Ναι Τύπος παραστατικού. Οι πιθανές τιμές περιγράφονται στους Πίνακες αναφοράς.
      Τα παραστατικά 8.5, 11.4, 5.1, 5.2 στέλνουν στο τερματικό κίνηση refund.
      Το παραστατικό 8.4 προ φόρτωση εκτός αν ορισθεί η preload
      InitialTransaction xs:string Οχι Υποχρεωτικό μόνο σε περίπτωση επιστροφής χρημάτων
      series xs:string Ναι Σειρά παραστατικού. Σε περίπτωση μη έκδοσης σειράς παραστατικού, το πεδίο σειράς πρέπει να έχει τιμή 0.Δεν πρέπει να περιέχει το χαρακτήρα “-”
      aa xs:string Ναι Αύξων αριθμός παραστατικού. Πρέπει να είναι μοναδικός ανά είδος παραστατικού 8.1
      invoicemark xs:long Οχι Μοναδικός Αριθμός Καταχώρησης
      amount xs:decimal Ναι Ποσό πληρωμής
      totalNetValue xs:decimal Ναι Συνολική καθαρή αξία
      totalVatAmount xs:decimal Ναι Συνολικό ποσό ΦΠΑ
      totalGrossValue xs:decimal Ναι Συνολική ακαθάριστη αξία
      terminalid xs:string Ναι Ψευδώνυμο μέσου πληρωμών όπως έχει ορισθεί στο api.sbz.gr
      tipAmount xs:decimal Οχι Αξία φιλοδωρήματος. Για μη ορισμό βάζουμε 0
      instalments xs:int Οχι Αριθμός δόσεων. Για μη ορισμό βάζουμε 0
      preload xs:int Οχι 1: Προ φόρτωση συναλλαγής, 2: Έλεγχος προφορτωμένων
      Συμπληρώνουμε τη γραμμή μόνο όταν απαιτείται
      PaymentType xs:int Οχι 0: Πληρωμή με κάρτα, 1: IRIS. Εάν δεν οριστεί, είναι 0

      Απάντηση

      Πεδίο Τύπος Περιγραφή
      SigningAuthor xs:long Κωδικός παρόχου ηλεκτρονικής τιμολόγησης
      Signature xs:date Υπογραφή Πληρωμής Παρόχου Υπηρεσιών Ηλεκτρονικής Έκδοσης Στοιχείων ΥΠΑΗΕΣ
      Uid xs:int Αναγνωριστικό παραστατικού
      Timestamp xs:int Η ώρα σε μορφή Y-m-d\TH:i:s
      statusCode xs:string Αποτέλεσμα κλήσης μετά από έλεγχο της υπογραφής. Signature is valid αν είναι έγκυρη
      Comments xs:string Σχόλια
      pos_transactionId xs:string Μοναδικός αριθμός πληρωμής από τερματικό
      pos_answer xs:string Τιμές που επιστρέφονται preloaded, success, failed
      pos_transactionText xs:string Δεν επιστρέφεται από όλα τα τερματικά και έχει καθαρά ενημερωτικό σκοπό. Ένας πρόσθετος μοναδικός αριθμός από τερματικό, εάν υφίσταται.
      pos_TerminalID xs:string Μοναδικός κωδικός τερματικού
      pos_PaymentType xs:int 0: Πληρωμή με κάρτα, 1: Πληρωμή με IRIS


      Παρατηρήσεις:

      • Η διαφοροποίηση ταυτόχρονων και ετεροχρονισμένων συναλλαγών έγκειται στη χρήση ή μη της SendPayments
      • Για ετεροχρονισμένες συναλλαγές χρησιμοποιείται η SendPayments αφού γίνει κλήση πρώτα στην PaymentSignature
      • Για ταυτόχρονες συναλλαγές χρησιμοποιείται η SendInvoice αφού γίνει κλήση πρώτα στην PaymentSignature
      • Ο ΑΦΜ αναφοράς αποστέλλεται μέσω του πεδίου entityVatNumber


      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/paymentsignature.php?action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/paymentsignature.php?action=sandbox

    4. Αποστολή πληρωμών

      Η κλήση πραγματοποιείται όταν χρειάζεται να εκδώσουμε απόδειξη είσπραξης ή επιστροφής POS. Αποστέλλεται στο myDATA με τη SendPaymentsMethod και λαμβάνει invoiceMark το οποίο και επιστρέφει σε επιτυχημένη κλήση. Έχει τα ακόλουθα χαρακτηριστικά:

      • /sendpayments.php (POST)
      • Headers όπως αναφέρεται στην παράγραφο 3
      • Κύριο μέρος σε μορφή xml που αποτελείται από ένα ή περισσότερα στοιχεία PaymentMethodType. Ο τύπος περιγράφεται από το παρακάτω διάγραμμα.

      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      issuerVat xs:long Ναι ΑΦΜ οντότητας
      issueDate xs:date Ναι Ημερομηνία έκδοσης παραστατικού
      branch xs:int Ναι Αριθμός υποκαταστήματος
      invoiceType xs:string Ναι Τύπος παραστατικού. Οι πιθανές τιμές περιγράφονται στους Πίνακες αναφοράς.

      Τα παραστατικά 8.5, 11.4, 5.1, 5.2 στέλνουν στο τερματικό κίνηση refund.

      Το παραστατικό 8.4 προ φόρτωση εκτός αν ορισθεί η preload

      InitialTransaction xs:string Οχι Υποχρεωτικό μόνο σε περίπτωση επιστροφής χρημάτων
      series xs:string Ναι Σειρά παραστατικού. Σε περίπτωση μη έκδοσης σειράς παραστατικού, το πεδίο σειράς πρέπει να έχει τιμή 0. Δεν πρέπει να περιέχει το χαρακτήρα “-”
      aa xs:string Ναι Αύξων αριθμός παραστατικού. Πρέπει να είναι μοναδικός ανά είδος παραστατικού 8.1
      invoicemark xs:long Οχι Μοναδικός Αριθμός Καταχώρησης
      amount xs:decimal Ναι Ποσό πληρωμής
      totalNetValue xs:decimal Ναι Συνολική καθαρή αξία
      totalVatAmount xs:decimal Ναι Συνολικό ποσό ΦΠΑ
      totalGrossValue xs:decimal Ναι Συνολική ακαθάριστη αξία
      terminalid xs:string Ναι Ψευδώνυμο μέσου πληρωμών όπως έχει ορισθεί στο api.sbz.gr

      Απάντηση

      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      invoiceMark xs:long Ναι Μοναδικός Αριθμός Καταχώρησης Παραστατικού
      paymentMethodMark xs:long Όχι Μοναδικός Αριθμός Καταχώρησης Τρόπου Πληρωμής
      entityVatNumber xs: string Όχι ΑΦΜ Οντότητας Αναφοράς
      paymentMethodDetails PaymentMethodDetailType Ναι Τρόποι Πληρωμής


      Παρατηρήσεις:

      • Το πεδίο paymentMethodMark συμπληρώνεται από την υπηρεσία
      • Ο ΑΦΜ αναφοράς αποστέλλεται μέσω του πεδίου entityVatNumber,
      • Το αντικείμενο PaymentMethodDetailType αναλύεται λεπτομερώς στην παράγραφο 5.2
      • Κατά την χρήση της μεθόδου, τουλάχιστον ένα αντικείμενο PaymentMethodDetailType ανά παραστατικό πρέπει να είναι τύπου POS
      • Το σύνολο των ποσών amount ανά αντικείμενο PaymentMethodDetailType πρέπει να ισούται με το totalGrossValue του παραστατικού στο οποίο αντιστοιχεί το invoiceMark


      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/sendpayments.php?action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/sendpayments.php?action=sandbox

    5. Ακύρωση δελτίου διακίνησης

      Η κλήση πραγματοποιείται όταν χρειάζεται να ακυρώσουμε δελτίο διακίνησης. Αποστέλλεται στο myDATA με τη CancelDeliveryNote και λαμβάνει cancellationMark το οποίο και επιστρέφει σε επιτυχημένη κλήση. Έχει τα ακόλουθα χαρακτηριστικά:

      • /canceldeliverynote.php (POST)
      • Headers όπως αναφέρεται στην παράγραφο 3
      • Τα πεδία ορίζονται ως παράμετροι, για παράδειγμα 



      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      mark xs:long Ναι Μοναδικός αριθμός καταχώρησης παραστατικού προς ακύρωση
      entityVatNumber xs:string Ναι ΑΦΜ οντότητας

       

      Απάντηση

      Πεδίο Τύπος Περιγραφή
      cancellationMark xs:long Μοναδικός Αριθμός Ακύρωσης
      statusCode xs: string Κωδικός κατάστασης


      Παρατηρήσεις:

      • Σε περίπτωση επιτυχίας η ακύρωση ως πράξη λαμβάνει το δικό της mark το οποίο επιστρέφεται στον χρήστη και το δελτίο αποστολής θεωρείται ακυρωμένο. Σε περίπτωση αποτυχίας επιστρέφεται το αντίστοιχο μήνυμα λάθους.
      • Ο ΑΦΜ αναφοράς αποστέλλεται μέσω του πεδίου entityVatNumber
      • Με την CancelDeliveryNote μέθοδο μόνο παραστατικά 9.3 μπορούν να ακυρωθούν


      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/canceldeliverynote.php?action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/canceldeliverynote.php?action=sandbox

    6. Αποστολή αρχείου

      Η κλήση έχει τα ακόλουθα χαρακτηριστικά:
      • /sendfile.php (POST)
      • Headers όπως αναφέρεται στην παράγραφο 3
      • Body (multipart/form-data)

      Field Type Required Description
      issuerVat xs:long Yes ΑΦΜ οντότητας
      invoiceMark xs:string Yes Μοναδικός Αριθμός Καταχώρησης
      file xs:string Yes Αρχείο PDF ή JPG (μέγιστο 300 KB)

       

      Παράδειγμα

      Καταληκτικά σημεία

      Περιβάλλον παραγωγής

      https://api.sbz.gr/sign/sendfile.php?action=production

      Περιβάλλον Sandbox

      https://api.sbz.gr/sign/sendfile.php?action=sandbox

      Remarks

      • Ο μοναδικός αριθμός καταχώρησης πρέπει να υπάρχει ήδη στο σύστημα πριν από τη μεταφόρτωση.
      • Κάθε μεταφόρτωση κοστίζει: 1 μονάδα ανά 20 KB (π.χ. 100 KB = 5 μονάδες).
      • Η εκ νέου μεταφόρτωση του ίδιου αρχείου δεν επιτρέπεται.

  2. Περιγραφή InvoiceDoc

    Αυτή η ενότητα περιγράφει αναλυτικά τα περιεχόμενα ενός παραστατικού (τύπος AadeBookInvoiceType). Η δομή του στοιχείου έχει ως εξής:



    Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες τιμές
    uid xs:string Οχι Αναγνωριστικό παραστατικού Μήκος = 40 Συμπληρώνεται μόνο από τον πάροχο
    mark xs:long Οχι Μοναδικός Αριθμός Καταχώρησης παραστατικού Συμπληρώνεται μόνο από τον πάροχο. Μοναδικός Αριθμός Καταχώρησης παραστατικού
    cancelledByMark xs:long Οχι Μοναδικός Αριθμός Ακύρωσης παραστατικού Συμπληρώνεται μόνο από τον πάροχο
    authenticationCode xs:string Οχι Κωδικός ελέγχου ταυτότητας Συμπληρώνεται μόνο από τον πάροχο
    transmissionFailure xs:byte Οχι Αδυναμία επικοινωνίας παρόχου ή αδυναμία διαβίβασης δεδομένων από ERP Επιτρεπτή τιμή: 1. Αναλυτικά στους Πίνακες αναφοράς
    issuer PartyType Οχι Εκδότης παραστατικού
    counterpart PartyType Οχι Αντίστοιχο παραστατικό
    invoiceHeader InvoiceHeaderType Ναι Επικεφαλίδα παραστατικού
    paymentMethods PaymentMethodDetailType Οχι μέθοδοι πληρωμής
    invoiceDetails InvoiceRowType Ναι Γραμμές παραστατικού
    taxesTotals TaxesType Οχι Συνολικοί φόροι Περιέχει όλους τους φόρους εκτός από τον ΦΠΑ. Εάν ο χρήστης χρησιμοποιεί αυτό το στοιχείο, οι φόροι δεν θα υπάρχουν στα invoiceDetails
    invoiceSummary InvoiceSummaryType Ναι Περίληψη παραστατικού
    API_InvoiceDetails API_InvoiceDetailsType Ναι Στοιχεία παραστατικού


    Παρατηρήσεις

    • Οι σύνθετοι τύποι PartyType, PaymentMethodDetailType, InvoiceHeaderType, InvoiceRowType, TaxTotalsType, InvoiceSummaryType και API_InvoiceDetailsType περιγράφονται παρακάτω σε αυτήν την ενότητα.
    • Το πεδίο transmissionFailure δηλώνει αδυναμία επικοινωνίας (προαιρετικό, xs:byte). Επιτρεπτή τιμή: 1 — Αδυναμία επικοινωνίας οντότητας με τον πάροχο κατά την έκδοση/διαβίβαση παραστατικού. Αναλυτικά στους Πίνακες αναφοράς.


    1. Στοιχεία οντότητας


      Ο εκδότης και ο αντισυμβαλλόμενος είναι στοιχεία τύπου PartyType.



      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες τιμές
      vatNumber xs:string Ναι ΑΦΜ Οποιοσδήποτε έγκυρος ΑΦΜ
      Country xs:string Ναι Κωδικός χώρας Κωδικοί χωρών (ISO 3166)
      branch xs:int Ναι Αριθμός υποκαταστήματος Ελάχιστη τιμή = 0
      Εάν το υποκατάστημα είναι έδρα ή δεν υπάρχει, το πεδίο υποκαταστήματος πρέπει να έχει τιμή 0.
      Name xs:string Οχι Ονομα
      Address AddressType Οχι Διεύθυνση
      documentIdNo xs:string Οχι Επίσημος αριθμός παραστατικού Μέγιστο 100 χαρακτήρες
      Ισχύει μόνο σε περίπτωση παραστατικού χωρίς φόρους tax free (ειδική κατηγορία παραστατικών = 4)
      supplyAccountNo xs:string Οχι Αριθμός Παροχής Ηλεκτρικής Ενέργειας Μέγιστο 100 χαρακτήρες
      Ισχύει μόνο για έγγραφα καυσίμων

      Παρατηρήσεις

      • Για τα πεδία του εκδότη το όνομα και η διεύθυνση ισχύουν μόνο σε περίπτωση που δεν είναι από την Ελλάδα. Για το αντίστοιχο πεδίο το όνομα δεν πρέπει να υποβάλλεται εάν η οντότητα είναι από την Ελλάδα.
      • Ο κωδικός της χώρας είναι δύο χαρακτήρες και προέρχεται από την αντίστοιχη λίστα χωρών όπως περιγράφεται στο ISO 3166.
      • Σε περίπτωση που η εγκατάσταση του εκδότη είναι η έδρα ή δεν υφίσταται, το πεδίο branch πρέπει να έχει την τιμή 0
      • Για τον εκδότη, τα στοιχεία Επωνυμία και Διεύθυνση δεν γίνονται αποδεκτά στην περίπτωση που αφορούν οντότητα εντός Ελλάδας (GR). Για τον λήπτη, το στοιχείο Επωνυμία δεν γίνονται αποδεκτό στην περίπτωση που αφορά οντότητα εντός Ελλάδας (GR)
      • Ο αριθμός επίσημου εγγράφου, είναι επιτρεπτός μόνο στην περίπτωση διαβίβασης παραστατικών που ανήκουν στην Ειδική Κατηγορία Παραστατικού Tax free (το πεδίο της επικεφαλίδας του παραστατικού specialInvoiceCategory έχει την τιμή 4), και μπορεί να είναι οποιοδήποτε επίσημο έγγραφο ταυτοποίησης (π.χ αριθμός διαβατηρίου) του λήπτη του παραστατικού.
      • Ο αριθμός Παροχής Ηλ. Ρεύματος, είναι επιτρεπτός μόνο στην περίπτωση διαβίβασης παραστατικών καυσίμων (το πεδίο της επικεφαλίδας του παραστατικού fuelInvoice έχει την τιμή true – αποδεκτό μόνο για διαβίβαση από παρόχους) και είναι πληροφορία του λήπτη του παραστατικού.
      • Ο κωδικός χώρας έκδοσης του επίσημου εγγράφου (π.χ διαβατηρίου), είναι επιτρεπτός μόνο στην περίπτωση διαβίβασης παραστατικών που ανήκουν στην Ειδική Κατηγορία Παραστατικού Tax free (το πεδίο της επικεφαλίδας του παραστατικού specialInvoiceCategory έχει την τιμή 4) και εφόσον έχει συμπληρωθεί το πεδίο αριθμός επίσημου εγγράφου
        (documentIdNo) και αφορά τον λήπτη του παραστατικού.


      1. Διεύθυνση

        Η διεύθυνση του εκδότη και του αντισυμβαλλομένου είναι στοιχεία τύπου AddressType.


        Πεδίο Τύπος Υποχρεωτικό Περιγραφή
        Street xs:string Οχι Δρόμος
        number xs:string Οχι Αριθμός
        postalCode xs:string Ναι Ταχυδρομικός Κώδικας
        City xs:string Ναι Πόλη

         

    2. Μέθοδος πληρωμής

      Ο τρόπος πληρωμής είναι στοιχείο τύπου PaymentMethodDetailType και η δομή του περιγράφεται παρακάτω:


      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες τιμές
      type xs:int Ναι Τύπος Πληρωμής Ελάχιστη = 1 Μέγιστη = 8
      Οι πιθανές τιμές περιγράφονται στους Πίνακες αναφοράς (Τρόποι πληρωμής)
      amount xs:decimal Ναι Ποσό Πληρωμής Ελάχιστη = 0 Δεκαδικά = 2
      Το ποσό του πεδίου μπορεί να αναφέρεται σε ένα μέρος της αξίας του τιμολογίου
      paymentMethodInfo xs:string Όχι Πληροφορίες Η paymentMethodInfo περιέχει επιπλέον πληροφορίες για τον καθορισμένο τύπο
      transactionId xs:string Όχι Αριθμός συναλλαγής από τερματικό POS Διαβιβάζεται στην περίπτωση πληρωμών με type = 7
      tid xs:string Όχι TID τερματικού POS Διαβιβάζεται στην περίπτωση πληρωμών με type = 7


      Παρατηρήσεις

      • Οι τιμές του πεδίου type περιγράφονται σε αντίστοιχο πίνακα του παραρτήματος
      • Το πεδίο amount μπορεί να αντιστοιχεί σε ένα τμήμα της συνολικής αξίας του παραστατικού
      • Το πεδίο Πληροφορίες μπορεί να περιέχει επιπλέον πληροφορίες σχετικά με τον συγκεκριμένο τύπο (πχ Αρ. Λογαριασμού Τραπέζης)
      • Το πεδίο ProvidersSignature είναι τύπου ProviderSignatureType, ο οποίος τύπος περιγράφεται παρακάτω, και διαβιβάζεται στην περίπτωση πληρωμών με type = 7 και όταν η διαβίβαση γίνεται από το κανάλι του παρόχου


      1. Υπογραφή Πληρωμής Παρόχου


        Το πεδίο ProvidersSignature είναι στοιχείο τύπου ProviderSignatureType και η δομή του περιγράφεται παρακάτω:


        Πεδίο Τύπος Υποχρεωτικό Περιγραφή
        SigningAuthor xs:string Ναι Αριθμός Απόφασης έγκρισης ΥΠΑΗΕΣ

        Παρόχου

        Signature xs:string Ναι Υπογραφή

         

      2. Ροή πληρωμής

        1. Κλήση σε paymentsignature.php με αποστολή XML τύπου:

        To terminalid συσχετίζεται με το tid του τερματικού στο διαχειριστικό του api.sbz.gr, στις ρυθμίσεις, τερματικά πληρωμών.

        1. Το API επικοινωνεί με το POS και περιμένει απάντηση
        2. Με την ολοκλήρωση της συναλλαγής επιστρέφεται XML τύπου:

        1. Ενσωμάτωση στο sendinvoice.php και αποστολή

    3. Επικεφαλίδα παραστατικού




      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες τιμές
      Series xs:string Ναι Σειρά παραστατικού Σε περίπτωση μη έκδοσης σειράς παραστατικού, το πεδίο σειράς πρέπει να έχει τιμή 0.
      Δεν πρέπει να περιέχει το χαρακτήρα “-”
      Aa xs:string Ναι αύξων αριθμός παραστατικού Μέγιστα ψηφία = 5
      issueDate xs:date Ναι Ημερομηνία έκδοσης παραστατικού
      invoiceType xs:string Ναι Τύπος παραστατικού Οι πιθανές τιμές περιγράφονται στους Πίνακες αναφοράς
      vatPaymentSuspension xs:boolean Οχι Αναστολή πληρωμήςΦΠΑ
      currency xs:string Οχι Νόμισμα Κωδικός νομίσματος (ISO4217)
      exchangeRate xs:decimal Οχι Συναλλαγματική ισοτιμία Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 5
      Η συναλλαγματική ισοτιμία έναντι του ευρώ. Θα πρέπει να συμπληρώνεται μόνο όταν το νόμισμα δεν είναι EUR.
      correlatedInvoices xs:long Οχι Συσχετισμένα παραστατικά Το στοιχείο είναι μια λίστα συμβολοσειρών που περιέχει το MARK των συσχετισμένων παραστατικών
      correlatedInvoicesLabel xs:string Οχι Συσχετισμένα παραστατικά Ονόματα Απαιτείται μόνο όταν χρησιμοποιείτε συσχετισμένα παραστατικά.
      Το στοιχείο είναι ένα πεδίο κειμένου που περιέχει το Φιλικό Όνομα των σχετικών παραστατικών
      selfPricing xs:boolean Οχι Ένδειξη αυτοτιμολόγησης
      dispatchDate xs:date Οχι Ημερομηνία αποστολής
      dispatchTime xs:time Οχι χρόνος αποστολής
      vehicleNumber xs:string Οχι Αριθμός οχήματος
      movePurpose xs:int Οχι Σκοπός κίνησης Ελάχιστη τιμή = 1 Μέγιστη τιμή = 20
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      movePurposeLabel xs:string Οχι Σκοπός του

      Περιγραφή κίνησης

      fuelInvoice xs:boolean Οχι Έγγραφο καυσίμων (ένδειξη)
      specialInvoiceCategory xs:int Οχι Ειδική Κατηγορία Εγγράφων Ελάχιστη τιμή = 1 Μέγιστη τιμή = 13.
      Τιμές στους Πίνακες αναφοράς (Ειδική Κατηγορία Παραστατικού)
      isDeliveryNote xs:boolean Οχι Ένδειξη Παραστατικού Διακίνησης
      multipleConnectedMarks Οχι Πολλαπλά Συνδεόμενα MARKs
      tableAA Ναι ΑΑ Τραπεζιού Αποδεκτό μόνο για παραστατικό τύπου 8.6 – Μέγιστο επιτρεπτό μήκος 50
      totalCancelDeliveryOrders xs:boolean Οχι Ένδειξη συνολικής αναίρεσης

      Δελτίων Παραγελίας

      Αποδεκτό μόνο για παραστατικό τύπου 8.6


      Παρατηρήσεις

      • To πεδίο exchangeRate είναι η ισοτιμία του νομίσματος σε σχέση με το ευρώ. Πρέπει να συμπληρώνεται μόνο όταν το νόμισμα δεν έχει τιμή EUR.
      • Ο κωδικός νομισμάτων προέρχεται από την αντίστοιχη λίστα σύμφωνα με το πρότυπο ISO4217.
      • Το στοιχείο correlatedInvoices είναι λίστα και περιέχει τα ΜΑΡΚ των συσχετιζόμενων παραστατικών
      • Σε περίπτωση μη έκδοσης σειράς παραστατικού, το πεδίο series πρέπει να έχει την τιμή 0
      • Το πεδίο selfPricing ορίζει αν πρόκειται για παραστατικό Αυτοτιμολόγησης
      • Οι πιθανές τιμές των πεδίων movePurpose και invoiceType περιγράφονται αναλυτικά στους Πίνακες αναφοράς
      • Το πεδίο fuelInvoice ορίζει αν πρόκειται για παραστατικό πώλησης υγρών καυσίμων και επιτρέπεται η αποστολή μόνο για την περίπτωση των παρόχων.
      • Οι πιθανές τιμές του πεδίου specialInvoiceCategory περιγράφονται αναλυτικά στους Πίνακες αναφοράς
      • Οι πιθανές τιμές του πεδίου invoiceVariationType περιγράφονται αναλυτικά στους Πίνακες αναφοράς. Το πεδίο δεν επιτρέπεται για διαβίβαση μέσω καναλιού παρόχου. Επίσης λεπτομέρειες σχετικά με τον τρόπο χρήσης τους από επιχειρησιακής σκοπιάς περιγράφονται στο σχετικό επιχειρησιακό έγγραφο.
      • Το πεδίο otherCorrelatedEntities (Λοιπές συσχετιζόμενες οντοτήτες) είναι λίστα τύπου EntityType
      • Η δομή του τύπου otherCorrelatedEntities περιγράφεται στη συνέχεια
      • Η δομή του τύπου otherDeliveryNoteHeader περιγράφεται στη συνέχεια
      • Το πεδίο isDeliveryNote ορίζει αν πρόκειται για παραστατικό που είναι και δελτίο αποστολής (π.χ το παραστατικό τύπου 1.1 – Τιμολόγιο Πώλησης, εφόσον φέρει την ένδειξη isDeliveryNote = true, τότε είναι και δελτίο διακίνησης και θα πρέπει να αποσταλούν και επιπλέον στοιχεία διακίνησης)
      • Το πεδίο otherMovePurposeTitle συμπληρώνεται όταν έχει επιλεγεί ως movePurpose = 19 (Λοιπές Διακινήσεις) και ορίζει τον τίτλο της άλλης διακίνησης
      • Το πεδίο thirdPartyCollection ορίζει αν η επιχείρηση που κάνει χρήση Μέσων Πληρωμών ως Χρήστης υπηρεσιών πληρωμών και εισπράττει για λογαριασμό τρίτων (περίπτωση παραστατικού 8.4 – Απόδειξη Είσπραξης POS) ή αν επιστρέφει ποσά συναλλαγής για λογαριασμό τρίτων (περίπτωση παραστατικού 8.5 – Απόδειξη Επιστροφής POS)


      1. Λοιπά Γενικά Στοιχεία Διακίνησης




        Πεδίο Τύπος Υποχρεωτικό Περιγραφή Αποδεκτές τιμές
        loadingAddress AddressType Ναι Διεύθυνση Φόρτωσης Συμπληρώνεται για παραστατικά που είναι δελτία αποστολής (π.χ 9.3) ή τιμολόγιο και δελτίο αποστολής (isDeliveryNote = true)
        deliveryAddress AddressType Ναι Διεύθυνση Παράδοσης Συμπληρώνεται για παραστατικά που είναι δελτία αποστολής (π.χ 9.3) ή τιμολόγιο και δελτίο αποστολής (isDeliveryNote = true)
        startShippingBranch xs:int Οχι Εγκατάσταση έναρξης διακίνησης (Εκδότη) Συμπληρώνεται για παραστατικά που είναι δελτία αποστολής (π.χ 9.3) ή τιμολόγιο και δελτίο αποστολής (isDeliveryNote = true)
        completeShippingBranch xs:int Οχι Εγκατάσταση ολοκλήρωσης διακίνησης (Λήπτη) Συμπληρώνεται για παραστατικά που είναι δελτία αποστολής (π.χ 9.3) ή τιμολόγιο και δελτίο αποστολής (isDeliveryNote = true)

        Παρατηρήσεις:

        • Το πεδίο loadingAddress είναι τύπου AddressType, ο οποίος τύπος αναλύεται σε προγενέστερη αντίστοιχη παράγραφο (5.1.1)
        • Το πεδίο deliveryAddress είναι τύπου AddressType, ο οποίος τύπος αναλύεται σε προγενέστερη αντίστοιχη παράγραφο (5.1.1)
        • Με το πεδίο startShippingBranch ορίζεται το υποκατάστημα από το οποίο έγινε η έναρξη της διακίνησης, σε περίπτωση που η έναρξη της διακίνησης γίνεται από κάποιο υποκατάστημα (εγκατάσταση) του εκδότη του παραστατικού, το οποίο είναι διαφορετικό από το υποκατάστημα του εκδότη του δελτίου
        • Με το πεδίο completeShippingBranch ορίζεται το υποκατάστημα στο οποίο θα ολοκληρωθεί η διακίνηση, σε περίπτωση που η διακίνηση θα ολοκληρωθεί σε κάποιο υποκατάστημα (εγκατάσταση) του λήπτη του παραστατικού, το οποίο είναι διαφορετικό από το υποκατάστημα του λήπτη του δελτίου


    4. Λεπτομέρειες παραστατικού





      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες τιμές
      lineNumber xs:int Ναι Αριθμός σειράς Ελάχιστη τιμή = 1
      lineCode xs:string Οχι Κωδικός είδους
      recType xs:int Οχι Τύπος γραμμής Ελάχιστη τιμή = 1 Μέγιστη τιμή = 7.
      Τιμές στους Πίνακες αναφοράς (Είδος γραμμής)
      fuelCode FuelCodes Οχι Κωδικός καυσίμου Λίστα κωδικών καυσίμου
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      quantity xs:decimal Οχι Ποσότητα Ελάχιστη τιμή = Προεπιλογή = 1
      lineQuantity xs:decimal Οχι Ποσότητα μόνο για χρήση από το API παρόχου εφόσον δεν υπάρχει η quantity Ελάχιστη τιμή = Προεπιλογή = 1
      classificationIdentifier xs:string Μόνο για B2G

      Οχι

      Κωδικός CPV
      measurementUnit xs:int Οχι Μονάδα ποσότητας Ελάχιστη τιμή = 1 Μέγιστη τιμή = 7.
      Τιμές στους Πίνακες αναφοράς
      measurementUnitLabel xs:string Οχι Απαιτείται μόνο όταν υπάρχει μονάδα μέτρησης
      invoiceDetailType xs:int Οχι Παρατήρηση αυτοτιμολόγησης 1,2
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      lineUnitPrice xs:decimal Ναι Η τιμή μονάδας
      totalNetPriceBeforeDiscount xs:decimal Ναι Συνολική τιμή όλων (μονάδες x ποσότητα)
      totalDiscountValue xs:decimal Ναι Συνολική αξία έκπτωσης Ελάχιστη τιμή = 0
      netValue xs:decimal Ναι Καθαρή αξία Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      vatCategory xs:int Ναι Κατηγορία ΦΠΑ Ελάχιστη = 1, Μέγιστη = 8 Τιμές που περιγράφονται στους Πίνακες αναφοράς
      Για περιπτώσεις που δεν εφαρμόζεται ΦΠΑ, το πεδίο vatCategory θα έχει την τιμή 8
      vatCategoryPercent xs:decimal Ναι Περιγραφή κατηγορίας ΦΠΑ (π.χ.24.00)
      vatAmount xs:decimal Ναι Ποσό ΦΠΑ Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      vatExemptionCategory xs:int Οχι Κατηγορία απαλλαγής ΦΠΑ Ελάχιστη τιμή = 1 Μέγιστη τιμή = 31
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      Απαιτείται εάν η Κατηγορία ΦΠΑ υποδεικνύει συντελεστή ΦΠΑ 0%.
      dienergia ShipType Οχι Άρθρο 27 of POL 1177/2018
      discountOption xs:boolean Οχι Επιλογή έκπτωσης False / True
      withheldAmount xs:decimal Οχι Ποσό παρακράτησης φόρου Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      Το πεδίο συμπληρώνεται όταν υπάρχει ο αντίστοιχος φόρος (ακόμα και αν είναι ποσοστό)
      withheldPercentCategory xs:int Οχι Κατηγορία συντελεστή παρακράτησης φόρου Ελάχιστη τιμή = 1 Μέγιστη τιμή = 12
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      stampDutyAmount xs: decimal Οχι Ποσό τελών ψηφιακού τέλους συναλλαγής Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      stampDutyPercentCategory xs:int Οχι Κατηγορία συντελεστή ψηφιακού τέλους συναλλαγής 1, 2, 3
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      feesAmount xs:decimal Οχι Ποσό τελών Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      Τα πεδία συμπληρώνονται όταν υπάρχει ο αντίστοιχος φόρος (ακόμα και αν είναι ποσοστό)
      feesPercentCategory xs:int Οχι Κατηγορία ποσοστού τελών Ελάχιστη τιμή = 1 Μέγιστη τιμή = 22
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      otherTaxesPercentCategory xs:int Οχι Κατηγορία άλλων φορολογικών συντελεστών Ελάχιστη τιμή = 1 Μέγιστη τιμή = 30
      Τιμές που περιγράφονται στους Πίνακες αναφοράς
      otherTaxesAmount xs:decimal Οχι Ποσό άλλων φόρων Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      Τα πεδία συμπληρώνονται όταν υπάρχει ο αντίστοιχος φόρος (ακόμα και αν είναι ποσοστό)
      deductionsAmount xs:decimal Οχι Ποσό μειώσεων Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      lineDescription xs:string
      lineComments xs:string Οχι Γραμμικά σχόλια Συμπληρώνεται από τον χρήστη και χρησιμοποιείται μόνο για ενημερωτικούς σκοπούς
      incomeClassification IncomeClassificationType Οχι Ταξινόμηση εισοδήματος
      expensesClassification ExpensesClassificationType Οχι Ταξινόμηση εξόδων
      itemDescr xs:string Οχι Περιγραφή αντικειμένου Μέγιστο 300 χαρακτήρες Αποδεκτό μόνο για έγγραφα της ειδικής κατηγορίας αφορολόγητου


      Παρατηρήσεις

      1. Οι πιθανές τιμές για τα πεδία μέτρηση Unit, invoiceDetailType, vatCategory, vatExemptionCategory, deheldPercentCategory, stampDutyPercentCategory, feesPercentCategory και
        otherTaxesPercentCategory αναφέρονται αναλυτικά στους αντίστοιχους πίνακες στους Πίνακες αναφοράς
      2. Το πεδίο vatExemptionCategory είναι απαραίτητο σε περίπτωση που το vatCategory υποδεικνύει μια κατηγορίασυντελεστή ΦΠΑ 0%
      3. Για περιπτώσεις λογιστικών εγγραφών όπου δεν εφαρμόζεται ΦΠΑ, το πεδίο vatCategory θα έχει την τιμή 8
      4. Τα σχόλια γραμμής συμπληρώνονται από τον χρήστη και χρησιμοποιούνται για σκοπούς ενημέρωσης της υπηρεσίας
        1. Σε περίπτωση αποστολής γραμμών με recType = 2 (γραμμή τέλους ΦΠΑ) ή/και recType = 3 (γραμμή Άλλοι φόροι με ΦΠΑ), θα επιτρέπεται ταυτόχρονα, εάν επιθυμείτε, η αποστολή παρακράτησης/τελών /άλλο φόρους/σφραγίδα/εκπτώσεις και σε επίπεδο παραστατικού και όχι απαραίτητα ανά γραμμή περίληψης εγγράφων.
          Στις περιπτώσεις αυτών των γραμμών, τα ποσά που αντιστοιχούν σε τέλη ΦΠΑ (recType = 2) ή άλλους φόρους (recType =3 αντίστοιχα, θα αποστέλλονται στο πεδίο της καθαρής αξίας της γραμμής (netValue), ενώ τα αντίστοιχα πεδία τέλος ποσό (feesAmount) ή ποσό άλλων φόρων (otherTaxesAmount) δεν θα συμπληρωθεί. Επίσης, δεν επιτρέπεται η αποστολή άλλων τύπων φόρων/τελών/παρακρατήσεων/ενσήμων σε αυτές τις γραμμές (π.χ. σε γραμμή με recType = 2 άλλοι φόροι/ δεν επιτρέπονται κρατήσεις/παρακράτηση/σφραγίδα σε αυτή τη γραμμή).
        2. Η αποστολή με recType = 7 (αρνητικό πρόσημο τιμών) επιτρέπεται μόνο στην περίπτωση διαβίβασης των εγγράφων 17.3, 17.4, 17.5 και 17.6 και με αυτόν τον τρόπο υποδεικνύεται ότι οι τιμές της γραμμής είναι αρνητικές (στα αντίστοιχα πεδία τιμών το οι τιμές αναγράφονται στις απόλυτες/θετικές τους τιμές).
          Σημειώνεται ότι στα αθροίσματα των τιμών στην ενότητα Document Summary (InvoiceSummaryType) θα μεταδοθούν τα αθροίσματα των απόλυτων τιμών των αντίστοιχων
          τιμών των γραμμών ανεξάρτητα από το αν υπάρχουν γραμμές που φέρουν ή όχι την ένδειξη recType = 7.
      5. Οι πιθανές τιμές για το πεδίο Κωδικός καυσίμου περιγράφονται αναλυτικά στον αντίστοιχο πίνακα στους Πίνακες αναφοράς. Επιτρέπεται η αποστολή του μόνο σε περίπτωση παρόχων και εφόσον πρόκειται για παραστατικό Fuel (invoiceHeaderType.fuelInvoice = true). Η τιμή 999 χρησιμοποιείται στην περίπτωση που σε άλλο παραστατικό πλην των καυσίμων υπάρχει ανάγκη τιμολόγησης και άλλων χρεώσεων. Μόνο μία γραμμή με αυτόν τον κωδικό επιτρέπεται ανά έγγραφο και η καθαρή αξία αυτής της γραμμής πρέπει να είναι μικρότερη ή ίση με το άθροισμα της καθαρής αξίας των υπόλοιπων κωδικών καυσίμων του παραστατικού.


      1. Δήλωση Ανάληψης Δραστηριότητας

        Η δήλωση ανάληψης δραστηριότητας είναι στοιχείο τύπου ShipType:




        Πεδίο Τύπος Υποχρεωτικό Περιγραφή
        applicationId xs:string Ναι Αριθμός Δήλωσης Επιχείρησης Δραστηριότητας
        applicationDate xs:date Ναι Ημερομηνία αίτησης
        doy xs:string Οχι Υποβολή Φορολογικής Δήλωσης Δ.Ο.Υ
        shipID xs:string Ναι Λεπτομέρειες αποστολής



    5. Σύνολα φόρων

      Το στοιχείο TaxTotalsType που περιέχει τους συνολικούς φόρους έχει την ακόλουθη δομή:



      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες Αξίες
      taxType xs:byte Ναι Είδος φόρου 1 = Παρακρατούμενοι φόροι
      2 = Τέλη
      3 = Άλλοι φόροι
      4 = Ψηφιακό τέλος συναλλαγής
      5 = Εκπτώσεις
      taxCategory xs:byte Ναι Φορολογική κατηγορία Βλέπε πίνακες 8.4 – 8.8 του παραρτήματος
      underlyingValue xs:decimal Οχι Υποκείμενη αξία

      στην οποία αναφέρεται ο φόρος

      Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      percentage xs:decimal Μόνο για B2G

      Ναι

      Ποσοστό κράτησης, παρακράτησης Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      reason xs:string Μόνο για B2G

      Ναι

      Περιγραφή κράτησης, παρακράτησης
      taxAmount xs:decimal Ναι Ποσό φόρου Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      Id xs:byte Οχι Αριθμός γραμμής
      ReducesPayable xs:boolean Οχι Μειώνει το πληρωτέο ποσό Προεπιλογή = False
      taxTypeLabel xs:string Οχι Περιγραφή της υπηρεσίας

       

    6. Περίληψη παραστατικού





      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες Αξίες
      totalNetValue xs:decimal Ναι Συνολική καθαρή αξία Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalVatAmount xs:decimal Ναι Συνολικό ποσό ΦΠΑ Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalWithheldAmount xs:decimal Ναι Συνολικό ποσό παρακράτησης φόρων Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalFeesAmount xs:decimal Ναι Συνολικό ποσό τελών Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalStampDutyamount xs:decimal Ναι Συνολικό ποσό ψηφιακού τέλους συναλλαγής Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalOtherTaxesAmount xs:decimal Ναι Συνολικό ποσό άλλων φόρων Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalDeductionsAmount xs:decimal Ναι Συνολικό ποσό παρακρατήσεων Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      totalGrossValue xs:decimal Ναι Συνολική ακαθάριστη αξία Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      incomeClassification IncomeClassificationType Οχι Ταξινόμηση εισοδήματος
      expensesClassification ExpensesClassificationType Οχι Ταξινόμηση εξόδων


      Παρατηρήσεις

      • Στοιχεία incomeClassification και expensesClassification περιέχει τα αθροίσματα όλων των συνδυασμών πεδίων classificationType και classificationCategory που υπάρχουν στα στοιχεία του παραστατικού.
      • Όλα τα πεδία περίληψης φόρων περιέχουν τη σύνοψη των αντίστοιχων φόρων των στοιχείων του παραστατικού ή στο στοιχείο taxesTotals.
      • totalGrossValue = totalNetValue + totalVatAmount + totalFeesAmount + totalStampDutyamount + totalOtherTaxesAmount – totalWithheldAmount


    7. Ταξινόμηση εισοδήματος

      Στοιχείο IncomeClassificationType που περιέχει την ταξινόμηση εισοδήματος έχει την ακόλουθη δομή:




      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες Αξίες
      classificationType xs: string Ναι Τύπος ταξινόμησης Περιγράφονται οι πιθανές τιμές των πεδίων στο παράρτημα
      classificationCategory xs: string Ναι Κατηγορία ταξινόμησης Οι πιθανές τιμές των πεδίων περιγράφονται στο παράρτημα
      amount xs:decimal Ναι Ποσό Ελάχιστη τιμή = 0 Δεκαδικά ψηφία = 2
      id xs:byte Οχι Αύξων αριθμός ταξινόμησης Χρησιμοποιείται για σειριακή αρίθμηση (1,2,3…κ.λπ.) των ταξινομήσεων μιας σειράς


      Παρατηρήσεις

      • Λόγω της αποστολής εγγράφων μέσω παρόχου, δεν είναι απαραίτητη η αποστολή ταξινόμησης.
      • Το πεδίο id χρησιμοποιείται για τη σειριακή αρίθμηση (1,2,3… κ.λπ.) των ονομασιών μέσα σε μια γραμμή


    8. Ταξινόμηση εξόδων

      Στοιχείο ExpensesClassificationType που περιέχει την ταξινόμηση εισοδήματος έχει την ακόλουθη δομή:




      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες Αξίες
      ClassificationType xs: string Ναι Τύπος ταξινόμησης Οι πιθανές τιμές των πεδίων περιγράφονται στο παράρτημα
      classificationCategory xs: string Ναι Κατηγορία ταξινόμησης Οι πιθανές τιμές των πεδίων περιγράφονται στο παράρτημα
      amount xs:decimal Ναι Ποσό Ελάχιστη τιμή = 0
      Δεκαδικά ψηφία = 2
      id xs:byte Οχι Αύξων αριθμός ταξινόμησης Χρησιμοποιείται για σειριακή αρίθμηση (1,2,3… κ.λπ.) των ταξινομήσεων μιας σειράς


      Παρατηρήσεις

      • Λόγω της αποστολής εγγράφων μέσω παρόχου, δεν είναι απαραίτητη η αποστολή ταξινόμησης.


    9. Λεπτομέρειες

      Ο εκδότης και ο αντισυμβαλλόμενος είναι στοιχεία τύπου PartyType.




      Πεδίο Τύπος Υποχρεωτικό Περιγραφή Έγκυρες Αξίες
      API_Issuer API_IssuerType Ναι API_Issuer
      API_Counterpart API_CounterpartType Ναι API_Counterpart
      API_Additionals API_AdditionalsType Ναι API_Additionals



      1. Εκδότης

        Στοιχείο API_IssuerType που περιέχει την ακόλουθη δομή:




        Πεδίο Τύπος Υποχρεωτικό Έγκυρες Αξίες
        IssuerName xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerProfession xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerTaxOffice xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerAddressStreet xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerAddressNumber xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerAddressPostalCode xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerAddressCity xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerAddressCountry xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerPhone xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerFax xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerEmail xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerWebSite xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerRegistryNumber xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerEmtyLine xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        IssuerEmtyLine2 xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »

         

      2. Αντισυμβαλλόμενος

        Στοιχείο API_ConterpartType που περιέχει την ακόλουθη δομή:




        Πεδίο Τύπος Υποχρεωτικό Έγκυρες Αξίες
        CounterpartCode xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartName xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartVat xs: string Οχι Χρησιμοποιείται κατά παραγγελία μόνο εάν ο τύπος παραστατικού είναι 11.1 ή 11.2
        CounterpartProfession xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartTaxOffice xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartAddressStreet xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartAddressNumber xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartAddressPostalCode xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartAddressCity xs: string Ναι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartAddressCountry xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartPhone xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »
        CounterpartEmail xs: string Οχι Πεδία που περιγράφονται στην ενότητα «Δομή παραστατικού, παραδείγματα
        και εργαλεία
        »



      3. Πρόσθετα

        Στοιχείο API_AdditionalsType που περιέχει την ακόλουθη δομή:




        Πεδίο Τύπος Υποχρεωτικό Έγκυρες Αξίες
        DocumentLabel xs: string Ναι Περιγραφή τύπου παραστατικού, που περιγράφεται στην ενότητα «Δομή παραστατικού, παραδείγματα και εργαλεία»
        DocumentComments xs: string Οχι Περιγραφή τύπου παραστατικού, που περιγράφεται στην ενότητα «Δομή παραστατικού, παραδείγματα και εργαλεία»
        paymentMethodInvoiceLabel xs: string Οχι Περιγραφή τύπου παραστατικού, που περιγράφεται στην ενότητα «Δομή παραστατικού, παραδείγματα και εργαλεία»
        Logo_ID xs: string Οχι Προεπιλεγμένο ID = 1. Μπορεί να οριστεί στο API Portal
        DispatchPlaceFrom xs: string Οχι Τόπος προέλευσης αποστολής
        DispatchPlaceTo xs: string Οχι Ο τόπος προορισμού της αποστολής
        DispatchMethod xs:string Οχι Τρόπος αποστολής
        docTime xs: string Οχι Η ώρα έκδοσης του παραστατικού
        b2g xs:boolean Μόνο για B2G

        Ναι

        Ναι, όχι για το αν αφορά παραστατικό προς το Δημόσιο
        buyerIdentifier xs: string Μόνο για B2G

        Ναι

        Αναθέτουσα αρχή
        contractReference xs: string Μόνο για B2G

        Ναι

        Αριθμός Διαδικτυακής Ανάρτησης Μητρώου
        projectReference xs: string Μόνο για B2G

        Ναι

        Αναγνωριστικό σύμβασης

         

  3. Απαντήσεις

    1. Υποβολή δεδομένων

      Όταν ο χρήστης χρησιμοποιεί την υπηρεσία υποβολής (SendInvoices), θα λάβει την απάντηση ResponseDoc σε μορφή xml. Το αντικείμενο περιέχει μια λίστα στοιχείων απόκρισης, ένα για κάθε οντότητα που υποβάλλεται.




      Πεδίο Τύπος Περιγραφή
      Index xs: int Ο αριθμός γραμμής της οντότητας μέσα στο xml που υποβλήθηκε
      invoiceUid xs: string Αναγνωριστικό παραστατικού
      invoiceMark xs: long Μοναδικός Αριθμός Καταχώρησης
      AuthenticationCode xs: string Υπογραφή
      InvoiceUrl xs: string Ο σύνδεσμος που οδηγεί στο παραστατικό
      myDATAUrl xs: string Ο σύνδεσμος που οδηγεί στο αποδεικτικό της ΑΑΔΕ
      Errors ErrorType Λίστα σφαλμάτων
      units xs: long Διαθέσιμες μονάδες προς χρήση
      statusCode xs: string Κωδικός κατάστασης

       

      Παρατηρήσεις

      • Το είδος της απάντησης (πετυχημένη ή αποτυχημένη διαδικασία) καθορίζεται από την τιμή του πεδίου statusCode.
      • Σε περίπτωση επιτυχίας το πεδίο statusCode έχει τιμή Success και η απάντηση περιλαμβάνει τις αντίστοιχες τιμές για τα πεδία invoiceUid, invoiceMark, classificationMark και cancellationMark, ανάλογα με την οντότητα που υποβλήθηκε.
      • Σε περίπτωση αποτυχίας το πεδίο statusCode έχει τιμή αντίστοιχη του είδους του σφάλματος και η απάντηση περιλαμβάνει μια λίστα στοιχείων σφάλματος τύπου ErrorType για κάθε οντότητα που η υποβολή της απέτυχε. Όλα τα στοιχεία σφάλματος ανά οντότητα είναι υποχρεωτικά της ίδιας κατηγορίας που χαρακτηρίζει την απάντηση
      • Το πεδίο invoiceUid επιστρέφει μόνο στην περίπτωση που η υποβολή αφορούσε παραστατικό
      • Το πεδίο classificationMark επιστρέφει μόνο στην περίπτωση που η υποβολή αφορούσε χαρακτηρισμό
      • Το πεδίο authenticationCode επιστρέφει στην περίπτωση που η υποβολή έγινε μέσω παρόχου
      • Το πεδίο cancellationMark επιστρέφει μόνο στην περίπτωση που η υποβολή αφορούσε ακύρωση παραστατικού
      • Το πεδίο invoiceMark περιέχει το mark του υποβληθέντος παραστατικού στην περίπτωση που υποβλήθηκαν παραστατικά και το mark του παραστατικού που αφορούσαν οι υποβληθέντες χαρακτηρισμοί, στην περίπτωση υποβολής χαρακτηρισμών
      • Το πεδίο qrUrl επιστρέφει μόνο στις υποβολές παραστατικών τύπου από 1.1 έως 11.5


    2. Ανάκτηση δεδομένων

      Όταν ο χρήστης καλεί μια υπηρεσία αιτήματος δεδομένων (RequestTransmittedDocs), θα λάβει ένα αντικείμενο RequestedDoc σε μορφή xml. Το αντικείμενο θα περιλαμβάνει τη λίστα των ζητούμενων παραστατικών για το issueerVatNumber που δίνεται ως παράμετρος, καθώς και το στοιχείο continuationToken (σε περιπτώσεις όπου τα δεδομένα υπερβαίνουν το επιτρεπόμενο όριο και ανακτώνται μερικώς).




      Πεδίο Τύπος Υποχρεωτικό Περιγραφή
      nextPageKey nextPageKey Οχι Στοιχείο για μερική ανάκτηση αποτελεσμάτων
      Εάν επιστραφεί ένα nextPageKey, τότε εκτελέστε αυτό το url από την υπηρεσία για να λάβετε τα επόμενα αποτελέσματα
      counterpartVatNumber Ναι
      InvoiceMark Ναι
      invoiceUid AadeBookInvoiceType Ναι
      invoiceAuthenticationCode CancelledInvoiceType Ναι
      invoiceBranchCode xs:long Ναι
      invoiceType xs:long Ναι
      invoiceSeries xs:date Ναι
      incomeAa InvoiceIncomeClassificationType Ναι
      invoiceDateIssued InvoiceExpensesClassificationType Ναι
      invoiceTotalNetValue xs:string Ναι
      invoiceTotalVatValue xs:string Ναι
      invoiceTotalGrossValue xs:string Ναι
      invoiceUrl xs:string Ναι Έγγραφο pdf


      Παρατηρήσεις:

      • Σε περίπτωση που θα επιστρέφεται το στοιχείο continuationToken τα πεδία nextPartitionKey και nextRowKey θα είναι συμπληρωμένα από την υπηρεσία και χρησιμοποιούνται στην επόμενη κλήση της ίδιας μεθόδου που είχε οριστεί από τον χρήστη
      • Οι τύποι AadeBookInvoiceType, InvoiceIncomeClassificationType,
      • InvoiceExpensesClassificationType και PaymentMethodType περιγράφονται σε προηγούμενες παραγράφους


  4. Ιστορικό εκδόσεων

    • Έκδοση 1.0
      • Αρχική έκδοση
    • Έκδοση 1.2
      • Μικρές αλλαγές
    • Έκδοση 1.3
      • Υποστήριξη POS
      • Υποστήριξη Δελτίων αποστολής
    • Έκδοση 1.4
      • Υποστήριξη B2G
    • Έκδοση 1.5
      • Δελτία παραγγελίας εστίασης
    • Έκδοση 1.6
      • Τιμολόγιο δελτίο αποστολής
      • Διορθώσεις τεκμηρίωσης
    • Έκδοση 1.7
      • Εμπλουτισμός επιστροφής λαθών
      • Σήμανση δελτίων αποστολής στο διαχειριστικό
      • Σήμανση δελτίων παραγγελίας στο διαχειριστικό
    • Έκδοση 1.8
      • Βελτίωση εξαγόμενων αναφορών
    • Έκδοση 1.9
      • Προσθήκη ακύρωσης δελτίου διακίνησης
    • Έκδοση 2.0
      • Υποστήριξη IRIS
    • Έκδοση 2.1
      • Αναζήτηση στη λίστα τερματικών βάσει tid
      • Αποστολή email όταν εγγραφή νέου τερματικού πληρωμών
      • Μαζική εξαγωγή παραστατικών και γραμμών τους σε Excel και XML
    • Έκδοση 2.2
      • Δυνατότητα μεταφόρτωσης παραστατικού σε PDF ή JPG
    • Έκδοση 2.3
      • Βελτίωση τεκμηρίωσης και παραδειγμάτων