März 2024

  • Für Administratoren: Bestellungen automatisch abschließen, wenn die Rechnung geprüft ist

    Mit einem zyklischen SQL-Job setzen Sie den Bestellfortschritt automatisch auf abgeschlossen (7), sobald die zugehörige Eingangsrechnung geprüft ist – so bleiben keine offenen Bestellungen liegen.

    Tipp: Seit EinkaufsMonitor 1.18.24 können Sie eine einzelne Bestellung auch direkt in der Rechnungsprüfung per Rechtsklick auf „Erledigt“ setzen. Der SQL-Job eignet sich für die automatische Bereinigung im Hintergrund.

    Hinweis: Die Abfragen ändern Daten direkt in der KWP-Datenbank. Bitte vorher eine Datensicherung anlegen und zunächst die SELECT-Abfragen prüfen. Nur für erfahrene Administratoren.

    Variante 1: Nach sachlicher und fachlicher Prüfung

    Der Bestellfortschritt wird auf „abgeschlossen“ gesetzt, wenn die sachliche und fachliche Prüfung der Eingangsrechnung erfolgt ist und die Bestellung den Status geliefert (4) oder überliefert (5) hat.

    Prüfen

    SELECT pkBuchung, fkER, BuchungZeilenNr, fkBestellNr, er.ID, er.TechPruefungAm, er.TechPruefungDurch,
           er.WeiterberechnungDebitor, er.WeiterberechnungDebitorAm, er.WeiterberechnungDebitorDurch,
           b.BestellNr, b.BestellFortschritt
    FROM dbo.rebBuchung eb
    LEFT JOIN rebEinRechnung er ON eb.fkER = er.pker
    LEFT JOIN Bestellung b ON eb.fkBestellNr = b.BestellNr
    WHERE eb.fkBestellNr IS NOT NULL
      AND (TechPruefungDurch IS NOT NULL AND WeiterberechnungDebitorDurch IS NOT NULL);

    Aktualisieren

    UPDATE Bestellung
    SET BestellFortschritt = 7 -- 7 = abgeschlossen
    FROM dbo.rebBuchung eb
    LEFT JOIN rebEinRechnung er ON eb.fkER = er.pker
    LEFT JOIN Bestellung b ON eb.fkBestellNr = b.BestellNr
    WHERE (b.BestellFortschritt = 4 OR b.BestellFortschritt = 5)  -- geliefert / überliefert
      AND eb.fkBestellNr IS NOT NULL
      AND (TechPruefungDurch IS NOT NULL AND WeiterberechnungDebitorDurch IS NOT NULL);

    Variante 2: Nach Verbuchung im Eingangsrechnungsbuch

    Alternativ wird die Bestellung abgeschlossen, sobald die Eingangsrechnung im Eingangsrechnungsbuch den Buchungsstatus verbucht (2) hat.

    Prüfen

    SELECT id, renr, redatum, re.Buchungsstatus, fkBestellNr, BestellFortschritt
    FROM rebeinrechnung re
    LEFT JOIN rebBuchung rb ON pker = fker
    LEFT JOIN Bestellung be ON rb.fkBestellNr = be.BestellNr
    WHERE Buchungsstatus = '2' AND fkBestellNr IS NOT NULL;

    Aktualisieren

    UPDATE Bestellung
    SET BestellFortschritt = '7' -- 7 = abgeschlossen
    FROM rebeinrechnung re
    LEFT JOIN rebBuchung rb ON pker = fker
    LEFT JOIN Bestellung be ON rb.fkBestellNr = be.BestellNr
    WHERE Buchungsstatus = '2' -- 2 = verbucht
      AND fkBestellNr IS NOT NULL;

    Den Job richten Sie z. B. als zyklischen SQL-Server-Agent-Auftrag ein. Bei Fragen helfen wir gern – Kontakt aufnehmen.

    Beitrag als eigene Seite öffnen →: Für Administratoren: Bestellungen automatisch abschließen, wenn die Rechnung geprüft ist