// include::doc/_common-settings.adoc[]

== OIOUBL Schematron Change List for version 1.13.1


[options="header"]
|===
| Id   | Type | Beskrivelse | Uddybende beskrivelse

|NH-1872 |Teknisk opdatering  |Tillad OriginCountry i OIOUBL Catalogue |Catalogue.CatalogueLine.Item.OriginCountry har tidligere været et ekskluderet felt i OIOUBL, da felter anses som relevant gøres det nu tilladt.
|UAN-196 |Teknisk opdatering  |Opdatering af OIOUBL Utility Statement til UBL 2.1 / OIOUBL 2.1 |Opdateringen af UTS schematron, således at OASIS/UBL XSD ver. 2.1 benyttes, frem for gammel dansk lokalisering. Se uddybende forklaring nederst i denne change log og uddybende forklaring i det næste afsnit.

For at sikre en mulighed for pre-implementering af ny OIOUBL Utility Statement (UTS) schematron, introduceres en dynamisk funktion som vælger
den korrekte UTS XSL baseret på dags-dato validering.

For at benytte den dynamiske funktion skal man gøre følgende:

"_OIOUBL_UtilityStatement_Master.xsl_" skal bruges som XSL for UTS

Følgende UTS XSL'er skal lægges i samme bibliotek som "_OIOUBL_UtilityStatement_Master.xsl_"

"_OIOUBL_UtilityStatement_Schematron2.1b.xsl_" (Gammel XSL fil - Tilladt indtil den 06-02-2023)

"_OIOUBL_UtilityStatement_Schematron2.1.xsl_" "(Ny XSL fil - Krav fra  den 06-02-2023)

Hvis man *_ikke_* ønsker at bruge den dynamiske funktionalitet, skal man sikre at nedenstående XLS filen lægges i produktion den 06-02-2023

*UTS XSL:* OIOUBL_UtilityStatement_Schematron.xsl

|NH-2005  |Fejlrettelse |Manglede validering på TaxTotal - "TaxAmount" = 0 / TaxCategory\Percent" = 0.00  |Valideringen på om man benytter momskategorien: "StandardRated" (Fortæller at beløbet er moms pålagt) og samtidig angiver 0 i momsbeløb kan omgås, såfremt at man fortæller at moms-procenten er 0. Ny validering er tilføjet.
|NH-2338 |Fejlrettelse  |Fejlrettelse af validering af PayableAmount [F-INV133] |Testen for [F-INV133] hvor "PayableAmount" skal være lig med beregningen af alle totaler, fejler når "PayableAmount" = '0.00' for både .NET og Java.

|NH-2142|Teknisk opdatering|Opdatering af alle OIOUBL schematroner til XLST ver. 2.0|OIOUBL schematroner er opdateret til at benytte XSLT version 2.0. OIOUBL schematroner var oprindeligt udviklet til XSLT version 1.0. Det er konstateret, at nyere versioner af XSLT Engine Saxon HE (fra og med version 10.6), begynder af give problemer med en gamle XSLT 1.0 syntaks. OIOUBL schematroner er udviklet og testet med Saxon HE version 10.3, og denne tekniske opdatering sikre, at der ikke opstår fejl ved anvendelse af nyere versioner. Der er ligeledes fortaget flere XSLT 2.0 konsekvensrettelser i flere valideringer. Disse konsekvensrettelser er specielt koncentreret omkring match af forskellige datatyper.


|===


== OIOUBL Schematron Change List for version 1.13.1


[options="header"]
|===
| Id   | Type | Beskrivelse | Uddybende beskrivelse

|NH-3168/NH-3158 |Fejlrettelse  |Understøttelse af flere AllowanceCharge segmenter i Invoice, Order Response & Utility Statement (fejlrettelse efter opdatering til XSLT 2.0). |
|NH-3089 |Fejlrettelse  | Fejlrettelse vedr. formatering af cac:Price/cbc:BaseQuantity til to decimaler fjernet i Invoice, CreditNote & Order. |
|NH-3188|Fejlrettelse|Fejlrettelse vedr. formatering af cac:Price/cbc:OrderableUnitFactorRate til to decimaler i Invoice, CreditNote & Order.|
|NH-3033|Fejlrettelse|Fejlrettelse vedr support for flere "OtherCommunication" (fejlrettelse efter opdatering til XSLT 2.0).|
|NH-3210|Fejlrettelse|Variablen "BaseQuantity" sættes til 1, hvis elementet "cbc:baseQuantity" mangler under "cac:Price"|Er variablen tom, kan kalkulationen for "F-INV348" returner "falsk positiv"
|NH-3298|Fejlrettelse|Genintroducer validering af F-INV335 på cac:AllowanceCharge på linjeniveau med justering for XSLT 2.0 (Negativ ”amount”)|Validering blev oprindelig fjernet ved en fejl
|NH-3247|Fejlrettelse| Brugen af ”following-sibling::” i valideringen af "LanguageID" på "Description" fejler utilsigtet (W-LIB222), hvis andre elementer ligeledes benytter "LanguageID" |Check af samme "languageID" på segmentet cac:Description fejler, når flere elementer har samme "languageID" fx

