Egy számla jellege szerint előleg, vég, vagy rész számla lehet. Az előleg számlák vég számlákhoz való hozzákapcsolására szolgál ez a funkció.
Funkciók: Karbantartás Új tétel
Módosítás
Törlés
Jogosultságkód: 242206 Help context: 242206

Előleg befűzés árfolyamkülönbözet elszámolás
PSzaElo – Számla előleg tábla
Insert / Delete
Input adatok:
1. ElolSz Előleg számla szám
Egy vagy több tétel kiválasztása a partnerhez tartozó előleg számlák közül.
Feltételek: StoAll=’0’ AND Nem stornó vagy stornózott tétel
Jelleg=’3’ AND Előleg számla
EloOszE<DeOssz Maradt hozzárendelhető érték
A számlákon történő adatátvezetések elvégzéséhez meg kell őrizni az összerendelési tábla értékadatainak módosítás előtti állapotát:
1. ElAfaOR:=PSzaElo.ElAfaO
2. ElOsszR:=PSzaElo.ElOssz
Új összerendelés rögzítése esetén:
1. ElAfaOR:=0
2. ElOsszR:=0
Előleg számla összerendelési input adatok:
2. ElOssz Számla összesen Előleg
A végszámlába beszámítandó előleg összege (bruttó = alap + áfa). A program felajánlja az előleg számla még beépíthető összegét (= előleg számla bruttó értéke – az előleg számlából más végszámlákba beszámított összeg). Ez a maximálisan beszámítható összeg, melynél kisebb összeg is megadható. Ekkor az előlegszámlának még marad más végszámlába beépíthető összege.
3. AfaKod Áfa kód fk: AAfaTor.AfaKod
A beépített előleg áfa kódja. A program felajánlja az előleg számla első áru tételének áfa kódját. Célszerű csak olyan előlegszámlákat készíteni (vevő) illetve befogadni (szállító) amelyek tételei egyforma áfa kódból állnak. Ellenkező esetben nem adható meg egzakt módon az előlegbeépülések áfa kódja.
4. ElAfaO ÁFA összeg Előleg
A végszámlába beszámítandó előleg áfa összege. A program a megadott áfa kód áfa kulcsa alapján az előleg összegéből kiszámítja a beszámítandó áfa összegét, és azt felajánlja input adatként. Ez ugyan módosítható, de megváltoztatni mégsem célszerű, mert akkor megszűnik a konzisztencia a számla összeg, az áfa kód és az áfa érték között.
5. AkdKod Áfa besorolás kód fk: AAkdTor.AkdKod
A beépített előleg áfa besorolás kódja. A program felajánlja az előleg számla első áru tételének áfa besorolás kódját. A kód megadása az előleg befűzés áfa bevallásban történő megjelenítése miatt szükséges.
Áfa tipizáló adatok:
VS1. AdoMent Adómentes tétel <I/N>
VS2. AdoMenKod Adó (áfa) mentesség kód AME
Kódtári adat. default: ’0’
VS3. AfaTvKivul ÁFA törvény hatályán kívüli tétel <I/N>
VS4. AfaKivKod Adó (áfa) hatályon kívüliség kód AHK
Kódtári adat. default: ’0’
VS5. AdoMentHiv Adómentességi hivatkozási alap
A hatályon kívüliség szöveges hivatkozását is itt kell megadni.
Számított adatok:
1. DevArfX Deviza árfolyam – végszámla (PSzaElo.AlapID)
If PSzaAla.DevDatF > 0 Then DevArfX := PSzaAla.DevArfF {A mérleg fordulónap után}
Else DevArfX := PSzaAla.DevArf {A mérleg fordulónap előtt}
2. DevArfE Deviza árfolyam – előlegszámla (PSzaElo.ElolID)
If PSzaAlaE.DevDatF > 0 Then DevArfE := PSzaAlaE.DevArfF {A mérleg fordulónap után}
Else DevArfE := PSzaAlaE.DevArf {A mérleg fordulónap előtt}
Program által előállított adatok:
1. SzElID Számla előleg ID <AlapID+’/’+EloNull(TetSor,4)>
2. AlapID Alap számla ID <PSzaAla.SzAlID/Alap>
3. TetSor Tétel sorszám inkrementális
4. SzaSza Alap számlaszám <PSzaAla.SzaSza/Alap>
5. ElolID Előleg számla ID <PSzaAla.SzAlID/Előleg>
6. ElolSz Előleg számlaszám <PSzaAla.SzaSza/Előleg>
7. ElNtto Számla nettó összege <ElOssz – ElAfaO>
8. Opekod Rögzítés napló adatok – Operátor kód generált
9. Terkod Terminál kód generált
10. Rogdat Rögzítés időpontja generált
11. DevArf Deviza árfolyam
If PSzaAlaE.Jelleg = ’3’ Then DevArfE {Előleg számla}
Else DevArfX {Rész-számla}
Előleg számla befűzésekor a befűzés árfolyama az előleg számla könyv szerinti árfolyama lesz. Rész-számla befűzése során a befűzési árfolyam mező a végszámla könyv szerinti árfolyamát kapja.
12. PenAll Árfolyam különbség kezelési állapot ARK
If PSzaAlaE.Jelleg = ’3’ Then {Előleg számla}
Begin
If Abs(DevArfE-DevArfX)>0 and PSzaAla.DevKod <> KA.AlaDev
Then 1 – Előkészített Else 0 – N/A
End
Else
Begin {Rész-számla}
0 – N/A
End
13. FokAll Főkönyvi állapot <0>
Az összerendelés során beírt adatok hatását az előleg és a végszámlák egyes adatmezőin át kell vezetni.
PSzaAla – Számla alap tábla (Végszámla)
Modify
Program által előállított adatok:
1. ElSzDb Előleg számlák darabszáma
Insert: ElSzDb:=ElSzDb + 1
Modify: -
Delete: ElSzDb:=ElSzDb – 1
2. Opekod Rögzítés napló adatok – Operátor kód generált
3. Terkod Terminál kód generált
4. Rogdat Rögzítés időpontja generált
Az alábbi mezők módosítását csak Insert és Modify rögzítési mód esetén kell elvégezni:
5. ElAfaO ÁFA összeg
ElAfaO:=ElAfaO + PSzaElo.ElAfaO – ElAfaOR
6. ElOssz Számla összesen
ElOssz:=ElOssz + PSzaElo.ElOssz – ElOsszR
7. ElNtto Számlák nettó összege
ElNtto:=ElOsz-ElAfaO
PSzaAla – Számla alap tábla (Előlegszámla)
Modify
Program által előállított adatok:
Az alábbi mezők módosítását csak Insert és Modify rögzítési mód esetén kell elvégezni:
1. ElAfaOE ÁFA összeg
ElAfaOE:=ElAfaOE + PSzaElo.ElAfaO – ElAfaOR
2. ElOsszE Számla összesen
ElOsszE:=ElOsszE + PSzaElo.ElOssz – ElOsszR
3. ElNttoE Számlák nettó összege
ElNttoE:=ElOszE-ElAfaOE
4. Opekod Rögzítés napló adatok – Operátor kód generált
5. Terkod Terminál kód generált
6. Rogdat Rögzítés időpontja generált
Új előleg tétel felvitelének, illetve már rögzített összerendelések módosításának feltételei:
1. PSzaAla.SzNyDb = 0 Az alapszámla még nincs kinyomtatva.
2. PSzaAla.FokAll = ’0’ A számla még nincs kontírozva.
3. PSzaAla.StoKod = ’0’ Nem stornó / stornózott számla.
4. PSzaAla.UtaAll <> ’1’ A számla még nincs utalványozva,
Or KAzoAda.SzaSzlJovMod = ’N’ vagy nem kell figyelni a számla jóváhagyást.
5. PSzaAla.JovAll <> ’1’ A számla még nincs jóváhagyva,
Or KAzoAda.SzaSzlJovMod = ’N’ vagy nem kell figyelni a számla jóváhagyást.
6. PSzaAla.DeKiOs=0 A számlán nincs kiegyenlítés.
7. PSzaAla.KaZaDat=nil A számláról még nem készült hitelkamat számla.
8. PSzaElo.FokAll = ’0’ Az előleg tétel még nincs kontírozva
9. PSzaElo.PenAll <= ’1’ Az előlegre nincs elszámolva árfolyam különbség
Az előleg összerendelések törlésének feltételei:
Az előleg tétel törlésének feltételei egyrészt megegyeznek a felvitel és módosítás feltételeivel, másrészt a törlésnek további feltételei is vannak:
| 1. | PSzaElo.ElOssz=0 A befűzött előleg összege 0. A tétel törlése előtt a befűzött összeget nullára kell módosítani! Így a törlés feltételei ugyanazok lesznek mint a módosításé. |
Az előleg tételek logikai ellenőrzése mentés előtt:
1. ElolSzX Exists In PSzaElo.ElolSz Where PSzaElo.AlapId = PSzaAla.SzAlId
Egy előleg számla egy végszámlához csak egyszer rögzíthető.
2. PSzaElo.ElOssz-ElOsszR<=Min(PSzaAla.DeOssz/Alap – PSzaAla.ElOssz/Alap,
PSzaAla.DeOssz/Előleg – PSzaAla.ElOsszE/Előleg)
A befűzött előleg összege nem lehet nagyobb, mint az előleg számlából illetve a végszámlából rendelkezésre álló szabad összegből a kisebbik.
3. PSzaElo.ElAfaO-ElAfaOR<=Min(PSzaAla.DeAfaO/Alap – PSzaAla.ElAfaO/Alap,
PSzaAla.DeAfaO/Előleg – PSzaAla.ElOssz/Előleg)
A befűzött áfa összege nem lehet nagyobb, mint az előleg számlából illetve a végszámlából rendelkezésre álló szabad áfa összegből a kisebbik.
4. Az előleg számla input értékekből számított ÁFA kulcs, és az előlegszámlához rendelt ÁFA kódhoz tartozó ÁFA kulcs közötti eltérés kevesebb mint 1%.
5. Áru tétel áfa kód és áfa besorolás kód ütköztetése
A számla előleg tétel áfa kódjának és az áfa besorolás kódhoz tartozó áfa kódnak összhangban kell lenni.
If ((PSzaElo.AkdKod = ’0’) Or
(FAkdTor(PSzaElo.AkdKod).AfaKod = ’X’) Or
(FAkdTor(PSzaElo.AkdKod).AfaKod = PSzaElo.AfaKod))
Then OK
Else Begin
Message : Áfa kód – áfa besorolás kód ütközés!
Abort
End
6. Áfa besorolás kód meglétének ellenőrzése
A számla előleg áfa kódjának függvényében nem mindig engedhető meg az áfa besorolás kód hiánya.
If (((PSzaAla.TipusK = ’1’) And {Szállító}
(PSzaElo.AkdKod = ’0’) And
(AAfaTor(PSzaElo.AfaKod).SzalBev = ’I’))
OR
((PSzaAla.TipusK <> ’1’) And {Vevő, Belső}
(PSzaElo.AkdKod = ’0’) And
(AAfaTor(PSzaElo.AfaKod).VevoBev = ’I’))
Then Begin
Message : Az áfa besorolás kód nem lehet 0!
Abort
End;
7. Áfa besorolás kód – számla típus egyeztetés
If ((PSzaAla.TipusK = ’1’) And (FAkdTor(PSzaElo.SAkdKod).SzaSzl = ’N’)) Or {Száll}
((PSzaAla.TipusK = ’2’) And (FAkdTor(PSzaElo.VAkdKod).VevSzl = ’N’)) Or {Vev}
((PSzaAla.TipusK = ’3’) And (FAkdTor(PSzaElo.VAkdKod).BelSzl = ’N’)) Then {Bels}
Then Begin
Message : Számla típus – áfa besorolás kód ütközés!
Abort
End;