52
XML és EDI alapú integrációs kapcsolat kialakítása SAP Business One rendszer és a kereskedelmi partnerek között. Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Mérnök informatikus MSc Buzsáky Andrea Témavezető: Hernádi Bálint Budapest, 2013.

XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

XML és EDI alapú integrációs

kapcsolat kialakítása

SAP Business One rendszer és a

kereskedelmi partnerek között.

Pázmány Péter Katolikus Egyetem

Információs Technológiai Kar

Mérnök informatikus MSc

Buzsáky Andrea

Témavezető: Hernádi Bálint

Budapest, 2013.

Page 2: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Nyilatkozat 2

Nyilatkozat

Alulírott Buzsáky Andrea, a Pázmány Péter Katolikus Egyetem Információs Technológiai

Karának hallgatója kijelentem, hogy ezt a diplomatervet meg nem engedett segítség nélkül,

saját magam készítettem, és a diplomamunkában csak a megadott forrásokat használtam fel.

Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más

forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a diplomamunkát

más szakon még nem nyújtottam be.

.......................................................................

Buzsáky Andrea

Page 3: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Tartalomjegyzék 3

Tartalomjegyzék

Nyilatkozat ................................................................................................................................. 2

Tartalomjegyzék ......................................................................................................................... 3

Tartalmi összefoglaló ................................................................................................................. 5

Abstract ...................................................................................................................................... 6

1. Bevezetés ............................................................................................................................ 7

2. Integrált vállalatirányítási rendszerek ................................................................................. 8

2.1. Az ERP kialakulása .................................................................................................... 8

2.2. Üzleti előnyök .......................................................................................................... 10

3. SAP Business One ............................................................................................................ 12

3.1. Az SAP története ...................................................................................................... 12

3.2. SAP Business One .................................................................................................... 12

3.3. Addonok ................................................................................................................... 18

4. Integrációs technológiák ................................................................................................... 22

4.1. XML ......................................................................................................................... 22

4.2. EDI ........................................................................................................................... 22

5. Integrációs feladatok ismertetése ...................................................................................... 24

5.1. ÁNYK adatexport ..................................................................................................... 24

5.2. EDI alapú dokumentumcsere .................................................................................... 34

6. Feladat megvalósítása: ÁNYK adatexport ....................................................................... 38

6.1. Felhasználói interfész ............................................................................................... 38

6.2. Lekérdezés ................................................................................................................ 38

6.3. Adatfeldolgozás ........................................................................................................ 41

6.4. XML export .............................................................................................................. 41

6.5. XML fájl mentése ..................................................................................................... 43

7. Feladat megvalósítása: EDI alapú dokumentumcsere ...................................................... 44

7.1. Felhasználói interfész ............................................................................................... 44

7.2. Adatok lekérdezése és feldolgozása ......................................................................... 45

7.3. Számlák elküldése .................................................................................................... 46

Page 4: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Tartalomjegyzék 4

Összefoglalás és kitekintés ....................................................................................................... 47

Köszönetnyilvánítás ................................................................................................................. 48

Rövidítések jegyzéke ................................................................................................................ 49

Irodalomjegyzék ....................................................................................................................... 50

Page 5: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Tartalmi összefoglaló 5

Tartalmi összefoglaló

Az informatika egyre nagyobb szerepet játszik életünkben. Szinte észrevétlenül lopódzott be

otthonainkba, munkahelyeinkre, segíti mindennapjainkat, és már-már elképzelhetetlennek

érezzük, hogyan is lehettünk meg nélküle.

Nem csak a mi életünkben, a vállalatoknál is nélkülözhetetlen a számítógépek használata, és

ma már nem elég ehhez néhány Excel tábla és egy e-mailcím. Olyan eszközre van szükség,

ami egymaga képes kezelni a vállalat minden egyes folyamatát, tárolni az összes adatot, és

szükség esetén ezekből az adatokból információt tud kinyerni.

Ebben segítenek az integrált vállalatirányítási rendszerek, mint például az SAP Business One,

amiről ebben a dolgozatomban írok. Ezeknek a rendszereknek nagy ereje, hogy amellett, hogy

lefedik a vállalatirányítás szinte valamennyi területét, további modulok beillesztését is

lehetővé teszik. Az SAP Business One-hoz is létezik fejlesztői eszköz, mellyel ezt

megtehetjük, a következőkben erre mutatok két példát.

Két olyan modul, úgynevezett addon fejlesztését mutatom be, mely lehetővé teszi, hogy az

SAP Business One-on kívüli rendszerekkel integrálódjunk: egy XML fájl exportját, amit aztán

a Nemzeti Adó- és Vámhivatal által kiadott ÁNYK programba importálhatunk, illetve egy

gyártó és kereskedő közötti EDI alapú számlaküldést.

Page 6: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Abstract 6

Abstract

Information technology is playing a greater and greater role in our lives. It sneaked into our

homes, workplaces, helps us in our everyday life, and today we cannot even understand how

we could have lived without our gadgets.

Not only in our lives are computers essential, but in companies as well, and managing a few

spreadsheets in Excel and having a company email address is not enough. We need more. We

need a tool that can manage each process of our company, store every data, and is able to

transform these data into information.

This is where enterprise resource planning systems can help. In this thesis I focus on SAP

Business One enterprise resource planning system. One of the great power of these systems –

besides covering almost each scope of the company management – is that they allow

integration of external modules. The SAP Business One as well has a development kit that

makes the development of such modules (so called addons) possible. In my thesis, I present

two addons.

These two addons help the integration with two external systems: the first one lets you export

an XML file, which can be imported into the ÁNYK software provided by the National Tax

and Customs Administration of Hungary, the other one is an EDI-based integration between a

manufacturer and a vendor.

Page 7: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Bevezetés 7

1. Bevezetés

Évtizedek óta tudjuk, hogy az üzleti életben az informatika használata jó szolgálatot tesz, s

mára már egyenesen elkerülhetetlenné vált. A számítógépek elterjedése óta használjuk őket, a

legkülönbözőbb felmerülő feladatokra is szoftverek készültek.

A globalizáció, a piacok integrálódása, a világkereskedelem fejlődése, és az egyre gyorsabb

technológiai fejlődés egyre erősödő piaci versenyt eredményez. A piac gyorsan változik,

szinte másodpercenként következnek be olyan események, melyekre azonnal kell reagálni,

pillanatok alatt jelennek meg új és új vállalatok, vállalatbirodalmak, és ugyanilyen gyorsan

tűnhetnek is el.

Gyors, rugalmas reakciókra van ezért szükség, azonnal fel kell tudni mérni a piac és saját

vállalatunk helyzetét, s ennek tudatában kell meghoznunk döntésünket, mely saját jövőnket is

meghatározza. Nem mindegy tehát, milyen gyorsan, és mennyire átfogóan tudjuk felmérni

saját vállalatunk aktuális helyzetét.

Ebben segíthetnek az integrált vállalatirányítási (ERP) rendszerek, melyek feladata a

vállalatok integrált működésének, a rugalmasabb, áttekinthetőbb üzleti folyamatok

támogatása. Ezáltal a vállalat a piacon fontos üzleti előnyökre tehet szert, többek között a

jobban előkészített, megalapozott vezetői döntéseknek köszönhetően.

Ilyen vállalatirányítási rendszereket több fejlesztőcég is készít, ezek közül is ERP rendszerek

terén piacvezető a német SAP AG. Több megoldást is kínál, melyek közül a legmegfelelőbb

kiválasztásával, majd az igényeknek megfelelő testre szabásával a lehető legjobb támogatást

nyújthassa a vállalatvezetés számára. Kis- és középvállatoknak ajánlott megoldása az SAP

Business One, mellyel én is foglalkozom beszámolóm során.

Az ERP rendszerek sokoldalúak, de az iparági sajátosságok miatt szükség lehet új funkciókkal

való bővítésre. Erre az SAP Business One-nak létezik fejlesztői eszköze, melyben Visual

Basic, illetve C# nyelven lehet fejleszteni. Munkám során én C# nyelven dolgoztam.

Két fejlesztésről fogok írni, mindkét esetben egy-egy külső rendszerhez való integrációról volt

szó. Az egyik egy, a Nemzeti Adó- és Vámhivatal (NAV) Általános Nyomtatványkitöltő

Programjához (ÁNYK) való adatexportálás XML formátumban, a másik egy összetettebb

feladat, a partner és ügyfele közötti EDI alapú adatcsere megvalósítása.

Szakdolgozatomban először áttekintem az integrált vállalatirányítási (ERP) rendszereket,

külön kiemelve az általam is ismert SAP Business One-t (SBO). Ezután részletezem az

integrációs lehetőségeket és a felhasználható technológiákat, itt is kiemelve az EDI-t és az

XML-t. Majd ismertetem a konkrét megoldandó feladatokat, ezek háttereit, az üzleti

folyamatot. Végül bemutatom az elkészült megoldást.

Page 8: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrált vállalatirányítási rendszerek 8

2. Integrált vállalatirányítási rendszerek

Amit magyarul integrált vállalatirányítási rendszernek hívunk, angolul Enterprise Resource

Planningnek, rövidítve ERP-nek neveznek. Jelentése vállalati erőforrás-tervezés, ami jól leírja

az ERP legfontosabb feladatát: a vállalat napi, rövid- illetve középtávon a működéséhez

szükséges (humán, technikai, pénzügyi és egyéb) erőforrások tervezése.

Az ERP nem szoftver. Az ERP egy több modulból álló szoftvercsomag, melynek moduljai

egymásra épülnek, együtt dolgoznak, kommunikálnak, és ugyanazokat az adatokat használják.

Nem minden üzleti alkalmazást nevezhetünk ERP-nek. Vannak olyan vállalati rendszerek,

vállalati szoftverek (enterprise system vagy enterprise software, röviden ES), melyek nagyban

segítik az erőforrás-tervezést, de magát a tervezést rendszerint nem végzik el. Valamint van

egy sor olyan funkciójuk, mely nem erőforrás-tervezés, mint például követelések,

kötelezettségek számontartása, ügyfélkapcsolat menedzsment (customer relationship

management – CRM), emberi erőforrások (human resources – HR), stb.

Thomas Wallace és Michale Kremzar így írja le az ERP-t [1]: olyan, vállalati szintű eszközök

halmaza, mely

segíti a bevételek és kiadások egyensúlyban tartását,

képes a vásárlókat és a beszállítókat egyetlen, teljes ellátási láncba kapcsolni,

üzleti folyamatok alkalmazásával segíti a döntéshozatalt,

átfogja és integrálja az értékesítés, marketing, gyártás, üzemeltetés, logisztika,

beszerzés, pénzügy, termékfejlesztés és HR folyamatokat,

mindezek által segíti a produktivitást és az ügyfelek kiszolgálását, párhuzamosan

pedig a költségek és raktárkészletek csökkentését

és megteremti a sikeres e-commerce (elektronikus kereskedelem) alapjait.

2.1. Az ERP kialakulása

Az 1980-as és 90-es években kezdődött a személyi számítógépek elterjedése. Hamar

felvetődött az egymástól független egységek között a kommunikáció igénye, aminek alapjául

létrejött a hierarchikus rendszer. Ahogy nőtt a teljesítmény, az irodai rendszerekben

együttműködő munkaállomásokból létrejöttek a hálózatok, majd hamarosan, az internet

globális elterjedésével a cégek ki is tudtak lépni az irodák falai közül.

Ezeken a globális hálózatokon rengeteg számítógép, szoftver, adatbázis tud egymással

kapcsolódni. Napjainkban az információ az egyik legnagyobb, legértékesebb erőforrás.

Az első erőforrás-tervező rendszert az IBM fejlesztette az 1960-as években, s ez volt a mai

ERP rendszerek alapja [1]. Material Requirements Planningnek, vagyis anyagszükséglet-

tervezésnek (röviden MRP) nevezzük. Célja az alapanyagok megrendelésének felügyelete

Page 9: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrált vállalatirányítási rendszerek 9

