![]() |
AW: Delphi und XRechnung
Hab gerade noch die Version 2.3.1 versucht - die funktioniert. Was fehlt bei der V. 3?
Hartmut |
AW: Delphi und XRechnung
|
AW: Delphi und XRechnung
Hallo Sven,
ja, da war ich wohl zu übereifrig mit der aktuellen Version 3...aber kein Problem, zum Testen genügt ja die V. 2.3.1. Sollte es dann zur Umsetzung kommen, muss ich es ja eh bei Dir lizensieren, da gewerblich genutzt. Hartmut |
AW: Delphi und XRechnung
Liste der Anhänge anzeigen (Anzahl: 2)
Guten Tag!
Ich arbeite gerade mit der xRechnung Demo und habe den „Zuschlag fuer Kommuikation“ und „Nachlass 2 ohne Angabe von Basisbetrag und Nachlassprozente“ deaktiviert (auskommentiert) Dann hab ich folgende Einträge vorgenommen, bzw. angepasst: if cbAllowanceCharges.Checked then begin inv.LineAmount := inv.LineAmount; inv.AllowanceTotalAmount := 5.00 + 5.00; inv.ChargeTotalAmount := 0; inv.TaxAmountSubtotals[1].TaxableAmount := inv.TaxAmountSubtotals[1].TaxableAmount - 5.00 - 5.00; inv.TaxAmountSubtotals[1].TaxAmount := inv.TaxAmountSubtotals[1].TaxAmount - 0.95 - 0.95; inv.TaxAmountTotal := inv.TaxAmountTotal - 0.95 - 0.95; inv.TaxExclusiveAmount := inv.TaxExclusiveAmount - inv.AllowanceTotalAmount + inv.ChargeTotalAmount; inv.TaxInclusiveAmount := inv.TaxInclusiveAmount - 5.00 - 0.95 - 5.00 - 0.95; inv.PayableAmount := inv.TaxInclusiveAmount; end; ich erhalte dann aber folgende Fehlermeldung: Pos Code Adj. Grad Text val-sch.1.1 BR-CO-10 error [BR-CO-10]-Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). Pfad: /ubl:Invoice/cac:LegalMonetaryTotal[1] val-sch.1.2 BR-CO-11 error [BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92). Pfad: /ubl:Invoice/cac:LegalMonetaryTotal[1] Welche Variablen müssen noch bearbeitet werden? Zur Übersicht habe ich mir die Inhalte der Variablen vor der Änderung der Variablen bei „if cbAllowanceCharges.Checked then“ per Showmessage (siehe Anhang Summen 001) anzeigen lassen und danach (siehe Anhang Summen 002). Diese Werte stimmen soweit. |
AW: Delphi und XRechnung
Aus der Kalten würde ich sagen, der ganze Block muss dann auch weg, wenn keine Nachlässe drin sind
Code:
if cbAllowanceCharges.Checked then
begin inv.LineAmount := inv.LineAmount; inv.AllowanceTotalAmount := 5.00 + 5.00; inv.ChargeTotalAmount := 0; inv.TaxAmountSubtotals[1].TaxableAmount := inv.TaxAmountSubtotals[1].TaxableAmount - 5.00 - 5.00; inv.TaxAmountSubtotals[1].TaxAmount := inv.TaxAmountSubtotals[1].TaxAmount - 0.95 - 0.95; inv.TaxAmountTotal := inv.TaxAmountTotal - 0.95 - 0.95; inv.TaxExclusiveAmount := inv.TaxExclusiveAmount - inv.AllowanceTotalAmount + inv.ChargeTotalAmount; inv.TaxInclusiveAmount := inv.TaxInclusiveAmount - 5.00 - 0.95 - 5.00 - 0.95; inv.PayableAmount := inv.TaxInclusiveAmount; end; |
AW: Delphi und XRechnung
Danke für die schnelle Antwort. Es sind schon Rabatte vorhanden. Die sind so in der Demo.Zwei Artikel werden gebucht.
Einer ohne Rabatt with inv.InvoiceLines.AddInvoiceLine do begin ID := '001'; //Positionsnummer //Note : String; //Hinweis Name := 'Kurzinfo Artikel 1'; //Kurztext Description := 'Langtext Artikel'+#13#10+'Zeile 2'+#13#10+'Zeile 3'; //Laengere Beschreibung Quantity := 2; //Menge UnitCode := TInvoiceUnitCodeHelper.MapUnitOfMeasure('Stk',suc) ; //Mengeneinheit //TODO Artikelnummer Kaeufer SellersItemIdentification := 'A0815'; //Artikelnummer TaxPercent := 7.0; //MwSt TaxCategory := TInvoiceDutyTaxFeeCategoryCode.idtfcc_S_StandardRa te; PriceAmount := 50; //Einzelpreis //TODO Preiseinheiten BaseQuantity := 0; //Preiseinheit BaseQuantityUnitCode := TInvoiceUnitCode.iuc_None; //Preiseinheit Mengeneinheit LineAmount := 100; end; Einer mit Rabatt with inv.InvoiceLines.AddInvoiceLine do begin ID := '002'; //Positionsnummer //Note : String; //Hinweis Name := 'Kurzinfo Artikel 2'; //Kurztext Description := 'Langtext Artikel 2'+#13#10+'Zeile 2'+#13#10+'Zeile 3'; //Laengere Beschreibung Quantity := 1; //Menge UnitCode := TInvoiceUnitCodeHelper.MapUnitOfMeasure('Stk',suc) ; //Mengeneinheit //TODO Artikelnummer Kaeufer SellersItemIdentification := 'A0816'; //Artikelnummer TaxPercent := 19.0; //MwSt TaxCategory := TInvoiceDutyTaxFeeCategoryCode.idtfcc_S_StandardRa te; PriceAmount := 100; //Einzelpreis BaseQuantity := 0; //Preiseinheit BaseQuantityUnitCode := TInvoiceUnitCode.iuc_None; //Preiseinheit Mengeneinheit LineAmount := 100; //Nachlass zur Position if cbAllowanceCharges.Checked then with AllowanceCharges.AddAllowanceCharge do begin ChargeIndicator := false; ReasonCodeAllowance := TInvoiceAllowanceOrChargeIdentCode.iacic_Discount; BaseAmount := 50.00; MultiplierFactorNumeric := 10; //10 Prozent auf 50 EUR Amount := 5.00; //Nicht erforderlich TaxPercent := 19.0; //Nicht erforderlich TaxCategory := TInvoiceDutyTaxFeeCategoryCode.idtfcc_S_StandardRa te; LineAmount := LineAmount - Amount; end; end; Ich glaube jetzt kommt auch noch ein zweiter Rabatt if cbAllowanceCharges.Checked then //Nachlaesse generieren begin with inv.AllowanceCharges.AddAllowanceCharge do begin //Haeufig genutzte Gruende //41 Bonus for works ahead of schedule - Bonus fuer fruehzeitig erfuellte Aufgaben //42 Other bonus - sonstiger Bonus //60 Manufacturer’s consumer discount - Verbrauchernachlass des Herstellers //62 Due to military status - Wegen militaerischem Status //63 Due to work accident - Wegen Arbeitsunfall //64 Special agreement - Sondervereinbarung //65 Production error discount - Nachlass wegen Produktionsmangel //66 New outlet discount - Nachlass fuer neue Vertriebsstelle //67 Sample discount - Musternachlass //68 End of range discount - Nachlass fuer Auslaufsortiment //70 Incoterm discount - Incoterm Nachlass //71 Point of sales threshold allowance - Freibetrag fuer Umsaetze zum Verkaufszeitpunkt //88 Material surcharge/deduction - Materialzuschlag/-Nachlass //95 Discount - Nachlass //100 Special rebate - Sonderarbatt //102 Fixed long term - Feste Laufzeit //103 Temporary - Vorlaeufig //104 Standard - Regulaer ChargeIndicator := false; ReasonCodeAllowance := TInvoiceAllowanceOrChargeIdentCode.iacic_Discount; Reason := 'Nachlass 1'; BaseAmount := 50.00; MultiplierFactorNumeric := 10; //10 Prozent auf 50 EUR Amount := 5.00; TaxPercent := 19.0; TaxCategory := TInvoiceDutyTaxFeeCategoryCode.idtfcc_S_StandardRa te; end; end; Ich sehe im Moment nur noch Buchstaben. |
AW: Delphi und XRechnung
wenn irgendwo etwas über AddAllowanceCharge eingetragen wird, zur Position oder generell zum Dokument, dann
muss dass in der Endsumme wieder abgezogen werden, sowohl im Netto also auch mit der MwSt. Deswegen ist in der Demo für jeden Rabatt explizit der einzelne Betrag mit 5.00 EUR aufgeführt, ebenso wie die MWst mit 0,95. So kann man es nachvollziehen. |
AW: Delphi und XRechnung
So wollte/will ich es auch machen. Deshalb habe ich mir ja die Werte mit PrintScreens angezeigt. (siehe Anlagen weiter oben)
"Summen 01.jpg" die Eintraege ohne Rabatte und dann "Summen 02.jpg" die Eintrage nach Abzug von den 2 mal 5 EUR Rabatten und den 2 mal 0,95 EUR MwSt Minderung. Die Endbetraege nach der Subtraktion sind auch stimmig. inv.PayableAmount 226 ohne Abzüge und inv.PayableAmount 214,1 nach Abzügen (100,00 + 7 Mwst und 90 + 17,1 Mwst) |
AW: Delphi und XRechnung
Liste der Anhänge anzeigen (Anzahl: 1)
Ich nutze die Demo XRechnung for Delphi v2.3.1
In der Demo sind die Zuschläge (1 EUR) und eine Nachlassbuchung (5,00 EUR) deaktiviert. Es bleiben ein „Nachlass 2 ohne Angabe von Basisbetrag und Nachlassprozente“ und ein „Nachlass (Rabatt) zur Position“ aktiviert. In der Demo werden als erstes die Nettobeträge der Rechnung und die MwSt-Beträge ohne Rabatte berechnet. Im weiteren verlauf werden die Nettobeträge und die MwSt-Beträge der Rabatte/Nachlässe „berechnet“. Das sind immer 5,00 EUR Rabatt und 0,95 EUR MwSt und wie unten in Variable eingetragen. Die Demo kann eine Anzeige im HTML-Format generieren und man sieht dann 200 EUR Rechnungsbetrag 10 EUR Nachlass/Rabatt und entsprechend die MwSt und den Rechnungs/Zahlbetrag. Die Werte von denen ich glaube, dass sie zu „Nachlass (Rabatt) zur Position“ gehören habe ich rot markiert. if cbAllowanceCharges.Checked then begin inv.LineAmount := inv.LineAmount - 5.00; inv.AllowanceTotalAmount := 5.00; inv.ChargeTotalAmount := 0; inv.TaxAmountSubtotals[1].TaxableAmount := inv.TaxAmountSubtotals[1].TaxableAmount - 5.00 - 5.00; inv.TaxAmountSubtotals[1].TaxAmount := inv.TaxAmountSubtotals[1].TaxAmount - 0.95 - 0.95; inv.TaxAmountTotal := inv.TaxAmountTotal - 0.95 - 0.95; inv.TaxExclusiveAmount := inv.TaxExclusiveAmount - inv.AllowanceTotalAmount + inv.ChargeTotalAmount - 5.00; inv.TaxInclusiveAmount := inv.TaxInclusiveAmount - 5.00 - 0.95 - 5.00 - 0.95; inv.PayableAmount := inv.TaxInclusiveAmount; end; Wenn ich den „Nachlass (Rabatt) zur Position“ deaktiviere und die Rot markierten Werte für die Korrekturbuchung lösche, also einfach einen „Nachlass 2 ohne Angabe von Basisbetrag und Nachlassprozente“ verbuchen möchte, bekomme ich eine Fehlermeldung: Siehe Anhang Die gleiche Fehlermeldung kommt, wenn ich versuche einen „Nachlass (Rabatt) zur Position“ zu buchen und nur die roten Werte stehen lasse. Lasse ich alle werte (rot und schwarz) wie oben stehen, und buche gleichzeitig „Nachlass 2 ohne Angabe von Basisbetrag und Nachlassprozente“ und einen „Nachlass (Rabatt) zur Position“ habe ich keine Fehlermeldung. Hat jemand eine Idee was die Fehlermeldung zu bedeuten hat und ob vielleicht meine Zuordnung der Werte falsch ist? |
AW: Delphi und XRechnung
Also wenn ich alles richtig verstanden habe, was Sie da machen, müsste es so aussehen
if cbAllowanceCharges.Checked then begin inv.LineAmount := inv.LineAmount; inv.AllowanceTotalAmount := 5.00; inv.ChargeTotalAmount := 0; inv.TaxAmountSubtotals[1].TaxableAmount := inv.TaxAmountSubtotals[1].TaxableAmount - 5.00; inv.TaxAmountSubtotals[1].TaxAmount := inv.TaxAmountSubtotals[1].TaxAmount - 0.95; inv.TaxAmountTotal := inv.TaxAmountTotal - 0.95; inv.TaxExclusiveAmount := inv.TaxExclusiveAmount - inv.AllowanceTotalAmount + inv.ChargeTotalAmount; inv.TaxInclusiveAmount := inv.TaxInclusiveAmount - 5.00 - 0.95; inv.PayableAmount := inv.TaxInclusiveAmount; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz