XIndex

Help Center

Dokumentation

1. Einführung

XRSF ermöglicht die nahtlose Erstellung und intelligente Verarbeitung von Rechnungen direkt in Salesforce. Das Tool unterstützt die Generierung von XML-basierten E-Rechnungen und automatisiert die zeiteffiziente und konsistente Zuordnung eingehender Rechnungsdaten zu deinen Salesforce-Datensätzen.

Die folgende Dokumentation gibt dir detaillierte Informationen zur App und beschreibt alle Schritte, die bezüglich Installation und Konfiguration zum erfolgreichen Einsatz von XRSF notwendig sind.

Du hast Fragen oder benötigst Unterstützung bei der Einrichtung? Schreibe uns einfach eine Email an support@xrsf.de und wir helfen dir umgehend weiter.

Hinweis: Für Supportleistungen im Zusammenhang mit der Erstellung von Dokumenten und Templates fallen zusätzliche Kosten an.

1.1. Funktionen

XRSF bietet dir folgende Funktionalitäten direkt in deiner eigenen Salesforce-Umgebung:

  • Effiziente Erstellung von XML-basierten E-Rechnungen und automatisierte Verarbeitung eingehender E-Rechnungsdateien, alles innerhalb von Salesforce.
  • Reduktion von manuellem Aufwand durch automatisierte Datenzuordnung von Rechnungsinhalten zu Salesforce-Datensätzen
  • Minimierung von Eingabefehlern durch konsistente und zuverlässige Datenübertragung.

Sämtliche Funktionalitäten sind durch Salesforce-native Automationsmöglichkeiten vollständig automatisierbar. XRSF lässt sich dabei nahtlos in Flows, Apex und anderen Plattformfunktionen integrieren, um End-to-End-Prozesse zu unterstützen.

Diese Auflistung dient der Übersicht. Im weiteren Verlauf werden wir diese Funktionen einzeln und detailliert beschrieben.

1.2. Oberfläche von XRSF

Tab Description
Startseite Generelle Übersicht über die Appnutzung und Performance, gestaltet als dein Dashboard.
Configurations Hier kannst du die Haupteinstellungen von CRSF in einem Konfigurationsdatensatz festlegen, welchen wir bei der Einrichtung bereits für dich erstellt haben.
Standards Hier kannst du die Struktur und das Modell, welches für deine Rechnungen verwendet werden soll, in einem eigenen Standard festlegen.
Templates Hier kannst du Templates zur Datenzuordnung der XML- und PDF-Elemente deiner Rechnungen erstellen und verwalten.
Mappings Hier kannst du Mappings zur Datenzuordnung in deiner Salesforce Organisation erstellen und verwalten.
Jobs Hier siehst du alle Jobs welche durch XRSF erstellt wurden.
Results Hier siehst du Ergebnisse zu ausgeführten Jobs mit Informationen über potentielle Fehler bei der Ausführung eines Jobs.

Diese Liste ist lediglich als Überblick gedacht, um dir die einzelnen Funktionen, welche in dieser Dokumentation erklärt werden, vorzustellen. Alle hier gelisteten Funktionen werden im weiteren Verlauf detailliert erklärt

1.3. Voraussetzungen

XRSF ist ausschließlich für den Einsatz in Salesforce ausgelegt. Dabei ist es kompatibel mit folgenden Salesforce Editionen: Platform, Sales Cloud, Enterprise, Unlimited.

Einschränkungen gibt es bei der Salesforce Professional Edition. Hier ist XRSF nur nutzbar, falls du API Callouts von Salesforce abonniert hast.

2. Installation und Konfiguration

Um XRSF zu nutzen, müssen einige Vorbereitungen getroffen werden. Diese beinhalten selbstverständlich die Installation von XRSF selbst, aber auch weitere Konfigurationsmaßnahmen, welche in diesem Kapitel beschrieben werden.

Hinweis: Bei dem Erwerb von XRSF bieten wir einen kostenlosen Einrichtungsservice an! Schreibe uns einfach eine Email an support@xrsf.de.

2.1. Installation

XRSF kann über den Salesforce AppExchange installiert werden.

Suche im AppExchange nach "XRSF" und klicke anschließend auf den Button "Get It Now", um den Installationsprozess zu starten.

Wenn du auf der Installationsseite bist, wähle "Nur für Administratoren". Diese Auswahl ist erforderlich, da sonst auch nicht-autorisierte Nutzer Zugriff auf sensible Daten erhalten könnten.

X

Klicke auf "Installieren" und bestätige die Meldung "Ja, den Zugriff auf diese Websites Dritter gewähren".

Hintergrund: Im Rahmen der Installation muss die Freigabe erteilt werden, verschiedene Schnittstellen anzusprechen. Neben der Schnittstelle muss auch die Kommunikation mit den Servern von XRSF für den reibungslosen Betrieb des Tools hergestellt werden.

X
X

Möglicherweise erscheint eine Benachrichtigung mit folgendem Inhalt: „Die Installation dieser Anwendung nimmt einige Zeit in Anspruch. Sie erhalten eine Email, wenn die Installation abgeschlossen ist.” Wenn eine solche Meldung zum ersten Mal bei dir erscheint, keine Sorge. Klicke einfach auf „Fertig“. Salesforce teilt dir dann per Email mit, wenn die Installation erfolgreich war.

X

Nach Abschluss der Installation empfehlen wir, die Installation im Abschnitt „Pakete“ unter „Installierte Pakete“ in der Salesforce-Einrichtung zu überprüfen.

X

2.2. Vergabe von Nutzerrechten

