Nowadays more and more customers are using API, in order to get the data from external systems into D365 Business Central, and are using API or web services ODatafor getting the data out of D365 Business Central.
Customer feedback is as follows
- main issues with OData - not all fields are included; always LastModifiedDateTime fields are missing
- main issues with API - not all fields are available; always important fields are missing (for example currency code is missing in CustomerPayments); webhooks are limited to certain tables; published information is incomplete; sequence of entry is not mentioned
For example,
-- for sales invoice lines - discountAppliedBeforeTax - it is not mentioned, that the field is read only. It can be seen only from code.
||discountAppliedBeforeTax|boolean|Specifies whether the discount is applied before tax.||
||totalAmountExcludingTax|decimal|The total amount excluding tax. Read-Only.||
-- for invoice discount, the external developer receives an error, because invoice discount can be completed only after sales lines are inserted. But it is not mentioned anywhere.
Result: {"error":{"code":"Application_DialogException","message":"Cannot apply an invoice discount because the document does not include lines where the Allow Invoice Disc. field is selected. To add a discount, specify a line discount in the Line Discount % field for the relevant lines, or add a line of type Item where the Allow Invoice Disc. field is selected.
It would be nice to solve such issues.
Business Central Team (administrator)
Thank you for this suggestion! Currently this is not on our roadmap. We are tracking this idea and if it gathers more votes and comments we will consider it in the future. Best regards, Business Central Team