Script: invoice to posted / canceled

<po>This script sets an invoice to posted or cancelled without transferring data to accounting.

 

</po>

This script sets an invoice to posted or cancelled again without transferring data to accounting.

During the posting process, certain values are fixed in Vertec. This script simulates this process. If the invoice has already been posted, it is cancelled, otherwise posted.

version description Script
6.0 Script for Vertec versions before 6.7.0.12 and for running in Script Editor for all versions. Invoiceusedcancelledset.py
6.7.0.12 Used selectedobjects. Postcancelinvoicewithoutfar.py

Execute

On an invoice or list of invoices that you want to set to posted/cancelled.

Only settled invoices are taken into account.

Script Text

 # 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)

Netherlands

United Kingdom