Zum Hauptinhalt springen

Technische API-Dokumentation | Microsoft Dynamics 365 Business Central

Vanessa Marx avatar
Verfasst von Vanessa Marx
Diese Woche aktualisiert

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

  1. Datensynchronisierung (Import): Moss ruft Stammdaten (Konten, Verkäufer, USt-Setup, Dimensionen) von BC ab.

  2. Vorbereitung der Transaktion: Moss ergänzt Transaktionen mit den richtigen BC-Referenzen und Dimensions-Tags.

  3. Export (Erstellung von Dokumenten): Moss erstellt Kaufrechnungen und Gutschriften in BC.

  4. Zahlungsabgleich: Moss bucht Einträge im Zahlungsausgangsbuchblatt, die sich auf dasselbe Dokument beziehen.

  5. 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.
    app

  • Die 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

  1. 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.

  2. 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

  1. Entra-Admin genehmigt Moss → BC-OAuth-Verbindung.

  2. Moss installiert und aktiviert die mandantsbezogene Erweiterung in deiner BC-Umgebung.

  3. Moss liest deine Stammdaten (Kontenpläne, Verkäufer, Dimensionen, Steuercodes).

  4. Moss erstellt/aktualisiert allgemeine Journaleinträge und Zahlungsausgangsbuchblätter der Verkäufer (optional), um die Buchungs-/Zahlungseinträge vorzubereiten.

  5. 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.

Hat dies deine Frage beantwortet?