За нас отвореният код означава споделяне на знания и решения
Не разработваме софтуер само за собствените си нужди – искаме да предоставяме на общността решения, които могат да бъдат полезни и на други потребители на Odoo.
Затова публикувахме нашите модули за импортиране на банкови извлечения в Odoo 19 Community като проект с отворен код.
Целият проект е достъпен безплатно в GitHub:
Odoo 19 Bank Statement Import в GitHub
Целта ни е съвсем проста:
Да създадем работещ и възможно най-лесен начин за импортиране на банкови извлечения в Odoo 19 Community – без необходимост от платено разширение.
Защо изобщо създадохме собствен проект?
Odoo предлага широки възможности за счетоводство и обработка на банкови операции. При импортирането на банкови извлечения обаче решаващо значение имат форматите, които съответната банка предоставя.
В практиката се срещат формати като:
- CAMT.053
- CAMT.054
- OFX
- SWIFT MT940
Не всички версии на Odoo поддържат всеки от тези формати в еднаква степен.
Особено при преминаването към Odoo 19 забелязахме липсващи функционалности, които могат да бъдат от съществено значение за съществуващите инсталации.
Затова, вместо да решаваме тези проблеми само за собствената си инсталация, решихме да направим решението общодостъпно и безплатно.
Odoo 19 Community – импортиране на банкови извлечения
Нашето хранилище е базирано на съответните компоненти на OCA за Odoo 19 и ги допълва с функции, необходими за практическата работа.
Проектът включва, наред с други неща, основната инфраструктура за работа с банкови извлечения и импортиране на файлове, както и парсери за различни банкови формати.
Така например могат да се обработват следните формати:
| Формат | Поддръжка |
|---|---|
| CAMT.053 | Да |
| CAMT.054 | Да |
| OFX | Да |
| OFX със съпоставяне по ACCTID | Да |
| SWIFT MT940 | Да |
По този начин проектът обхваща голяма част от традиционните формати за банкови извлечения.
Поддръжка на OFX за Odoo 19
Една от отличителните характеристики на нашия проект е поддръжката на OFX.
Поддръжката на OFX беше налична в по-старите версии на Odoo/OCA, но беше премахната от клона OCA-19.0. Нашият проект я възстановява за Odoo 19 заедно с останалите модули за импортиране.
Това е особено полезно за предприятия, чиито банки все още предлагат електронни банкови извлечения във формат OFX.
При това не искахме просто да разработим изцяло ново, изолирано решение.
Вместо това използвахме съществуващата основа с отворен код и обединихме компонентите ѝ за работа с Odoo 19.
Допълнително: SWIFT MT940
Друга функция на нашия проект е импортирането на SWIFT MT940.
MT940 е утвърден формат за електронни банкови извлечения и все още се използва най-вече от банки и в по-стари банкови интеграции.
Според документацията на нашия проект за актуалните версии на Odoo няма съответно решение от OCA.
Затова разработихме собствен модул за тази цел:
account_statement_import_mt940
С него и файловете във формат MT940 могат да се обработват директно в Odoo 19.
Модулна структура
Съзнателно решихме да не създаваме монолитно разширение.
Функциите са разпределени в отделни модули за Odoo:
- account_statement_base
- account_statement_import_base
- account_statement_import_file
- account_statement_import_camt
- account_statement_import_camt54
- account_statement_import_ofx
- account_statement_import_ofx_by_acctid
- account_statement_import_mt940
Така потребителите могат да инсталират точно компонентите, от които действително се нуждаят.
Това е и в духа на отворения код: едно решение не бива да се усложнява ненужно само защото отделните потребители имат различни изисквания.
Безплатно за Odoo Community
Може би най-важното:
Софтуерът е достъпен безплатно.
Предоставяме разработените от нас разширения на Odoo Community.
За използването на нашите разширения не се заплаща лицензионна такса.
Изходният код е публично достъпен в GitHub, където може да бъде разглеждан, използван, адаптиран и доразвиван.
Проектът се разпространява под лиценза AGPL-3, в съответствие с използваната основа от OCA.
Защо го правим?
Отвореният код може да се развива устойчиво само ако хората не просто вземат, а и дават нещо в замяна.
Odoo Community Association (OCA) следва именно тази идея и предоставя множество разширения за Odoo с отворен код. И за импортирането на банкови извлечения има богат набор от модули, разработени от общността.
Искаме и ние да дадем своя принос.
Самите ние се възползваме от проекти с отворен код.
Затова и ние даваме нещо в замяна.
При това една разработка с отворен код не е задължително да бъде огромна софтуерна рамка или изцяло нова ERP система.
Понякога е достатъчно малко разширение, което решава конкретен проблем.
Ако след това това решение спести работа на десет, сто или хиляда други потребители на Odoo, усилията по разработката вече са си стрували.
За Odoo Community – не само за нашата собствена инсталация
При разработката за нас беше важно модулите да не са пригодени единствено за собствената ни среда.
Искаме хранилището да е полезно и за други инсталации на Odoo 19 Community.
Затова модулите са събрани в общо публично достъпно хранилище и могат да се използват независимо от нашата собствена инсталация на Odoo.
Разбира се, всяка банка може да има свои особености в зависимост от формата за експортиране. Затова приветстваме и обратната връзка, сигналите за грешки и подобренията от общността.
Отвореният код се развива благодарение на участието на общността
Проектът съвсем съзнателно не е замислен като завършена разработка.
Всеки, който открие грешка, има допълнителен сценарий на употреба или иска да допринесе с подобрение, може да се включи пряко в проекта.
Това е едно от големите предимства на отворения код:
Развитието на едно решение не е задължително да зависи само от първоначалния му разработчик.
Един потребител може да стане разработчик.
Един разработчик може да допринесе с подобрение.
А след това това подобрение става достъпно и за всички останали.
Инсталиране и изходен код
Пълният изходен код, структурата на модулите и указанията за инсталиране са достъпни в GitHub:
GitHub – Odoo 19 Bank Statement Import
За импортиране на OFX и MT940 са необходими и съответните библиотеки за Python. Конкретните зависимости също са описани в хранилището.
Нашият принос към общността на Odoo
С този проект искаме да отправим едно малко послание:
Не е нужно софтуерът винаги да се продава, за да има стойност разработването му.
Понякога най-голямата полза е в това едно решение да бъде свободно достъпно, за да могат възможно най-много хора да го използват и доразвиват.
На първо място разработваме софтуера, защото самите ние имаме нужда от решение.
Ако впоследствие от това се получи полезно разширение за други потребители на Odoo, с удоволствие го предоставяме на общността.
Точно затова публикувахме модулите Odoo 19 Bank Statement Import.
Безплатно. С отворен код. За общността на Odoo.
Проектът в GitHub
Към проекта в GitHub: Odoo 19 Bank Statement Import
Приветстваме обратната връзка, сигналите за проблеми, предложенията за подобрения и, разбира се, приноса на общността.
Отвореният код дава най-добри резултати, когато работим заедно.