NETZdinge.de

Sehr aktives Mitglied
7. April 2010
2.626
405
Kunden haben oft das Bedürfnis ihren Einkauf "irgendwie" zu kompensieren.

Mit diesem Plugin gebt Ihr ihnen die Möglichkeit für ein beliebiges Projekt Eurer Wahl zu spenden. Das kann für ein Umweltprojekt sein, für ein Humanitäres Projekt oder auch für Euren Lieblingsverein. Ihr entscheidet über Projekt und Spendenhöhe. Eure Kunden entscheiden, ob sie das möchten oder nicht. Aktuell könnten Kunden also die Ersparnis durch die Mehrwertsteuersenkung spenden.

☝️ Kunden können freiwillig spenden
☝️ Händler legen Charity Projekte und Spendenhöhe(Prozentsatz vom Warenwert) fest
☝️ Ausweis der Spende auf der Rechnung
☝️ 4 Charity Projekte bereits integriert:
☝️ Händler können selbst Projekte anlegen
☝️ Gut für das jeweilige Projekt, gut fürs Karma ;)

Downloaden ⬇️, testen & kaufen 🛒: https://www.netzdinge.de/Lizenz-Plugin-Charity-Spenden-sammeln

(Erklärbärvideo 🧸 auf der Seite)

Gerne könnt Ihr auch Projekte einreichen, dann kann ich die eventuell direkt mit rein nehmen.
 

abiber

Gut bekanntes Mitglied
25. Februar 2015
53
29
Wir haben das Plugin bereits seit 1.7. in unserem Shop im Einsatz und ermuntern unsere Kunden, die Umsatzsteuersenkung im 2. Halbjahr (die wir an die Kunden weitergeben) für einen guten Zweck - bei uns für den Children for a better World e.V. - zu spenden. Die Resonanz darauf ist ganz gut, wir schlagen die Spende unseren Kunden auch bei Telefon- und E-Mail-Bestellung und an der Kasse (LS-POS) vor. Mehr dazu unten.

Eine Schwierigkeit stellt die Auswertung der Spenden dar, da man manuelle Artikel offenbar nicht über das Statistikmodul auswerten kann. Wir haben uns dazu eine kleine SQL-Abfrage gebastelt, sind aber ganz Ohr, wenn jemand das mit Bordmitteln hinbekommt! Das Skript sucht nach manuellen Artikel mit passenden Artikelnamen (fettgedruckt, ggf. anpassen), der rot markierte Teil begrenzt das auf ausgelieferte und bezahlte Aufträge (ggf. entfernen):
USE [eazybusiness]
GO
SELECT CONCAT(MONTH(b.dErstellt), '/', YEAR(b.dErstellt)) AS Monat, COUNT(p.tBestellung_kBestellung) AS Anzahl, ROUND(SUM(p.fVKPreis),2) AS Wert, ROUND(SUM(p.fVKPreis)/COUNT(p.tBestellung_kBestellung),2) AS Durchschnitt
FROM tbestellpos p LEFT JOIN tBestellung b ON p.tBestellung_kBestellung = b.kBestellung
WHERE nType = 0 AND (cString LIKE '%spende%' OR cString LIKE '%donat%')
AND nKomplettAusgeliefert = 1 AND dBezahlt IS NOT NULL
GROUP BY YEAR(b.dErstellt), MONTH(b.dErstellt)

Für die Berechnung der Spende in der Wawi haben wir einen Workflow angelegt, der beim Speichern des Auftrages und entsprechendem Auftragsattribut (spende=1) einen manuellen Artikel erstellt, der Preis entspricht der Umsatzsteuerersparnis und wird per SQL-Query ermittelt. Kann natürlich auch als manueller Workflow ausgeführt werden.
{% capture query -%}
SELECT SUM(fVKPreis * nAnzahl * (1-fRabatt/100) / (1+fMwSt/100) * REPLACE(REPLACE(fMwSt, 16, 3), 5, 2)/100) AS spende
FROM tbestellpos WHERE tBestellung_kBestellung = '{{ Vorgang.Stammdaten.InterneAuftragsnummer }}' AND nType = 1
{% endcapture -%}
{% assign spende = query | DirectQueryScalar -%}
{{ spende }}


Für LS-POS haben wir einen Knopf erstellt, der ein externes Skript ausführt, das die Umsatzsteuerspende berechnet und als manuellen Artikel in den Warenkorb legt - die Berechnung stimmt derzeit allerdings nur bei einem einzigen (hier dem normalen) Umsatzsteuersatz, da die jeweiligen USt.-Sätze nicht ohne weiteres aus LS-POS heraus zu bekommen sind!
Befehl für den Knopf (u.U. Pfade anpassen!): @extern:cscript.exe //nologo USt_Spende_berechnen.vbs {GesamtSumme}
VB-Skript:
Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
umsatz = 0
ust_spende = 0
if WScript.Arguments.Count > 0 Then
umsatz = objArgs(0)
ust_spende = umsatz / 1.16 * 0.03
WScript.Echo "@Divers:" & Round(ust_spende, 2) & "|0,00|Spende (umsatzsteuerfrei)||Sonstiges"
Else
WScript.Echo "Fehler: kein Umsatz angegeben."
End if


Wenn im LS-POS Warenkorb verschiedene Umsatzsteuersätze zum Einsatz kommen, geht die Berechnung nur einzeln je Artikel (es muss also jede Zeile markiert und dann der entsprechende Knopf gedrückt werden). Hat jemand eine bessere Idee, verschiedene USt.-Sätze zu verarbeiten?
Befehl für den Knopf (u.U. Pfade anpassen!): @extern:cscript.exe //nologo USt_Spende_berechnen_pro_Artikel.vbs {Menge} {Einzelpreis} {KassenRabattSatz} {SteuerSatz}
VB-Skript:
Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
menge = 0
preis = 0
rabatt = 0
ust = 0
artikel_gesamt = 0
ust_spende = 0
if WScript.Arguments.Count = 4 Then
menge = objArgs(0)
preis = objArgs(1)
rabatt = objArgs(2)
ust = objArgs(3)
if menge > 0 and preis > 0 and ust > 0 Then
artikel_gesamt = menge * preis * (1-rabatt/100)
if ust = 16 Then
ust_spende = artikel_gesamt / 1.16 * 0.03
elseif ust = 5 Then
ust_spende = artikel_gesamt / 1.05 * 0.02
end if
End if
WScript.Echo "@Divers:" & Round(ust_spende, 2) & "|0,00|Spende (umsatzsteuerfrei)||Sonstiges"
Else
WScript.Echo "Fehler: fehlende Argumente."
End if


Viel Spaß beim Basteln - ist immerhin für einen guten Zweck!
Alex
 

Ähnliche Themen