web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Suggested Answer

when we should choose a Custom service or Odata

(0) ShareShare
ReportReport
Posted on by 976

Hi team,

As per my recent post , i almost cleared about to implement Odata and Custom services.

 

I some time confused , which approach to choose when? Either I go for Odata or Custom services.

 

 

Pls advise, when we should choose OData and when we should choose a custom service. Pls provide me an appropriate example of each.

 

Pls advise, thanks

Categories:
I have the same question (0)
  • Martin Dráb Profile Picture
    240,624 Most Valuable Professional on at

    Please explain what you mean by OData. CRUD operations on data entities? OData actions? Data management package API, which is an OData service too?

  • Suggested answer
    CU-1234529-002 Profile Picture
    320 on at

    Hi, good question. Simple rule of thumb

    Use OData when  you need standard CRUD operations (read, create, update, delete) on existing D365FO entities. Example: external system reads customer list, creates a sales order, or updates an item price. No custom logic needed, just data in/out.

    Use Custom Service when  you need complex business logic, multiple operations in one call, or the data doesn't map cleanly to a single entity. Example: external system sends an order, and D365FO needs to validate stock, calculate price, apply trade agreements and confirm all in one API call. OData can't handle that cleanly.

    In most cases OData is enough  only go for custom service when OData's standard entity methods can't cover the requirement. Thanks, 

  • Martin Dráb Profile Picture
    240,624 Most Valuable Professional on at

    As usual, the answer by @CU-1234529-002 is completely wrong. It ignores the fact that you may have business logic in data entities, it forgot OData actions etc. It claims that you can't call complex business logic via OData, but you surely can, both by data entities and OData actions.

  • André Arnaud de Calavon Profile Picture
    307,003 Super User 2026 Season 2 on at

    Hi,
    You can read more about all possible integration patterns and examples on this page: Integration between finance and operations apps and third-party services - Finance & Operations | Dynamics 365 | Microsoft Learn 

    Some additional thoughts… With OData you are bound to one main table. There can be some related records included to retrieve field values from other tables. With a custom service, you can implement multiple methods that can be called. You can have a look at e.g. the service for timesheets (TsTimesheetService). This service has methods implemented to interact with e.g. timesheet periods, resources, timesheet headers and lines. It also has some validation logic.

    With OData you can add computed columns and actions, but limited to one main source table. A service can provide a list of related methods and actions in one service.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Martin Dráb Profile Picture

Martin Dráb 361 Most Valuable Professional

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 329 Super User 2026 Season 2

#3
CU10121822-0 Profile Picture

CU10121822-0 324

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans