Dynamics 365 Finance supports multiple invoice formats and customer-specific layouts by combining Electronic Reporting (ER) configurations with Print management and customer setup.
- Recommended approach for multiple invoice formats per customer
Use ER-based invoice formats and Print management together:
- Use ER configurations (Customer invoice model / Sales invoice / Free text invoice / Excel layouts) as the technical vehicle for different layouts.
- Derive multiple custom ER formats from the standard invoice formats (for example, different Excel or XML layouts) and complete them so they are usable.
- Use Print management to assign the appropriate ER format per customer or per customer group.
This pattern is demonstrated for free text invoices and e-invoices in the ER quick-start and Excel examples, and the same principles apply to sales invoices.
- Using Electronic Reporting (ER) and Print management
a. Create/derive separate ER formats per layout
- Go to Organization administration > Electronic reporting > Configurations.
- For free text invoices in Excel, the pattern is:
- Expand Invoice model and select Free text invoice (Excel).
- Select Create configuration and choose Derive from Name: Free text invoice (Excel), Microsoft.
- Name the new configuration (for example,
Free text invoice (Excel) custom).
- A new version is created in Draft status that can be edited and customized (different design, structure, logo, etc.).
This same “derive from Microsoft format” pattern is used in the e‑invoice example:
- Expand Customer invoice model > UBL Sales invoice > Peppol Sales Invoice.
- Create a configuration Derive from Name: Peppol Sales Invoice, Microsoft (for example,
Peppol Sales Invoice (Litware)).
- When design is complete, change the version status to Complete so it can be used:
- On Versions FastTab, select Change status > Complete.
b. Configure ER mappings if additional data is needed
- If customer-specific data (e.g., extra tax ID, custom fields) is required, extend the model mapping:
- Create a custom model mapping configuration (for example,
Invoice model mapping (Litware)), bind new fields (such as FederalTaxID_Litware) in the Format designer > Mapping tab, and then complete the mapping version.
This pattern is shown in the e‑invoice example where a custom FederalTaxID attribute is added and bound, then used in the generated XML.
c. Assign formats via Print management
- For country-specific layouts (example: Saudi Arabia), Print management is used to select the report format:
- Go to Accounts receivable > Setup > Forms > Form setup.
- Select Print management.
- For Customer invoice and Free text invoice, choose the desired report format (for example,
SalesInvoice.Report_SA, FreeTextInvoice.Report_SA).
- The same mechanism is used to point to ER-based formats. Multiple formats can be configured and then selected per:
- Legal entity
- Customer account
- Customer group
This allows different customers to use different invoice layouts.
- Extension/customization pattern and best practices
If standard ER + Print management is not sufficient and code customization is required, follow these patterns from the ER examples:
- Use ER for layout changes instead of extending the SSRS SalesInvoice report where possible.
- Derive from Microsoft-provided ER configurations rather than modifying them directly. This ensures:
- Upgradability: new Microsoft versions can be imported and merged into custom formats.
- Separation of custom logic from standard logic.
- Complete each custom configuration version when ready:
- Model mapping: complete version (for example,
50.19.1 of Invoice model mapping (Litware)) so it becomes read-only and a new draft version is created for future changes.
- Format: complete version (for example,
11.2.2.1 of Peppol Sales Invoice (Litware)).
- Be aware of metadata dependencies:
- If a custom database field (for example,
FederalTaxID_Custom on CustTable) is used in ER mappings, that field must exist in every environment where the ER configuration is imported; otherwise, an exception occurs stating the configuration is incompatible with the target metadata.
- Automatically assigning invoice templates per customer
There are two complementary mechanisms:
a. Customer-level defaults (invoice type / layout)
- For Saudi Arabia, the invoice type is set at customer level and drives layout and title (Tax invoice vs Simplified invoice):
- Go to Accounts receivable > Customers > All customers.
- Select a customer.
- On Invoice and delivery FastTab, in the Invoice group, set Invoice type.
- If no type is set, Tax invoice is used by default.
- When invoices are printed, the title and QR code behavior follow the type, and Print management uses the configured layout (
SalesInvoice.Report_SA, FreeTextInvoice.Report_SA).
b. Print management per customer
- Use Print management overrides to assign specific formats per customer:
- In Accounts receivable > Customers > All customers, open a customer.
- Use Print management (from the customer record) to override the default invoice report and select the appropriate ER-based format for that customer.
- Once configured, when a customer invoice is posted and printed/sent (for example, via Accounts receivable > Invoices > All free text invoices > Send > Original), the system uses the customer’s Print management settings to select the correct template.
- End-to-end usage pattern (illustrated by ER examples)
The ER quick-start scenario outlines a full lifecycle that can be adapted to this requirement:
- Configure ER parameters and import standard configurations.
- Configure Accounts receivable parameters to use standard ER configurations.
- Prepare customer records for electronic invoicing.
- Add, post, and send invoices using standard configurations.
- Add custom fields and refresh ER metadata if needed.
- Design custom ER model mappings and formats (per customer layout).
- Configure Accounts receivable parameters and Print management to use custom configurations.
- Add, post, and send invoices using custom configurations.
- When Microsoft releases new versions of standard configurations, import them and merge changes into custom formats.
This pattern supports multiple, customer-specific invoice layouts in a cloud-hosted environment without directly extending the core SalesInvoice SSRS report.
References: