Skip to content

Technische Information

Dieses Dokument beschreibt die technischen Grundlagen von JustOn, einer Software zur Erzeugung und Verwaltung elektronischer Rechnungen. Über JustOn werden automatisch Kosten erfasst, dazu wird die Rechnung erstellt, deren Prüfung und Freigabe durchgeführt, der Rechnungsversand per E-Mail vorgenommen, die Archivierung der erstellten Rechnungen ausgelöst und ggf. der Buchungsvorgang in angeschlossenen Systemen registriert. Darüber hinaus erfasst und prüft JustOn Kunden- und Vertragsdaten als Grundlage für die Fakturierung und kann die Zahlungsabwicklung und das Forderungsmanagement übernehmen.

Info

JustOn läuft als integrierte Applikation in Force.com, der cloud-basierten Software-Entwicklungs- und Betriebsplattform von Salesforce.

Plattform

Software Beschreibung
Force.com Software-Entwicklungs- und Betriebsplattform von Salesforce

Die Plattform für JustOn ist die cloud-basierte PaaS-Infrastruktur Force.com. Betrieb, Pflege und Wartung der (weltweit verteilten) Rechenzentren erfolgt durch Salesforce. Anwender profitieren somit vom bewährten und regelmäßig auditierten Schutzniveau des Plattformbetreibers Salesforce. Alle Rechenzentren und Dienste von Salesforce sind zertifiziert nach ISO 27001, SAS 70 Type II, PCI-DSS und Systrust.

sf_arch
Integration von JustOn als App in Force.com

Die cloud-basierte PaaS-Infrastruktur Force.com ist eine Hochverfügbarkeitsplattform. Die Verfügbarkeit der einzelnen Rechenzentren ist auf https://trust.salesforce.com öffentlich einsehbar.

Force.com ist im Hinblick auf die Vorgaben des § 9 BDSG und Anlagen durch TÜV Rheinland i-sec GmbH zertifiziert. Salesforce hat von den Aufsichtsbehörden anerkannte Binding Corporate Rules und bietet damit die erforderlichen Garantien zur Einhaltung gesetzlicher Vorgaben von Datenschutz und Datensicherheit. Eine Einsichtnahme in Nutzerdaten durch Salesforce-Mitarbeiter ist ausgeschlossen.

Weitere Informationen zur Cloud-Plattform von Salesforce finden Sie in den App Cloud-FAQ.

Faktura-System

Software Beschreibung
JustOn Anwendung zur Fakturierung mit Forderungsmanagement, in Force.com-Cloud integriert

JustOn ist eine SaaS-Anwendung, die auf der cloud-basierten PaaS-Infrastruktur Force.com aufsetzt.

JustOn ist mit den auf Force.com zur Verfügung stehenden Mitteln entwickelt und damit von Anfang an vollständig in die Entwicklungs- und Betriebsplattform von Salesforce integriert in Bezug auf

  • Sicherheit
  • Business-Logik
  • Datenspeicherung und Datenaustausch
  • Benutzeroberfläche

Weitere Informationen zur App-Integration in Force.com finden Sie in der entsprechenden Salesforce-Dokumentation.

Der Betrieb und die Datenspeicherung von JustOn erfolgt in europäischen Rechenzentren. Das aktuelle Rechenzentrum ist dem URL-Präfix der JustOn-Applikation zu entnehmen (EU0-EU11).

Rechnungserzeugung und Buchungsvorschläge

Grundsätzlich erfolgt das Erzeugen von Rechnungen und das Schreiben von Buchungsvorschlägen in drei Schritten:

  • Erzeugen der Entwurfsrechnung: Neue Rechnungen haben den Status Entwurf. Entwurfsrechnungen können geprüft und ggf. überarbeitet werden.
  • Finalisieren der Rechnung: Mit dem Finalisieren wird der Status auf Offen gesetzt und die Rechnung damit wirksam, d.h. zur Zahlung fällig.
  • Erzeugen des Buchungsvorschlags: Mit dem Finalisieren schreibt JustOn die Rechnungsdetails in Buchungsvorschläge, die Anwender je nach Anforderung in angeschlossene Buchhaltungssysteme wie z.B. DATEV exportieren können.

Buchungsperiode bzw. Buchungsdatum werden standardmäßig auf Basis des Rechnungslaufs ermittelt. Anwenderspezifisch lassen sich hierfür auch andere Daten konfigurieren, z.B. Leistungsperiode oder Fälligkeitsdatum.

Folgende Fachobjekte sind beim Erzeugen von Rechnungen und Schreiben von Buchungsvorschlägen involviert:

Schritt Input Output
Erzeugen der Entwurfsrechnung Account
Fakturierungsplan
Steuerregel
Sachkonto
Rechnungsvorlage
Rechnung
Rechnungsposten
Protokolldatei
Finalisieren der Rechnung Account
Fakturierungsplan
Steuerregel
Sachkonto
Rechnungsvorlage
Nummernkreis
Rechnung
Rechnungsposten
Protokolldatei
Erzeugen des Buchungsvorschlags Rechnung
Rechnungsposten
Buchungsvorschlag

mapping_invoicing_objects
Involvierte Objekte beim Erzeugen von Rechnungen und Buchungsvorschlägen

Eine Übersicht über die in Buchungsvorschlägen enthaltenen Daten finden Sie in der Booking-Detail-Referenz.

Steuerberechnung

JustOn berechnet die Mehrwertsteuer zeilenweise, d.h. für jeden Rechnungsposten einzeln, und bildet dann die Summe der einzelnen Rechnungsposten.

Durch entsprechend programmierte Funktionen wird die korrekte zeilenweise Berechnung und der korrekte Ausgleich von Rundungsdifferenzen sichergestellt. Darüber hinaus werden spezielle Rundungsregeln (z.B. für die Schweiz) unterstützt.

Der folgende Code stellt die Formel zur Berechnung des Bruttobetrags (PosTotalGross) eines Rechnungspostens (Invoice Line Item) dar:

IF(
ISPICKVAL(
ONB2__Type__c,
'Tax Delta'
),
ONB2__UnitPrice__c,
ROUND(
IF(
ONB2__IsDiscountEmpty__c,
ONB2__FactorizedUnitPrice__c + ONB2__DiscountAmount__c,
ONB2__FactorizedUnitPrice__c * (1 - ONB2__Discount__c)
),
2
) +
IF(
ONB2__GrossInvoice__c,
0,
ONB2__AEDiscountAmount__c
) +
IF(
ONB2__GrossInvoice__c,
0,
ONB2__PosTotalTax__c
)
)

Die Berechnung der Bruttogesamtsumme (GrandTotal) einer Rechnung (Invoice) erfolgt durch Addition (Roll-Up Summary) der Werte von PosTotalGross der einzelnen Rechnungsposten:

grandtotal Berechnung der Bruttogesamtsumme als Roll-Up Summary

Die Formel zur Berechnung der Steuer (PosTotalTax), die bei der Berechnung des Bruttobetrags eines Rechnungspostens (s.o.) verwendet wird, lautet wie folgt:

IF(
ISPICKVAL(
ONB2__Type__c,
'Tax Delta'
),
ONB2__UnitPrice__c,
ROUND(
(IF(
ONB2__IsDiscountEmpty__c,
ONB2__FactorizedUnitPrice__c + ONB2__DiscountAmount__c,
ONB2__FactorizedUnitPrice__c * (1 - ONB2__Discount__c)
) + IF(
ONB2__GrossInvoice__c,
0,
ONB2__AEDiscountAmount__c
)
) *
IF(
ONB2__GrossInvoice__c,
1 - 1 / (1 + ONB2__TaxRate__c),
ONB2__TaxRate__c
),
2
)
)

Der verwendete Steuersatz (Tax Rate) ergibt sich aus sogenannten Steuerregeln ("Tax Rules"), die anwenderspezifisch angelegt und als benutzerdefinerte Einstellungen in JustOn gehalten werden. Folgende Daten können zur Definition von Steuerregeln kombiniert werden:

Feld Beschreibung
Tenant Entspricht dem an der Rechnung definierten Mandanten
Invoice Region Entspricht der am Fakturierungsplan oder am Account definierten Region
Invoice Country Entspricht dem am Fakturierungsplan definierten LegalCountry oder dem am Account definierten ShippingCountry bzw. BillingCountry
Invoice State Entspricht dem am Fakturierungsplan definierten LegalState oder dem am Account definierten ShippingState bzw. BillingState
Account Tax Class Entspricht der am Account definierten Steuerklasse
Product Tax Class Entspricht der am Produkt definierten Steuerklasse
Product Group Entspricht der am Posten definierten Produktgruppe
Tax Rate Der für diese Regel geltende Steuersatz
Tax Code Das für diese Regel geltende Steuerkennzeichen (zum Datenaustausch mit SAP o.ä.)

Die Formeln bzw. Datentypen zur Berechnung sind in der JustOn-Benutzeroberfläche an den entsprechenden Objekten Invoice Line Item und Invoice zu sehen unter Setup > Object Manager > Invoice bzw. Setup > Object Manager > Invoice Line Item.

Die anwenderspezifisch definierten Steuerregeln sind zu finden unter Setup > Develop > Custom Settings > Tax Rules.

Software-interne Fehlerbehandlung

Um zu verhindern, dass fehlerhafte Daten gespeichert werden, stützt sich JustOn auf zwei Standardmechanismen der Force.com-Plattform: Record Locking und Validierungsregeln.

Record Locking verhindert konkurrierende Zugriffe auf Datensätze. Greift ein Benutzer mit einer Schreiboperation auf einen Datensatz zu, sperrt die Plattform den Datensatz für Schreiboperationen durch andere Benutzer. Sobald die Transaktion beendet ist, wird die Sperre aufgehoben, und andere Benutzer können mit Schreiboperationen auf den Datensatz zugreifen. Entsprechende SOQL-Statements (Code zum Bearbeiten von Datensätzen) enthalten den Ausdruck FOR UPDATE, z.B.

Account [] accts = [SELECT Id FROM Account LIMIT 2 FOR UPDATE];

JustOn stellt damit die Integrität seiner in der Force.com-Datenbank abgelegten Daten sicher.

Details zum Record Locking finden Sie in Apex Developer Guide | Locking Statements.

Validierungsregeln stellen sicher, dass die Daten, die Benutzer in Datensätze eingeben, den von JustOn bzw. den Anwendern definierten Standards entsprechen, bevor die Benutzer die Datensätze speichern können. Validierungsregeln enthalten eine Formel oder einen Ausdruck zur Überprüfung der Daten in einem oder mehreren Feldern.

Standardmäßig enthält JustOn Validierungsregeln für folgende eigene Objekte:

  • Balance
  • Booking Period
  • Dunning
  • Invoice
  • Item
  • Payment
  • Sales Order Line Item
  • Subscription
  • Tier

Zusätzliche Validierungsregeln für JustOn-Objekte (oder auch Standard-Salesforce-Objekte) lassen sich je nach Anforderung anwenderspezifisch konfigurieren.

Details zu Validierungsregeln finden Sie in der Salesforce-Hilfe unter Validierungsregeln.

Verarbeitungskontrolle

JustOn kann bei jedem Rechnungslauf ein Protokoll schreiben, das die ausgeführten Prozessschritte nach folgendem Muster enthält:

timestamp | user ID | business logic class | severity | message

Ein Protokolleintrag könnte z.B. wie folgt aussehen:

2017-05-29 16:17:30 +0200 | 0050Y000000GJvrQAG | BatchInvoiceRun | INFO | Number of records per execute: ["1","1"]

Diese Funktion ist nicht standardmäßig aktiv. Anwender können diese jedoch durch einfache Konfiguration (Log Level INFO in den Global Settings) einrichten.

Buchungsschlüssel

Externe Systeme (z.B. Buchhaltungssysteme wie SAP) erfassen Informationen wie Kontoart, Soll/Haben, Stornierung usw. in spezifischen Buchungsschlüsseln. JustOn speichert diese Informationen an der Rechnung in den Attributen invoice class und invoice type. Die verschiedenen Kombinationen der Attributwerte bilden dann die jeweilige buchhalterische Bedeutung ab.

