I recently ran into a unique error when importing Sales Transactions into NAV 2017.
Failed to create record. Unable to call service: Data object not provided.
This error message is caused by bug in the web services in NAV 2017. The OData web services link together parent and child data and creates the link between them using a lookup on the newly created header record and assigning it to the line. In the NAV 2017 web service the lookup portion is not available, so we see an error saying the object was not provided.
There are a couple options to work around this error.
Break the integration into two maps
First, we will want to log into NAV and publish a new web service. The new service will expose page 46 so we can map directly into the Sales Lines table without the broken link to the header.
Integration 1
The first map will only create the header, so we will not map the line.
Integration 2
Then we will create a second map that will only have the SalesLines node mapped.
Use the SOAP Web Services
In most scenarios I would not recommend using the SOAP Web Services, but in this case, there is a justified reason to do it. Here is a Help Article for configuring the SOAP connector. The mapping is almost the same as when using the Odata connector, other than a couple ‘specified’ fields. The NAV 2017 sample integrations includes examples of sales transactions.