Script: Rechnung auf gebucht / storniert setzen

Dieses Script setzt eine Rechnung auf gebucht bzw. wieder auf storniert, ohne dabei Daten in die Buchhaltung zu übertragen.

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 25.05.2012
Aktualisiert: 10.10.2024 | Neues Script für selectedobjects ab Vertec 6.7.0.12.

Dieses Script setzt eine Rechnung auf gebucht oder wieder auf storniert, ohne dabei Daten in die Buchhaltung zu übertragen.

Beim Buchungsvorgang werden gewisse Werte im Vertec fixiert. Dieses Script simuliert diesen Vorgang. Ist die Rechnung bereits gebucht, wird sie storniert, ansonsten gebucht.

Version Beschreibung Script
6.0 Script für Vertec Versionen vor 6.7.0.12 sowie zur Ausführung im Script Editor  für alle Versionen. RechnungAufGebuchtStorniertSetzen.py
6.7.0.12 Verwendet selectedobjects . PostCancelInvoiceWithoutFAR.py

Ausführen

Auf einer Rechnung oder einer Liste von Rechnungen, die Sie auf gebucht / storniert setzen möchten.

Es werden nur verrechnete Rechnungen berücksichtigt.

Scripttext

 # coding: windows-1252
#
#---Bezeichnung: Rechnung auf gebucht/storniert setzen (ohne Buchhaltung)
#   Klassen: Rechnung
#   Selectedobjectsscript: Yes
#   Condexpression:
#   EventType: Kein
#   EventClass:
#   EventMembers:
#   ExtendedRights: N
#---Wenn das Member gebucht auf der Rechnung geändert wird, anstelle der Standardfunktion buchen,
#   dann fehlen auf den Buchungen einige Informationen (konto, pknr). Mit diesem Skript werden die Informationen
#   der Reihe nach gespeichert und nach dem Umstellen wieder eingesetzt.
#---29.10.2010, IB: erstellt.
#   05.10.2012, RS: erweitert, damit stornieren und buchen mit einem Skript möglich ist.
#   19.06.2015, BR: erweitert: Ausführen auf Listen und Einzelojekten. UpdateDatabase eingefügt.
#   05.11.2019, STH: Setze beim Buchen die Belegnr auf "0".
#   10.10.2024, sth: Angepasst an selectedobjects ab Vertec 6.7.0.12

def main(invoicelist):
    for rechnung in invoicelist:
        if rechnung.verrechnet:
            if rechnung.gebucht:
                rechnung.bhEKontoLeistungen = ""
                rechnung.bhEKontoSpesen = ""
                rechnung.bhEKontoAuslagen = ""
                rechnung.bhPersonenkonto = ""
                rechnung.bhVorschussKonto = ""
                rechnung.bhDebiKonto = ""
                rechnung.bhBeschrieb = ""
                rechnung.bhRabattKonto = ""
                rechnung.gebucht = False
            else:
                rechnung.bhEKontoLeistungen = rechnung.ErtragsKontoLeistungen
                rechnung.bhEKontoSpesen = rechnung.ErtragsKontoSpesen
                rechnung.bhEKontoAuslagen = rechnung.ErtragsKontoAuslagen
                rechnung.bhPersonenkonto = rechnung.Personenkonto
                rechnung.bhVorschussKonto = rechnung.projekt.vorschussKonto
                rechnung.bhDebiKonto = rechnung.buchungsbeleg.sammelkonto
                rechnung.bhBeschrieb = rechnung.buchungsbeleg.buchungstext
                rechnung.bhRabattKonto = vtcapp.getpropertyvalue("RabattKonto")
                rechnung.belegnr = "0"
                rechnung.gebucht = True
      
    vtcapp.updatedatabase()

main(selectedobjects)
Bitte wählen Sie Ihren Standort