How to add WhatsApp to Baan IV / Baan V
Short answer
Baan has no native WhatsApp feature, so the practical path is a small relay outside Baan: extract events from the Baan database or a scheduled session export, send template messages through the WhatsApp Business Platform, and post replies back through a controlled import. Keep Baan untouched and treat WhatsApp as a notification and confirmation layer, not a data entry screen.
Plants still running Baan IV or Baan V (often with Baan Vc customisations from the late 1990s and 2000s) tend to have a stable core and a very thin integration layer. Sales order clerks phone customers about delivery dates, buyers chase suppliers by email, and supervisors approve things by walking to a terminal. WhatsApp is already on every phone in the building and at most suppliers, so it is the obvious low-friction channel.
The difficulty is that Baan predates webhooks and REST. There is no event bus to subscribe to, and the vendor ecosystem moved on to Infor LN. Anything you add has to read Baan through the database, through exported files, or through the application function server, and has to write back through supported import paths rather than direct table updates.
This page describes a pattern that works on the old stack without touching Baan code more than a few lines: poll, template, send, parse reply, stage, review, import.
What teams use it for
Delivery date confirmations to customers
When a sales order line gets a new planned delivery date, send an approved template to the customer contact with order number, line and new date, and capture a Confirm or Call me reply.
Supplier PO acknowledgements
Message the supplier contact when a purchase order is released and ask for an acknowledgement and ship date. Replies land in a staging table for the buyer to accept into the PO line.
Shipment notices from the warehouse
When a shipment is confirmed in warehousing, send the carrier, tracking reference and expected arrival to the customer, saving the dispatcher a round of phone calls.
Approvals for supervisors on the move
Send a short summary of a purchase requisition or a scrap transaction above a threshold to the approver, with Approve and Reject quick-reply buttons.
Overdue invoice nudges
Finance exports the open items report weekly and the relay sends payment reminders to customer AP contacts who have opted in.
Baan IV / Baan V integration surface
- Database access: Baan keeps data in its own tables on an RDBMS (commonly Oracle, SQL Server, DB2 or Informix, depending on the install) addressed by package, module and table codes. A read-only database user with views over the order, shipment and PO tables is the usual event source.
- Session output: most Baan sessions and reports can print to a device that writes an ASCII file, which a scheduled job can pick up. This is the lowest-risk extract on systems where direct database access is restricted.
- Application Function Server (AFS): Baan IV and V expose a mechanism to drive sessions programmatically for inserts and updates, so a reviewed reply can be applied with the same validation as a user. Exact interfaces vary by porting set and version.
- Baan Data Exchange and the EDI module: file-based import and export with mapping, useful for staged order or PO acknowledgement updates.
- Baan 3GL (Baan C) and Dal scripts: can be used sparingly to write an event row into a custom table when a status changes, if polling alone is not accurate enough.
- ODBC: an ODBC route to the underlying database is commonly used for reporting and works for the relay's read side, subject to the database vendor's driver.
How it works
- 1
Define the events
List the three or four status changes worth messaging, such as delivery date change, PO released, shipment confirmed. Identify the table and column that reflects each change in your version and decide how you will detect a change (timestamp, status value, or a custom event table).
- 2
Build the extractor
A scheduled job on a small server reads new events through a read-only database view, or picks up exported ASCII files, and writes them to a relay queue with a stable idempotency key such as order, line and revision.
- 3
Register the WhatsApp Business account
Use the Cloud API directly or a business solution provider. Create message templates (utility category for order and shipment updates) and have them approved before go-live. Template wording is fixed, only variables change.
- 4
Handle opt-in and contact mapping
Map Baan business partner contacts to mobile numbers in a table the relay owns, with a recorded opt-in. Baan contact fields are rarely clean, so expect a cleansing pass.
- 5
Receive and classify replies
The Cloud API posts inbound messages to a webhook on the relay. Quick-reply buttons give clean answers. Free text is parsed by a model or routed to a human inbox.
- 6
Stage, review and import
Replies write to a staging table, not to Baan. A clerk reviews and the approved rows are applied through AFS or a data exchange import so Baan validations still run.
Example flows
Supplier confirms a purchase order
Trigger: A buyer releases a PO in Baan and the status changes to approved.
- Extractor sees the new approved PO and builds the message variables.
- Relay sends the po_released template to the supplier contact.
- Supplier taps Confirm and replies with a ship date.
- Reply is stored in the staging table with the PO key.
- Buyer reviews the queue and accepts, which triggers an import of the confirmed date.
Result: The PO line carries a supplier-confirmed date without email chasing.
Customer delivery change
Trigger: Planner moves a sales order line delivery date after an MRP run.
- Extractor compares the new date to the last message sent.
- If the shift exceeds a set number of days, the relay sends the template to the customer.
- A customer reply of Call me opens a task in the sales team inbox.
Result: Customers hear about slips from you first, and only material changes generate messages.
Keeping data on-prem
Baan sites are usually on-prem, often on older Unix or Windows servers that should not be exposed to the internet. Keep Baan and its database inside the network, run the extractor and relay in a DMZ or a small VM that only makes outbound HTTPS calls to the WhatsApp Cloud API and receives inbound webhooks through a reverse proxy. The relay holds the staging tables and credentials, so Baan itself never talks to Meta. If message content must not leave at all, WhatsApp is the wrong channel; use an internal messenger instead. Any reply parsing with AI can run on a local open-weight model so order details are not sent to a third-party model.
Security checklist
- Use a read-only database account scoped to the views the relay needs, and never write to Baan tables directly.
- Send only what a template needs. Avoid pricing or drawings over WhatsApp unless the customer has agreed.
- Record opt-in per contact and honour opt-out keywords, as the platform policy requires.
- Verify webhook signatures and keep access tokens in a vault, not in scripts on the Baan server.
- Log every outbound message and every applied import with the user who approved it.
Ways to get it done
Build the relay in-house
Effort: Typically a few weeks for one or two flows, mostly spent on contact cleansing and template approval.
Teams with a developer who knows both Baan data and web APIs and a small number of message types.
Use a generic WhatsApp or iPaaS tool with a database connector
Effort: Days to configure, but two-way import into Baan still needs custom handling.
Sites that already have an integration platform and can point it at a read-only Baan database view.
Work with a partner such as Netray
Effort: Scoped as a short project; Netray builds the relay, staging queue and review screen around your existing Baan.
When the Baan skills are scarce and you also want reply understanding and a review queue.
Pitfalls
- !Contact numbers in Baan are free text and often landlines. Budget time to validate mobile numbers in E.164 format.
- !Change detection by polling can double-send when a date is edited twice. Use an idempotency key and a minimum change threshold.
- !Templates take time to approve and cannot be edited freely; draft them before the project clock starts.
- !The 24 hour customer service window means free-form replies are only possible shortly after the customer writes.
- !Writing replies back through custom SQL bypasses Baan validations and can break MRP data. Always import through supported paths.
Frequently asked questions
Does Baan have a WhatsApp connector?
No native connector exists for Baan IV or V. Integration is done through an external relay that reads from the database or exported files, calls the WhatsApp Business Platform, and writes confirmed data back via an import path. Some third-party integration tools can connect to the database, but you still design the flows and mapping yourself.
Can I do this without touching the Baan server?
Mostly yes. A read-only database view or scheduled ASCII export gives you events with no change to Baan code. The write side is the part that needs care, and it can use a data exchange import or AFS invoked by a clerk-approved job rather than any change to Baan sessions.
Is WhatsApp allowed for business notifications?
Yes through the WhatsApp Business Platform, which requires opt-in, approved templates for messages sent outside the service window, and respect of opt-out. Personal WhatsApp accounts or unofficial libraries violate the terms and risk account bans, so avoid them for any business process.
What if our Baan version is very old?
The relay is outside Baan, so the age of Baan matters less than the database and the ability to export. If you can read the database or print to file, you can build it. Version differences mainly affect table names and the exact import mechanism, which you confirm during discovery.
Should replies update Baan automatically?
Not at first. Stage replies, show them to a clerk and import approved rows. Once accuracy is proven on one flow, you can auto-apply low-risk updates such as acknowledgement dates inside tolerance, while anything touching quantity or price keeps a human step.
Want WhatsApp working on your Baan IV / Baan V?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment