Οι Έλληνες χονδρέμποροι, διανομείς και λογιστές που εργάζονται σε SoftOne γνωρίζουν την εικόνα: ο ένας προμηθευτής τυπώνει αναλυτικά −50% −5%, ο επόμενος δείχνει μόνο μία στήλη καθαρής τιμής, ο τρίτος έχει επώνυμες στήλες όπως Έκπτ. Κατηγορίας και Έκπτ. Πληρωμής, και κάποιος τέταρτος ρίχνει τα ποσοστά μέσα στην περιγραφή του είδους. Όλοι αναμένουν να φτάσει η ίδια κλίμακα εκπτώσεων στο ERP, σε ένα import template που ζητάει ακριβώς τρία πεδία σε συγκεκριμένη σειρά. Αυτή η ασυμφωνία αποτύπωσης είναι το πραγματικό πρόβλημα — όχι η αριθμητική, όχι το import wizard.
Στο SoftOne, οι πολλαπλές εκπτώσεις τιμολογίου χονδρικής εισάγονται στα τρία πεδία Discount1, Discount2 και Discount3, τα οποία εφαρμόζονται διαδοχικά (αλυσιδωτά) πάνω στην τιμή λιανικής με τον τύπο καθαρή = λιανική × (1 − d1) × (1 − d2) × (1 − d3).
Η σειρά των πεδίων δεν αλλάζει την τελική καθαρή τιμή λόγω της αντιμεταθετικότητας του πολλαπλασιασμού, αλλά αντικατοπτρίζει τη συμφωνία rebate με τον προμηθευτή — και επηρεάζει τις αναφορές ανάλυσης κλίμακας μετά το import. Σύμφωνα με τα Ελληνικά Λογιστικά Πρότυπα, όλες οι εμπορικές εκπτώσεις αφαιρούνται από το κόστος κτήσης των αποθεμάτων, οπότε η σωστή αποτύπωση όλων των βαθμίδων δεν είναι θέμα στιλ — είναι υποχρέωση που καθορίζει τη φορολογητέα αποτίμηση.
Όλα όσα ακολουθούν εστιάζουν σε αυτή τη ροή εξαγωγής: τα τέσσερα σχήματα στα οποία οι προμηθευτές χονδρικής αποτυπώνουν την κλίμακα, την πειθαρχία αντιστοίχισης Discount1 / Discount2 / Discount3, την αντίστροφη αριθμητική όταν τυπώνεται μόνο η καθαρή, την περίπτωση συμπιεσμένης ενιαίας έκπτωσης, την αλληλεπίδραση με τον μικτό ΦΠΑ, και ένα ολοκληρωμένο παράδειγμα από τιμολόγιο καλλυντικών. Η ίδια η εισαγωγή στο SoftOne — διάλογος import, στήλες template, αντιστοίχιση αρχείου — είναι ήδη γνωστή· καλύπτεται στη γενική ροή εισαγωγής τιμολογίων προμηθευτών στο SoftOne από Excel και δεν επαναλαμβάνεται εδώ.
Τα τέσσερα σχήματα αποτύπωσης της κλίμακας εκπτώσεων στα ελληνικά τιμολόγια χονδρικής
Η πρώτη ερώτηση που κάνει κάθε εποχιακός χρήστης μπροστά σε νέο τιμολόγιο είναι «πώς αποτυπώνει αυτός ο προμηθευτής την κλίμακα;» Σε όλη την αγορά, οι απαντήσεις πέφτουν σε τέσσερα διακριτά σχήματα. Η ικανότητα να ταξινομείς γρήγορα ένα τιμολόγιο σε ένα από τα τέσσερα είναι αυτό που μετατρέπει τη ροή εργασίας σε ρουτίνα αντί σε δοκιμή και λάθος.
1. Ρητή κλίμακα ποσοστών
Η τιμή λιανικής εμφανίζεται ως ξεχωριστή στήλη, ακολουθούν δύο ή τρεις στήλες ποσοστών (−50%, −5%, ίσως −2%), και η καθαρή τιμή κλείνει τη γραμμή. Αυτή είναι η αποτύπωση που χρησιμοποιούν συνήθως οι διανομείς ευρωπαϊκών brands καλλυντικών, ηλεκτρονικών και επώνυμου εξοπλισμού γραφείου, επειδή η τιμή λιανικής λειτουργεί ως δείκτης συνέπειας απέναντι στους τελικούς πελάτες της αγοράς. Όλα τα στοιχεία της κλίμακας υπάρχουν στο παραστατικό· η εργασία σου περιορίζεται σε αντιστοίχιση των στηλών ποσοστών στα Discount1, Discount2, Discount3 του Excel template και επαλήθευση ότι η καθαρή ταυτίζεται.
2. Στήλη μόνο καθαρής τιμής
Το παραστατικό τυπώνει μόνο την καθαρή — Καθαρή Τιμή 16,63€ — χωρίς αναφορά σε λιανική ή ποσοστά. Τυπική περίπτωση όπου η συμφωνία βαθμίδων είναι κατατεθειμένη στο σύστημα του προμηθευτή και θεωρείται γνωστή και στις δύο πλευρές, οπότε δεν επανατυπώνεται. Η κλίμακα δεν έχει εξαφανιστεί — απλά δεν εμφανίζεται. Για το import χρειάζεται είτε ανακατασκευή της κλίμακας από τη συμφωνία (αν την έχεις στο αρχείο), είτε συμπίεση σε μία ενιαία effective έκπτωση. Και τα δύο μονοπάτια καλύπτονται παρακάτω.
3. Επώνυμες στήλες έκπτωσης
Ο προμηθευτής τυπώνει ξεχωριστές στήλες με ονόματα όπως Έκπτ. Κατηγορίας, Έκπτ. Ποσότητας, Έκπτ. Πληρωμής, Ομαδική Έκπτωση. Συνήθης τρόπος σε χονδρεμπόρους με δομημένη πολιτική κλιμακωτών εκπτώσεων — φαρμακαποθήκες, εταιρείες τροφίμων, διανομείς εξοπλισμού γραφείου. Η ονοματοδοσία των στηλών είναι το διαγνωστικό στοιχείο: όταν βλέπεις «Έκπτ. Κατηγορίας» σε ξεχωριστή στήλη, ξέρεις ότι ο προμηθευτής έχει σπάσει την κλίμακα σε σημασιολογικά διακριτά μέρη που μπορούν να αντιστοιχηθούν ένα-προς-ένα στα Discount1, Discount2, Discount3.
4. Ελεύθερο κείμενο στην περιγραφή γραμμής
Η κλίμακα αναφέρεται μέσα στο πεδίο περιγραφής του είδους — «ΕΙΔ. ΑΑ123 −50% κατηγορίας −5% Q2 promo» — αντί σε δομημένες στήλες. Είναι το πιο δύσκολο σχήμα, επειδή δεν είναι αναγνώσιμο από κανένα στάνταρ template· κάθε προμηθευτής διαμορφώνει το ελεύθερο κείμενο διαφορετικά. Η αντιμετώπιση απαιτεί parsing της περιγραφής, και αυτό είναι το σημείο όπου χάνουν χρόνο οι περισσότεροι λογιστές που εργάζονται με το χέρι.
Όποιο σχήμα κι αν αντιμετωπίζεις, ο τελικός στόχος είναι ο ίδιος: οι σωστές τιμές βαθμίδων να φτάσουν στα Discount1, Discount2, Discount3 του import, και η αποθηκευμένη καθαρή του SoftOne να ταυτίζεται με την τυπωμένη του προμηθευτή στο cent. Το σχήμα ορίζει μόνο τη διαδρομή προς αυτόν τον στόχο.
Η μετατροπή τιμολογίου προμηθευτή με αλυσιδωτές εκπτώσεις σε Excel που να ταιριάζει στις τρεις στήλες του SoftOne είναι ακριβώς το βήμα που λείπει σε κάθε ένα από τα τέσσερα σχήματα — και είναι αυτό για το οποίο φτιάξαμε την AI εξαγωγή δεδομένων από τιμολόγια προμηθευτών. Αντί για ξεχωριστά templates ανά προμηθευτή ή κανόνες parsing που σπάνε όταν αλλάξει η μορφή, ο χρήστης γράφει σε ένα prompt τι πρέπει να εξαχθεί — λιανική, βαθμίδες έκπτωσης, καθαρή, ποσότητα, ΦΠΑ — και η ίδια εντολή χειρίζεται και τα τέσσερα σχήματα από διαφορετικούς προμηθευτές. Στην πράξη, αυτό σημαίνει ότι ένας προμηθευτής που αλλάζει τη μορφή του παραστατικού δεν χαλάει τη ροή εργασίας. Για τη γενικότερη μηχανική της εξαγωγής, η εξαγωγή ελληνικών τιμολογίων PDF σε στήλες Excel δίνει αναλυτικά πώς δουλεύει το prompt-based workflow σε ελληνικά παραστατικά.
Τα πεδία Discount1, Discount2, Discount3 στο SoftOne import: αντιστοίχιση, σειρά, πλαίσιο εφαρμογής
Τα τρία πεδία εκπτώσεων δεν είναι ισοδύναμα στη σημασία τους, ακόμη και αν είναι ισοδύναμα στη μηχανική. Η αντιστοίχιση καθορίζει τι θα δείχνουν οι αναφορές αργότερα — και τι θα συμβεί αν η καρτέλα προμηθευτή έχει δικές της προεπιλογές.
Ο τύπος που εφαρμόζει το SoftOne κατά την εισαγωγή είναι αλυσιδωτός:
καθαρή = λιανική × (1 − d1) × (1 − d2) × (1 − d3)
Κάθε d είναι δεκαδική τιμή, όχι ποσοστό σε ακέραια μορφή — βαθμίδα 50% γράφεται 0,5 (ή 0,50), όχι 50. Η αλυσιδωτή εφαρμογή είναι πολλαπλασιαστική, οπότε δύο διαδοχικές βαθμίδες −50% και −5% δεν αθροίζονται σε −55% αλλά παράγουν συνολική effective έκπτωση 1 − 0,50 × 0,95 = 52,5%. Η διαφορά των 2,5 ποσοστιαίων μονάδων δείχνει ασήμαντη σε μία γραμμή· σε τιμολόγιο 100 γραμμών μετατρέπεται σε αξιόλογη απόκλιση κόστους αγοράς, και είναι ένας από τους πιο συχνούς λόγους που μη αλυσιδωτά imports αποτυγχάνουν στην επαλήθευση της καθαρής τιμής.
Η σύμβαση σειράς
Η συνηθισμένη σύμβαση των Ελλήνων χονδρεμπόρων αντιστοιχεί τις σύνθετες εκπτώσεις γραμμής σε Excel ως εξής:
- Discount1: η πιο ειδική βαθμίδα — έκπτωση κατηγορίας ή συμφωνημένο ποσοστό ανά ομάδα ειδών.
- Discount2: η ενδιάμεση — έκπτωση ποσότητας ή προωθητική εποχιακή βαθμίδα.
- Discount3: η πιο γενική — ομαδική έκπτωση κεφαλίδας ή έκπτωση πληρωμής που εφαρμόζεται σε ολόκληρο το παραστατικό.
Η σύμβαση είναι λειτουργική, όχι τεχνική. Το SoftOne δεν επιβάλλει ποια έκπτωση πάει σε ποιο πεδίο· δέχεται τρία ξεχωριστά πολλαπλασιαστικά στοιχεία και τα εφαρμόζει με τη σειρά που εμφανίζονται. Η αξία της σύμβασης βγαίνει στις αναφορές μετά το import: όψεις rebate και vendor analysis δείχνουν τις τρεις βαθμίδες ξεχωριστά, οπότε αν έχεις βάλει συστηματικά την κατηγορία στο Discount1, μπορείς να τρέξεις «πόσα κερδίσαμε από βαθμίδα κατηγορίας ανά προμηθευτή» χωρίς να χρειαστεί να ξανακαθαρίσεις τα δεδομένα.
Η σειρά δεν αλλάζει την καθαρή
Επειδή ο πολλαπλασιασμός είναι αντιμεταθετικός, (1 − 0,50)(1 − 0,05) = (1 − 0,05)(1 − 0,50) και η τελική καθαρή είναι ίδια ανεξάρτητα από τη σειρά εισαγωγής. Αυτό που αλλάζει είναι η παρουσίαση: οι αναφορές του SoftOne που αναλύουν την κλίμακα ανά πεδίο εμφανίζουν Έκπτωση 1: 50%, Έκπτωση 2: 5% με τη σειρά που γράφτηκαν στο import. Η ευθυγράμμιση αυτής της εμφάνισης με τη συμφωνία rebate του προμηθευτή — δηλαδή να βλέπει ο προμηθευτής τη βαθμίδα κατηγορίας στο πεδίο που και αυτός θεωρεί κατηγορία — είναι αυτό που κάνει χρήσιμη τη συμφωνία διασταύρωσης σε τριμηνιαία ή ετήσια βάση.
Όταν η καρτέλα προμηθευτή παρακάμπτει το import
Η καρτέλα προμηθευτή στο SoftOne έχει τα δικά της πεδία default εκπτώσεων. Όταν είναι συμπληρωμένα, μπορούν να εφαρμοστούν αντί ή πάνω από τις τιμές γραμμής που έρχονται από το Excel, ανάλογα με τη ρύθμιση του παραστατικού και της σχέσης. Αν εκτελείς την εισαγωγή τιμολογίου με ομαδική έκπτωση και έκπτωση γραμμής και διαπιστώνεις ότι τα Discount1/2/3 του Excel «χάνονται» μετά το import — δηλαδή η αποθηκευμένη καθαρή είναι διαφορετική από αυτή που υπολόγισες πριν το import — η αιτία είναι σχεδόν πάντα η καρτέλα προμηθευτή, όχι το αρχείο. Πρώτος έλεγχος πριν επιχειρήσεις ξανά είναι τα default πεδία εκπτώσεων στην καρτέλα και η ρύθμιση override-line: αν η ρύθμιση δίνει προτεραιότητα στις προεπιλογές της καρτέλας, οι τιμές γραμμής αγνοούνται σιωπηλά.
Αν η αποθηκευμένη και η τυπωμένη καθαρή διαφέρουν συστηματικά κατά μερικά λεπτά, είναι σχεδόν πάντα στρογγυλοποίηση και πρέπει να εξεταστεί ξεχωριστά. Αν διαφέρουν σε σημαντικό ποσοστό της τιμής, παρενέβη η καρτέλα ή ένα Discount γράφτηκε λάθος στο Excel.
Όταν το τιμολόγιο τυπώνει μόνο την καθαρή: αντίστροφη ανακατασκευή της κλίμακας εκπτώσεων
Στο δεύτερο σχήμα από τα τέσσερα — προμηθευτής που τυπώνει μόνο την καθαρή τιμή χωρίς ποσοστά — το import δεν μπορεί να αντιγράψει στοιχεία που λείπουν. Πρέπει να τα ανακατασκευάσει από τη συμφωνία βαθμίδων που έχεις στο αρχείο σου, και να τα επαληθεύσει έναντι της τυπωμένης καθαρής. Είναι ένα βήμα που χωρίζει τη ροή του import σε δύο διακριτά κομμάτια — ανακατασκευή της κλίμακας από καθαρή τιμή προς ποσοστά έκπτωσης, και έλεγχος ότι ο υπολογισμός ταυτίζεται με αυτό που τύπωσε ο προμηθευτής.
Η ανακατασκευή έχει νόημα μόνο όταν η συμφωνία ορίζει τη δομή της κλίμακας. Η συμφωνία μπορεί να βρίσκεται στην καρτέλα προμηθευτή (default Discount fields που αντικατοπτρίζουν τη βαθμίδα κατηγορίας του πελάτη), σε εσωτερική σύμβαση εκτός συστήματος (συμβόλαιο διανομής), ή σε email επιβεβαίωσης βαθμίδων που αρχειοθετήθηκε. Παράδειγμα τυπικής δομής σε διανομή καλλυντικών: πρώτη βαθμίδα 50% κατηγορίας (d1 = 0,50), δεύτερη βαθμίδα 5% προωθητική Q2 (d2 = 0,05). Όταν δεν υπάρχει τέτοια αρχιτεκτονική στο αρχείο, η περίπτωση δεν είναι ανακατασκευάσιμη και πρέπει να αντιμετωπιστεί ως συμπιεσμένη ενιαία έκπτωση — θέμα του επόμενου τμήματος.
Ο τύπος επαλήθευσης
Από τις γνωστές βαθμίδες, η αναμενόμενη καθαρή υπολογίζεται απευθείας:
αναμενόμενη καθαρή = λιανική × (1 − d1) × (1 − d2) × ...
Στη συνέχεια συγκρίνεται με την τυπωμένη του προμηθευτή. Αν συμπίπτουν στα δύο δεκαδικά, η ανακατασκευή έχει επιβεβαιωθεί και οι d1, d2 πάνε ως Discount1, Discount2 στο import — ακριβώς όπως αν τα είχε τυπώσει ρητά ο προμηθευτής. Αυτό το βήμα είναι κρίσιμο: χωρίς την επαλήθευση, εισάγεις βαθμίδες που υποθέτεις ότι ισχύουν, και η πρώτη φορά που μια προωθητική έχει αλλάξει χωρίς να σου το πουν δουλεύει το import με λάθος δεδομένα.
Η παγίδα στρογγυλοποίησης
Όταν η αναμενόμενη και η τυπωμένη καθαρή διαφέρουν κατά 1 λεπτό σε μεμονωμένες γραμμές, η αιτία σχεδόν ποτέ δεν είναι λάθος βαθμίδα — είναι στρογγυλοποίηση. Δύο μέθοδοι παράγουν διαφορετικά αποτελέσματα όταν ο τρίτος δεκαδικός είναι ακριβώς 5:
- Half-up: το
16,625στρογγυλοποιείται σε16,63. - Banker's rounding (half-to-even): το
16,625στρογγυλοποιείται σε16,62, επειδή το ψηφίο πριν (το 2) είναι ζυγό· αν ήταν16,635, θα στρογγυλοποιούσε σε16,64.
Σε τιμολόγιο 100 γραμμών όπου ένα μη ασήμαντο ποσοστό των γραμμών πέφτει ακριβώς-στο-όριο των δύο δεκαδικών, η ασυμφωνία στρογγυλοποίησης μεταξύ της δικής σου ανακατασκευής και του εκτυπωμένου τιμολογίου μπορεί να φτάσει το 1€ συνολικό. Δεν είναι λάθος εκπτώσεων — είναι κανόνας στρογγυλοποίησης που δεν ταιριάζει.
Η αντιμετώπιση είναι ευθεία: ταίριαξε τη μέθοδο στρογγυλοποίησης που εφαρμόζεις πριν το import με αυτή που χρησιμοποιεί ο προμηθευτής. Αν η ασυμφωνία επιμένει αποκλειστικά σε ακριβώς-στο-όριο τιμές, η αλλαγή μεθόδου τη διορθώνει. Αν η ασυμφωνία επιμένει και σε γραμμές που δεν είναι ακριβώς-στο-όριο, δεν πρόκειται για στρογγυλοποίηση — πρόκειται για βαθμίδα.
Όταν η ανακατασκευή αποτυγχάνει επανειλημμένα
Αν εφαρμόζεις τις βαθμίδες που έχεις στο αρχείο και η αναμενόμενη καθαρή αποκλίνει από την τυπωμένη σε πολλαπλές γραμμές πέρα από τα όρια στρογγυλοποίησης, ένα από τα δύο ισχύει: η συμφωνία στο αρχείο σου είναι παρωχημένη, ή ο προμηθευτής εφάρμοσε προσαρμογή που δεν έχει αποτυπωθεί στο παραστατικό. Σε αυτή την περίπτωση η σωστή αντίδραση δεν είναι «να βάλω τη μέση τιμή» ή «να αλλάξω τις βαθμίδες μέχρι να ταιριάξει» — και τα δύο καταστρέφουν το ιστορικό. Η σωστή αντίδραση είναι επικοινωνία με τον προμηθευτή πριν το import, ώστε η ανανεωμένη συμφωνία να γίνει ρητή και να αρχειοθετηθεί. Προσέγγιση που «σχεδόν ταιριάζει» στο import χτίζει σιωπηλό λάθος που δεν εντοπίζεται μήνες αργότερα.
Όταν δεν υπάρχει δομή προς ανακατασκευή: η συμπιεσμένη ενιαία έκπτωση και τα όριά της
Όχι κάθε προμηθευτής δικαιολογεί πλήρη ανακατασκευή. Όταν τυπώνεται μόνο η καθαρή και δεν υπάρχει συμφωνία στο αρχείο σου ή τη συμφωνία δεν θα τη χρησιμοποιήσεις ποτέ ξανά για ανάλυση, υπάρχει η εναλλακτική της συμπίεσης σε μία ενιαία effective έκπτωση. Δεν είναι λάθος προσέγγιση· είναι όμως μια προσέγγιση με συγκεκριμένα όρια που πρέπει να τα γνωρίζει ο χρήστης πριν την επιλέξει. Η πραγματική κρίση δεν είναι αν δουλεύει αριθμητικά — δουλεύει — αλλά αν χάνει downstream πληροφορία που θα χρειαστείς αργότερα.
Ο τύπος είναι άμεσος:
d_eff = 1 − (καθαρή / λιανική)
Για λιανική 35,00€ και καθαρή 16,63€, η effective έκπτωση είναι 1 − (16,63 / 35,00) = 0,5249, δηλαδή 52,49%. Η εγγραφή στο import γίνεται απλά: Discount1 = 0,5249, Discount2 και Discount3 κενά (ή 0). Το SoftOne υπολογίζει μετά την ίδια καθαρή και η αξία της γραμμής βγαίνει ταυτισμένη με του προμηθευτή.
Πότε η συμπίεση είναι αποδεκτή
Τρία κριτήρια πρέπει να ισχύουν ταυτόχρονα:
- Εφάπαξ ή χαμηλού όγκου προμηθευτής. Αν η σχέση είναι ευκαιριακή — μία ή δύο παραγγελίες τον χρόνο, μικρές ποσότητες — η απώλεια της δομής δεν επηρεάζει vendor management επειδή δεν θα γίνει ποτέ vendor analysis πάνω σε αυτόν τον προμηθευτή.
- Δεν υπάρχει downstream rebate tie-out. Δεν θα τρέξεις ποτέ αναφορά «πόσα κερδίσαμε από βαθμίδα κατηγορίας vs προωθητική για αυτόν τον προμηθευτή» γιατί δεν υπάρχει συμφωνία rebate που να συμψηφίζεται τριμηνιαία ή ετήσια.
- Δεν υπάρχει αναμενόμενη μεταβολή της κλίμακας. Η σχέση είναι σταθερή· δεν αναμένεται ο προμηθευτής να μετακινήσει 5% από κατηγορία σε ποσότητα. Αν αυτή η μεταβολή είναι πιθανή, χρειάζεσαι τη δομή για να την παρακολουθήσεις — και η συμπίεση τη σβήνει.
Όταν και τα τρία κριτήρια ισχύουν, η ενιαία effective έκπτωση είναι έντιμη και πρακτική. Παράγει σωστό κόστος αγοράς, σωστή ταύτιση καθαρής, και σωστή φορολογητέα αξία — όλα όσα πρέπει να ικανοποιήσει το import.
Πότε η συμπίεση δεν είναι αποδεκτή
Σε όλες τις άλλες περιπτώσεις, η συμπίεση χτίζει σιωπηλή απώλεια. Σημάδια ότι δεν πρέπει να την εφαρμόσεις:
- Μεγάλος προμηθευτής με συστηματικές βαθμίδες που εμφανίζονται σταθερά παραστατικό μετά παραστατικό.
- Υπάρχουν τριμηνιαίες προωθητικές που πρέπει να αναφερθούν ξεχωριστά σε διοίκηση ή σε rebate report προς τον προμηθευτή.
- Η εμπορική σχέση εξετάζεται για επαναδιαπραγμάτευση — οπότε θα χρειαστείς το ιστορικό της δομής για να επιχειρηματολογήσεις βαθμίδα ανά βαθμίδα.
- Ο προμηθευτής περιλαμβάνεται σε ετήσιο rebate report προς τη διοίκηση όπου κάθε βαθμίδα — κατηγορίας, ποσότητας, προωθητική — εμφανίζεται διακριτή και αθροίζεται ξεχωριστά.
Σε αυτές τις περιπτώσεις, αξίζει το επιπλέον βήμα: ζήτησε από τον προμηθευτή να σου στείλει την κλίμακα που εφαρμόζει, ή ψάξε τη συμφωνία στο εσωτερικό αρχείο πριν αποφασίσεις να συμπιέσεις. Είναι μερικά λεπτά τώρα έναντι αδύνατης αποκατάστασης πληροφορίας μετά.
Η διάκριση που οι λογιστές συγχέουν συχνότερα είναι αυτή: η συμπιεσμένη ενιαία έκπτωση παράγει σωστό κόστος αγοράς, αλλά εξαλείφει την πληροφορία της κλίμακας. Σε μεγάλους προμηθευτές χονδρικής, οι κλιμακωτές εκπτώσεις στο SoftOne import σχεδιάζονται για να επιβιώνουν στις αναφορές — όταν συμπιεστούν, η κατηγορία και η προωθητική συγχωνεύονται σε ένα ποσοστό και κάθε μελλοντική ανάλυση «πόσο κόστισε η προωθητική Q2 στους διανομείς καλλυντικών» δεν μπορεί να απαντηθεί.
Μικτός ΦΠΑ και κλίμακα εκπτώσεων: η αριθμητική ανά γραμμή σε καλλυντικά και θεραπευτικά
Σε χονδρεμπόρους που εμπορεύονται είδη με ομοιόμορφο ΦΠΑ — αμιγώς ηλεκτρονικά, αμιγώς εξοπλισμό γραφείου — η συζήτηση που ακολουθεί είναι περιττή και μπορείτε να την προσπεράσετε. Αφορά συγκεκριμένα τους κλάδους με μικτό ΦΠΑ ανά γραμμή: καλλυντικά (24% κανονικά / 13% θεραπευτικά), φαρμακευτικά (24% / 13% / 6%), και διανομές τροφίμων με συνδυασμό κανονικού και μειωμένου συντελεστή.
Σε ένα τιμολόγιο καλλυντικών 100 γραμμών, μερικά είδη φέρουν ΦΠΑ 24% και άλλα ΦΠΑ 13% επειδή χαρακτηρίζονται θεραπευτικά. Αν το import γραφτεί με ΦΠΑ επικεφαλίδας 24% για όλο το παραστατικό, τα θεραπευτικά είδη φορολογούνται λάθος, η συνολική αξία τιμολογίου με ΦΠΑ δεν ταυτίζεται με του προμηθευτή, και η διασταύρωση myDATA εμφανίζει διαφορά. Το πρόβλημα δεν λύνεται με μέσο όρο ΦΠΑ — λύνεται μόνο με ΦΠΑ ανά γραμμή.
Η σειρά πράξεων είναι σταθερή
Η κλίμακα εκπτώσεων εφαρμόζεται πριν τον ΦΠΑ, όχι ταυτόχρονα. Η ακολουθία ανά γραμμή είναι:
καθαρή = λιανική × (1 − d1) × (1 − d2) × (1 − d3)αξία γραμμής = καθαρή × ποσότητααξία γραμμής με ΦΠΑ = αξία γραμμής × (1 + ΦΠΑ%)
Αυτή είναι η σειρά που χρησιμοποιεί το SoftOne, η σειρά που χρησιμοποιεί η AADE myDATA στις διασταυρώσεις, και η σειρά που χρησιμοποιεί ο προμηθευτής στο PDF του. Δεν είναι επιλογή του import αρχιτέκτονα. Η σημαντική επιπλοκή είναι ότι ο ΦΠΑ% είναι ξεχωριστή διάσταση από την κλίμακα εκπτώσεων — αυτές οι δύο τιμές μπορούν να συνδυαστούν ανεξάρτητα ανά γραμμή.
Το ΦΠΑ είναι ανά γραμμή, όχι ανά τιμολόγιο
Στο import template του SoftOne, ο σχεδιαστής αρχείου πρέπει να ορίσει στήλη ΦΠΑ% που να συμπληρώνεται ανά γραμμή. Η τιμή της στήλης αντιστοιχεί στην κατηγορία του είδους, όχι στην επικεφαλίδα του τιμολογίου: ένα κανονικό καλλυντικό γράφει 24, ένα θεραπευτικό γράφει 13. Αν όλες οι γραμμές μοιράζονται τον ίδιο συντελεστή, το header-only πεδίο θα δούλευε επιφανειακά· σε μικτό ΦΠΑ δεν δουλεύει σε καμία περίπτωση. Δεν υπάρχει τρόπος να διορθωθεί στο SoftOne μετά το import χωρίς ξεχωριστή διόρθωση γραμμή προς γραμμή — είναι μηχανική που πρέπει να τοποθετηθεί σωστά από την αρχή.
Η σύνδεση με το κόστος αγοράς
Το αποθηκευμένο κόστος αγοράς ανά γραμμή στο SoftOne είναι η καθαρή τιμή πριν τον ΦΠΑ — δηλαδή το αποτέλεσμα του βήματος 1 παραπάνω. Ο ΦΠΑ συμψηφίζεται ξεχωριστά μέσω της φορολογητέας βάσης και δεν συμμετέχει στην αποθηκευμένη τιμή κόστους. Άρα η ορθότητα της κλίμακας εκπτώσεων ανά γραμμή έχει διπλή συνέπεια στους κλάδους με μικτό ΦΠΑ: σωστό κόστος αγοράς για την αποτίμηση αποθεμάτων, και σωστή φορολογική απεικόνιση στο myDATA όπου ο μικτός ΦΠΑ διασταυρώνεται με το ηλεκτρονικά υποβληθέν παραστατικό. Λάθος σε οποιοδήποτε από τα δύο επίπεδα εμφανίζεται στις διασταυρώσεις της AADE ως απόκλιση που πρέπει να εξηγηθεί.
Γιατί η ακρίβεια στο κόστος αγοράς δεν είναι διαπραγματεύσιμη
Το βάρος της σωστής αποτύπωσης της κλίμακας δεν είναι αισθητικό· είναι λογιστικό και νομικό. Σύμφωνα με τα Ελληνικά Λογιστικά Πρότυπα (Ν. 4308/2014, άρθρο 20.2.2) — όπως συνοψίζει η Λογιστική Οδηγία ΕΛΤΕ για το άρθρο 20 του Ν. 4308/2014 — οι εμπορικές εκπτώσεις, μειώσεις τιμών και άλλα παρόμοια στοιχεία αφαιρούνται κατά τον προσδιορισμό του κόστους κτήσης των αποθεμάτων. Όχι κάποιες από αυτές, όχι κατά μέσο όρο: όλες. Αν μια βαθμίδα εκπτώσεων δεν αποτυπώνεται στο import, το αποθηκευμένο κόστος είναι υπερτιμημένο και η αποτίμηση αποθεμάτων αποκλίνει από αυτό που απαιτεί ο νόμος.
Η οικονομική συνέπεια εμφανίζεται κάτω από αυτό το νομικό πλαίσιο, στο επίπεδο διοίκησης. Το λογιστικό περιθώριο ανά γραμμή που υπολογίζει το SoftOne είναι (τιμή πώλησης − αποθηκευμένο κόστος). Λάθος 1 λεπτού στο κόστος ανά γραμμή σε χονδρέμπορο με 200 γραμμές το μήνα παράγει 2.400 λεπτά (24€) σε ετήσιο διαστρεβλωμένο περιθώριο. Σε έναν διανομέα με 1.000 γραμμές, η ετήσια διαστρέβλωση φτάνει εύκολα τα 120€. Τα νούμερα δείχνουν μικρά μεμονωμένα — η σημασία τους έγκειται στο ότι η διαστρέβλωση είναι συστηματική, όχι τυχαία. Δεν εξομαλύνεται με μέσους όρους και δεν εντοπίζεται σε δειγματοληπτικό έλεγχο. Το λάθος εμφανίζεται στις αναφορές κερδοφορίας ανά κατηγορία — ποιο brand είναι πραγματικά κερδοφόρο, ποια προωθητική απέδωσε, σε ποια ποσότητα αξίζει η επόμενη παραγγελία — και διαμορφώνει εμπορικές αποφάσεις πάνω σε στρεβλά δεδομένα.
Η διάσταση του myDATA
Η myDATA απαιτεί συμφωνία μεταξύ της αξίας τιμολογίου που υποβλήθηκε ηλεκτρονικά από τον προμηθευτή (εκδότης) και της αξίας που έχει καταχωρηθεί από εσάς (λήπτη). Όταν η εσωτερική αποτύπωση της κλίμακας εκπτώσεων αποκλίνει από το ηλεκτρονικά υποβληθέν παραστατικό, εμφανίζονται διαφορές στις διασταυρώσεις της AADE που πρέπει να εξηγηθούν εκ των υστερών — και η εξήγηση κάθε διαφοράς δένεται με τον χαρακτηρισμός λήπτη myDATA Book B για τιμολόγια προμηθευτή που έχει δηλωθεί. Η σωστή αντιστοίχιση Discount1 / Discount2 / Discount3 από την αρχή αποτρέπει αυτές τις μετά-το-γεγονός εξηγήσεις και τις σχετικές διορθώσεις, που είναι χρονοβόρες και αφήνουν ίχνη στις διασταυρώσεις. Η σωστή κατανομή της κλίμακας εκπτώσεων στα τρία πεδία ορίζει ότι το κόστος αγοράς που εμφανίζεται στα βιβλία σου αντικατοπτρίζει ακριβώς τη συμφωνημένη μείωση σε όλες τις βαθμίδες — και άρα οι αξίες που εμφανίζει η AADE από την πλευρά του εκδότη ταυτίζονται με αυτές που εμφανίζει το βιβλίο σου, όχι μετά από εξηγήσεις, αλλά εξ αρχής.
Η ευκαιρία είναι το import
Για bookkeepers που διαχειρίζονται χονδρικούς πελάτες με δεκάδες προμηθευτές, ο εκ των υστερών έλεγχος των τιμολογίων που πέρασαν με συμπιεσμένη ή ελλιπή έκπτωση είναι πρακτικά αδύνατος. Η μόνη αξιόπιστη ευκαιρία να αποτυπωθεί σωστά η κλίμακα είναι κατά το import — όταν το PDF του προμηθευτή είναι ακόμη μπροστά σας και η συμφωνία είναι φρέσκια. Μετά το import, οι βαθμίδες έχουν συγχωνευθεί στην αποθηκευμένη καθαρή τιμή και η πληροφορία της δομής έχει χαθεί. Η εσωτερική πειθαρχία γύρω από αυτό το βήμα — η οποία δεν προσθέτει χρόνο όταν είναι ρουτίνα — είναι αυτή που κρατάει τα βιβλία ευθυγραμμισμένα με τη φορολογική πραγματικότητα και τις αναφορές διοίκησης ευθυγραμμισμένες με τα βιβλία.
Πλήρες παράδειγμα: τιμολόγιο καλλυντικών χονδρικής με κατηγορία και προωθητική έκπτωση
Ο διανομέας ευρωπαϊκού brand καλλυντικών παραλαμβάνει από τον προμηθευτή του τιμολόγιο 100 γραμμών για το Q2. Στην καρτέλα του προμηθευτή — που έχει συμφωνηθεί από την αρχή της εμπορικής σχέσης — έχει βαθμίδα κατηγορίας −50% (η συμφωνημένη βαθμίδα cosmetics-wholesale-tier για διανομείς) και ισχύει αυτόν τον μήνα μια προωθητική Q2 −5%. Πάρτε ως αντιπροσωπευτική γραμμή ένα κανονικό καλλυντικό με τιμή λιανικής 35,00€, ποσότητα 24 τμχ, ΦΠΑ 24%.
Η αριθμητική εκτυλίσσεται βήμα προς βήμα:
- Καθαρή πριν στρογγυλοποίηση:
35,00 × (1 − 0,50) × (1 − 0,05) = 35,00 × 0,50 × 0,95 = 16,625€. - Στρογγυλοποίηση στα δύο δεκαδικά:
16,63€με half-up (η μέθοδος που ταυτίζει με τις τυπωμένες καθαρές αυτού του προμηθευτή — επιβεβαιωμένη από προηγούμενα τιμολόγια). - Αξία γραμμής:
16,63 × 24 = 399,12€. - Αξία γραμμής με ΦΠΑ 24%:
399,12 × 1,24 = 494,91€.
Η γραμμή στο Excel που πάει στο SoftOne import γράφεται απλά:
| Στήλη | Τιμή |
|---|---|
| Είδος | (κωδικός είδους) |
| Λιανική Τιμή | 35,00 |
| Discount1 | 0,50 |
| Discount2 | 0,05 |
| Discount3 | (κενό) |
| Ποσότητα | 24 |
| ΦΠΑ% | 24 |
Μετά το import, το SoftOne υπολογίζει την αποθηκευμένη καθαρή ως 16,63€ — που ταυτίζεται με την τυπωμένη του προμηθευτή στο cent. Αυτή είναι η επαλήθευση που πρέπει να γίνει: σύγκριση γραμμή προς γραμμή της αποθηκευμένης καθαρής με την τυπωμένη. Όταν συμπίπτουν, η κλίμακα έφτασε σωστά: η έκπτωση κατηγορίας και (όπου υπάρχει) η έκπτωση ποσότητας έχουν αποτυπωθεί στα δικά τους πεδία του SoftOne import όπως απαιτείται για downstream rebate analysis.
Παραλλαγή με μειωμένο ΦΠΑ
Στο ίδιο παραστατικό, μια άλλη γραμμή είναι θεραπευτικό καλλυντικό με ΦΠΑ 13%. Η κλίμακα εκπτώσεων μένει η ίδια — Discount1 = 0,50 (κατηγορίας), Discount2 = 0,05 (Q2 promo) — και οι τέσσερις γραμμές υπολογισμού της καθαρής δεν αλλάζουν. Αλλάζει μόνο το ΦΠΑ% = 13 ανά γραμμή, και η αξία γραμμής με ΦΠΑ προκύπτει 399,12 × 1,13 = 451,01€. Είναι η πρακτική επικύρωση ότι η κλίμακα και ο ΦΠΑ είναι ανεξάρτητες διαστάσεις: ο μικτός ΦΠΑ δεν απαιτεί ξεχωριστή λογική στις βαθμίδες, εφόσον η στήλη ΦΠΑ% του template συμπληρώνεται ανά γραμμή.
Η ρύθμιση καρτέλας προμηθευτή
Για να συμπεριφερθεί προβλέψιμα το import αυτής της γραμμής, η καρτέλα του προμηθευτή πρέπει είτε να μην έχει default τιμές στα Discount1, Discount2, Discount3, είτε να έχει τη ρύθμιση που επιτρέπει στις τιμές γραμμής του Excel να υπερισχύουν. Δεν είναι σκοπός εδώ να καλυφθεί η σχετική παραμετροποίηση — αυτή ανήκει στη σκοπιά διαχείρισης SoftOne. Πρακτική σύσταση: αν η ρύθμιση δεν είναι γνωστή με βεβαιότητα, εκτελέστε test-import σε μία γραμμή πριν περάσετε ολόκληρο το παραστατικό. Είναι μερικά λεπτά που αποτρέπουν την επαναφορά εκατό γραμμών αν αποδειχθεί ότι παρενέβησαν οι προεπιλογές.
Πέρα από αυτή τη ροή
Δύο σχετικές ροές που εμφανίζονται συχνά μαζί με την κλίμακα εκπτώσεων αξίζει να αναφερθούν, χωρίς να επεκταθεί το άρθρο σε αυτές. Πρώτη: όταν το ίδιο τιμολόγιο πρέπει να μερισθεί ανάμεσα σε πολλά υποκαταστήματα — αποθήκη και κατάστημα, ή αποθήκες σε διαφορετικές περιοχές — η αντιστοίχιση Discount1 / Discount2 / Discount3 μένει η ίδια ανά γραμμή, αλλά τα πεδία υποκαταστήματος και η ποσότητα ανά υποκατάστημα είναι ξεχωριστή διαδικασία που θα καλυφθεί σε άρθρο ειδικά για τη ροή πολλαπλών υποκαταστημάτων στο SoftOne. Δεύτερη: αν το παραστατικό είναι Τιμολόγιο-Δελτίο Αποστολής (ΤΔΑ) και όχι σκέτο τιμολόγιο, η ίδια κλίμακα εκπτώσεων ισχύει — αλλά τα πεδία τύπου παραστατικού στο import αλλάζουν, και η αλληλεπίδραση με το myDATA είναι διαφορετική. Ξεχωριστό άρθρο για τη ροή ΤΔΑ στο SoftOne θα καλύψει αυτή τη διάσταση. Στις περιπτώσεις όπου ο ίδιος αναγνώστης συναντά και τα τρία προβλήματα ταυτόχρονα στο ίδιο παραστατικό, η σειρά αντιμετώπισης είναι σταθερή: πρώτα η κλίμακα εκπτώσεων όπως περιγράφηκε εδώ, μετά ο μερισμός σε υποκαταστήματα, τέλος η μηχανική του ΤΔΑ.
Extract invoice data to Excel with natural language prompts
Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.
Related Articles
Explore adjacent guides and reference articles on this topic.
ΤΔΑ προμηθευτή στο SoftOne: εισαγωγή από Excel
Οδηγός για ΤΔΑ προμηθευτή σε Excel/CSV με πεδία διακίνησης, MARK, γραμμές ειδών και έλεγχο πριν από SoftOne import.
Εισαγωγή τιμολογίων προμηθευτών στο SoftOne από Excel
Πρακτικός οδηγός για μετατροπή τιμολογίων προμηθευτών σε Excel/CSV με στήλες χρήσιμες για έλεγχο και εισαγωγή στο SoftOne.
Τιμολόγιο - Δελτίο Αποστολής σε Excel: Ξενοδοχεία, Εστιατόρια
Πρακτικός οδηγός για ξενοδοχεία και εστιατόρια: εξαγωγή Τιμολογίου - Δελτίου Αποστολής προμηθευτή σε γραμμές Excel για AP, COGS, MARK και Φάση Β.