Online-invoice: [DEV support]Export számlán, a "vatExemption" kitöltése esetén értelmezhetetlen hibát kapok.

Created on 26 Oct 2020  ·  10Comments  ·  Source: nav-gov-hu/Online-Invoice

Környezet / Environment
[x] https://api-test.onlineszamla.nav.gov.hu

Hívott API operáció / called API operation
[] /manageAnnulment
[x] /manageInvoice
[] /queryInvoiceChainDigest
[] /queryInvoiceCheck
[] /queryInvoiceData
[] /queryInvoiceDigest
[] /queryTransactionList
[x] /queryTransactionStatus
[] /tokenExchange

A kérés verziója / version of the request
[] 1.1
[] 2.0
[x] 3.0

A requestId értéke / requestId value
2020E000000126030447

```

A probléma rövid és tömör leírása / Clear and concise description of the problem

Az alábbi "SCHEMA_VIOLATION" üzenetet kapom azokban a sorokban, ahol adómentesség miatt használom
a "vatExemption" szegmenscsoportot:
"_XML contains on line: [93] and column: [29] error: [cvc-complex-type.2.4.d:
Invalid content was found starting with element 'vatExemption'. No child element is expected at this point.]_"

Egyéb tartalom / Additional content
Az eredetileg beküldött szegmensek így néznek ki a sorokban, én nem találok bennük hibát.

      <lineAmountsNormal>
        <lineNetAmountData>
          <lineNetAmount>220.96</lineNetAmount>
          <lineNetAmountHUF>73226.14</lineNetAmountHUF>
        </lineNetAmountData>
        <lineVatRate>
          <vatPercentage>0.00</vatPercentage>
          <vatExemption>
            <case>KBAET</case>
            <reason>adómentes Közösségen belüli termékértékesítés</reason>
          </vatExemption>
        </lineVatRate>
        <lineVatData>
          <lineVatAmount>0.00</lineVatAmount>
          <lineVatAmountHUF>0.00</lineVatAmountHUF>
        </lineVatData>
        <lineGrossAmountData>
          <lineGrossAmountNormal>220.96</lineGrossAmountNormal>
          <lineGrossAmountNormalHUF>73226.14</lineGrossAmountNormalHUF>
        </lineGrossAmountData>
      </lineAmountsNormal>
DEV support

All 10 comments

Kedves @EnokhSys a lineVatRate egy choice vagyis csak egy elem szereplhet benne a 8 választhatóból.

vatPercentage és vatExemption egyszerre nem lehet mind kettő.
A példád esetében a vatPercentage nem kell.

Kedves @renced42 és @KMGY100, köszi szépen. Az a helyzet, hogy benne volt a programomban ez a feltétel, hogy 0% esetén ne adja át a "vatPercentage"-t de tegnap marha mód kiszedtem(!), mert azt hittem, hogy nincs jelentősége, csak véletlenül tettem be néhány hónapja, amikor írtam a v2.0-t. Tegnap, a v3-as dokumentációját olvasva nem esett le, hogy az úgy volt jó, és nem kellene kiszednem, egyszerűen átsiklottam felette. Ezért most megnéztem a v2-es dokumentációját is, íme a két doksi összehasonlítva:

image

@renced42, a régi doksiban benne volt aláhúzva és kiemelve, hogy "az alábbi hat elem közül pontosan az egyiket tartalmazhatják", de ezt a v3-asból kiszedtétek. Javaslom, tegyétek vissza légyszi, mert ez fontos info, akár egy új fejlesztőnek, akár az ilyen véletlenek elkerülése végett.

@renced42 Jut eszembe, még valami: ez a hibaüzenet amit kaptam, teljesen megtévesztő. Ha a "vatPercentage"-nek nem lehet 0 az értéke, akkor ez legyen az üzenet, és ne keverje bele a "vatExemption"-t, mert ahhoz nincs köze.

@renced42 Jut eszembe, még valami: ez a hibaüzenet amit kaptam, teljesen megtévesztő. Ha a "vatPercentage"-nek nem lehet 0 az értéke, akkor ez legyen az üzenet, és ne keverje bele a "vatExemption"-t, mert ahhoz nincs köze.

Kedves @EnokhSys A hibaüzenetet a standard XSD ellenőrző adja vissza. Azért megtévesztő mert nem jól ételmezed a hibaüzenetet.
Invalid content was found starting with element 'vatExemption'.
Ez azt jelenti, hogy ez a sor hibás.
No child element is expected at this point.]_"
Ez pedig az, hogy, miért hibás az a sor, jelen esetben nem várható itt több gyermek elem.

Én nem láttam, a vatPercentage utaló hibaüzenetet, de lehet, hogy elkerülte a figyelmem

@renced42 Jut eszembe, még valami: ez a hibaüzenet amit kaptam, teljesen megtévesztő. Ha a "vatPercentage"-nek nem lehet 0 az értéke, akkor ez legyen az üzenet, és ne keverje bele a "vatExemption"-t, mert ahhoz nincs köze.

Kedves @EnokhSys A hibaüzenetet a standard XSD ellenőrző adja vissza. Azért megtévesztő mert nem jól ételmezed a hibaüzenetet.

Kedves @renced42 , imádlak, de Te nem érted a problémámat! :-)) Az elsődleges hibát nem a "vatExemption" okozza, hanem az előtt levő sor, azaz, ha a "vatPercentage"-nak 0 az értéke, és emellett átadom a "vatExemption" szegmenscsoportot is. Ugyanis, most visszatettem a "vatPercentage"-re azt a feltételt, hogy ne adja át, ha 0 az értéke, és az export számlát simán befogadta a tesztrendszer.

Invalid content was found starting with element 'vatExemption'.
Ez azt jelenti, hogy ez a sor hibás.
No child element is expected at this point.]_"
Ez pedig az, hogy, miért hibás az a sor, jelen esetben nem várható itt több gyermek elem.

Én nem láttam, a vatPercentage utaló hibaüzenetet, de lehet, hogy elkerülte a figyelmem

Hát ez az!! Ez a probléma, hogy miért nem kaptam erre is hibaüzenetet, hiszen, ha megnézed a topikindító hozzászólásomat, a "vatPercentage"-t 0 értékkel adtam át.

Érted már, hogy itt véletlenül dupla megtévesztés történik, amit orvosolnotok kellene:

  • nem kapok hibaüzenetet arra, hogy "vatPercentage"-nek 0 az értéke, viszont kapok hibaüzenetet a következő sorban található "vatExemption"-re, amely még csak nem is értelmes. (Mi a frászt jelent az, hogy "No child element is expected at this point.", amikor az lenne az értelmes üzenet angolul, hogy a vatRate csoporton belül csak egy element adható át.)
  • a v3-as dokumentációból kiszedtetek egy fontos, aláhúzott figyelmeztetést, amely benne volt a v2-ben és amely segített volna a tájékozódásban.

@EnokhSys
"nem kapok hibaüzenetet arra, hogy "vatPercentage"-nek 0 az értéke"
Nem fogsz mert ez XSD szerint valid értéket tartalmaz.
Az egy másik dolog, hogy ennek a tagnak üzletileg lehet-e 0.00 az értéke.

"viszont kapok hibaüzenetet a következő sorban található "vatExemption"-re, amely még csak nem is értelmes. (Mi a frászt jelent az, hogy "No child element is expected at this point.", amikor az lenne az értelmes üzenet angolul, hogy a vatRate csoporton belül csak egy element adható át.)"
Ez egy XSD validátor hibaüzenet, automatikusan generálódik nem az alkalmazásban programozzuk. Ha validálod az XML-ed bármilyen XSD validátorral akkor te is ilyen hibát fogsz kapni, Tehát eljesen jó a hibaüzenet :)

"a v3-as dokumentációból kiszedtetek egy fontos, aláhúzott figyelmeztetést, amely benne volt a v2-ben és amely segített volna a tájékozódásban"

Megerősítésként vissza fogjuk tenni a doksiba.

Kérlek zárd az Issuet. Köszi!

Plusz infoként, hogy azért nem kapsz a 0 értékre hibaüzenetet, mert az xml nem sémavalid.
Csak akkor futnak meg az üzleti validációk, ha séma szinten rendben van minden.
Illetve azért kapsz a vatExemtion-ra üzenetet, mert a choice-on belül megadod a vatPercentage tag-et, ez oké, és innentől kezdve mást nem adhatsz meg, így nyilván az lesz a hibás, amit pluszban nem vártként megadsz.
Üdv

@renced42 Oké, köszi zárom a topikot.

Plusz infoként, hogy azért nem kapsz a 0 értékre hibaüzenetet, mert az xml nem sémavalid.
Csak akkor futnak meg az üzleti validációk, ha séma szinten rendben van minden.
Illetve azért kapsz a vatExemtion-ra üzenetet, mert a choice-on belül megadod a vatPercentage tag-et, ez oké, és innentől kezdve mást nem adhatsz meg, így nyilván az lesz a hibás, amit pluszban nem vártként megadsz.
Üdv

Kedves @NTCA-supporter, köszi a választ, ez így világos. Amint ebből az esetből is kiderült, az a fontos, hogy a dokumentációból minden részlet-információ kiderüljön, amely segíti az interfész fejlesztését. Abból kell kiindulni, hogy a fejlesztők nagyobb része nem olyan profi az XML/XSD területen, mint ti.

Was this page helpful?
0 / 5 - 0 ratings