customer_document_totals
ChatGPTΣύνολα τζίρου ενός πελάτη (με & χωρίς ΦΠΑ) σε όλο το ιστορικό. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. Επιστρέφει πλήθος παραστατικών και αθροίσματα net/ΦΠΑ/μικτό, καθώς και την πρώτη/τελευταία ημερομηνία συναλλαγής.
customer_document_totals
ChatGPTΣύνολα τζίρου ενός πελάτη (με & χωρίς ΦΠΑ) σε όλο το ιστορικό. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. Επιστρέφει πλήθος παραστατικών και αθροίσματα net/ΦΠΑ/μικτό, καθώς και την πρώτη/τελευταία ημερομηνία συναλλαγής.
customer_documents
ChatGPTΟΛΟ το ιστορικό παραστατικών ενός πελάτη (μία κλήση, χωρίς όριο ημ/νίας). Χρησιμοποιεί το selectorFields service που παρακάμπτει το 5-ήμερο παράθυρο των browsers, οπότε επιστρέφει ολόκληρο το ιστορικό αξιόπιστα. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. limit: Μέγιστα παραστατικά προς επιστροφή (newest-first). Επιστρέφει λίστα παραστατικών με id, κωδικό, ημερομηνία, καθαρό/ΦΠΑ/μικτό. Για τις γραμμές ενός παραστατικού χρησιμοποίησε get_document(doc_id).
customer_documents
ChatGPTΟΛΟ το ιστορικό παραστατικών ενός πελάτη (μία κλήση, χωρίς όριο ημ/νίας). Χρησιμοποιεί το selectorFields service που παρακάμπτει το 5-ήμερο παράθυρο των browsers, οπότε επιστρέφει ολόκληρο το ιστορικό αξιόπιστα. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. limit: Μέγιστα παραστατικά προς επιστροφή (newest-first). Επιστρέφει λίστα παραστατικών με id, κωδικό, ημερομηνία, καθαρό/ΦΠΑ/μικτό. Για τις γραμμές ενός παραστατικού χρησιμοποίησε get_document(doc_id).
customer_last_purchase
ChatGPTΗ τελευταία αγορά ενός πελάτη — με πλήρεις γραμμές του παραστατικού. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. Βρίσκει το νεότερο παραστατικό μέσω selectorFields (όλο το ιστορικό σε μία κλήση) και κατεβάζει τις γραμμές του με get_document.
customer_last_purchase
ChatGPTΗ τελευταία αγορά ενός πελάτη — με πλήρεις γραμμές του παραστατικού. Args: customer: Κωδικός/όνομα/τηλέφωνο/TRDR πελάτη. Βρίσκει το νεότερο παραστατικό μέσω selectorFields (όλο το ιστορικό σε μία κλήση) και κατεβάζει τις γραμμές του με get_document.
documents_on_date
ChatGPTΠαραστατικά μιας συγκεκριμένης ημερομηνίας (ΟΠΟΙΑΔΗΠΟΤΕ, και ιστορική). ΕΠΙΣΤΡΕΦΕΙ ΟΛΑ τα παραστατικά της ημέρας (default limit 2000 — αρκετά για μια μέρα). ΠΡΟΣΟΧΗ: μη βάζεις μικρό limit για να μετρήσεις σύνολα — θα κόψει σιωπηλά. Πάντα έλεγξε total vs returned· αν truncated=True, ανέβασε το limit. Για άθροισμα ανά κατάστημα/σειρά χρησιμοποίησε documents_summary. Args: date_str: Ημερομηνία 'YYYY-MM-DD' ή 'DD/MM/YYYY'. doc_type: 'retail', 'sales', ή 'purchase'. customer: Προαιρετικά κωδικός/όνομα/τηλέφωνο/TRDR για φιλτράρισμα. limit: Μέγιστα (default 2000 = ουσιαστικά όλα).
documents_on_date
ChatGPTΠαραστατικά μιας συγκεκριμένης ημερομηνίας (ΟΠΟΙΑΔΗΠΟΤΕ, και ιστορική). ΕΠΙΣΤΡΕΦΕΙ ΟΛΑ τα παραστατικά της ημέρας (default limit 2000 — αρκετά για μια μέρα). ΠΡΟΣΟΧΗ: μη βάζεις μικρό limit για να μετρήσεις σύνολα — θα κόψει σιωπηλά. Πάντα έλεγξε total vs returned· αν truncated=True, ανέβασε το limit. Για άθροισμα ανά κατάστημα/σειρά χρησιμοποίησε documents_summary. Args: date_str: Ημερομηνία 'YYYY-MM-DD' ή 'DD/MM/YYYY'. doc_type: 'retail', 'sales', ή 'purchase'. customer: Προαιρετικά κωδικός/όνομα/τηλέφωνο/TRDR για φιλτράρισμα. limit: Μέγιστα (default 2000 = ουσιαστικά όλα).
documents_summary
ChatGPTΣύνοψη παραστατικών μιας ημέρας ομαδοποιημένη ανά ΣΕΙΡΑ (κατάστημα/κανάλι). Τραβάει ΟΛΑ τα παραστατικά της ημέρας και τα ομαδοποιεί ώστε να βγάζεις σωστά σύνολα ανά κατάστημα ΧΩΡΙΣ να ανοίγεις κάθε παραστατικό. ⚠️ Για τζίρο ανά κατάστημα χρησιμοποίησε ΑΥΤΟ — ΟΧΙ φίλτρο πελάτη: το κατάστημα κωδικοποιείται στη σειρά του παραστατικού, όχι στον κωδικό πελάτη· φιλτράροντας με πελάτη χάνεις τα ονομαστικά παραστατικά του ίδιου καταστήματος. Η σειρά είναι το πρόθεμα του κωδικού (π.χ. 3ΔΛΠ, 13ΔΛΠ, 10ΔΛΔΣe). Η αντιστοίχιση σειρά→όνομα-καταστήματος διαφέρει ανά εγκατάσταση — ρώτα τον χρήστη ή δες το skill (π.χ. 0ΔΛΠ=Χαλάνδρι, 3ΔΛΠ=Mall κ.λπ. για τη συγκεκριμένη εγκατάσταση). Args: date_str: Ημερομηνία 'YYYY-MM-DD' ή 'DD/MM/YYYY'. doc_type: 'retail', 'sales', ή 'purchase'. group_by: 'series' (default) — μόνο αυτό υποστηρίζεται προς το παρόν. series: Προαιρετικά φίλτρο σε μία σειρά (π.χ. '3ΔΛΠ') — επιστρέφει και τη λίστα των παραστατικών εκείνης της σειράς.
documents_summary
ChatGPTΣύνοψη παραστατικών μιας ημέρας ομαδοποιημένη ανά ΣΕΙΡΑ (κατάστημα/κανάλι). Τραβάει ΟΛΑ τα παραστατικά της ημέρας και τα ομαδοποιεί ώστε να βγάζεις σωστά σύνολα ανά κατάστημα ΧΩΡΙΣ να ανοίγεις κάθε παραστατικό. ⚠️ Για τζίρο ανά κατάστημα χρησιμοποίησε ΑΥΤΟ — ΟΧΙ φίλτρο πελάτη: το κατάστημα κωδικοποιείται στη σειρά του παραστατικού, όχι στον κωδικό πελάτη· φιλτράροντας με πελάτη χάνεις τα ονομαστικά παραστατικά του ίδιου καταστήματος. Η σειρά είναι το πρόθεμα του κωδικού (π.χ. 3ΔΛΠ, 13ΔΛΠ, 10ΔΛΔΣe). Η αντιστοίχιση σειρά→όνομα-καταστήματος διαφέρει ανά εγκατάσταση — ρώτα τον χρήστη ή δες το skill (π.χ. 0ΔΛΠ=Χαλάνδρι, 3ΔΛΠ=Mall κ.λπ. για τη συγκεκριμένη εγκατάσταση). Args: date_str: Ημερομηνία 'YYYY-MM-DD' ή 'DD/MM/YYYY'. doc_type: 'retail', 'sales', ή 'purchase'. group_by: 'series' (default) — μόνο αυτό υποστηρίζεται προς το παρόν. series: Προαιρετικά φίλτρο σε μία σειρά (π.χ. '3ΔΛΠ') — επιστρέφει και τη λίστα των παραστατικών εκείνης της σειράς.
fetch
ChatGPTΕπιστρέφει πλήρη καρτέλα για ένα id από το search (ChatGPT contract). Args: id: Το id ενός αποτελέσματος του search (π.χ. 'CUSTOMER;6' ή 'ITEM;12'). Επιστρέφει {"id","title","text","url","metadata"}. Το PII παραμένει μασκαρισμένο εκτός αν ο tenant έχει δικαίωμα αποκάλυψης.
fetch
ChatGPTΕπιστρέφει πλήρη καρτέλα για ένα id από το search (ChatGPT contract). Args: id: Το id ενός αποτελέσματος του search (π.χ. 'CUSTOMER;6' ή 'ITEM;12'). Επιστρέφει {"id","title","text","url","metadata"}. Το PII παραμένει μασκαρισμένο εκτός αν ο tenant έχει δικαίωμα αποκάλυψης.
get_customer
ChatGPTΠλήρη στοιχεία ενός πελάτη από το Softone (getData), ισιωμένα. Args: key: Το key από το search_customers ('CUSTOMER;6'), ή σκέτο TRDR ('6'). extra_fields: Προαιρετικά custom/extra πεδία να συμπεριληφθούν. Δώσε 'TABLE.FIELD' (π.χ. 'CUSEXTRA.NUM01') ή σκέτο όνομα πεδίου. Χρήσιμο για custom πεδία της δικής σου εγκατάστασης — δες list_customer_fields. include_raw: Αν True, επιστρέφει και όλα τα raw πεδία του CUSTOMER. Επιστρέφει κύρια στοιχεία, επαφές, υποκαταστήματα, τραπεζικούς λογ/σμούς, extra πεδία, τα ρυθμισμένα custom_fields, και ό,τι ζητήθηκε στο extra_fields.
get_customer
ChatGPTΠλήρη στοιχεία ενός πελάτη από το Softone (getData), ισιωμένα. Args: key: Το key από το search_customers ('CUSTOMER;6'), ή σκέτο TRDR ('6'). extra_fields: Προαιρετικά custom/extra πεδία να συμπεριληφθούν. Δώσε 'TABLE.FIELD' (π.χ. 'CUSEXTRA.NUM01') ή σκέτο όνομα πεδίου. Χρήσιμο για custom πεδία της δικής σου εγκατάστασης — δες list_customer_fields. include_raw: Αν True, επιστρέφει και όλα τα raw πεδία του CUSTOMER. Επιστρέφει κύρια στοιχεία, επαφές, υποκαταστήματα, τραπεζικούς λογ/σμούς, extra πεδία, τα ρυθμισμένα custom_fields, και ό,τι ζητήθηκε στο extra_fields.
get_document
ChatGPTΠλήρες παραστατικό με το id του (header + γραμμές + ποσά). Χωρίς όριο ημ/νίας. Args: doc_id: Το FINDOC id (π.χ. '1435022') ή key 'RETAILDOC;1435022'. doc_type: 'retail', 'sales', ή 'purchase'.
get_document
ChatGPTΠλήρες παραστατικό με το id του (header + γραμμές + ποσά). Χωρίς όριο ημ/νίας. Args: doc_id: Το FINDOC id (π.χ. '1435022') ή key 'RETAILDOC;1435022'. doc_type: 'retail', 'sales', ή 'purchase'.
item_stock
ChatGPTΤρέχον απόθεμα ανά νούμερο/χρώμα & αποθηκευτικό χώρο. Args: term: Κωδικός είδους, barcode, ή κομμάτι περιγραφής (κενό = όλα). Αν δοθεί barcode/περιγραφή λύνεται αυτόματα στους κωδικούς του είδους. warehouse: Προαιρετικά συγκεκριμένη αποθήκη (π.χ. 'CENTER', 'MALL', 'ESHOP'). include_zero: True = δείξε και νούμερα με μηδενικό υπόλοιπο (default). False = μόνο όσα έχουν απόθεμα. Επιστρέφει, ανά γραμμή, itemcode + χρώμα + νούμερο + συνολικό υπόλοιπο + ανάλυση ανά αποθήκη. Το available_by_model συνοψίζει τα διαθέσιμα νούμερα. ⚠️ ΚΑΛΥΨΗ: το stock feed καλύπτει συγκεκριμένο κανάλι, ΟΧΙ όλο το catalog. Αν ένα είδος βρεθεί αλλά δεν είναι στο feed, επιστρέφεται not_in_stock_feed=true — αυτό ΔΕΝ σημαίνει υπόλοιπο 0, απλώς ότι το απόθεμά του δεν εκτίθεται εδώ.
item_stock
ChatGPTΤρέχον απόθεμα ανά νούμερο/χρώμα & αποθηκευτικό χώρο. Args: term: Κωδικός είδους, barcode, ή κομμάτι περιγραφής (κενό = όλα). Αν δοθεί barcode/περιγραφή λύνεται αυτόματα στους κωδικούς του είδους. warehouse: Προαιρετικά συγκεκριμένη αποθήκη (π.χ. 'CENTER', 'MALL', 'ESHOP'). include_zero: True = δείξε και νούμερα με μηδενικό υπόλοιπο (default). False = μόνο όσα έχουν απόθεμα. Επιστρέφει, ανά γραμμή, itemcode + χρώμα + νούμερο + συνολικό υπόλοιπο + ανάλυση ανά αποθήκη. Το available_by_model συνοψίζει τα διαθέσιμα νούμερα. ⚠️ ΚΑΛΥΨΗ: το stock feed καλύπτει συγκεκριμένο κανάλι, ΟΧΙ όλο το catalog. Αν ένα είδος βρεθεί αλλά δεν είναι στο feed, επιστρέφεται not_in_stock_feed=true — αυτό ΔΕΝ σημαίνει υπόλοιπο 0, απλώς ότι το απόθεμά του δεν εκτίθεται εδώ.
list_customer_fields
ChatGPTΛίστα ΟΛΩΝ των διαθέσιμων πεδίων της καρτέλας πελάτη ανά πίνακα. Χρησιμοποίησέ το για να ανακαλύψεις τα custom πεδία της συγκεκριμένης εγκατάστασης Softone (συχνά στο CUSEXTRA: NUM01-05, BOOL01-04, KAD). Μόλις βρεις το όνομα, δώσ' το στο get_customer(extra_fields=[...]) ή πρόσθεσέ το στο custom_fields.json. Args: key: Προαιρετικά συγκεκριμένος πελάτης· αλλιώς χρησιμοποιεί δείγμα.
list_customer_fields
ChatGPTΛίστα ΟΛΩΝ των διαθέσιμων πεδίων της καρτέλας πελάτη ανά πίνακα. Χρησιμοποίησέ το για να ανακαλύψεις τα custom πεδία της συγκεκριμένης εγκατάστασης Softone (συχνά στο CUSEXTRA: NUM01-05, BOOL01-04, KAD). Μόλις βρεις το όνομα, δώσ' το στο get_customer(extra_fields=[...]) ή πρόσθεσέ το στο custom_fields.json. Args: key: Προαιρετικά συγκεκριμένος πελάτης· αλλιώς χρησιμοποιεί δείγμα.
list_facts
ChatGPTΔείχνει τις αποθηκευμένες επιχειρηματικές σημειώσεις/κανόνες της εταιρείας (ελεύθερη μνήμη). Συμβουλέψου τες όταν η απάντηση εξαρτάται από τοπικές συμβάσεις της επιχείρησης (π.χ. ποια σειρά=eShop, ιδιαιτερότητες καταστημάτων).
list_facts
ChatGPTΔείχνει τις αποθηκευμένες επιχειρηματικές σημειώσεις/κανόνες της εταιρείας (ελεύθερη μνήμη). Συμβουλέψου τες όταν η απάντηση εξαρτάται από τοπικές συμβάσεις της επιχείρησης (π.χ. ποια σειρά=eShop, ιδιαιτερότητες καταστημάτων).
list_series_labels
ChatGPTΔείχνει τη «μνήμη» της εταιρείας: σειρά παραστατικού → όνομα καταστήματος/καναλιού (π.χ. eShop). Χρήσιμο πριν το documents_summary.
list_series_labels
ChatGPTΔείχνει τη «μνήμη» της εταιρείας: σειρά παραστατικού → όνομα καταστήματος/καναλιού (π.χ. eShop). Χρήσιμο πριν το documents_summary.
recent_documents
ChatGPTΠρόσφατα παραστατικά (τελευταίες ~5 μέρες — default window). Args: doc_type: 'retail' (λιανική), 'sales' (χονδρική), ή 'purchase' (αγορές). limit: Πόσα να επιστρέψει.
recent_documents
ChatGPTΠρόσφατα παραστατικά (τελευταίες ~5 μέρες — default window). Args: doc_type: 'retail' (λιανική), 'sales' (χονδρική), ή 'purchase' (αγορές). limit: Πόσα να επιστρέψει.
search
ChatGPTΕνιαία αναζήτηση (πελάτες + είδη) για χρήση από ChatGPT Deep Research. Args: query: Ελεύθερο κείμενο — επωνυμία/ΑΦΜ/κωδικός πελάτη, ή περιγραφή/κωδικός είδους. Επιστρέφει {"results": [{"id","title","url"}]}. Δώσε το id στο fetch για πλήρη καρτέλα. (Συμβατό με το connector contract του ChatGPT.)
search
ChatGPTΕνιαία αναζήτηση (πελάτες + είδη) για χρήση από ChatGPT Deep Research. Args: query: Ελεύθερο κείμενο — επωνυμία/ΑΦΜ/κωδικός πελάτη, ή περιγραφή/κωδικός είδους. Επιστρέφει {"results": [{"id","title","url"}]}. Δώσε το id στο fetch για πλήρη καρτέλα. (Συμβατό με το connector contract του ChatGPT.)
search_customers
ChatGPTΑναζήτηση πελατών στο Softone. Args: term: Όρος αναζήτησης (επωνυμία, κωδικός, ΑΦΜ, ή τηλέφωνο). limit: Μέγιστος αριθμός αποτελεσμάτων (default 20). field: 'auto' (έξυπνο), 'name', 'code', 'afm', ή 'phone'. Επιστρέφει λίστα πελατών με key (για χρήση στο get_customer), κωδικό, επωνυμία, ΑΦΜ και στοιχεία επικοινωνίας. Προσοχή σε τονισμένες παραλλαγές ελληνικών επωνύμων (π.χ. «Βουγιούκα» vs «Βουγιουκα») — το wildcard search τα φέρνει και τα δύο· αν βγουν πολλά, δείξε λίστα και ζήτα διευκρίνιση.
search_customers
ChatGPTΑναζήτηση πελατών στο Softone. Args: term: Όρος αναζήτησης (επωνυμία, κωδικός, ΑΦΜ, ή τηλέφωνο). limit: Μέγιστος αριθμός αποτελεσμάτων (default 20). field: 'auto' (έξυπνο), 'name', 'code', 'afm', ή 'phone'. Επιστρέφει λίστα πελατών με key (για χρήση στο get_customer), κωδικό, επωνυμία, ΑΦΜ και στοιχεία επικοινωνίας. Προσοχή σε τονισμένες παραλλαγές ελληνικών επωνύμων (π.χ. «Βουγιούκα» vs «Βουγιουκα») — το wildcard search τα φέρνει και τα δύο· αν βγουν πολλά, δείξε λίστα και ζήτα διευκρίνιση.
search_items
ChatGPTΑναζήτηση ειδών/προϊόντων στο Softone. Args: term: Όρος (περιγραφή, κωδικός, ή barcode). by: 'auto', 'name' (περιγραφή), 'code', ή 'barcode'. limit: Μέγιστα αποτελέσματα. Επιστρέφει είδη με κωδικό, περιγραφή, barcode και τιμές (χονδρ./λιαν.). Για απόθεμα ανά αποθήκη χρησιμοποίησε το item_stock.
search_items
ChatGPTΑναζήτηση ειδών/προϊόντων στο Softone. Args: term: Όρος (περιγραφή, κωδικός, ή barcode). by: 'auto', 'name' (περιγραφή), 'code', ή 'barcode'. limit: Μέγιστα αποτελέσματα. Επιστρέφει είδη με κωδικό, περιγραφή, barcode και τιμές (χονδρ./λιαν.). Για απόθεμα ανά αποθήκη χρησιμοποίησε το item_stock.