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
The first map will only create the header, so we will not map the line.
Then we will create a second map that will only have the SalesLines node mapped. We will need to provide a value for the document_no so NAV knows which document to use.
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.