Custom build

Connect WhatsApp to SAP and your ERP

Your customers and reps already ask "where's my order?" and "can you send my statement?" on WhatsApp. We connect WhatsApp to SAP Business One, SAP S/4HANA or another ERP through its API, so those answers come straight from the system that knows them.

Last updated 26 October 2026

Order status example

Hi, where's our PO 88213?

Sales order 20419 for PO 88213: 3 of 4 lines picked. Delivery planned for Thursday 29 October.

Line 4 (20 × 50 mm elbows) is on back order. Want us to send the 3 lines now?

Yes please

SAP sales orderDeliveryStock

Yes, WhatsApp can be connected to SAP or another ERP, as a custom build through the ERP's API; there's no ready-made connector. We connect WhatsApp to your ERP's API (for example the SAP Business One Service Layer or the S/4HANA OData APIs), so customers can look up orders, stock and statements in the chat, and your ERP can trigger dispatch updates and payment reminders on WhatsApp.

What a WhatsApp and SAP integration is

It's a set of agreed conversations that read from, and sometimes write to, your ERP. A customer messages your WhatsApp number, our platform recognises what they're asking, calls your ERP's API for the answer, and replies in the chat. The other way round, when something happens in the ERP, such as a delivery being posted or an invoice falling due, the ERP (or your integration layer) tells our platform, and we send the customer a WhatsApp message.

We build this per client. You get the documents and questions your business actually needs, not a generic connector you have to bend to fit. The trade-off is honesty about scope: we agree up front which SAP objects we touch, and changes come through us.

Codeswop is a Meta Tech Provider. You connect your own WhatsApp account through Meta's Embedded Signup, and Meta bills you directly for messages, at Meta's rates.

Typical flows, both directions

Most ERP projects are a mix of the two directions below. The last column is the Meta message category, which sets the price.

DirectionExampleWhat it touches in the ERPMeta category
WhatsApp → ERP"Where's my order?"Reads the sales order and delivery statusService (a reply)
WhatsApp → ERP"Do you have 40 of item 1123 at the Durban branch?"Reads stock by warehouse and, if you allow it, the customer's priceService
WhatsApp → ERP"Please send my statement" or "resend invoice 90012"Reads open items or a billing document, sent as a PDF in the chat if your ERP or a small service can supply it at a secure linkService
WhatsApp → ERPA rep or trade customer places a repeat order in a WhatsApp FlowCreates a sales order or quotation through the APIService
ERP → WhatsApp"Your order has been dispatched", with a tracking link if your courier has oneDelivery posted or goods issueUtility
ERP → WhatsApp"Your statement for October is ready" or "invoice 90012 is due on Friday"Month-end run or due date on open itemsUtility
ERP → WhatsApp"The item you asked about is back in stock"Stock receipt for an item a customer asked to be told aboutUsually marketing

Replies to a customer who messaged you in the last 24 hours are service messages. Messages your ERP starts are sent as templates that Meta has approved, and we send them only to customers who have agreed to hear from you on WhatsApp. The categories in the table are our reading of Meta's rules; Meta sets the final category when it reviews each template.

Source: Pricing on the WhatsApp Business Platform · Customer service windows

How the build works

On the ERP side

We need an API we can call over HTTPS. What that looks like depends on your system:

  • SAP Business One. The Service Layer is SAP's REST API for Business One. It follows the OData standard and exposes business objects such as business partners, items, orders and invoices. We read and write through the Service Layer, never straight into the database.
  • SAP S/4HANA. SAP publishes OData APIs on the SAP Business Accelerator Hub, for example the Sales Order (A2X) API, API_SALES_ORDER_SRV. Your SAP team enables the ones we need, and sets up a technical user limited to them.
  • Older SAP systems and other ERPs. Sage, SYSPRO, Odoo, Acumatica and in-house systems can all work if they have an API or can call a webhook. If they can't, a small middleware service, built by your team or by us, can sit in front of the database or read a scheduled export.

Sources: SAP Learning: Service Layer API terms and documentation · SAP Business Accelerator Hub: Sales Order (A2X). We check your exact version's API documentation during scoping.

On our side

  1. Questions in, answers outA conversation program, written by our engineers, recognises the request (by button, keyword, or with Claude sorting free text), calls your ERP's API and replies. Claude can pull an order or invoice number out of a message like "the order we placed last Tuesday, PO 88213".
  2. ERP events inYour ERP or integration layer calls a secure webhook on our platform when something happens, such as a delivery posted. That starts the right WhatsApp message to the right customer.
  3. Forms with live dataFor order capture or quotes, a WhatsApp Flow can load the customer's items and prices from your ERP while they fill it in, then post the finished order when they submit.
  4. Your team in the loopAnything the automation can't answer lands in the shared inbox, and automation pauses when someone on your team replies.