<cbc:Description languageID="da">
<cbc:Name languageID="da">

|NH-3423|Fejlrettelse| Opdatering af F-LIB382, således at "cbc:Percent" valider korrekt | Validering tager højde for procent angivet som '-0.00', '-0.0', '-0', '-.0', '-.00', '.00', '.0', '0' eller '0.0'
|NH-3424|Fejlrettelse|F-LIB381 Justeret således at valideringen ikke fejl ved negativ 0 i cbc:TaxAmount |
|NH-3421|Fejlrettelse|F-LIB336 & F-LIB312 Validering ændret så den fejler hvis "cbc:InstructionID" indeholder + og/eller - |


|===


== Supplerende OIOUBL Utility Statement (UTS) release kommentarer
Beskrivelse af nødvendige ændringer i relation til opdatering til standard UBL 2.1 XSD for UTS i forbindelse med OIOUBL Schematron version 1.13.



*Dokument indhold*


I forbindelsen med den tvungent overgang til ver. UTS 2.1, vil det være nødvendigt for afsendere af UTS dokumenter/systemleverandører der skaber UTS dokumenter, at gennemgå deres UTS dokumenter/syntaks og sikre, at de overholder de kommende XSD regler.


Erhvervsstyrelsen/Nemhandel har gennemført en analyse af forskellen mellem de to versioner. Vær opmærksom på, at listen ikke er absolut, og det er derfor være op til den enkelte leverandør, at gennemgå deres UTS dokumenter for konflikter med den ny XSD.



[cols="1,4"]
|===
| *Fokusområder hoved niveau*  | *Beskrivelse*

|NameSpace
|NameSpace skal tilpasses, så de tidligere "OIOUBL" urn reference udgår og skal erstattes af nedenstående

* xmlns=urn:oasis:names:specification:ubl:schema:xsd:UtilityStatement-2"

* xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"

* xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"

|BuyerCustomerParty
|Segmentet "_cac:BuyerCustomerParty_" udgår - og erstattes af "_cac:CustomerParty_"

|SubscriberConsumption
|Kardinaliteten ændres til 0..n - og er dermed ikke et krævet felt

|===


[cols="1,4"]
|===
| *Fokusområder - linje niveau*  | *Beskrivelse*

|MeterReadingMethodCode
|Segmentet "c__ac:UtilityMeter__" må ikke indeholde elementer:

* cbc:MeterReadingMethodCode

|OnAccountPayment
|Segmentet "_cac:OnAccountPayment_" må ikke indeholde elementerne:

* cac:Period

* cac:PlannedSettlement

|UtilityItem
|Segmentet "_cac:UtilityItem_" må ikke indeholde elementerne:

* cbc:SubscriberIDType

* cbc:SubscriberIDTypeCode
|===

*Migreringsinformation*

For systemleverandører/Nemhandel-aktører, der teknisk foretager schema-validering (ved hjælp af XSD'erne) ved modtagelse af dokumenter, er det vigtigt at forberede disse opdateringer således, at man pr. 06.02.2023 er parat at modtage OIOUBL Utility Statement (UTS) i UBL 2.1.

OIOUBL schematronen for OIOUBL Utility Statement (UTS) laves således, at der indbygges migreringslogik direkte i schematronen således, at ny valideringslogik slår igennem pr. 06.02.2023 (ved hjælp logisk dato-check i schematronen).

Det gør det muligt for systemleverandører/Nemhandel-aktører at teknisk implementeret OIOUBL schematroner i perioden fra 23.01.2023 til 06.02.2023 uden, at den nye schematron validering slår igennem før 06.02.2023. Ingen afsendere af OIOUBL Utility Statement (UTS) må sende i ny UBL 2.1 før 06.02.2023.

Der kommer også en separat migreringslogisk for OIORASP konfigurationsfiler, der gør det muligt for systemleverandører/Nemhandel-aktører at teknisk implementeret OIORASP konfigurationsfiler. Mere information herom følger.
