E-Invoice: Fehler bei Reverse Charge Rechnung

Hallo zusammen,

hat es jemand hinbekommen, eine Reverse Charge Rechnung (8336 / SKR 03) auch korrekt hinsichtlich der EU-Invoice abgebildet werden? Ich bekomme immer die folgende Fehlermeldung, obwohl die „Vorlage für Verkaufssteuern und -abgaben“ und „Steuerkategorie“ aus meiner Sicht korrekt dem „vatex-eu-ae”-Code zugeordnet sind:

[BR-AE-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Reverse charge" shall have a VAT exemption reason code (BT-121), meaning "Reverse charge" or the VAT exemption reason text (BT-120) "Reverse charge" (or the equivalent standard text in another language).

@rmeyer Ihr habt mit ALYF großartige Arbeit geleistet. :clap: Danke dafür! Ein Hinweis zu diesem eventuellen Problem wäre phänomenal!

Tausend Dank vorab!

Viele Grüße

Georg

@GeorgBNM das sollte sich lösen lassen, indem der passende Common Code der verwendeten Steuerkonfiguration zugeordnet wird. Bei uns sieht das zum Beispiel so aus:

Bei dir ist wahrscheinlich nur der folgende Code eingestellt:

Was es braucht, ist die Kombination aus beiden. Ob das nun wie bei uns über die Tax Category zugeordnet wird, oder über einen anderen Doctype, spielt dabei keine Rolle. Hauptsache beides hat die gleiche Konfiguration.

Hallo @rmeyer,

danke für deine prompte Rückmeldung und Hilfestellung!

Mehr kann ich bei der Steuerkategorie nicht einstellen:

Beide habe ich in der Code-Liste jeweils verknüpft:

Auch mit der entsprechenden „Vorlage für Verkaufssteuern und -abgaben“ habe ich es versucht. Trotzdem erhalte ich bei der Anlage einer entsprechenden Ausgangsrechnung (EXTENDED/XRECHNUNG usw.) weiter den Fehler:

Gibt es noch eine Einstellung, wo ich nachsehen könnte?

Danke dir vielmals!

Viele Grüße

Georg

Mir fällt auf, dass “vatex-eu-ae” in deinem Beispiel klein geschrieben ist, in meinem groß. Vielleicht stört sich die Validierung daran?

Gerade probiert, ändert leider nichts.
In der Code-Liste sind ja auch alle klein geschrieben: https://www.xrepository.de/api/xrepository/urn:xoev-de:kosit:codeliste:vatex_1:technischerBestandteilGenericode

Danke trotzdem!

Das stimmt, aber inzwischen fängt unsere App das ab:

Komisch, denn in der von uns installierten Variante müsste es dann ja richtig importiert werden:

{
“frappe”: “15.93.0”,
“erpnext”: “15.93.0”,
“erpnext_germany”: “15.21.0”,
“pdf_on_submit”: “15.3.1”,
“kefiya”: “0.4.1”,
“hrms”: “15.54.1”,
“crm”: “1.57.1”,
“eu_einvoice”: “15.14.1”,
“print_designer”: “1.6.4”
}

Aber das wird ja erst bei Nutzung umgeschrieben, richtig? Dann sollte das kein Problem sein, oder?

Im XML wird es auch groß geschrieben integriert, also funktioniert der Fix von euch, @rmeyer:

Noch eine Idee?

Viele Grüße

Georg

Ja, das sieht gut aus. Laut Screenshot ist es zumindest auf Positionsebene korrekt gesetzt.

Wie sieht es auf Kopfebene (<ram:ApplicableTradeTax>) aus? Letztendlich muss überall, wo <ram:CategoryCode>AE</ram:CategoryCode> steht, auch <ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode> stehen.

Hallo @rmeyer,

Hier der komplette XML-Code:

<rsm:CrossIndustryInvoice>
  <rsm:ExchangedDocumentContext>
    <ram:BusinessProcessSpecifiedDocumentContextParameter>
      <ram:ID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ram:ID>
    </ram:BusinessProcessSpecifiedDocumentContextParameter>
    <ram:GuidelineSpecifiedDocumentContextParameter>
      <ram:ID>urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
  </rsm:ExchangedDocumentContext>

  <rsm:ExchangedDocument>
    <ram:ID>ACC-SINV-2026-00006</ram:ID>
    <ram:TypeCode>380</ram:TypeCode>
    <ram:IssueDateTime>
      <udt:DateTimeString format="102">20260122</udt:DateTimeString>
    </ram:IssueDateTime>
    <ram:IncludedNote>
      <ram:Content>Allgemeine Geschäftsbedingungen für Auftrag</ram:Content>
      <ram:SubjectCode>ABC</ram:SubjectCode>
    </ram:IncludedNote>
  </rsm:ExchangedDocument>

  <rsm:SupplyChainTradeTransaction>
    <ram:IncludedSupplyChainTradeLineItem>
      <ram:AssociatedDocumentLineDocument>
        <ram:LineID>1</ram:LineID>
      </ram:AssociatedDocumentLineDocument>
      <ram:SpecifiedTradeProduct>
        <ram:SellerAssignedID>RRM</ram:SellerAssignedID>
        <ram:Name>Reader Revenue Manager</ram:Name>
        <ram:Description>Reader Revenue Manager</ram:Description>
      </ram:SpecifiedTradeProduct>
      <ram:SpecifiedLineTradeAgreement>
        <ram:NetPriceProductTradePrice>
          <ram:ChargeAmount>11.73</ram:ChargeAmount>
        </ram:NetPriceProductTradePrice>
      </ram:SpecifiedLineTradeAgreement>
      <ram:SpecifiedLineTradeDelivery>
        <ram:BilledQuantity unitCode="H87">1.0</ram:BilledQuantity>
      </ram:SpecifiedLineTradeDelivery>
      <ram:SpecifiedLineTradeSettlement>
        <ram:ApplicableTradeTax>
          <ram:TypeCode>VAT</ram:TypeCode>
          <ram:CategoryCode>AE</ram:CategoryCode>
          <ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode>
          <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
        </ram:ApplicableTradeTax>
        <ram:SpecifiedTradeSettlementLineMonetarySummation>
          <ram:LineTotalAmount>11.73</ram:LineTotalAmount>
        </ram:SpecifiedTradeSettlementLineMonetarySummation>
      </ram:SpecifiedLineTradeSettlement>
    </ram:IncludedSupplyChainTradeLineItem>

    <ram:ApplicableHeaderTradeAgreement>
      <ram:BuyerReference>n/a</ram:BuyerReference>
      <ram:SellerTradeParty>
        <ram:Name>GeorgBNM</ram:Name>
        <ram:DefinedTradeContact>
          <ram:PersonName>Georg Benm</ram:PersonName>
          <ram:TelephoneUniversalCommunication>
            <ram:CompleteNumber>+497001000001</ram:CompleteNumber>
          </ram:TelephoneUniversalCommunication>
          <ram:EmailURIUniversalCommunication>
            <ram:URIID>georgbnm@domain.de</ram:URIID>
          </ram:EmailURIUniversalCommunication>
        </ram:DefinedTradeContact>
        <ram:PostalTradeAddress>
          <ram:PostcodeCode>70001</ram:PostcodeCode>
          <ram:LineOne>Hauptstrasse 1</ram:LineOne>
          <ram:CityName>Stadt</ram:CityName>
          <ram:CountryID>DE</ram:CountryID>
        </ram:PostalTradeAddress>
        <ram:URIUniversalCommunication>
          <ram:URIID schemeID="EM">georgbnm@domain.de</ram:URIID>
        </ram:URIUniversalCommunication>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="VA">DE293XXXXX</ram:ID>
        </ram:SpecifiedTaxRegistration>
      </ram:SellerTradeParty>

      <ram:BuyerTradeParty>
        <ram:Name>Evile</ram:Name>
        <ram:PostalTradeAddress>
          <ram:PostcodeCode>D02</ram:PostcodeCode>
          <ram:LineOne>Street</ram:LineOne>
          <ram:CityName>Dublin</ram:CityName>
          <ram:CountryID>IE</ram:CountryID>
        </ram:PostalTradeAddress>
        <ram:URIUniversalCommunication>
          <ram:URIID schemeID="EM">payments@domain.com</ram:URIID>
        </ram:URIUniversalCommunication>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="VA">IE6XXXXXXV</ram:ID>
        </ram:SpecifiedTaxRegistration>
      </ram:BuyerTradeParty>
    </ram:ApplicableHeaderTradeAgreement>

    <ram:ApplicableHeaderTradeDelivery>
      <ram:ActualDeliverySupplyChainEvent>
        <ram:OccurrenceDateTime>
          <udt:DateTimeString format="102">20260122</udt:DateTimeString>
        </ram:OccurrenceDateTime>
      </ram:ActualDeliverySupplyChainEvent>
    </ram:ApplicableHeaderTradeDelivery>

    <ram:ApplicableHeaderTradeSettlement>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:SpecifiedTradeSettlementPaymentMeans>
        <ram:TypeCode>58</ram:TypeCode>
        <ram:PayeePartyCreditorFinancialAccount>
          <ram:IBANID>DEXXXXXXXXXXXXXXXXXXX</ram:IBANID>
          <ram:AccountName>Unternehmen X</ram:AccountName>
        </ram:PayeePartyCreditorFinancialAccount>
        <ram:PayeeSpecifiedCreditorFinancialInstitution>
          <ram:BICID>COBADEFFXXX</ram:BICID>
        </ram:PayeeSpecifiedCreditorFinancialInstitution>
      </ram:SpecifiedTradeSettlementPaymentMeans>

      <ram:ApplicableTradeTax>
        <ram:CalculatedAmount>0.0</ram:CalculatedAmount>
        <ram:TypeCode>VAT</ram:TypeCode>
        <ram:BasisAmount>11.73</ram:BasisAmount>
        <ram:CategoryCode>AE</ram:CategoryCode>
        <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
      </ram:ApplicableTradeTax>

      <ram:SpecifiedTradePaymentTerms>
        <ram:DueDateDateTime>
          <udt:DateTimeString format="102">20260205</udt:DateTimeString>
        </ram:DueDateDateTime>
      </ram:SpecifiedTradePaymentTerms>

      <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
        <ram:LineTotalAmount>11.73</ram:LineTotalAmount>
        <ram:TaxBasisTotalAmount>11.73</ram:TaxBasisTotalAmount>
        <ram:TaxTotalAmount currencyID="EUR">0.0</ram:TaxTotalAmount>
        <ram:GrandTotalAmount>11.73</ram:GrandTotalAmount>
        <ram:TotalPrepaidAmount>0.0</ram:TotalPrepaidAmount>
        <ram:DuePayableAmount>11.73</ram:DuePayableAmount>
      </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>

Sieht man da noch etwas?

Danke & viele Grüße

Georg

Du siehst ja auch, dass auf Kopfebene der “ExemptionReasonCode” fehlt, obwohl die Positionen ihn haben. Vielleicht könnte man einfach vor der E-Invoice-Generierung alle Kopfsteuern mit CategoryCode = AE prüfen und den Tag automatisch ergänzen – könnte dieser Ansatz das PEPPOL-Problem lösen? :thinking:

Ich habe genau das umgekehrte Problem: Ich schaffe es nicht, dass der CategoryCode auf Positionsebene korrekt gesetzt wird. Weder über das Konto noch über das Item Tax Template den Code zuweisen hat Abhilfe gebracht. Es kommt immer:

<ram:CategoryCode>S</ram:CategoryCode>

Gibt es da irgendwo noch einen versteckten Default?

Danke und viele Grüße
Markus

Hast du Null-Zeilen in deiner Taxes and Charges-Tabelle? Falls ja, probier mal, die zu entfernen.

1 Like

Auf Positionsebene wird der CategoryCode über Item Tax Template oder Income Account der Position, alternativ über Tax Category oder Sales Taxes and Charges Template der Rechnung (in dieser Reihenfolge) bestimmt. Falls sich dort nichts findet, ist “S” der Default.

Dafür muss die Codeliste urn:xoev-de:kosit:codeliste:untdid.5305_3 im System vorhanden und der passende Code einer der oben erwähnten Entitäten zugeordnet sein.

Das war der entscheidende Hinweis, @rmeyer!

Dankeschön!

Mit der Code-Liste von hier XRepository 3.0 hat es funktioniert, vielen Dank. Hat beim Import sogar die Tax Category sowie Item Tax Template korrekt erraten. Hatte mir händisch eigentlich genau denselben Code gebastelt (unnötigerweise!), der nicht funktioniert hat.