Die Nutzung der Anwendung erfordert keine speziellen Rechte für Salesforce-Benutzer. Lediglich für die Konfiguration und das Debugging müssen Berechtigungen zum Einsehen der XRSF-Datensätze vergeben werden. Grundsätzlich wird zwischen zwei Arten von Berechtigungen unterschieden:

  • XRSF Lizenzen*
  • Salesforce Berechtigungssätze*

XRSF-Lizenzen werden im Bereich "Installierte Pakete" direkt an dem dort aufgeführten XRSF-Paket zugewiesen. Klicke dazu auf den Button "Lizenzen verwalten" und weise die gewünschten Benutzer zu.

X

Die Zuweisung von Salesforce-Berechtigungssets erfolgt hingegen separat. Grundsätzlich werden in XRSF die folgenden Typen von Salesforce-Berechtigungssätzen unterschieden:

  • XRSF Admin: für administrativen Vollzugriff auf alle Bereiche der Anwendung
  • XRSF User: für den Benutzerzugang

Um diese Berechtigungssätze zuzuweisen, suche im Setup nach "Berechtigungssätze".

Suche in der Liste nach "XRSF Admin" und "XRSF User" und klicke auf das jeweilige Set an Rechten, den du einem Benutzer zuweisen möchtest.

X

Gehe auf „Zuweisungen verwalten“ und füge die gewünschten Benutzer mittels Ankreuzen der Checkbox hinzu.

X
WICHTIG: Essenziell ist zudem die Freigabe der standardmäßig mit XRSF mitgelieferten Dashboards und Reports. Hierzu bitte in die Standard-Tabs für "Reports" und "Dashboards" in der Salesforce-Oberfläche wechseln und dort jeweils (!) in den Freigabeeinstellungen des mit der Installation von XRSF hinzugefügten Ordners "XRSF" diesen für die Gruppe aller internen Nutzer freigeben. Zu finden ist diese Freigabemöglichkeit folgendermaßen: Suche über die Suchfunktion Berichte bzw. Dashboards > Alle Ordner > XRSF> Freigeben (über die Pfeilfunktion rechts). Wird dieser Schritt versäumt, kann der Homescreen der XRSF-App für Nutzer ohne Administratorlizenz nicht korrekt dargestellt werden.

2.3. Aktivieren der Record Pages

Da Salesforce bei Installation von Applikationen wie XRSF die Aktivierung von Record Pages bei gleichzeitiger Nutzung von Record Types leider nicht zulässt, muss dies nach Installation einmalig manuell erfolgen. Die Aktivierung ist essenziell, um alle Funktionen von XRSF vollumfänglich nutzen zu können.

Konkret betrifft dies die Objekte "Scope", "Record Rule" und "Template".

Diese findest du im Setup. Gib hier in der Suchleiste “Lightning App Builder" bzw. "Lightning-Anwendungsgenerator" ein.

X

Die Zuordnung kannst du für die jeweiligen Objekte im Detail wie folgt vornehmen:

Seite anklicken > Anzeigen > Aktivierung > Zu Anwendungen, Datensatztyp und Profilen zuweisen > alle Apps auswählen, die benutzt werden > Weiter > Desktop und Telefon > Weiter > den jeweiligen Record Type auswählen > Weiter > Alle Profile auswählen > Speichern.

Aktiviere folgende Record Pages:

Objekt Seite Record Type
Template Embedded Template Record Page Embedded
Template XML Template Record Page XML
Record Rule Filter Record Rule Record Page Filter
Record Rule Limit Record Rule Record Page Limit
Record Rule Order Record Rule Record Page Order
Scope Field Scope Record Page Field
Scope List Scope Record Page List
Scope Free Scope Record Page Free
Scope Primary Scope Record Page Primary

2.4. Konfiguration

Suche nach der "XRSF" App im App Launcher* oder über die Suchfunktion.

X

Wechsel in der App direkt in den „Configurations“-Reiter. Hier findest du bereits einen Konfigurations-Datensatz vor. In diesem Datensatz musst du Felder mit den notwendigen Informationen befüllen, um XRSF zu konfigurieren.

X

Hier kannst du folgende Felder konfigurieren:

Feld Pflicht Beschreibung
Authenticated Pflicht Zeigt an ob XRSF mit Salesforce authentifiziert ist.
Error Email Address Optional Hier kannst du eine Email-Adresse angeben, an welche Benachrichtigungen über auftretende Fehler gesendet werden.
Deactivated Optional Sollte standardmäßig nicht angehakt sein. Hier kannst du XRSF komplett deaktivieren.
Debug Mode Optional Diese Einstellung dient der erweiterten Ausspielung von Kommunikationsdetails zwischen Salesforce und der externen Schnittstelle.

2.5. Testversion

Du hast die Möglichkeit, XRSF für 30 Tage kostenfrei zu testen und jeweils 32 eingehende und ausgehende Dokumente zu verarbeiten. Du musst dafür keinerlei Kontodaten angeben. Nach 30 Tagen läuft die Testphase automatisch aus und du kannst auf XRSF nicht mehr zugreifen.

Falls du XRSF in einer Sandbox testen möchtest, funktioniert der Installationsprozess grundsätzlich exakt wie in der Live-Umgebung. Die einzige Ausnahme bildet der Fall, wenn es sich bei der Sandbox um eine Partial Copy handelt, bei der der Konfigurations-Datensatz übertragen wurde. In diesem Fall muss für eine reibungslose Funktion zwingend die Schaltfläche „Reset Configuration“ im Konfigurations-Datensatz genutzt werden.

