A program lehetővé teszi számunkra, hogy az adatbázisban található szállítói és vevői pénzügyi bizonylatok (számlák) kontírozását a számla alap és áru tétel adatainak felhasználásával, a program által segítve végezzük el. Így nem szükséges a számlák kontírozáshoz való újbóli kézbe vétele, valamint az értékadatok újbóli beírását is mellőzni tudjuk.
(PSzaAru) előállítja a kontírozási fej (FKntFej) és tételadatokat (FKntTet).
A kontírozási módok:
1.Egyedi:
A kontírozás a számla fej karbantartó képernyő számviteli adatok fülén a [Kontírozás] gomb
megnyomásával végezhető el.
2. Csoportos:
A kontírozást a számla előtétszűrés képernyőn is végrehathatjuk a [Csoportos kontírozás] gomb
megnyomása után. Az előtétszűrés képernyőről indított kontírozás minden a szűrési feltételnek megfelelő számlát kikontíroz, amely megfelel a kontírozási feltételeknek is. A kontírozást a program az előtétszűrés képernyőn lévő bizonylatok sorrendjében végzi el a program. Amennyiben olyan tétel van az előtétszűrés képernyőn, amelyik nem felel meg a kontírozási feltételeknek, annál a tételnél hibaüzenet ad a program. Az üzenet nyugtázása után a program átlép a következő tétel kontírozására.
A kontírozás elvégzése után a program megmutatja a kontírozás eredményét a képernyőn. Ezen a képernyőn elvégezhetjük a kontírozott tételek könyvelését is.
A kontírozás feltételei:
0. Minden pénzügyi bizonylatra (számlára) vonatkozóan:
PSzaAla.FokAll='0' (Alap – Kontírozatlan főkönyvi állapot) And
PSzaAla.Status='1' (Elfogadott státusz) And
PSzaAla.StoKod='0' (Alap – Nem stornó illetve stornózott) And
Abs(PSzaAla.FtOssz)>0 (Nem nulla értékű száma) And
PSzaAla.TelDat in Nyitott idő (A számla kontírozási dátuma a nyitott időszakba esik)
1. Szállítói számlák:
A. Minden szállítói pénzügyi bizonylatra vonatkozóan:
PSzaAla.TipusK='1' (Szállító) And
PSzaAla.UtaDol<>'0' (Az utalványozó dolgozó meg van adva) And
PSzaAla.JovDol<>'0' (A jóváhagyó dolgozó meg van adva) And
B. Gépi számla formátum esetén:
(PSzaAla.FormaK=2 (Gépi számla) And
(PSzaAru.AruTip='1' (Termék árutípus) And
PSzaAru.PenAll='1' (Rendezett pénzügyi állapot) Or
(PSzaAru.AruTip='2' (Szolgáltatás árutípus)
A gépi számlák termék típusú áru tételeinek készlet mozgáshoz rendelthez kell lenni. A szolgáltatás áru típusú áru tételnek nem.
2. Vevő és belső számlák:
PSzaAla.TípusK='2' (Vevő) Or
PSzaAla.TipisK='3' (Belső)
A vevő és belső számlák kontírozásának nincs speciális feltétele.
A kontírozás elvégzésének az is feltétele, hogy a kontírozáshoz szükséges főkönyvi számla számok a megfelelő adatmezőkben rendelkezésre álljanak. Az, hogy a program honnan veszi a kontírozási főkönyvi számlaszámokat a kontírozás típusától függ, így azt az egyes kontírozási típusoknál ismertetjük. Amennyiben a kontírozáshoz csak egyetlen főkönyvi számlaszám is hiányzik, akkor a program a bizonylat kontírozását nem végzi el. A program üzenetet ad arról, hogy milyen főkönyvi számlaszámot hiányol.
| 1.1. | Normál számla |
If (PSzaAla.Jelleg<>'H)' Then
A szállító és vevő számlák kontírozása helyesbítő (H) jellegű számlák kivételével. A helyesbítő számla kontírozása másképpen történik. (Lásd: Később.)
| 1.1.1. | Alap kontírozási egység |
Normál szállítói számla:
Pl-A: Szállító Teljesítés dátuma: 2002.07.30
T5 400 K454 500
T466 100
Normál vevő számla:
Pl-B: Vevő Teljesítés dátuma: 2002.07.30
T311 500 K9 400
K467 100
A kontírozási fej és tétel adatok előállításának módja:
Minden számlából általában egy kontírozási egység (egy fej és legalább kettő tétel (egy Tartozik és egy Követel) keletkezik. A kontírozási fej a kontírozás fő adatait tartalmazza, míg a tételekben a Tartozik és Követel kontírozási elemek adatai szerepelnek. A program az 1:N típusú kontírozást valósítja meg. Ez azt jelenti, hogy vagy egy Tartozik és több Követel, vagy egy Követel és több Tartozik tételből áll kontírozás. A kontírozási tételek mindig az egyedi tétellel kezdődnek, azaz ha kontírozásunk egy Követel és több Tartozik tételből áll, akkor az első tétel a Követel jellegű lesz, és ezt követik a Tartozik tételek.
FKntFej - Kontírozási fejadatok
A modul a számla alapadatokból (PSzaAla) állítja elő a fejadatokat.
1. KontAz Kontírozási azonosító: Program által generált KOX
Pl: KOX-05/12345 – A program a kontírozás dátuma és a rendszerparaméterek között megadott kontírozási bizonylattömb alapján generálja. Ez azonosítja a kontírozási eseményt.
2. KontDt Kontírozás dátuma:
A kontírozás dátuma alap értelmezés szerint a teljesítés dátuma. Kivétel ez alól a nem belföldi vevő számla, ahol a kontírozás dátuma a deviza teljesítés dátuma lesz.
3. NapKod Napló kód:
A naplókódot a számla típustól függően, a rendszerparaméterek közül veszi. A napló kódok közül a nyitó, a záró és korrekciós típusú naplók bírnak kitüntetett jelentéssel a beszámolók előállítása során. A többi naplónak nincs hatása a rendszer működésére.
4. Bizony Bizonylatszám: PSzaAla.Bizony – Számla bizonylatszáma
A kontírozás bizonylatszáma a számla program által generált adatbázisban lévő azonosítója lesz, és nem a szállító által adott számlaszám! Pl: SKS-05/54321
5. EloBiz Előző bizonylatszám: PSzaAla.HivSza – Számla hivatkozási száma
6. ParKod Partner kód: PSzaAla.ParKod – Számla partner kód
A kontírozási fej adatok közé bekerül a számla partner kódja. A kontírozási tételekbe a szintetikus főkönyvi számlák mellé (szállító, vevő) innen kerül át a partner kód.
7. SzeKod Szervezeti egység <0>
8. DolKod Dolgozó kód <0>
Egy számla kontírozása egy kontírozási egység. Mivel a számlában a szervezeti egység és dolgozó kód a számla áru adatok között van eltárolva, amelyből egy számlán több lehet, ezért a kontírozási fej adatok közé nem kerül át szervezeti egység és dolgozói információ.
9. Megjeg Megjegyzés: <->
Egy számlához kapcsolódóan számtalan megjegyzés sor rögzíthető. Így kontírozás során nem lehet meghatározni, hogy azok közöl melyik jelenjen meg a kontírozási fejben. Ezért ezt a mezőt a kontírozás során nem tölti ki a program.
10. BizAzo Bizonylat azonosító PSzaAla.BizAzo – Számla bizonylat azonosítója
11. SzaSza Számlaszám: PSzaAla.SzaSza – Számla számlaszáma
Szállítói számlánál a bejövő számla azonosítója.
12. KonAzo Kontírozási azonosító: PSzaAla.SzAlID – Számla azonosító
A számla kontírozási azonosítója a számla program által generált adatbázisban lévő azonosítója lesz, és nem a szállító által adott számlaszám! Pl: SKS-05/54321
13. CsopTip Csoportos kontírozási típus CKT <2> – Csoportos összetartozó
Amennyiben a kontírozási csoportba az áfa át és visszavezetés miatt több kontírozási egység tartozik (lásd: kompenzációs számla), akkor ez a mező jelzi, hogy a tétel összetartozó csoportba tartozik. Ha a csoportba csak egy kontírozási egység tartozik (mert nincs áfa át és visszavezetés), a kontírozás akkor is csoportos, mert a kontírozás során a több kontírozási egység előállításának lehetősége fennállt. Azaz a csoport lehet egy elemű is.
14. CsKonAz Csoportos kontírozási azonosító FKntFej.First.KontAz
Pl: KOX-05/12345 Az egyszerre kontírozott gazdasági események az első kontírozás kontírozási azonosítóját (KontAz) kapják meg csoportos kontírozási azonosítóként. Az egyszerre kontírozott események nem feltétlenül jelentenek összetartozó kontírozási tételeket. Például egyszerre kontírozott csoport a szállítói kézi számla könyvelés funkció előtétszűrés képernyőjéről elindított csoportos kontírozás, amely kikontíroz minden a kontírozási feltételeknek megfelelő számlát, miközben az egyes számlák, és így azok kontírozásai sem tarotznak össze.
15. OsKonAz Összetartozó kontírozási azonosító FKntFej.First.KontAz
Pl: KOX-05/12345 Az összetartozó kontírozott gazdasági események az összetartozó elemek első kontírozásának kontírozási azonosítóját (KontAz) kapják meg összetartozó kontírozási azonosítóként. Az összetartozó tételeke csak egyszerre, az első tételen állva stornózhatóak. Összetartozó kontírozások például: úton lévő készlet, nem számlázott szállítások, folyamatos áfa át- és visszavezetése.
16. KonMod Kontírozás mód: 2 – Gépi kontírozás
A program által végzett kontírozás módja: 2 – Gépi kontírozás. Amennyiben a kontírozás bármelyik mezőjét megváltoztatjuk a könyvelés elvégzése előtt, akkor a kontírozás módja megváltozik: 1 – Módosított gépi kontírozás.
17. FokAll Főkönyvi állapot: 1 – Kontírozott
A kontírozási egység főkönyvi állapota a kontírozás elvégzése után: 1 – Kontírozott. A könyvelés végrehajtása után: 2 – Könyvelt.
18. SzlJel Számla jelleg Program által előállított
A kontírozás elve 1:N típusú. Ez azt jelenti, hogy egy számlához több ellenszámla tartozhat. A számla jellege az egy számlának a jellegét (Tartozik / Követel) jelenti. Az ellenszámlák ellentétes jellegűek lesznek.
Szállító: 2 – Követel
Vevő: 1 – Tartozik
19. KonTip Kontírozás típusa: 41 – Gépi számlakontírozás
A kontírozás típusa csak gépi kontírozás esetén kap értéket (kézi kontírozásnál 0 lesz a tartalma). A mező tartalma arra utal, hogy a kontírozás milyen típusú gazdasági esemény kontírozásból származik.
20. Napló adatok
A program eltárolja mind a kontírozás, mind a könyvelés elvégzésének dátumát, időpontját, a funkciót futtató operátor és terminál kódját.
FKntTet - Kontírozási tételadatok
Egy kontírozási fejhez legalább kettő kontírozási tétel tartozik. Pénzügyi bizonylatok kontírozásakor az első kontírozási tétel (amit alap tételnek nevezünk) mindig a szintetikus számla (szállító vagy vevő). A második és további kontírozási tételek (amelyeknek ellen tétel a neve) számát a számla áru tételek száma és az áru tételek áfa tartalma határozza meg. Egy olyan áru tételről, amelynek áfa tartalma van (az áfa értéke nem nulla) két kontírozási tétel keletkezik: az egyik az áfa mentes érték kontírozása lesz (költségnem – szállító, árbevétel – vevő), míg a másik az áfa tartalom kontírozása (466 – szállító / 467 – vevő). Amennyiben az áru tétel áfa értéke nulla, akkor az áfa tétel kontírozása elmarad.
1. tétel: Szintetikus számla (szállító / vevő)
2. tétel: 1. áru tétel alap összege
3. tétel: 1. áru tétel áfa tartalma (ha van)
4. tétel: 2. áru tétel alap összege
5. tétel: 2. áru tétel áfa tartalma (ha van)
…
Például egy olyan számla esetén, amelynek négy áru tétele van, és a négy áruból kettőnek van áfa tartalma 7 kontírozási tétel keletkezik: 1 szintetikus számla (1 alap számla) 4 áru alap, 2 áru áfa tartalom (6 ellenszámla).
A, Alap számla (1. kontírozási tétel)
A program a kontírozási tétel adatait a számla alapadatokból (PSzaAla) állítja elő
1. KontAz Kontírozási azonosító: A kontírozási fej azonosítója.
Pl: KOX-05/12345 A mező a tétel kapcsolódását (master – detail) biztosítja a kontírozási fejhez.
2. KoTeSo Kontírozási tételsorszám
Inkrementális (folytonos, kihagyásmentesen növekvő egész szám), a kontírozási csoporton belül 1-ről indul
3. KoTeAz Kontírozási tétel azonosító
KoTeAz=KontAz+'/'+EloNull(KoTeSo,3) A kontírozási fej azonosítójának és kontírozási tétel sorszámának összetételéből származik.
Pl: KOX-05/12345/001 (1. tétel)
4. SzlTip Számla típus: 1 – Alap
Az első kontírozási tétel típusa mindig Alap (1).
5. SzlJel Számla jelleg:
Szállító: 2 – Követel
Vevő: 1 – Tartozik
6. FokKod Főkönyvi számla PSzaAla.ParSzl
Az első kontírozási tétel a szintetikus számla lesz. Ezt a számlában rögzített pénzügyi eszköz (szállító, vevő) határozza meg. A pénzügyi eszköz alap főkönyvi számla kerül át a számla fej partner számla mezőjébe. A kontírozás funkció innen veszi át főkönyvi számla számát.
7. ParKod Partner kód: PSzaAla.ParKod – Számla partner kód
Mivel az első tétel szintetikus főkönyvi számla, ezért a program a partner mezőbe beírja a számla partner kódját.
8. KtgSzl Költség számla: X
9. KtgJel Költség jelleg: 0
10. KtgTip Költség típus: 0
A szintetikus számlához nem tartoznak költség adatok. Költség adatokat csak költségnem számla (5*) mellett lehet / kell megadni.
11. AkdKod ÁFA besorolás kód: 0
A szintetikus számlához nem tartozik áfa információ. Áfa besorolás kódot csak áfa számla (466*, 467*) mellett lehet / kell megadni.
12. ProKod Project kód: 0 Csak költségszámla mellett kell.
13. TaenAz Tárgyi eszköz azon. 0 Csak költségszámla mellett kell.
14. MeeKod Mennyiség egység 0 Csak áru tétel mellett van.
15. Mennyi Mennyiség 0 Csak áru tétel mellett van.
16. Tartoz Tartozik összeg:
Szállító: 0
Vevő: PSzaAla.FtOssz – Számla bruttó Ft összesen
A vevő számla alap devizanemben lévő (HUF) bruttó összege kerül az első kontírozási tétel Tartozik mezőjébe.
17. Kovete Követel összeg:
Szállító: PSzaAla.FtOssz – Számla bruttó Ft összesen
Vevő: 0
A szállító számla alap devizanemben lévő bruttó (HUF) összege kerül az első kontírozási tétel Követel mezőjébe.
18. KttAzo Kontírozott tétel azonosító: PSzaAla.SzAlID – Számla azonosító
Az automatikus kontírozás során a kontírozott tétel azonosító adatát kapja meg. Kézi kontírozáskor nem kap értéket. Az alap tétel kontírozásakor a számla azonosító, ellen tételeknél a számla áru tétel azonosító kerül a mezőbe.
19. Napló adatok
A program eltárolja a kontírozási tétel előállításának dátumát, időpontját, a funkciót futtató operátor és terminál kódját.
B, Ellen számla tételek
A program a számlákhoz tartozó áru adatokból (PSzaAru) állítja elő a kontírozási tétel adatait.
Egy számla tétel adatból két kontírozási tétel adat keletkezhet:
| o | Érték tétel |
| o | ÁFA tétel |
Érték tétel akkor jön létre, ha van tétel érték: Abs(Round(PSzaAru.TetErt * PSzaAla.DevArf,2) > 0. ÁFA tétel csak akkor keletkezik, ha van ÁFA érték Abs(Round(PSzaAru.AfaErt * PSzaAla.DevArf,2) > 0. A számla áru érték adatok a számla devizanemében vannak eltárolva. A könyvelési devizanemben lévő érték úgy áll elő, hogy az áru értékadatot megszorozzuk a számla alap adatok között eltárolt árfolyammal és két tizedes pontosságra kerekítjük.
Az ellen kontírozási tételek előállításának négy változata van:
| o | Szállító számla áru tétel – Alap összeg |
| o | Szállító számla áru tétel – Áfa összeg |
| o | Vevő számla áru tétel – Alap összeg |
| o | Vevő számla áru tétel – Áfa összeg |
1. KontAz Kontírozási azonosító: A kontírozási fej azonosítója.
Pl: KOX-05/12345 A mező a tétel kapcsolódását (master – detail) biztosítja a kontírozási fejhez.
2. KoTeSo Kontírozási tételsorszám
Inkrementális (folytonos, kihagyásmentesen növekvő egész szám), a kontírozási csoporton belül 1-ről indul
3. KoTeAz Kontírozási tétel azonosító
KoTeAz=KontAz+'/'+EloNull(KoTeSo,3) A kontírozási fej azonosítójának és kontírozási tétel sorszámának összetételéből származik.
Pl: KOX-05/12345/001 (1. tétel)
4. SzlTip Számla típus: 2 – Ellen
A második tételtől kezdődően az Ellen (2) számla tételek szerepelnek.
5. SzlJel Számla jelleg: Ellentétel az alap tétellel.
Szállító: 1 – Tartozik
Vevő: 2 – Követel
6. FokKod Főkönyvi számla száma
PSzaAru.AruKod –> AAruTor.AktKod –> AAktTor.X
A számla áru tételek kontírozási főkönyvi számát, az áru árukatalógusának főkönyvi számai közül veszi a program, és azt eltárolja a számla áru adatok között. Így kontírozás elvégzésekor a számla áru adatok közül kell venni a főkönyvi számla számot.
A. Érték tétel:
Szállító:
Szállítói számla áru tételének kontírozási főkönyvi száma az árkülönbözet, a költségszámla, vagy az egyéb számla valamelyike lesz. Az áru tétel rögzítésekor a program eldönti, hogy a főkönyvi számlák közül melyik kap értéket. Így a kontírozás azon mező alapján történik, amelyikben főkönyvi számla szerepel.
If PSzaAru.SArkSzl<>'X' Then PSzaAru.SArkSzl Else Árkülönbözet számla
If PSzaAru.SKtgNem<>'X' Then PSzaAru.SKtgNem Else Költség számla
If PSzaAru.SEgySzl<>'X' Then PSzaAru.SEgySzl Else X Egyéb számla
Szállító számla kontírozásakor a program először azt vizsgálja meg, hogy van a számla árun kitöltött árkülönbözet számla. Ha van, akkor anyagbeszerzés kontírozandó az árkülönbözet számlára.
Árkülönbözet számla hiánya esetén azt vizsgálja meg a program, hogy van-e költségnem számla. Ez szolgáltatás igénybevételekor fordul elő. Ekkor a számla áru költségnem számlájára (a szolgáltatás árukatalógusának költségnem számlája határozza meg) könyvel a program. Költségnem könyveléskor költséghelyre vagy költségviselőre is történik könyvelés. Ezt a szolgáltatás tétel rögzítésekor megadott project kód, vagy tárgyi eszköz azonosító határozza meg.
Árkülönbözet és költségnem számla hiánya esetén az áru tétel egyéb számlájára kontíroz a program.
Ha a fenti számlák egyikén sincs főkönyvi számla, akkor a program a kontírozást nem tudja elvégezni és hibaüzenetet ad.
Vevő: PSzaAru.VfokKod
Vevő kontírozása mindig az áru tétel áru katalógusának árbevétel számlájára történik, amely a számla áru adatok között van eltárolva.
B. ÁFA tétel:
Áfa tétel kontírozásához tudni kell azt, hogy az áru áfa költség áfa-e. Költség áfa esetén nem az áfa számlára könyveljük az áru tétel áfa értékét, hanem ugyanarra a főkönyvi számlára, mint az áru tételértékét. A számla ára áfa kódja (PSzaAru.AfaKod) alapján az áfa kulcs törzsből (AAfaTor) dönthető el, hogy az költség áfa, vagy sem.
If AAfaTor(PSzaAru.AfaKod).KtsAfa='N' Then
Begin
Nem költség áfa.
Szállító: PSzaAru.SAfaSzl
Vevő: PSzaAru.VafaSzl
Az áfa kontírozása a számla áru szállító vagy vevő áfa főkönyvi számlájára történik. A program a megfelelő főkönyvi számlaszám mezőt az áru tétel rögzítésekor kitölti, így a számlaszám a kontírozás elvégzésekor már rendelkezésre áll.
End
Else
Begin
Költség áfa.
FokKod Ugyanaz, mint az Érték tételnél.
End
7. ParKod Partner kód
If FFokTor.SziKod='I' Then ParKod:=PSzaAla.ParKod Else
Amennyiben a főkönyvi számla szintetikusként van definiálva, akkor a program a számla partnerkódját automatikusan behelyettesíti ebbe a mezőbe. Ez nem csak szintetikus (alap) tételnél fordul el, hanem lehet olyan áru tétel, amelynek a főkönyvi számlaszáma szintetikusnak lett megadva. Pl: Árbevétel partnerenként.
8. KtgSzl Költség számla:
Költségszámla szállító érték tétel esetén akkor kell, ha a kontírozandó számla áru tétel költségnem (5*). A költségszámla mezőben vagy költséghely (6*), vagy költségviselő (7*) számlának kell szerepelni. A költségszámla a számla áru adatok között szerepel. A számla áru projectje határozza meg.
A. Érték tétel:
Szállító: If PSzaAru.SKtgNem<>'X' Then PSzaAru.SKtgHel Else X
Számla áru költséghely mező.
Vevő: X Vevő számlában nincs költségszámla.
B. ÁFA tétel If AAfaTor.KtgAfa='N' Then X Else Ugyanaz, mint Érték tétel.
Költség áfa esetén az áfa tétel költségszámlája ugyanaz, mint az érték tételé.
9. KtgJel Költség jelleg
Szállító érték tétel esetén akkor kell, ha a kontírozandó számla költségnem és programot használó cég költség jelleget használóként van beállítva a rendszer paraméterek között.
A. Érték tétel:
Szállító: If PSzaAru.SKtgNem<>'X' Then PSzaAru.SKtgJel Else 0
Számla áru költségjelleg mező.
Vevő: 0
B. ÁFA tétel If AAfaTor.KtgAfa='N' Then 0 Else Ugyanaz, mint Érték tétel.
10. KtgTip Költség típus
Szállító érték tétel esetén akkor kell, ha a kontírozandó számla költségnem és programot használó cég költség típust használóként van beállítva a rendszer paraméterek között.
A. Érték tétel:
Szállító: If PSzaAru.SKtgNem<>'X' Then PSzaAru.SKtgTip Else 0
Számla áru költségtípus mező.
Vevő: 0
B. ÁFA tétel If AAfaTor.KtgAfa='N' Then 0 Else Ugyanaz, mint Érték tétel.
11. AkdKod ÁFA besorolás kód
Számla áru áfa besorolás kód mező.
Szállító: PSzaAru.SAkdKod
Vevő: PSzaAru.VAkdKod
12. ProKod Project kód: PSzaAru.ProKod
Számla áru áfa project kód mező.
13. TaenAz Tárgyi eszköz azon. PSzaAru.TaenAz
Számla áru tárgyi eszköz azonosító mező.
14. MeeKod Mennyiség egység
A. Érték tétel: PSzaAru.MeeKod
Számla áru mennyiség egység kód mező.
B. ÁFA tétel: 0
15. Mennyi Mennyiség
A. Érték tétel:
A számla áru mennyiség mezője.
Szállító: PSzaAru.Mennyi
Vevő: PSzaAru.Mennyi
B. ÁFA tétel: 0
A program a kontírozási adatok között, informális adatként, eltárolja a kontírozás alapjául szolgáló tétel mennyiségét és mennyiség egységét. Ez a kontírozási információk között tájékoztató adatként használható.
16. Tartoz Tartozik összeg
A. Érték tétel:
Szállító: Round(PSzaAru.TetErt * PSzaAla.DevArf ,2)
Számla tétel ÁFA alap
Vevő: 0
B. ÁFA tétel:
Szállító: Round(PSzaAru.AfaErt * PSzaAla.DevArf ,2)
Számla tétel ÁFA érték
Vevő: 0
17. Kovete Követel összeg
A. Érték tétel:
Szállító: 0
Vevő: Round(PSzaAru.TetErt * PSzaAla.DevArf ,2)
Számla tétel ÁFA alap
B. ÁFA tétel:
Szállító: 0
Vevő: Round(PSzaAru.AfaErt * PSzaAla.DevArf ,2)
Számla tétel ÁFA érték
18. KttAzo Kontírozott tétel azonosító: PSzaAru.SzArID – Számla áru azonosító
19. Napló adatok
A program eltárolja a kontírozási tétel előállításának dátumát, időpontját, a funkciót futtató operátor és terminál kódját.
PSzaAla – Számla alap tábla
A kontírozás megtörténtének bejegyzése a számla alap adatokat tartalmazó táblába.
1 FokAll Főkönyvi állapot 1 – Kontírozott
A kontírozás sikeres elvégzése után a program a kontírozás alapbizonylatának főkönyvi állapotát Kontírozott állapotúra (1) változtatja.
| 1.1.2. | Úton lévő készlet |
Nem belföldi (Külföldi, EU) relációjú vevő számla esetén [(PSzaAla.TipusK='2") {Vevő} AND (PSzaAla.Relaci<>'1') {Külföldi, EU}] az értékesítési készletmozgás nem a ráfordítás számlára, hanem az úton lévő készletre lett könyvelve, mivel a raktári kiadáskor még nem ismerjük a külföldi teljesítés dátumát.
Készlet kiadás: 2002.11.11
T266 Úton lévő készlet 800
K21 Anyagszámla 800
Áru átvétel: 2002.12.12
Árbevétel könyvelése: (Áfa nincs!) 2002.12.12
T312 Vevő 1000
K93 Árbevétel 1000
A számla kontírozásakor, a számla teljesítés dátumával a készlet kivezetési értéket át kell könyvelnünk az úton lévő készletről a ráfordítás számlára. Így biztosítjuk azt, hogy a ráfordítás könyvelésének dátuma ugyanaz lesz, mint az árbevételé.
Ráfordítás elszámolása: 2002.12.12
T83 Értékesítés közvetlen önköltsége 800
K266 Úton lévő készlet 800
A számla azon tételein kell a kontírozást elvégezni, amelyek készletmozgáshoz vannak rendelve. Az úton lévő készlet kontírozása a számlával egy csoportban, összetartozó tételként történik.
FKntFej – Kontírozási fejadatok
Ugyanaz, mint a számla fej. Eltérés:
I2. NapKod Napló kód KAzoAda.KeMoKoN – Vegyes napló <7KX>
Á5. SzlJel Számla jelleg 1 – Tartozik
Á6. KonTip Kontírozás típusa 313 – Úton lévő készlet
FKntTet – Kontírozási tételadatok
A program a raktári mozgás adatokból (KRakMoz) állítja elő.
1.tétel
Azonosító adatok:
A7. SzlTip Számla típus: 1 – Alap
A8. SzlJel Számla jelleg: 1 – Tartozik
Input adatok:
I1. FokKod Főkönyvi számla AAktTor.VRafSzlX – Ráfordítás export számla
A főkönyvi számlát a program a raktári mozgás áru kódjához tartozó áru katalógusból veszi.
I9. Tartoz Tartozik összeg KRakMoz.AktErt Aktuális áras érték
I10. Kovete Követel összeg 0
2.tétel
Azonosító adatok:
A7. SzlTip Számla típus: 2 – Ellen
A8. SzlJel Számla jelleg: 2 – Követel
Input adatok:
I1. FokKod Főkönyvi számla AAktTor.UtonKes Úton lévő készlet
A főkönyvi számlát a program a raktári mozgás áru kódjához tartozó áru katalógusból veszi.
I9. Tartoz Tartozik összeg 0
I10. Kovete Követel összeg KRakMoz.AktErt Aktuális áras érték
| 1.2. | Helyesbítő számla |
A számla jelleg mezőben a kód: H.
If PSzaAla.Jelleg='H' Then
Eltérés a nem 'H' jellegű számlák kontírozásához képest:
A számlák jellege megfordul (ami a normál számlában Tartozik, az a helyesbítőben Követel, és viszont) és az értékek előjelet váltanak (-1-el szorzódnak) ! Az előjelváltás azért történik, mert a helyesbítő számlában a helyesbítő tétel negatív előjelű. Nem akarjuk, hogy a kontírozás során negatív értékkel kontírozzuk a helyesbítést, ezért előjelet váltunk. (A negatív kontírozási értékű tétel általában stornó tételt jelöl.) Azért, hogy az előjel váltás ne változtassa meg a kontírozás hatását, a jelleget (Tartozik / Követel) meg kell cserélnünk. A helyesbítő számlában a helyes tétel pozitív előjelű. Így kontírozás során ez negatív értékkel lesz rögzítve.
Pl: SZ-1 Eredeti szállítói számla. 2005.04.20
Alap Áfa Összesen
Anyag beszerzés 400 100 500
Kontírozás: Tartozik Követel Egyenleg Megjegyzés
1. 454 500 Szintetikus számla
2. 2 400 Számla áru tétel alap
3. 466 100 Számla áru tétel áfa
500 500 0 Összesen
Összesítés: Alap számla
454 0 500 500 K
2 400 0 400 T
466 100 0 100 T
Pl: H-1 Helyesbítő számla 2005.04.20 Adott minőségi kedvezmény
Alap Áfa Összesen
Anyag beszerzés -400 -100 -500 Helyesbített tétel
Anyag beszerzés 300 75 375 Helyes tétel
Anyag beszerzés -100 -250 -125 Egyenleg
Kontírozás: Tartozik Követel Egyenleg Megjegyzés
1. 454 125 Szintetikus számla
2. 2 400 Helyesbített tétel alap
3. 466 100 Helyesbített tétel áfa
4. 2 -300 Helyes tétel alap
5. 466 -75 Helyes tétel áfa
125 125 0 Összesen
Összesítés: Helyesbítő számla
454 125 0 125 T
2 0 100 100 K
466 0 25 25 K
Összesítés: Alap és Helyesbítő számla összesen
454 125 500 375 K
2 400 100 300 T
466 100 25 75 T
Pénzügyi rendezés:
Ha az eredeti számla a helyesbítő számla megérkezéséig ki lett egyenlítve, akkor a szállítónak a két számla különbözetét (-125) vissza kell utalnia, és azt a helyesbítő számlán kell rögzítenünk. Amennyiben a kiegyenlítés még nem történt meg, akkor a helyesbítő és az eredeti számla össze kompenzálható, és a fennmaradó egyenleget (375) kell utalnunk a szállítónak.
A normál számla kontírozásától eltérő kitöltési módú mezők.
FKntFej - Kontírozási fejadatok
Á5. SzlJel Számla jelleg Program által előállított
Szállító: 1 – Tartozik
Vevő: 2 – Követel
FKntTet - Kontírozási tételadatok
A, Alap számla
A8. SzlJel Számla jelleg:
Szállító: 1 – Tartozik
Vevő: 2 – Követel
I9. Tartoz Tartozik összeg:
Szállító: –1 * PSzaAla.FtOssz – Számla bruttó Ft összesen
Vevő: 0
I10. Kovete Követel összeg:
Szállító: 0
Vevő: –1 * PSzaAla.FtOssz – Számla bruttó Ft összesen
B, Ellen számla
A8. SzlJel Számla jelleg:
Szállító: 2 – Követel
Vevő: 1 – Tartozik
I9. Tartoz Tartozik összeg: Program által előállított
A. Érték tétel:
Szállító: 0
Vevő: –1 * Round(PSzaAru.TetErt * PSzaAla.DevArf ,2)
– Számla tétel ÁFA alap
B. ÁFA tétel:
| Szállító: | 0 |
Vevő: –1 * Round(PSzaAru.AfaErt * PSzaAla.DevArf ,2)
– Számla tétel ÁFA érték
I10. Kovete Követel összeg: Program által előállított
A. Érték tétel:
Szállító: –1 * Round(PSzaAru.TetErt * PSzaAla.DevArf ,2)
– Számla tétel ÁFA alap
| Vevő: | 0 |
B. ÁFA tétel:
Szállító: –1 * Round(PSzaAru.AfaErt * PSzaAla.DevArf ,2)
– Számla tétel ÁFA érték
| Vevő: | 0 |
I11. Mennyi Mennyiség
A. Érték tétel:
Szállító: PSzaAru.Mennyi
Vevő: PSzaAru.Mennyi
B. ÁFA tétel: 0
| 1.3. | Áfa átvezetés és visszavezetés |
Előleg (Jelleg = '3'), Folyamatos szolgáltatás (Jelleg = '4') és Kompenzációs felár (Jelleg = '5') számla kontírozásakor, amennyiben a számla teljesítés és az áfa dátum nem ugyanabba a hónapba esik és az áru tételnek van áfa tartalma, akkor az eredeti kontírozási esemény (A) mellett még további kontírozási egységek keletkeznek. Előleg és Folyamatos szolgáltatás számla esetén még két kontírozás egység (összesen három), Kompenzációs felár számla esetén még egy (összesen kettő) kontírozási egység jön létre. Az egyik kontírozásban (B) a teljesítés dátumával elvezetjük a számla áfa tartalmát az áfa számláról az áfa átvezetési számlára, míg egy másik kontírozásban (C) a számla áfa dátumával visszavezetjük a számla áfa tartalmát az elszámolási számláról az áfa számlára. Kompenzációs felár számla esetén a harmadik kontírozási egység azért marad el, mert itt az áfa dátum a számla teljes kiegyenlítésének dátuma, ami a kontírozás elvégzésekor általában nem áll rendelkezésre, vagyis az áfa dátum mező ekkor még üres. Az üres dátum nem egyezik meg a teljesítés dátumával, ezért a program elvezeti az áfát. A visszavezetés azonban nem lehetséges, mert a kontírozás dátuma még nem ismert. A visszavezetés a számla teljes kiegyenlítése után, egy külön program funkcióval (Kompenzációs felár számla áfa visszavezetése (lásd: később)) történhet meg. Az áfa elvezetését az egyik havi dátummal, visszavezetését a másik havi dátummal azért csináljuk, hogy az áfa számlákon (466, 467) a hónap végén lévő egyenleg megegyezzen az áfa bevallásban szereplő értékkel, amit a számla áru adatok alapján állít elő a program.
Pl-A: Szállító Teljesítés dátuma: 2002-07-31
T5 400 K454 500
T466 100
Amennyiben a szállítói számla folyamatos szolgáltatás vagy kompenzációs felár típusú, akkor még két kontírozás történik:
Pl-B: Teljesítés dátuma: 2002-07-31
T3683 100 K466 100
Pl-C: Áfa dátum: 2002-08-20
T466 100 K3683 100
Minden számlából általában egy kontírozási egység (egy fej és legalább kettő tétel) keletkezik. Áfa átvezetés és visszavezetés egy második és egy harmadik kontírozási egységben jelenik meg. Mind a három egységnek egyedi kontírozási azonosítója lesz, azonban mivel a három tétel össze is tartozik, ezért kapnak egy kontírozási csoport azonosítót is. A három egységet tartalmazó csoport kontírozási csoportos azonosítója, a csoport első egységének az azonosítója lesz.
| 1.3.1. | Áfa átvezetés (B – kontírozási esemény) |
Az adatok előállítása megegyezik az első kontírozási eseményével. Eltérés:
FKntFej - Kontírozási fejadatok
A program a számla alapadatokból (PSzaAla) állítja elő a fejadatokat.
1. KontDt Könyvelés dátuma PSzaAla.TelDat Számla teljesítés dátuma
2. SzlJel Számla jelleg
If PSzaAla.TipusK='1' Then {Szállító} 1 – Tartozik
Else {Vevő} 2 – Követel
3. KonTip Kontírozás típusa: 411 – Áfa átvezetés
FKntTet - Kontírozási tételadatok
A, Alap számla
A program a számla alapadatokból (PSzaAla) állítja elő
1. SzlTip Számla típus: 1 - Alap
2. SzlJel Számla jelleg: FKntFej.SzlJel
Az alap (első) kontírozási tétel számla jellege megegyezik a kontírozási fej számla jellegével.
3. FokKod Főkönyvi számla KAzoAda.AFoSzAfa
A rendszer paraméterek között eltárolt áfa elszámolási számla (36830000).
A tétel számla jellegének függvényében, vagy Tartozik, vagy a Követel mező kap értéket.
If SzlJel=1 Then {Tartozik}
Begin
4. Tartoz Tartozik összeg: PSzaAla.FtAfaO – Számla áfa összesen
5. Kovete Követel összeg: 0
End
Else {Követel}
Begin
4. Tartoz Tartozik összeg: 0
5. Kovete Követel összeg: PSzaAla.FtAfaO – Számla áfa összesen
End
B, Ellenszámla
A program a számlákhoz tartozó áru adatokból (PSzaAru) állítja elő a kontírozási tételt.
1. SzlTip Számla típus: 2 – Ellen
2. SzlJel Számla jelleg: Inverz(FKntFej.SzlJel)
A második (ellen) kontírozási tétel jellege ellentétes lesz a kontírozási fej (és az alap (első)) tétel jellegével.
3. FokKod Főkönyvi szla száma: A számla áru tétel áfa számlája.
If PSzaAla.TipusK='1' Then PSzaAru.SAfaSzl Szállító
Else PSzaAru.VAfaSzl Vevő
A tétel számla jellegének függvényében, vagy Tartozik, vagy a Követel mező kap értéket.
If SzlJel=1 Then
Begin
4. Tartoz Tartozik összeg: PSzaAla.FtAfaO – Számla áfa összesen
5. Kovete Követel összeg: 0
End
Else
Begin
4. Tartoz Tartozik összeg: 0
5. Kovete Követel összeg: PSzaAla.FtAfaO – Számla áfa összesen
End
PSzaAla – Számla alap tábla
Az áfa átvezetés megtörténtének bejegyzése
1. FoAfAl Kompenzációs áfa állapot MAL 1 – Előkészített
Kompenzációs felár számla esetén (PSzaAla.Jelleg = '5') a számla alap adatok között (PSzaAla) eltárolt kompenzációs áfa állapot kódot (FoAfAl) a program az átvezetés után előkészített (1) állapotba teszi. Az áfa visszavezetés programfunkció csak az ilyen állapotban lévő tételeket jeleníti meg. A visszavezetés funkció átállítja az állapot kódot rendezetté (2).
| 1.3.2. | Áfa visszavezetés (C – kontírozási esemény |
A kontírozás a folyamatos szolgáltatás számla áfa tartalma átvezetése kontírozásának a fordítottja. Az áfa visszavezetést a számla kontírozásakor kompenzációs számla (PSzaAla.Jelleg='5') esetén nem kell elvégezni. Kompenzációs számla áfája csak a számla teljes kiegyenlítésekor igényelhető vissza. A visszavezetés kontírozása a Kompenzációs felár számla visszavezetése nevű programfunkcióban történik az itt leírt módszerrel.
FKntFej - Kontírozási fejadatok
A modul a számla alapadatokból (PSzaAla) állítja elő a fejadatokat.
1. KontDt Könyvelés dátuma PSzaAla.AfaDat Számla áfa dátuma
2. SzlJel Számla jelleg
If PSzaAla.TipusK='1' Then {Szállító} 2 – Követel
Else {Vevő} 1 – Tartozik
3. KonTip Kontírozás típusa: 412 – Áfa visszavezetés
FKntTet - Kontírozási tételadatok
A, Alap számla
A modul a számla alapadatokból (PSzaAla) állítja elő
1. SzlTip Számla típus: 1 - Alap
2. SzlJel Számla jelleg: FKntFej.SzlJel
Az alap (első) kontírozási tétel számla jellege megegyezik a kontírozási fej számla jellegével.
3. FokKod Főkönyvi számla KAzoAda.AFoSzAfa
A rendszer paraméterek között eltárolt áfa elszámolási számla (36830000).
A tétel számla jellegének függvényében, vagy Tartozik, vagy a Követel mező kap értéket.
If SzlJel=1 Then {Tartozik}
Begin
4. Tartoz Tartozik összeg: PSzaAla.FtAfaO – Számla áfa összesen
5. Kovete Követel összeg: 0
End
Else {Követel}
Begin
4. Tartoz Tartozik összeg: 0
5. Kovete Követel összeg: PSzaAla.FtAfaO – Számla áfa összesen
End
B, Ellenszámla
A program a számlákhoz tartozó áru adatokból (PSzaAru) állítja elő a kontírozási tételt.
1. SzlTip Számla típus: 2 – Ellen
2. SzlJel Számla jelleg: Inverz(FKntFej.SzlJel)
A második (ellen) kontírozási tétel jellege ellentétes lesz a kontírozási fej (és az alap (első)) tétel jellegével.
3. FokKod Főkönyvi szla száma: A számla áru tétel áfa számlája.
If PSzaAla.TipusK='1' Then PSzaAru.SAfaSzl Szállító
Else PSzaAru.VAfaSzl Vevő
A tétel számla jellegének függvényében, vagy Tartozik, vagy a Követel mező kap értéket.
If SzlJel=1 Then {Tartozik}
Begin
4. Tartoz Tartozik összeg: PSzaAla.FtAfaO – Számla áfa összesen
5. Kovete Követel összeg: 0
End
Else {Követel}
Begin
4. Tartoz Tartozik összeg: 0
5. Kovete Követel összeg: PSzaAla.FtAfaO – Számla áfa összesen
End