OData is an open web service standard for structured data access via RESTful API, which is used in SAP Business One via the service layer and the Semantic Layer is implemented.

Explanation / Context:
In SAP Business One, OData serves as the central mechanism for data communication between external systems and the ERP solution. It enables access to business data and reports using standardised HTTP methods such as GET, POST, PATCH and DELETE. The implementation follows OData versions 3 and 4, with specific endpoints for each version (e.g. /b1s/v1 for V3 and /b1s/v2 for V4).
The service layer uses OData to make business data objects such as customers, orders or articles available. Developers can use typical OData operators such as $select, $filter, $orderby, $expand or $apply (for aggregations and groupings). OData also allows access to user-defined fields (UDFs) and objects (UDOs) - a plus point for individual customisations in SMEs.
Of the Semantic Layerespecially in the SAP HANA context, supplements this with OData web services for analytical queries. Predefined views are provided here, which can also be addressed via HTTP and dynamically filtered with parameters.
Differentiation from related terms:
In contrast to SAP Business One DI API OData offers a modern, web-based access option, albeit with functional limitations - for example when directly executing complex SQL queries or using transactions. The DI API remains relevant for system-related operations.
Example:
An application would like to retrieve a list of all open sales orders. This can be done via OData with a simple HTTP GET call to /SalesOrders?$filter=DocumentStatus eq 'Open' without having to delve deep into SAP-specific code.
Related terms:
- Service Layer
- Semantic Layer
- DI API
- UDF / UDO
- REST API
Shopware 6 for SAP Business One
SAP Business One and DATEV - Synchronised
DATEV and SAP Business One Export & Import
SAP BTP for SAP Business One
Group-wide consolidation of ERP systems