2.6. Lizenzen buchen

Nachdem du den Konfigurations-Datensatz eingerichtet hast, musst du noch den Kaufprozess abschließen.

Dieser Schritt ist besonders wichtig, damit du XRSF nutzen kannst!

Die Lizenzgebühren für die Nutzung von XRSF werden per Lastschriftverfahren von dem von dir angegebenen Konto eingezogen. So kannst du deine entsprechenden Informationen hinterlegen:

In der XRSF-App findest du auf Ebene des Konfigurations-Datensatzes den Button "Manage Licenses". Klickst du auf den Button, öffnet sich eine Login-Seite zu deinem License-Management-Bereich. In diesem Kundenportal findest du alle wichtigen Daten zu deinen XRSF-Lizenzen, Zahlungsinformationen, aber auch die Möglichkeit, per Klick weitere Lizenzen hinzuzubuchen.

Um dich einzuloggen, erhältst du per Email einen individuellen Code, den du zum - Anmelden in der Login-Maske eingibst. Nach dem Login öffnet sich die Übersichtsseite mit einigen Hinweisen, welche Informationen du uns mitteilen musst, damit du XRSF in Zukunft nutzen kannst.

Indem du auf "Check your billing address" klickst, kannst du eine gültige Rechnungsadresse hinterlegen. Klicke anschließend auf "Check your SEPA direct debit mandate", um ein gültiges SEPA-Lastschriftmandat zu erteilen. Du findest die Eingabemasken für deine Daten auch unten in den Reitern "Billing" und "Payment".

Nachdem du die notwendigen Daten eingegeben und gespeichert hast, erhältst du von uns per Email eine Bestätigung und ein Dokument mit allen Informationen zu deinem SEPA-Lastschriftmandat.

Beachte: Die Email mit der Bestätigung wird an die Email-Adresse gesendet, die beim XRSF-Download im Salesforce AppExchange angegeben wurde! Sollte diese Email nicht verfügbar sein, schreibe uns einfach eine Nachricht an support@xrsf.de.
X

2.7. Authentifizierung

Sobald der Konfigurations-Datensatz erstellt ist, musst du dich bei den XRSF-Servern authentifizieren, um alle verfügbaren Funktionen zu nutzen.

Diese Authentifizierung wird einmalig durchgeführt. Klicke dazu einfach auf die Schaltfläche "Authenticate" im erstellten Datensatz.

Nach erfolgreicher Authentifizierung (die ggf. durch Bestätigung der OAuth2-Abfrage abgeschlossen werden muss), wird der Nutzer auf eine Ergebnisseite weitergeleitet. Bei erfolgreicher Authentifizierung wird diese durch ein Häkchen im Feld "Authentifiziert" angezeigt.

Im Falle einer erfolgreichen Authentifizierung erscheint zudem die folgende Meldung:

X

3. Operative Nutzung von XRSF

In diesem Kapitel beschreiben wir, wie du den größten Nutzen aus XRSF ziehen kannst. Auch hierzu sind konfigurative Maßnahmen nötig, die - wie auch die bereits erledigten Konfigurationen - nur einmalig ausgeführt werden müssen.

Wir zeigen dir die Einstellungen anhand von Use Cases, um die Konfiguration anschaulicher zu gestalten. Natürlich kannst du XRSF für deinen ganz individuellen Use Case und mit deinen eigenen Custom Objects konfigurieren und nutzen.

3.1. Standards

Unter der Registerkarte "Standards" kannst du die Struktur und den Inhalt für deine Rechnung definieren. Um einen neuen Standard-Datensatz zu erstellen, navigiere zu 'Standards' und klicke dann auf 'Neu'.

X

Hier kannst du nun einen Namen und das Datumsformat des Standards festlegen. Das Datumsformat bestimmt, wie Datumsfelder im endgültigen XML-Dokument angezeigt werden. Du kannst hier jede beliebige Kombination aus yyyy, mm und dd verwenden. Für UBM-Rechnungen beispielsweise ist das richtige Format yyyy-mm-dd, während CII-Rechnungen yyyymmdd verwenden.

Durch einen Klick auf die Schaltfläche „Configure“ oben rechts kannst du die Dokumentenstruktur manuell konfigurieren, indem Sie Attribute definieren. Attribute können vom Typ „Node“ oder „Value“ sein. Eine Node fungiert als Container im XML und kann andere Nodes oder Values enthalten. Ein Value speichert die tatsächlichen Daten, wie z. B. die Rechnungsnummer, Absenderinformationen und Summen.

X

Solltest du bereits ein XML-Dokument mit der gewünschten Struktur haben, kannst du die Konfiguration der Attribute ganz einfach automatisiert über den 'Import'-Button definieren. Du kannst die Struktur des XML-Dokuments natürlich auch manuell modellieren. Um ein Attribut manuell hinzuzufügen, definiere den Identifier, also den Namen des Attributs im XML-Dokument, wähle den gewünschten Typ (Node, Value) aus und klicke auf 'Add'. Wenn alle gewünschten Attribute spezifiziert sind, klicke auf 'Save', um alle Konfigurationen zu speichern.

Hinweis: Für bestimmte Richtlinien (bspw. ZUGFeRD, XRechnung) bezüglich der Rechnungsstruktur gibt es syntaktische Regeln sowie verpflichtende Attribute, die in die Konfiguration aufgenommen werden müssen. Wir empfehlen sehr, die Importfunktion zu verwenden, um syntaktische Fehler zu vermeiden.

