# Invoice Buchungs-Schnittstelle / Zahlung # NAV Buchung via SOAP Die Übergabe kann mit direktem Feedback über eine vordefinierte Schnittstelle erfolgen. # Datenbank-Tabellen Die Übergabe kann über die Standard-Datenbank-Tabellen "Invoice_Posting_Head" und "Invoice_Posting_Pos" erfolgen. # Tabelle "Invoice_Posting_Head" für Kopfdaten Direkt zu Beginn des Workflows wird für jede Rechnung ein Eintrag in der Tabelle "Invoice\_Posting\_Head" erzeugt. Die Tabelle enthält eine Auto-Inkrement-Spalte "ID". Die Daten werden über die eindeutige Mappen-ID (Spalte "FileID") aktualisiert. Diese ID wird in dem gleichnamigen Mappen-Feld "FileID" gespeichert. Die Zeitstempel-Spalte "InsertTS" wird beim initialen "INSERT" mit dem aktuellen Zeitstempel vorbelegt und wird im Anschluss nicht verändert. Die Zeitstempel-Spalte "UpdateTS" wird bei jedem "UPDATE"-Befehl mit dem aktuellen Zeitstempel überschrieben. Die übrigen Spalten-Namen entsprechen den technischen Feldbezeichnungen der Rechnungs-Mappen. In der Feldkonfiguration "Kopf-Felder" kann pro Feld separat konfiguriert werden, ob der Feldwert in die SQL-Tabelle geschrieben werden soll oder nicht. Sollte zu einem Feld noch keine passende Spalte in der Tabelle existieren, so kann die Spalte direkt über die Feldkonfiguration hinzugefügt werden. [](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1601901896286.png) Die Daten werden bei jedem Speichern und nach jeder Weiterleitung aktualisiert. Hierdurch sollten die Daten in der Rechnungs-Mappe fast immer identisch mit den Daten in den Rechnungs-Mappen sein. Einzig Änderungen durch Job-Skripte oder durch projektspezifische benutzerdefinierte Aktion werden nur dann direkt in die Tabelle geschrieben, wenn der Schreib-Befehl in den Skripten explizit ausgeführt wird. Für die Übergabe an das Buchungssystem wird in der Regel nur ein Bruchteil der Informationen benötigt. Die Tabelle kann in den Projekten beliebig angepasst und erweitert werden. Der folgende Aufbau und die folgenden Datentypen entsprechen der MS SQL Variante.
**Spaltenname** | **Datentyp** | **Beschreibung** |
**ID (Key)** | bigint | Auto-Inkrement-Spalte |
**FileID** | nvarchar(50) | Eindeutige Mappen-ID für UPDATE-Befehle |
Barcode | nvarchar(50) | Optional: Barcode-Nummer zur Rechnung |
DateOfReceipt | date | Wird am Mappentypen mit dem aktuellen Tagesdatum vorbelegt |
InvoiceNumber | nvarchar(50) | Externe Rechnungsnummer |
InvoiceCreditVoucher | nvarchar(15) | "invoice" für Rechnung bzw. "creditvoucher" für Gutschriften |
InvoiceDate | date | Rechnungsdatum |
DueDate | date | Fälligkeitsdatum |
ServiceDate | date | Leistungsdatum |
Principal | nvarchar(50) | Mandanten-Nummer |
CompanyCode | nvarchar(50) | Buchungskreis-Nummer |
CreditorID | nvarchar(50) | Kreditor ID |
CreditorName | nvarchar(100) | Kreditor Bezeichnung |
Creditor\_Street | nvarchar(200) | Kreditor-Anschrift: Straßenname |
Creditor\_City | nvarchar(100) | Kreditor-Anschrift: Stadt |
Creditor\_PostCode | nvarchar(50) | Kreditor-Anschrift: Postleitzahl |
Creditor\_Country | nvarchar(50) | Kreditor-Anschrift: Land |
Creditor\_Mail | nvarchar(50) | Kreditor Mail-Adresse |
Creditor\_Phone | nvarchar(50) | Kreditor Telefonnummer |
SenderMail | nvarchar(50) | Absender-Adresse bei Mail-Rechnungen |
BankName | nvarchar(150) | Kontoverbindung: Bank-Name |
BankAccountHolder | nvarchar(150) | Kontoverbindung: Konto-Inhaber |
IBAN | nvarchar(50) | Kontoverbindung: IBAN |
BIC | nvarchar(50) | Kontoverbindung: BIC |
BankID | nvarchar(50) | Kontoverbindung: Bankleitzahl |
BankAccountID | nvarchar(50) | Kontoverbindung: Kontonummer |
Net | decimal(18,2) | Netto-Betrag |
Gross | decimal(18,2) | Brutto-Betrag |
Tax | decimal(18,2) | Steuer-Betrag |
Net1 | decimal(18,2) | Netto zum MwSt-Satz 1 |
VatCode1 | nvarchar(100) | MwSt-Code 1 |
VatRate1 | decimal(18,2) | MwSt-Satz 1 |
Tax1 | decimal(18,2) | Steuer zum MwSt-Satz 1 |
Net2 | decimal(18,2) | Netto zum MwSt-Satz 2 |
VatCode2 | nvarchar(100) | MwSt-Code 2 |
VatRate2 | decimal(18,2) | MwSt-Satz 2 |
Tax2 | decimal(18,2) | Steuer zum MwSt-Satz 2 |
Net3 | decimal(18,2) | Netto zum MwSt-Satz 3 |
VatCode3 | nvarchar(100) | MwSt-Code 3 |
VatRate3 | decimal(18,2) | MwSt-Satz 3 |
Tax3 | decimal(18,2) | Steuer zum MwSt-Satz 3 |
ReducedNet | decimal(18,2) | Netto gekürzt |
ReducedGross | decimal(18,2) | Brutto gekürzt |
ReducedTax | decimal(18,2) | Steuer gekürzt |
DiscountNet | decimal(18,2) | Rabatt Netto |
DiscountGross | decimal(18,2) | Rabatt Brutto |
DiscountTax | decimal(18,2) | Rabatt Steuer |
DiscountRate | decimal(18,2) | Rabatt-Rate |
AmountEligibleForCashDiscountNet | decimal(18,2) | Skontofähiger Betrag Netto |
AmountEligibleForCashDiscountGross | decimal(18,2) | Skontofähiger Betrag Brutto |
Currency | nvarchar(5) | Währung (ISO-Code 4217) |
HasOrder | bit | Angabe ob die Rechnung einen Bestellbezug hat |
DivergentOrderCreditor | bit | Angabe ob die Bestellung bei einem abweichenden Lieferanten erfolgt ist |
OrderNumber | nvarchar(250) | Bestellnummer(n) |
OrderCheck | bit | Ergebnis der Prüfung gegen die Bestellung |
GoodsReceiptCheck | bit | Ergebnis der Prüfung gegen den Wareneingang |
ThreeWayMatchCheck | bit | Ergebnis 3-Way-Match |
IgnoreOrderLimitErrors | bit | Angabe ob Fehler bei Limit Bestellungen ignoriert werden sollen |
DeliveryNoteID | nvarchar(250) | Lieferschein-Nummern |
Subject | nvarchar(250) | Betreff bei Mail-Eingang |
OwnCustomerID | nvarchar(50) | Eigene Kundennummer beim Lieferanten |
Department | nvarchar(50) | Interne Abteilung |
Comment | nvarchar(MAX) | Angaben aus dem Kommentar-Historien-Feld |
AssignedUsers | nvarchar(1500) | Liste aus Benutzern bei manueller Zuordnung |
AssignedUser | nvarchar(50) | Manuell zugeordneter Benutzer |
SqueezeID | nvarchar(50) | Eindeutige ID aus Squeeze |
SqueezeStatus | nvarchar(20) | Squeeze Status |
WorkflowID | nvarchar(50) | Technischer Workflow-Name |
WorkflowStart | datetime | Workflow-Start |
WorkflowEnd | datetime | Workflow-Ende |
ActionID | nvarchar(50) | Technischer Workflow-Aktions-Name |
ActionStatus | nvarchar(50) | Status zur Workflow-Aktion |
ActionStatus2 | nvarchar(50) | Status2 zur Workflow-Aktion |
ActionStart | datetime | Zeitstempel für den Beginn der Aktion |
ActionTask | nvarchar(150) | Aufgabenbeschreibung für die aktuelle Aktion |
ActionUser | nvarchar(75) | Login zum aktuell sperrenden Benutzer |
ActionAccessProfile | nvarchar(75) | Technischer Zugriffsprofil-Name der aktuell sperrenden Gruppe |
ActionHeadRule | nvarchar(50) | Workflow-Regel ID |
ActionRulesHelper | nvarchar(50) | Technische Informationen |
ActionInfoJSON | nvarchar(MAX) | JSON-String mit Informationen zur aktuellen Workflow-Aktion |
AskQuestionUser | nvarchar(75) | Benutzer-Login bei einer Rückfrage |
TechAccessProfile | nvarchar(75) | Name technisches Zugriffsprofil für technische Workflow-Aktionen |
Rights | nvarchar(MAX) | GACL-Zurgiffsberechtigungen |
RightsInitial | nvarchar(MAX) | Initiale Zugriffsberechtigungen |
PrePostingStatus | nvarchar(20) | Status für Vorerfassung ("workflow", "ready", "transfer", "transferred", "preposted", "error") |
PrePostingNumber | nvarchar(50) | ID Vorerfassung |
PrePostingUser | Benutzer für die Vorerfassung | |
**PostingStatus** | nvarchar(20) | Buchungs-Status ("workflow", "ready", "transfer", "transferred", "posted", "error", "disqualified") |
**PostingNumber** | nvarchar(50) | Buchungsnummer |
PostingKey | nvarchar(500) | Technischer Schlüssel bei Übertragung via SOAP |
PostingText1 | nvarchar(250) | Buchungstext 1 |
PostingText2 | nvarchar(250) | Buchungstext 2 |
PostingError | nvarchar(250) | Fehlermeldung bei der Buchung |
PostingPeriod | nvarchar(50) | Buchungsperiode |
PostingDate | date | Buchungsdatum |
PostingUser | nvarchar(75) | Benutzer für Buchung |
ConditionsOfPayment\_ID | nvarchar(50) | Zahlungsbedingung ID |
ConditionsOfPayment\_NetDays | int | Zahlungsbedingung Netto: Anzahl an Tagen |
ConditionsOfPayment\_NetDate | date | Zahlungsbedingung Netto: Berechnetes Datum |
ConditionsOfPayment\_NetSign | nvarchar(50) | Zahlungsbedingung Netto: Symbol für Eskalation |
ConditionsOfPayment\_Percent1 | decimal(18,2) | Zahlungsbedingung Stufe 1: Prozentangabe |
ConditionsOfPayment\_Days1 | int | Zahlungsbedingung Stufe 1: Anzahl an Tagen |
ConditionsOfPayment\_Date1 | date | Zahlungsbedingung Stufe 1: Berechnetes Datum |
ConditionsOfPayment\_1Sign | nvarchar(50) | Zahlungsbedingung Stufe 1: Symbol für Eskalation |
PaymentStatus | nvarchar(50) | Status der Zahlung ("unpaid", "payblock", "releasepayblock", "paid", "cash") |
PaymentBlockReason | nvarchar(250) | Grund für die Zahlsperre |
PaymentID | nvarchar(50) | ID für den Zahlungsvorgang |
PaymentList | nvarchar(50) | ID für die Zahlungsvorschlagsliste |
PaymentDate | date | Zahldatum |
DuplicateState | nvarchar(50) | Dublette Status ("unique", "duplicate", "allowed") |
DuplicateInfo | nvarchar(250) | Info zur Zulassung der Rechnungs-Dublette |
InvoiceID | nvarchar(50) | Interne ID |
ArchiveKey | nvarchar(250) | Archiv-Schlüssel |
InsertTS | datetime | Zeitstempel initialer INSERT |
UpdateTS | datetime | Zeitstempel letztes UPDATE |
**Status** | **Beschreibung** |
workflow | Initialer Status. Der Beleg befindet sich im Workflow und wurde noch nicht gebucht. |
ready | Der Status signalisiert, dass der Datensatz bereit zur Abholung ist. |
transfer | Optionaler Zwischen-Status, der beim Transfer-Start gesetzt werden kann. |
transferred | Optionaler Zwischen-Status, der nach dem Transfer gesetzt werden kann. |
posted | Status für gebuchte Rechnungen. |
error | Status für Fehler beim buchungsvorgang. |
disqualified | Status für ausgesteuerte Rechnungen. |
Am Workflow-Ende wird der Buchungs-Status im UserExit "**ue\_CheckFileDataAtTheEndOfTheWorkflow()**" nochmals überprüft. hierdurch soll verhindert werden, dass Rechnungen ohne Übergabe an das Buchungssystem durch den Workflow laufen. Aus diesem Grund sollte der Buchungs-Status in der Tabelle auch dann auf "posted" gesetzt werden, wenn die Buchungs-Daten über andere Wege übertragen werden!
**Status** | **Beschreibung** |
workflow | Initialer Status. Der Beleg befindet sich im Workflow und wurde noch nicht vorerfasst. |
ready | Der Status signalisiert, dass der Datensatz bereit zur Abholung ist. |
transfer | Optionaler Zwischen-Status, der beim Transfer-Start gesetzt werden kann. |
transferred | Optionaler Zwischen-Status, der nach dem Transfer gesetzt werden kann. |
preposted | Status für vor-erfasste Rechnungen. |
error | Status für Fehler bei der Vor-Erfassung. |
**Status** | **Beschreibung** |
unpaid | Initialer Bezahl-Status. |
payblock | Status für eine Zahlsperre. |
releasepayblock | Rückmeldung, dass eine Zahlsperre entfernt werden kann (für projektspezifische Umsetzungen). |
paid | Status für eine bezahlte Rechnung. |
cash | Status für eine bar bezahlte Rechnung. |
**Spaltenname** | **Datentyp** | **Beschreibung** |
**ID (KEY)** | bigint | Auto-Inkrement-Spalte |
**FileID** | nvarchar(100) | Eindeutige ID zur Rechnungs-Mappe bzw. Kombination aus der ID einer Split-Mappe und der Hauptmappe bei Rechnungs-Splits. |
LineNumber | int | Rechnungs-Zeilennummer |
SqueezePosNo | int | In Squeeze erkannte Zeilennummer (noch ohne Funktion - ggf. zum Markieren von erkannten Rechnungspositionen auf der Rechnung) |
ExtraLine | bit | Angabe, ob es sich um eine Zu-/Abschlagszeile handelt. |
Principal | nvarchar(50) | Zeilen-Mandant |
CompanyCode | nvarchar(50) | Zeilen-Buchungskreis |
OrderError | nvarchar(500) | Fehlermeldung bei Bestellabweichung |
GoodsReceiptError | nvarchar(500) | Fehlermeldung bei Abweichung zum Wareneingang |
GoodsReceiptCheck | bit | Ergebnis der Prüfung gegen den Wareneingang |
GoodsReceiptID | nvarchar(100) | Wareneingangs-ID |
GoodsReceiptPosition | nvarchar(100) | Wareneingangs-Positionsnummer |
DeliveryNoteID | nvarchar(50) | Lieferscheinnummer |
OrderNumber | nvarchar(100) | Bestellnummer |
OrderPos | nvarchar(100) | Bestellposition (die Kombination aus Bestellnummer + Bestellposition muss zwingend eindeutig sein) |
ArticleCode | nvarchar(100) | Artikelnummer vom Lieferanten |
ArticleCodeIntern | nvarchar(100) | Artikelnummer intern |
ArticleDescription | nvarchar(500) | Artikelbeschreibung |
ArticleDescriptionOrder | nvarchar(500) | Artikelbeschreibung bei der Bestellung |
ProductGroup | nvarchar(50) | Produktgruppe |
OrderDate | date | Bestelldatum |
DeliveryDate | date | Tatsächliches Lieferdatum |
DeliveryDateExpected | date | Erwartetes Lieferdatum |
RequesterLogin | nvarchar(75) | Login des Bestell-Anforderers |
DebitCredit | nvarchar(10) | Soll ("debit") oder Haben ("credit") |
Quantity | decimal(18,5) | Menge |
QuantityReduced | decimal(18,5) | Reduzierte Menge |
QuantityOrdered | decimal(18,5) | Bestellte Menge |
QuantityDelivered | decimal(18,5) | Gelieferte Menge |
QuantityOpen | decimal(18,5) | Offene Bestellmenge |
QuantityUnit | nvarchar(50) | Mengeneinheit |
QuantityUnitOrdered | nvarchar(50) | Bestellte Mengeneinheit |
Price | decimal(18,3) | Preis |
PriceOrdered | decimal(18,3) | Preis bei Bestellung |
PriceUnit | decimal(18,5) | Preiseinheit |
PriceUnitOrdered | decimal(18,5) | Preiseinheit bei Bestellung |
Net | decimal(18,3) | Nettobetrag |
Currency | nvarchar(10) | Währung |
CurrencyChangeRate | decimal(18,6) | Wechselkurs |
NetPrincipal | decimal(18,3) | Nettobetrag in Währung des Mandanten |
CurrencyPrincipal | nvarchar(10) | Währung des Mandanten |
VatRate | decimal(18,2) | Mwst-Satz |
VatCode | nvarchar(100) | MwSt-Code |
VatRate2 | decimal(18,2) | MwSt-Satz 2 |
VatCode2 | nvarchar(100) | MwSt-Code 2 |
Tax | decimal(18,2) | Steuerbetrag |
Gross | decimal(18,2) | Bruttobetrag |
DiscountRate | decimal(18,2) | Rabatt in Prozent |
DiscountNet | decimal(18,3) | Netto nach Rabatt |
DiscountGross | decimal(18,3) | Brutto nach Rabatt |
DiscountTax | decimal(18,3) | Steuer nach Rabatt |
ReductionRate | decimal(18,2) | Kürzungsrate in Prozent |
ReductionNet | decimal(18,3) | Netto Kürzung um |
ReducedNet | decimal(18,3) | Netto gekürzter Betrag |
ReductionGross | decimal(18,3) | Brutto Kürzung um |
ReducedGross | decimal(18,3) | Brutto gekürzter Betrag |
ReductionTax | decimal(18,3) | Steuer Kürzung um |
ReducedTax | decimal(18,3) | Steuer gekürzter Betrag |
AmountEligibleForCashDiscountNet | decimal(18,3) | Skonto-Fähiger Betrag Netto |
AmountEligibleForCashDiscountGross | decimal(18,3) | Skonto-Fähiger Betrag Brutto |
GLAccount | nvarchar(50) | Sachkonto ID |
GLAccount\_Desc | nvarchar(150) | Sachkonto Beschreibung |
CostCenter | nvarchar(50) | Kostenstelle |
CostCenter\_Desc | nvarchar(150) | Kostenstelle Beschreibung |
CostCenter\_Responsible | nvarchar(150) | Kostenstellenverantwortlicher |
CostUnit | nvarchar(50) | Kostenträger |
CostUnit\_Desc | nvarchar(150) | Kostenträger Beschreibung |
Custom1 | nvarchar(50) | Projektspezifisches Feld für Kontierung 1 |
Custom1\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 1 Beschreibung |
Custom2 | nvarchar(50) | Projektspezifisches Feld für Kontierung 2 |
Custom2\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 2 Beschreibung |
Custom3 | nvarchar(50) | Projektspezifisches Feld für Kontierung 3 |
Custom3\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 3 Beschreibung |
Custom4 | nvarchar(50) | Projektspezifisches Feld für Kontierung 4 |
Custom4\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 4 Beschreibung |
Custom5 | nvarchar(50) | Projektspezifisches Feld für Kontierung 5 |
Custom5\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 5 Beschreibung |
Custom6 | nvarchar(50) | Projektspezifisches Feld für Kontierung 6 |
Custom6\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 6 Beschreibung |
Custom7 | nvarchar(50) | Projektspezifisches Feld für Kontierung 7 |
Custom7\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 7 Beschreibung |
Custom8 | nvarchar(50) | Projektspezifisches Feld für Kontierung 8 |
Custom8\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 8 Beschreibung |
Custom9 | nvarchar(50) | Projektspezifisches Feld für Kontierung 9 |
Custom9\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 9 Beschreibung |
Custom10 | nvarchar(50) | Projektspezifisches Feld für Kontierung 10 |
Custom10\_Desc | nvarchar(150) | Projektspezifisches Feld für Kontierung 10 Beschreibung |
OrderLimitCheckbox | bit | Angabe ob ein Bestell-Limit geprüft werden soll |
OrderLimitAmount | decimal(18,2) | Limit-Betrag |
OrderCustomBit1 | bit | Projektspezifisches zusätzliches Bit-Feld für Bestelldaten |
OrderCustomBit2 | bit | Projektspezifisches zusätzliches Bit-Feld für Bestelldaten |
OrderCustomDate1 | date | Projektspezifisches zusätzliches Datums-Feld für Bestelldaten |
OrderCustomDate2 | date | Projektspezifisches zusätzliches Datums-Feld für Bestelldaten |
OrderCustomDatetime1 | datetime | Projektspezifisches zusätzliches Zeitstempel-Feld für Bestelldaten |
OrderCustomNumeric1 | decimal(18,2) | Projektspezifisches zusätzliches Betrags-Feld für Bestelldaten |
OrderCustomNumeric2 | decimal(18,2) | Projektspezifisches zusätzliches Betrags-Feld für Bestelldaten |
OrderCustomString1 | nvarchar(50) | Projektspezifisches zusätzliches String-Feld für Bestelldaten |
OrderCustomString2 | nvarchar(50) | Projektspezifisches zusätzliches String-Feld für Bestelldaten |
OrderCustomString3 | nvarchar(50) | Projektspezifisches zusätzliches String-Feld für Bestelldaten |
StampCheckboxValidation | bit | Prüfstempel Checkbox Validierung |
StampDatetimeValidation | datetime | Prüfstempel Zeitstempel Validierung |
StampLoginValidation | nvarchar(75) | Prüfstempel Login Validierung |
StampNameValidation | nvarchar(150) | Prüfstempel Name Validierung |
StampCheckboxFinalCheck | bit | Prüfstempel Checkbox Finale Prüfung |
StampDatetimeFinalCheck | datetime | Prüfstempel Zeitstempel Finale Prüfung |
StampLoginFinalCheck | nvarchar(75) | Prüfstempel Login Finale Prüfung |
StampNameFinalCheck | nvarchar(150) | Prüfstempel Name Finale Prüfung |
StampCheckboxAppr1 | bit | Prüfstempel Checkbox Prüfung 1 |
StampDatetimeAppr1 | datetime | Prüfstempel Zeitstempel Prüfung 1 |
StampLoginAppr1 | nvarchar(75) | Prüfstempel Login Prüfung 1 |
StampNameAppr1 | nvarchar(150) | Prüfstempel Name Prüfung 1 |
...2-5 | ...weitere Prüfstempel 2-5 | |
StampCheckboxRel1 | bit | Prüfstempel Checkbox Freigabe 1 |
StampDatetimeRel1 | datetime | Prüfstempel Zeitstempel Freigabe 1 |
StampLoginRel1 | nvarchar(75) | Prüfstempel Login Freigabe 1 |
StampNameRel1 | nvarchar(150) | Prüfstempel Name Freigabe 1 |
...2-5 | ...weitere Prüfstempel 2-5 | |
StampCheckboxCust1 | bit | Prüfstempel Checkbox projektspezifisch 1 |
StampDatetimeCust1 | datetime | Prüfstempel Zeitstempel projektspezifisch 1 |
StampLoginCust1 | nvarchar(75) | Prüfstempel Login projektspezifisch 1 |
StampNameCust1 | nvarchar(150) | Prüfstempel Name projektspezifisch 1 |
...2-5 | ...weitere Prüfstempel 2-5 | |
InsertTS | datetime | Zeitstempel für initialen Insert |
UpdateTS | datetime | Update Zeitstempel |
WorkStatus | nvarchar(10) | Arbeitstatus für Insert und Update (technisch) |
Der Status darf erst auf "ready" umgestellt werden, wenn alle projektspezifischen Anpassungen erfolgreich durchgelaufen sind!
Nach dem Schreiben in die Datenbank kann eine weitere projektspezifische Verarbeitung angefügt werden. Die Rechnungswerte können zum Beispiel zusätzlich in einem definierten Dateiformat in ein Übergabe-Verzeichnis abgelegt werden oder können zusätzlich in eine weitere Tabelle geschrieben werden oder können via WEB-Service direkt das Zielsystem gesendet werden. [](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1603090253251.png) Im Anschluss wird die Rechnungs-Mappe an die im Feld "TechAccessProfile" hinterlegte Gruppe weitergeleitet. Im Standard steht die gleichnamige Gruppe im Feld. Das Feld "ActionStatus" wird auf den Wert "TechActionJob" gesetzt. Über diesen Wert zusammen mit dem Wert "Posting" aus dem Feld "ActionID" können die Mappen leicht gefiltert werden. [](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1603093771819.png) An dieser Stelle wird bewusst auf den Signaleingang verzichtet. Bei einem Signaleingang wird das hinterlegte Prüfskript alle 5 Minuten pro wartende Mappe ausgeführt. Das kann unter Umständen zu Performance-Problemen führen. Häufig werden alle bereitgestellten Daten nur einmal am Tag in einem Zug an das Zielsystem übertragen. Die Rückmeldung kann in vielen Fällen effizienter durch ein Job-Skript abgebildet werden. Das Job-Skript "**Invoice\_JOB\_CheckPostingStatus**" überprüft den Status in der Tabelle und leitet die Mappen beim Status "posted" weiter im Workflow. Beim Status "error" wird an die im Feld "ActionAccessProfile" hinterlegte Gruppe weitergeleitet und das Feld "ActionStatus" wird bei Eingang in die Aktion auf "TechActionError" gesetzt. Das Feld "ActionAccessProfile" wird übrigens in der UserExit-Funktion "ue\_Post()" gesetzt und kann auf eine beliebige Gruppe geändert werden. Das Job-Skript ist in der Standard-Auslieferung nicht aktiv und kann auf beliebige Ausführungszeitpunkte konfiguriert werden. Hierfür muss die Checkbox "Als Job starten" auf dem Register "Job" aktiviert werden. Job-Skripte können entweder zu fest definierten Zeitpunkten oder im Intervall ausgeführt werden. Falls das kürzeste Intervall "Viertelstündlich" nicht ausreichend sein sollte kann über die bereits gesetzte Eigenschaft "frequency" ein noch häufigeres Intervall konfiguriert werden (Angabe in Minuten). [](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1603094666050.png)[Die voreingestellte "frequency" von einer Minute ist für Demo-Systeme und für ](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1603094666050.png)die Testphase vor der Produktivsetzung hilfreich. Beim Go-Live sollte die Ausführungshäufigkeit sinnvoll neu konfiguriert werden.
[](https://docs.squeeze.one/uploads/images/gallery/2020-10/image-1603094815067.png)