Dynamics NAV Configuration
The integration requires a collection of OData Web Service “endpoints” to be exposed in order to function. OData is a web service protocol that allows the integration to read and write data to the Dynamics NAV database and must be activated using the Dynamics NAV Administration tool.
OData Services Activation
If using connecting to Dynamics 365, skip to Exposing OData Endpoints.
Ensure OData Services is enabled. This checkbox must be checked.
Note the Port value. This will be required in the URL to access exposed OData endpoints.
Edit button to enable editing if OData Services is NOT enabled.
Exposing OData Endpoints
After OData Services have been enabled, Dynamics NAV must have the following list of endpoints exposed. In the Dynamics NAV client the Web Services interface can be opened by navigating to Departments > Administration > IT Administration > Services > Web Services. Create a new “Page” Object Type for each Object ID in the following table and ensure that each new entry has the Published column checked. The Object Name represents the interface to be exposed. The Service Name can be any URL safe value that represents the interface being exposed. Each defined Service Name should be unique to the Object Name.
OData Endpoint Entry Example
The following screenshot illustrates an example entry for Object ID 43, Sales Invoice.
The Service Name of “ARInvoice” will be applied to the OData URL upon publishing. Confirm that the OData Web Service is working by navigating to the OData URL in your browser.
Additional OData Configuration for NAV
If you are connecting to Dynamics 365, skip to Additional OData Configuration for 365 and ignore this section.
Depending on the Dynamics NAV version and/or release, there may be additional fields that need to be added to the “Page” from within the Dynamics NAV Development environment. The integration requires “mapping” to all required user defined endpoint service names before any data can be transferred into Dynamics NAV. This Endpoint Mapping interface attempts to validate the available fields for each endpoint and will log any issues if they exist. See Integration Configuration, for details on the integrations Endpoint Mapping Module.
As an example, if your General Ledger Entries endpoint (object ID 20) does not have the “External_Document_Number” field available, it will need to be added using the Dynamics NAV Development Environment. Open the NAV Development Environment and open the proper database by navigating to File > Database > Open
Select the proper Database Name and click OK. This should open the Object Designer. If the Object Designer is not visible it can be opened by navigating to Tools > Object Designer.
Make sure the “Page” Object Type is selected then find the Object Name or ID needed (in this case General Ledger Entries, ID 20). Select the row and click Design to open the Page Designer.
Select the first available field record then Navigate to View > Field Menu to open the Field Menu list.
Scroll until the Field necessary is found (in this case External_Document_Number), select the row, and click OK. Click Yes to the Confirmation prompt to add the field(s) that is selected. Navigate to Tools > Compile to update the Dynamics NAV database to complete adding the missing field to the Page.
Additional OData Configuration for 365
If you are connecting to Dynamics NAV, please see Additional OData Configuration for NAV and ignore this section.
Certain Dynamics 365 extensions or configurations may prevent the integration from successfully importing data to certain OData Pages. You can update (or “Design”) Pages in Dynamics 365 manually through the Sandbox environment, and then publish them into your Production environment, or you can request a custom extension to fix identified out-of-the-box issues. (See Customizations.)
To manually Design changes to a Page, navigate to the desired Page in the Dynamics 365 sandbox environment, click the cog in the upper right, and click Design. In this example, we’re going to add “External Document No” to the General Ledger Entries Page.
When Design mode initializes, click More > Field
A sidebar will open to the right with all the available fields the Page can contain. Search for the field to be added, then click and drag the field onto the Page in the desired location.
After the field loads into the Page, click Stop designing. You will be required to publish the changes, providing values for Extension Name and Publisher. Be sure to select the Download Code checkbox so that the published extension can be uploaded into your production environment. Click Save after inputting the required values to download the published extension.
Dynamics Web Service Access
You will need to enable a Web Service Access Key for the Dynamics User that will be used to authenticate with the Dynamics web services. Open up the User Card for the desired Dynamics User and click the ellipsis on Web Service Access to generate a key.