Zum Inhalt springen

Datenbank-Tabellen

Diese Seite beschreibt eine Auswahl von Tabellen, die bei Analyse, Support und Anbindung von Umsystemen häufig gebraucht werden. Die Übersicht über die Schemas steht unter Datenbank. Alle Tabellen haben eine Spalte Id; die meisten zusätzlich TenantId für den Mandanten.

Ein Eintrag pro Beleg mit den Kopfdaten der Rechnung.

SpalteBedeutung
ExternalIdBelegnummer oder Barcode für die Benutzer. Muss technisch nicht eindeutig sein.
ProcessIdProzess des Belegs (conf.Processes), zum Beispiel Gemeinkosten oder Materialwirtschaft.
CurrencyCodeWährung. Für jede verwendete Währung sollte ein Wechselkurs in Mstr.CurrencyExchangeRates bestehen.
DocDateRechnungsdatum.
ImportDateZeitpunkt des Imports.
SupplierIdLieferant (Mstr-Stammdaten).
GrossAmountTotalBruttobetrag total.
EsrAccount, EsrReference, EsrCodeLineKonto, Referenz und Codierzeile eines Einzahlungsscheins. Bei QR-Rechnungen stehen die Daten in PaymentReference und QrCodeContent.
LastInitializedNodeIdAktueller Workflow-Schritt.

Aufgaben im Workflow. Jede Aufgabe gehört zu einem Beleg und ist einem Benutzer oder einer Rolle zugewiesen.

Positionen (Kontierungszeilen) eines Belegs mit Konto, Kostenstelle und Betrag.

Verlauf eines Belegs: wer wann welchen Schritt ausgeführt hat.

Nachrichten und Kommentare zu einem Beleg (Spalten Message, IrCaseId, CreatedUserId, CreatedDateUtc).

Erteilte beziehungsweise abgelehnte Visa pro Position (IrItemLineId), mit Benutzer (UserId), Stufe und bei Ablehnungen dem Grund (Reason).

Abwesenheiten der Benutzer (UserId, StartDateUtc, EndDateUtc).

Warteschlange der E-Mails, die der invoiceR versendet (ReceiverEmail, Subject, SentDate). Ist SentDate leer, wurde die E-Mail noch nicht verschickt.

Alternative Schreibweisen (SourceText, AlternativeText), zum Beispiel für die Erkennung von Begriffen.

Ein Eintrag pro Dokument, das der invoiceR abgelegt hat. Das PDF selbst liegt in der Ablage, nicht in der Datenbank.

SpalteBedeutung
FileNameUrsprünglicher Dateiname beim Hochladen.
RepositoryHandleKennung des Dokuments in der Ablage, zum Beispiel Dateipfad oder Dokument-ID des Archivs.
DocumentType1 Rechnung, 2 Beilage, 3 Report, 4 Dokument.
DocumentRepositoryIdVerwendete Ablage (conf.DocumentRepositories).
IrCaseIdZugehöriger Beleg.

Die Spalten Name, MimeType, Description, FileSize und IconType werden derzeit nicht ausgewertet.

Ein Eintrag pro Dokument, das an eine Texterkennung (zum Beispiel Parashift) geschickt wird.

SpalteBedeutung
State1 vorgemerkt, 2 in Bearbeitung, 3 abgeschlossen, 4 Fehler.
DocumentRecogniserIdVerwendete Texterkennung (conf.DocumentRecognisers).
ServiceHandleKennung des Dokuments beim Erkennungsdienst, für spätere Statusabfragen.
LastLogLetzte Meldung zur Erkennung.
StartTimeUtc, EndTimeUtcBeginn und Ende der Erkennung.
IrCaseIdZugehöriger Beleg.

Legt fest, welcher Benutzer welchen Beleg im Archiv öffnen darf. Gibt es für Benutzer und Beleg einen Eintrag, ist das Öffnen erlaubt. Die Tabelle kann sehr gross werden. Die Einträge berechnet ein wiederkehrender Job mit der Stored Procedure dbo.CalculateCaseReadRightsForUser.

