Импортирането на банкови извлечения в 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 | Осигурява същинското търсене, оценяване, проверка и съпоставяне. Изисква само модула на Odoo account. |
| 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 Community
Ние от Biricon IT Services GmbH първо разработваме решения за конкретни изисквания от собствената си дейност. Когато от това се получи модул с общо приложение, не искаме да го крием в една-единствена инсталация.
Затова Odoo 19 Bank Statement Matcher е достъпен безплатно като проект с отворен код. Изходният код може да се разглежда, проверява, адаптира и развива в рамките на лиценза AGPL-3.
Целта ни не е да автоматизираме слепешком възможно най-много счетоводни решения. Искаме да намалим повтарящата се работа и същевременно да гарантираме, че финансовите съпоставяния остават проследими и контролируеми.
Така разбираме смислената разработка с отворен код: да се реши реален проблем, решението да се документира прозрачно и след това да се предостави на общността.
Проект, изходен код и съдействие
Пълният изходен код, указанията за инсталиране и техническата документация са достъпни в GitHub:
Отваряне на Odoo 19 Bank Statement Matcher в GitHub
Радваме се на практически опит, съобщения за грешки, предложения за подобрения и приноси от общността на Odoo.
Безплатно. Проследимо. Отворен код. За Odoo 19 Community.