Імпарт банкаўскіх выпісак у 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 наўмысна працуе асцярожна:
Пры аднолькавай ацэнцы супадзенняў адвольны выбар не робіцца.
Варыянты з нізкім узроўнем даверу паказваюцца, але не прымяняюцца пры масавай апрацоўцы.
Перад супастаўленнем паўторна правяраецца, ці адкрытая пазіцыя ўсё яшчэ даступная.
Пазіцыя, якую тым часам ужо закрыў іншы карыстальнік, паўторна не апрацоўваецца.
Кожны радок банкаўскай выпіскі апрацоўваецца ў межах асобнай кропкі захавання базы даных.
Памылка ў адным радку банкаўскай выпіскі не перашкаджае апрацоўцы ўсіх астатніх радкоў.
Няпоўныя старыя даныя без карэктнай даты праводкі дзеля бяспекі выключаюцца з апрацоўкі.
Такім чынам, модуль падтрымлівае аўтаматызацыю там, дзе яна эканоміць час, і патрабуе рашэння карыстальніка там, дзе даныя недастаткова адназначныя.
Узаемадзеянне з нашым 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:
Скапіяваць папкі модуляў у адзін з наладжаных каталогаў дадатковых модуляў 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.
Бясплатна. Зразумела. Open Source. Для Odoo 19 Community.