SpalteBedeutung
IrCaseIdBeleg.
UserIdBenutzer.
IrCaseReadRightTypeGrund des Eintrags: 1 Verlauf, 2 Aufgaben-Inhaber, 3 Ziel der Zuweisung, 4 Ziel des Visums. Die Standard-Prozedur setzt immer 1.
CreatorId, ContextOptional, zur Unterscheidung verschiedener Quellen. Werden derzeit nicht ausgewertet.

Angebundene Ablagen und Archive. Beschreibung unter Dokumentablage und Archiv.

Wiederkehrende Jobs. Beschreibung unter Wiederkehrende Jobs.

Erfassungs-Karten auf der Seite Reporte. Beschreibung unter Beleg-Erfassung einrichten.

Konfiguration von Hintergrund-Komponenten als JSON in Configuration, zum Beispiel für den E-Mail-Import (siehe Postfach-Anbindung).

Ordner, aus denen der invoiceR Dateien als neue Belege importiert (WatchPath, Enabled). Weitere Spalten legen Vorgabewerte für die Belege fest (DefaultMandatorCode, DefaultProcessType, DefaultInvoiceType, DefaultSupplierCode) und ob Dokumente aufgeteilt werden. Für das Aufteilen eines PDFs in mehrere Belege anhand von Trennseiten enthält DocumentSplitting ein JSON:

{
"SplitDocuments": true,
"DocumentSeparators": [ "InvoiceR" ]
}

Zusätzliche Schaltflächen bei einzelnen Feldern im Kontierungs-Formular (Name, Location, OptsIcon, OptsOnClick, AccountingFieldId, EnabledPermission).

Schnittstelle für Umsysteme, die neue Belege anliefern. Das Umsystem schreibt eine Zeile, der invoiceR übernimmt sie kurz darauf als Beleg.

  • IndexedDate und ProcessedDate bleiben beim Einfügen leer (NULL). Der invoiceR setzt IndexedDate, wenn er den Import startet, und ProcessedDate, wenn der Beleg erfolgreich angelegt ist. Bleibt ProcessedDate auch nach einigen Minuten leer, steht der Grund im Protokoll des Import-Jobs im Hangfire Dashboard.
  • Nicht erkannte Werte als NULL übergeben, nicht als leere Zeichenfolge.
SpalteBedeutung
TenantIdMandant, in der Regel 1.
ExternalIdBelegnummer. In Absprache mit enio auch leer, dann vergibt die Datenbank eine Nummer.
MandatorCodeBuchungskreis oder Mandant im ERP.
ProcessTypeGK für Gemeinkosten (Standard), MM für Rechnungen mit Bestellbezug.
DocFilePathOrt des PDFs: Dateipfad, UNC-Pfad oder Adresse mit Schema wie https://….
DocDate, ImportDateRechnungsdatum und Importzeitpunkt.
CurrencyCodeWährung, zum Beispiel CHF.
SupplierCodeLieferantennummer.
GrossAmountTotalBruttobetrag total. Genügt, wenn keine Mehrwertsteuer ausgewiesen werden muss.
GrossAmount1…4, NetAmount1…4, VatAmount1…4, VatRate1…4Beträge pro Mehrwertsteuersatz. Bei einem Satz nur die Felder mit 1 füllen, bei zwei Sätzen zusätzlich 2 und so weiter.
InvoiceTypeR für Rechnung.
OrderNumbers, DeliveryNumbersBei MM: erkannte Bestell- und Liefernummern als JSON-Array, zum Beispiel ["B-2910","B-1001"].
INSERT INTO imp.IrCaseImports
(TenantId, ExternalId, MandatorCode, ProcessType, DocFilePath, CurrencyCode,
DocDate, ImportDate, SupplierCode, GrossAmount1, NetAmount1, VatAmount1, VatRate1,
GrossAmountTotal, InvoiceType)
VALUES
(1, N'2026-000123', N'100', N'GK', N'\\<server>\Import\rechnung-123.pdf', N'CHF',
'2026-05-28', CURRENT_TIMESTAMP, N'10020', 108.10, 100.00, 8.10, 8.1,
108.10, N'R');

Bestell- und Lieferbezüge aus einem Umsystem (ExternalIrCaseId, ExternalOrderId, OrderDate, ExternalDeliveryId, DeliveryDate). ProcessedDateUtc setzt der invoiceR nach der Übernahme.