volt, logikája négy kérdésre épült, melyek minden gyártási folyamatban felmerülnek,

függetlenül a gyártott terméktől. A négy kérdés a következő:

Mit gyártunk?

Mire van szükségünk?

Mink van?

Mit kell beszereznünk?

Ezt hívjuk általános gyártási egyenletnek, melyre az MRP rendszer is épül: a késztermék (mit

gyártunk?), az alapanyag-szükséglet (mi kell hozzá?) és a raktárkészlet (mink van?) alapján

meghatározza a beszerzendő alapanyagok listáját, s ezek mennyiségét (mit kell

beszereznünk?).

Hamar kiderült azonban, hogy az MRP sokkal többre is képes, mint hogy csupán

visszajelzéseket küldjön arról, mely alapanyagokat kell beszerezni a gyártás folytatásához.

Funkcionalitásával képes volt a rendelések határidejének és esedékességének tervezését

nyomon követni, és összehangolni a gyártási folyamatokkal. Ez a maga idejében óriási áttörés

volt, hiszen a gyártás során most először jelent meg egy olyan formális mechanizmus a

gyártási folyamatban, amely képes volt a prioritásokat kezelni egy folyamatosan változó

környezetben. A rendelések határidejének tartását és a változásokkal való szinkronban tartását

hívjuk prioritástervezésnek.

Ez azonban nem volt elég. Egy ugyanennyire fontos feladatot még meg kellett oldani, ez pedig

a kapacitás volt. A kapacitástervezés feltételei ugyanúgy megvoltak már az MRP-ben is,

ahogy az előrejelzés, kereslet-menedzsment, erőforrás-analizálás és sok egyéb funkció, mely

fejlesztések eredményeként született meg a zártláncú MRP (closed-loop MRP). Fontos, hogy a

zártláncú MRP már nem csak az alapanyag-tervezést támogatja, hanem egy sor egyéb

funkcióval is rendelkezik, mint például képes visszajelzéseket adni a gyártási funkciókkal a

tervezési funkciók számára, aminek következtében szükség esetén a tervek módosíthatók, így

a prioritásokat is képes a körülményekhez képest változtatni.

Az 1970-es évektől beszélhetünk az MRP II.-ről, ami már mást jelent: Manufacturing

Resource Planning, azaz gyártási erőforrás-tervezés. A zártláncú MRP-ből fejlődött ki, három

nagy új funkcióval rendelkezik:

Értékesítés és üzemeltetés tervezés

Pénzügyi tervezés

Szimulációk: a „mi lenne, ha” kérdések feltevésére kísérelt meg választ adni. A mai,

modern tervező rendszerek már rendkívül hatékony és részletes szimulációkat képesek

végezni.

Page 10: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrált vállalatirányítási rendszerek 10

Az 1990-es években érkeztünk el az Enterprise Resource Planninghez, vagyis a vállalati

erőforrás-tervezéshez. Alapjai lényegében megegyeznek az MRP II.-ével, azonban az ERP

egy sokkal átfogóbb rálátást biztosít az üzleti folyamatokra. Egy, az egész vállalatot átfogó,

egyetlen rendszerről beszélünk, mely az értékesítési, gyártási és pénzügyi információkat

valósidőben integrálja. A vásárlók és beszállítók által alkotott ellátási láncot az erőforrás-

tervezéssel egészíti ki, ezáltal még pontosabb előrejelzésekre képes.

Az ERP rendszerek legfontosabb feladata, hogy egy gyorsan változó környezetben képes

legyen az üzletet támogatni, hogy az továbbra is versenyképes maradjon.

A 2000-es évektől kezdve beszélhetünk az ERP rendszerek második generációjáról. Ez már

nem csak a vállalat belső folyamatait integrálja, hanem kibővíti azt a vevői és beszállítói oldali

folyamatokkal, valamint kihasználja az internet adta lehetőségeket is.

2.2. Üzleti előnyök

A nagy ERP rendszerek ún. standard szoftverek, vagyis készen lehet őket megvásárolni. Ez

egyrészt azzal az előnnyel jár, hogy nem a vásárlónak kell őket kifejleszteni hosszas és

költséges munkával – nem beszélve arról, hogy mi van akkor, ha a vállalat eleve nem

informatikával foglalkozik, és nincs meg sem a megfelelő tudás, sem az erőforrás egy saját

rendszer kifejlesztésére. Ugyanakkor, mivel egy elképzelt vállalati modell alapján íródtak

meg, nagyon sok standard funkció található benne, amiket a megrendelő számára testre kell

szabni.

Ma az informatika nélkülözhetetlen ahhoz, hogy egy vállalat versenyképes maradjon a

folyamatosan változó piaci körülmények között. A vállalatirányítási rendszer is ennek egy

eleme. Átgondoltan bevezetve és jól alkalmazva jelentős előnyökhöz juttathatja a szervezetet.

Növeli a szervezet hatékonyságát. Egy ERP rendszer bevezetésekor gyakran kerül sor a

vállalat üzleti folyamatainak áttekintésére, racionalizálására. Ez már magában jelentősen

növelheti a hatékonyságot. Az integráció következtében a többször elvégzett feladatok

(például a többszörös adatbevitel) megszűnnek, mely szintén előnyös: A redundáns adattárolás

már magában veszélyforrás és hibalehetőség, melyet az egy helyen, egyszer tárolt adatok

kiküszöbölnek, ezáltal javul az adat- és információminőség.

A valósidejű rendszer folyamatosan az aktuális információkkal lát el bennünket, ezáltal jobban

előkészített, megalapozottabb vezetői döntéseket hozhatunk, és jobban átlátjuk a szervezet

aktuális helyzetét. Ez segít az új üzleti lehetőségek felismerésében is.

Mindezen előnyök elérése nem könnyű, statisztikák szerint a bevezetések mindössze 50%-a

sikeres csak, vagy éri el az elvárt eredményt.

Page 11: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrált vállalatirányítási rendszerek 11

Egy ERP rendszer bevezetése nagy változás a vállalat életében, és jelentős kockázattal is jár.

A bevezetést a fejlesztő cég egy partnere végzi, mivel a vállalat nem rendelkezik a megfelelő

szakemberekkel – nincs is rá szüksége. A bevezető cég tanácsadóinak viszont át kell látniuk a

vállalat belső folyamatait, ehhez szükség van valakire a vállalattól, aki a tanácsadókkal

együttműködve tervezi meg a bevezetést. A leggyakoribb probléma egymás félreértése, ezt a

lehető legalaposabb, részletekbe menő megbeszélésekkel lehet csak megelőzni.

Page 12: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 12

3. SAP Business One

3.1. Az SAP története

Az SAP-t 1972-ben alapította a németországi Waldorfban öt, korábban az IBM-nél dolgozó

mérnök (Diermar Hopp, Klaus Tschira, Hans-Werner Hector, Hasso Plattner és Claus

Wellenreuther). Az SAP eredetileg a „Systemanalyse und Programmentwicklung” (System

Analysis and Program Development – Rendszeranalízis és szoftverfejlesztés) kifejezés

rövidítése volt, de később ezt megváltoztatták, és ma már a „Systeme, Anwendungen und

Produkte in der Datenverarbeitung” (Systems, Applications and Products in Data Processing –

Rendszerek, alkalmazások és termékek az adatfeldolgozásban) kifejezést értik alatta.

1973-ban készültek el az első verzióval, ez volt az R/1. 1979-ben indult az R/2, majd 1992-95

között az R/3 számos verziója is megjelent. Az új rendszer relációs adatbázison működik,

kliens-szerver architektúrát használ.

1988-ban részvénytársasággá alakulnak SAP AG. néven, jelenleg a negyedik legnagyobb

szoftvercég a világon. Magyarországon 1989. óta van jelen, 1998. óta 100%-osan a német

anyacég tulajdonában. Világszerte 1500 partnercége van, akik licenceket értékesítenek,

bevezetéseket végeznek és támogatást nyújtanak ügyfeleiknek. Magyarországon körülbelül 50

partner van jelen, és több, mint 600 bevezetett rendszer működik.

Munkám során az SAP Business One 8.82-es verzióját használtam.

3.2. SAP Business One

2002 márciusában az SAP felvásárolta az izraeli üzleti alkalmazásfejlesztő TopManage

Financial Systems vállalatot. Alapítói, Reuven Afassi és Gadi Shamia a felvásárlást követően

az SAP-nál kaptak pozíciót.

A felvásárlás által az SAP előtt egy új piac nyílt meg: a kis- és középvállalkozások piaca,

melyek számára ekkoriban nem nagyon volt elfogadható minőségű, elérhető árú

vállalatirányítási rendszer, viszont a TopManage által fejlesztett rendszer – már SAP Business

One (röviden SBO) néven – ideális megoldásnak bizonyult [2].

Az SAP Business One 2004 óta Magyarországon is elérhető, s már több mint 500 ügyfélnél

került sor sikeres bevezetésre. Az SAP ajánlása szerint kb. 100 fő alatti cégek számára

javasolt.

Az SAP Business One moduláris felépítésű. Az egyes modulok a vállalatirányítás különböző

területeit fedik le, de a vállalat igényei szerint fejleszthetők speciális külső modulok is,

melyeket addonoknak nevezünk.

Page 13: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 13

1. ábra

A standard modulok a következők (1. ábra):

Adminisztráció

Az adminisztráció modul tartalmazza a rendszer funkcionalitásának alapbeállításait. A

modul lehetővé teszi a rendszernek a vállalat valós folyamatainak megfelelő testre

szabását. Itt definiálhatók a valutaárfolyamok, a használt országkódok, periódusok,

adókódok, engedélyezési és figyelmeztetési eljárások, valamint az addonok kezelése

is itt található.

Pénzügy

A pénzügy modul kezeli a pénzügyi tranzakciókat. Itt található például a főkönyv, a

számla létrehozása és karbantartása, a naplókönyvelés, a költségkeret. Ezen kívül

található itt egy Költségszámítás menüpont is, melyben költséghelyeket és

általánosköltség-elszámolási tényezőket lehet definiálni, valamint eredménykimutatást

lehet készíteni az egyes költséghelyekhez.

Üzleti lehetőségek

Ezzel a modullal értékesítési adatokat vihetünk be, melyeket karbantarthatunk és

elemzéseket végezhetünk vele. Elemezhetünk értékesítési lehetőségeket,

szintelemzéseket, megnyert lehetőségeket és az úgynevezett lehetőség-tölcsért.

Értékesítés

Az értékesítés modul az értékesítési folyamatokat szolgálja. Árajánlatok létrehozása,

Page 14: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 14

vevői rendelések, kiszállítások, készletmérleg aktualizálása, illetve kimenő számlák

kezelése a fő funkciói.

Beszerzés

A beszerzés modul a beszerzési folyamatokat segíti. Szállítói ajánlatok,

megrendelések, árubeérkezések, valamint bejövő számlák kezelését teszi lehetővé a

modul.

Üzleti partnerek

A partnerekkel (vevők, szállítók) kapcsolatos adatok kezelése: törzsadatok,

számlaegyenlegek, kapcsolattartási adatok, kampányok.

Bank

A bank modul végzi a pénzügyek kezelését, mint például a pénzbeérkezéseket,

előlegeket, fizetéseket, banki egyeztetést.

Készletvezetés

A készletvezetés modulban találhatók a cikktörzsadatok, a cikk-kezelés, árlisták,

raktárak, készlettranzakciók, raktárak közötti mozgatások.

Gyártás

Itt található a gyártási folyamat felügyelete. Darabjegyzék, gyártási utasítások

Anyagszükséglet tervezés

Gyártás- és bevételtervezés. Lehetővé teszi feltételes tervezési szcenáriók definiálását.

A szükséglettervezés lehet fogyási vagy terv alapú.

Szerviz

Szolgáltatások felügyelete. Támogatja a szervizműveleteket, szervizszerződések

kezeléseket, a szerviztervezést, a vevőtámogatást.

