Genau eine Form des Attributwerts angeben

Fehler BR-FXEXT-BR-54-2 Factur-X

Jedes Artikelattribut (BG-32) muss einen Artikelattributwert (BT-161) oder einen Artikelattributwert mit Maßeinheit (BT-X-12, mit BT-X-12-0), aber nicht beides enthalten.

Pflichtregel: Solange sie verletzt ist, ist die Rechnung ungültig und wird von Validatoren abgewiesen.
Was nicht stimmt

Das Artikelmerkmal muss entweder einen Wert in Value oder einen Messwert in ValueMeasure mit einem nicht leeren unitCode enthalten. Beide Wertformen dürfen nicht gleichzeitig angegeben werden.

Was die Regel bedeutet

Der Attributwert wird entweder ohne Maßeinheit oder als Messwert mit Maßeinheit übermittelt, nicht in beiden Formen zugleich.

Betroffene Felder BG-32 BT-161 BT-X-12 BT-X-12-0
Bitte geben Sie den Artikelmerkmalswert in genau einer Form an

Für das Artikelmerkmal muss genau eine Wertform angegeben sein: ein einfacher Wert oder ein Messwert mit Einheit. Die Rechnung lässt sich durch die passende Angabe beheben.

Was ist zu tun?
  1. Entscheiden Sie, ob der Wert ohne Einheit oder als Messwert mit Einheit angegeben wird.
  2. Verwenden Sie ApplicableProductCharacteristic.Value für einen Wert ohne Einheit.
  3. Verwenden Sie TradeLineItem.ApplicableProductCharacteristics für das Artikelmerkmal und geben Sie bei ValueMeasure einen nicht leeren unitCode an.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:ApplicableProductCharacteristic>
  <ram:Value>Large</ram:Value>
  <ram:ValueMeasure unitCode="CMT">10</ram:ValueMeasure>
</ram:ApplicableProductCharacteristic>
✓ In Ordnung
<ram:ApplicableProductCharacteristic>
  <ram:ValueMeasure unitCode="CMT">10</ram:ValueMeasure>
</ram:ApplicableProductCharacteristic>
In FactoorSharp prüfen
  • ApplicableProductCharacteristic.Value (BT-161)
  • TradeLineItem.ApplicableProductCharacteristics (BG-32)
Technische Details

Der XPath erlaubt entweder Value ohne ValueMeasure oder das Fehlen von Value zusammen mit ValueMeasure, dessen Attribut unitCode nicht leer ist.

Wo die Regel greift

Die Regel gilt für die Wertangaben Value und ValueMeasure eines ApplicableProductCharacteristic.

Originalmeldung aus dem Schematron
Each Item attribute (BG-32) shall contain an Item attribute value (BT-161) or an Item attribute value with unit of measure (BT-X-12, with BT-X-12-0), but noth both.
Kontext (rule/@context)
//ram:ApplicableProductCharacteristic
Prüfausdruck (assert/@test)
(exists(ram:Value) and not(exists(ram:ValueMeasure))) or ( not(exists(ram:Value)) and (exists(ram:ValueMeasure[@unitCode!=''])) )