DEV Community

Cover image for Transparenter Non-Profit-Shop: Wenn jeder Cent zählt
Mirko Stahnke
Mirko Stahnke

Posted on

Transparenter Non-Profit-Shop: Wenn jeder Cent zählt

Ich habe ein neues Projekt und würde gerne eure Meinung dazu hören. Danke schon mal vorab für euer Interesse.

Transparenter Non-Profit-Shop: Wenn jeder Cent zählt

Ein PayPal-Shop der zeigt, wohin das Geld wirklich fließt

In Zeiten, in denen Vertrauen in Online-Shops und gemeinnützige Organisationen immer wichtiger wird, entsteht ein neues Projekt: Ein vollständig transparenter Non-Profit-Shop, bei dem Kunden nicht nur Produkte kaufen, sondern gleichzeitig soziale Projekte unterstützen – und dabei jeden Cent nachvollziehen können.

Die Idee: Null Gewinn, volle Transparenz

Das Konzept ist radikal einfach: Der Shop macht keinen Gewinn. Jeder Euro, der nach Abzug der Betriebskosten übrig bleibt, fließt direkt in gemeinnützige Projekte. Doch das Besondere ist nicht nur das Non-Profit-Prinzip – es ist die 100% Transparenz.

Was macht diesen Shop anders?

Klassischer Online-Shop:

Kunde zahlt €29
→ ??? (Blackbox)
→ Händler behält X%

Dieser Non-Profit-Shop:

Kunde zahlt €29,00
→ PayPal-Gebühr: -€1,07
→ Hosting: -€1,50
→ Claude API: -€0,75
→ Internet: -€0,30
→ Büro: -€0,60
→ Domain/SSL: -€0,15
→ Spende: €24,63
→ Balance: €0,00 ✓

Jeder Cent ist dokumentiert. Öffentlich. Für jeden einsehbar.

Die technische Umsetzung

Herzstück: Automatische Kostenberechnung

Das System basiert auf einer intelligenten MySQL-Datenbank, die automatisch jeden Cent verfolgt:

1. Monatliche Fixkosten
Der Shop-Betreiber trägt einmal im Monat seine Betriebskosten ein:

  • Technik: Laptop, Bildschirm (anteilig abgeschrieben)
  • Hosting: Server bei Hetzner
  • Claude API: KI-Assistenz für Entwicklung
  • Internet: Anteiliger Internet-Anschluss
  • Büro: Strom, Raum, Heizung (anteilig)
  • Sonstige: Domain, SSL-Zertifikate

2. Automatische Verteilung
Bei jeder Bestellung rechnet das System automatisch:
sql
Monatliche Kosten (z.B. €125) / Anzahl Bestellungen (z.B. 10)
= Kosten pro Bestellung (€12,50)

3. Transparente Aufschlüsselung
Für jede Bestellung wird gespeichert:

  • Brutto-Betrag (was der Kunde zahlt)
  • PayPal-Gebühr (2,49% + €0,35)
  • Netto-Betrag (nach PayPal)
  • Anteilige Betriebskosten (aufgeschlüsselt!)
  • Spendenbetrag (an gewählte Organisation)
  • Bilanz (muss immer €0 sein)

Das Admin-Panel: Drei Bereiche, ein Ziel

  1. Kostenverwaltung
    Monatliche Kosten eintragen, automatisch auf alle Bestellungen verteilen. Das System zeigt live:

    • Gesamtkosten des Monats
    • Anzahl Bestellungen bisher
    • Kosten pro Bestellung
  2. Organisationen-Verwaltung
    Flexible Verwaltung der unterstützten Organisationen:

    • WWF Deutschland 🌍
    • Ärzte ohne Grenzen 🏥
    • Tafel Deutschland 🍞
    • Sea Shepherd 🌊
    • NABU 🦅

Neue Organisationen können jederzeit hinzugefügt werden. Mit einem schicken Icon-Picker aus über 80 Emojis!

  1. Buchhaltung mit PDF-Export Professionelles Buchhaltungs-Modul:
    • Einnahmen/Ausgaben eintragen
    • Nach Monat, Typ, Kategorie filtern
    • PDF-Export für Finanzamt
    • Monatliche Zusammenfassungen