Emberi erőforrások

A modul feladata a dolgozómenedzsment: dolgozói törzsadatok kezelése,

kapcsolatinformációk, személyügyi beszámolók készítése.

Beszámolók

Beszámolók készítése, a vállalat szinte minden aspektusáról, mint például vevői és

szállítói követelések, cashflow, könyvvitel, raktári készlet, eredménykimutatás és

vevői tevékenység.

Egy SBO rendszer kliens- és szerveroldali komponensekből áll. A szerveroldalon szükség van

egy adatbázisszerverre (MSSQL), és ehhez kapcsolódnak a felhasználók gépein futó SBO

kliensek. Egy SBO kliens alapképernyőt ábrázol a 2. ábra.

Page 15: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 15

2. ábra

Baloldalt, a főmenüben láthatók az egyes modulok, amiket az imént részleteztem – jelenleg

csak a standard modulok vannak feltelepítve. Jobbra egy keresőmező található, fenn a

menüsor és az eszköztár, alul pedig az üzenetsáv.

A főmenü testre szabható. Egyrészt jogosultságok beállításával korlátozhatjuk, hogy az egyes

felhasználóknak mely modulokhoz legyen jogosultsága, ezáltal csak azok a menüpontok

jelennek meg neki, amikhez hozzáférhet. Másrészt ezen túl is beállíthatja a felhasználó, hogy

melyeket akar látni az Űrlapbeállítások menü használatával.

A jogosultságok nagyon fontos részei az ERP rendszereknek. Mivel a rendszer átfogja a

vállalat teljes irányítását, veszélyes volna, ha bárki bármihez hozzányúlhatna. Jogosultságok

beállításával ezt korlátozhatjuk, az SBO-ban ezt is az Adminisztráció menüpontban tehetjük

meg.

Fejlesztői és tanácsadói eszközöket is tartalmaz az SBO kliens, most ezekre térnék ki.

3.2.1. Rendszerinformációk

A Nézet menüben van egy Rendszerinformációk menüpont. Ezt bepipálva egy nagyon hasznos

eszközt kapunk (3. ábra).

Page 16: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 16

3. ábra

A megnyitott űrlapon (formon – a példában ez a Cikktörzsadatok form) az egérrel rámutatva

valamelyik mezőre (nyíllal jelölve) az alsó üzenetsávon láthatjuk az adott mező jellemzőit.

A példában a kiválasztott mező egy, az adatbázisban megtalálható tábla egy mezőjéhez

kapcsolódik. Természetesen vannak olyan mezők, melyek nem kapcsolódnak táblához

(gondoljunk csak például a mezők címkéire, vagy számított értékekre).

Ezek közül hasznos tud lenni számunkra:

Cikk leírása: a mező megnevezése

100 Characters: a mező mérete

IBM Infoprint 1312: a mezőben lévő érték

Form = 150: a form típusa, ezzel azonosíthatjuk a formot

Item = 7: a mező azonosítója a formon

Pane = 0: a formon melyik „pane”-en található a mező. Olyankor van ennek

jelentősége, amikor a formon több „fül” is van (mint a példában is látható Általános,

Beszerzési adatok, stb. fülek). Minden fülhez hozzárendelünk egy pane-t, a mező

pedig csak akkor látható, ha a pane-je megegyezik az aktív fülhöz rendelt pane-hez. A

0 pane-nel rendelkező mezők mindig láthatók.

OITM: a kapcsolt tábla neve, ez esetben a cikkek táblája.

ItemName: a mező neve a táblában, vagyis most a cikk megnevezése mező

3.2.2. Lekérdezések

Mivel egy adatbázissal dolgozunk, lehetséges lekérdezéseket is futtatni. Ezeket a

lekérdezéseket az SBO-ban is megírhatjuk, elmenthetjük és futtathatjuk. Az Eszközök

menüben található Lekérdezések menüpont ezt teszi lehetővé (4. ábra).

Page 17: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 17

4. ábra

A Lekérdezéskezelőben érhetjük el az elmentett lekérdezéseket. Ezek jellemzően riportok,

analitikák, vagy egyéb hasznos lekérdezések, melyek a felhasználók (pénzügyesek,

könyvelők, vállalati döntéshozók) munkáját segítik.

A Lekérdezésgenerátor egy olyan eszköz, mellyel a (megfelelő jogosultsággal rendelkező)

felhasználók egyszerűen állíthatnak össze SQL lekérdezéseket (5. ábra).

5. ábra

3.2.3. Felhasználói mezők, felhasználói táblák

A standard táblák egy sor adat eltárolását teszik lehetővé, mégis előfordulhat, hogy ez nem

elég, valami mást is szeretnénk tárolni. Ezt könnyen megtehetjük: felveszünk egy felhasználói

mezőt (UDF – user defined field) a kívánt táblához. Vannak olyan táblák, ahol ez nem

lehetséges, de a legtöbb esetében igen. A felhasználói mezők neve mindig egy U_ prefixszel

kezdődik (l. 5. ábra).

Felhasználói táblák (UDT – user defined table) létrehozása is lehetséges, a felhasználói táblák

neve egyedi kell legyen.

3.2.4. Screen Painter

Grafikus felületek szerkesztésére használható a Screen Painter addon (6. ábra).

Page 18: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 18

6. ábra

A megrajzolt formot XML formátumban menti el egy .srf fájlba.

3.3. Addonok

Mivel az alaprendszer forráskódja nem publikus, az szoftver felhasználóinak a standardtól

eltérő igényeit fejlesztésekkel lehet támogatni, amelyek az alaprendszerrel együtt futtathatóak.

Ezek olyan kiegészítő modulok, melyek nem szerepelnek a standard SBO rendszerben.

Vannak olyan addonok, melyeket az SAP fejlesztett, a rendszer telepítéskor felajánlja ezeknek

a telepítését (ilyen például a tárgyi eszköz addon, mely a 2013. nyarán érkező 9-es SBO-ban

már az alaprendszer standard részekéntfog szerepelni).

Léteznek viszont olyan addonok, melyeket az ügyfél kérésére a rendszert bevezető

tanácsadócég fejlesztői fejlesztenek le. Az 5-7 fejezetben két ilyen fejlesztésről fogok írni,

melyekben én is részt vettem, de előbb tekintsük át az addonok fejlesztéséhez használható

eszközöket.

Page 19: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 19

3.3.1. Microsoft SQL Server 2008 R2 Management Studio

7. ábra

A Microsoft SQL Server 2008 R2 Management Studio) az adatbázisok menedzselését segíti

(7. ábra).

A baloldali, Object Explorer blokkban látjuk az adatbázisszervert (a képen ez most N02904,

az én gépem). A Databases könyvtárat lenyitva láthatjuk az elérhető adatbázisokat. A

jobboldali mezőbe írhatunk lekérdezéseket, melyeket a kiválasztott adatbázison futtathatunk,

az eredmény alul látszik.

8. ábra

Page 20: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 20

Az SQL Management Studio segítségével tudunk adatbázisokat lementeni és betölteni. Az

adatbázis nevén jobbgombbal kattintva feljövő menü Tasks menüpontjában található Back Up

menüpontban egy .bak kiterjesztésű fájlba lementhetjük az adatbázist, a Restore Database

menüpontban pedig egy ilyen .bak fájlból visszatölthetjük az adatbázist.

Fejlesztések, tesztelések, hibakeresések során szükség lehet rá, hogy az ügyfél adatbázisát

lementve a fejlesztő vagy tanácsadó akár a saját számítógépén vagy egy belső tesztszerveren

tudjon dolgozni, mivel így ugyanazokkal a struktúrákkal és adatokkal tudja végezni a

munkáját, amikkel a későbbiekben az éles rendszeren is találkozhat.

Az 9. ábra egy SBO bejelentkező képernyőt ábrázol, ahol kiválaszthatjuk, melyik adatbázisba

szeretnénk bejelentkezni. Ki lehet választani az adatbázisszervert (ami most is az N02904, így

láthatjuk az összes olyan adatbázist, amit korábban, a 7. ábra is láttunk), majd az adatbázist, és

a megfelelő felhasználónév és jelszó megadásával beléphetünk a választott adatbázisba.

9. ábra

3.3.2. SDK

Az SAP Business One SDK két nagy részből áll:

UI API (User Interface API)

DI API (Data Interface API)

A UI API a felhasználói felületek elérését teszi lehetővé, míg a DI API a háttérben lévő

objektumokhoz nyújt kapcsolatot. A UI API segítségével hozhatunk létre új formokat

(melyeket megrajzolhatunk a Screen Painterrel), és érhetjük el a formokon található mezőket.

A DI API-val létrehozhatunk felhasználói táblákat (UDT), felhasználói mezőket (UDF),

objektumokat (UDO – user defined object). Ez már egy üzleti logikai réteg, ezzel tudunk

üzleti logikát állítani a UI API-val létrehozott felhasználói interfész mögé, illetve kapcsolatot

építeni más, külső alkalmazásokkal. Kommunikál az adatbázissal, validációkat végez, illetve

alapértelmezett mezőértékeket állít be.

Page 21: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

SAP Business One 21

3.3.3. Fejlesztői környezet

Az SBO SDK használható többféle fejlesztőrendszerrel JAVA, Visual Basic vagy a Microsoft

.NET-et használjaalapú rendszerekkel egyaránt. Munkám során C#-ot használtam, ehhez két

fejlesztői környezetet. Az egyik a Microsoft Visual C# 2008 Express Edition, a másik a nyílt

forráskódú (opensource) SharpDevelop 4.3.

Mindkettő jól használható környezet, megszokás kérdése, hogy ki mit szeret használni.

Néhány projekt esetében viszont szükség volt a SharpDevelopre a Visual Studio Express

Edition korlátozásainak megkerülésére.

Page 22: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs technológiák 22

4. Integrációs technológiák

4.1. XML

Az XML (Extensible Markup Language, – kiterjeszthető jelölő nyelv) egy, a W3C (World

Wide Web Consortium) által ajánlott általános leíró nyelv [3]. Szöveges adatformátum,

támogatja a Unicode-ot. A motiváció egy általános, egyszerű, az interneten bárhol használható

szabvány létrehozása, melynek feldolgozására könnyű legyen alkalmazásokat írni.

Bár főleg dokumentumok leírására tervezték, adatstruktúrák leírásánál is használják (pl.

webszolgáltatások – WSDL, SOAP). Első megjelenése óta több száz XML-alapú

dokumentumformátum látott napvilágot, mint például az RSS, HTML, vagy a már említett

WSDL és SOAP, és nagyon sok irodai alkalmazás is használja (Microsoft Office, vagy az

opensource alternatívák: LibreOffice, OpenOffice).

Előnyei közé tartozik, hogy olvasható formátumról van szó: gép és (többnyire) ember által is

értelmezhető dokumentumot produkál, viszont a dokumentum nagyon nagyra tud hízni a

szintaxisnak köszönhetően (ezért is kezd elterjedni helyette például okostelefonoknál a json,

mely egy jóval kompaktabb formátum).

Egy példa XML:

<?xml version="1.0" encoding="UTF-8"?>

<mezok>

<mezo eazon="0A0001E001A">12345678901</mezo>

</mezok>

Az első sor az XML deklaráció sora. Jelöli az XML verziót és a karakterkódolást.

„Tag”-nek nevezzük a < karakterrel kezdődő és > karakterrel záródó elemeket, mint a

példában látható <mezok> tag. Ebből háromféle lehet:

<mezok> nyitó tag

</mezok> záró tag

<br/> üres tag

Egy nyitó és záró tag egy elemet vagy node-ot fog össze (pl. mezok, mezo). A nyitó és záró

tag közötti részt hívjuk a node tartalmának. Egy node-nak lehetnek leszármazott elemei,

például a mezok elemnek a mezo.

Egy nyitó vagy üres tagnek lehetnek attribútumai is, a fenti példában a mezo tagnek van egy

eazon attribútuma.

4.2. EDI

