Grund oder Grundcode des Abschlags

Fehler BR-CO-21 EN 16931

Jeder Abschlag auf Dokumentenebene (BG-20) muss einen Grund für den Abschlag auf Dokumentenebene (BT-97) oder einen Code für den Grund für den Abschlag auf Dokumentenebene (BT-98) oder beides enthalten.

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

Für den Abschlag fehlt sowohl die textliche Begründung ram:Reason als auch der Grundcode ram:ReasonCode. Mindestens eine dieser Angaben muss vorhanden sein; beide dürfen ebenfalls angegeben werden.

Was die Regel bedeutet

Der Grund oder Grundcode erklärt den Abschlag. Die Angabe ermöglicht es, den Abschlag fachlich einzuordnen.

Betroffene Felder BG-20 BT-97 BT-98
Bitte nennen Sie einen Grund für den Abschlag

Für den Abschlag fehlt eine Begründung. Ein Textgrund, ein Grundcode oder beide Angaben beschreiben den Anlass des Abschlags.

Was ist zu tun?
  1. Ergänzen Sie für den Abschlag entweder ram:Reason oder ram:ReasonCode; Sie können auch beide Angaben ergänzen.
  2. Prüfen Sie für den Grundcode AllowanceReasonCodes oder TradeAllowance.ReasonCode und für den Text AbstractTradeAllowanceCharge.Reason.
  3. Prüfen Sie den Aufruf von AddTradeAllowance(...).
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
</ram:SpecifiedTradeAllowanceCharge>
✓ In Ordnung
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:Reason>Promotional allowance</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
In FactoorSharp prüfen
  • AllowanceReasonCodes (Document level allowance: BT-98)
  • TradeAllowance.ReasonCode (Document level allowance: BT-98)
  • AbstractTradeAllowanceCharge.Reason (Document level allowance: BT-97)
  • FacturXInvoice.AddTradeAllowance(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-20)
  • FacturXInvoice.GetTradeAllowances() (BG-20)
Technische Details

Der Test ist erfüllt, wenn ram:Reason oder ram:ReasonCode als Geschwisterelement vorhanden ist; beide Elemente sind ebenfalls zulässig.

Wo die Regel greift

Die Regel gilt für einen Abschlag auf Dokumentenebene in ram:SpecifiedTradeAllowanceCharge.

Originalmeldung aus dem Schematron
Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.
Kontext (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']
Prüfausdruck (assert/@test)
(../ram:Reason) or (../ram:ReasonCode)