Τύποι δεδομένων

Τύπος InvoiceRow

Ο τύπος InvoiceRow περιγράφει τα στοιχεία μιας γραμμής παραστατικού.

Το αντικείμενο αυτό περιέχει τα εξής πεδία:

Πεδίο Υποχρεωτικό Περιγραφή
lineNumber Ναι ΑΑ γραμμής (ελάχιστη τιμή 1)
recType Όχι Είδος Γραμμής
fuelCode Όχι Κωδικός Καυσίμου
quantity Όχι Ποσότητα (ελάχιστη τιμή 0)
measurementUnit Όχι Είδος Ποσότητας
invoiceDetailType Όχι Επισήμανση
netValue Ναι Καθαρή αξία
vatCategory Ναι Κατηγορία ΦΠΑ
vatCategory Ναι Ποσό ΦΠΑ
vatExemptionCategory Όχι Κατηγορία Αιτίας Εξαίρεσης ΦΠΑ
dienergia Όχι ΠΟΛ 1177/2018 Αρ. 27
discountOption Όχι Δικαίωμα Έκπτωσης (boolean)
withheldAmount Όχι Ποσό Παρακράτησης Φόρου
withheldPercentCategory Όχι Κατηγορία Συντελεστή Παρακράτησης Φόρου
stampDutyAmount Όχι Ποσό Ψηφιακού Τέλους Συναλλαγής
stampDutyPercentCategory Όχι Κατηγορία Συντελεστή Ψηφιακού Τέλους Συναλλαγής
feesAmount Όχι Ποσό Τελών
feesPercentCategory Όχι Κατηγορία Συντελεστή Τελών
otherTaxesAmount Όχι Ποσό Λοιπών Φόρων
otherTaxesPercentCategory Όχι Κατηγορία Συντελεστή Λοιπών Φόρων
deductionsAmount Όχι Ποσό Κρατήσεων
lineComments Όχι Σχόλια Γραμμής
incomeClassification[] Όχι Χαρακτηρισμοί Εσόδων
expensesClassification[] Όχι Χαρακτηρισμοί Εξόδων
quantity15 Όχι Ποσότητα Θερμοκρασίας 15 βαθμών
itemDescr Όχι Περιγραφή Είδους
TaricNo Όχι Κωδικός Taric
itemCode Όχι Κωδικός Είδους
otherMeasurementUnitQuantity Όχι Πλήθος Μονάδας Μέτρησης Τεμάχια Άλλα
otherMeasurementUnitTitle Όχι Τίτλος Μονάδας Μέτρησης Τεμάχια Άλλα
notVAT195 Όχι Ένδειξη μη συμμετοχής στο ΦΠΑ (έσοδα – εκροές)

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

  • Σε όλες τις περιπτώσεις, ανεξαρτήτως της τιμής του αντίστοιχου πεδίου category, συμπληρώνεται πάντα το σχετικό ποσό στο αντίστοιχο πεδίο amount.
  • Το πεδίο vatExemptionCategory είναι απαραίτητο στην περίπτωση που το vatCategory υποδηλώνει κατηγορία συντελεστή 0% ΦΠΑ.
  • Για περιπτώσεις λογιστικών εγγραφών όπου δεν εφαρμόζεται ΦΠΑ, το πεδίο vatCategory θα έχει την τιμή 8.
  • Τα σχόλια γραμμής συμπληρώνονται από τον χρήστη και χρησιμοποιούνται για πληροφοριακούς λόγους προς την υπηρεσία.
  • Οι χαρακτηρισμοί που αφορούν τον υποβάλλοντα (εκδότης – εσόδων, λήπτης εξόδων), υποβάλλονται μαζί με το παραστατικό με την αντίστοιχη χρήση των πεδίων incomeClassificationexpensesClassification.
  • recType
    • Στην περίπτωση αποστολής γραμμών με recType = 2 (γραμμή τέλους με ΦΠΑ) ή/και recType = 3 (Γραμμή Λοιπών Φόρων με Φ.Π.Α.), θα επιτρέπεται παράλληλα, εφόσον είναι επιθυμητό, η αποστολή παρακρατούμενων / τελών / λοιπών φόρων / ψηφιακού τέλους συναλλαγής / κρατήσεων και σε επίπεδο παραστατικού και όχι υποχρεωτικά ανά γραμμή σύνοψης παραστατικού. Στις περιπτώσεις αυτών των γραμμών, τα ποσά που αντιστοιχούν στα τέλη με ΦΠΑ (recType = 2) ή τους λοιπούς φόρους (recType = 3) αντίστοιχα, θα αποστέλλονται στο πεδίο της καθαρής αξίας της γραμμής (netValue), ενώ τα αντίστοιχα πεδία ποσό τέλους (feesAmount) ή ποσό λοιπών φόρων (otherTaxesAmount) δε θα συμπληρώνονται. Επίσης, στις γραμμές αυτές δεν επιτρέπεται η αποστολή άλλων ειδών φόρων/τελών/κρατήσεων/ψηφιακού τέλους συναλλαγής (π.χ. σε μια γραμμή με recType = 2 δεν επιτρέπονται στη γραμμή αυτή η αποστολή λοιπών φόρων/κρατήσεων/παρακρατούμενων/ψηφιακού τέλους συναλλαγής).
    • Η αποστολή με recType = 7 (αρνητικό πρόσημο αξιών) επιτρέπεται μόνο στην περίπτωση διαβίβασης παραστατικών 17.3, 17.4, 17.5 και 17.6 και με αυτόν τον τρόπο υποδηλώνεται ότι οι αξίες της γραμμής είναι αρνητικές (στα αντίστοιχα πεδία των αξιών οι τιμές αναγράφονται στις απόλυτες/θετικές τιμές τους). Σημειώνεται ότι στα αθροίσματα των αξιών στην ενότητα Περίληψη Παραστατικού (InvoiceSummaryType) θα διαβιβάζονται τα αθροίσματα των απόλυτων τιμών των αντίστοιχων αξιών των γραμμών ανεξάρτητα αν υπάρχουν γραμμές που φέρουν ή όχι την ένδειξη recType = 7.
  • Οι πιθανές τιμές για το πεδίο fuelCode (κωδικός καυσίμου) περιγράφονται αναλυτικά στον αντίστοιχο πίνακα του Παραρτήματος. Επιτρέπεται η αποστολή του μόνο για την περίπτωση των παρόχων και εφόσον πρόκειται για παραστατικό καυσίμων (invoiceHeaderType.fuelInvoice = true). Η τιμή 999 χρησιμοποιείται στην περίπτωση που σε ένα παραστατικό εκτός από καύσιμα υπάρχει η ανάγκη τιμολόγησης και λοιπών χρεώσεων. Επιτρέπεται ανά παραστατικό μόνο μια γραμμή με αυτόν τον κωδικό και η καθαρή αξία αυτής της γραμμής θα πρέπει να είναι μικρότερη ή ίση από το άθροισμα της καθαρής αξίας των υπόλοιπων κωδικών καυσίμου του παραστατικού.
  • Τα πεδία otherMeasurementUnitQuantity και otherMeasurementUnitTitle συμπληρώνονται υποχρεωτικά στην περίπτωση που έχει επιλεγεί measurementUnit = 7 (Τεμάχια_Λοιπές Περιπτώσεις). Με την επιλογή measurementUnit = 7 (Τεμάχια_Λοιπές Περιπτώσεις) ως μονάδα μέτρησης για τις περιπτώσεις παραστατικών διακίνησης, δίνεται η δυνατότητα να διαβιβαστεί η πληροφορία μονάδας μέτρησης που δε συμπεριλαμβάνεται σε κάποια από τις διαθέσιμες τιμές της λίστας, με αριθμητική απεικόνιση του πλήθους (otherMeasurementUnitQuantity) που αντιστοιχεί στο είδος συσκευασίας και σύντομη αναγραφή του είδους συσκευασίας στο λεκτικό πεδίο (otherMeasurementUnitTitle) π.χ. 3_Παλέτες. Σημειώνεται ότι το πεδίο quantity («Ποσότητα») σε κάθε περίπτωση αντιστοιχεί στο πλήθος των ειδών που διακινούνται και όχι στο πλήθος των ειδών συσκευασίας.
  • Συμπληρώνοντας την ένδειξη του πεδίου notVAT195 (με την τιμή true) τα ποσά των γραμμών του παραστατικού δε συμμετέχουν στη δήλωση ΦΠΑ (εκροές). Είναι αποδεκτό μόνο για παραστατικαά εσόδων των τύπων μεταξύ 1.1 – 11.5.

