← Back to all articles

Automatic EU-compliant invoices from Dynamics 365 Business Central with SealDoc

SealDoc Team · · 4 min read

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. Germany made B2B e-invoicing mandatory for large companies from January 2025, Belgium follows in January 2026, France from September 2026, and Poland’s KSeF becomes compulsory in February 2026.

The SealDoc Dynamics 365 Business Central connector makes compliance fully automatic, 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.

Setting up the connection:

  1. Log in to your SealDoc dashboard and navigate to Connectors > Business Central.
  2. Click “Connect with Microsoft”. SealDoc walks you through the standard OAuth2 consent screen.
  3. Select your Business Central environment and the company you want to connect.
  4. SealDoc requests only the minimum required permissions: read access to sales invoices and the ability to register webhooks.
  5. After consent, SealDoc automatically registers the webhook in your BC environment.

The connection is ready. The first compliant invoice is generated on the next sales invoice that reaches “Open” status in BC.

Supported output formats

SealDoc generates three EU standards from Business Central invoice data:

Factur-X / ZUGFeRD: The hybrid PDF-XML format built on EN16931. Mandatory in France for B2B transactions 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 handles Peppol registration and delivers 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.

SealDoc plan requirements

The Business Central connector is available from the SealDoc Pro plan. Factur-X generation is included in the Starter plan, but the OAuth2 BC connection with native webhooks and XRechnung/Peppol support requires Pro. All plans include a 14-day free trial without a credit card.


← Back to all articles