Felhasználói eszközök

Eszközök a webhelyen


spec:egyablakos

Egyablakos (OSS) bizonylatok

Az egyablakos (OSS – One Stop Shop) értékesítés az EU-n belüli, külföldi magánszemély (nem adóalany) vevőknek történő értékesítés, amelynél a számlát a vevő címe szerinti ország áfakulcsával kell kiállítani (áfa törzsben „Külföldi” jelölésű, áfakörös kulcsok), és a számla nem kerül beküldésre a NAV Online Számla rendszerbe.

Korábban az egyablakos számla csak szolgáltatást tudott számlázni. Ez a fejlesztés kiterjesztette termék értékesítésre (cikktörzsből és raktárból), létrehozta az egyablakos szállítólevelet, az export és egyablakos vevői rendelést, valamint a webshop connector (wconn) számára a rendelés engine típusos interface-ét.

Bizonylattípusok

Bizonylat dok= Menü jog Feltétel (modul)
Egyablakos számla egyablakos_szamla se02 dok::egyablakos_szamla
Egyablakos helyesbítő számla helyesbito_egyablakos_szamla (se02) dok::egyablakos_szamla
Egyablakos szállítólevél egyablakosszallito sz36 dok::szallito + dok::egyablakos_szamla
Egyablakos proforma egyablakosproforma_szamla sp09 dok::proforma + dok::egyablakos_szamla
Egyablakos rendelés egyablakosrendeles re76 dok::rendeles + dok::egyablakos_szamla
Export rendelés exportrendeles re75 dok::rendeles + dok::exportszamla

