Loading…
Tilbage

Profilbillede

En fejl i nyeste schematronvalidering?

Erik Hindborg

Hej

Med seneste schematronvalidering får jeg en afvisning på en linje, jeg ellers synes er i orden. Linjen validerer med de "gamle" valideringer.

Der er tale om en kreditnota indeholdende en linje med følgende karakteristika:

  • der krediteres 1 stk til en stykpris på kr. 0.00 med en charge på kr. 975.00

Linjen der genereres ser således ud:

 

    <cac:CreditNoteLine>
        <cbc:ID>4</cbc:ID>
        <cbc:CreditedQuantity unitCode="EA">1.0000</cbc:CreditedQuantity>
        <cbc:LineExtensionAmount currencyID="DKK">975.00</cbc:LineExtensionAmount>
        <cac:TaxTotal>
            <cbc:TaxAmount currencyID="DKK">243.75</cbc:TaxAmount>
            <cac:TaxSubtotal>
                <cbc:TaxableAmount currencyID="DKK">0.00</cbc:TaxableAmount>
                <cbc:TaxAmount currencyID="DKK">243.75</cbc:TaxAmount>
                <cac:TaxCategory>
                    <cbc:ID schemeID="urn:oioubl:id:taxcategoryid-1.1" schemeAgencyID="320">StandardRated</cbc:ID>
                    <cbc:Percent>25.00</cbc:Percent>
                    <cac:TaxScheme>
                        <cbc:ID schemeID="urn:oioubl:id:taxschemeid-1.1" schemeAgencyID="320">63</cbc:ID>
                        <cbc:Name>Moms</cbc:Name>
                    </cac:TaxScheme>
                </cac:TaxCategory>
            </cac:TaxSubtotal>
        </cac:TaxTotal>
        <cac:Item>
            <cbc:Description>RETUR PANT AF QADDY TROMLE</cbc:Description>
            <cbc:Name>RETUR PANT AF QADDY TROMLE</cbc:Name>
            <cac:SellersItemIdentification>
                <cbc:ID schemeID="SA">9999999813</cbc:ID>
            </cac:SellersItemIdentification>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID="DKK">0.00</cbc:PriceAmount>
            <cbc:PriceTypeCode listID="UN/ECE 5387">AAA</cbc:PriceTypeCode>
            <cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
            <cac:AllowanceCharge>
                <cbc:ID>3</cbc:ID>
                <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
                <cbc:AllowanceChargeReason>Returpant Qaddy tromler</cbc:AllowanceChargeReason>
                <cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric>
                <cbc:SequenceNumeric>3</cbc:SequenceNumeric>
                <cbc:Amount currencyID="DKK">975.00</cbc:Amount>
                <cbc:BaseAmount currencyID="DKK">975.00</cbc:BaseAmount>
                <cac:TaxCategory>
                    <cbc:ID schemeID="urn:oioubl:id:taxcategoryid-1.1" schemeAgencyID="320">StandardRated</cbc:ID>
                    <cbc:Percent>25</cbc:Percent>
                    <cac:TaxScheme>
                        <cbc:ID schemeID="urn:oioubl:id:taxschemeid-1.1" schemeAgencyID="320">63</cbc:ID>
                        <cbc:Name>Moms</cbc:Name>
                    </cac:TaxScheme>
                </cac:TaxCategory>
            </cac:AllowanceCharge>
        </cac:Price>
    </cac:CreditNoteLine>

 

Filen validerer ikke grundet debbe fejl:

Checking OIOUBL-2.1 CreditNote, 2022-05-19, Version 1.12.3.d371cff
The document can not pass the schematron validation.
1 error(s) occurred.

Error No. : 1
Context : CreditNote/cac:CreditNoteLine
Pattern : $unitCodeNeither and ($notFree and $noExchangeRate) and (($lineExtensionAmount < ($calculatedTotalUnitCodeEqual - 1.00)) or ($lineExtensionAmount > ($calculatedTotalUnitCodeEqual + 1.00)))
Description : [F-CRN216] CreditNote line '4' with lineExtensionAmount (975.00) must equal Price.PriceAmount (0.00) * CreditedQuantity (1.0000) +/- 1.00.
XPath : /CreditNote[1]/cac:CreditNoteLine[4]

Fuld fejlbesked Xml : 
<Information>Checking OIOUBL-2.1 CreditNote, 2022-05-19, Version 1.12.3.d371cff</Information><Error context="CreditNote/cac:CreditNoteLine"><Pattern>$unitCodeNeither and ($notFree and $noExchangeRate) and (($lineExtensionAmount &lt; ($calculatedTotalUnitCodeEqual - 1.00)) or ($lineExtensionAmount &gt; ($calculatedTotalUnitCodeEqual + 1.00)))</Pattern><Description>[F-CRN216] CreditNote line '4' with lineExtensionAmount (975.00) must equal Price.PriceAmount (0.00) * CreditedQuantity (1.0000) +/- 1.00.</Description><Xpath>/CreditNote[1]/cac:CreditNoteLine[4]</Xpath></Error>

 

Er det en fejl i valideringen, eller er det fordi, jeg "misbruger"  systemet?

 

Venlig hilsen

Erik Hindborg

Hej Erik

 

Jeg kan ikke forstå, hvordan dit eksempel har været valid tidligere, da den fejl du får, komme fra en validering, som har været der længe. Men problemet er, at din pris er 0, men din cbc:LineExtensionAmount = 975.00. Dermed fejler valideringen, da pris * antal skal give værdien i ”LineExtensionAmount”.

 

Så “cac:Price\cbc:PriceAmount” skal være 975.00 i det eksempel

 

Note

Når men angiver ”AllowanceCharge” på linjeniveau, er det alene en information til modtageren om, at der er givet en rabat – og informationerne i ”AllowanceCharge” på linjeniveau indgår ikke i nogle beregninger.

 

Er der angivet en ”AllowanceCharge” på hovedniveau, indgår beløbende i beregningen af de forskellige totalbeløb, men da der her er tale om en samlet rabat angivelse, kan modtageren ikke se hvor rabatten er giver, og derfor kan man angive en ”AllowanceCharge” på de linjer, som har rabat – og dermed underrette modtageren om, hvor rabatten er givet

 

Du kan læse mere om ” ”AllowanceCharge” i https://www.oioubl.info/documents/da/da/Guidelines/OIOUBL_GUIDE_RABAT.pdf - ”AllowanceCharge” på linjeniveau står under pkt. 3.2

 

Med venlig hilsen

NemHandel teamet

 

Hej Dan

 

Dit svar giver fuldkommen mening for mig.

Vi validerer meddelelserne hos os, og der validerer dokumentet - jeg kan ikke forklare hvorfor. Det var KMD der afviste dokumentet.

 

Anyway - vi retter det, og får undersøgt vore schematroner.

 

Tusinde tak for en udsøgt service :)