Bedeutung Invoice Class Invoice Type
Debitorenrechnung Invoice
Debitorenratenrechnung Invoice Installment
Debitorengutschrift Credit
Debitorenteilgutschrift Credit Partial Credit
Debitorenrechnungsstornierung Credit Cancelation
Debitorengutschriftstornierung Invoice Cancelation
Debitorenteilrückforderung Invoice Partial Credit

Rechnungsdokumente

JustOn legt für jede elektronische Rechnung einen Datenbankeintrag (Record) in der Datenbank der Force.com-Plattform ab. Die entsprechenden Objekte Invoice und Invoice Line Item enthalten alle Felder, für die pro Eintrag entsprechende Daten abgelegt werden.

Objekt Datenfelder
Invoice Referenz Invoice
Invoice Line Item Referenz Invoice Line Item

Exportschnittstellen

Standardmäßig erzeugt JustOn PDF-Dokumente von Rechnungen. Die erzeugten PDF-Dokumente werden per E-Mail oder Post an Kunden versendet und können exportiert und archiviert werden. Der Inhalt der PDF-Dokumente lässt sich mithilfe von Vorlagen konfigurieren (siehe Rechnungen und Vorlagen).

Darüber hinaus besteht die Möglichkeit, Rechnungen zur Verwendung in Drittsystemen aus JustOn heraus in andere Dateiformate zu exportieren, z.B. als CSV oder XML. Welche Exporte unterstützt werden, welche Felder im Dokumentexport enthalten sind usw., kann projektspezifisch variieren und wird ggf. projektspezifisch dokumentiert.

Info

Die in den exportierten Dokumenten (PDF, CSV oder XML) enthaltenen Daten sind Kopien der in den Feldern des Datenbankeintrags gespeicherten Daten.

Der folgende Code stellt beispielhaft eine mögliche Konfiguration eines CSV-Exports von Rechnungen dar.

{
    "rows":{
        "headerRow":["Custom CSV Export of Open Invoices","TimeStamp","UserName"],
        "invoiceHeaderRow":["Number","Date","Amount"],
        "invoiceRow":["Name","Date__c","GrandTotal__c"],
        "lineItemRow":["Quantity__c","PosTotalNet__c","PosTotalTax__c","invoice.PaymentDueDate__c","GLAccount__c","Center__c"],
        "combinedTaxRow":["TaxAmount","TaxRate__c","AppliedTaxRule__c"]
    },
    "rowOrder":["invoiceHeaderRow","invoiceRow","lineItemRow","combinedTaxRow"],
    "rowFilter":{
        "lineItemRow":[
            {
                "field":"Type__c",
                "equals":true,
                "value":"Information"
            }
        ]
    },
    "decimalPlaces":{
        "calculated":{
            "TaxAmount":2
        },
        "Invoice__c":{
            "GrandTotal__c":3
        },
        "InvoiceLineItem__c":{
            "Quantity__c":0
        }
    },
    "markAsExported":false,
    "columnSeparator":";",
    "useASCII":false,
    "options":{
        "decimalSeparator":".",
        "groupingSeparator":"'",
        "dateFormat":"yyyy-MM-dd",
        "timeFormat":"HH:mm",
        "language":"en"
    }
}

E-Mail-System

Software Beschreibung
Force.com Rechnungsversand per E-Mail aus JustOn

Für den Versand von Dokumenten per E-Mail bedient sich JustOn des durch die Integration zur Verfügung stehenden E-Mail-Dienstes der Force.com-Plattform (siehe u.a. An Introduction to Email Services).

IT-Infrastruktur der Anwender

Der Anwenderzugriff auf JustOn erfolgt per Webbrowser über eine gesicherte Verbindung (HTTPS), prinzipiell gesichert und zurechenbar über ein Salesforce-Benutzerkonto.