Die Transparenz-Seite: Öffentlich für alle

Auf der öffentlichen Transparenz-Seite sieht jeder Besucher:

Gesamtbilanz

💰 Brutto-Einnahmen: €290,00
📤 PayPal-Gebühren: -€21,50
📦 Betriebskosten: -€125,00
💚 Gespendet: €143,50

Monatliche Detailübersicht
Für jeden Monat einzeln:

  • Anzahl Bestellungen
  • Alle Kosten aufgeschlüsselt (Technik, Hosting, Claude, Internet, Büro, Sonstige)
  • Spendenbetrag
  • Bilanz-Check (sollte immer €0 sein)

Unterstützte Organisationen
Übersicht mit:

  • Organisation mit Icon
  • Gesamtbetrag gespendet
  • Anzahl Bestellungen
  • Link zur Organisation

Checkout mit Herz: Kunde wählt die Organisation

Beim Bezahlen sieht der Kunde nicht nur den Preis, sondern:

Kostenaufschlüsselung:

Brutto-Betrag: €29,00

  • PayPal-Gebühr: -€1,07 = Netto-Betrag: €27,93
  • Betriebskosten: -€12,50 💚 Ihr Spendenbetrag: €15,43

Organisation wählen:
Der Kunde entscheidet selbst, welche Organisation seine Spende erhält:

  • Große Karten mit Icon
  • Beschreibung der Organisation
  • Link zur Website

Psychologischer Effekt: Der Kunde kauft nicht nur ein Produkt – er wird zum aktiven Unterstützer eines guten Zwecks.

Die technischen Highlights

  1. Stored Procedures & Trigger
    Automatische Berechnung bei jeder Bestellung:
    sql
    CREATE PROCEDURE create_order_with_costs(...)
    BEGIN
    -- Berechne PayPal-Gebühr
    SET v_paypal_fee = calculate_paypal_fee(p_price_brutto);

    -- Verteile monatliche Kosten
    SET v_cost_per_order = monthly_costs / order_count;

    -- Berechne Spende
    SET v_donation = netto - costs;
    END

  2. Views für Übersichten
    Vordefinierte Datenbank-Views für schnelle Abfragen:

    • transparency_overview - Monatliche Transparenz
    • donations_by_charity - Spenden pro Organisation
    • accounting_monthly_summary - Buchhaltungs-Übersicht
  3. ReportLab-Integration
    Professionelle PDF-Generierung mit Python:

    • Buchhaltungs-Berichte
    • Monatliche Zusammenfassungen
    • Für Finanzamt-tauglich
  4. PHPMailer
    Automatische E-Mails nach Bestellung:

    • Download-Links
    • Bestellbestätigung
    • Transparenz-Info

Der rechtliche Rahmen: Kleinunternehmer-Regelung

Warum kein gemeinnütziger Verein?

Die Entscheidung fiel bewusst gegen eine gemeinnützige Organisation (e.V., gGmbH):

Gründe:

  • ❌ Hoher bürokratischer Aufwand
  • ❌ Strenge Satzungs-Anforderungen
  • ❌ Finanzamt-Anerkennung dauert Monate
  • ❌ Vorstand, Mitgliederversammlung, Protokolle
  • ❌ Rechenschaftspflicht gegenüber Finanzamt

Stattdessen: Kleinunternehmer nach §19 UStG

  • ✅ Schnelle Anmeldung (1 Tag)
  • ✅ Keine Umsatzsteuer
  • ✅ Einfache Buchhaltung
  • ✅ Geringe Kosten (~€30)
  • ✅ Volle Kontrolle

Die Transparenz ersetzt die Gemeinnützigkeit:
Statt steuerlicher Vorteile gibt es öffentliche Nachvollziehbarkeit. Jeder kann sehen: Hier wird kein Gewinn gemacht.

Die Philosophie dahinter

"Better 80% good now than 0% perfect later"

