Spesen konfigurieren
Mit dem Spesen-Prozess erfassen Mitarbeitende geschäftliche Ausgaben, entweder direkt im invoiceR (Ausgabe erfassen) oder mit der Mobile-App. Neben dem Foto oder Scan des Belegs fragt ein Spesen-Formular weitere Angaben zur Ausgabe ab. Dieses Formular lässt sich stark anpassen und je nach Rolle unterschiedlich gestalten.
| Tabelle | Inhalt |
|---|---|
conf.ExpenseForms | die Formulare, zum Beispiel „Standard“ und „Geschäftsleitung“. Jedes Formular gehört zu einer Rolle. |
conf.ExpenseCategories | die Kategorien einer Ausgabe, zum Beispiel Mittagessen, Autofahrt, Zugfahrt |
conf.ExpenseFields | die Formular-Felder, zum Beispiel Kostenstelle oder Anzahl Personen |
conf.ExpenseFormFields | verknüpft Formulare, Kategorien und Felder |
So läuft eine Erfassung ab:
- Der Benutzer erhält das Formular, auf das er über seine Rollen Zugriff hat.
- Aus
conf.ExpenseFormFieldsergibt sich, welche Kategorien das Formular anbietet. - Der Benutzer wählt eine Kategorie.
- Der invoiceR zeigt die Felder, die für diese Kategorie hinterlegt sind.
Spesen-Optionen am Geschäftsbereich
Abschnitt betitelt „Spesen-Optionen am Geschäftsbereich“Die Kategorien eines Geschäftsbereichs pflegst du in der Oberfläche:
- Öffne
Administration > Geschäftsbereiche. - Klicke beim Geschäftsbereich auf das violette Kreditkarten-Symbol (Spesen-Optionen bearbeiten). Gibt es noch keine Spesen-Optionen, legst du sie per Rechtsklick über Spesen-Optionen an.
Pro Kategorie legst du unter anderem Titel, KI-Beschreibung, Standard-Konto, -Kostenstelle und -Projekt sowie die zugehörigen Felder fest.
Spesen-Formulare
Abschnitt betitelt „Spesen-Formulare“Es kann ein oder mehrere Formulare geben, zum Beispiel ein Standard-Formular und eines für externe
Mitarbeitende. Welche Rolle ein Formular nutzen darf, steht in conf.ExpenseForms.VisibleFilterRoleId.
Weitere Spalten in conf.ExpenseForms:
| Spalte | Bedeutung |
|---|---|
Name, Description | Bezeichnung des Formulars |
BackendUrl | Adresse, an welche die Mobile-App die erfassten Daten sendet. So kann jedes Formular einen eigenen Empfänger haben, zum Beispiel ein Gateway in der DMZ. |
CustomerToken | GUID, an welcher der Empfänger erkennt, zu welchem Kunden die Daten gehören |
IrVersion | Version des Datenformats (zurzeit 0.1.0) |
Formular-Felder
Abschnitt betitelt „Formular-Felder“Der Typ eines Felds steht in conf.ExpenseFields.Type. Je nach Typ sind in conf.ExpenseFields.Options
verschiedene Parameter als JSON möglich.
| Typ | Feld | Optionen |
|---|---|---|
1 Input | einzeiliger Freitext, zum Beispiel „Mittagessen mit Kunde“ | minLength, maxLength, default |
2 Date | Datum, zum Beispiel „Gültig ab“ | allowPast, allowToday, allowFuture (jeweils true/false) |
3 Radio | Auswahl aus festen Werten, zum Beispiel eine Kostenstelle | die Auswahlwerte als Schlüssel und Text |
4 Number | Zahl, zum Beispiel Anzahl Personen | minValue, maxValue, default |
5 Km | Kilometer, mit Hilfe zum Berechnen der Strecke | minValue, maxValue, default |
6 Text | mehrzeiliger Text, zum Beispiel eine Notiz | minLength, maxLength |
7 Hidden | verstecktes Feld, das nicht angezeigt wird | je nach Verwendung |
Beispiele für Options:
{ "minLength": 5, "maxLength": 30, "default": "Essen" }{ "allowPast": true, "allowToday": true, "allowFuture": false }{ "1000": "Kasse", "1010": "Bank", "1020": "Drittkonto" }{ "minValue": 0, "maxValue": 500, "default": 20 }Auswahlwerte dynamisch laden
Abschnitt betitelt „Auswahlwerte dynamisch laden“Manchmal sollen die Auswahlwerte nicht fest im Formular stehen, zum Beispiel weil jeder Benutzer andere
Kostenstellen sieht. Statt für jeden Benutzer ein eigenes Formular anzulegen, füllst du
conf.ExpenseFields.OptionsSource. Der invoiceR lädt dann zusätzlich zu Options weitere Werte.
OptionsSource hat die Form Methode://Parameter. Zurzeit gibt es die Methode SQL: Der Teil nach
:// ist eine Abfrage auf die invoiceR-Datenbank. Die erste Spalte wird zum Schlüssel, die zweite zum
angezeigten Text.
SQL://SELECT [Id], [EmailAddress] FROM [dbo].[AbpUsers] WHERE Id = @UserIdDiese Platzhalter ersetzt der invoiceR vor der Abfrage:
| Platzhalter | Wert |
|---|---|
@UserId | Id des aktuellen Benutzers |
@UserName | Benutzername des aktuellen Benutzers |
@ExpenseCategoryAdditionalStr1 bis @ExpenseCategoryAdditionalStr5 | Zusatzfelder 1 bis 5 der gewählten Kategorie |