Az egyablakos szállítólevél, proforma és rendelés a befogadó modul (szallito, proforma, rendeles) modulon belüli változata, menüpontjuk csak akkor jelenik meg, ha a dok::egyablakos_szamla modul telepítve van (#MENU-IF). Az export rendelés a dok::exportszamla modultól függ.

Felhasználói működés

Partner szabályok

  • Egyablakos bizonylatra csak Magyarországon kívüli, de EU-n belüli címmel rendelkező személy típusú partner választható, aki nem adóalany (nincs adószáma). HU vagy közösségen kívüli (THIRD) cím esetén a rendszer figyelmeztet, rögzítéskor (felvesz) hibát ad.
  • Export bizonylatra Magyarországon kívüli partner választható (EU-s vagy harmadik országbeli).

ÁFA kezelés

  • Egyablakos bizonylaton a fejben a Külföldi ÁFA mezőben választható az alapértelmezett kulcs (áfa törzs: áfakörös + export jelölésű kulcsok). Minden tétel ezt a kulcsot kapja, de a tételeken a kulcs egyenként átírható.
  • Export bizonylaton a fejben a mentes (áfakörön kívüli, export jelölésű) áfakód választható, a tételek 0%-os kulccsal, ezzel a kóddal készülnek; a kód tételenként átírható.
  • A tételek nettó árasak; az árat és az áfa kulcsot a felhasználó az adatrögzítéskor adja meg.

Tétel típusok

Az egyablakos számla és szállítólevél tud:

  • szolgáltatást (cikktörzsből),
  • terméket cikktörzsből („Termékek bizonylatra” – ha a megfelelő termekek_cikktorzsbol beállítás aktív),
  • terméket raktárból (készletkivéttel, gyáriszám/sarzs/szavatosság támogatással).

Az egyablakos/export rendelés cikktörzsből vett terméket, szolgáltatást, végösszegi engedményt és korábbi rendelés másolását támogatja.

Bizonylatláncok

  • egyablakos rendelés → egyablakos szállítólevél → egyablakos számla
  • egyablakos rendelés → egyablakos számla (közvetlenül)
  • export rendelés → export szállítólevél / export számla
  • egyablakos/export rendelés → egyablakos/export proforma

A rendelés nézetén a Számlázás és Proforma gombok típusazonosak: export rendelésről export számlát/proformát, egyablakos rendelésről egyablakos számlát/proformát céloznak, a gombfelirat is ehhez igazodik. A folyamat felülbírálható: ha a rendelés adatai hibásak, a felhasználó a normál (vagy másik típusú) számla/szállítólevél űrlapjáról is behúzhatja a rendelést – ilyenkor a cél bizonylat saját áfa logikája érvényesül.

Áfa öröklés a láncban: ha a cél bizonylat típusa megegyezik a forrás rendelés típusával (pl. egyablakos rendelésből egyablakos számla), akkor a rendelésen tételenként rögzített áfa öröklődik – a fej Külföldi ÁFA mezője nem írja felül. Eltérő típusú cél esetén (felülbírálás) a cél bizonylat áfa logikája érvényesül.

Stornó és helyesbítő

Mindkettő a normál bizonylatokkal azonos módon működik. A stornó tételei az eredeti külföldi áfakulcsot viszik, raktári termék esetén a készlet visszaíródik a forrásraktárba. Az egyablakos helyesbítő számla terméket is kezel.

Tömeges számlázás

A rendeléslistákban látható és szűrhető a rendelés Típus oszlopa. A tömeges számlázás továbbra is normál (gépi) számlát készít, ezért export vagy egyablakos rendelést tartalmazó kijelöléssel nem indítható – ilyenkor hibaüzenet jelenik meg. A típusos rendelések a rendelés nézetének típusazonos Számlázás gombjával számlázhatók.

Az egyablakos számla nem tartozik a NAV Online Számla adatszolgáltatás alá: a modul az onlineszamla_check működést kikapcsolja, az onlineszámla close_trigger pedig EU_VAT indokkal nem kötelezőnek jelöli az adatszolgáltatást. Az export számla továbbra is adatszolgáltatás-köteles.

Fejlesztői dokumentáció

Architektúra

  • Nincs külön tábla vagy flag oszlop: a megkülönböztetés a fejtáblák (szlafej, szlvfej, pfszfej, rendfej) tipus oszlopában történik (gépi / export / egyablakos).
  • A változatok vékony öröklésű osztálypárok (bizonylat osztály + komponista) a befogadó modulon belül, a proforma változatok mintájára: SUPER::old + apply_spec_afa=1 (+partner_szemely, partner_nem_adoalany egyablakosnál), _tipus() felülírás, apply_spec_afaapply_eu_afa (egyablakos) ill. apply_export_afa (export), országtípus-ellenőrzés az _update-ben.
  • A tételszintű áfa szerkesztést a metadata qtype_merge köré tett hack_afakulcs (egyablakos) ill. hack_afakod (export) lokalizált hack adja.
  • Fontos: az apply_*_afa csak az add_lib pillanatában fut (set_value_first), az utána történt tétel-szintű set_value megmarad. Erre épül a tételenkénti áfa átadás (engine) és öröklés (rend_keres).
  • A rend_keres (rendelés → bizonylat lánc) forrás-tudatos: ha a rendfej.tipus export/egyablakos ÉS megegyezik a cél komponista _tipus-ával, a tétel áfáját a rendtet-ből örökíti (nem a cikktörzsből).

wconn / rendeles_engine interface

A webshop connector rendelés-rögzítése a dok::rendeles::rendeles_engine-en át történik. A típusos rendelésekhez az interface így bővült (visszafele kompatibilis: a régi, paraméter nélküli hívás változatlanul gépi rendelést készít, változatlan működéssel):

# gépi (változatlan, régi hívási mód):
my $engine = dok::rendeles::rendeles_engine->new;
 
# egyablakos (OSS) rendelés:
my $engine = dok::rendeles::rendeles_engine->new({tipus=>'egyablakos'});
 
# export rendelés:
my $engine = dok::rendeles::rendeles_engine->new({tipus=>'export'});
 
my $result = $engine->felvesz($input); # {status=>'Ok', szlaszam=>...}

Az engine input (hash vagy elib::engine_input) új mezői:

Mező Szint Jelentés
eu_afa fej Külföldi áfakulcs (egyablakos): minden tétel alapértelmezett kulcsa. Áfa törzs: afakor AND export kulcsok.
export_afa fej Mentes áfakód (export): a tételek 0%-kal, ezzel a kóddal készülnek. Áfa törzs: NOT afakor AND export kódok.
tetel_afakulcs tétel Tételenkénti áfakörös kulcs – felülbírálja a fej eu_afa-t az adott tételen (OSS-ben pl. kedvezményes kulcsú termék).
tetel_afakod tétel Tételenkénti mentes áfakód (áfakörön kívüli tétel).

Szabályok:

  • tipus nélkül (vagy gépi-vel) hívva az eu_afa/export_afa/tetel_afakulcs/tetel_afakod mezőket nem szabad átadni – a gépi rendelés áfája változatlanul a cikktörzsből jön.
  • Egyablakos rendelésnél a partner személy legyen EU (nem HU) címmel, különben a felvesz országtípus-hibával elhal.
  • A termék_beszállítótól (termekek_beszallitoi) tétel típus export/egyablakos rendelésen nem támogatott.
  • A rendelésből történő későbbi számlázás a tételenkénti kulcsokat örökíti (ld. forrás-tudatos rend_keres).

Tesztek

Teszt Mit fed le
t/unit/egyablakos_szamla_metadata.t qtype regisztráció, tételszintű áfakulcs hack
t/unit/egyablakos_szamla.t egyablakos számla raktári termékkel, EU_EU ügylet, készletkivét, HU tiltás
t/unit/egyablakos_szallito.t egyablakos szállítólevél + lánc számlára
t/unit/egyablakos_szallito_storno.t stornó áfa- és készlet-visszaírással
t/unit/egyablakos_rendeles.t egyablakos rendelés + lánc számlára és szállítólevélre, HU tiltás
t/unit/export_rendeles.t export rendelés + lánc export számlára, HU tiltás
t/unit/rendeles_engine_tipus.t engine tipus interface, visszafele kompatibilitás, tételenkénti kulcs + öröklés
t/app/egyablakos_*.t form smoke tesztek

Fixture-ök: create_egyablakoskepes_partner (EU személy), create_exportszamlakepes_partner (EU cég közösségi adószámmal) – t/lib/Test/EVIR/Fixtures/Partner.pm.

spec/egyablakos.txt · Utolsó módosítás: szerkesztette: claudia

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki