How-toMicrosoft Dynamics 365 Finance and Operations (F&SCM)Electronic Reporting (ER) framework

Setting up Electronic Reporting (ER) formats in D365 Finance and Operations

Question
how to set up Electronic Reporting format in D365 Finance and Operations

Also searched as

  • D365 F&SCM Electronic Reporting configuration how to
  • how to create ER format for e-invoice D365
  • GER Electronic Reporting model mapping D365FO

Short answer

Electronic Reporting (ER, also called GER - Global Electronic Reporting) is the D365 F&SCM framework used to generate country-specific tax reports, e-invoices, and payment files without X++ code. You build it in three layers: a data model, a model mapping to source tables, and a format that renders the mapped data. Work is done under Organization administration > Electronic reporting.

Applies to: Dynamics 365 Finance and Operations (Finance, Supply Chain Management), all currently supported versions.

Build and deploy an ER configuration

  1. 1Go to Organization administration > Electronic reporting > Reporting configurations and create (or select an existing) configuration provider for your legal entity or a Microsoft-provided baseline provider.
  2. 2Create a new configuration of type Model, or import a Microsoft-supplied model (many countries ship one, e.g. for e-invoicing or SAF-T) using the Import from an XML file or Import from the Global repository action.
  3. 3Add a Model mapping under the model: this maps abstract model fields to actual D365FO data sources (tables, views, or a data model based on a query) so the framework knows where to pull values from at runtime.
  4. 4Create a Format configuration against that model mapping, choosing a format type (XML, plain text/positional, or Excel via OOXML) that matches what the destination system or authority expects.
  5. 5Open the format in the Format designer to add format components (calculated fields, format conditions, lookups) and map each to model mapping nodes.
  6. 6Set the configuration's status to Completed for each layer (model, mapping, format) - a Draft configuration cannot be used or run.
  7. 7Assign the format to the relevant business document, for example on the electronic invoice export point, the sales tax report point of exit, or Regulatory Configuration Service tax report setup, depending on which module consumes it.
  8. 8Run the document generation (e.g. Tax > Declarations > Sales tax reports, or the invoice/payment run) and confirm the ER format produces the expected file, then move the completed configuration to a production model store.

Why ER exists instead of X++ reports

Country-specific reporting requirements change often and vary by legal entity, so Microsoft moved e-invoicing, tax declarations, SAF-T, and similar outputs out of compiled X++ code and into ER configurations that partners and customers can version, export, and import without a code deployment.

The three-layer separation (model, mapping, format) means the same abstract model can have multiple mappings for different data sources or company setups, and multiple formats for different output shapes from the same mapped data - useful when one country needs both an XML submission file and a human-readable PDF/Excel copy.

Model mapping data sources

A model mapping's data source can be a plain table, a query, or a data model backed by a saved query with joins and filters. For anything beyond a single table, build a query first (in a model project) and reference it, rather than trying to force multiple joins directly in the mapping tree.

Derived and calculated values that need logic (concatenation, conditional text, date formatting) belong in the format layer as calculated fields, not forced into the model mapping - keep the mapping close to raw data so it stays reusable across formats.

Versioning and moving configurations between environments

Export completed configurations as XML (Reporting configurations > Configurations > export action) and import them into the next environment (test, UAT, production) rather than rebuilding by hand; this preserves GUIDs the framework uses to track configuration lineage.

Configurations have a version history within the tool itself - use Create configuration version for a change rather than editing a Completed configuration directly, so the previous version remains available for documents that were generated under it.

Common pitfalls

  • !Leaving a configuration in Draft status - Draft configurations do not appear as selectable in the business document setup and will not run.
  • !Editing a Completed configuration in place instead of creating a new version, which can break traceability for previously generated documents.
  • !Building complex joins directly in the model mapping tree instead of a proper query, making the mapping brittle and hard to maintain.
  • !Forgetting to re-import the destination-specific base model (many countries' Microsoft-provided models are updated periodically for regulatory changes) before customizing.
  • !Not testing the format against edge-case data (multi-currency, negative amounts, missing optional fields) before assigning it to a live document type.

How an ERP-grounded AI assistant handles this

ERPray, grounded in a company's ER configurations and Electronic reporting workspace history, can answer which format version generated a given document, trace a model mapping's data source back to the underlying table or query, and flag configurations left in Draft status - work that normally means clicking through several nested ER designer screens to piece together.

Frequently asked questions

Can I write an ER format without any X++ code?

Yes for the vast majority of cases - format designer components (calculated fields, conditions, lookups, custom functions written in the designer's own expression language) cover most requirements. X++ is only needed for very specific custom data providers.

Why doesn't my ER format show up when I try to select it on the report point?

The format's status is almost certainly still Draft, or the configuration hierarchy (model, mapping, format) has not all been marked Completed. Only Completed formats appear in the selection list on business documents.

How do I debug why a field comes back empty in the generated file?

Use the format designer's Preview or the Run function against a real record and inspect the model mapping node feeding that field - most empty-field issues trace to a mapping pointing at the wrong data source field or a filter excluding the record.

Can one ER model support several countries' formats?

Yes - that is the intended design. Define one model with the superset of fields needed, then create country-specific mappings and formats against it so shared logic is not duplicated per country.

Related

Error fix

Fixing "There are currently no batch servers available for processing" in D365 F&SCM

This message means the batch framework cannot find any AOS instance flagged as a batch server and available for the batch group the job is assigned to. The fix is almost always in server configuration (System administration > Servers) or batch group assignment, not in the batch job itself.

Error fix

Fixing "Cannot create a record in (table). The record already exists" in D365 F&SCM data entity imports

This is the standard kernel duplicate-key exception, thrown when the Data Management Framework tries to insert a staging row into a target table whose unique or alternate key already matches an existing record. It almost always means the entity's insert-vs-update logic did not recognize the target row as an update, not that you have a true accidental duplicate in your source file.

How-to

Embedding Power BI reports inside D365 Finance and Operations workspaces

D365 F&SCM can show Power BI tiles and full reports directly inside workspaces and forms, backed by either the entity store (aggregate measurements over BYOD) or embedded reports published from Power BI Desktop. Configuration happens under System administration > Setup > Power BI, then reports are attached to workspaces through personalization.

Advanced

Planning an AX 2012 to Dynamics 365 Finance and Operations upgrade

Moving from AX 2012 to D365 F&SCM is a platform change, not a version bump: X++ customizations go through a code upgrade to the new extension/overlayering model, and data moves through a structured data migration, both coordinated as an Upgrade project in Lifecycle Services (LCS). Plan it as a project with its own testing cycle, not a routine patch.

Error fix

Fixing "You do not have the following permissions on TableData (table): (permission)" in Business Central AL

This runtime error means the current user's assigned permission sets do not grant the required Insert, Modify, Delete, Read, or Execute right on that specific table. It is most common right after installing or updating a custom AL extension, because Business Central checks object-level permissions even for tables an extension owns.

Error fix

Fixing "The CIL object was not found" in Dynamics AX 2012

This error appears when the AOS tries to execute compiled CIL for a class or method that has not actually been regenerated since a code change was imported or edited, so the .NET runtime has nothing matching to run. The fix is a full compile followed by a full CIL generation and an AOS restart, not just a partial or incremental rebuild.

AI for ERP

AI for Dynamics 365 Finance and Supply Chain beyond Copilot

AI for D365 Finance and Supply Chain beyond Microsoft Copilot: private LLM grounded on data entities and OData, on-prem-capable via Local Business Data.

Stuck on Microsoft Dynamics 365 Finance and Operations (F&SCM)?

Talk to engineers who work inside Microsoft Dynamics 365 Finance and Operations (F&SCM) every week, and who build private AI that answers these questions from your own ERP data.