Paid Membership Pro PDF Invoice: Lösung für Steuerprobleme mit PayPal Express Gateway
Das Paid Membership Pro Plugin ist ein weit verbreitetes Tool, um bezahlte Mitgliedschaften auf WordPress-Websites zu ermöglichen. Ein spezielles Feature dieses Plugins ist die Möglichkeit, PDF-Rechnungen zu generieren. Jedoch gibt es beim Einsatz von PayPal Express als Zahlungsgateway ein Problem mit der korrekten Ausweisung der Mehrwertsteuer. Dieser Blogbeitrag bietet Ihnen eine Lösung für dieses spezielle Problem.
Das Problem mit PayPal Express
Wenn Kunden über PayPal Express bezahlen, wird der gesamte Betrag inklusive der Mehrwertsteuer in einem Gesamtbetrag abgebucht. Das bedeutet, dass auf der generierten Rechnung keine separate Zeile für die Mehrwertsteuer erscheint. Dies kann vor allem in Ländern, in denen eine klare Ausweisung der MwSt. erforderlich ist, zu erheblichen Problemen führen.
Die Lösung: Anpassung über die functions.php oder ein Snippet Addon
Um das Problem zu umgehen, können wir einen eigenen Code in die functions.php
des Themes oder, wie in unserem Fall, in ein Snippet Addon integrieren. Dieser Code erstellt zwei Shortcodes, {{netto}} und {{mwst}}, die dann in der PDF-Rechnung aufgerufen werden können.
Der Code-Snipper
function my_pmpro_pdf_custom_fields($data_array, $user, $order_data) {
// Den Bruttobetrag aus dem order_data Objekt extrahieren
$bruttoAsString = $order_data->total;
$bruttoBetrag = floatval(str_replace('€', '', $bruttoAsString));
// MwSt berechnen
$mwStSatz = 0.19;
$nettoBetrag = $bruttoBetrag / (1 + $mwStSatz);
$mwSt = $bruttoBetrag - $nettoBetrag;
$data_array['{{mwst}}'] = number_format($mwSt, 2) . '€';
$data_array['{{netto}}'] = number_format($nettoBetrag, 2) . '€';
return $data_array;
}
add_filter('pmpro_pdf_invoice_custom_variables', 'my_pmpro_pdf_custom_fields', 10, 3);
Erklärung des Codes
Der obenstehende Code macht im Wesentlichen folgendes:
- Er extrahiert den Bruttobetrag aus dem
order_data
Objekt. - Dann wird dieser Bruttobetrag von einem String in eine Gleitkommazahl umgewandelt, um mathematische Operationen durchzuführen.
- Der Mehrwertsteuersatz (hier als 19% angenommen) wird verwendet, um den Nettobetrag und die Mehrwertsteuer zu berechnen.
- Schließlich werden diese beiden Werte formatiert und zum Datenarray hinzugefügt, das dann in der Rechnung verwendet wird.
Abschluss
Das Paid Membership Pro Plugin bietet viele nützliche Funktionen für Mitgliedschaftsseiten. Doch manchmal müssen kleine Anpassungen vorgenommen werden, um den gesetzlichen Anforderungen oder den speziellen Bedürfnissen einer Website gerecht zu werden. Mit dem oben beschriebenen Code können Sie das Problem der Mehrwertsteuerausweisung bei PayPal Express Zahlungen elegant lösen.