Hier im Beispiel möchten wir einen Standard für eine XRechnung im UBL-Format konfigurieren. Dafür nutzen wir die Import-Funktion und laden eine beispielhafte XRechnung hoch. Die automatisch konfigurierten Attribute sehen dann folgendermaßen aus:

X

3.2. Templates

Sobald der Standard fertig konfiguriert ist, kannst du mit der Erstellung eines Templates fortfahren. Templates definieren, wie und mit welchen Daten eine Rechnung erstellt wird, und sind daher für die Erstellung einer E-Rechnung unerlässlich.

Um ein Template zu erstellen, klicke auf 'Neu' im Template-Reiter. Nun musst du den Typ deines Templates auswählen. Für die Erstellung von E-Rechnungen im reinen XML-Format wähle Typ 'XML', für die Rechnungserstellung im XML- und PDF-Format wähle den Typ 'Embedded'.

X

In einem Template kannst du folgende Felder konfigurieren:

Feld Pflicht Beschreibung
Name Pflicht Hier gibst du den gewünschten Namen des Templates an
Standard Pflicht Hier gibst du den zugehörigen Standard an
Naming Optional Hier kannst du ein Muster angeben, nach dem durch dieses Template erstellte Rechnungen benannt werden. Für das Naming ist unter anderem auch die Verwendung von Merge Feldern möglich.
Embedded Naming (nur Embedded) Optional Hier kannst du ein Muster angeben, nach dem durch dieses Template erstellte PDF-Dokumente benannt werden. Für das Embedded Naming ist unter anderem auch die Verwendung von Merge Feldern möglich.
XMP Requirement (nur Embedded) Optional Hier kannst du XMP Metadaten angeben, welche zur Einbettung von Metadaten in dein PDF-Dokument genutzt werden. Wir werden später noch einmal genauer auf XMP Metadaten eingehen.

Nachdem du diese Felder ausgefüllt hast, klicke auf 'Save' und du gelangst in das neu erstellte Template. Hier können nun weitere Konfigurationen vorgenommen werden.

3.2.1. Scopes

Die Grundlage eines Templates bildet der Datenkontext, welcher durch "Scopes" definiert wird. Scopes sind die Datenquellen deiner Salesforce Organisation. Sie können verschiedene Ebenen haben und erlauben den Zugriff auf die gesamte Datenstruktur in Salesforce.

Zuerst muss eine Primary Scope angelegt werden. Klicke dafür entweder auf 'Add Scope' in der oberen Leiste oder auf 'New' im Bereich der Scopes, und wähle 'Primary'.

X

In diesem Beispiel wählen wir das Salesforce-Objekt 'Invoice' als Primary Scope. Zusätzlich zu der Primary Scope kannst du hier per Klick auf den Button “Create Child Scope” innerhalb der Primary Scope sogenannte Field Scopes und List Scopes erstellen. Diese sind sogenannte “Children” der Primary Scope, d.h. dass sie sich auf Daten innerhalb des Objektes der Primary Scope beziehen. Per Klick auf den Button “New” im Scope Datensatz kannst du außerdem eine Free Scope erstellen.

X
  • Field Scopes beziehen sich auf Lookup Felder des Objektes und die Daten der Objekte, auf die das Lookup zeigt (Bsp. Ein Account).
  • List Scopes beziehen sich auf Daten aus den Listen des Objekts (Bsp. Alle Kontakte unterhalb des im Field Scope definierten Accounts).
  • Free Scopes beziehen sich auf alle Datensätze in Salesforce und müssen keine Verbindung zu einer Field- oder List Scope haben (Bsp. Alle Produkte in Salesforce).

Record Rules

Für List und Free Scopes lassen sich sogenannte Record Rules erstellen, durch welche konfiguriert werden kann, welche und wie viele Einträge der Liste tatsächlich in der Scope berücksichtigt werden.

Es gibt drei Arten von Record Rules:

  • Filter Record Rule
  • Limit Record Rule
  • Order Record Rule

Filter Record Rule

Mit einer Filter Record Rule lassen sich Einträge der Liste basierend auf dem Wert eines Feldes des Objekts filtern. Hier werden 'Field Name' und 'Value' durch den 'Operator' verglichen, und lediglich Einträge der Liste, für welche diese Kondition wahr ist, werden weiterhin in der Scope berücksichtigt.

X

Limit Record Rule

Mit einer Limit Record Rule lässt sich eine numerische Grenze festlegen, wie viele der Einträge berücksichtigt werden sollen. Erstelle dafür einfach eine Limit Record Rule und trage den gewünschten Wert in 'Value' ein.

X

Order Record Rule

Mit einer Order Record Rule können die Einträge der Liste basierend auf einem Wert des Objekts sowohl aufsteigend als auch absteigend sortiert werden. XRSF erlaubt außerdem die Erstellung mehrerer Order Record Rules, welche in sich durch das Feld 'Priority' priorisiert werden können. Basierend auf diesem Feld werden aufsteigend die einzelnen Order Record Rules angewendet.

X

3.2.2. Data Configurations

Nachdem die Scopes festgelegt sind, kann mit der Konfiguration der Data Configurations begonnen werden. Hier wird definiert, welche Felder der E-Rechnung mit welche Daten aus deiner Salesforce Organisation, also aus deinen Scopes, befüllt werden sollen. Um solche Konfigurationen vorzunehmen, klicke den Button 'Configure' in der oberen Leiste.

X

Nun öffnet sich ein Feld, in welchem du Konfigurationen vornehmen kannst.

X

