When utilizing configurable business documents (Electronic Reporting) in Dynamics 365, additional steps are required to dispatch various documents such as invoices, delivery notes (referred to as packing slips in the US), sales order confirmations to customers, or purchase order requests to suppliers. Begin as usual with Accounts receivable > Setup > Forms > Form setup, Print management. Select the appropriate Electronic Reporting (ER) configuration as a Report format.
It’s important to note that the conventional flexible print destinations outlined in Set up print management for a module | Microsoft Learn are not applicable for ER reports. Instead, navigate to Organisation Administration > Electronic Reporting > Electronic reporting destination. Here, for each ER configurable business document, create a dedicated line where you can specify Email as the destination under the Settings.
Programmable e-mail recipients
Here’s where it gets interesting: for each From, To, Cc address, clicking Edit provides you with the flexibility to choose between the traditional hard-coded method of extracting business party account details (+Add, Print Management email) or the Configuration email, featuring a low-code ER formula. When opting for the latter choice, Electronic Reporting grants access to the corresponding ER model.
The From formula can be a simple hardcoded text with the unattended e-mail address: "noreply@erconsult.eu"
. The mails will be sent via SMTP on its behalf, thus it must be a true Exchange 365 account.
The To = @Business@ field is employed to choose one among several electronic contact addresses (emails) of the party based on the electronic address Purpose. This configuration remains consistent with the classic Print Management setup.
For the Email source account for the To e-mail address, consider the following examples:
Configurable Business Document | Party | ER Formula to extract the account number |
---|---|---|
Sales order confirmation | Customer | model.SalesConfirm.BuyerCustomerParty.Party.PartyIdentification.AccountNumber |
Sales order packing slip | Customer | Missing in the mapping; modify model.BuyerCustomerParty |
Sales invoice | Customer | model.InvoiceBase.InvoiceAccount.AccountNum |
Free text invoice | Customer | model.Customer.AccountNum |
Collection letter note | Customer | model.AccountingCustomerParty.AccountNum |
Purchase order | Supplier | model.PurchaseOrderInquiry.SellerSupplierParty.Party.Reference |
The subject of the email can either be set as a fixed value, such as “Lieferschein / Delivery note” or dynamically constructed from components of the document model. This dynamic approach is particularly useful for the Body of the email. The FORMAT function with placeholders does not work. Instead, HTML tags must be concatenated sequentially. Thank you Ludwig Reinhard for this hint. Here is a sample:
"Dear Ladies and Gentlemen,"&"<br>"&"Attached you may find invoice "&model.InvoiceBase.Id&” for your order"&model.InvoiceBase.SalesId&".”&"<br>"&"Best regards, XXX"
Reprint documents safely
In the described setup, Dynamics 365 will automatically dispatch your configurable business documents to your business partners via email every time, even if you attempt to reprint or review the invoice, order confirmation, etc. The customers and suppliers will go nuts. Fortunately, a solution has been introduced since 2021: a feature known as Configure action-dependent ER destinations – Finance & Operations | Dynamics 365 | Microsoft Learn. This feature responds to the button clicked by the user—whether it’s ‘Copy,’ ‘Original,’ or ‘Use Print Management‘—and redirects the document to a different destination, providing a more controlled document distribution process.
With the configuration shown below, reprinted copies of an invoice are directed exclusively to the screen. The ‘View‘ option corresponds here to the buttons Copy preview and Original preview. The ‘Print‘ action is initiated during every post-and-print action when the configurable document is initially generated. Additionally, the ‘Print‘ action is triggered when the user deliberately selects Use print management for reprinting.
Do not send pro-forma documents to your business partners
The electronic reporting destinations unfold their devious nature when the people first preview a document before sending. Dynamics 365 is going to send the document via email regardless of whether the user opts to Use print management or not, proforma or not a proforma. Namely, both generating a pro-forma sales order confirmation and posting a final sales order confirmation are considered Print actions. This aspect bears potential legal consequences.
The recent feature, “Allow ER destinations adjustment at runtime (Phase 2)“, introduced in version 10.0.36, may offer assistance. However, I consider it intrusive and unsafe as it opens an additional dialog window placing the decision-making in the hands of the user: humans make mistakes.
We’ve identified a somewhat unconventional but more straightforward solution by manipulating and corrupting the Email source account mentioned earlier. Consider the following example:
IF(LEN(model.InvoiceBase.Id)>0, model.InvoiceBase.InvoiceAccount.AccountNum, "FUBAR")
If the invoice number is empty, the system returns a fabricated account number; otherwise, it returns the legitimate account number.
When attempting to send a copy of a pro-forma invoice to the customer’s email address, an exception will be raised, stating, “The email address in the To field is not valid.” The Screen destination will still succeed despite this exception.
Electronic reporting blog series
Further reading:
Z4-Meldung an Bundesbank
Enumerate lines in Configurable Business Documents
D365 Electronic Reporting: JOIN records in pairs
Electronic Reporting (ER) Cookbook 4: References in a model
Electronic reporting for data migration
Electronic Reporting (ER) Cookbook 3: Working with dates
Electronic Reporting (ER) Cookbook 2: new tips from the kitchen
Electronic Reporting (ER) Cookbook
2 Comments
Great article.
I thought there’s an option to specify a different ER destination when using the print management using the “Destination name” in the PM setup form?
Also do you know if it’s possible to set the destination on runtime via codes? There’s an additional ER destination settings for example in the SO posting form since v10.0.37, I’m just wondering if we could set that via codes.
Hello, you may have seen the reply from Christophe P. on LinkedIn: “An alternative approach is to work with an extra condition in the Print Management settings itself. Set up a condition that if no invoice number is found (Invoice =””), a separate ER destination (where mailing is not activated) is used.” Together with the Named destinations you may achieve the desired effect.