Using the
SAP Business ByDesign OData API for business objects you can easily query and get supplier data by its tax identification number (for example the VAT number).
Here are 4 ways to find a supplier by its tax ID:
Preparation: Expose SAP ByDesign supplier tax data via OData
Open work center view
Application and User Management – OData Services and create a
Custom OData Service for business object
Supplier and include the following business object nodes and elements:
Please note, that I selected the "
Enable Search"-indicator for the elements
InternalID,
BusinessPartnerFormattedName and
PartyTaxID such that I can use the OData parameter
$search to find suppliers using these elements.
Under
Function Imports I added the query
QueryByBusinessObjectSupplier:
Save and activate the Custom OData Service.
Option 1: Query
Using the query function import you can get the supplier by its tax ID.
Sample OData request:
https://{{TenantHostname}}/sap/byd/odata/cust/v1/khsupplier/QuerySupplier?NumberOfRows='20'&PartyTaxID='SE999999999901'&TaxCountryCode='SE'&TaxIdentificationNumberTypeCode='1'
As result you get the supplier root data incl. information such as the UUID, the InternalID and the supplier name.
Option 2: Filter
By a GET request on the business object node
SupplierTaxNumber you can get supplier tax data using the tax ID as filter parameter. Using the OData parameter
$expand you can follow the assoziation to the supplier root node and include the supplier internal ID, supplier UUID and the supplier name into the OData response.
Sample OData request:
https://{{TenantHostname}}/sap/byd/odata/cust/v1/khsupplier/SupplierTaxNumberCollection?$format=json&$expand=Supplier&$filter=CountryCode eq 'SE' and PartyTaxID eq 'SE999999999901'
Option 3: Search
Similar to option 2 you can use the OData parameter
$search to get the supplier tax data by the tax ID and incl. the supplier root node into the response.
Sample OData request:
https://{{TenantHostname}}/sap/byd/odata/cust/v1/khsupplier/SupplierTaxNumberCollection?$format=json...
Option 4: OData API for Data Sources
If you want to get the supplier from its tax ID using a technical user, then you could use the OData API for data sources.
Preparations:
- Activate the OData API for analytical data sources in your Business Configuration Scope.
- Create a Communication System that represents the remote system. Create a Communication Arrangement for the communication scenarios “Analytics DataSources OData”.
- Externally expose the data sources Supplier Details (BPSPPB) and Supplier Master Data (SUPPLIER).
Get the supplier UUID by the supplier tax ID, for example:
https://{{TenantHostname}}/sap/byd/odata/analytics/ds/Bpsppb.svc/Bpsppb?$select=C_BpUuid,C_TaxCountry,C_TaxType,C_TaxIdNr,Count&$format=json&$filter=C_TaxCountry eq 'SE' and C_TaxIdNr eq 'SE999999999901'
and then follow the assoziation "
to_BpUuid" or get the supplier master data by the supplier UUID, for example:
https://{{TenantHostname}}/sap/byd/odata/analytics/ds/Bpsppb.svc/Supplier?$select=C_BpUuid,C_BpIntId,T_BpFrmtdName,Count&$format=json&$filter=C_BpUuid eq guid'00000000-0001-1DEF-BA9F-CD59144F3576'