Im Bereich Configure children kannst du nun eine Konfiguration hinzufügen. Dafür müssen die Felder 'Attribute' und 'Scope' gewählt werden.

'Attribute' definiert, wo in deiner Rechnung die Daten stehen sollen. Dabei ist die Struktur der Attribute in dieser Oberfläche die gleiche Struktur wie im zugehörigen Standard definiert. Liegt der Wert (Value), welcher gewünscht ist, in einer Node, wähle hier die zugehörige Node, und klicke dann auf 'Add'. Nodes können nicht mit Daten befüllt werden, allerdings kannst du nun auf den Inhalt der Node zugreifen, indem du innerhalb der Node auf 'Configure' klickst. Es öffnet sich ein neues Fenster, in welchem du dich nun eine Ebene tiefer im XML-Pfad befindest und hier weitere Konfigurationen vornehmen kannst.

X

In 'Scope' kannst du die Scope wählen, aus welcher die Daten kommen sollen. Wählst du hier keine Scope, kannst du Mergefelder verwenden, statische Werte definieren oder auf vordefinierte Variablen zugreifen (z. B. Current Date, Current User ID).

X

In diesem Beispiel befüllen wir das Attribut "ID" mit dem Wert des Feldes "Account ID" aus der Scope "OrderAccount". Außerdem möchten wir für das Attribut "DueDate" keine Scope verwenden, sondern einen statischen Wert aus der Variablenliste unter 'Pick Variable' festlegen.

Nachdem alle gewünschten Konfigurationen vorgenommen wurden, klicke auf 'Save', um die Konfiguration zu speichern.

3.2.3. Field Updates

Neben den Data Configurations können in einem Template Field Updates definiert werden, mit denen Felder in deiner Salesforce Organisation Quelldatensatz nach der Erstellung einer E-Rechnung automatisch aktualisiert werden, z. B. eine Variable "Send Date" auf "CurrentDay" setzen. Field Updates können an eine Bedingung geknüpft werden, welche erfüllt sein muss, damit das Field Update tatsächlich ausgeführt wird. Soll das Field Update immer ausgeführt werden, lasse die Felder 'Condition Value' und 'Operator' einfach leer.

In diesem Beispiel möchten wir ein Field Update erstellen, welches das Feld 'Status' unserer Scope 'Invoice' auf "Created" setzt, allerdings nur, wenn das Feld vorher auf "Draft" gesetzt war.

X

3.2.4. Weitere Konfiguration von Embedded Templates

Bei der Nutzung von "Embedded" Templates gibt es weitere Konfigurationsmöglichkeiten, welche lediglich der Erstellung des PDF Dokuments dienen und dementsprechend für "XML" Templates überflüssig sind.

XMP Requirements

Ein essentielles Feld für "Embedded" Templates sind die XMP Metadaten. Dieses Feld ist entscheidend, um sicherzustellen, dass das generierte PDF-Dokument den Standards PDF/A-3B und Factur-X/ZUGFeRD entspricht. XMP (Extensible Metadata Platform) ist ein standardisiertes XML-Format zum Einbetten von Metadaten in PDF-Dateien, welche Informationen über Struktur, Herkunft und Konformitätsstufe des Dokuments liefern und von Verbrauchern und Validierungstools zur Bewertung der Konformität genutzt werden.

Um verschiedene Metadatenkonfigurationen zu unterstützen, gibt es die Picklist „XMP Requirements”, in der zwischen „Custom” und „ZUGFeRD” gewählt werden kann. Die Option "ZUGFeRD" setzt die Metadaten automatisch auf einen vordefinierten, standardkonformen Wert gesetzt, während bei "Custom" eigene Metadaten implementiert werden können.

XMP Requirements können bereits bei der Template-Erstellung im Erstellungsfenster definiert werden, oder später über das Feld 'XMP Requirements' auf der Template-Oberfläche.

X

Der Metadatenblock ist in die PDF-Datei eingebettet und ermöglicht es Tools (z. B. KOSIT- oder ZUGFeRD-Validatoren), die PDF-Datei als strukturierte Hybridrechnung zu interpretieren, wobei die visuelle Darstellung mit einem maschinenlesbaren XML-Code innerhalb der PDF-Datei verknüpft ist.

WICHTIG: Die Korrektheit und Vollständigkeit des XMP-Blocks sind entscheidend für die Interoperabilität und die Einhaltung gesetzlicher Vorschriften, insbesondere in Länden (wie Deutschland), die Standardformate wie XRechnung oder ZUGFeRD vorschreiben.

Dokumentenerstellung

Zusätzlich muss im Bereich "Files" eine Vorlage zur Rechnungserstellung (Microsoft Word Dokument) hochgeladen werden Diese Vorlage dient als Blueprint für alle Rechnungen, welche mit diesem Template erstellt werden. Das Hochladen einer Vorlage ist obligatorisch, da sonst kein PDF-Dokument erstellt werden kann.

Um Daten aus Ihrer Salesforce-Organisation in das Word-Dokument einzubetten, können Mergefelder verwendet werden. Dabei ist zu beachten, dass die Verwendung von Mergefeldern in Microsoft Word und in Salesforce syntaktische Unterschiede fordert. Eine detaillierte Beschreibung zur Verwendung von Mergefeldern in beiden Formaten findest du im nächsten Teil dieser Dokumentation.

Außerdem lässt sich ein Benennungsmuster festlegen, das auf die zu erstellenden Dokumente angewendet werden soll. Ähnlich wie im Feld „Naming“ kann dieses Muster im Feld „Embedded Naming“ festgelegt werden.

