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

> Source: https://netray.co/erp-help/dynamics-d365fo-electronic-reporting-how-to
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

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

## Kind

how-to

## System

dynamics

## Erp

Microsoft Dynamics 365 Finance and Operations (F&SCM)

## Module

Electronic Reporting (ER) framework

## Query

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

## Alternate Queries

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

## Applies To

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

## Steps

### Build and deploy an ER configuration

**Items:**

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

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

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

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

Open the format in the Format designer to add format components (calculated fields, format conditions, lookups) and map each to model mapping nodes.

Set the configuration's status to Completed for each layer (model, mapping, format) - a Draft configuration cannot be used or run.

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

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

## Sections

### Why ER exists instead of X++ reports

**Body:**

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

**Body:**

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

**Body:**

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.

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

## Ai Angle

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.

## Faq

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

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

D365 electronic reporting setup, ER framework D365FO, GER global electronic reporting, D365 e-invoice format configuration, electronic reporting model mapping, D365 format designer, electronic reporting workspace D365, D365 tax report ER format

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
