Οθόνη εισόδου στην εφαρμογή — πριν από κάθε καρτέλα πελάτη. Ο πελάτης είναι εταιρεία του ενιαίου πίνακα (όχι ξεχωριστή οντότητα).
| Ονομασία | ΑΦΜ | Πόλη | Τηλέφωνο | Ρόλος |
|---|
| Ονομασία | ΑΦΜ | Πόλη | Τηλέφωνο | Ρόλος | |
|---|---|---|---|---|---|
| φόρτωση… | |||||
Στήλη «Ρόλος»: εκδότρια είναι ΜΟΝΟ η ASTBOOKS ΙΚΕ (ΑΦΜ 800412764) — όλες οι υπόλοιπες εταιρείες είναι πελάτες. Η λίστα τροφοδοτείται ζωντανά από τη βάση (25.189 πελάτες): πληκτρολογώντας στο πεδίο αναζήτησης φιλτράρεται η ονομασία γράμμα-γράμμα, και το φίλτρο ρόλου διαχωρίζει εκδότρια/πελάτες.
| Υπηρεσία / Προϊόν | Κατάσταση | Ισχύει έως | Τιμολόγηση |
|---|---|---|---|
| — επιλέξτε πελάτη από την οθόνη εισόδου — | |||
| Κωδικός ΑΑΔΕ | Περιγραφή | Διεύθυνση | ΚΑΔ εγκατάστασης | |
|---|---|---|---|---|
| — κενό — | ||||
+ Προσθήκη εγκατάστασης
| Ονομασία | ΑΦΜ | Υποκατάστημά μας | |
|---|---|---|---|
| ΓΡΙΒΑΣ ΑΝΩΝΥΜΗ ΕΤΑΙΡΕΙΑ | 094012345 | 0000 / Έδρα | Διαγραφή σχέσης |
| — εταιρείες που μας εκδίδουν παραστατικά (εμείς = πελάτης τους) — | |||
| Ονομασία | ΑΦΜ | Υποκατάστημά τους | |
|---|---|---|---|
| ΤΕΡΝΑ ΕΝΕΡΓΕΙΑΚΗ ΑΕ | 999777555 | 0000 / Έδρα | Διαγραφή σχέσης |
| — εταιρείες που τους εκδίδουμε παραστατικά (εμείς = εκδότης) — | |||
Η ίδια εταιρεία μπορεί να εμφανίζεται και στις δύο λίστες. Μοναδικότητα: (εκδότης, πελάτης, υποκατάστημα).
| Α/Α | Περιγραφή είδους / υπηρεσίας | Ποσότητα | Τιμή μονάδας | Έκπτωση % | ΦΠΑ % | Καθαρή αξία | ΦΠΑ € | Σύνολο |
|---|
| Καθαρή αξία | 0,00 € |
| ΦΠΑ | 0,00 € |
| ΓΕΝΙΚΟ ΣΥΝΟΛΟ | 0,00 € |
Στο wireframe η αριθμητική είναι απλή επίδειξη — στην παραγωγή οι υπολογισμοί γίνονται αποκλειστικά σε Decimal (numeric(18,2)/(18,3), στρογγυλοποίηση half-up) στο API, ποτέ σε float.
| Πότε | Πελάτης | Πωλητής | Τύπος | Κατάσταση |
|---|
| Πότε | Πελάτης | Πωλητής | Τύπος | Κατάσταση |
|---|
| Ημέρα | Ραντεβού | Άλλαξαν ημ/νία | Παραγγελίες |
|---|
| Σύνολο ραντεβού | — |
| Σύνολο αλλαγών ημ/νίας | — |
| Σύνολο παραγγελιών | — |
| Πότε | Πελάτης | Πωλητής | Αποτέλεσμα | Διάρκεια | Παρατηρήσεις |
|---|
| Επωνυμία | ΑΦΜ | Πόλη | Τηλέφωνα | |
|---|---|---|---|---|
| — πληκτρολογήστε για αναζήτηση — | ||||
| Α/Α | Περιγραφή | Ποσότητα | Τιμή μονάδας | Έκπτωση % | ΦΠΑ % | Καθαρή αξία | ΦΠΑ € | Σύνολο |
|---|
| Γραμμές προς τιμολόγηση | — |
| Καθαρή αξία (πριν Α/Β) | 0,00 € |
| Έκπτωση Α | 0,00 € |
| Έκπτωση Β | 0,00 € |
| ΦΠΑ | 0,00 € |
| ΓΕΝΙΚΟ ΣΥΝΟΛΟ | 0,00 € |
| Α/Α | Τράπεζα | IBAN | SWIFT | |
|---|---|---|---|---|
| — φόρτωση από βάση — | ||||
| Σειρά / Αύξων | Τύπος | Πελάτης | Ημ/νία | Σύνολο | Κατάσταση | |
|---|---|---|---|---|---|---|
| — επιλέξτε πελάτη — | ||||||
| Πελάτης | Προϊόν / υπηρεσία | Λήξη (μήνας/έτος) | Κατάσταση | Τιμολόγηση | |
|---|---|---|---|---|---|
| — πατήστε Αναζήτηση — | |||||
Σειρά αναζήτησης: ① μήνας + έτος → οι συνδρομές που λήγουν εκείνο τον μήνα · ② προϊόν → ανά πελάτη · ③ πελάτης → όλες οι συνδρομές του με αναφορά μήνα/έτους · ④ τιμολόγηση → αν έχει εκδοθεί τιμολόγιο εμφανίζεται «Ανανέωση +1 έτος» για το επόμενο έτος.
| Ημ/νία | Παραστατικό | Λήξη | Χρέωση | Πίστωση | Υπόλοιπο |
|---|---|---|---|---|---|
| — επιλέξτε πελάτη — | |||||
| Σύνολο χρεώσεων | 0,00 € |
| Σύνολο πιστώσεων | 0,00 € |
| ΤΕΛΙΚΟ ΥΠΟΛΟΙΠΟ | 0,00 € |
| Κωδικός | Ονομασία | Σειρά | Αιτιολογία | Κατάσταση | Υπηρεσία / Τιμολόγηση |
|---|
| Σειρά / Αύξων | Πελάτης | Πωλητής | Ημ/νία | Σύνολο | Κατάσταση |
|---|
| Κωδικός | Περιγραφή | Ενεργή | Πηγή / Ημ. ενημέρωσης | |
|---|---|---|---|---|
| 1101 | ΔΟΥ Α' Αθηνών | ✓ | ΑΑΔΕ · 07/10/2026 | Επεξεργασία |
| 1104 | ΔΟΥ Γλυφάδας | ✓ | ΑΑΔΕ · 07/10/2026 | Επεξεργασία |
| … | ||||
Παραστατικά (κατάλογος) · myDATA διαβίβαση (MARK/UID, QR) · Ψ.Δ.Α. · Είδη/Υπηρεσίες · Χρήστες/Δικαιώματα — Σειρές (tim_seira): ενεργές στη βάση από v3 — δείτε tab «Σειρές»
Έκδοση εφαρμογής: wireframe v5.28 · API FastAPI · 14/10/2026 (ανάπτυξη server) Σύστημα: FastAPI (127.0.0.1:8790) + βάση Supabase/Postgres (tmgk) + wireframe UI (127.0.0.1:8791)
⚠️ Τέλος ημέρας: κλείνετε πρώτα τον browser, μετά το παράθυρο του server (Ctrl+C ή κλείσιμο παραθύρου).
| Εικονίδιο | Λειτουργία |
|---|---|
| 📅 Ραντεβού ημέρας | Σημερινά ραντεβού + καταχώριση νέου |
| 🗂️ CRM | Πελατολόγιο — αναζήτηση και λίστα εταιρειών |
| 🏢 Στοιχεία πελάτη | Στοιχεία ταυτότητας του επιλεγμένου πελάτη |
| 💶 Καρτέλα πελάτη | Οικονομική κίνηση (αγορές, εισπράξεις, αρ. παραστατικών), προοδευτικά υπόλοιπα, λήξεις, γενικό υπόλοιπο |
| 📦 Καρτέλα προϊόντος | Κατάλογος προϊόντων (live) |
| 🧾 Τιμολογήσεις για έγκριση | Πρόχειρα παραστατικά προς έλεγχο |
Στα 📅 και 🧾 εμφανίζεται κόκκινος/μπλε μετρητής με τον αριθμό των σημερινών ραντεβού / των προχείρων προς έγκριση. Ανανεώνεται αυτόματα.
Κάθε εργασία ξεκινά από εδώ. Η οθόνη έχει 4 ανεξάρτητα πεδία αναζήτησης:
Κανόνας: το κάθε πεδίο φιλτράρει ΜΟΝΟ το δικό του κριτήριο, ζωντανά με την πληκτρολόγηση. Με πάνω από ένα πεδίο συμπληρωμένο, τα αποτελέσματα στενεύουν (λειτουργία AND).
Από κάθε γραμμή αποτελέσματος έχετε 3 ενέργειες: Άνοιγμα (καρτέλα πελάτη) · Παραγγελία · Τιμολόγηση.
Μόλις επιλεγεί πελάτης, εμφανίζεται μπάρα «Ενεργός πελάτης» με τα βασικά στοιχεία και κουμπιά γρήγορης μετάβασης. Αλλαγή πελάτη μόνο από το κουμπί «✕ Αλλαγή πελάτη».
Χωρίς επιλεγμένο πελάτη, οι καρτέλες πελάτη / υπολοίπων / παραγγελίας / ραντεβού / κλήσεων σας επιστρέφουν στην οθόνη εισόδου.
Δείχνει τα πλήρη στοιχεία του ενεργού πελάτη (live από τη βάση): επωνυμία, εμπορική ονομασία, νομική μορφή, ΑΦΜ, ΔΟΥ, ΓΕΜΗ, καθεστώς ΦΠΑ, επάγγελμα, ΚΑΔ, διεύθυνση έδρας (οδός, αριθμός, πόλη, Τ.Κ., δήμος, νομός, χώρα), τηλέφωνα, email, ιστοσελίδα.
Έλεγχοι κατά την αποθήκευση: checksum ΑΦΜ (fail-closed) · μοναδικότητα ΑΦΜ · 5ψήφιο Τ.Κ.
Στην καρτέλα καταχωρείται η συμφωνία με τον πελάτη: Μετρητά / 15 / 30 / 45 / 60 ημέρες / Άλλο (κενό = όχι συμφωνημένο). Πλήκτρο «Προεπισκόπηση υπενθύμισης» δείχνει το κείμενο του email όπως θα σταλεί.
Αυτοματοποιημένη υπενθύμιση: σε όσους έχουν ανεξόφλητα παραστατικά και έχει περάσει η συμφωνημένη ημερομηνία πληρωμής (παλαιότερο παραστατικό + συμφωνημένες ημέρες, π.χ. +30), στέλνεται ευγενικό email με το ποσόν και τη συνοπτική καρτέλα — μετά, κάθε 3 ημέρες. Η αποστολή είναι με email (ο λογαριασμός mail ορίζεται από τη διαχείριση).
Καταχωρούνται εδώ: παραλήπτης/επωνυμία, οδός, αριθμός, περιοχή, πόλη, Τ.Κ. Αυτά γεμίζουν αυτόματα τα παραστατικά (προεπιλογή στον τύπο παραστατικού).
Live για τον ενεργό πελάτη: οι τρεις υπηρεσίες — ΣΕΜΙΝΑΡΙΑ (astseminars), IN PHONE/Πωλήτρια (inphone), IN WRITTEN/ΡΕΠΟΡΤΕΡ (inwritten) — με κατάσταση και ημερομηνία λήξης, συν όλες οι λοιπές συνδρομές του. Οι 3 υπηρεσίες είναι μόνο για ενημέρωση — δεν τιμολογούνται ποτέ (η βάση τις απορρίπτει με 422).
Καρτέλα 1:N με κωδικούς όπως στο μητρώο ΑΑΔΕ (προαπαιτούμενο Ψ.Δ.Α.).
Τράπεζες δεν αφορούν τον πελάτη — τραπεζικοί λογαριασμοί υπάρχουν μόνο στην εκδότρια (βλ. §8).
Νέο ραντεβού από εδώ: το πλήκτρο «+ Νέο ραντεβού» ανοίγει την καταχώριση με τον ενεργό πελάτη ήδη συμπληρωμένο.
Εκδότρια = ΜΟΝΟ η ASTBOOKS ΙΚΕ (ΑΦΜ 800412764). Η καταχώριση νέας εταιρείας δημιουργεί πάντα πελάτη· αν ζητηθεί νέα εκδότρια η βάση απορρίπτει με 409.
Οθόνη αναζήτησης συνδρομών με τα εξής φίλτρα (σε AND): ΜΗΝΑΣ (1–12) · ΕΤΟΣ · Προϊόν/υπηρεσία · Πελάτης (κομμάτι ονομασίας). Ανοίγει αυτόματα στον τρέχοντα μήνα.
Τα αποτελέσματα δείχνουν: πελάτη, κωδικό/υπηρεσία, κατάσταση, λήξη και στήλη «Τιμολόγηση» (✓ έχει εκδοθεί τιμολόγιο μέσα στο τελευταίο 12μηνο πριν τη λήξη / ✗ όχι — οι 3 υπηρεσίες πάντα χωρίς δικαίωμα).
«Ανανέωση +1 έτος» — ενεργοποιείται μόνο για συνδρομές που έχουν τιμολογηθεί· παρατείνει τη λήξη κατά ένα έτος (ίδια μέρα/μήνας) και κρατά ιστορικό ανανεώσεων. Live — 10.057 συνδρομές στη βάση.
Πίνακας κίνησης: ημερομηνία, παραστατικό (σειρά/αύξων, τύπος), λήξη, χρέωση (αγορές/τιμολόγια) / πίστωση (πιστωτικά + εισπράξεις με τρόπο πληρωμής), προοδευτικό υπόλοιπο ανά γραμμή. Συγκεντρωτικά: σύνολο χρεώσεων, πιστώσεων, γενικό υπόλοιπο. Όλα live πάνω στα 29.977 πραγματικά παραστατικά που μεταφέρθηκαν από το παλαιό σύστημα.
Λήξη: υπολογίζεται ανά παραστατικό ως ημ/νία έκδοσης + συμφωνημένες ημέρες πληρωμής του πελάτη (§4 — χωρίς συμφωνία = 30 ημέρες, «Μετρητά» = ίδια μέρα). Αν η λήξη έχει περάσει και το υπόλοιπο είναι θετικό, εμφανίζεται κόκκινη σήμανση «καθυστέρηση».
Καταστάσεις παραγγελίας: Δημιουργήθηκε → Σε εκτέλεση → Ολοκληρώθηκε → Τιμολογήθηκε (αυτόματα) ή Ακυρώθηκε.
Το έντυπο παραγγελίας είναι εσωτερικό — δεν είναι παραστατικό και δεν διαβιβάζεται στην ΑΑΔΕ/myDATA.
Αν το παραστατικό είναι χειροκίνητο, εμφανίζεται ζωντανή αναζήτηση πελάτη με τα ίδια 4 ανεξάρτητα κριτήρια (ονομασία / ΑΦΜ / περιοχή-πόλη / τηλέφωνο) — δεν χρειάζεται να γυρίσετε στην οθόνη εισόδου.
Α) Από παραγγελία (βασική ροή): επιλέγετε την παραγγελία του πελάτη → οι γραμμές της έρχονται στο παραστατικό. Μία γραμμή παραγγελίας τιμολογείται ΜΟΝΟ ΜΙΑ φορά — η βάση το επιβάλλει (409 / partial unique index).
Β) Χειροκίνητη τιμολόγηση: προσθέτετε ελεύθερες γραμμές χωρίς παραγγελία (περιγραφή, ποσότητα, τιμή, έκπτωση %, ΦΠΑ %).
Έως 5 λογαριασμοί (τράπεζα, IBAN, SWIFT) — αποτυπώνονται στο τέλος του παραστατικού. Διαχείριση (προσθήκη/διαγραφή) από την ίδια οθόνη τιμολόγησης. Δεν αφορούν τον πελάτη.
Το υπόλοιπο πελάτη (§6) μετά την οριστικοποίηση ενημερώνεται αυτόματα από την καρτέλα.
Η παραγγελία και το τιμολόγιο συμφωνούν 100% — οι γραμμές του τιμολογίου είναι δεμένες με τις γραμμές της παραγγελίας (order_line_id) και οι αξίες υπολογίζονται σε ένα και μοναδικό σημείο (API, Decimal). Διαγραφή: μόνο πρόχειρα παραστατικά διαγράφονται (204) — και τότε η παραγγελία επιστρέφει σε «Σε εκτέλεση».
Καταχώριση (ο πωλητής):
Ραντεβού της ημέρας: από το πλακίδιο «📅 Ραντεβού σήμερα» ανοίγει κατευθείαν η λίστα της ημέρας, ταξινομημένη με τη σειρά της ώρας (δυνατότητα ταξινόμησης ανά στήλη). Πλοήγηση ημερομηνίας (προηγ./επόμ./σήμερα) — ονόματα πελατών/πωλητών (όχι κωδικοί), ώρα, τύπος, κατάσταση. Κάθε γραμμή έχει «Άνοιγμα» — εμφανίζει τα στοιχεία του πελάτη με πλήρη λεπτομέρειες και πλήκτρο «+ Νέο ραντεβού». Επίσης καρτέλα «Επερχόμενα ραντεβού» (όλων των ημερών).
Αλλαγή ραντεβού: αν μετακινηθεί σε άλλη ώρα/ημέρα, κρατάται αυτόματα η προηγούμενη ώρα (rescheduled_from) — μετράει στις αναφορές «πόσα άλλαξαν ημερομηνία».
Καταστάσεις: Προγραμματίστηκε → Ολοκληρώθηκε / Ακυρώθηκε.
Καταγραφή εκάστης επαφής: αποτέλεσμα (Απάντησε / Απουσία / Κατειλημμένο / Μήνυμα), διάρκεια (δευτερόλεπτα), πωλητής, σημειώσεις. Καταχώριση → επιβεβαίωση με id. Ιστορικό: λίστα σε φθίνουσα χρονολογία με χρωματιστή σήμανση αποτελέσματος — live από τη βάση.
Αναζήτηση προϊόντος γράμμα-γράμμα (κωδικός ή ονομασία) με φίλτρο «μόνο ενεργά». Live από τον κατάλογο προϊόντων της βάσης.
Κωδικός, ονομασία, σειρά, αιτιολογία, ημερολόγιο, κατάσταση, υπηρεσία (οι 3 υπηρεσίες χωρίς δικαίωμα τιμολόγησης επισημαίνονται ρητά), σειρά ταξινόμησης.
Εμφανίζονται αυτόματα από την ανάλυση πωλήσεων (τιμολόγηση − πιστωτικά) μαζί με το σύνολο σε €.
Το κουμπί 📊 Ανάλυση πωλήσεων ανά πελάτη ανοίγει αναλυτικό πίνακα: πελάτης, ΑΦΜ, τεμάχια, καθαρή αξία, σύνολο (εξαιρούνται πιστωτικά και ακυρωμένα).
Ο κατάλογος δεν κρατά τιμές/αποθέματα· οι τιμές πώλησης καταχωρούνται χειροκίνητα ανά γραμμή παραγγελίας/παραστατικού.
ΔΟΥ (πηγή ΑΑΔΕ), ΚΑΔ και Δήμοι/Νομοί (ΕΛΣΤΑΤ), Τράπεζες (ΕΚΤ/BIC), Χώρες (ISO 3166), Συντελεστές ΦΠΑ, Πωλητές, Σειρές (tim_seira — ενεργές στη βάση).
Κατηγορία ΦΠΑ (πιστοποιημένη): 1=24% · 2=13% · 3=6% · 4=17% · 5=9% · 6=4% · 7=Χωρίς ΦΠΑ · 8=Εξαιρούμενο.
| Σύμπτωμα | Λύση |
|---|---|
| «API: εκτός λειτουργίας» | Ξεκινήστε ξανά το ΤΙΜΟΛΟΓΗΣΗ_ΕΚΚΙΝΗΣΗ.bat — το παράθυρο του server πρέπει να μένει ανοιχτό |
| Λευκή σελίδα | Ανανέωση (F5). Αν συνεχίζει, ελέγξτε ότι ο server τρέχει |
| «Κάποια γραμμή έχει ήδη τιμολογηθεί» (409) | Η παραγγελία έχει ήδη τιμολογηθεί. Διαγράψτε πρώτα το πρόχειρο παραστατικό αν θέλετε επανέκδοση |
| «Η σειρά είναι ανενεργή» (409) | Ενεργοποιήστε τη σειρά από Βοηθητικούς / API |
| «Λείπει η εκδότρια εταιρεία και/ή οι σειρές» | Καταχωρήστε εκδότρια + σειρές στη βάση (βλ. §8) |
| «Λάθος checksum ΑΦΜ» | Ελέγξτε τα 9 ψηφία του ΑΦΜ — ο έλεγχος είναι fail-closed |
| Οθόνη | Κατάσταση |
|---|---|
| Επιλογή πελάτη (4 κριτήρια) | ✅ LIVE (ενιαίο πελατολόγιο) |
| Στοιχεία πελάτη (ταυτότητα + συμφωνία πληρωμής + παράδοση + συνδρομές + νέο ραντεβού) | ✅ LIVE |
| Συνδρομές αναζήτηση (μήνας/έτος · προϊόν · πελάτης · ένδειξη τιμολόγησης → ανανέωση +1 έτος) | ✅ LIVE (10.057 συνδρομές) |
| Καρτέλα πελάτη (💶): κίνηση, εισπράξεις (τράπεζα/μετρητά/χρεόγραφο), λήξεις, καθυστερήσεις | ✅ LIVE (29.977 πραγματικά παραστατικά) |
| Παραγγελία → Τιμολόγηση → Έγκριση | ✅ LIVE (πιστοποιημένη συμφωνία 100%) |
| Τιμολόγηση: εκπτώσεις Α/Β, ΦΠΑ % ανά γραμμή, στοιχεία παράδοσης | ✅ LIVE |
| Τραπεζικοί λογαριασμοί εκδότριας (έως 5) | ✅ LIVE (ο πίνακας υπάρχει — περιμένει καταχώριση IBAN) |
| Οριστικοποίηση → myDATA payload + PDF + email πελάτη | ✅ LIVE (payload/PDF/email ετοιμάζονται αυτόματα) |
| Ραντεβού (πλακίδιο → λίστα ημέρας με σειρά ώρας) + Επερχόμενα + Αναφορές ημέρας | ✅ LIVE |
| Κλήσεις (καταχώριση + ιστορικό) | ✅ LIVE |
| Καρτέλα προϊόντος | ✅ LIVE (κατάλογος 111 προϊόντων, πλήρη στοιχεία: σημαίες/λογαριασμοί/χαρακτήρες) |
| myDATA ΑΑΔΕ διαβίβαση | ⏳ Προς διαβίβαση — απαιτούνται διαπιστευτήρια ΑΑΔΕ |
| Αποστολή email πελάτη / υπενθυμίσεων | ⏳ Προς αποστολή — απαιτείται σύνδεση mailbox |
ASTBOOKS — Εσωτερικό εγχειρίδιο χρηστών. Ενημέρωση: 13/10/2026 (v5.22 — νέο: καρτέλες «Στοιχεία πελάτη»/«Καρτέλα πελάτη» με λήξεις & καθυστερήσεις, συνδρομές μήνα/έτος/προϊόν/πελάτη με ανανέωση +1 έτος, ραντεβού ημέρας με σειρά ώρας & νέο ραντεβού από καρτέλα, πλήρη στοιχεία προϊόντων, εκδότρια μόνο ASTBOOKS). Προηγούμενη έκδοση: v5.15.