3.2.5. Mergefelder

In XRSF muss zwischen Merge-Feldern, welche im Microsoft Word Dokument, und Merge-Feldern in Salesforce selbst syntaktisch unterschieden werden.

Mergefelder in Microsoft Word

In Microsoft Word müssen Merge-Felder in der folgenden Syntax modelliert werden:

{ MERGEFIELD ScopeName.FieldName \* MERGEFORMAT }

wobei ScopeName den API-Namen der jeweiligen Scope und FieldName den API-Namen des jeweiligen Felds darstellt. Der Zusatz MERGEFIELD ist außerdem verpflichtend, MERGEFORMAT ist optional und dient als Platzhalter für Formatspezifikationen (etwa bei Datum/Uhrzeit oder Groß- und Kleinschreibung). Mergefelder in Microsoft Word müssen mit dem Shortcut STRG + F9 eingefügt werden.

Um alle Einträge einer List Scope im Word-Dokument abzubilden, verlangt Microsoft Word eine zusätzliche, etwas andere Syntax:

{ MERGEFIELD TableStart:SectionName }

* Hier kann beliebiger Output definiert werden, welcher für jedes Element der List Scope abgebildet wird *

{ MERGEFIELD TableEnd:SectionName }

Hier bezeichnet "SectionName" den API-Namen der List Scope.

Im folgenden Beispiel fügen wir für jeden Eintrag unserer List Scope "Contacts" jeweils den Vor- und Nachnamen in unsere Rechnung ein:

X

Mergefelder in Salesforce

In Salesforce selbst können Mergefelder mit der folgenden Syntax modelliert werden:

{ !ScopeName.FieldName }

Wie auch bei Microsoft Word bezeichnet ScopeName hier den API-Namen der Scope und FieldName den API-Namen des Feldes.

Um eine List Scope vollständig einzubetten, wird in Salesforce folgende Syntax verlangt:

{ TableStart:sectionName }

* Hier kann beliebiger Output definiert werden, welcher für jedes Element der List Scope abgebildet wird *

{ TableEnd:sectionName }

Einen kleinen Unterschied gibt es allerdings bei Field Updates: Da für Field Updates bereits eine Scope definiert ist, in welcher Veränderungen vorgenommen werden sollen, reicht hier nur der API-Name des Feldes als Referenz auf das Feld (statt {!ScopeName.FieldName} reicht hier nun {!FieldName} ).

3.3. Mappings

Um eingehende Rechnungen zu verarbeiten und Salesforce-Datensätze basierend auf deren Inhalt zu erstellen oder zu aktualisieren nutzt XRSF "Mappings". Mappings definieren, unter welchen Bedingungen welche Felder oder Listen in deiner Salesforce Organisation modifiziert werden. Sie sind in der Struktur ähnlich zu Templates, da sie ebenfalls auf Scopes und Data Configurations basieren. Mappings können jedoch keine Rechnungen generieren.

Um ein neues Mapping zu erstellen, klicke auf 'Neu' in der oberen Leiste im Bereich Mappings.

In einem neuen Mapping gibt es einige Möglichkeiten zur Konfiguration, welche wir nun Schritt für Schritt zeigen werden.

3.3.1. Mapping Condition

In den "Mapping Conditions" können Bedingungen definiert werden, welche erfüllt sein müssen, damit ein Mapping tatsächlich ausgeführt wird. Eine Mapping Condition kann entweder für ein Dokument oder für Daten aus Salesforce definiert werden. Um eine Mapping Condition zu erstellen, klicke 'Neu' im Bereich "Mapping Conditions".

X

Die Oberfläche, welche sich nach dem Klick öffnet, ist strukturell die gleiche Oberfläche wie bereits für die Field Updates in den Templates. Trage hier die gewünschte Bedingung ein und klicke dann auf 'Save'.

Hinweis: Es ist möglich, mehrere Mapping Conditions basierend auf demselben Objekt zu definieren. Achte dementsprechend darauf, Mapping Conditions so zu definieren, dass sie sich nicht gegenseitig ausschließen. Dies kann theoretisch dazu führen, dass ein Mapping niemals ausgeführt wird.

3.3.2. Weitere Konfigurationen

Viele Bereiche, welche in einem Mapping konfiguriert werden können, gleichen denen aus den Templates. Scopes, Data Configurations und Field Updates lassen sich ebenfalls genau so implementieren wie auch bereits in den Templates. Ein großer Unterschied zur Template-Oberfläche sind hier die Target Objects.

Target Objects

Target Objects können zusätzlich zu den Scopes angelegt werden. Diese sind speziell für die Verarbeitung eingehender Rechnungen konzipiert und dienen dazu, spezifische Aktionen auf Salesforce-Objekten durchzuführen. Um ein neues Target Object zu erstellen, klicke auf 'New' im Bereich "Target Objects".

X

Nun öffnet sich eine Oberfläche zur Erstellung eines Target Objects. Hier kannst du Namen des Target Objects, den API-Namen des gewünschten Objekts, und das zugehörige Mapping angeben. Außerdem kannst du wählen, welche Operation für dieses Objekt ausgeführt werden soll. Dafür gibt es vier Möglichkeiten:

  • Insert: Hierbei werden neue Datensätze erstellt.
  • Read: Die Daten werden lediglich gelesen, es werden aber keine Änderungen an Datensätzen vorgenommen.
  • Update: Hierbei werden bestehende Datensätze aktualisiert.
  • Upsert: Hierbei werden neue Datensätze eingefügt oder bestehende aktualisiert, falls ein passender Datensatz bereits existiert.

