A vevőktől kapott illetve szállítóknak fizetett nyitott előlegek fordulónapi átértékelése az előleg számlák alapján, kontírozási tétel létrehozásával, csoportosan, automatizáltan történik.
Forrás: Frm_FordNapAtertEloleg
Jogosultságkód: 242640 Help context: 242640
Script: PSzaElo_FordNap.sql

Az elszámolás input adatai:
1. DevDatF A fordulónap dátuma
Az elszámolás fix feltételei:
Az átértékelést teljes körűen, szűrési feltételek megadása nélkül kell elvégezni.
A program az árfolyam különbség elszámolásának adatait a számla alap adatok (PSzaAla) és fordulónapig megtörtént előleg befűzések (PSzaElo) alapján állítja elő.
Átértékelés := EloSzabOszDev * (DevArfF – DevArfSz)
Az átértékelés összege a devizás szabad előleg összeg és az átértékelési árfolyam különbözet szorzataként áll elő.
EloSzabOszDev: A devizás szabad előleg összeg az előleg számla devizás összegének és a már befűzött előleg összegének a különbözete.
Szállító számla esetén az áfa nélküli devizás értéket, vevő számlánál az áfával növelt devizás összegeket vesszük figyelembe.
DevArfF: Az előleg számla devizanemének fordulónapi árfolyama.
DevArfSz: Az előleg számla aktuális deviza árfolyama. Ha az előleg számla még nem volt átértékelve, akkor a számviteli árfolyamot (PSzaAla.DevArf), átértékelés után a számla fordulónapi árfolyamát (PSzaAl.DevArfF) vesszük figyelembe.
Az adatok számítási módját alapvetően az befolyásolja, hogy szállító (1), vagy vevő (2) előleg számláról van-e szó (PSzaAla.TipusK), illetve az, hogy milyen az értékelési különbözet előjele, azaz a fordulónapi (DevArfF) és a számla árfolyam (DevArfSz) különbözete.
TipusK |
[+] DevArfF < DevArfSz |
[–] DevArfF > DevArfSz |
1 – Szállító |
[2] Árfolyam veszteség |
[1] Árfolyam nyereség |
2 – Vevő |
[1] Árfolyam nyereség |
[2] Árfolyam veszteség |
ElsTipX – Elszámolás típusa FokKodX – Átértékelés számla
[1] – Nyereség SAzoAda.MePeeArfNy -> PPeeTor.FokKod
[2] – Veszteség SAzoAda.MePeeArfVe -> PPeeTor.FokKod
Az előleg számlák átértékelése az [Elszámolás] gomb megnyomására indul el.
Az egyes előleg számlák átértékelése egy vagy két lépésből áll:
1. Az átértékelés kontírozása
Az előleg számlák átértékelése egy kontírozási tétel előállításával valósul meg.
2. A fordulónap utáni befűzések árfolyamának átírása
Amennyiben egy előleg számlából a forduló nap utáni teljesítési dátummal rendelkező végszámlába történt befűzés (ElőlegTétU > 0), akkor ezeknek a befűzéseknek a deviza árfolyamát át kell írni a fordulónapi deviza árfolyamra.
Az előleg számlák átértékelése egy kontírozási tétel előállításával valósul meg.
FKntFej - Kontírozási fejadatok
Insert
A program az adatrács adataiból állítja elő a kontírozási adatokat.
Program által előállított adatok:
Azonosító adatok:
A1. KontAz Kontírozási azonosító pk
KontAz=KAzoAda.KontirBto+EloNull(KontEv,2)+’/’+EloNull(KontID,5) (pk: primary key)
A2. KontID Kontírozási egység sorszám f(’KOX’,KontEv)
A3. KontEv Kontírozás éve <KontDt-ból>
A4. KontHo Kontírozás hónapja <KontDt-ból>
Input adatok:
I1. KontDt Kontírozás dátuma: DevDatF – Fordulónap
I2. NapKod Napló kód: f(Tip) PSzaAla.TipusK
<1> Szállító: KAzoAda.AlSzNa – Alap szállító napló <500>
<2> Vevő: KAzoAda.AlVeNa – Alap vevő napló <600>
A naplókód a számla típus függvényében a rendszer paraméterekből áll elő.
I3. Bizony Bizonylatszám: <SzámlaAzon> – Előlegszámla száma
I4. EloBiz Előző bizonylatszám: <SzámlaAzon> – Előlegszámla száma
I5. ParKod Partner kód: <Partner> – Számla partner kód
I6. SzeKod Szervezeti egység <SzervK>
I7. DolKod Dolgozó kód 0
I8. Megjeg Megjegyzés: <Előleg számlák fordulónapi átértékelése>
Kiegészítő adatok:
K1. BizAzo Bizonylat azonosító PSzaElo.Szasza – Végszámla száma
K2. SzaSza Számla azonosító <SzámlaAzon> – Előlegszámla száma
K3. KonAzo Kontírozási azonosító: <SzámlaAzon> – Előlegszámla száma
K4. CsopTip Csoport típus 1 – Csoportos egymástól független
K5. CsKonAz Összetartozó azon. KonAzo.First
K6. OsKonAz Összetartozó kontírozási azonosító <0>
Állapot adatok:
Á1. KonMod Kontírozás típusa: 2 – Gépi kontírozás
Á2. FokAll Főkönyvi állapot: 1 – Kontírozott
Á3. StoKod Stornó állapot 0 – Alap
Á4. StoAzA Stornó azonosító A: 0
Á5. StoAzB Stornó azonosító B: 0
Á6. SzlJel Számla jelleg Program által előállított
[1] – Nyereség 1 – Tartozik
[2] – Veszteség 2 – Követel
Á7. KonTip Kontírozás típusa: 433 – Előleg számlák fordulónapi átértékelése
Á8. Tartoz Tartozik összesen
Select Sum(Tartoz) From FKntTet Where FKntTet.KontAz = FKntFej.KontAz
Á9. Kovete Követel összesen
Select Sum(Kovete) From FKntTet Where FKntTet.KontAz = FKntFej.KontAz
Á10. Mennyi Mennyiség
Select Sum(Mennyi) From FKntTet Where FKntTet.KontAz = FKntFej.KontAz
Napló adatok:
N1. KOpeKo Kontírozási napló adatok: Operátor kód generált
N2. KTerko Terminál kód generált
N3. KRogda Rögzítés időpontja generált
N4. ROpeKo Könyvelési napló adatok: Operátor kód Üresen marad
N5. KTerko Terminál kód Üresen marad
N6. KRogda Rögzítés időpontja Üresen marad
FKntTet - Kontírozási tételadatok
Insert
A, Előleg számla
Program által előállított adatok:
Azonosító adatok:
A7. SzlTip Számla típus: 1 - Alap
A8. SzlJel Számla jelleg: FKntFej.SzlJel
Input adatok:
I1. FokKod Főkönyvi számla <EloFkviSzla> - Előleg főkönyvi számla
I2. ParKod Partner kód: <Partner> – Számla partner kód
I3. KtgSzl Költség számla: X
I4. KtgJel Költség jelleg: 0
I5. KtgTip Költség típus: 0
I6. AkdKod ÁFA besorolás kód 0
I7. ProKod Project kód: <ProjectK>
I8. TaenAz Tárgyi eszköz azon. 0
I9. SzeKod Szervezeti egység <SzervK>
I10. DolKod Dolgozó kód 0
I11. Tartoz Tartozik összeg:
If SzlJel = 1 Then Abs(Átértékelés) Else 0
I12. Kovete Követel összeg:
If SzlJel = 2 Then Abs(Átértékelés) Else 0
I13. MeeKod Mennyiség egység 0
I14. Mennyi Mennyiség 0
I15. MlpAzo Munkalap azonosító 0
I16. TevKod Tevékenység kód 0
Kiegészítő adatok:
K1. KttAzo Kontírozási tétel azonosító: <SzámlaAzon> – Előlegszámla száma
Napló adatok:
N1. Opekod Operátor kód generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés időpontja generált
B, Átértékelés
Program által előállított adatok:
Azonosító adatok:
A1. KontEv Kontírozás éve <KontDt-ból>
A2. KontHo Kontírozás hónapja <KontDt-ból>
A3. KontID Kontírozási tételsor f(’KOX’,KontEv)
A4. KontAz Kontírozási azonosító: Program által generált
A5. KoTeSo Tételsor. – Kontírozás Inkrementális, a kontírozási csoporton belül 1-ről indul
A6. KoTeAz Kontírozási tétel azonosító
KoTeAz=KnyvAz+’/’+EloNull(KoTeSo,3)
A7. SzlTip Számla típus: 2 - Ellen
A8. SzlJel Számla jelleg: Inverz(FKntFej.SzlJel)
Input adatok:
I1. FokKod Főkönyvi számla FokKodX – Átértékelés számla
I2. ParKod Partner kód: 0
I3. KtgSzl Költség számla: X
I4. KtgJel Költség jelleg: 0
I5. KtgTip Költség típus: 0
I6. AkdKod ÁFA besorolás kód: 0
I7. ProKod Project kod: <ProjectK>
I8. TaenAz Tárgyi eszköz azonosít 0
I9. SzeKod Szervezeti egység <SzervK>
I10. DolKod Dolgozó kód 0
I11. Tartoz Tartozik összeg:
If SzlJel = 1 Then Abs(Átértékelés) Else 0
I12. Kovete Követel összeg:
If SzlJel = 2 Then Abs(Átértékelés) Else 0
I13. MeeKod Mennyiség egység 0
I14. Mennyi Mennyiség 0
I15. MlpAzo Munkalap azonosító 0
I16. TevKod Tevékenység kód 0
Kiegészítő adatok:
K1. KttAzo Kontírozási tétel azonosító: <SzámlaAzon> – Előlegszámla száma
Napló adatok:
N1. Opekod Operátor kód generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés időpontja generált
PSzaAla – Számla alap tábla Kontír stornó
Modify <SzámlaAzon> – Előlegszámla száma
Az átértékelés megtörténtének bejegyzése.
Fordulónapi adatok:
F1. DevDatF Deviza átszámítási dátum DevDatF 0
F2. DevBanF Deviza átszámítási bank KAzoAda.BanAzoD ’0’
F3. DevArfF Deviza átszámítási árfolyam <FordNapÁrf> 1
F4. MerDev Mérleg érték 0
F5. MerHuf Mérleg érték 0
A forduló nap utáni előleg befűzések árfolyamának átírása
Amennyiben egy előleg számlából a forduló nap utáni teljesítési dátummal rendelkező végszámlába történt befűzés (ElőlegTétU > 0), akkor ezeknek a befűzéseknek a deviza árfolyamát át kell írni a fordulónapi deviza árfolyamra.
Update PSzaElo
Set DevArf := DevArfF
From PSzaElo elx, PSzaAla szx
Where elx.alapid = szx.szalid
and szx.teldat > DevDatF
and elx.ElolId = SzámlaAzon (PSzaAla.SzAlId)