Two limits we design around

Our platform's calls to your API time out after 10 seconds and accept only a small response (8 KiB, enough for a few order lines, not a PDF), and Meta gives a Flow's endpoint 10 seconds too, while advising a reply in under a second. ERP calls that return a whole document tree can be slow. So we ask your API for only the fields the chat needs, and where your system is slow we put a thin lookup service in front of it. Customers get a short, fast answer, and your ERP doesn't get hammered.

Source: Meta: Flows health and monitoring · Meta: Implement endpoints for Flows

Knowing who's asking

An order status or statement is your customer's business information, so we agree how to identify people before anything is shared. The usual pattern is to match the WhatsApp number to a contact person on the business partner record. If there's no match, or the request is sensitive, the conversation asks for an account number and a second detail you choose, or hands over to your team. We share only the documents linked to that account.

What you need to provide

  • Your WhatsApp account and number, connected through Meta's Embedded Signup, and a payment method on your Messaging account so Meta can bill you directly.
  • API access to your ERP: the endpoint, a technical user with permissions limited to the agreed objects, and a test or sandbox company if you have one.
  • Someone on your SAP side (internal or your SAP partner) who can enable APIs, set up the webhook for ERP events, and answer questions about your document types and statuses.
  • Which customers may use it, and how you want them identified.
  • The wording for the messages your ERP will start, so we can submit them to Meta as templates.
What we don't do

We don't sell a plug-in for SAP, and we don't make changes inside SAP itself; that stays with your SAP team or partner. There's no drag-and-drop builder for you to change the conversations yourself. Our shared inbox doesn't assign chats to named agents. If any of these is a deal-breaker, tell us early.

What it costs

  • Meta's charge. From 1 October 2026, a utility message to a South African number costs US$0.0095, and so does a service message after the first 1,000 free per number each month. A marketing message costs US$0.0379. Meta bills you directly, and we add nothing.
  • Our charge. A one-off build from R15,000 ex VAT, plus R7,500 per integration, depending on how many flows and ERP objects are involved, and a monthly fee from R4,950 ex VAT to host, monitor and look after it.

example A distributor sends 2,000 dispatch updates a month as utility templates: 2,000 × US$0.0095 = US$19 a month to Meta. If the same number also sends 800 service replies a month to order-status questions, those fall inside the 1,000 free service messages, as long as they are that number's only service messages that month.

Source: Meta rate cards, effective 1 October 2026. See our WhatsApp pricing page for rand examples.

Examples

Six ERP conversations worth moving to WhatsApp

Each one is a custom build on your ERP's API. The names and numbers in these cards are examples, not client results.

Questions

WhatsApp and SAP integration FAQ

Is there a ready-made WhatsApp connector for SAP?

Not from us. Every SAP or ERP integration we do is a custom build: we connect WhatsApp to your ERP through its API, scoped to the documents and questions you need. That keeps it to what your business actually uses, and it means we agree the scope with your SAP team up front.

Which SAP products can you connect to WhatsApp?

Any SAP system with an API we can reach over HTTPS. SAP Business One has the Service Layer, a REST API that follows the OData standard. SAP S/4HANA publishes OData APIs, such as the Sales Order API, on the SAP Business Accelerator Hub. Other or older systems may need your SAP team to enable an API first, or a small middleware layer in front of them.

Our SAP system is on-premise. Can it still work?

Yes, as long as there's a secure way for our platform to reach the specific API calls we need, for example through a reverse proxy, an API gateway or your SAP integration layer. We never need open access to the whole system. If nothing can be exposed, we can work from scheduled exports instead, with the trade-off that answers are only as fresh as the last export.

Can WhatsApp messages create orders in SAP?

Yes, if your ERP's API allows it and your team wants it. A customer or rep fills in an order in a WhatsApp Flow, and we post it through the ERP's API rather than into its database, so it arrives like any other order created through that API. We usually suggest starting with read-only lookups such as order status and statements, then adding writes once the read side is trusted.

What does Meta charge for ERP messages on WhatsApp?

Meta charges per delivered message by category. From 1 October 2026, a utility message to a South African number, such as a dispatch update or statement notice, costs US$0.0095. Replies inside the 24-hour customer service window are service messages at US$0.0095, after the first 1,000 free per number each month. Marketing messages cost US$0.0379. Meta bills you directly and we add nothing. See Meta's pricing page.

Do you replace our SAP partner?

No. We build and run the WhatsApp side and the connection to your ERP's API. Your SAP partner or internal team stays responsible for SAP itself: enabling the API, the technical user and its permissions, and any changes inside SAP.

Start with the question your sales desk hears most

Tell us your ERP, its version, and the one question customers ask all day. We'll show you how it would work on WhatsApp, and what we need from your SAP team.