Hast du diese Felder ausgefüllt, klicke auf 'Save' und dein Target Object ist erstellt. Wie auch bei den Scopes kannst du die Operation, welche auf diesem Target Object ausgeführt werden soll, in den Data Configurations definieren.

3.3.3. Testen eines Mappings

Nachdem das Mapping konfiguriert wurde, bietet XRSF noch vor der Aktivierung die Option, das Mapping zu testen, ohne tatsächliche Änderungen an deiner Salesforce-Organisation vorzunehmen. Um ein Mapping zu testen, klicke auf den 'Test' Button im Mapping Record.

X

Nach dem Klick öffnet sich ein Fenster, in welchem du nun einen Record für den Test auswählen musst. Du kannst selbstverständlich nur einen Record wählen, welcher deiner Primary Scope entspricht. Gib dafür einfach den Namen des Records in das Suchfeld ein, oder lasse das Suchfeld leer, um alle verfügbaren Records zu sehen.

X

Wähle einen Record aus der Liste, klicke auf 'Choose' und wähle dann im nächsten Schritt ein File, welches du für den Test verwenden willst.

X

Wenn du nun auf 'Create' klickst, wird ein Job erstellt, um den Prozess zu simulieren und zu zeigen, was basierend auf deiner aktuellen Mapping-Konfiguration passieren würde. Wie bereits gesagt werden zu diesem Zeitpunkt noch keine Änderungen vorgenommen.

Willst du im Rahmen des Testes das Mapping tatsächlich ausführen und Änderungen in Salesforce vornehmen, klicke auf 'Apply' um einen Evaluation-Screen zu öffnen und klicke in diesem Screen auf 'Evaluate'. Dadurch wird die Mapping-Logik wie in einem Live-Szenario ausgeführt und Änderungen in Salesforce vorgenommen. Per Klick auf 'Visualize' siehst du außerdem den XML-Körper deiner erstellten Rechnung.

X
X

Wenn alles so funktioniert wie du es dir vorstellst, kannst du das Mapping nun über 'Activate' aktivieren. Ist ein Mapping aktiviert, wird es automatisch ausgeführt, wenn ein Dokument in einem Record vom Typ der Primary Scope hochgeladen wird, und alle Mapping Conditions erfüllt sind.

4. Validierung und Fehlerbehandlung

4.1. Validierung durch KOSIT

XRSF beinhaltet automatische Erkennung unterstützter Dokumenttypen. Wenn ein bekannter Dokumenttyp identifiziert wird (z. B. ZUGFeRD oder XRechnung), wird die Datei anhand der KOSIT-Standards validiert.

Was ist KOSIT?

KOSIT (Koordinierungsstelle für IT-Standards) ist eine deutsche Regierungsbehörde, die für die Entwicklung und Pflege nationaler IT-Standards für die Interoperabilität im öffentlichen Sektor zuständig ist. Im Zusammenhang mit der elektronischen Rechnungsstellung veröffentlicht und pflegt KOSIT die offizielle Spezifikation für XRechnung, die deutsche CIUS-Implementierung (Core Invoice Usage Specification) des europäischen E-Rechnungsstandards EN 16931. XRechnung ist für den Versand von Rechnungen an öffentliche Behörden in Deutschland verpflichtend.

KOSIT stellt auch das vollständige Validierungsframework zur Verfügung, um die technische und semantische Korrektheit solcher Rechnungen sicherzustellen. Dazu gehören:

  • XML-Schemas (XSDs) zur Validierung der Struktur von Rechnungen (in UBL- oder UN/CEFACT-Syntax)
  • Schematron-Regel-Dateien zur Umsetzung von Geschäftsregeln und semantischen Validierungen, einschließlich europäischer und deutschlandspezifischer Anforderungen
  • Ein versioniertes XRechnung-Konfigurationspaket sowie ein Open-Source-Validierungstool, das von vielen Softwareanbietern und staatlichen Portalen genutzt wird

Der offizielle Validator kann über die Command Line, eine eingebettete Java-API oder als lokaler HTTP-Dienst verwendet werden. Er erstellt strukturierte Validierungsberichte im XML- und HTML-Format, einschließlich Fehlerpfaden und beschreibenden Meldungen für alle erkannten Probleme.

Je nach erkanntem Dokumenttyp behandelt die App die Validierung unterschiedlich. Wenn die hochgeladene Datei ein unterstützter und erkannter Typ ist (z. B. eine gültige XRechnung-XML-Datei mit UBL- oder CII-Syntax), wird sie automatisch mit der offiziellen KOSIT-Validierungs-Engine validiert, die Folgendes ausführt:

  • Schemavalidierung (XSD)
  • Validierung von Geschäftsregeln (Schematron)
  • Syntaxerkennung und Auswahl des jeweils geeigneten Szenarios

Wenn die Validierung erfolgreich ist, wird das Dokument mit dem Status „Validiert“ gespeichert.

Wenn die Validierung fehlschlägt, wird das Dokument nicht gespeichert, und der Benutzer erhält einen detaillierten Validierungsbericht, in dem alle Fehler einschließlich des genauen XML-Pfads und der verletzten Regel aufgeführt sind.

Unbekannter oder nicht unterstützter Dokumenttyp:

Wenn kein bekannter Typ erkannt wird, wird die Validierung übersprungen. Das Dokument wird dennoch gespeichert (ohne Validierungsstatus und ohne Fehler), sodass das System zusätzliche oder benutzerdefinierte Formate (z. B. PDF-Rechnungen, benutzerdefiniertes XML) verarbeiten kann. Dies gewährleistet Flexibilität für zukünftige Erweiterungen.

