Neu X-Rechnung / ZUGFeRD Basispreis (BT-149) korrekt zuordnen

mahohmh

Aktives Mitglied
19. September 2023
8
2
Hallo,

wir wurden von einem Kunden, der unsere E-Rechnung nicht einlesen konnte darauf aufmerksam gemacht, dass das Feld 'BasisQuantity' (BT-149) im XML-Part nicht korrekt angegeben ist.
Tatsächlich wird dort in der X-Rechnung Exportvorlage von JTL einfach die Positions-Menge ausgegeben.
Per Definition muss es die Menge sein, für die der Einzelpreis gilt - also die Grundpreis-Bezugsmenge bzw. wenn nicht anders gepflegt 1 Stk.

Wie komme ich nun an diesen Wert ran? Fix 1 Stk. einstellen geht nicht, da es sich u.U. um Sets mit anderer Grundpreis-Bezugsmenge handeln kann.
Ich finde in DotLiquid nicht die passende Variable.

Allgemein scheint mir die Exportvorlage nicht ganz ausgereift zu sein, da es bereits mehrere Unstimmigkeiten mit dem X-Rechnungs/ZUGFeRD-Standard gab...

Da E-Rechnungen Standartisiert sind, dürfte wohl schon jemand auf das Problem gestoßen sein und einen Lösungsvorschlag haben oder mich aufklären können?
Danke für eure Hilfe!
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Hallo @mahohmh,

die Variable gibt es nicht. Daher muss man sich das aus der Datenbank ziehen. Insoweit tatsächlich BT-150 gleich BT-130 ist, kannst Du die folgende Zeile

Code:
<ram:BasisQuantity unitCode="{{ unitOfMeasureCode }}">{{ position.Quantity | Nummer : '0.0000', 'en-US' }}</ram:BasisQuantity>

durch diese Zeilen ersetzen:

Code:
{%- comment -%} Ermittlung von BT-149 {%- endcomment -%}
    {%- capture fGPq %}
        SELECT fGrundPreisMenge
        FROM tArtikel
        WHERE kArtikel = {{ position.ProductInternalId | SqlEscape }}
    {%- endcapture -%}\
    {%- assign fGP = fGPq | DirectQueryScalar -%}
<ram:BasisQuantity unitCode="{{ unitOfMeasureCode }}">{{ fGP | Nummer : '0.0000', 'en-US' }}</ram:BasisQuantity>

Verwendung auf eigene Gefahr. 😉
 

Ähnliche Themen