setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); function h($v): string { return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8'); } function geld($v): string { return number_format((float)$v, 2, ',', '.') . ' €'; } function kunde(array $r): string { $firma = trim((string)($r['firma'] ?? '')); $person = trim((string)($r['vorname'] ?? '') . ' ' . (string)($r['nachname'] ?? '')); if ($firma !== '' && $person !== '') return $firma . ' – ' . $person; if ($firma !== '') return $firma; if ($person !== '') return $person; return '—'; } function countSafe(PDO $pdo, string $sql): int { try { return (int)$pdo->query($sql)->fetchColumn(); } catch (Throwable $e) { return 0; } } $artikelAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM artikel WHERE aktiv=1"); $kundenAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM kunden WHERE aktiv=1"); $lieferantenAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM lieferanten WHERE aktiv=1"); $auftraegeAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM belege WHERE belegtyp='AUFTRAG'"); $lieferscheineAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM belege WHERE belegtyp='LIEFERSCHEIN'"); $rechnungenAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM belege WHERE belegtyp='RECHNUNG'"); $gutschriftenAnzahl = countSafe($pdo, "SELECT COUNT(*) FROM belege WHERE belegtyp='GUTSCHRIFT'"); try { $lagerbestand = (float)$pdo->query( "SELECT COALESCE(SUM(lagerbestand),0) FROM artikel WHERE aktiv=1" )->fetchColumn(); $lagerwert = (float)$pdo->query( "SELECT COALESCE(SUM(lagerbestand * einkaufspreis_netto),0) FROM artikel WHERE aktiv=1" )->fetchColumn(); } catch (Throwable $e) { $lagerbestand = 0; $lagerwert = 0; } /* Offene Rechnungen */ $offeneRechnungen = 0; $offenerBetrag = 0; $bezahlteRechnungen = 0; try { $offeneRechnungen = (int)$pdo->query( "SELECT COUNT(*) FROM belege WHERE belegtyp='RECHNUNG' AND status <> 'BEZAHLT'" )->fetchColumn(); $offenerBetrag = (float)$pdo->query( "SELECT COALESCE(SUM(brutto),0) FROM belege WHERE belegtyp='RECHNUNG' AND status <> 'BEZAHLT'" )->fetchColumn(); $bezahlteRechnungen = (int)$pdo->query( "SELECT COUNT(*) FROM belege WHERE belegtyp='RECHNUNG' AND status='BEZAHLT'" )->fetchColumn(); } catch (Throwable $e) { } /* Zahlungen */ $zahlungenGesamt = 0; $zahlungenMonat = 0; try { $zahlungenGesamt = (float)$pdo->query( "SELECT COALESCE(SUM(betrag),0) FROM zahlungen" )->fetchColumn(); $zahlungenMonat = (float)$pdo->query( "SELECT COALESCE(SUM(betrag),0) FROM zahlungen WHERE YEAR(zahlungsdatum)=YEAR(CURDATE()) AND MONTH(zahlungsdatum)=MONTH(CURDATE())" )->fetchColumn(); } catch (Throwable $e) { } /* Bestellungen */ $bestellungen = []; try { $bestellungen = $pdo->query( "SELECT b.id, b.belegnummer, b.datum, b.status, b.brutto, k.firma, k.vorname, k.nachname, l.firma AS lf, l.vorname AS lv, l.nachname AS ln FROM belege b LEFT JOIN kunden k ON k.id=b.kunde_id LEFT JOIN lieferanten l ON l.id=b.lieferant_id WHERE b.belegtyp='AUFTRAG' ORDER BY b.id DESC LIMIT 10" )->fetchAll(); } catch (Throwable $e) { } /* Lieferscheine */ $lieferscheine = []; try { $lieferscheine = $pdo->query( "SELECT b.id, b.belegnummer, b.datum, b.status, k.firma, k.vorname, k.nachname, f.fastbill_invoice_id, f.status AS fastbill_status, f.rechnungsnummer, f.fastbill_details_url FROM belege b LEFT JOIN kunden k ON k.id=b.kunde_id LEFT JOIN fastbill_rechnungsentwuerfe f ON f.lieferschein_id=b.id WHERE b.belegtyp='LIEFERSCHEIN' ORDER BY b.id DESC LIMIT 10" )->fetchAll(); } catch (Throwable $e) { } /* FastBill-Entwürfe */ $entwuerfe = []; try { $entwuerfe = $pdo->query( "SELECT f.*, b.belegnummer AS lieferschein_nummer FROM fastbill_rechnungsentwuerfe f LEFT JOIN belege b ON b.id=f.lieferschein_id ORDER BY f.id DESC LIMIT 10" )->fetchAll(); } catch (Throwable $e) { } /* Letzte Lagerbewegungen */ $bewegungen = []; try { $bewegungen = $pdo->query( "SELECT lb.datum, lb.bewegungstyp, lb.menge, lb.grund, a.artikelnummer, a.titel FROM lagerbewegungen lb LEFT JOIN artikel a ON a.id=lb.artikel_id ORDER BY lb.id DESC LIMIT 10" )->fetchAll(); } catch (Throwable $e) { } /* Quartal */ $jahr = (int)date('Y'); $monat = (int)date('n'); $quartal = (int)ceil($monat / 3); $quartalStartMonat = (($quartal - 1) * 3) + 1; $quartalStart = sprintf('%04d-%02d-01', $jahr, $quartalStartMonat); $quartalEnde = date('Y-m-t', strtotime($jahr . '-' . ($quartalStartMonat + 2) . '-01')); $quartalRechnungen = 0; $quartalNetto = 0; $quartalMwst = 0; try { $stmt = $pdo->prepare( "SELECT COUNT(*) AS anzahl, COALESCE(SUM(netto),0) AS netto, COALESCE(SUM(mwst),0) AS mwst FROM belege WHERE belegtyp='RECHNUNG' AND datum BETWEEN ? AND ?" ); $stmt->execute([$quartalStart, $quartalEnde]); $q = $stmt->fetch(); $quartalRechnungen = (int)($q['anzahl'] ?? 0); $quartalNetto = (float)($q['netto'] ?? 0); $quartalMwst = (float)($q['mwst'] ?? 0); } catch (Throwable $e) { } ?> Warenwirtschaft – Skistodl Lisa

Warenwirtschaft – Skistodl Lisa

Netcup ist die führende Warenwirtschaft. FastBill erstellt die endgültige Kundenrechnung.

Aktive Artikel
Artikel
Aktive Kunden
Kunden
Aktive Lieferanten
Lieferanten
Lagerbestand
Lagerwert
Lager

📌 Dein kompletter Arbeitsablauf

Die Rechnung wird erst nach dem Lieferschein als Entwurf in FastBill angelegt.

1. BestellungKunde + Lieferant + Artikel + EK
2. BestätigungBestätigten EK eintragen und Beleg archivieren
3. WareneingangWare kommt an → Lagerbestand +
4. LieferscheinWare geht raus → Lagerbestand −
5. FastBillEntwurf → Prüfung → echte Rechnung → zurück nach Netcup

📝 Bestellungen / Aufträge

Hier beginnst du einen neuen Kundenauftrag. Die Bestellung verändert das Lager noch nicht.

Deine letzten Bestellungen

Noch keine Bestellungen vorhanden.

Nr. Datum Kunde Lieferant Status Wert Aktion
EK / Bestätigung Lieferschein

📄 Lieferanten-Bestätigungen

Bestätigte Einkaufspreise und Originale werden manuell zur Bestellung archiviert. Kein automatischer Mailimport.

➕ Wareneingang

Wareneingang erhöht den Lagerbestand.

📦 Lieferscheine

Der Lieferschein ist der tatsächliche Lagerausgang. Danach wird ein FastBill-Rechnungsentwurf erstellt.

Letzte Lieferscheine

Noch keine Lieferscheine vorhanden.

Nr. Datum Kunde FastBill Aktion
ID
Rechnung
noch kein Entwurf
PDF FastBill

🧾 FastBill-Entwürfe

Noch keine FastBill-Entwürfe vorhanden.

Lieferschein FastBill-ID Status Rechnungsnummer Aktion
Öffnen FastBill öffnen
Bestellungen
Öffnen
Lieferscheine
Öffnen
Rechnungen
Öffnen
Bezahlte Rechnungen
Offen: ·

💳 Zahlungen

Gesamt erfasst:

Dieser Monat:

Zahlungen Mit FastBill synchronisieren

📊 Aktuelles Quartal – Q

Rechnungen:

Umsatz netto:

Umsatzsteuer:

Zeitraum: –

Quartalsauszug Finanzamt

📦 Letzte Lagerbewegungen

Noch keine Lagerbewegungen vorhanden.

Datum Artikel Bewegung Menge Grund

⚡ Schnellzugriff

⚙️ Systemstatus

✓ Datenbankverbindung funktioniert.

✓ Artikel, Kunden, Lieferanten und Lager sind aktiv.

✓ Bestellung → Wareneingang → Lieferschein → FastBill-Entwurf → fertige FastBill-Rechnung.

✓ Der Lagerbestand wird bei Wareneingang erhöht und beim Lieferschein einmal reduziert.

✓ Die Rechnung selbst verändert den Lagerbestand nicht.

✓ Kein automatischer Mailimport für Lieferanten-Bestätigungen.