Az EDI (Electronic Data Interchange – elektronikus adatcsere) szigorúan strukturált

üzeneteknek számítógépek közötti, emberi közreműködés nélkül megvalósított cseréje.

Page 23: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs technológiák 23

Jellemzően nagy cégek használják elektronikus kereskedelmi célokra, mint például

megrendelések küldésére, számlázásra, vagy akár szállítólevelek teljes kiváltására. Tartós

kapcsolatra épül, gyakran ismétlődő automatikus dokumentumcseréről van szó.

Az EDI a 70-es, 80-as évek integrációs technológiája. A 60-as években elterjedő számítógépek

használatával egyre nagyobb volt az igény arra, hogy az emberi tényezőt kiiktatva tudjanak

adatokat cserélni két számítógép között. Ahogy lassan megjelentek a számítógépek közötti

kapcsolatok, lokális hálózatok, majd az értéknövelt hálózatok (VAN – Value Added Network),

megjelentek az első EDI üzenetek is. Ezek még nem voltak szabványosítva, de erre sem kellett

már sokat várni.

Ma már nagyon sok szabvány létezik elektronikus adatcserére, az első ilyen 1978-ban jelent

meg, eredete az autóipar: ez volt a VDA, nevét létrehozójáról, a német Autóipari Szövetségről

(Verband der Automobilindustrie) kapta.

1988-ban jelentette meg az ENSZ az UN/EDIFACT [4] (United Nations/Electronic Data

Interchange For Administration, Control and Transport) szabványt, ami a mai napig a

legelterjedtebb EDI szabvány. Az EDIFACT egy leíró nyelv, iparágtól független nemzetközi

szabvány, de az idők során nagyon sok iparágnak létrejött a maga specifikus változata.

Néhány példa:

EANCOM: Iparcikkgyártás és kereskedelem

EDIFOR: Szállítmányozás

EDIFURN: Bútoripar és Bútorkereskedelem

EDILEKTRO: Elektromos gépipar és kereskedelem

EDITRANS: Közlekedés

ODETTE: Autóipar, autóipari beszállítók

Page 24: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 24

5. Integrációs feladatok ismertetése

Ebben a fejezetben ismertetem a megoldásra váró két integrációs feladatot.

5.1. ÁNYK adatexport

5.1.1. Tételes belföldi összesítő jelentés

Az adózás rendjéről szóló 2003. évi XCII. törvény 31/B. § (Beiktatta: 2011. évi CLVI. törvény

296. § (6). Hatályos: 2013. I. 1-től.) rendelkezései a következők:

31/B. § (1) Az általános forgalmi adó alanya termék beszerzése, szolgáltatás igénybevétele

esetén azon számlákról, amelyekben az áthárított általános forgalmi adó összege a 2 000 000

forintot eléri vagy meghaladja, arról az adómegállapítási időszakról teljesítendő általános

forgalmiadó bevallásban, amelyben az ügylet teljesítését vagy az előleg megfizetését tanúsító

számla alapján adólevonási jogot gyakorol, számlánként nyilatkozni köteles:

a) a terméket értékesítő, szolgáltatást nyújtó általános forgalmiadó-alany - ideértve az

egyszerűsített vállalkozói adóalanyt is - adószámának, csoportos általános forgalmiadó-

alanyiság esetén csoportazonosító számának első nyolc számjegyéről,

b) a nevére szóló számlában feltüntetett általános forgalmi adó alapjáról és áthárított

általános forgalmi adó összegéről, a számla sorszámáról, valamint

c) a számlában az általános forgalmi adóról szóló 2007. évi CXXVII. törvény 169. § g) pontja

szerint feltüntetett időpontról, ennek hiányában a számla kibocsátásának keltéről.

(2) Az általános forgalmi adó alanya termék értékesítése, szolgáltatás nyújtása esetén azon

számlákról, amelyekben egy másik, belföldön nyilvántartásba vett általános forgalmi adó

alanyra áthárított általános forgalmi adó összege a 2 000 000 forintot eléri vagy meghaladja,

arról az adómegállapítási időszakról teljesítendő általános forgalmiadó bevallásban,

amelyben az ügylet teljesítését vagy az előleg megfizetését tanúsító számlában feltüntetett adót

meg kell állapítania, számlánként nyilatkozni köteles:

a) a terméket beszerző, szolgáltatást igénybe vevő általános forgalmiadó-alany adószámának,

csoportos általános forgalmi adóalanyiság esetén csoportazonosító számának első nyolc

számjegyéről,

b) a kibocsátott számlában feltüntetett általános forgalmi adó alapjáról és áthárított általános

forgalmi adó összegéről, a számla sorszámáról, valamint

c) a számlában az általános forgalmi adóról szóló 2007. évi CXXVII. törvény 169. § g) pontja

szerint feltüntetett időpontról, ennek hiányában a számla kibocsátásának keltéről.

(3) Amennyiben az általános forgalmi adó alanya ugyanabban az adómegállapítási

időszakban ugyanazon termékértékesítő vagy szolgáltatást nyújtó által kibocsátott több

számlában - ideértve a számlával egy tekintet alá eső okiratot is - áthárított adó tekintetében

gyakorol összesen 2 000 000 forintot elérő vagy ezt meghaladó összegben adólevonási jogot,

úgy az erről az adómegállapítási időszakról benyújtott általános forgalmiadó bevallásában

nyilatkozik:

a) a termékértékesítő vagy szolgáltatást nyújtó általános forgalmiadó-alany - ideértve az

egyszerűsített vállalkozói adó alanyát is - adószámának, csoportos általános forgalmiadó-

alanyiság esetén csoportazonosító számának első nyolc számjegyéről, és

b) ezen számlákban feltüntetett, áthárított általános forgalmi adó összegéről.

(4) Számla módosítása esetén a számlát módosító okiratot kiállító és az azt befogadó általános

forgalmiadó-alany abban a bevallásban, amelyben a módosítás hatását figyelembe veszi,

akkor köteles a módosított számlát érintően az (1)-(2) bekezdés szerint nyilatkozni, ha a

számlában áthárított általános forgalmi adó akár a módosítást megelőzően, akár azt követően

vagy a módosítást megelőzően és azt követően is eléri vagy meghaladja a 2 000 000 forintot.

Ebben az esetben az általános forgalmi adó alanya nyilatkozik annak a számlának az (1)-(2)

bekezdésben meghatározott adatairól, amelyet a módosítás érint, a módosítás számszaki

Page 25: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 25

hatásáról az általános forgalmiadó alap és áthárított általános forgalmi adó tekintetében,

valamint a számlát módosító okirat sorszámáról.

(5) Számla érvénytelenítése esetén a számlát érvénytelenítő okiratot kiállító és az azt befogadó

általános forgalmiadó-alany, amennyiben az érvénytelenített számlában - ideértve a

módosított számlát is - áthárított általános forgalmi adó összege elérte vagy meghaladta a 2

000 000 forintot, abban a bevallásban, amelyben az érvénytelenítés hatását figyelembe veszi,

köteles a számlát érintően az (1)-(2) bekezdés szerinti adatokról, valamint a számlát

érvénytelenítő okirat sorszámáról nyilatkozni.

(6) Az egyszerűsített vállalkozói adó alanya az általa kibocsátott számlák tekintetében a (2) és

(4)-(5) bekezdésnek megfelelően, arról az adóévről benyújtott egyszerűsített vállalkozói adó

bevallásban - az egyszerűsített vállalkozói adóról szóló 2002. évi XLIII. törvény 11. § (5)

bekezdés alkalmazása esetén a becslésre irányuló adóhatósági eljárás során - nyilatkozik,

amelyben a számlát kiállította.

(7) A 34. § és a 172. § alkalmazásában az (1)-(6) bekezdés szerinti nyilatkozatra (általános

forgalmi adó összesítő jelentés) a bevallásra vonatkozó rendelkezéseket kell alkalmazni.

(8)278

A pénzforgalmi elszámolást választó általános forgalmi adó alany által kibocsátott

számla esetében az (1) és (2) bekezdés szerinti nyilatkozatot csak egyszer, arról az

adómegállapítási időszakról teljesítendő általános forgalmi adó bevallásban kell megtenni,

amelyben ezen számla alapján az adózó első alkalommal adólevonási jogot érvényesít,

adómegállapításra kötelezett.

(9)279

A pénzforgalmi elszámolást választó általános forgalmi adó alany termék beszerzése,

szolgáltatás igénybevétele esetén az (1) bekezdés szerinti nyilatkozatot ugyanazon számláról

csak egyszer, arról az adómegállapítási időszakról teljesítendő általános forgalmi adó

bevallásban teljesíti, amelyben ezen számla alapján első alkalommal adólevonási jogot

érvényesít. [5]

A rendelkezés lényege, hogy 2013. január elsejétől minden, 2 000 000 forintot elérő áfa-

tartalmú számláról részletes adatszolgáltatást kell teljesíteni a Nemzeti Adó- és Vámhivatal

(NAV) felé. A jelentést kétféle bontásban kell elkészíteni [6]:

Számlaszintű jelentésben tételesen meg kell adni minden olyan számla adatait, ami

eléri vagy meghaladja a 2 000 000 forintos határt

Összevont jelentésben a partnerenként összesített áfa értéket kell megadni, ha az eléri

vagy meghaladja a 2 000 000 forintos határt

Helyesbített számlák esetén is figyelni kell a kétmilliós határt: ha kiállítunk egy kétmillió

forintnál kevesebb áfát tartalmazó számlát, majd utólag korrigáljuk az összeget a határ fölé

(vagy fordítva), akkor is szerepeltetni kell a jelentésben – sőt, ez esetben a teljes

számlatörténetet be kell mutatni, vagyis valamennyi módosító számla adatait fel kell tüntetni.

Tehát, ha a számla áfa tartalma a módosítás előtt vagy után, eléri vagy meghaladja a 2 000 000

forintot, akkor szerepeltetni kell a jelentésben [7].

5.1.2. ÁNYK

A NAV-nak elektronikus úton beszolgáltatott dokumentumok kitöltéséhez egy Java alapú

programot, az Általános Nyomtatványkitöltő Programot (ÁNYK) használhatjuk (10. ábra).

Page 26: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 26

10. ábra

Az ÁNYK valamennyi, NAV-nak küldendő nyomtatványt kezel, a szükséges

nyomtatványokat a NAV oldaláról [8] tölthetjük le. Telepítés után a nyomtatvány

megtalálható a Szerviz Telepített nyomtatványok menüpontban, illetve kitölthetjük, ha

elnavigálunk az Adatok Új nyomtatvány menübe.

Ami számunkra most érdekesebb, az az, hogy az ÁNYK nyomtatványait nem csak kézzel

tölthetjük ki. A Szerviz menüben találunk egy Egyedi importálás menüpontot (11. ábra), mely

lehetővé teszi, hogy XML állományt importáljunk.

11. ábra

Page 27: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 27

5.1.3. 1365M nyomtatvány

A tételes belföldi összesítő jelentést a 1365M nyomtatványon kell benyújtani, mely szintén a

NAV oldaláról tölthető le [9], ahogy a kitöltési útmutató és a nyomtatvány leírása is [10].

A 1365 nyomtatvány két részből áll: egy 1365A és egy, vagy több 1365M nyomtatványból.

A 1365A nyomtatványon csak a feltétlen szükséges adatokat töltjük ki, ezek az adózó adatai

az első lapon és a további lapok fejlécein. Egy megnyitott 1365-ös nyomtatványt mutat a 12.

ábra.

12. ábra

A Nyomtatványok gomb melletti legördülő menüben láthatjuk a nyomtatvány

alnyomtatványait. Legfelül a 1365A nyomtatvány található, alatta a 1365M nyomtatványok az

adózó ügyfeleinek adataival (név és adószám).

A 1365M nyomtatvány 5 lapból áll:

1365M, a főlap (13. ábra): három blokkból áll, ezek a következők:

o Az adózó és a partner adatai (13. ábra)

A magyar adószám három, kötőjellel elválasztott részből áll:

