Automatic EU-compliant invoices from Dynamics 365 Business Central with SealDoc
Microsoft Dynamics 365 Business Central is the ERP of choice for tens of thousands of European businesses. But Business Central, like most ERP systems, generates standard PDF invoices by default. Those no longer satisfy the EU e-invoicing requirements being phased in across Europe. Since 1 January 2025 every business in Germany must be able to receive e-invoices from other German businesses; issuing them becomes mandatory on 1 January 2027 for businesses with prior-year turnover above €800,000 and on 1 January 2028 for all. Belgium followed in January 2026, France from September 2026, and Poland’s KSeF became compulsory on 1 February 2026 for the largest taxpayers and on 1 April 2026 for all others.
The SealDoc Dynamics 365 Business Central connector creates EN 16931-validated e-invoices automatically, without changes to your BC setup, and without requiring anything different from your invoicing team.
How the connector works
Unlike many ERP integrations, the SealDoc BC connector does not use polling. Instead, it uses Business Central’s native webhook infrastructure. BC sends a notification to SealDoc the moment a sales invoice reaches the status “Open”, which in BC is the point at which an invoice is definitively posted and ready for delivery.
This approach has several advantages over polling:
- Invoices are processed immediately, not at the next poll cycle
- There is no sustained API load on your BC environment
- There is no risk of missed invoices due to timing edge cases
The webhook subscription has a three-day TTL (time to live), in line with BC’s subscription limits. SealDoc automatically renews the subscription before it expires. No manual intervention is required.
Connecting via OAuth2
The BC connector uses OAuth2 through Microsoft/Azure AD. This is the most secure and robust connection method for Business Central, and it integrates naturally with the Microsoft identity platform your organization already uses.
SealDoc requests only the minimum required permissions: read access to sales invoices and the ability to register webhooks.
Supported output formats
SealDoc generates three EU standards from Business Central invoice data:
Factur-X / ZUGFeRD: The hybrid PDF-XML format built on EN16931. One of the three base formats France accepts on equal terms (with UBL and CII) for B2B e-invoices from September 2026. Accepted in Germany (for B2B outside the public sector), Belgium, the Netherlands, and Austria.
XRechnung: The mandatory format for invoices to German public-sector entities. SealDoc supports XRechnung 3.0 including Leitweg-ID routing. Automatic Schematron validation via the KoSIT validator is included.
Peppol BIS 3.0: The European invoice exchange network. Mandatory for government procurement in Belgium and the Netherlands, and the foundation for public e-invoicing networks in Germany, France, and Poland. SealDoc generates the UBL 2.1 document.
Multi-company and multi-environment
Larger organizations running multiple BC companies or multiple BC environments (production and sandbox) can connect each separately to SealDoc. Each connection has its own webhook subscriptions and compliance profile. This lets you choose a different output format per country or legal entity without affecting others.
What stays the same in Business Central
The connector is completely passive from BC’s perspective. Nothing is installed in BC: no extension, no AL code, no configuration change. SealDoc registers only a webhook via the standard BC API. Your invoicing process in BC remains identical.
When an invoice reaches “Open” status in BC, the webhook fires. SealDoc retrieves the invoice data, generates the compliant output, and writes the result to your SealDoc archive. Everything is traceable in the SealDoc audit log, including the timestamp, invoice reference, and generated format.
Error handling and reliability
If SealDoc receives a webhook notification while the BC API is temporarily unavailable, SealDoc automatically retries the data retrieval with exponential backoff. Invoices that could not be processed appear as “Pending” in the SealDoc dashboard, so you can intervene manually or trigger reprocessing.
Webhook renewals that fail (due to network issues or BC maintenance windows) are retried with the same backoff strategy. SealDoc sends a dashboard notification if a subscription cannot be renewed within 24 hours of expiry.
Getting access
The SealDoc Business Central connector is in early access. Ask us for access via the contact page and we connect your Business Central environment together.