Statt Jahre auf die perfekte gemeinnützige Struktur zu warten, lieber sofort starten und dabei:

  • ✅ Transparent sein
  • ✅ Dokumentieren
  • ✅ Null Gewinn machen
  • ✅ Gutes tun

Der Non-Profit-Gedanke

Ziel: €0 Gewinn pro Monat

Einnahmen - Kosten - Spenden = €0

Falls am Monatsende ein Plus entsteht:
→ Mehr spenden

Falls ein Minus entsteht:
→ Kosten senken oder Preise anpassen

Die praktische Umsetzung

Monatliche Routine

Ende jeden Monats:

  1. Kosten eintragen (5 Minuten)
  2. Transparenz-Seite prüfen (Bilanz = €0?)
  3. Spenden überweisen (PayPal → Organisationen)
  4. PDF exportieren (Beleg für Buchhaltung)

Bei Bestellungen:

  • System rechnet automatisch
  • Kunde wählt Organisation
  • E-Mail mit Transparenz-Info
  • Spendenbetrag wird gespeichert

Buchhaltung

PayPal Business-Konto:

  • Getrennt vom privaten Konto
  • Nur für Shop-Einnahmen
  • Alle Transaktionen dokumentiert

N26 Business-Konto:

  • Für Ausgaben (Hosting, API, etc.)
  • Übersichtliche Kategorisierung
  • Export für Steuerberater

Die Technik im Detail

Stack

Frontend:

  • PHP 8+
  • MySQL 8
  • HTML5, CSS3 (Glassmorphism-Design)
  • JavaScript (Vanilla)

Backend:

  • PayPal IPN (Instant Payment Notification)
  • PHPMailer (E-Mail-Versand)
  • ReportLab (Python, PDF-Generierung)
  • Stored Procedures & Triggers (MySQL)

Hosting:

  • 1Blu Shared Hosting
  • MySQL-Datenbank
  • SSL/HTTPS

Features

Für Kunden:

  • ✅ Produktkatalog mit Filtern
  • ✅ Warenkorb mit Lizenz-Auswahl
  • ✅ Preisvorschläge (mit Mindestpreis)
  • ✅ PayPal-Checkout
  • ✅ Organisation wählen
  • ✅ Automatische Download-Links
  • ✅ Transparenz-Seite

Für Admin:

  • ✅ Produkt-Verwaltung
  • ✅ Bestellungs-Übersicht
  • ✅ Kosten-Verwaltung
  • ✅ Organisationen-Verwaltung
  • ✅ Buchhaltung mit PDF-Export
  • ✅ Besucher-Statistiken
  • ✅ Timeline-Chart (Besucherverhalten)

Sicherheit

  • ✅ CSRF-Protection
  • ✅ Prepared Statements (SQL-Injection-Schutz)
  • ✅ Input-Validation
  • ✅ XSS-Protection
  • ✅ Secure Password Hashing
  • ✅ HTTPS/SSL

Die Herausforderungen

  1. PayPal-Gebühren transparent machen

Problem: PayPal behält Gebühren ein, bevor das Geld ankommt.

Lösung: Automatische Berechnung und Anzeige:

Kunde zahlt: €29,00
PayPal-Gebühr: -€1,07 (2,49% + €0,35)
Kommt an: €27,93

  1. Kostenverteilung auf Bestellungen

Problem: Kosten sind fix, Bestellungen variabel.

Lösung: Automatische Neuberechnung bei jeder Bestellung:

Monat Februar: €125 Kosten
10 Bestellungen → €12,50 pro Bestellung

  1. Bestellung → €11,36 pro Bestellung (Trigger rechnet neu)

    1. Buchhaltung ohne Steuerberater

Problem: Einfache Buchhaltung für Kleinunternehmer.

Lösung: Integriertes Buchhaltungs-Modul:

  • Einnahmen/Ausgaben kategorisiert
  • Monatliche Zusammenfassungen
  • PDF-Export für Finanzamt
  • CSV-Vorlage für Excel

Die Vision: Skalierbarkeit

Phase 1: MVP (✅ Fertig)

  • PayPal-Shop
  • Transparenz-Seite
  • Basis-Funktionen

