Skip to main content

Connect SAP Business ByDesign to Claude, ChatGPT and Copilot

SAP Business ByDesign is SAP's cloud ERP for midsize companies and subsidiaries of larger groups: sales, purchasing, inventory, projects and financial accounting in one tenant. Nexatron reads ByDesign's OData services with GET requests only, and each question runs as the person's own business user.

Nexatron's hosted MCP server is listed in Claude's connector directory. ChatGPT and Microsoft 365 Copilot add the same server as a custom MCP connector. Connect SAP Business ByDesign to your Nexatron workspace once, then ask from whichever assistant you use.

What you can ask​

  • What was net sales by customer and product category last quarter?
  • Which sales orders are past their requested delivery date and not yet fully delivered?
  • How much do we owe suppliers in invoices due in the next 30 days?
  • Which materials are below their reorder point at each site?
  • Which projects have spent more than 80% of planned cost with less than half of the work done?
  • How have purchase order values by supplier changed compared with the same quarter last year?

Questions read the custom OData services an administrator defines in the OData Services work center (under /sap/byd/odata/cust/v1/) and the analytics OData service over report data sources. Sums from an analytical source are never recounted as if they were individual records.

Prerequisites​

  • A Nexatron workspace admin.
  • A ByDesign tenant, with custom OData services defined for the business objects you want to ask about.
  • A communication user that setup reads metadata as.
  • A business user for each person who asks questions, or an identity provider they sign in with.

Admin setup​

  1. In Nexatron, go to Knowledge ▸ Sources ▸ New connection and choose SAP Business ByDesign. Enter the tenant host (my<number>.sapbydesign.com or my<number>.businessbydesign.cloud.sap), the custom or analytics services to read (for example /sap/byd/odata/cust/v1/khsalesorder), and the communication user and password that setup reads metadata as. It never answers a question.
  2. If your people sign in to ByDesign through an identity provider, set that up on the connection's page under Sign-in for each person: register an OAuth client with the redirect URI shown there at that identity provider, then enter its client ID, client secret, sign-in address and token address, and select Save client.
  3. Choose who can use the connection.

How each person signs in​

Each person opens Knowledge ▸ Sources ▸ Your sign-ins and either signs in through your identity provider, where one is set up, or chooses ByDesign business user and password, enters their own business user, and selects Link my login. Use your own business user, not the communication user.

First question to try​

After you add Nexatron in Claude, ChatGPT or Copilot, ask:

Which sales orders are past their requested delivery date and not yet fully delivered?

The answer shows the definition it used and the query behind it.

Permissions and masking​

Each question runs as the person's business user, so the business roles, work center assignments and access restrictions ByDesign applies, such as by company or sales unit, decide what each answer can read. Setup reads only the services' metadata and keeps no record values.

Nexatron's own rules under Settings ▸ Workspace ▸ Access (Access) apply on top: row rules limit rows and column masking hides a column's values. They narrow what ByDesign allows and never widen it. A question that would total, average or count a masked column is refused in words, and an answer that ran under rules says so in its evidence.

Troubleshooting​

SymptomCause and fix
Nexatron asks you to connect firstYou have not linked your business user or signed in under Your sign-ins.
Your login for the connection stopped workingByDesign refused the sign-in (HTTP 401). Select Replace login and enter your current password.
An answer is refused for accessByDesign returned HTTP 403: your access restrictions do not allow that service.
A count or average over a report data source is refusedEach row of an analytical source is already a total, so it cannot be counted or averaged.
A question is refused as too largeIt needs more than the connection's row limit from one entity set (200,000 by default). Narrow it.