Steuerbemessungsgrundlage der steuerfreien Aufschlüsselung abstimmen

Warnung BR-FXEXT-E-08ini Factur-X

[BR-FXEXT-E-08ini] - In einer Umsatzsteueraufschlüsselung (BG-23), in der der Code der Umsatzsteuerkategorie (BT-118) gleich „E“ („Steuerbefreit“) ist, muss der Absolutbetrag von (Kategoriespezifischer Steuerbasisbetrag (BT-116) - ∑ Nettobeträge der Rechnungsposition (BT-131) + Σ Beträge der Abschläge auf Dokumentenebene (BT-92) - Σ Beträge der Zuschläge auf Dokumentenebene (BT-99) - Σ Beträge der Servicegebühren (BT-x-272)) ≤ 0,01 * ((Anzahl der Nettobeträge der Rechnungsposition (BT-131) + Anzahl der Beträge der Abschläge auf Dokumentenebene (BT-92) + Anzahl der Beträge der Zuschläge auf Dokumentenebene (BT-99) + Anzahl der Beträge der Servicegebühren (BT-X-272)) sein, wenn der Code der Umsatzsteuerkategorie (BT-151, BT-95, BT-102, BT-X-273) „Steuerbefreit“ (E) ist, jedoch nur für Rechnungspositionen, bei denen der „Untertyp der Rechnungsposition“ (BT-X-8) den Wert „DETAIL“ hat oder nicht angegeben ist.

Empfehlung: Die Rechnung bleibt gültig, sollte aber korrigiert werden, damit sie automatisch verarbeitet werden kann.
Was nicht stimmt

Der Betrag in ram:BasisAmount stimmt nicht innerhalb der zulässigen Rundungstoleranz mit den zugehörigen Nettobeträgen der Rechnungspositionen, Abschläge, Zuschläge und Logistik-Servicegebühren überein. Berücksichtigt werden Rechnungspositionen mit ram:LineStatusReasonCode gleich DETAIL oder ohne dieses Element sowie die Beträge mit der Kategorie E und dem passenden Steuersatz.

Was die Regel bedeutet

Die Steuerbemessungsgrundlage für die Kategorie E muss die Summen der zugehörigen Rechnungspositionen sowie der Dokumentenabschläge, Dokumentenzuschläge und Logistik-Servicegebühren widerspiegeln. Eine begrenzte Rundungsabweichung wird anhand der Anzahl der berücksichtigten Beträge zugelassen.

Bitte gleichen Sie die Bemessungsgrundlage der steuerfreien Umsatzsteuer ab

Die Bemessungsgrundlage der Umsatzsteueraufschlüsselung für E passt nicht ausreichend zu den zugehörigen Beträgen der Rechnung. Stimmen Sie die verwendeten Beträge und ihre Steuerkategorie aufeinander ab.

Was ist zu tun?
  1. Prüfen Sie ram:BasisAmount in der Umsatzsteueraufschlüsselung mit ram:CategoryCode gleich E.
  2. Gleichen Sie den Betrag mit den betreffenden Rechnungspositionen und den Abschlägen, Zuschlägen sowie Logistik-Servicegebühren ab.
  3. Prüfen Sie die Zuordnung über TaxCategoryCodes und die Positionsbeträge über TradeLineItem.LineTotalAmount.
  4. Prüfen Sie bei Dokumentenabschlägen und -zuschlägen die Beträge über AbstractTradeAllowanceCharge.ActualAmount.
  5. Erzeugen Sie die Rechnung erneut und prüfen Sie sie nochmals.
In FactoorSharp prüfen
  • TaxCategoryCodes (BT-151; BT-95; BT-102; BT-118)
  • AbstractTradeAllowanceCharge.ActualAmount (Document level allowance: BT-92; Document level charge: BT-99)
  • AssociatedDocument.LineStatusReasonCode (BT-X-8)
  • LineStatusReasonCodes (BT-X-8)
  • TradeLineItem.LineTotalAmount (BT-131)
Technische Details

Der Test vergleicht ram:BasisAmount mit der Summe der berücksichtigten ram:LineTotalAmount und ram:ActualAmount abzüglich der Zuschläge und Logistikgebühren. Die zulässige Abweichung beträgt 0.01 multipliziert mit der Anzahl der berücksichtigten Einträge. Rechnungspositionen ohne ram:LineStatusReasonCode oder mit dem Wert DETAIL werden einbezogen.

Wo die Regel greift

Die Regel gilt für eine Umsatzsteueraufschlüsselung ram:ApplicableTradeTax auf Dokumentenebene mit ram:CategoryCode gleich E und ram:TypeCode gleich VAT.

Originalmeldung aus dem Schematron
[BR-FXEXT-E-08ini] - In a VAT breakdown (BG-23) where VAT category code (BT-118) is equal to “E” ("Exempt from VAT"), Absolute Value of (VAT category taxable amount (BT-116) - ∑ Invoice line net amounts (BT-131) + Σ Document level allowance amounts (BT-92) - Σ Document level charge amounts (BT-99) - Σ Logistics Service fee amounts (BT-x-272)) <= 0,01 * ((Number of line net amounts (BT-131) + Number of Document level allowance amounts (BT-92) + Number of Document level charge amounts (BT-99) + Number of Logistics Service fee amounts (BT-X-272)), where the VAT category code (BT-151, BT-95, BT-102, BT-X-273) is "Exempt from VAT" (E), but only for lines where the "Subtype of invoice item" (BT-X-8) has the value "DETAIL" or is not specified.
Kontext (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'][upper-case(ram:TypeCode) = 'VAT']
Prüfausdruck (assert/@test)
( for $rate in xs:decimal(ram:RateApplicablePercent), $exempReasonText in normalize-space(ram:ExemptionReason), $exempReasonCode in normalize-space(ram:ExemptionReasonCode), $basisAmount in xs:decimal(ram:BasisAmount), $calculatedAmountBT131ini in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[ not(ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL' ]/ram:SpecifiedLineTradeSettlement[ ram:ApplicableTradeTax/ram:CategoryCode = 'E' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate ]/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount)) * 100) div 100), $allowancesAmountBT92ini in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeAllowanceCharge[ ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate ]/xs:decimal(ram:ActualAmount)) * 100) div 100), $chargesAmountBT99 in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeAllowanceCharge[ ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='S' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate and normalize-space(ram:CategoryTradeTax/ram:ExemptionReasonCode) = $exempReasonCode and normalize-space(ram:CategoryTradeTax/ram:ExemptionReason) = $exempReasonText ]/xs:decimal(ram:ActualAmount)) * 100) div 100), $chargesAmountBT99ini in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeAllowanceCharge[ ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate ]/xs:decimal(ram:ActualAmount)) * 100) div 100), $nbLineItemsini in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:IncludedSupplyChainTradeLineItem[ ( not(ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL' ) and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = 'E' and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate ])), $nbAllowancesOrChargesini in xs:decimal(count(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeAllowanceCharge[ ram:CategoryTradeTax/ram:CategoryCode='E' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate ])), $logisticChargeAmountini in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/ rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedLogisticsServiceCharge[ ram:AppliedTradeTax/ram:CategoryCode='E' and ram:AppliedTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate ]/xs:decimal(ram:AppliedAmount)) * 100) div 100), $nblogisticChargeini in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge[ ram:AppliedTradeTax/ram:CategoryCode='E' and ram:AppliedTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate ])) return abs($basisAmount - $calculatedAmountBT131ini + $allowancesAmountBT92ini - $chargesAmountBT99ini - $logisticChargeAmountini) le 0.01 * ($nbLineItemsini + $nbAllowancesOrChargesini + $nblogisticChargeini) )