Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
982 Beiträge
 
#15

AW: WPXOrder - X-Factur (ZUGFeRD) XML Daten lesen und erzeugen

  Alt 25. Jan 2025, 12:16
Super Danke. Ich komme der Sache näher.

Ein paar Fragen habe ich noch.

[Edit]
[Erledigt]Wie kann ich aus der TWPXFactur die PaymentData, oder die Rechnungsnummer bzw. das Rechnungsdatum auslesen?
Hab ich mittlerweile gefunden
Mit einem XML-Viewer kann man da schon einiges lernen https://xmlexplorer.github.io/#google_vignette
[/Edit]

Und mir ist gerade noch eine Kleinigkeit aufgefallen.
Wenn ich die Artikel in die TWPXFatur eintrage
Delphi-Quellcode:
   for I := 0 to A.PositionList.Count-1 do
   begin
      wpxfctr1.AddSale(
         A.PositionList[i].Kurztext, //ProductName
         A.PositionList[i].EP, //SinglePriceNET
         A.PositionList[i].Menge, //Quantity
         A.PositionList[i].MwSt, //VATRate
         WPXPaymentData.TAXCategory ); //VATCategory
                                                         //QuantityCode
                                                         //Totsl
   end;
dann steht hinterher in der XML:
XML-Code:
 <rsm:SupplyChainTradeTransaction>
   <ram:IncludedSupplyChainTradeLineItem>
    <ram:AssociatedDocumentLineDocument>
     <ram:LineID>1</ram:LineID>
    </ram:AssociatedDocumentLineDocument>
    <ram:SpecifiedTradeProduct>
     <ram:Name>ABUS IP-Kamery TVIP44510</ram:Name>
    </ram:SpecifiedTradeProduct>
    <ram:SpecifiedLineTradeAgreement>
     <ram:NetPriceProductTradePrice>
      <ram:ChargeAmount>149.00</ram:ChargeAmount>
      <ram:BasisQuantity unitCode="H87">1.0000</ram:BasisQuantity> <!-- VPE? -->
     </ram:NetPriceProductTradePrice>
    </ram:SpecifiedLineTradeAgreement>
    <ram:SpecifiedLineTradeDelivery>
     <ram:BilledQuantity unitCode="H87">2.0000</ram:BilledQuantity> <!-- Tatsächliche Artikelmenge -->
    </ram:SpecifiedLineTradeDelivery>
    <ram:SpecifiedLineTradeSettlement>
     <ram:ApplicableTradeTax>
      <ram:TypeCode>VAT</ram:TypeCode>
      <ram:CategoryCode>S</ram:CategoryCode>
      <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
     </ram:ApplicableTradeTax>
     <ram:SpecifiedTradeSettlementLineMonetarySummation>
      <ram:LineTotalAmount>298.00</ram:LineTotalAmount>
     </ram:SpecifiedTradeSettlementLineMonetarySummation>
    </ram:SpecifiedLineTradeSettlement>
   </ram:IncludedSupplyChainTradeLineItem>
BaseQuantity ist 1, BillingQuantity ist 2.
Also gehe ich mal davon aus, dass sich BaseQuatity auf die VPE bezieht, oder halt die Menge je Einzelpreis.

Wenn ich das jedoch auslesen will:
wpxfctr.Transaction.Items[i].Line.SpecifiedLineTradeAgreement.NetPriceProductTradePrice.BasisQuantity dann gibt es unter NetPriceProductTracePrice kein BillingQuantity. Wie komme ich dann beim Auslesen an die tatsächliche Menge?

Ein Ähnliches Problem habe ich mit der LineID, die ja im AddSale nicht übergeben wird. In meinem erstellten factur-x.XML ist sie dann immer 1.
Müsste die sich nicht nach jedem AddSale um 1 erhöhen?

Ich taste mich jetzt langsam an die E-Rechnung ran, also bitte ich bei den Fragen, wie dumm sie auch sind, um etwas Nachsicht
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder (25. Jan 2025 um 13:51 Uhr)
  Mit Zitat antworten Zitat