Die Moss-Integration mit Microsoft Dynamics 365 Business Central (MSBC) ermöglicht eine nahtlose Synchronisation von Buchhaltungs- und Zahlungsdaten zwischen Moss und MSBC.
Die Integration nutzt Standard-Microsoft APIs in Kombination mit einer schlanken Moss-Erweiterung, die während der Verbindung einige benutzerdefinierte Endpunkte erstellt. Das Gesamtdesign gewährleistet Datenkonsistenz, Rückverfolgbarkeit und minimale Auswirkungen auf die BC-Umgebung des Kunden.
1. Datenimporte (Lesevorgänge)
Moss importiert wichtige Stammdaten von Business Central unter Verwendung von Standard-BC-API-Endpunkten. Diese Importe werden zur Validierung und Klassifizierung von Transaktionen vor Erstellung von Buchhaltungsdatensätzen verwendet.
Datenobjekt | API-Endpunkt | Zweck |
Kontenpläne | /accounts | Importiert den vollständigen Kontenplan des Kunden, einschließlich Konto-IDs, Nummern und Namen. Wird verwendet, um Moss-Transaktionen den richtigen Konten zuzuordnen. |
Verkäufer | /vendors | Importiert Verkäuferstammdaten, einschließlich Verkäufer-IDs, Namen und Nummern, um Moss-Zahlungen und Rechnungen mit BC-Verkäufern zu verknüpfen. |
Setup der USt-Buchung | /vatPostingSetup | Ruft USt-Unternehmens- und Produktbuchungsgruppen, USt-Sätze und BU-Schlüssel aus den USt-Einrichtungstabellen von BC ab, um in Moss die korrekten Steuersätze anzuwenden. |
Dimensionen | /dimensions, /dimensionValues | In BC konfigurierte Dimensionen importieren. Moss nutzt diese, um beim Transaktionsexport analytische Tags (z. B. Kostenstellen, Abteilungen) anzuwenden. |
⚠️ Hinweis: Moss importiert oder synchronisiert derzeit keine BC-Projekte. Es werden nur Standarddimensionen unterstützt.
2. Datenexporte (Schreibvorgänge)
Wenn Transaktionen bereit für die Buchhaltung sind, exportiert Moss sie als Entwürfe für Kaufrechnungen, Kaufgutschriften und Einträge im Zahlungsausgangsbuchblatt nach BC. Diese Vorgänge basieren in erster Linie auf Standard-BC-APIs, während die Moss-Erweiterung einige unterstützte API-Seiten für verbesserte Leistung und Validierung bereitstellt.
2.1 Erstellung von Kaufrechnungen
Endpunkt: /purchaseInvoices
Moss erstellt Kaufrechnungen im Entwurfsstatus unter Verwendung von Verkäufer-, Steuer- und Dimensionsdaten, die zuvor aus BC importiert wurden.
Funktionsweise:
Erstellt einen Rechnungskopf und Einzelposten für eine Rechnung.
Wendet Verkäufer, USt-Buchungsgruppen und Währungscodes an.
Fügt detaillierte Zeilenbeschreibungen und Dimensionszuordnungen hinzu.
Berechnet den Gesamtbetrag inklusive/exklusive USt.
Beispielanfrage:
{
"vendorInvoiceNumber": "79154644",
"vendorNumber": "K00870",
"invoiceDate": "2025-09-25",
"postingDate": "2025-09-25",
"dueDate": "2025-09-25",
"currencyCode": "EUR",
"pricesIncludeTax": true,
"vatBusPostingGroup": "INLAND",
"purchaseInvoiceLines": [...],
"dimensionSetLines": [...]
}Antwort: Gibt das erstellte Objekt „Kaufrechnung” mit der vom System generierten Rechnungsnummer, den Gesamtbeträgen und der Verkäuferverknüpfung zurück.
2.2 Erstellung einer Kaufgutschrift
Endpunkt: /purchaseCreditMemos
Wird für Kredittransaktionen oder Rückerstattungen im Zusammenhang mit Moss-Käufern verwendet. Die Nutzdaten und Antwortstruktur entsprechen denen von Kaufrechnungen, mit negativen Zeilenbeträgen oder angepassten Mengen.
2.3 Erstellung von Einträgen im Zahlungsausgangsbuchblatt
Endpunkt: /journalLines
Nachdem die Rechnungen erstellt wurden, generiert Moss Einträge im Zahlungsausgangsbuchblatt des Verkäufers, um Zahlungen zu erfassen und Transaktionen abzugleichen.
Funktionsweise:
Bucht auf einen festgelegten Journalstapel (z. B.
MOSS2).Verknüpft Zahlungen mit dem entsprechenden Kaufdokument (
mossPurchaseDocumentNumber).Wenden ein Konto an (z. B. Transit- oder Bankkonto).
Stellt die Verknüpfung mit Verkäufern und die Währungskonsistenz sicher.
Beispielanfrage:
{
"journalId": "7a2e7735-1823-ed11-90eb-0022485c23c1",
"vendorId": "4b327804-5bba-f011-bbd1-00224813b514",
"accountType": "Vendor",
"postingDate": "2025-09-25",
"amount": 101.34,
"currencyCode": "EUR",
"balanceAccountType": "G/L Account",
"balancingAccountNumber": "1201",
"mossPurchaseDocumentNumber": "107599"
}
2.4 Anhang-Verwaltung
Endpunkt: /attachments
Moss lädt Belege und Nachweise direkt zu den erstellten Kaufdokumenten hoch.
Funktionsweise:
Erstellt einen Anhang, der mit der übergeordneten Kaufrechnung oder Gutschrift verknüpft ist.
Lädt PDF-Belege und Audit-Protokolle hoch.
Nutzt die native Dateiverwaltung von BC für die sichere Speicherung und den sicheren Abruf.
Beispielanfrage:
{
"parentId": "dbcf662c-d4ba-f011-bbd1-7ced8da973c2",
"parentType": "Purchase Invoice",
"fileName": "receipt--79154644.pdf"
}
3. Zusammenfassung der verwendeten Endpunkte
Aktion | BC-Endpunkt | Richtung | Zweck |
Import von Kontenplänen | /accounts | Lesen | Konten für die Zuweisung von Transaktionen laden. |
Import von Verkäufern | /vendors | Lesen | IDs und Namen von Verkäufern abrufen. |
Import des USt-Setups | /vatPostingSetup | Lesen | USt-Gruppen und -Sätze abrufen. |
Import von Dimensionen | /dimensions, /dimensionValues | Lesen | Aktive Dimensionen für die Kennzeichnung importieren. |
Erstellung einer Kaufrechnung | /purchaseInvoices | Schreiben | Ausgabentransaktionen buchen. |
Erstellung einer Kaufgutschrift | /purchaseCreditMemos | Schreiben | Rückerstattungen oder Kredittransaktionen buchen. |
Erstellung eines Eintrags im Zahlungsausgangsbuchblatt | /journalLines | Schreiben | Zahlungsabgleiche buchen. |
Upload von Anhängen | /attachments | Schreiben | Belege und Audit-Dateien zu Rechnungen hinzufügen. |
4. Übersicht über den Funktionsablauf
Datensynchronisierung (Import): Moss ruft Stammdaten (Konten, Verkäufer, USt-Setup, Dimensionen) von BC ab.
Vorbereitung der Transaktion: Moss ergänzt Transaktionen mit den richtigen BC-Referenzen und Dimensions-Tags.
Export (Erstellung von Dokumenten): Moss erstellt Kaufrechnungen und Gutschriften in BC.
Zahlungsabgleich: Moss bucht Einträge im Zahlungsausgangsbuchblatt, die sich auf dasselbe Dokument beziehen.
Anhänge: Moss lädt unterstützende Belege und Audit-Protokolle in BC hoch.
5. Sicherheit und Berechtigungen
Der gesamte Datenaustausch erfolgt über die offizielle Business Central REST/OData API unter OAuth-Autorisierung.
Moss erfordert für den API-Zugriff eine Admin-Zustimmung in Microsoft Entra ID.
Kein direkter Zugriff auf die Datenbank oder Codeänderungen innerhalb von BC.
Die Integration ist vollständig reversibel. Durch Deinstallieren der Moss-Erweiterung oder Widerrufen der API-Zustimmung wird der Zugriff sofort entfernt.
6. Erweiterungsspezifische Endpunkte (zur Verdeutlichung)
Während die meisten Vorgänge Standard-BC-APIs verwenden, sind die benutzerdefinierten Erweiterungsendpunkte von Moss aus Effizienzgründen auf einige wenige technische Hilfsfunktionen beschränkt:
Erstellen/suchen von Kaufrechnungen und Gutschriften
Abrufen von Verkäuferbankkonten
Abrufen von USt-Buchungseinstellungen
Erstellen/suchen von Einträgen im Zahlungsausgangsbuchblatt
Abrufen von Zahlungsausgangsbuchblättern
Alle anderen Funktionen, einschließlich des Lesens von Stammdaten und des Anhängens von Dateien, verwenden die Standard-API-Struktur von Microsoft.
Technische Details für die Installation und Verbindung der Moss-Erweiterung mit Microsoft Dynamics 365 Business Central
Unten findest du eine detaillierte Übersicht darüber, wie die Moss-Erweiterung für Microsoft Dynamics 365 Business Central (BC) installiert wird, was sie leistet und was dein IT-Team beachten sollte.
Was ist installiert?
Name der Erweiterung: Moss Integration (Publisher: Moss)
Version: 1.2.0.0 • Ziel: Cloud • Laufzeit: 9.0 • Plattform: 26.x.
appDie App nutzt ein paar API-Seiten (für Einträge im Zahlungsausgangsbuchblatt, Zahlungsausgangsbuchblätter der Verkäufer, Dimensionen, Anhänge) und eine Light-Table-Erweiterung für den allgemeinen Journaleintrag in BC, um ein Moss-spezifisches Referenzfeld hinzuzufügen.
(Objekte haben das Präfix „Moss …“, z. B., MossJournalLines, MossVendorPaymentJournals, MossDimensionValues, MossAttachment.)
Installation und Verbindung
Zustimmung/Genehmigung durch den Admin: Wenn du Moss mit BC verbindest, erteilt dein Microsoft Entra-Administrator (zuvor Azure AD) die Zustimmung, dass die Moss-Anwendung BC-APIs in deinem Mandanten aufrufen darf. Die Zustimmung des Admins ist ein Standardschritt für BC-API-Integrationen.
Bereitstellung der Erweiterung: Die Moss-Erweiterung wird im Rahmen dieses Verbindungsworkflows auf deinem BC-Mandanten installiert (mandantenbezogene Installation). Die Installation einer Erweiterung in BC umfasst die Schritte „Veröffentlichen“ → „Synchronisieren“ → „Installieren“, die programmgesteuert vom Verbindungsworkflow ausgeführt werden.
Hinweis:
Die Moss-Erweiterung ist nicht in AppSource gelistet, sondern wird während der Verbindung bereitgestellt. Dies ist nach wie vor ein von BC unterstütztes Standardmuster für die Bereitstellung von Erweiterungen pro Mandant.
Moss verwendet dieselbe Verbindung, um Upgrades und Fehlerbehebungen im Hintergrund bereitzustellen.
Wenn die Verbindung zur Moss-API unterbrochen wird, deinstalliert Moss automatisch die verknüpfte Erweiterung.
Zugriff auf oder Synchronisierung von Daten
Über die Moss-Erweiterung wird nur eine begrenzte Anzahl von Business Central-Endpunkten verwendet. Diese decken die wichtigsten Aktionen ab, darunter Journalbuchungen, Verbindlichkeiten und Anhänge. Der gesamte sonstige Datenaustausch erfolgt ohne Änderungen über Standard-APIs von Microsoft Business Central.
Bereich | Richtung | Zweck/Hinweise |
Kontenpläne | Lesen | Erforderlich zur Validierung von Konten bei der Erstellung von Journaleinträgen (über das Standard-API-Modell „journalLines“ von BC). |
Verkäufer | Lesen | Wird verwendet, um bei der Erstellung von Journals im Zusammenhang mit Verbindlichkeiten auf Verkäufer-IDs/-nummern zu verweisen. |
Steuer-/BU-Schlüssel | Lesen | Aus den USt-Buchungseinstellungen von BC abgerufen, um die korrekte Codierung in den Journals sicherzustellen. |
Dimensionen & Dimensionswerte | Lesen | Dimensionswerte werden zur Validierung als schreibgeschützt angezeigt. Dimensionszeilen werden über eine Pufferseite verarbeitet, um sie mit Journals zu verknüpfen (BC-Best-Practice für die Leistung). |
Allgemeine Journaleinträge | Schreiben | Moss schreibt Journaleinträge (Beträge, Konten, Dimensionen usw.) über eine spezielle API-Seite, die auf das journalLines-Modell von BC abgestimmt ist. |
Zahlungsausgangsbuchblätter des Verkäufers | Schreiben | Moss bearbeitet/aktualisiert Batches und Zeilen im Zahlungsausgangsbuchblatt des Verkäufers, um Zahlungen vorzubereiten. |
Anhänge (Belege/Rechnungen) | Lesen/Schreiben | Belege und Rechnungen werden mithilfe der Standard-Anhangspuffer-Entitäten von BC gespeichert und verknüpft. |
Insbesondere nutzt Moss über seine Erweiterung folgende Endpunkte:
Erstellen und Suchen von Einkaufsrechnungen
Abrufen von Verkäuferbankkonten
Abrufen von USt-Buchungseinstellungen
Erstellen und Suchen von Journalzeilen
Erstellen und Suchen von Kaufgutschriften
Abrufen von Zahlungsausgangsbuchblättern
Dadurch bleibt die Integration schlank, transparent und vollständig auf das von Microsoft unterstützte API-Rahmenwerk abgestimmt.
Welche Änderungen werden an deiner BC-Umgebung vorgenommen?
Keine Änderungen am Hauptcode. Es handelt sich um eine Standarderweiterung, die den Microsoft-Basiscode nicht verändert.
Neue API-Seiten für Moss-Entitäten (Journalzeilen, Dimensionen, Anhänge, Zahlungsausgangsbuchblätter für Verkäufer).
Eine Tabellenerweiterung, die ein Moss-Referenzfeld in der allgemeinen Journalzeile hinzufügt (dient zur Zuordnung von Einträgen mit Moss).
Codeeinheiten, die Anhänge verarbeiten und die Summen im Rechnungskopf aktualisieren (um sicherzustellen, dass Beträge/USt vor der Buchung konsistent sind).
Deinstallierbar: Die App kann bei Bedarf wie jede andere BC-Erweiterung deinstalliert werden.
Sicherheits- und Genehmigungskriterien für IT
Umfang der Admin-Zustimmung: Dein Entra-Admin erteilt Moss eine mandantenweite Zustimmung für den Zugriff auf BC-APIs für autorisierte Unternehmen in deinem Mandanten. Es handelt sich um dasselbe OAuth-Modell, das auch von anderen BC-Integrationen verwendet wird.
Prinzip der geringsten Privilegien in BC: Stelle in BC sicher, dass die Moss-Anwendung (oder der dahinterstehende (Dienst)-Nutzer) über die für die beschriebenen Vorgänge (Journals, Verkäufer, Dimensionen, Anhänge) erforderlichen Berechtigungen verfügt. Moss empfiehlt, diesem Nutzer Superrechte und spezielle Berechtigungen für das Erweiterungsmanagement zuzuweisen, um Synchronisationsprobleme zu vermeiden.
Datenaufbewahrung: Alle ausgetauschten Daten verbleiben in deinem BC-Mandanten. Moss liest Stammdaten (Kontenpläne, Verkäufer, Dimensionen) und schreibt Journals/Anhänge nur, wenn dies für die Synchronisierung erforderlich ist.
Anhänge: Dateien werden mit der BC-Standardfunktion für Anhänge gespeichert. Inhalte werden über die „Attachment Entity Buffer“-Typen von BC verschoben und mit den entsprechenden Datensätzen verknüpft.
Verwaltung ändern: Da die App nur API-Seiten und eine kleine Tabellenerweiterung hinzufügt, ist das Risiko für zentrale Prozesse gering. Wir empfehlen dennoch, die App zunächst in einer Sandbox zu validieren und dann in die Live-Umgebung zu übernehmen. Dies entspricht dem von Microsoft empfohlenen Verfahren für Erweiterungen.
Überwachung und Rollback: Wie bei jeder BC-App kannst du die Erweiterung in der Erweiterungsverwaltung anzeigen und bei Bedarf deinstallieren oder zurücksetzen.
Moss empfiehlt dies NICHT, da dadurch die Funktionalität der Verbindung beeinträchtigt wird. Moss deinstalliert die Erweiterung automatisch, wenn die Verbindung zur Anwendung unterbrochen wird.
Der Ablauf im Überblick
Entra-Admin genehmigt Moss → BC-OAuth-Verbindung.
Moss installiert und aktiviert die mandantsbezogene Erweiterung in deiner BC-Umgebung.
Moss liest deine Stammdaten (Kontenpläne, Verkäufer, Dimensionen, Steuercodes).
Moss erstellt/aktualisiert allgemeine Journaleinträge und Zahlungsausgangsbuchblätter der Verkäufer (optional), um die Buchungs-/Zahlungseinträge vorzubereiten.
Moss speichert Links/Dateien als Anhänge zu den entsprechenden Einträgen unter Verwendung der Anhangspuffer von BC.
Transparenz bezüglich des Moss-App-Pakets
Das App-Manifest zeigt, dass die Ressourcenfreigabe für Debugging und Quellsymbole aktiviert ist, was für die Unterstützung standardmäßig erforderlich ist. (Felder: allowDebugging, allowDownloadingSource, includeSourceInSymbolFile.)
Bei Bedarf können wir ein kurzes Gespräch zwischen deinem IT-Admin und unserem Team vereinbaren, um den Zustimmungsbildschirm und eine Sandbox-Validierungs-Checkliste durchzugehen.