Απλό παράδειγμα κλασσικής υποβολής γραμμής παραστατικού

use Firebed\AadeMyData\Models\InvoiceDetails;
use Firebed\AadeMyData\Enums\VatCategory;
use Firebed\AadeMyData\Enums\IncomeClassificationCategory;
use Firebed\AadeMyData\Enums\IncomeClassificationType;
    
$row = new InvoiceDetails();
$row->setLineNumber(1); // ΑΑ Γραμμής
$row->setNetValue(100.00); // Καθαρή Αξία
$row->setVatCategory(VatCategory::VAT_1); // Κατηγορία ΦΠΑ 24%
$row->setVatAmount(24.00); // Ποσό ΦΠΑ

// Χαρακτηρισμών Εσόδων
$icls = new IncomeClassification();

// Πωλήσεις αγαθών και υπηρεσιών Χονδρικές - Επιτηδευματιών
$icls->setClassificationType(IncomeClassificationType::E3_561_001); 

// Έσοδα από Πώληση Εμπορευμάτων
$icls->setClassificationCategory(IncomeClassificationCategory::CATEGORY_1_1);

// Ορισμός Ποσού
$icls->setAmount(100.00); // Ποσό

// Προσθήκη Χαρακτηρισμού Εσόδων στη γραμμή παραστατικού
$row->addIncomeClassification($icls);

Μπορείτε επίσης να ορίσετε τους χαρακτηρισμούς εσόδων και εξόδων με 1 γραμμή κώδικα:

$row->addIncomeClassification(
    IncomeClassificationType::TYPE_1, 
    IncomeClassificationCategory::CATEGORY_1_1, 
    50
);
Προηγούμενο
InvoiceHeader
Επόμενο
InvoiceSummary