Η εισαγωγή τραπεζικών αντιγράφων στο Odoo είναι μόνο το πρώτο βήμα. Το πραγματικό όφελος προκύπτει μόνο όταν μια τραπεζική κίνηση μπορεί να αντιστοιχιστεί αξιόπιστα στο σωστό τιμολόγιο πώλησης, τιμολόγιο προμηθευτή, πιστωτικό σημείωμα ή πληρωμή.
Ακριβώς σε αυτό το σημείο λείπει από το Odoo 19 Community μια άνετη δυνατότητα στη διεπαφή χρήστη. Οι εισαγόμενες τραπεζικές γραμμές παραμένουν έτσι αρχικά στον ενδιάμεσο τραπεζικό λογαριασμό και πρέπει, για την περαιτέρω επεξεργασία, να αντιστοιχιστούν σε ένα ανοιχτό λογιστικό στοιχείο.
Για τη δική μας εγκατάσταση Odoo 19 Community αναπτύξαμε γι’ αυτό τον Bank Statement Matcher. Επειδή αυτό το πρόβλημα δεν αφορά μόνο εμάς, διαθέτουμε την ενότητα δωρεάν στο GitHub με την ελεύθερη άδεια AGPL-3.
Στο έργο στο GitHub:
Odoo 19 Bank Statement Matcher
Από την εισαγωγή τραπεζικών αντιγράφων έως το σωστό τιμολόγιο
Με το ήδη δημοσιευμένο έργο μας Odoo 19 Bank Statement Import μπορούν να διαβαστούν στο Odoo 19 Community διάφορες μορφές τραπεζικών αντιγράφων. Σε αυτές περιλαμβάνονται, μεταξύ άλλων, τα CAMT.053, CAMT.054, OFX και SWIFT MT940.
Ο νέος Bank Statement Matcher συμπληρώνει αυτή την εισαγωγή με το επόμενο καθοριστικό βήμα εργασίας:
Ποια εισαγόμενη τραπεζική κίνηση ανήκει σε ποιο ανοιχτό στοιχείο;
Η ενότητα αναζητά ανοιχτές απαιτήσεις και υποχρεώσεις, αξιολογεί πιθανές αντιστοιχίσεις και δείχνει στους χρήστες γιατί προτείνεται μια συγκεκριμένη αντιστοίχιση. Η πρόταση μπορεί να ελεγχθεί, να επιβεβαιωθεί, να διορθωθεί ή να αντικατασταθεί με χειροκίνητη επιλογή.
Έτσι προκύπτει για το Odoo 19 Community μια συνεχής ροή εργασίας:
Εισαγωγή τραπεζικού αντιγράφου
εντοπισμός πιθανών αντιστοιχίσεων
συλλογικός έλεγχος των προτάσεων
αποδοχή των σαφών αντιστοιχίσεων
χειροκίνητη επεξεργασία των ασαφών περιπτώσεων
Τι μπορεί να κάνει ο Odoo 19 Bank Statement Matcher
Η ενότητα αναπτύχθηκε για πρακτική χρήση στη λογιστική. Υποστηρίζει, μεταξύ άλλων, τις ακόλουθες λειτουργίες:
αναζήτηση κατάλληλων τιμολογίων, τιμολογίων προμηθευτών, πιστωτικών σημειωμάτων και πληρωμών
αυτόματος εντοπισμός προτάσεων αντιστοίχισης κατά τη δημιουργία μιας τραπεζικής γραμμής
κατανοητή εμφάνιση του κανόνα αντιστοίχισης που χρησιμοποιήθηκε και του βαθμού βεβαιότητάς του
νέα αναζήτηση σε μεταγενέστερη χρονική στιγμή
μεμονωμένη αντιστοίχιση ή από κοινού επεξεργασία πολλών τραπεζικών γραμμών
χειροκίνητη επιλογή ανοιχτού στοιχείου όταν καμία πρόταση δεν ταιριάζει
ανάκληση μιας ήδη πραγματοποιηθείσας αντιστοίχισης
εντοπισμός πολλών ισοδύναμων αντιστοιχίσεων χωρίς αυθαίρετη απόφαση
υποδείξεις για προσφορές ή παραγγελίες για τις οποίες δεν υπάρχει ακόμη ανοιχτό λογιστικό στοιχείο
προαιρετική άμεση μεταβίβαση από την εισαγωγή τραπεζικών αντιγράφων OCA στην προβολή αντιστοίχισης
γερμανική μετάφραση με αγγλικό πηγαίο κείμενο
Η κεντρική επισκόπηση είναι προσβάσιμη στο Odoo στο Λογιστική → Λογιστική → Αντιστοίχιση τραπεζικών γραμμών. Εκεί μπορούν να αναζητηθούν και να επεξεργαστούν από κοινού οι ακόμη ανοιχτές τραπεζικές γραμμές.
Κατανοητή αντιστοίχιση αντί για μαύρο κουτί
Στα οικονομικά δεδομένα δεν αρκεί να προτείνεται απλώς κάποια αντιστοίχιση. Οι χρήστες πρέπει να μπορούν να καταλάβουν γιατί μια τραπεζική κίνηση πρέπει να ταιριάζει με ένα συγκεκριμένο έγγραφο.
Ο Bank Statement Matcher λειτουργεί γι’ αυτό με σαφώς καθορισμένους κανόνες και διάφορα επίπεδα εμπιστοσύνης:
| Εμπιστοσύνη | Κανόνας | Σημασία |
|---|---|---|
| 100 | Αναφορά | Βρέθηκε στο κείμενο της κίνησης ένας αριθμός εγγράφου, μια αναφορά πληρωμής ή μια αναφορά προέλευσης. |
| 80 | Συνεργάτης και ποσό | Ο επιχειρηματικός συνεργάτης και το ανοιχτό ποσό συμφωνούν. |
| 60 | Μοναδικό ποσό | Το ποσό ταιριάζει ακριβώς με ένα μόνο ανοιχτό στοιχείο. |
| 30 | Συνεργάτης | Ο συνεργάτης συμφωνεί, το ποσό όμως όχι· αυτό είναι μόνο μια ένδειξη. |
Για κάθε ημερολόγιο μπορεί να οριστεί από ποιο επίπεδο εμπιστοσύνης και πάνω μια σαφής πρόταση μπορεί να γίνει αποδεκτή μέσω της μαζικής ενέργειας. Οι ασθενέστερες αντιστοιχίσεις παραμένουν ορατές, αλλά πρέπει να ελεγχθούν και να επιβεβαιωθούν μία προς μία.
Σημαντικό εδώ: Η ενότητα δεν καταχωρίζει εν αγνοία του χρήστη στο παρασκήνιο. Δημιουργεί προτάσεις. Η αντιστοίχιση γίνεται μόνο με συνειδητή ενέργεια του χρήστη – είτε μεμονωμένα είτε μέσω της ελεγχόμενης μαζικής επεξεργασίας.
Λαμβάνονται υπόψη και δύσκολες αναφορές τράπεζας
Οι τράπεζες δεν μεταφέρουν πάντα τις αναφορές πληρωμής σε ενιαία μορφή. Ένας αριθμός τιμολογίου μπορεί να συνδέεται με ονόματα, ψηφία ή άλλα στοιχεία. Οι διαχωριστικοί χαρακτήρες μπορεί να λείπουν ή να εμφανίζονται διαφορετικά από ό,τι στο αρχικό έγγραφο.
Ο Matcher κανονικοποιεί γι’ αυτό τις τιμές σύγκρισης και λαμβάνει υπόψη και τις μεταβάσεις μεταξύ γραμμάτων και ψηφίων. Έτσι οι αναφορές μπορούν να αναγνωριστούν, για παράδειγμα, ακόμη και όταν έχουν προστεθεί απευθείας δίπλα σε άλλο περιεχόμενο στο κείμενο της τράπεζας.
Η αναζήτηση γίνεται σκόπιμα από το έγγραφο του Odoo προς το κείμενο της τράπεζας. Έτσι αποφεύγεται οι σύντομες, γενικές ακολουθίες ψηφίων από το κείμενο της κίνησης να οδηγούν σε μεγάλο αριθμό ακατάλληλων αντιστοιχίσεων.
Οι κανόνες δεν περιορίζονται ούτε σε συγκεκριμένη τράπεζα ούτε σε συγκεκριμένη χώρα ούτε σε σταθερό σχήμα αρίθμησης. Αυτό κάνει την ενότητα ενδιαφέρουσα και για άλλες εγκαταστάσεις Odoo 19 Community.
Γιατί είναι σημαντική μια νέα αναζήτηση
Δεν μπορεί να αντιστοιχιστεί κάθε τραπεζική πληρωμή ήδη κατά την εισαγωγή. Στην πράξη μια πληρωμή μπορεί να εισπραχθεί προτού δημιουργηθεί ή καταχωριστεί στο Odoo το αντίστοιχο τιμολόγιο. Και ένα τιμολόγιο προμηθευτή ή ένα πιστωτικό σημείωμα μπορεί να καταγραφεί μόλις αργότερα.
Γι’ αυτό οι τραπεζικές γραμμές μπορούν να ελεγχθούν ξανά σε μεταγενέστερη χρονική στιγμή με «Αναζήτηση εκ νέου». Μόλις υπάρξει το κατάλληλο ανοιχτό στοιχείο, μια τραπεζική κίνηση που προηγουμένως δεν μπορούσε να αντιστοιχιστεί μπορεί να γίνει σαφής αντιστοίχιση.
Εάν το κείμενο της τράπεζας αναφέρει, για παράδειγμα, μια προσφορά ή μια παραγγελία για την οποία δεν υπάρχει ακόμη τιμολόγιο και επομένως ούτε ανοιχτό στοιχείο, η ενότητα δίνει μια χρήσιμη υπόδειξη. Αντί να εμφανίσει απλώς «καμία αντιστοίχιση», επισημαίνει ότι ίσως πρέπει πρώτα να δημιουργηθεί το τιμολόγιο.
Η ασφάλεια έχει προτεραιότητα
Μια εσφαλμένη αυτόματη αντιστοίχιση μπορεί να προκαλέσει στη λογιστική περισσότερη δουλειά από μια ανοιχτή τραπεζική γραμμή. Ο Bank Statement Matcher σχεδιάστηκε γι’ αυτό σκόπιμα με προσοχή:
Αντιστοιχίσεις με ίδια βαθμολογία δεν επιλύονται αυθαίρετα.
Οι ασθενείς προτάσεις εμφανίζονται, αλλά δεν γίνονται αποδεκτές μέσω της μαζικής ενέργειας.
Πριν από την αντιστοίχιση ελέγχεται ξανά αν το ανοιχτό στοιχείο εξακολουθεί να είναι διαθέσιμο.
Ένα στοιχείο που εν τω μεταξύ έχει εξοφληθεί από άλλον χρήστη δεν επεξεργάζεται ξανά.
Κάθε τραπεζική γραμμή επεξεργάζεται μέσα σε δικό της σημείο αποθήκευσης (savepoint) της βάσης δεδομένων.
Ένα σφάλμα σε μία τραπεζική γραμμή δεν εμποδίζει την επεξεργασία όλων των υπόλοιπων γραμμών.
Ελλιπή παλαιά δεδομένα χωρίς έγκυρη ημερομηνία καταχώρισης αποκλείονται για λόγους ασφαλείας.
Έτσι η ενότητα υποστηρίζει την αυτοματοποίηση εκεί όπου εξοικονομεί χρόνο και απαιτεί χειροκίνητη απόφαση εκεί όπου η κατάσταση των δεδομένων δεν είναι αρκετά σαφής.
Συνεργασία με το Bank Statement Import μας
Το αποθετήριο αποτελείται από δύο ενότητες:
| Ενότητα | Λειτουργία |
|---|---|
| account_statement_matcher | Παρέχει την ίδια την αναζήτηση, αξιολόγηση, έλεγχο και αντιστοίχιση. Απαιτεί μόνο την ενότητα account του Odoo. |
| account_statement_matcher_import_oca | Προαιρετική γέφυρα προς την εισαγωγή τραπεζικών αντιγράφων OCA. Μετά από μια εισαγωγή ανοίγει απευθείας η προβολή αντιστοίχισης με τις νεοεισαχθείσες γραμμές. |
Η προαιρετική γέφυρα εγκαθίσταται αυτόματα όταν υπάρχουν τόσο ο Matcher όσο και η ενότητα OCA account_statement_import_file. Η εισαγωγή τραπεζικών αντιγράφων και η επακόλουθη αντιστοίχιση συνδέονται έτσι απευθείας μεταξύ τους.
Περισσότερα για την εισαγωγή των υποστηριζόμενων τραπεζικών μορφών θα βρείτε στο άρθρο μας:
Odoo 19 Bank Statement Import – οι επεκτάσεις μας για το Odoo Community
Εγκατάσταση στο Odoo 19 Community
Η εγκατάσταση γίνεται όπως σε μια συνηθισμένη πρόσθετη ενότητα του Odoo:
Αντιγράψτε τους φακέλους των ενοτήτων σε μια ρυθμισμένη διαδρομή addons του Odoo.
Ενημερώστε τη λίστα εφαρμογών στο Odoo.
Εγκαταστήστε την ενότητα Bank Statement Matcher.
Ορίστε για κάθε τραπεζικό ημερολόγιο αν θα αναζητούνται προτάσεις κατά την εισαγωγή.
Επιλέξτε την επιθυμητή ελάχιστη τιμή για την ελεγχόμενη μαζική αντιστοίχιση.
Η ενότητα αναπτύχθηκε και δοκιμάστηκε για το Odoo 19.0 Community. Πριν από τη χρήση με άλλες εκδόσεις Odoo πρέπει να ελεγχθούν ιδιαίτερα οι αλλαγές στις εσωτερικές λειτουργίες λογιστικής και συμφωνίας.
Όπως με κάθε επέκταση στον λογιστικό τομέα, συνιστούμε να ελέγξετε την εγκατάσταση πρώτα σε δοκιμαστικό περιβάλλον με αντίγραφο της δικής σας βάσης δεδομένων και τυπικά τραπεζικά αντίγραφα.
Δωρεάν και ανοιχτού κώδικα για την κοινότητα του Odoo
Εμείς στη Biricon IT Services GmbH αναπτύσσουμε λύσεις αρχικά για συγκεκριμένες απαιτήσεις από τη δική μας λειτουργία. Όταν από αυτό προκύπτει μια ενότητα γενικής χρήσης, δεν θέλουμε να την κρύψουμε σε μία μόνο εγκατάσταση.
Ο Odoo 19 Bank Statement Matcher διατίθεται γι’ αυτό δωρεάν ως έργο ανοιχτού κώδικα. Ο πηγαίος κώδικας μπορεί να εξεταστεί, να ελεγχθεί, να προσαρμοστεί και να αναπτυχθεί περαιτέρω στο πλαίσιο της άδειας AGPL-3.
Στόχος μας δεν είναι να αυτοματοποιήσουμε τυφλά όσο το δυνατόν περισσότερες λογιστικές αποφάσεις. Θέλουμε να μειώσουμε την επαναλαμβανόμενη εργασία και ταυτόχρονα να φροντίσουμε ώστε οι οικονομικές αντιστοιχίσεις να παραμένουν κατανοητές και ελέγξιμες.
Έτσι κατανοούμε την ουσιαστική ανάπτυξη ανοιχτού κώδικα: να λύνουμε ένα πραγματικό πρόβλημα, να τεκμηριώνουμε διαφανώς τη λύση και στη συνέχεια να τη διαθέτουμε στην κοινότητα.
Έργο, πηγαίος κώδικας και συμμετοχή
Ο πλήρης πηγαίος κώδικας, οι οδηγίες εγκατάστασης και η τεχνική τεκμηρίωση είναι διαθέσιμα στο GitHub:
Άνοιγμα του Odoo 19 Bank Statement Matcher στο GitHub
Χαιρόμαστε για εμπειρίες από την πράξη, αναφορές σφαλμάτων, προτάσεις βελτίωσης και συνεισφορές από την κοινότητα του Odoo.
Δωρεάν. Κατανοητό. Ανοιχτού κώδικα. Για το Odoo 19 Community.