Էլեկտրոնային հաշիվները ժամանակակից հաշվապահության անբաժան մասն են
Հաշվապահության թվայնացումը շարունակվում է։ Էլեկտրոնային հաշիվների ձևաչափերը վաղուց արդեն ավելին են, քան էլ. փոստով ուղարկվող PDF ֆայլը։
Իրական էլեկտրոնային հաշիվը պարունակում է կառուցվածքավորված տվյալներ, որոնք հաշվապահական և ERP համակարգերը կարող են ավտոմատ մշակել։
Odoo 19 Community-ի համար մեր նոր բաց կոդով նախագծով մենք ուզում ենք հենց այստեղ սկսել։
Մենք մշակել ենք մի քանի ընդլայնումներ, որոնք անվճար տրամադրում ենք Odoo համայնքին։
Նախագիծը հրապարակայնորեն հասանելի է GitHub-ում՝
Odoo 19 Invoice E-Files GitHub-ում
Մեր ուշադրության կենտրոնում մասնավորապես Ավստրիան է, սակայն լուծման մի մասը հետաքրքիր է նաև Ավստրիայից դուրս գտնվող ընկերությունների համար։
Էլեկտրոնային հաշիվների երեք մոդուլ
Նախագիծն այժմ բաղկացած է երեք հիմնական բաղադրիչից՝
- ebInterface 6.1 Ավստրիայի համար
- ZUGFeRD էլեկտրոնային հաշիվների համար
- ավտոմատ փոխանցում e-Rechnung.gv.at-ին
Այսպիսով մենք էլեկտրոնային հաշիվների հետ կապված տարբեր պահանջները միավորում ենք Odoo 19 Community-ի համար նախատեսված մեկ բաց կոդով նախագծում։
ebInterface 6.1՝ ավստրիական հաշվի ձևաչափը
Մեր մշակման առանցքային ուղղություններից մեկը ebInterface 6.1-ն է։
ebInterface-ը կառուցվածքավորված էլեկտրոնային հաշիվների ավստրիական ստանդարտ ձևաչափն է։
Մեր մոդուլը՝
l10n_at_ebinterface
Odoo-ի հաճախորդի հաշվից կամ կրեդիտ-նոտայից ստեղծում է համապատասխան ebInterface-6.1-XML։
Այս ընթացքում Odoo-ի հաշվից XML կառուցվածք են փոխանցվում, ի թիվս այլոց, հետևյալ կարևոր տվյալները՝
- Հաշիվ դուրս գրող
- Հաշիվ ստացող
- Հաշվի դիրքեր
- Հարկեր
- Վճարման տվյալներ
- Բանկային տվյալներ
- Հաշվի տվյալներ
Ստեղծված XML ֆայլն ուղղակիորեն կապվում է հաշվի հետ։
Ինչու՞ ենք մշակել առանձին մոդուլ
Մշակման ընթացքում մենք պարզեցինք, որ Odoo 19 Community-ի համար այս պահին չկա ավստրիական բնօրինակ ebInterface ստանդարտին համապատասխան ո՛չ Odoo-ի միջուկի, ո՛չ OCA մոդուլ։
Հենց այստեղ էլ մենք ուզեցինք սկսել։
Ավստրիական լուծումը միայն մեր սեփական տեղադրման համար մշակելու փոխարեն մենք այն իրականացրինք որպես առանձին բաց կոդով մոդուլ։
Այդպես Odoo-ի մնացած համայնքը նույնպես կարող է օգուտ քաղել դրանից։
ZUGFeRD ավտոմատ կերպով յուրաքանչյուր հաշվի հետ
Մեր նախագծի երկրորդ հիմնական ուղղությունը ZUGFeRD-ն է։
ZUGFeRD-ը համատեղում է PDF հաշիվը և կառուցվածքավորված XML հաշիվը։
Արդյունքը այսպես կոչված հիբրիդ հաշիվն է. մարդու համար հաշիվը մնում է ընթեռնելի PDF-ի տեսքով, իսկ ծրագրային ապահովումը կարող է ավտոմատ մշակել դրա մեջ պարունակվող կառուցվածքավորված հաշվի տվյալները։
Odoo 19-ը սկզբունքորեն արդեն աջակցում է ZUGFeRD-ին կամ CII-ին։
Սակայն գործնականում կան որոշ սահմանափակումներ։
Մեր մոդուլը՝
account_invoice_zugferd_ebinterface_auto
ուստի սկսում է հենց այստեղից։
ZUGFeRD-ն այլևս ոչ միայն որպես տարբերակ
Մենք ուզում էինք հնարավորինս ավտոմատացված գործընթաց։
Հաճախորդին ուղարկվող հաշվի դեպքում դրա համար չի ստուգվում՝ արդյոք տվյալ հաճախորդն առանձին կարգավորված է ZUGFeRD-ի համար։
Փոխարենը ZUGFeRD-ն ավտոմատ կերպով օգտագործվում է հաճախորդների հաշիվների և կրեդիտ-նոտաների համար։
Բացի այդ, ստեղծված ebInterface-XML-ը կցվում է հաշվին որպես դրա բաղադրիչ։
Այսպիսով ստացվում է անընդհատ գործընթաց՝
Odoo-ի հաշիվ → PDF → կառուցվածքավորված e-հաշիվ → ուղարկում
առանց այն բանի, որ օգտատերը յուրաքանչյուր հաշվի դեպքում լրացուցիչ քայլեր կատարի։
Մենք լրացնում ենք նաև Odoo 19 Community-ի բացերը
Իրականացման ընթացքում մենք հանդիպեցինք Odoo 19-ի իրականացման մի քանի առանձնահատկությունների։
Ի թիվս այլոց, CII-exporter-ում կան կախվածություններ, որոնք որոշակի երկրների տեղադրումներից դուրս կարող են խնդիրներ առաջացնել։
Մեր մոդուլը վերացնում է այս գործնական սահմանափակումներից մի քանիսը։
Դրանց թվում են, ի թիվս այլոց՝
- Deferred-Revenue ժամանակահատվածների բացակայող դաշտեր
- PDF/A-3 փոխակերպման երկրային սահմանափակում
- առկա հաշիվներում բացակայող կամ չնշված բանկային տվյալներ
Այսպիսով ZUGFeRD-ը պետք է հուսալիորեն կիրառվի նաև այն ընկերությունների կողմից, որոնք գտնվում են սկզբնապես նախատեսված երկրային համակցություններից դուրս։
e-Rechnung.gv.at՝ ուղղակի փոխանցում Ավստրիայի պետությանը
Երրորդ բաղադրիչը հատկապես հետաքրքիր է այն ընկերությունների համար, որոնք հաշիվներ են դուրս գրում պետական պատվիրատուներին։
Հետևյալ մոդուլի միջոցով՝
l10n_at_erechnung_gv_at
ebInterface հաշիվը կարող է ուղղակիորեն փոխանցվել Ավստրիայի e-Rechnung.gv.at վեբ ծառայությանը։
Այսպիսով հաշվի պարզ ստեղծումը վերածվում է էլեկտրոնային հաշվի ավտոմատացված գործընթացի։
Գործընթացը կարող է, օրինակ, լինել այսպիսին՝
Ստեղծել հաշիվ Odoo-ում
↓
Ստեղծել ebInterface XML
↓
Ուղարկել հաշիվը
↓
ebInterface-ը ավտոմատ փոխանցել e-Rechnung.gv.at-ին
Այսպիսով, այլապես ձեռքով կատարվող գործընթացն ուղղակիորեն ինտեգրվում է Odoo-ում։
Ավտոմատ փոխանցում միայն անհրաժեշտ հաճախորդների համար
e-Rechnung.gv.at-ին փոխանցումը չի ակտիվացվում բոլոր հաճախորդների համար միանգամից։
Փոխարենը այն կարելի է ակտիվացնել տվյալ ավստրիական հաճախորդի մոտ։
Դրա համար գրանցվում են անհրաժեշտ տվյալներ, ինչպիսիք են, օրինակ՝
- Մատակարարի համար
- Գնորդների խումբ / մասնաճյուղի համար
- Պատվերի հղում
հաճախորդի մոտ։
Մոդուլը ստուգում է նաև, արդյոք ակտիվացման նախապայմանները բավարարված են։
Փորձնական և արտադրական ռեժիմ
e-Rechnung.gv.at-ի համար կարելի է ընտրել փորձնական կամ արտադրական միջավայր։
USP վեբ ծառայության մուտքի տվյալները գրանցվում են Odoo-ի կարգավորումներում։
Այսպիսով ինտեգրացիան կարելի է նախ նախապատրաստել փորձնական միջավայրում, նախքան այն կօգտագործվի հաշիվների իրական ուղարկման համար։
Ավտոմատացում՝ լրացուցիչ աշխատանքի փոխարեն
Մշակման ժամանակ մեր նպատակը չէր հաշվապահին ավելի շատ կոճակներ տալը։
Ընդհակառակը։
Գաղափարը հետևյալն է՝
Հնարավորինս քիչ ձեռքի աշխատանք։
Հաշիվը ստեղծվում է Odoo-ում։
Անհրաժեշտ կառուցվածքավորված ձևաչափերը ստեղծվում են ավտոմատ կերպով։
Ուղարկելիս համապատասխան ֆայլերը ավտոմատ կերպով կցվում են։
Իսկ համապատասխանաբար կարգավորված ավստրիական հաճախորդների դեպքում հաշիվը կարող է լրացուցիչ ավտոմատ փոխանցվել e-Rechnung.gv.at-ին։
Հենց այս ավտոմատացումն է տարբերակում պարզ ֆայլի արտահանումը և իսկապես ինտեգրված e-հաշիվների լուծումը։
Տվյալների որակը պարզապես չի թաքցվում
Մեր իրականացման կարևոր կետն է նաև հետևյալը՝
Էլեկտրոնային հաշիվը կարող է լինել միայն այնքան լավը, որքան այն տվյալները, որոնցից այն ստեղծվում է։
Ուստի մենք չենք փորձում բացակայող պարտադիր տվյալները լուռ փոխարինել որևէ արժեքներով։
Եթե, օրինակ, բացակայում են ZUGFeRD-ի կամ ebInterface-ի համար պարտադիր տվյալները, Odoo-ն պետք է դա ցույց տա օգտատիրոջը։
Դրանց թվում են, օրինակ՝
- հաճախորդի մոտ երկիրը նշված չէ
- հաշվի դիրքերում բացակայում են հարկային տվյալները
- բանկային տվյալները բացակայում են
Մեր կարծիքով դա ավելի լավ է, քան ձևականորեն ստեղծված, սակայն բովանդակությամբ սխալ էլեկտրոնային հաշիվ ուղարկելը։
Բաց կոդ Odoo համայնքի համար
Այս նախագիծը նույնպես մենք տրամադրում ենք անվճար՝ որպես բաց կոդ։
Ինչու՞։
Որովհետև մենք ինքներս օգուտ ենք քաղում բաց կոդով ծրագրերից։
Odoo Community-ն գերազանց հիմք է ERP-ի, հաշվապահության և ընկերության գործընթացների համար։ Եթե ամենօրյա աշխատանքում մեզ որևէ գործառույթ պակասում է, մենք այն մշակում ենք։
Իսկ եթե լուծումը կարող է հետաքրքիր լինել նաև այլ ընկերությունների համար, մենք այն տրամադրում ենք համայնքին։
Մեզ համար սա կենդանի բաց կոդն է։
Ավստրիական ուշադրություն, բայց ոչ միայն Ավստրիայի համար
Նախագիծն ունի հստակ ավստրիական շեշտադրում։
ebInterface-ը և e-Rechnung.gv.at-ը հետաքրքիր են հատկապես ավստրիական ընկերությունների համար։
ZUGFeRD-ի աջակցությունը, ընդհակառակը, կարևոր է նաև Ավստրիայից դուրս գտնվող ընկերությունների համար։
Այսպիսով նախագիծը բացառապես ավստրիական լուծում չէ։
Հենց կառուցվածքավորված հաշվի տվյալների և ավտոմատ ստեղծված PDF/A-3 փաստաթղթի համադրությունը կարող է հետաքրքիր լինել նաև Odoo-ի այլ տեղադրումների համար։
Odoo 19 Community-ի համար
Մոդուլները մշակվել են Odoo 19 Community-ի համար։
Repository-ն այժմ պարունակում է՝
- l10n_at_ebinterface
- account_invoice_zugferd_ebinterface_auto
- l10n_at_erechnung_gv_at
Մոդուլները կախված են միմյանցից, այնպես որ կիրառման դեպքից կախված պետք է տեղադրել միայն անհրաժեշտ բաղադրիչները։
Մեր ներդրումը համայնքում
Մենք այս նախագիծը դիտարկում ենք ոչ թե որպես պատրաստի առևտրային ծրագրային ապահովում, այլ որպես ներդրում Odoo համայնքի զարգացման մեջ։
Գուցե ինչ-որ մեկին պետք է միայն ebInterface-ը։
Գուցե մեկ այլ ընկերության պետք է ZUGFeRD։
Գուցե ինչ-որ ընկերություն պետք է կանոնավոր հաշիվներ ուղարկի պետական պատվիրատուներին e-Rechnung.gv.at-ի միջոցով։
Երեք դեպքերում էլ մեր նախագիծը կարող է հիմք ապահովել։
Իսկ քանի որ սկզբնական կոդը բաց է, յուրաքանչյուր օգտատեր կարող է ստուգել լուծումը, հարմարեցնել և զարգացնել այն։
Բաց կոդ նշանակում է՝ միասին լավանալ
Մենք համոզված ենք, որ բաց կոդը հատկապես ERP համակարգերում մեծ առավելություն է տալիս։
Ընկերություններն ունեն տարբեր պահանջներ։
Լուծումը, որը մի ընկերության համար կատարյալ է աշխատում, մյուսի համար գուցե պետք է հարմարեցվի։
Բաց սկզբնական կոդի դեպքում դա հնարավոր է։
Ուստի մենք ուրախ կլինենք՝
- Արձագանք
- Bug Reports
- Բարելավման առաջարկներ
- Pull Requests
- աջակցվող լրացուցիչ կիրառման դեպքեր
Լավ համայնքային լուծումը պարտադիր չէ, որ ծնվի առաջին commit-ից։
Այն ծնվում է բազմաթիվ օգտատերերի և մշակողների կողմից շարունակական զարգացման արդյունքում։
Օգտագործեք նախագիծն անվճար
Ամբողջական սկզբնական կոդը հրապարակայնորեն հասանելի է GitHub-ում՝
GitHub – Odoo 19 Invoice E-Files
Այնտեղ կան նաև տեղադրման ցուցումները և առանձին մոդուլների փաստաթղթերը։
Ավստրիական e-Rechnung.gv.at վեբ ծառայության ինտեգրման համար լրացուցիչ անհրաժեշտ է Python-ի Zeep գրադարանը։
Մեր ներդրումը բաց Odoo աշխարհում
Այս նախագծով մենք ուզում ենք ցույց տալ, որ նույնիսկ փոքր սեփական մշակումները կարող են արժեք ստեղծել ամբողջ համայնքի համար։
Մենք մոդուլները սկզբում մշակել էինք կոնկրետ պահանջներ լուծելու համար։
Այժմ այս լուծումներն անվճար տրամադրում ենք Odoo 19 Community-ի բոլոր օգտատերերին։
Այսպիսով անհատական մշակումը կարող է վերածվել համայնքային լուծման։
Odoo 19։ Բաց կոդ։ Էլեկտրոնային հաշիվներ։ Ավստրիա։ Եվ անվճար համայնքի համար։
Հենց դրա համար էլ մենք հրապարակեցինք այս նախագիծը։