---
title: "Makros für Rechnungen"
---
- [Ablauf](#MakrosfürRechnungen-Ablauf)
- [Variablen](#MakrosfürRechnungen-Variablen)
    - [Operation (integer)](#MakrosfürRechnungen-Operation(integer))
    - [ID (integer)](#MakrosfürRechnungen-ID(integer))
    - [IDList ([integer])](#MakrosfürRechnungen-IDList([integer]))
    - [SplitIndex (integer)](#MakrosfürRechnungen-SplitIndex(integer))
- [Abfolge der Operationen](#MakrosfürRechnungen-AbfolgederOperationen)

# Ablauf

Nach verschiedenen Operationen wird jeweils das Makro aufgerufen, welches in den globalen Fakturierungsvorgaben eingestellt ist. Damit ist es möglich, je nach Operation noch individuelle Änderungen vorzunehmen.

# Variablen

## Operation (integer)

Die aktuelle Operation gemäss der folgenden Tabelle.

| **Wert** | **Beschreibung** |
| --- | --- |
| 0 | Rechnung wurde erzeugt (vor der Aufteilung in allfällige Splits und Ratenrechnungen) |
| 1 | Rechnung wurde aufgeteilt |
| 2 | Rechnung wurde zusammengefasst |
| 3 | Rechnung wurde in Raten aufgeteilt |
| 4 | Rechnungsraten wurden zusammengefasst |
| 5 | Rechnungen wurden exportiert (siehe IDList) |
| 6 | Rechnungen wurden ausgelöst, nach der entsprechenden Abfrage, ob wirklich definitiv aber vor der Archivierung (siehe IDList) |
| 7 | Rechnungen wurden zurückgesetzt (siehe IDList) |
| 8 | Rechnungen wurden gutgeschrieben (siehe IDList) |
| 9 | Kundendaten sollen exportiert werden (siehe IDList) |
| 10 | Rechnungen sollen exportiert werden (siehe IDList) |
| 11 | Vor der Aufbereitung der Personenprodukte und vor einer allfälligen Behandlung von Kombinationsprodukten (siehe IDList) |
| 12 | Nach der Behandlung von Kombinationsprodukten (siehe IDList) |
| 13 | Bestimmen und setzen der Email-Adresse für Rechnungsversand auf SSB_Invoice |
| 14 | Eine Rechnungsposition wurde erstellt |

## ID (integer)

Diese Variable hat je nach Operation eine andere Bedeutung.

| **Operation** | **Datentyp** | **Beschreibung** |
| --- | --- | --- |
| 0 - 4 | SSF_TotalInvoiceID | ID der Gesamtrechnung |
| 5 - 13 | ? | ? |
| 14 | SSF_InvoiceItem | Eine ID der Rechnungsposition |

## IDList ([integer])

Diese Variable hat je nach Operation eine andere Bedeutung.

| **Operation** | **Datentyp** | **Beschreibung** |
| --- | --- | --- |
| 5 - 8, 10, 13 | [SSF_InvoiceID] | die Liste der Rechnungen |
| 9 | [SSP_AddressRoleID] | die Liste der Kunden |
| 11, 12 | [SSF_PersonProductID] | die Liste der Personenprodukte, die verarbeitet werden |

## SplitIndex (integer)

Diese Variable hat nur für die Operation 3 eine Bedeutung. Bei allen anderen Operationen ist der Wert 0.

| **Operation** | **Datentyp** | **Beschreibung** |
| --- | --- | --- |
| 3 | integer | der Split Index |

# Abfolge der Operationen

Im Verlauf des Rechnungsvorbereitungsprozesses ist die Abfolge der Operationen die Folgende:

- 11 (immer)
- 12 (immer)
- pro Rechnungsposition:
    - Aufruf von allfälligem Produkt-Makro (wenn vorhanden)
    - 14 (immer)
- 0 (immer)
- 1 (nur wenn Splits gemacht werden)
- 3 (nur wenn Raten erstellt werden)