Phase 2: Erweiterung (in Planung)

  • Mehr Zahlungsarten (Stripe, Klarna)
  • Mehr Organisationen
  • Newsletter-Integration
  • Social-Media-Teilen

Phase 3: Community (Zukunft)

  • Andere Shops können System nutzen
  • Open-Source-Veröffentlichung?
  • Netzwerk von Transparenz-Shops

Die Learnings

Technisch

1. Generated Columns in MySQL = Problematisch
Lösung: Normale Spalten + Trigger

2. PayPal-Gebühren ändern sich
Lösung: Zentrale Funktion, ein Update = überall korrekt

3. NULL-Werte in PHP 8+
Lösung: COALESCE() in SQL, explizite Type-Casts in PHP

Organisatorisch

1. Kleinunternehmer > Gemeinnütziger Verein
Für kleine Projekte: Weniger Bürokratie, mehr Fokus auf das Wesentliche

2. Transparenz > Steuervorteile
Kunde kann keine Spendenbescheinigung bekommen, aber sieht genau wohin das Geld fließt

3. Automatisierung spart Zeit
Stored Procedures & Trigger: Einmal einrichten, dann läuft's

Die Zahlen (Beispiel)

Angenommen:

  • 50 Bestellungen pro Monat
  • Durchschnittspreis: €29
  • Monatliche Kosten: €125

Rechnung:

Einnahmen Brutto: €1.450,00
PayPal-Gebühren: -€53,50
Einnahmen Netto: €1.396,50
Betriebskosten: -€125,00
──────────────────────────────
SPENDENSUMME: €1.271,50
BILANZ: €0,00 ✓

Pro Organisation (5): ~€254 / Monat
Pro Jahr: ~€3.048 / Organisation

Bei 100 Bestellungen: ~€6.000 / Jahr / Organisation
Bei 500 Bestellungen: ~€30.000 / Jahr / Organisation

Fazit: Ein Shop mit Haltung

Dieser Non-Profit-Shop zeigt: E-Commerce und soziales Engagement müssen kein Widerspruch sein.

Die Stärken:

✅ Volle Transparenz
Jeder Cent ist nachvollziehbar. Öffentlich.

✅ Null Gewinn
Kein versteckter Profit. Balance immer €0.

✅ Kunde entscheidet
Welche Organisation wird unterstützt? Der Kunde wählt.

✅ Professionell umgesetzt
Automatische Berechnung, Admin-Panel, Buchhaltung, PDF-Export.

✅ Rechtlich sauber
Kleinunternehmer, ordentliche Buchhaltung, AGB, Datenschutz.

Die Botschaft:

"Wir verkaufen nicht nur Produkte. Wir zeigen, dass Online-Business transparent, ehrlich und sozial sein kann."

Technische Daten

Entwicklungszeit: ~40 Stunden
Zeilen Code: ~5.000 (PHP, SQL, JavaScript)
Datenbank-Tabellen: 8
Views: 3
Stored Procedures: 1
Trigger: 3
Funktionen: 1

Features:

  • Produkt-Verwaltung
  • Warenkorb
  • PayPal-Integration
  • Transparenz-System
  • Kosten-Verwaltung
  • Organisationen-Verwaltung
  • Buchhaltung mit PDF-Export
  • Besucher-Tracking
  • E-Mail-Benachrichtigungen
  • Timeline-Chart
  • Admin-Dashboard

Kontakt & Information

Website: https://scripte-pay.de
Transparenz-Seite: https://scripte-pay.de/transparency.php

Technischer Stack:

  • PHP 8+, MySQL 8, JavaScript
  • PayPal API, PHPMailer, ReportLab
  • 1Blu Hosting

Rechtliches:

  • Kleinunternehmer nach §19 UStG
  • Kein gemeinnütziger Status
  • Volle Transparenz statt Spendenquittung

Ein Projekt von phppower – Made with 💚 and Claude

Dieser Artikel beschreibt ein reales Projekt, das zeigt, wie moderne Web-Technologie und soziales Engagement Hand in Hand gehen können. Jeder Cent zählt. Und jeder Cent wird gezeigt.

Top comments (0)