XXXXXXXX-Y-ZZ

XXXXXXXX az adózót egyértelműen azonosító törzsszám

Y az ún. áfa kód (csak 2 vagy 3 áfa kódú adóalany által kibocsátott

számla tartalmazhat áthárított áfát)

ZZ az adózó székhelye szerint illetékes területi adóhatóság kódja

Page 28: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 28

Az adózónak a teljes adószámát fel kell tüntetni, míg a partnerek esetén csak a

nyolcjegyű azonosítót (tehát a magyar adószám első nyolc karakterét).

o Bevallási időszak

rendszerint havi, negyedéves vagy éves időszakokról van szó, attól függően,

hogy az adózó milyen besorolás alá tartozik

13. ábra

o A kereskedelmi partnerrel bonyolított belföldi – egyenes adózás alá tartozó, a

partnerre vonatkozó részletező lapokon számlánként tételesen nyilatkozott

és/vagy összevontan feltüntetett – forgalom összesen (14. ábra): az 1.-5.

valamint a 7. sor számított sor, a töltés során ezzel nem kell foglalkoznunk, a

01, 01-K, 02 és 02-K lapok adatai alapján automatikusan tölti a program. A

képen látható példában az látszik, hogy a partnernek egy számlája van

összesen, amit a nyomtatványban tételesen fel kellett tüntetni.

A 6. azonban érdekesebb számunkra: „A 04-05. sorokban nem szereplő,

értékhatár alatti beszerzési számlák összevont adó összege”. Ebbe a sorba

kerül azoknak a beszerzési számláknak az adóösszege, melyek adóösszege

önmagukban nem éri el a 2 000 000 Ft-ot, tehát a nyomtatvány lapjain nem

kell őket tételesen szerepeltetni.

Page 29: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 29

14. ábra

01: Partnerrel bonyolított belföldi, egyenes adózás alá tartozó termékértékesítés /

szolgáltatás nyújtás tételes részletezése: azon kimenő számlák, melyek áfa összege

eléri a 2 000 000 Ft-ot (15. ábra).

15. ábra

01-K: Partnerrel bonyolított belföldi, egyenes adózás alá tartozó termékértékesítés /

szolgáltatás nyújtás korrekcióinak tételes részletezése (16. ábra): módosító lap

Helyesbített számlák esetén itt kell feltüntetni a módosító számlákat a kiállítás

sorrendjében. Például, ahogy a 16. ábra mutatja: szerepel egyszer a 227-es eredeti

számla, majd az 5-ös számú, már módosított számla, melynek előzménye a 227.

A számlatípus (szla típ.) oszlopba az E, K, vagy KT értékek kerülhetnek. Ezek

jelentése:

o E: eredeti

o K: korábbi korrekció

o KT: tárgyhavi korrekció

Page 30: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 30

16. ábra

02: Partnerrel bonyolított belföldi, egyenes adózás alá tartozó termékbeszerzés /

szolgáltatás igénybevétel tételes részletezése: felépítése megegyezik a 01-es lappal, itt

a bejövő számlákat soroljuk fel.

02-K: Partnerrel bonyolított belföldi, egyenes adózás alá tartozó termékbeszerzés /

szolgáltatás igénybevétel korrekcióinak tételes részletezése: Módosító lap, felépítése

megegyezik a 01-K lappal, itt a bejövő számlák korrekcióit soroljuk fel.

5.1.4. ÁNYK XML séma

A vállalkozás méretétől függően nagyon sok (százas, de akár ezres nagyságrendű is lehet)

tételről beszélünk, mindenképpen érdemes meggondolni a feladat automatizálását, melyre a

már említett XML importálás jól használható megoldás. Az ÁNYK valamennyi

nyomtatványához ugyanaz az XML séma tartozik, melynek leírása a NAV oldalán található

[11].

Az alábbiakban egy 1365M nyomtatvány alapján bemutatom az XML sémát:

<?xml version="1.0" encoding="utf-8"?>

<nyomtatvanyok xmlns="http://www.apeh.hu/abev/nyomtatvanyok/2005/01">

A 1365 nyomtatvány két részből áll: egy 1365A nyomtatványból, és egy vagy több 1365A

nyomtatványból. Minden nyomtatvány egy-egy nyomtatvany tagen belül szerepel.

<nyomtatvany>

A nyomtatványinformáció blokkon belül találjuk a nyomtatvány típusát (jelen esetben 1365A

illetve 1365M), az adózó nevét és adószámát, valamint a bevallási időszakot.

<nyomtatvanyinformacio>

<nyomtatvanyazonosito>1365A</nyomtatvanyazonosito>

<adozo>

<nev>Demo Hungary Zrt.</nev>

<adoszam>12345678901</adoszam>

</adozo>

<idoszak>

<tol>20130101</tol>

<ig>20130331</ig>

</idoszak>

</nyomtatvanyinformacio>

A mezok tagen belül találhatók a nyomtatvány mezőinek értékei. Mivel egy általános XML

formátumról van szó, a mezőket nem a tagekkel, hanem a mező eazon attribútumának

Page 31: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 31

értékeivel adjuk meg. Az eazon attribútum értékei lehetnek 11 vagy 13 karakter hosszúak, a 11

karakter hosszúak a következőképpen generálódnak:

eazon=”LLXXXXBMMMT” (például eazon=”0A0001E001A”)

LL: a lap sorszáma (0A, 0B stb.)

XXXX: az adott lap hányadik dinamikus lapján szerepel a mező (0001, 0002, stb.)

B: a lapon belül hányadik blokk (A, B, C, stb.)

MMM: a blokkon belül hányadik mező (001, 002, stb.)

T: értéke „A” vagy „H” lehet – az „A” normál mező, a „H” nem szerkeszthető mező

(hivatal tölti ki). Az XML készítésekor csak az „A” jelzésű mezőket vesszük

figyelembe.

A 17. ábra ezt mutatja be. Mivel a 1365A nyomtatvány első lapjának nincs dinamikus lapja,

ezt itt nem jelöltem (ilyen esetben az XXXX blokk értéke 0001).

17. ábra

<mezok>

<mezo eazon="0A0001E001A">12345678901</mezo>

<mezo eazon="0A0001E008A">Demo Hungary Zrt.</mezo>

<mezo eazon="0A0001E011A">1234</mezo>

<mezo eazon="0A0001E012A">Budapest</mezo>

<mezo eazon="0A0001E013A">Kis u. 123.</mezo>

<mezo eazon="0A0001E014A"></mezo>

<mezo eazon="0A0001E015A"></mezo>

<mezo eazon="0A0001E022A">1234</mezo>

<mezo eazon="0A0001E023A">Budapest</mezo>

<mezo eazon="0A0001E024A">Kis u. 123.</mezo>

<mezo eazon="0A0001E025A"></mezo>

Page 32: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 32

<mezo eazon="0A0001E026A"></mezo>

<mezo eazon="0A0001F001A">20130101</mezo>

<mezo eazon="0A0001F002A">20130331</mezo>

<mezo eazon="0A0001F005A">H</mezo>

<mezo eazon="0A0001I001A">Budapest</mezo>

<mezo eazon="0B0001B001A">12345678901</mezo>

<mezo eazon="0B0001B003A">20130101</mezo>

<mezo eazon="0B0001B004A">20130331</mezo>

<mezo eazon="0B0001B005A">Demo Hungary Zrt.</mezo>

</mezok>

</nyomtatvany>

<nyomtatvany>

<nyomtatvanyinformacio>

A nyomtatványinformáció blokkban most is ugyanazok az adatok szerepelnek, de ezúttal a

nyomtatvány azonosítója 1365M.

<nyomtatvanyazonosito>1365M</nyomtatvanyazonosito>

<adozo>

<nev>Demo Hungary Zrt.</nev>

<adoszam>12345678901</adoszam>

</adozo>

A 1365M a 1365A nyomtatvány alnyomtatványa, ezért itt szerepel egy albizonylatazonosítás

blokk is. Ebben a blokkban az ügyfél adatai (név és EU-s adószám) szerepelnek.

<albizonylatazonositas>

<megnevezes>Alpha Hungary Kft.</megnevezes>

<azonosito>87654321</azonosito>

</albizonylatazonositas>

<idoszak>

<tol>20130101</tol>

<ig>20130331</ig>

</idoszak>

</nyomtatvanyinformacio>

A mezok tagen belül ugyanúgy megtalálhatjuk az eazon attribútummal azonosított mezőket. Itt

már töltünk olyan mezőket is, melyek eazon értékei 13 karakter hosszúak. Ezek a mezők

táblázatban szereplő mezők, az azonosítók ilyenkor a következőképpen generálódnak:

eazon=” LLXXXXBSSSSOT” (például eazon=” 0D0002C0001AA”)

LL: a lap sorszáma (0A, 0B stb.)

XXXX: az adott lap hányadik dinamikus lapján szerepel a mező (0001, 0002, stb.)

B: a lapon belül hányadik blokk (A, B, C, stb.)

SSSS: a táblázat hányadik sora (001, 002, stb.)

O: a táblázat hányadik oszlopa (A, B, C, stb.)

T: értéke „A” vagy „H” lehet – az „A” normál mező, a „H” nem szerkeszthető mező

(hivatal tölti ki). Az XML készítésekor csak az „A” jelzésű mezőket vesszük

figyelembe.

A 18. ábra ezt ábrázolja. A 1365M nyomtatvány negyedik, vagyis D lapján állunk. Ennek a

lapnak már lehetnek dinamikus lapjai, most is a második (0002) lapon állunk. A mező a C

blokkban van, ami egy táblázat, annak is az első (0001) sorának első (A) oszlopában.

Page 33: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 33

18. ábra

<mezok>

<mezo eazon="0A0001C001A">12345678901</mezo>

<mezo eazon="0A0001C004A">Demo Hungary Zrt.</mezo>

<mezo eazon="0A0001C005A">87654321</mezo>

<mezo eazon="0A0001C007A">Alpha Hungary Kft.</mezo>

<mezo eazon="0A0001D001A">20130101</mezo>

<mezo eazon="0A0001D002A">20130331</mezo>

<mezo eazon="0B0001B001A">1</mezo>

<mezo eazon="0A0001E0006DA">65994</mezo>

<mezo eazon="0D0001C0001AA">61008048 B13-008048</mezo>

<mezo eazon="0D0001C0001BA">20130102</mezo>

<mezo eazon="0D0001C0001CA">28405</mezo>

<mezo eazon="0D0001C0001DA">7669</mezo>

<mezo eazon="0D0001C0002AA">61008254 B13-008254</mezo>

<mezo eazon="0D0001C0002BA">20130103</mezo>

<mezo eazon="0D0001C0002CA">9412</mezo>

<mezo eazon="0D0001C0002DA">2541</mezo>

<mezo eazon="0D0002C0019AA">61025989 B13-025989</mezo>

<mezo eazon="0D0002C0019BA">20130328</mezo>

<mezo eazon="0D0002C0019CA">16877</mezo>

<mezo eazon="0D0002C0019DA">4557</mezo>

<mezo eazon="0D0002C0020AA">61025993 B13-025993</mezo>

<mezo eazon="0D0002C0020BA">20130329</mezo>

<mezo eazon="0D0002C0020CA">22479</mezo>

<mezo eazon="0D0002C0020DA">6069</mezo>

<mezo eazon="0D0002C0021AA">961015524 B13-015524</mezo>

<mezo eazon="0D0002C0021BA">20130215</mezo>

<mezo eazon="0D0002C0021CA">17264</mezo>

<mezo eazon="0D0002C0021DA">4661</mezo>

</mezok>

</nyomtatvany>

</nyomtatvanyok>

Page 34: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 34

5.2. EDI alapú dokumentumcsere

Partnerünk egyik ügyfele 2013. júliusától csak EDI formában benyújtva fogad el számlákat,

ezért szükséges volt az EDI alapú integráció bevezetése ehhez az ügyfeléhez. Partnerünk