Die Beschreibung der IT-Infrastruktur der Anwender, etwa der Client-Systeme, von denen aus browserbasiert auf JustOn zugegriffen wird, ist nicht Bestandteil dieses Dokuments und erfolgt ggf. in einer projektspezifischen Dokumentation.

Datensicherheit

Die Force.com-Plattform und die integrierten Applikationen beinhalten eine Vielzahl von Sicherheitsfunktionen und Konfigurationseinstellungen, die die Datensicherheit auf allen Ebenen gewährleisten. Das umfasst alle Aspekte von der Benutzer- und Mandantenauthentifizierung, über die Vergabe von Administratorrechten bis hin zum Datenzugriff und Freigabemodell, einschließlich

Unternehmenssicherheit: Salesforce schützt die Daten einer Organisation vor dem Zugriff durch andere Organisationen mithilfe einer eindeutigen Kennung, die den Datenzugriff auf allen Ebenen für alle Benutzer (einschließlich Salesforce-Mitarbeiter) außerhalb der Organisation verhindert.

Benutzersicherheit: Die Benutzerauthentifizierung bietet in Kombination mit IP-basierter Sicherheit auf Netzwerkebene, Sitzungseinschränkungen und Transaktionsprotokollen ein entsprechendes Maß an Kontrolle sowie Einsicht in Aktivitäten von Benutzern und der Nutzung des Systems.

Programmatische Sicherheit: Konfigurierbare, authentifizierte Sitzungen ermöglichen den Zugriff auf Logik, Daten und Metadaten. Salesforce bietet außerdem einen Scanner, der den Code der auf Force.com entwickelten Apps analysiert und deren Sicherheit in einem Bericht dokumentiert.

Transparenz: Salesforce zeigt in Echtzeit Informationen zur Systemleistung und -sicherheit an (siehe trust.salesforce.com) und gibt Tipps zu sicherheitsrelevanten Best Practices.

Weitere Informationen zu Sicherheitsaspekten erhalten Sie im Salesforce Security Guide.

Zu den verwendeten Berechtigungsverfahren, die einen Zugriffsschutz und damit die Datensicherheit (Schutz vor Manipulation der Stamm- und Bewegungsdaten in JustOn) sicherstellen, gehören

Benutzerauthentifizierung

Grundsätzlich lässt sich der Zugriff auf eine Organisation (und damit prinzipiell auf deren Daten) sicher gestalten, indem Anwender autorisierte Benutzer für ihre Organisation verwalten, Kennwortrichtlinien festlegen und einschränken, wie sich Benutzer anmelden können.

Neben ihrem eindeutigen Benutzernamen müssen Benutzer bei jeder Anmeldung ihr Kennwort angeben. Salesforce-Anwender können je nach Anforderung für ihre Organisationen eigene Kennwortrichtlinien festelegen, wobei für JustOn folgende Standardeinstellungen gelten:

Einstellung Standardwert
Gültigkeitsdauer von Kennwörtern 90 Tage
Kennwortlänge 8 Zeichen
Kennwortkomplexität Muss aus Buchstaben und Zahlen bestehen
Kennwortfrage erforderlich Darf kein Kennwort enthalten
Maximal zulässige ungültige Anmeldeversuche 10
Anmeldesperre 15 Minuten

passw_policy
JustOn-Standardeinstellungen für Kennwörter

Weitere Informationen finden Sie in der Salesforce-Hilfe unter Einrichten von Kennwortrichtlinien | Salesforce.

Salesforce bietet zusätzliche Tools für die Identitätsüberprüfung, die die Sicherheit einer Organisation erhöhen, indem sie für jede Benutzeranmeldung eine zweite Authentifizierungsstufe erzwingen ("Zwei-Faktoren-Authentifizierung"). JustOn-Anwender können diese je nach Anforderung einsetzen, um ihre Stamm- und Bewegungsdaten vor nicht autorisiertem Zugriff zu schützen. Dazu gehören:

Mobile Salesforce Authenticator-Anwendung: Mit der Salesforce Authenticator-Anwendung für Mobilgeräte können Benutzerkonto-Aktivitäten verifiziert werden. Salesforce sendet eine Push-Benachrichtigung an das Mobilgerät, woraufhin die Aktivitätsdetails geprüft und genehmigt werden können.

