UST Betrag ausgeben
Hallo Zusammen
Ich habe eine kleine Anfängerfrage betr. UST Anteil ausgeben.
In einem File das ein Rechnungs PDF erstellt, fehlt der UST Betrag.
Im Total steht :
Nun möchte ich daraus den UST Anteil errechnen:
Das Ergebniss ist "0" .... kann mir bitte jemand einen input geben, was da falsch läuft?
Ich habe eine kleine Anfängerfrage betr. UST Anteil ausgeben.
In einem File das ein Rechnungs PDF erstellt, fehlt der UST Betrag.
Im Total steht :
<?php echo $total['value']; ?>
Nun möchte ich daraus den UST Anteil errechnen:
<?php
$total= $total['value'];
$ust= $total * 0.19;
echo $ust;
?>
Das Ergebniss ist "0" .... kann mir bitte jemand einen input geben, was da falsch läuft?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1815408798
Url: https://administrator.de/contentid/1815408798
Ausgedruckt am: 24.11.2024 um 05:11 Uhr
26 Kommentare
Neuester Kommentar
Moin,
- Wie groß ist dein Total, eher 1.000€ oder eher 0,05 €
- Wenn dein Total bereits ein Brutto-wert ist, musst du
$ust = ($total /1.19) * 0,19
rechnen. - Welche Zahlenformate haben deine Werte. Wenn es nur Ganzzahlen sein dürfen, erklärt das ggf, deine Beobachtung. Wenn du aber Decimalzahlen mit 2 Nachkommastellen definiert hast, sollte es mit NAchkommastellen klappen.
- Mach zuvor mal noch ein
echo $total;
Nicht, dass dein $total schon den Wert 0 hat
Moin,
kleiner Tipp am Rande: Mit der Zeile
knallst du dir dein Array in $total weg, weswegen bei dir auch der Code von @godlie nicht läuft wie erwartet.
Versuchs mal mit
o.ä. dann wird's auch klappen
lg,
Slainte
kleiner Tipp am Rande: Mit der Zeile
$total= $total['value'];
Versuchs mal mit
$brutto= $total['value'];
lg,
Slainte
Allerletzer Versuch:
Also zeigt dir ein
die gesamte PDF???
Ansonsten die Ausgabe von
Also zeigt dir ein
echo $total['value'];
Ansonsten die Ausgabe von
echo $total['value'];
bitte einmal exakt hier posten. Mit der reinen Zahl können wir eh nichts anfangen.
Servus.
Richtig, er bräuchte nur mal die Optionen zu den Steuern richtig konfigurieren dann hätte sich das eigentlich erübrigt, denn da ist das alles eigentlich schon enthalten .
Wenn man wissen will was sonst noch an Variablen und Werten im Order-Object enthalten ist fügt man einfach folgende Zeile in das Template ein
Schon siehst du alle Variablen des Order-Objekts auf dem erzeugten PDF.
An den gesamt Steuersatz in der gewählten Währung kommst du mit
an die Währung mit
ob in der Rechnung überhaupt eine Steuer enthalten ist, bekommst du mit
der ist 1 wenn ja.
usw. extra manuelle Berechnung ist hier überflüssig.
Wenn man bspw. eine extra Zeile für den Mwst Betrag unter den Total-Betrag setzen will kann man das natürlich auch über ein eigenes Template wenn man muss
Grüße Uwe
Zitat von @Mystery-at-min:
VIelleicht packst du es aber auch einfach falsch an, was sagt denn die Doku dazu?
VIelleicht packst du es aber auch einfach falsch an, was sagt denn die Doku dazu?
Richtig, er bräuchte nur mal die Optionen zu den Steuern richtig konfigurieren dann hätte sich das eigentlich erübrigt, denn da ist das alles eigentlich schon enthalten .
Wenn man wissen will was sonst noch an Variablen und Werten im Order-Object enthalten ist fügt man einfach folgende Zeile in das Template ein
<?php echo "<pre>" . print_r($this->order,true) . "</pre>"; ?>
An den gesamt Steuersatz in der gewählten Währung kommst du mit
$this->order->cart_tax
$this->order->currency
$this->order->prices_include_tax
usw. extra manuelle Berechnung ist hier überflüssig.
Wenn man bspw. eine extra Zeile für den Mwst Betrag unter den Total-Betrag setzen will kann man das natürlich auch über ein eigenes Template wenn man muss
<table class="totals">
<tfoot>
<?php foreach ( $this->get_woocommerce_totals() as $key => $total ){ ?>
<tr class="<?php echo $key; ?>">
<th class="description"><?php echo $total['label']; ?></th>
<td class="price"><span class="totals-price"><?php echo $total['value']; ?></span></td>
</tr>
<?php if ($key == "order_total" && $this->order->prices_include_tax == 1){?>
<tr>
<th class="description" style="font-weight:normal;">enth. MwSt</th>
<td class="price"><?php echo preg_replace('/\./',',',$this->order->cart_tax) . " " . $this->order->currency; ?></td>
</tr>
<?php } ?>
<?php } ?>
</tfoot>
</table>
Grüße Uwe
Zitat von @pcguy:
Nun ist die Ausgabe von " echo $total['value']" noch unschön, da hinter dem Betrag noch diesen Vermerk erscheint "(inkl. Euro 38.61 Mehrwertsteuer) ... und das auf 3 Zeihlen wegen des platzbedarfs.
Wie kann ich "echo $total['value'] " ersetzen das der Anhang nicht erscheint?
Nun ist die Ausgabe von " echo $total['value']" noch unschön, da hinter dem Betrag noch diesen Vermerk erscheint "(inkl. Euro 38.61 Mehrwertsteuer) ... und das auf 3 Zeihlen wegen des platzbedarfs.
Wie kann ich "echo $total['value'] " ersetzen das der Anhang nicht erscheint?
echo preg_replace('/.*?([\d,]+\s*[^\(]+).*/','$1',$total['value']);
Zitat von @pcguy:
Allerdings verändert das die Ausgabe bei mir nicht ... 1:1 wie bei "echo $total['value']"
? Klappt hier problemlosAllerdings verändert das die Ausgabe bei mir nicht ... 1:1 wie bei "echo $total['value']"
Der Regex is fehlerhaft, kopiere ihn nochmal.
Zitat von @pcguy:
Vielen Dank an alle, ich habe den Rest nun selber hinbekommen
Achtung das führt zu falschen Zwischensummen wenn es mehrere gibt!Vielen Dank an alle, ich habe den Rest nun selber hinbekommen
echo preg_replace('/\./','.', $this->order->currency . " " . $this->order->total);
@bordadmin
Falls jemand mitliest .... eine Funktion "schenk mir ein Bier / Kaffee" währe top
Kein Problem ... Falls jemand mitliest .... eine Funktion "schenk mir ein Bier / Kaffee" währe top