beszállítója ennek az ügyfelének, így a következőkben beszállító és kereskedő néven fogom

őket említeni.

A kapott formátumleírás, ami alapján a fejlesztést el kell végeznünk, az GS1 EANCOM

ajánlására épül. A GS1 Hungary által kiadott szabvány négy szabványos üzenettípust

különböztet meg [12]:

INVOIC (Számla)

ORDERS (Megrendelés)

DESADV (Szállítási értesítés)

RECADV (Átvételi értesítés)

A kereskedőtől kapott szegmensleírás csak az INVOIC típusra tér ki, mivel csak számlák

küldéséről van szó. A szegmensleírás három szakaszból áll:

Számla fejléc szakasz: a számla fejadatai

Számla soros bontása: sorok

Számla összesítő szakasz: összegzések, végösszeg, stb.

5.2.1. EDI szegmensek

Az EDI üzenet szegmensekből áll. Több száz féle szegmens létezik, mindegyik más típusú

adatot képes tárolni. Néhány, fontosabb szegmens, melyeket mi is használunk a feladat során,

ahol lényeges, kiegészítve a kapott leírás pontjaival [13] [14] [15]:

5.2.1.1. UNA – Service String advice

Ez a szegmens nem kötelező. A szegmens feladata definiálni a kommunikáció során az

elválasztó karaktereket: a szegmens terminátort, az elemi adat szeparátort, az adatcsoport

szeparátort és a törlő karaktert. Például egy ilyen UNA szegmens:

UNA:+.? '

azt jelenti, hogy:

1. : – adatcsoport szeparátor, a szegmensen belüli adatcsoportok elválasztásához

2. + – elemi adat szeparátor, a szegmensen belül ezzel választjuk el az egyes elemeket

3. . – decimális elválasztó

4. ? – törlő karakter

5. (szóköz) – kötelezően szóköz

6. ' – szegmens terminátor, ezzel a karakterrel zárjuk le a szegmenst

Page 35: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 35

EDI üzenetben nem szokás sortöréseket használni.

5.2.1.2. UNB

Hasznos adatmennyiség fejléc szegmens, kötelező mező. Ebben a szegmensben azonosítják

egymást a felek az adatcseréhez, illetve tartalmaz egy egyedi azonosítót is, mellyel az üzenetet

azonosíthatjuk.

A felek azonosításához GLN (Global Location Number) kódot használunk, melyet

Magyarországon a GS1 Hungary adhat ki.

Ebben a szegmensben jelölhetjük azt is, hogy teszt üzenetről van-e szó, vagy sem.

5.2.1.3. UNH

Üzenet fejléc szegmens, kötelező mező. Ez a szegmens határozza meg az üzenet típusát: ez

nálunk mindig INVOIC típus lesz.

5.2.1.4. BGM

Az üzenet kezdete, kötelező mező. Meghatározza, hogy milyen számláról van szó

(kereskedelmi vagy helyesbítő számla), és a számla azonosítóját.

5.2.1.5. DTM

Dátum/idő/intervallum szegmens. Az üzenetben több DTM szegmens is szerepel, ezek:

Dokumentum/üzenet dátum

Szállítási dátum

Adófizetési kötelezettség keletkezésének időpontja

Szállítólevél dátuma

Megrendelés dátuma

5.2.1.6. RFF

Hivatkozások szegmense. Hivatkozhatunk a következőkre:

ON – megrendelés száma

DQ – szállítólevél száma

IV – számlaszám (például helyesbítő számla esetén az eredeti számla száma)

VA – adószám (ez esetben az EU-s adószámot kell feltüntetni minden esetben, tehát a

HU12345678 formájút)

5.2.1.7. FTX

Szabad szöveg (free text). Az FTX szegmensekbe szabad szöveget írhatunk (például általános

információk, számlára írandó szövegek, stb.).

Page 36: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 36

5.2.1.8. NAD

Név és cím (Name and Address) szegmens. Három résztvevőnk van, melyeknek a nevét és

címét fel kell tüntetni egy-egy NAD szegmensben:

BY – vevő

DP – szállító

SU – beszállító

5.2.1.9. CUX

Pénznemek szegmense. Referencia, számlázási és célpénznemeket használunk.

5.2.1.10. QTY

Mennyiség. Jelölni kell, hogy milyen típusú mennyiségről van szó (pl. számlázott vagy

leszállított mennyiség), valamint a mértékegység (a mi esetünkben ez lehet darab vagy

kilogramm).

5.2.1.11. MOA

Pénzösszeg szegmens. Ebbe a szegmensbe írhatjuk a számlán megjelenő pénzösszegeket,

például a végösszeget, adóösszeget, soronkénti összeget, stb.

5.2.1.12. PRI

Árinformáció. Ebben a szegmensben adhatjuk meg a termékek nettó/bruttó egységárát.

5.2.1.13. TAX

Illeték/adó/díjinformáció, az adókulcs megadására használjuk.

5.2.1.14. UNT

Üzenet lezáró szegmens, kötelező mező. Az egyes üzenetek (dokumentumok) végét jelzi.

5.2.1.15. UNZ

Hasznos adatmennyiség lezáró szegmens, kötelező mező. Ez a szegmens jelzi az EDIFACT

csere végét.

5.2.2. Kommunikáció módja

A kommunikációhoz az AS2 (Applicability Statement 2) protokollt használjuk. Az AS2

jelenleg a legnépszerűbb protokoll az interneten keresztül történő biztonságos és hiteles

adatforgalmazásra [16]. A biztonságot titkosítás és digitális aláírás (privát-publikus

kulcspárok) biztosítják.

Az AS2 egy HTTPS és S/MIME (Secure/Multipurpose Internet Mail Extensions) alapú

szabvány. Az üzeneteket egy borítékba csomagolja, majd http-n vagy https-en keresztül

továbbítja a címzettnek. Az üzenetek lehetnek titkosítva és/vagy aláírva, de az AS2 egyiket

Page 37: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Integrációs feladatok ismertetése 37

sem követeli meg. Az üzenetek kérhetnek MDN-t (Message Disposition Notification –

„visszajelzés” arról, hogy az üzenet megérkezett-e/elolvasta-e a címzett, stb.), de ez szintén

nem kötelező.

Page 38: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 38

6. Feladat megvalósítása: ÁNYK adatexport

A feladat megvalósításának bemutatását négy részre bontottam: az első rész a felhasználói

interfész, a második az adatok lekérdezése az adatbázisból, a harmadik az adatok feldolgozása,

végül a negyedik az XML fájl exportálása.

6.1. Felhasználói interfész

19. ábra

A grafikus felület nagyon egyszerű. A Pénzügy menüben elhelyeztem egy „ÁNYK export”

menüpontot, amire kattintva megjelenik az ÁNYK export ablak (19. ábra). A periódust két

legördülő menüvel lehet megadni (a könyvelési periódusok közül választhat a felhasználó).

Erre azért van szükség, mert van olyan cég, ahol nem havonta, hanem negyedévente vagy

évente nyújtják be az ÁFA bevallást. Ha csak egyhavi adatot szeretnénk exportálni, ugyanazt a

periódust választjuk ki mindkét mezőben. Mindkét mező kitöltése kötelező, ha valamelyik

hiányzik, hibaüzenetet kapunk.

Az Export gombra kattintva egy fájlböngésző ablak jelenik meg, ahol megadhatjuk az

exportálni kívánt fájl helyét és nevét, majd elindul az exportálás.

6.2. Lekérdezés

Az SAP 1814330-as számú note-jában közzétette az adatok lekérdezéséhez szükséges tárolt

eljárásokat. Három eljárásról van szó: két kisebb segédfüggvény, valamint egy nagy eljárás

(PrepareTaxReportData), ami az adatokat gyűjti össze.

A PrepareTaxReportData eljárással kapott adatokon még dolgozni kellett, hogy használható

adatokat kapjak, ehhez írtam egy sp_iq1_anykexport nevű tárolt eljárást, ami a következőket

csinálja:

Létrehoz egy ideiglenes táblát

Lefuttatja a PrepareTaxReportData eljárást, az eredményét beleteszi az ideiglenes

táblába

Az ideiglenes táblából kinyeri a megfelelő adatokat a megfelelő struktúrában, hogy

abból az addon felépíthesse a megfelelő XML struktúrát

Page 39: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 39

A megfelelő adatok előállítása korántsem volt egyszerű feladat, mivel több ügyfelünk van,

akik az addont használni akarták. Ez főleg a partnerek adószámainál okozott problémát,

ugyanis kétféle adószámot is tárolhatunk a partnereknél: tárolhatjuk egyrészt a magyar

adószámot, amit az 5.1.3-as fejezetben ismertettem (8-1-2 formátumban), viszont tárolhatjuk a

közösségi (EU-s) adószámot is. A Magyarországon kiadott közösségi adószám áll egy „HU”

előtagból, és a nyolcjegyű törzsszámból. Tehát az 12345678-1-12 magyar adószám EU-s

megfelelője a HU12345678.

Ez azért probléma, mert a 1365M nyomtatványon csak a partner nyolcjegyű adóazonosítóját

kell feltüntetni, amit mindkét adószámból könnyű előállítani egy egyszerű LEFT, illetve

RIGHT SQL-függvénnyel, de értelemszerűen nem mindegy, mikor melyiket használjuk.

Adószámok tárolására több mezőt is használhatunk a partnerek táblájában (OCRD), sőt, a

bizonylatokon (számla, helyesbítés, stb.) is fel lehet tüntetni a partner adószámát. Mi azt a

megoldást választottuk, hogy nem a bizonylatról, hanem a partnertörzsből vesszük az

adószámot, ehhez viszont definiálni kellett, melyik mezőben melyik adószámot tároljuk:

OCRD.LicTradNum: EU-s adószám

OCRD.VatIdUnCmp: magyar adószám

A lekérdezést az addonból így futtatjuk:

DECLARE

@PeriodStart nvarchar(255)

,@PeriodEnd nvarchar(255)

SET @PeriodStart = '{PeriodStart}'

SET @PeriodEnd = '{PeriodEnd}'

exec [dbo].[sp_iq1_anykexport] @PeriodStart, @PeriodEnd, 'Y'

A @PeriodStart és @PeriodEnd paramétereket a formról olvassuk le és adjuk át a

lekérdezésnek. Az sp_iq1_anykexport utolsó paramétere egy Y vagy N karakter, azt jelölve,

hogy az addon (Y) vagy nem az addon (N) futtatja-e az eljárást. Erre azért van szükség, mert

az eljárást a Lekérdezéskezelőből is lehet futtatni riportként, ekkor viszont egy bővített

riportot kapunk.

Az eredményre egy példa (addonból való futtatás esetén):

Adószám_

elsõ_8_

karaktere ÜP név

Ûrlap

kód

Bizony

lat

szám

Szall

Ref

Szam

Elõzmény_

RefSzam

Korrekció_

típus

12101517

Boro

Zoltán AR01 226

12101517

Boro

Zoltán AR01K 226

E

12101517

Boro

Zoltán AR01K 10

K

23460900

Eszet

Lenke AP02 252

E

23460900

Eszet

Lenke AP6D 251

E

Page 40: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 40

Alap

bizonylat_

száma

Bizonylat

dátum Adó dátum ÁFA_Alap

ÁFA_

összeg

2MFt_alatti

_ÁFA_összeg

2013-01-28

00:00:00.0

00

2013-01-28

00:00:00.00

0

8000.0000

0000000

2160.0000

0000000 0.000000

2013-01-28

00:00:00.0

00

2013-01-28

00:00:00.00

0

8000.0000

0000000

2160.0000

0000000 0.000000

226

2013-02-01

00:00:00.0

00

2013-02-01

00:00:00.00

0

-

8000.0000

0000000

-

2160.0000

0000000 0.000000

2013-01-28

00:00:00.0

00

2013-01-28

00:00:00.00

0

12000.000

00000000

3240.0000

0000000 1080.000000

2013-01-28

00:00:00.0

00

2013-01-28

00:00:00.00

0

4000.0000

0000000

1080.0000

0000000 1080.000000

Az oszlopok magyarázata:

Adószám_első_8_karaktere: a partner adószáma (nyolcjegyű törzsszám)

ÜP név: a partner neve

Űrlapkód: a nyomtatvány melyik lapjára kerül a bizonylat

o AP6D: első lap

o AR01: 01

o AR01K: 01-K

o AP02: 02

o AP02K: 02-K

Bizonylatszám: a bizonylat száma

SzallRefSzam: szállítói referenciaszám (ha van)

Előzmény_RefSzam: előzmény referenciaszáma (ha van)

Korrekció_típus: ha a 01-K vagy 02-K lapra kerül a bizonylat (tehát az űrlapkód

AR01K vagy AP02K), a korrekció típusa (E, K, KT)

Alapbizonylat_száma: ha a 01-K vagy 02-K lapra kerül a bizonylat (tehát az űrlapkód

AR01K vagy AP02K), az alapbizonylat száma

Bizonylatdátum: bizonylatdátum (TaxDate)

Adódátum: adódátum (VatDate)

ÁFA_Alap: az áfaalap

ÁFA_összeg: az áfa összege

2MFt_alatti_ÁFA_összeg: az első lapra kerülő áfaösszeg (tehát az űrlapkód AP6D)

Feldolgozáskor az űrlapkódtól függően vesszük figyelembe a további mezőket. Tehát, ha az

űrlapkód AP6D, vagyis a nyomtatvány legelső oldaláról van szó, ahova a kétmillió forint

áfaösszeget nem meghaladó számlák összesített áfaösszege kerül, akkor nem vesszük

figyelembe például a bizonylatszám és korrekciótípus mezőket.

Page 41: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 41

6.3. Adatfeldolgozás

A lekérdezés eredményét egy RecordSetbe teszem, majd ezen végighaladva feldolgozom a

kapott adatokat. Az adatokat a következő osztályok segítségével tárolom el (20. ábra):

20. ábra

A Mezo osztály az egyes mezők tárolására szolgál. Az attrval változó az attribútum (vagyis az

XML-ben az eazon attribútum) értékét tárolja, míg a value a mező értékét.

A Nyomtatvany osztállyal a 1365A nyomtatványt kezeljük, míg az AlNyomtatvany osztállyal

a 1365M-eket. Erre a leszármaztatásra azért volt szükség, mert, bár a felépítésük közel azonos,

a 1365M nyomtatványokban a partner nevét és adószámát is tároljuk. A

nyomtatvanyInformacio függvényt, amivel a nyomtatványinformáció node-ot állítjuk elő az

XML-ben ki is egészítettem ebben az osztályban.

Az adatok tárolásához listákat használok. Egy nagy Nyomtatvany listában tárolom az összes

nyomtatványt, ehhez adom hozzá sorban a nyomtatványokat.

A 1365M nyomtatvány öt oldalának (kétmillió forint alatti áfa összegű bizonylatok, 01, 01-K,

02 és 02-K, ahogy azt az 5.1-es fejezetben részleteztem) öt listát feleltettem meg. Ahogy

végighaladok a rekordokon, az űrlapkódnak megfelelő listába teszem az értékeket. Amikor

végére értem az adott partnernek, az öt kis listát hozzáadom a partner nyomtatványának mezok

listájához, és továbblépek az új partnerre (mivel az eredményt partner adószámra rendezve

kapom a lekérdezéstől, ez nem fog problémát okozni).

6.4. XML export

Elértünk hát arra a pontra, hogy van egy nagy Nyomtatvany objektumokból álló listánk. Az

első eleme a 1365A, és őt követik a 1365M nyomtatványok. Most következik, hogy egy

XML-t kéne belőle generálni, majd ezt elmenteni egy fájlba. Az eddigiek után ez már

meglepően könnyű feladat volt.

XML exportálással már találkoztam munkám során, így volt alkalmam utánanézni, milyen

lehetőségeket kínál a C#. Három módszert próbáltam ki:

Page 42: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 42

6.4.1. DataSet

Az XML-t leíró XSD fájl alapján felépít egy adatstruktúrát, melyet feltölthetünk adatokkal,

majd ezt XML formában exportálhatjuk. Sajnos az XML exportálási képességei erősen

korlátozottak: sem a node-ok sorrendjét nem lehet megváltoztatni, és az attribútumok

kezelését sem sikerült megoldanom vele, így ezt a megoldást ezúttal is elvetettem.

6.4.2. XMLWriter

Egy korábbi fejlesztés során nagyon jó szolgálatot tett, miután a DataSettel nem sikerült

megoldani a feladatot. Lineárisan halad végig az elemeken és építi fel az XML fastruktúráját,

ezáltal gyors, kis erőforrás-igényű, cserébe viszont együtt kell élnünk a linearitásból fakadó

kellemetlenségekkel. Nagy mennyiségű adat feldolgozásához ezt érdemes használni.

Egy példa az XMLWriter használatára:

using (XmlWriter writer = XmlWriter.Create(fileName, xmlwritersettings))

{

writer.WriteStartDocument();

writer.WriteStartElement("Adatok");

writer.WriteAttributeString("xmlns", "xsi", null,

"http://www.w3.org/2001/XMLSchema-instance");

writer.WriteAttributeString("xmlns", "xsd", null,

"http://www.w3.org/2001/XMLSchema");

writer.WriteStartElement("XMLAdatok");

writer.WriteElementString("Verzio", xmladatok.verzio);

writer.WriteStartElement("LetrehozoProgram");

foreach (Node n in xmladatok.letrehozoprogram)

{

writer.WriteElementString(n.tag, n.value);

}

writer.WriteEndElement();

writer.WriteElementString("Letrehozva", xmladatok.letrehozva);

...

writer.WriteEndElement();

writer.WriteEndElement();

writer.WriteEndDocument();

}

6.4.3. XDocument és Linq

A jó megoldás most ez volt.

Az XDocument egy XML dokumentumot reprezentál. Mikor elkészült a lista, egy egyszerű

Linq (Language-Integrated Query) segítségével egy XDocumentet építünk belőle:

XNamespace xmlns = "http://www.apeh.hu/abev/nyomtatvanyok/2005/01";

document = new XDocument(

new XElement(xmlns + "nyomtatvanyok",

nyomtatvanyok.Select(ny =>

new XElement(xmlns + "nyomtatvany",

ny.nyomtatvanyInformacio(xmlns),

new XElement(xmlns + "mezok",

ny.mezok.Select(x => new XElement(xmlns + "mezo",

new XAttribute("eazon", x.attrval), x.value))

)))

));

Page 43: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: ÁNYK adatexport 43

És ennyi, kész is vagyunk. A leszármaztatásnak köszönhetően együtt tudjuk kezelni a kétféle

nyomtatványt úgy, hogy a 1365M nyomtatvány nyomtatvanyinformacio node-ja is

megfelelően legenerálódik.

6.5. XML fájl mentése

Megvan tehát az XDocumentünk, már csak ki kéne írni fájlba. A fájl neve is megvan, hiszen

azt a felhasználónk megadta.

A fájl írásához visszatérünk a már említett XMLWriterre, mivel nem csak kézzel tudunk vele

XML fájlt írni, hanem egy kész XDocumentet is ki tud írni.

XmlWriterSettings xmlwritersettings = new XmlWriterSettings();

xmlwritersettings.Encoding = Encoding.UTF8;

xmlwritersettings.Indent = true;

using (XmlWriter xmlwriter = XmlWriter.Create(fileName, xmlwritersettings))

{

document.Save(xmlwriter);

}

Az XmlWriterSettingsszel tudjuk megmondani, hogy hogyan formázza az XML-t. Az ÁNYK

UTF-8 karakterkódolást igényel, és a behúzásokat is megköveteli (Indent = true).

Page 44: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: EDI alapú dokumentumcsere 44

7. Feladat megvalósítása: EDI alapú dokumentumcsere

A feladat megvalósításának bemutatását ezúttal három részre bontottam: a felhasználói

interfész, az adatok lekérdezése és feldolgozása, valamint az adatok elküldése fejezetekre.

A fejlesztést áprilisban kezdtük el, az éles indulás júliusban lesz. Mivel a kereskedő nagyon

sok beszállítóval dolgozik, a tesztelésre szigorúan szabályozott keretek között kerül sor,

pontosan betartott határidők között. Tesztelési ablakot június elejére kaptunk, ezért nem

beszélhetek elkészült, ellenőrzött, tesztelt fejlesztésről, hiszen erre még nem volt

lehetőségünk.

7.1. Felhasználói interfész

Szükség van egy felhasználói felületre, ahol ellenőrizni lehet, hogy a megfelelő számlák

elküldésre kerültek-e, és az elküldés sikeres volt-e. Erre legegyszerűbb megoldás, ha az

Értékesítés menüben elhelyezünk egy menüpontot „EDI számlaküldés” névvel, amire

rákattintva megjelenik egy ablak (21. ábra).

21. ábra

A dátum tól-ig mezőkben, ha kiválasztunk egy érvényes intervallumot, a táblázat feltöltődik az

adott intervallumban kiállított számlákkal, megjelenítve a számla adatait, köztük azt, hogy a

számla el lett-e már küldve.

A sorok elejére kattintva a Ctrl gombot nyomva tartva kiválaszthatjuk az újraküldeni kívánt

számlákat, majd a „Kijelölt számlák újraküldése” gombra kattintva azokat újra elküldhetjük.

Page 45: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Feladat megvalósítása: EDI alapú dokumentumcsere 45

7.2. Adatok lekérdezése és feldolgozása

Az EDI-hoz szükséges adatok tárolásához szükség volt egy új tábla létrehozására, amiben a

partnerhez kapcsolva eltárolhatjuk őket. A tábla a következőképpen néz ki:

Tábla neve: [@IQ1EDIBP]

Mező neve Típus Leírás

U_CardCode NVARCHAR(15) Partner kódja (OCRD.CardCode)

U_GLN NVARCHAR(35) Partner GLN kódja

U_OwnGLN NVARCHAR(35) Saját GLN kódunk

U_ShipGLN NVARCHAR(35) Szállító GLN kódja

U_Comments NVARCHAR(254) Számlára írt információ

Az EDI üzenet előállításához szükség volt egy keretrendszerre. Ezt nem én készítettem, az én

feladatom az volt, hogy ennek a felhasználásával állítsam elő az elküldhető dokumentumot.

Amikor a keretrendszernek az EDI INVOIC dokumentumot reprezentáló részét megkaptam,

nekiláthattam a szükséges adatok összegyűjtéséhez. Az osztály neve Invoic, ezért így fogok

majd rá hivatkozni.

Az adatok összegyűjtése nem volt egyszerű feladat, mivel nagyon sokféle adatról van szó, és a

kapott szegmensleírás sem volt mindenhol egyértelmű. Ugyan még mindig maradt néhány

kérdéses pont, az osztály és a keretrendszer tesztelését így is meg tudtam kezdeni.

Mivel az Invoic osztály változóinak elnevezése a szegmensleíráshoz igazodik, hogy a

dolgomat megkönnyítsem, első lépésben létrehoztam egy osztályt, amiben a változók neve az

általuk tárolt adatról árulkodik. Például abból, hogy ez most egy DTM szegmens, csak annyit

tudok meg, hogy valamiféle dátumot kell neki megadnom. Viszont, ha azt mondom, hogy ez

például egy bizonylatdátum, akkor tudom, hogy itt a számlára vonatkozó TaxDate-nek kell

benne lennie.

Ebbe az objektumba le tudom kérdezni az adatbázisból a szükséges adatokat, hogy majd

ezekkel az adatokkal töltsem fel az Invoic objektumot.

Az SBO-ban a számlák fejadatait az OINV tábla tartalmazza, míg a soradatokat az INV1

táblában találjuk. A két táblát a DocEntry mező alapján kapcsolhatjuk össze, így az adatok

lekérdezéséhez két SQL lekérdezést írtam:

Az első lekérdezi az adatbázisból azoknak a számláknak a szükséges fejadatait, amik

még nem voltak sikeresen elküldve.

A második az adott számlának lekérdezi a szükséges soradatait.

Page 46: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

46

Az első lekérdezést lefuttatva végigmegyek annak az eredményén, feldolgozom a fejadatait,

majd lekérdezem a hozzá tartozó sorokat. Így feltöltöm az INVOIC objektumot a kívánt

adatokkal, amiből ezután legenerálhatom.

7.3. Számlák elküldése

A számlák elküldése és a válasz feldolgozása az utolsó lépés a feladat megvalósításában.

Ennek a pontnak az elkészítése még folyamatban van.

A kommunikációhoz az AS2 protokollt használjuk, az üzenetküldő modulhoz egy online

tutorial [17] segítségét vettem igénybe. A tutorial (és kiegészítése, egy AS2 fogadó modul

[18]) segítségével már sikerült célba juttatni AS2 üzeneteket, egyelőre titkosítás nélkül.

A példakód az X.509-es szabványú tanúsítvánnyal történő aláírást használja, ezt én most

kihagytam, mivel nem ezt fogjuk használni. Az X.509 szabvány a 80-as évekből származik,

melyben nevekhez rendelünk nyilvános kulcsokat [19]. Nekem a titkosításhoz a 3DES

algoritmust kell majd használnom, illetve aláíráshoz az SHA-1-et.

A 3DES (Triple DES) a DES (Data Encryption Standard) algoritmust alkalmazza az egyes

adatblokkokon, csak háromszor. A DES 56 bites kulcsokat használ, mely a 70-es években még

elegendőnek bizonyult, azonban a számítógépek fejlődésével a brute-force feltörhetővé vált.

Ezt küszöböli ki a 3DES, mely a DES háromszori alkalmazásával ezt megnehezíti.

Az SHA-1 egy hashelési algoritmus, az SHA (secure hash algorithm) függvények egyike.

1995. óta használják, de ma már inkább az SHA-2, SHA-3 algoritmusokat ajánlják helyette.

A .NET 4.5-ben a System.Security.Cryptography namespace-ben találunk osztályt mind a

3DES (TripleDES), mind az SHA-1 (SHA1) algoritmusok megvalósítására. A továbbiakban

ezzel az üzenetküldő kóddal fogok majd dolgozni, cél a titkosítás megvalósítása, végül a két

rész összeillesztése.

Page 47: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Összefoglalás és kitekintés 47

Összefoglalás és kitekintés

Munkám első fejezeteiben bemutattam az integrált vállalatirányítási rendszereket, kiemelve

közülük is az SAP Business One-t, és a fejlesztői eszközöket. Ezután a használt integrációs

eszközöket mutattam be, két széles körben használt eszközt: az XML-t és az EDI-t, azon belül

is az EDIFACT EANCOM INVOIC dokumentumtípust.

Ezeket követően részleteztem a két megvalósításra váró addont, az ÁNYK XML exportot,

mely egy, az ÁNYK-ba importálható 1365M nyomtatványt hoz létre XML fájlként, valamint

az EDI alapú adatcserét.

Végül bemutattam a megvalósítás sarkalatos pontjait és az elkészült pontokat.

Az ÁNYK export addon február óta működik az ügyfeleknél. Folyamatosan karbantartjuk,

figyelve és ellenőrizve mind a NAV által kiadott ÁNYK és 1365 nyomtatvány frissítéseket,

mind az SAP által kiadott note-okat.

Az EDI integráció fejlesztése most is folyik. Mivel a kereskedőtől kapott tesztelési időszakunk

június elejére esik, ekkorra kell elkészülnie a kommunikáció egy tesztelhető verziójának, és

július elsejével éles indulás lesz, tehát eddigre hiba nélkül kell működnie.

Page 48: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Köszönetnyilvánítás 48

Köszönetnyilvánítás

Köszönöm a sok segítséget a T-Systems SBO-s csapatának: Balázs Andrásnak, Tóth

Ádámnak, Pribék Ádámnak, Madarász Ákosnak, Hamarák Istvánnak, Karner Zoltánnak, de

leginkább konzulensemnek, Hernádi Bálintnak.

Köszönöm Vető Istvánnak a belső konzulensi szerep elvállalását, valamint Kiss Tímeának és

Kurczina Gergőnek a támogatást és bíztatást, akik nélkül ez a dolgozat soha nem készült volna

el.

Page 49: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Rövidítések jegyzéke 49

Rövidítések jegyzéke

NAV: Nemzeti Adó- és Vámhivatal

ÁNYK: Általános Nyomtatványkitöltő Program

ÁFA: Általános Forgalmi Adó

SBO: SAP Business One

EDI: Electronic Data Interchange

UN/EDIFACT: United Nations/Electronic Data Interchange For Administration, Control and

Transport

XML: Extensible Markup Language

W3C: World Wide Web Consortium

ERP: Enterprise Resource Planning (vállalati erőforrás-tervezés), magyarul integrált

vállalatirányítási rendszernek nevezzük

MRP I.: Material Requirements Planning, anyagszükséglet-tervezés

MRP II.: Manufacturing Resource Planning, gyártási erőforrás-tervezés

SDK: Software Development Kit, szoftverfejlesztő készlet

SQL: Structured Query Language

UID: Unique ID, egyedi azonosító

API: Application Programming Interface, alkalmazás-fejlesztési interfész

UI API: User Interface API, felhasználói interfész API

DI API: Data Interface API, adat interfész API

UDT: User Defined Table, felhasználó-definiált tábla

UDO: User Defined Object, felhasználó-definiált objektum

UDF: User Defined Field, felhasználó-definiált mező

SCN: SAP Community Network

DES: Data Encryption Standard

SHA: secure hash algorithm

Page 50: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Irodalomjegyzék 50

Irodalomjegyzék

[1] T. F. Wallace és M. M. Kremzar, ERP: Making It Happen – The Implementers’ Guide to

Success with Enterprise Resource Planning, New York: John Wiley & Sons, Inc., 2001.

[2] J. Hetyei, ERP rendszerek Magyarországon a 21. században, 2. kiadás, Budapest:

ComputerBooks, 2009.

[3] W3C, „Extensible Markup Language (XML) 1.0 (Fifth Edition),” 7. február 2013..

[Online]. Available: http://www.w3.org/TR/REC-xml/. [Hozzáférés dátuma: 11. május

2013.].

[4] United Nations Economic Commission for Europe (UNECE), „Introducing

UN/EDIFACT,” [Online]. Available: http://www.unece.org/cefact/edifact/welcome.html.

[Hozzáférés dátuma: 11. május 2013.].

[5] Nemzeti Adó- és Vámhivatal, „2003. évi XCII. törvény az adózás rendjéről,” 14.

szeptember 2003.. [Online]. Available:

net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=A0300092.TV. [Hozzáférés dátuma: 1. május

2013.].

[6] Jogi Fórum / MTI , „Tételes belföldi összesítő nyilatkozat - Január 1-től jelentősen

megnövekedett az áfabevallások adattartalma,” 19. február 2013.. [Online]. Available:

http://www.jogiforum.hu/hirek/29064. [Hozzáférés dátuma: 1. május 2013.].

[7] Á. Kása-Forgács, „ÁFA, ART, Helyi adók,” 17. december 2012.. [Online]. Available:

http://www.mgi-

bpo.hu/fajlok/hirlevel/ADO%202013_%20AFA%20ART%20Helyi%20adok.pdf.

[Hozzáférés dátuma: 1. május 2013.].

[8] Nemzeti Adó- és Vámhivatal, „Nemzeti Adó- és Vámhivatal,” 2013.. [Online].

Available: http://nav.gov.hu. [Hozzáférés dátuma: 14. május 2013.].

[9] Nemzeti Adó- és Vámhivatal, „NAV – 1365,” 12. április 2013.. [Online]. Available:

http://www.nav.gov.hu/nav/letoltesek/nyomtatvanykitolto_programok/nyomtatvanykitolt

o_programok_nav/bevallasok/1365.html. [Hozzáférés dátuma: 28. április 2013.].

[10] Nemzeti Adó- és Vámhivatal, „Tételes belföldi ÁFA összesítő jelentés 2013. január 1-

jétől – 1365M nyomtatványrész (és kapcsolódó 1365A lapok) tervezete közös

azonosítókkal és kitöltési útmutató tervezet,” 28. szeptember 2012.. [Online]. Available:

http://www.nav.gov.hu/nav/letoltesek_egyeb/nyomtatvanytervezetek_2013/1365_nyomta

Page 51: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Irodalomjegyzék 51

tvanytervezet.html. [Hozzáférés dátuma: 27. április 2013.].

[11] Nemzeti Adó- és Vámhivatal, „A járulékbevallások XML formátuma,” 12. június 2009..

[Online]. Available:

http://www.nav.gov.hu/data/cms9161/ABEV_XML_leiras__v9.0.pdf. [Hozzáférés

dátuma: 28. április 2013.].

[12] GS1 Hungary, „EDI üzenetek,” 31. október 2011.. [Online]. Available:

http://www.gs1hu.org/tudastar/questions/66/EDI+%C3%BCzenetek. [Hozzáférés

dátuma: 12. május 2013.].

[13] United Nations Economic Commission for Europe (UNECE), „Part 4. UN/EDIFACT

Rules - Chapter 2.2 Syntax Rules - Annex B,” [Online]. Available:

http://www.unece.org/tradewelcome/areas-of-work/un-centre-for-trade-facilitation-and-e-

business-uncefact/outputs/standards/unedifact/tradeedifactrules/part-4-edifact-rules-for-

electronic-data-interchange-for-administration-commerce-and-transport/part-4-un.

[Hozzáférés dátuma: 13. május 2013.].

[14] EDI Services, „List of Commonly Used EDI Segments,” 2007.. [Online]. Available:

http://www.edi-services.com/commonly-used-edi-segments.htm. [Hozzáférés dátuma:

13. május 2013.].

[15] Sage Ltd., „EDIFACT Invoice ASCII File Layout Segments,” 2012.. [Online]. Available:

http://www.sage.co.uk/sage1000v2_1/form_help/workingw/subfiles/edifact_invoice_seg

ments.htm. [Hozzáférés dátuma: 13. május 2013.].

[16] GXS Ltd., „EDI AS2-ön keresztül,” [Online]. Available: http://www.edibasics.hu/types-

of-edi/edi-via-as2.htm. [Hozzáférés dátuma: 13. május 2013.].

[17] M. Frear, „Send an AS2 message with .NET,” 13. július 2010.. [Online]. Available:

http://mattfrear.com/2010/07/13/send-as2-with-dotnet/. [Hozzáférés dátuma: 13. május

2013.].

[18] M. Frear, „Receiving AS2 messages with .NET,” 3. január 2011.. [Online]. Available:

http://mattfrear.com/2011/01/03/receiving-as2-messages-with-net/. [Hozzáférés dátuma:

13. május 2013.].

[19] M. Pásztor, „Kulcs-kérdések a digitális aláírásban,” 19. április 2001.. [Online].

Available: http://deneb.iszt.hu/~pasztor/kulcsk.html. [Hozzáférés dátuma: 13. május

2013.].

[20] GS1 Hungary, „Elektronikus kereskedelem,” 31. október 2011.. [Online]. Available:

Page 52: XML és EDI alapú integrációs kapcsolat kialakítása SAP Business …users.itk.ppke.hu/~buzan/szakdolgozat_msc/buzsaky_andrea... · 2013-05-16 · XML és EDI alapú integrációs

Irodalomjegyzék 52

http://www.gs1hu.org/tudastar/questions/65/Elektronikus+kereskedelem. [Hozzáférés

dátuma: 12. május 2013.].

[21] GXS Ltd., „AS2 Basics,” [Online]. Available: http://www.as2basics.co.uk. [Hozzáférés

dátuma: 13. május 2013.].