Hinweis: Die Unterstützung von Formaten außerhalb von ZUGFeRD/XRechnung ist geplant, sobald offizielle Validierungsframeworks dafür veröffentlicht werden.

Technischer Hinweis für Integratoren:

Die Anwendung verwendet den offiziellen Referenzvalidator von KOSIT, der mit dem neuesten XRechnung-Validierungsszenario konfiguriert ist. Der Validator läuft lokal im CLI-Modus und generiert sowohl maschinenlesbare XML-Berichte als auch menschenlesbare HTML-Ausgaben, die zu Audit- und Supportzwecken gespeichert werden. Die Validierungsergebnisse werden nach Schweregrad (Fehler, Warnung usw.) klassifiziert, und die Integration ordnet diese dem entsprechenden Verhalten auf Anwendungsebene zu (z. B. Speichern blockieren oder Hochladen mit Hinweis zulassen).

Wichtig: Wird ein Mapping nicht korrekt validiert, wird der Prozess nicht automatisch gestoppt. Er wird trotz fehlgeschlagener Validierung fortgesetzt. Templates werden hingegen immer validiert.

4.2. Fehlerbehandlung

4.2.1. Fehler bei Dateneingabe

Bei Fehlern aufgrund falscher Dateneingabe oder Verbindungsproblemen erhält der Benutzer eine entsprechende Fehlermeldung. Wird keine Fehlermeldung angezeigt, kann im Allgemeinen davon ausgegangen werden, dass die Aktion erfolgreich ausgeführt wurde.

Angezeigte Fehlermeldungen können von teilweise verbundenen Drittsystemen, der XRSF-Anwendung oder Salesforce selbst stammen.

Wenn eine Fehlermeldung unklar ist, empfehlen wir, sich an den für die Installation zuständigen Salesforce-Administrator zu wenden. Wenn auch dieser Ihnen nicht weiterhelfen kann, kontaktiere uns einfach per E-Mail unter support@xrsf.app und sende uns gerne ein Screenshot der Fehlermeldung, damit wir dir direkt helfen können.

4.2.2. Fehler bei im Hintergrund ausgeführten Aktionen

Um einen besseren Überblick zu erhalten, wird ein Großteil der im Hintergrund ausgeführten Aktionen in einem zu diesem Zweck eingerichteten 'Result'-Objekt gespeichert. Auf diese Weise können automatisch oder im Hintergrund ausgeführte Aktionen nachverfolgt werden. Eine Liste aller ausgeführten Aktionen findest du unter "Results". Bei erfolgreicher Ausführung wird lediglich "Success" angezeigt, bei einer fehlerhaften Ausführung wird der entsprechende Fehler angezeigt.

Jedes Mal, wenn eine Vorlage zur Erstellung eines Dokuments verwendet oder ein Mapping auf eine hochgeladene Datei angewendet wird, wird ein 'Job'-Datensatz erstellt. Der Job enthält eine Zusammenfassung der durchgeführten Aktion, den Datensatz, welcher die Aktion ausgelöst hat, und ein Protokoll aller durchgeführten Aktualisierungen.

Jeder Job kann je nach Anzahl der verarbeiteten Datensätze ein oder mehrere Results enthalten. Dabei beinhaltet ein Result eine detaillierte Nachricht über den Erfolg der Operation sowie zusätzliche Informationen über den Kontext.

Wenn bei der Ausführung einer Vorlage ein Fehler auftritt, wird eine E-Mail an den Administrator gesendet, der XRSF konfiguriert und installiert hat. Bei Mappings wird jedoch keine E-Mail an den Administrator gesendet, da das Problem möglicherweise auf eine Fehlkonfiguration oder einen Fehler in der eingehenden Datei zurückzuführen ist.

Hinweis zum Freigeben von Speicherplatz: Um Speicherplatz freizugeben, der im Laufe der Zeit durch angesammelte „Result”-Datensätze belegt wurde, kann die Schaltfläche „Löschen” in jeder Listenansicht der Registerkarte „Results” verwendet werden. Bitte beachte, dass bei Verwendung dieser Schaltfläche immer alle „Result”-Datensätze gelöscht werden, unabhängig von der aktuell angezeigten Listenansicht!

5. Glossar

Objekte 

Objekte sind Datensatztypen innerhalb der Salesforce Datenbank. Beispiele von Standardobjekten, die in Salesforce bereits angelegt sind, sind Accounts, Kontakte und Opportunities. Neben den in Salesforce standardmäßig existierenden Objekten können beliebige Custom-Objekte in Salesforce zukonfiguriert werden.

App Launcher

Der App Launcher erlaubt Benutzern zwischen verschiedenen Applikationen in ihrer Salesforce Organisation zu wechseln. Er beinhaltet verfügbare Salesforce Apps, verbundene Apps von Drittanbietern und lokale Anwendungen des Benutzers.

XRSF Lizenzen

XRSF Lizenzen sind lediglich für Konfigurationszwecke erforderlich. Für die Automatisierung der Datenextraktion müssen sie nicht zwingend zugewiesen werden.

Berechtigungssätze

Berechtigungssätze sind Sammlungen von Berechtigungen, welche einem Benutzer erweiterten Zugriff auf Objekte genehmigen können, als er standardmäßig durch sein Profil definiert hätte.

Formelfelder

Ein Formelfeld ist ein Feld dessen Wert durch eine vordefinierte Formel bestimmt wird. Formelfelder können nicht bearbeitet werden.