U2F-Sicherheitsschlüssel: Ein mit einem Benutzerkonto verknüpfter U2F-Sicherheitsschlüssel muss in den USB-Anschluss des Computers des Benutzers gesteckt sein.

Einmalkennwort-Generator: Ist mit einem Benutzerkonto eine mobile Authentifizierungsanwendung (wie Salesforce Authenticator oder Google Authenticator) verbunden, wird damit ein Prüfcode generiert, der als "zeitbasiertes Einmalkennwort" fungiert.

SMS-Nachricht: Wenn mit einem Benutzerkonto eine Mobiltelefonnummer verknüpft ist, erhalten die Benutzer auf ihrem Telefon eine SMS mit einem Prüfcode im Text, der bei der Anmeldung einzugeben ist.

E-Mail: Salesforce sendet einen Prüfcode per E-Mail an die mit einem Benutzerkonto verknüpfte Adresse.

Weitere Informationen finden Sie in der Salesforce-Hilfe unter Zwei-Faktoren-Authentifizierung | Salesforce und An Overview of Force.com Security.

Berechtigungen und Rollen

Die Force.com-Plattform bietet ein flexibles Datenfreigabesystem mit mehreren Ebenen, mit dem unterschiedlichen Benutzergruppen unterschiedliche Datensätze zugeordnet werden. Damit lässt sich das Risiko von Datendiebstahl und -missbrauch minimieren und gleichzeitig sicherstellen, dass alle Benutzer auf die für sie relevanten Daten zugreifen können.

Organisation: Organisationen erlauben den Zugriff nur für autorisierte Benutzer, bei Bedarf eingeschränkt nach Zeit und Standort.

Objekte und Felder: Berechtigungen und Berechtigungssätze gewähren Zugriff auf Objekte und Felder von Objekten. Sie steuern damit, welche Art von Daten Benutzer sehen und bearbeiten können.

Datensätze: Mit Rollen und Freigaberegeln lässt sich der Zugriff auf bestimmte Objektdatensätze, also einzelne Teilmengen von Objekten, einschränken.

JustOn liefert standardmäßig folgende Berechtigungssätze mit:

Permission Set Beschreibung
JustOn Full Access Schreib-Lese-Berechtigung für JustOn-Objekte, unabhängig von möglichen Einschränkungen durch Rollen
JustOn Read Only Nur-Lese-Berechtigung für JustOn-Objekte
JustOn Read/Write Schreib-Lese-Berechtigung für JustOn-Objekte, wird jedem Standard-Benutzer bei der ersten Installation zugewiesen
JustOn Payment Guest spezieller Berechtigungssatz zur Benutzung eingebundener Zahlungsdienste

Benutzer in Organisationen, Rollen und Freigaberegeln werden projektspezifisch für die Anwender angelegt.

Updates und Upgrades

Die Force.com-Plattform wird dreimal jährlich aktualisiert (sog. Spring-, Summer- und Winter-Releases). Alle Updates werden sofort und ohne Eingreifen durch JustOn oder Anwender ausgerollt. Salesforce stellt damit sicher, dass integrierte Applikationen wie JustOn in einer aktuellen, sicheren Umgebung laufen.

JustOn wird ebenfalls fortwährend weiterentwickelt. Neue Feature-Releases erscheinen in der Regel zwei bis vier Wochen nach einem Update der Force.com-Plattform, Bugfix-Releases je nach Bedarf häufiger. Die ständige Aktualisierung und Fehlerbereinigung ist für den rechtlich zulässigen Betrieb als E-Rechnungs-Software unerlässlich und stellt sicher, dass die Softwarelösung sich den ändernden gesetzlichen Rahmenbedingungen zum Vorhalten steuerlich relevanter Dokumente bzw. dem Datenschutz unterliegender Dokumente anpasst und so der reibungslose und sichere Betrieb gewährleistet ist.

Die Aktualisierung der zur Nutzung von JustOn erforderlichen Benutzersoftware (Webbrowser, PDF-Betrachter) obliegt den Anwendern.