Számla light

 ( pch | 2015. december 18., péntek - 21:43 )

Sokan kerestek mostanában webes számlázót.
Nekem volt is egy, de az inkább ügyviteli rendszer mint számlázó.
Volt ahol bevezetésre került volna, de mancika nem tudott vele zöld ágra vergődni. Előtte dos-os semmitnemtudó volt és nem értette meg a működési összefüggéseket.
Ez a két dolog sarkalt arra, hogy megcsináljam a számla light-t.
Ez tényleg semmire nem jó, csak papír formába önti amit eddig kézi tömbbe vittünk fel.
Na jó, még figyeli a kiegyenlítést, lehet tartozás listát készíteni, no meg a nav export se hiányzik belőle.

Képernyőképek:
https://goo.gl/photos/TJM4pZokF4nNeWCs7

Ha ki akarja valaki próbálni lehet kérni demó hozzáférést és nyomogathatja 1 napig kedvére.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

OFF: én nem szeretném kipróbálni.

Viszont a partner törzsben ha olyan bontásban van tárolva a cím ahogy a képernyőn látható akkor nézd át újra a NAV XML leírást, illetve a legutóbb kiadott NAV GYIK et amiben külön kitérnek arra hogy a cím ilyen módon exportálása akkor sem elfogadható ha az XML struktúrában a közterület jellege nem kötelező...

Nem kötekedni akartam...

Az én értelmezésembe ez a vevőkre nem vonatkozik..

Nézzük az xml ezen részét:

[<]xs:complexType name="cim_tipus"[>]
		[<]xs:sequence[>]
			[<]xs:element name="iranyitoszam" minOccurs="1"[>]
				[<]xs:simpleType[>]
					[<]xs:restriction base="xs:string"[>]
						[<]xs:maxLength value="10"/[>]
						[<]xs:minLength value="4"/[>]
					[<]/xs:restriction[>]
				[<]/xs:simpleType[>]
			[<]/xs:element[>]
			[<]xs:element name="telepules" type="string_tipus" minOccurs="1"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Település megnevezése[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="kerulet" type="string_tipus" minOccurs="0"/[>]
			[<]xs:element name="kozterulet_neve" type="string_tipus" minOccurs="1"/[>]
			[<]xs:element name="kozterulet_jellege" type="string_tipus" minOccurs="0"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]A közterület jellege (utca, körút …)[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="hazszam" type="string_tipus" minOccurs="0"/[>]
			[<]xs:element name="epulet" type="string_tipus" minOccurs="0"/[>]
			[<]xs:element name="lepcsohaz" type="string_tipus" minOccurs="0"/[>]
			[<]xs:element name="szint" type="string_tipus" minOccurs="0"/[>]
			[<]xs:element name="ajto" type="string_tipus" minOccurs="0"/[>]
		[<]/xs:sequence[>]
	[<]/xs:complexType[>]

itt valóban külön kezeli, de nézzük mi jön a sémába ezután. Mert ez a számla kibocsájtóra vonatkozik.

[<]xs:complexType name="vevo_tipus"[>]
		[<]xs:sequence[>]
			[<]xs:element name="adoszam" type="adoszam_tipus" minOccurs="0"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Vevő adószáma.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="kozadoszam" type="adoszam_tipus" minOccurs="0"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Közösségi adószám.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="nev" type="string_tipus"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Vevő neve.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="cim" type="cim_tipus"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Vevő címe.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
		[<]/xs:sequence[>]
	[<]/xs:complexType[>]

Itt a vevő címe egy mező.

Ezekután a képviselőt kéri be (ha van)

	[<]xs:complexType name="kepviselo_tipus"[>]
		[<]xs:sequence[>]
			[<]xs:element name="adoszam" type="adoszam_tipus" minOccurs="0"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Képviselő adószáma.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="nev" type="string_tipus"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Képviselő neve.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
			[<]xs:element name="cim" type="cim_tipus"[>]
				[<]xs:annotation[>]
					[<]xs:documentation[>]Képviselő címe.[<]/xs:documentation[>]
				[<]/xs:annotation[>]
			[<]/xs:element[>]
		[<]/xs:sequence[>]
	[<]/xs:complexType[>]

Mint látható ebbe is csak egy mező van a címre.

Szóval én nem látom, hogy a vevőnél is szét kellene szedni.
De mivel most csináltam megoldható könnyen.

Azért szeretnélek megkérni, hogy ha Neked más xml előírásod van feltétlenül szólj!

Köszi!
pch
--
http://www.buster.hu "A" számlázó
--

Mindkét címet "cim_tipus"-al kell megadni, tehát azonos részletezettséggel.

https://www.google.hu/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwign-OPsujJAhXElHIKHXpcC6oQFggbMAA&url=https%3A%2F%2Fwww.nav.gov.hu%2Fdata%2Fcms382357%2FGYIK_szamlazo_program.pdf&usg=AFQjCNGiO1_XlQgN5NMBKt4A6UMbZPBLOw&cad=rja

Itt a NAV kiadott GYIK hozzá.

Az xsd a rendelet mellekleteben van benne.

A kész xml fájlt pedig a GYIK ban emlitett schema validatorral erdemes ellenoriztetni.

Nekem ezt hozta a validator:
The XML is Well Formed and Valid.

És a vevőnél NINCS külön szedve a cím. Ezért kértelek, hogy a gyík és a többi maszlag kihagyásával egy xsd-t adj.
Mert nekem az xsd-be a vevőnél ez van:

[<]xs:complexType name="vevo_tipus"[>]
  [<]xs:sequence[>]
   [<]xs:element name="adoszam" type="adoszam_tipus" minOccurs="0"[>]
    [<]xs:annotation[>]
     [<]xs:documentation[>]Vevő adószáma.[<]/xs:documentation[>]
    [<]/xs:annotation[>]
   [<]/xs:element[>]
   [<]xs:element name="kozadoszam" type="adoszam_tipus" minOccurs="0"[>]
    [<]xs:annotation[>]
     [<]xs:documentation[>]Közösségi adószám.[<]/xs:documentation[>]
    [<]/xs:annotation[>]
   [<]/xs:element[>]
   [<]xs:element name="nev" type="string_tipus"[>]
    [<]xs:annotation[>]
     [<]xs:documentation[>]Vevő neve.[<]/xs:documentation[>]
    [<]/xs:annotation[>]
   [<]/xs:element[>]
   [<]xs:element name="cim" type="cim_tipus"[>]
    [<]xs:annotation[>]
     [<]xs:documentation[>]Vevő címe.[<]/xs:documentation[>]
    [<]/xs:annotation[>]
   [<]/xs:element[>]
  [<]/xs:sequence[>]
 [<]/xs:complexType[>]

itt ellenőriztem:ww.utilities-online.info/xsdvalidation

pch
--
http://www.buster.hu "A" számlázó
--

Azért a gyík elég világos:

Idézet:
A Rendelet 2. melléklet szerint mind a számlakibocsátó, mind a számlabefogadó cím adatait
az alábbi bontásban kell tartalmaznia az adatszolgáltatásnak.
...
Mivel a Rendelet 2-3. mellékleteinek az alkalmazása kötelező, az abban foglaltaktól nem
lehet eltérni, ezért pl. a cím adatok egy mezőben történő szerepeltetése nem fogadható el.
Az XSD címadatokra vonatkozó egyes mezőinél a "minoccurs=0" kitétel azért szerepel, mert
bizonyos címeknél például nem értelmezhető a Közterület jellege (pl.: helyrajzi szám esetén),
vagy például nincs Házszám, Emelet, Ajtó, így ezekhez a mezőkhöz nem feltétlenül tartozik
adat. Amennyiben a számlán szereplő címben nem szerepel Házszám, Emelet, Ajtó adat,
akkor azt az XML adatszolgáltatásnak sem kell tartalmaznia.

A HRSZ miatt nem tehették a házszám minOccourt nem 0-ra.
Innentől passzos lesz a validatorral akkor is ha nem bontod meg.

IMHO a latest and the greatest XSD ez:
http://nav.gov.hu/nav/ado/afa080101_hatalyos/23_2014___VI__30___NG20150827.html?query=XSD

A GYIK jelentősége 0. A NAV nem jogalkotó.
--
♙♘♗♖♕♔

A mellékletben lévő xsd-nél a vevő részt átnézted?
Ott nincs külön szedve. Lehet a gyík fogalmaz szarul, de ha nem lehet eltérni nem is kell bontani.
Ezért mondom újra, hogy ne a gyíkot másold ide mert az egy semmi.
Olyan xsd-t adj, amit a nav adott ki és a vevőnél bontva van a cím!

pch
--
http://www.buster.hu "A" számlázó
--

Nyugi, a NAV nem adhat ki xsd-t, mikor az a jogszabályban már benne van :)
http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=A1400023.NGM
--
♙♘♗♖♕♔

Köszi!

Itt a leírásba külön van (2es melléklet) viszont a 3-as mellékletben lévő xsd be meg nincs bontás.
Érdekes, hogy már itt ellentmondás van.
(Amúgy külön van tárolva csak az xml exportba nincs)

pch
--
http://www.buster.hu "A" számlázó
--

Szerintem nincs semmilyen ellentmondás. A 2. melléklet csak szöveges segítség (a gyengébbek kedvéért) a 3. melléklethez, és egyszerűen csak kevesebb információt tartalmaz mint a 3., mivel többek között nem írja le, hogy az elemek közül mi kötelező, és mi nem. Az xsd szerint ugyan csak a "kozterulet_neve" kötelező, tehát formailag minden cím esetén írhatnád abba a házszámot is. Más kérdés hogy tartalmilag (a jogalkotó szándéka szerint) ez nyilvánvalóan trehányság, mivel az xsd szerint lehetne külön is. Szóval ha az adataid tartalmilag szétbonthatóak, akkor azért inkább bontsd szét őket :)

--
♙♘♗♖♕♔