A leválogatási feltételeknek megfelelő számlákból a tárolt eljárás összegyűjti a számlákhoz tartozó áruk áfa kódonkénti (kulcsonkénti) áfa alapját és áfa értékét (számlánként egy tétel). Ezt egy ideiglenes táblába eltárolja. Az áfa analitika a számla alap tábla és a gyűjtött adatokat tartalmazó ideiglenes tábla egyesítéséből a számla alapadatok alapján készül el.
Jogosultságkód: 245510 Help context: 245510
Forrás:
Alap tábla: psz PSzaAla – Számla alap
psa PSzaAru – Számla áru
pel PSzaElo – Számla előleg tábla
Rugalmas formátumú lista.
Lásd:
Általános riport - rugalmas lista
1. Leválogatási feltételek
Kötelező szűrési feltétel:
Időszak választás: PAfIdDf – áfa időszak definíciós tábla egy tétele:
A kimutatás elkészítéséhez áfa időszakot kötelező választani. Az időszak meghatározásához elég kezdő időpontnak kiválasztani az áfa definíciós törzs kezdő dátumát.
1. KezDatA Kezdő dátum – Bevallási időszak pk
2. BefDatA Befejező dátum – Bevallási időszak

Lista fajta: LisFajX
1 – Teljes
A lista a szűrési feltételeknek megfelelő számla áfa adatait tartalmazza.
2 – Részleges (Ez felel meg az áfa összesítő feltételeinek.)
A szűrési feltételek mellett a program még azt vizsgálja, hogy a számla áru áfa kódjának szerepelni kell áfa bevallásban, és hogy az áru tétel rendelkezzen áfa besorolás kóddal. Ha ezek a további feltételek nem teljesülnek, akkor a számla áru tétel adatai hiányoznak az áfa analitikából.
AfaKodX Konszolidált áfa kulcs kód
If PSzaAru.KulAfa = ’0’ Then AfaKodX := PSzaAru.AfaKod
Else AfaKodX := PSzaAru.AfaKodEU
AfaAlaX Áfa alap
If PSzaAru.KulAfa = ’0’ Then AfaAlaX := Round(PSzaAla.DevArf*PSzaAru.TetErt,2)
Else AfaKodX := PSzaAru.AfaAlaEU
AfaErtX Áfa érték
If PSzaAru.KulAfa = ’0’ Then AfaErtX := Round(PSzaAla.DevArf*PSzaAru.AfaErt,2)
Else AfaErtX := PSzaAru.AfaErtEU
TipusX Tétel típus
1 – Szállító
2 – Vevő
Fix leválogatási feltételek:
1. Az áfa bevallás szerinti teljesítés dátuma, a bevallás teljesítési intervallumába essen:
AfaDatX>=KezDatA AND AfaDatX<=BefDatA AND
2. Számla státusz:
PSzaAla.Status=1 – Elfogadott AND
3. Számla stornókód:
PSzaAla.Stokod=0 – Alap (nem stornózott, vagy stornó számla) AND
4. Lista fajta: LFA – KkodTar AND
LisFajX = 1 – Teljes
2 – Részleges
(LisFajX=1 Or
LisFajX=2 And
| 4.a. | A számla áru áfa kódja úgy van definiálva az áfa törzsben, hogy az szerepeljen az áfa bevallásban: |
If (PSzaAla.TipusK=’1’ And AAfaTor.SzalBev(AfaKodX)=’I’) OR {Szállító} !
(PSzaAla.TipusK<>’1’ And AAfaTor.VevBev(AfaKodX)=’I’) {Vevő} !
4b. A számla áru tételhez rendeltünk-e áfa besorolás kódot:
If ((PSzaAla.TipusK=’1’ And PSzaAru.SAkdKod<>’0’) OR {Szállító}
(PSzaAla.TipusK<>’1’ And PSzaAru.VAkdKod<>’0’)) {Vevő}
OR
((PSzaAla.TipusK = ’1’) And (PSzaAru.KulAfa in [’E’,’F’] {Fordított}
)
2. Adtok megjelenítése
Számlákra csoportosítva a számlák áruinak áfa kódonkénti (kulcsonkénti) alap és áfa értékei.

TAfaAna – Áfa analitika temporary tábla
Alap adatok:
A1. AfAnID float NOT NULL, – Áfa analitika ID pk
A2. KezDatA datetime NOT NULL , – Áfa időszak azonosító fk: PAfIdDf. KezDatA
A3. SzAlID varchar (20) NOT NULL, – Számla alap ID fk: PSzaAla.SzAlID
Master – detail hozzárendelés kulcsa.
A4. AfaDatX datetime NOT NULL , – Áfa szerinti teljesítés dátuma
Gyűjtött adatok – 1. : Számla áru táblából
Áfa kódonlénti tételérték és áfa érték meghatározása
case psa.afakod when 0 then Round(psz.devarf * psa.tetert,2) else 0 end tetert0,
case psa.afakod when 0 then Round(psz.devarf * psa.afaert,2) else 0 end afaert0,
case psa.afakod when 1 then Round(psz.devarf * psa.tetert,2) else 0 end tetert1,
case psa.afakod when 1 then Round(psz.devarf * psa.afaert,2) else 0 end afaert1,
…
case psa.afakod when F then Round(psz.devarf * psa.tetert,2) else 0 end tetertF
case psa.afakod when F then Round(psz.devarf * psa.afaert,2) else 0 end afaertF
Áfa bevallásban szereplő szállító/vevő áfa alap/érték meghatározása
If (afa.szalbev='I') And (psa.tipusk='1') Then SzaAfaAl:=Round(psz.devarf * psa.tetert,2) else
If (afa.szalbev='I') And (psa.tipusk='1') Then SzaAfaAf:=Round(psz.devarf * psa.afaert,2) else
If (afa.vevlbev='I') And (psa.tipusk='2') Then VevAfaAl:=Round(psz.devarf * psa.tetert,2) else
If (afa.vevlbev='I') And (psa.tipusk='2') Then VevAfaAf:=Round(psz.devarf * psa.afaert,2) else
from pszaaru psa, pszaala psz, aafator afa
Gyűjtött adatok – 2. : Számla előleg táblából (ugyanúgy, mint a számla árunál, csak negatív előjellel)
case pse.afakod when 0 then – pse.elntto else 0 end tetert0,
case pse.afakod when 0 then – pse.elafao else 0 end afaert0,
from pszaelo pse
G01. TetErt0 float NOT NULL, – Áfa alap – 0 áfa kód – Tárgyi mentes
G02. AfaErt0 float NOT NULL, – Áfa érték – 0 áfa kód – Tárgyi mentes
…
G19. TetErtF float NOT NULL, – Áfa alap – F áfa kód – 15 %
G20. AfaErtF float NOT NULL, – Áfa érték – F áfa kód – 15 %
Külön gyűjtendő a pénzügyileg nem rendezett beszerzésekre jutó áfa alap és adó:
G21. KiNeEgAl float NOT NULL, – Ki nem egyenlített beszerzésre jutó – alap
G22. KiNeEgAf float NOT NULL, – Ki nem egyenlített beszerzésre jutó – áfa