WhatsApp orders, booked straight into the accounting system
We built an AI ordering assistant for ShingTik, a Malaysian vegetarian-food wholesaler. Customers keep ordering on WhatsApp in their own words, by text, photo or voice note, and the AI books the Sales Order in SQL Account. In build next: a tap-to-order page and an internal AI portal for staff.
ShingTik VegetarianVegetarian & frozen food wholesaler · Malaysia
WhatsApp AI ordering
Order Page
Internal AI Portal
Share of orders
~90%of all Sales Orders booked by the bot in September 2026
7 JanBuild started
14 AprFirst live orders
27 SepVoice orders live
3,840Sales Orders booked by the AI, Apr–Sep 2026
305customers ordered through it in the last 30 days
3languages: Chinese, English and Malay
97 daysfrom build start to the first live orders
00Project overview
A food wholesaler whose customers order on WhatsApp.
ShingTik Vegetarian (盛德素料) is a Malaysian wholesaler of vegetarian and frozen food, supplying restaurants and retail outlets. Codech took its WhatsApp ordering from requirements to a live AI system, and runs it in production. The first live orders came 97 days after the build started; the AI has booked 3,840 Sales Orders since.
Client
ShingTik Vegetarian Sdn. Bhd.
Industry
Vegetarian & frozen food wholesale, Malaysia
Users
Restaurant and shop owners; 305 ordered in the last 30 days
Scope
Requirements, architecture, build and operations
Timeline
7 Jan to 14 Apr 2026 (97 days to first live orders)
Status
WhatsApp ordering live · Order Page and Portal in build
The challenge
Every order retyped by hand
Customers order the way they talk: Chinese shorthand, a photo of a packet, a voice note from the kitchen. Staff read every message, matched each line to about 1,800 look-alike products and retyped it into SQL Account, so orders waited for office hours.
Our proposal
Meet customers where they already order
No new app to install: the AI works on the WhatsApp number customers already use, books straight into SQL Account, and hands over to customer service at any moment. That shipped first; the next phases were designed as proposals and prototypes the owner reviewed screen by screen.
The solution
ShingTik AI Ordering
An AI assistant that reads text, product photos and voice notes in Chinese, English or Malay, matches each line to the catalogue at the customer's own prices, and books the Sales Order in SQL Account.
Photo and voice orders, not just typed text
Customer service takes over the moment a person replies
Invoices and balances answered live from SQL Account
Nothing to migrate. The AI sits between the WhatsApp number customers already message and the accounting system the business already runs on.
Channels02
WhatsAppWhere customers order, by text, photo or voice note
respond.ioShared WhatsApp inbox: CS takeover, escalations and internal notes
AI & automation03
n8nRuns the agents and syncs: 54 workflows, 1,157 nodes
OpenAIGPT agents, embeddings and vision for product photos
Groq · WhisperWhisper large-v3 speech-to-text for voice orders
Business data03
SQL AccountSales Orders booked; invoices and balances read live
PostgreSQL + pgvectorCatalogue search, carts and the accounting mirror
Google SheetsOwner-editable allow-list, aliases and delivery zones
02The problem
Customers order the way they talk.
01
Orders in every shape
Restaurant and shop owners send WhatsApp messages in Chinese shorthand (香菇头大 5包), photos of a packet, or a voice note from the kitchen.
02
About 1,800 look-alike products
Every line had to be matched to the catalogue, where many items are the same product in a different brand or pack size, then priced for that customer.
03
Retyped by hand
Staff read each message and retyped it into SQL Account, the accounting system the business runs on. Orders waited for office hours.
03WhatsApp AI ordering Live
Order in your own words. The AI books it.
Customers keep using the WhatsApp chat they already had. The AI reads text, photos and voice notes, matches each line to the catalogue at the customer's own prices and books the Sales Order in SQL Account. Customer-service staff can step in at any moment.
Text orders
A chat message becomes a Sales Order
Free-text orders in Chinese, English or Malay are matched line by line against the SQL Account catalogue, booked as a Sales Order and confirmed back in the chat. CS gets an internal note for every booking.
Works out which outlet is ordering from the message
Customer-specific names like "my usual 豆包" are learned as aliases
Photo orders
Send a photo of the packet
A vision model sorts each image as a product, an order list, a receipt or something else. Product photos are matched on the printed text and the image itself, and the customer confirms before anything is booked.
Voice orders
Voice notes go through the same pipeline
Voice was about a quarter of inbound messages and used to be dropped. Speech-to-text now turns clear voice notes into orders, and a confidence gate sends unclear audio to a person.
Human takeover
The AI steps aside when a person replies
Complaints and anything unusual are escalated to the on-duty CS team. The moment a person replies, the AI stops answering, and it resumes when they close the conversation.
04Order Page In build
Tap to order, then back to WhatsApp.
For customers who prefer to browse, the bot sends a personal link to a picture-based order page. Their usual items are already there with last time's quantities. Confirming sends the order back as their own WhatsApp message, which books without any AI guesswork.
Aisles
Browse by aisle, with your usual items first
A category rail runs down the left: my usual items, picks for this customer, then the food categories. Quantities are prefilled from purchase history, so a repeat order is a few taps.
Signed personal link: no login, no password
The customer's own prices, from the accounting system
Personal link
The bot sends a link that knows the customer
Say "我要下单" and the bot replies with a personal order link, valid for 2 hours. The AI only decides the intent; the link itself is minted and signed by code.
Link-and-return
The order comes back as a WhatsApp message
Confirming opens WhatsApp with the order prefilled and a reference code. One tap on Send, and a fixed code path verifies the reference and books the Sales Order, with no AI in between.
05Internal AI Portal In build
The same AI, turned inward for staff.
A staff portal on top of the accounting data: ask questions in plain language, keep one reviewed knowledge base, capture supplier documents from a photo, and check customer payments against the bank. Every write waits for a person to approve it.
AI data chat
Ask the accounting data a question
A chat over live SQL Account data, scoped to each person's role. Answers come back as tables and charts with a freshness label, and can be shared to a team channel.
Figures come from data tools only, never from the model's memory
English and 中文
Knowledge Base
One source of truth the AI answers from
SOPs, policies and saved answers live as reviewed entries with versions and a review date. The AI summarises new uploads, blocks near-duplicates, and answers staff with a citation to the entry it used, or says it doesn't know.
Supplier PO intake
Photograph a supplier document
AI extracts the supplier, invoice number and lines, and matches each line to a stock item. Prices always come from the accounting system, and anything unresolved blocks posting until a person fixes it.
Payment verification
A receipt is a claim. The bank statement is proof.
Customer transfer slips from the WhatsApp bot are checked against the bank statement. Verified rows post; payments that differ, never arrived or were sent twice are flagged for a person.
The key design decision
Link-and-return, not a WhatsApp catalogue.
The obvious route was WhatsApp's own product catalogue. We rejected it: it costs a template fee per message, caps out at 500 items, and can't show each customer their own prices. ShingTik sells about 1,800 items at customer-specific prices.
Instead, the order page hands the order back as the customer's own WhatsApp message, carrying a reference code. WhatsApp stays the record the business already trusts, and the booking runs on a fixed code path instead of an AI's reading of the message.
The bot sends a signed linkMinted by code, valid for 2 hours, tied to one customer and outlet.
The customer picks by pictureUsual items prefilled, their own prices, then Confirm.
The message comes back with a reference
Reference, customer and expiry check out: bookedAnything else is left for CS, never guessed
06How it works
From a WhatsApp message to a Sales Order.
Every message goes through the same pipeline, whether it arrived as text, a photo or a voice note. The AI reads and matches; code books the order.
WhatsAppText, photos, order lists and voice notes, through respond.io
UnderstandA router agent reads the message; vision and speech-to-text for photos and voice
MatchHybrid search over the catalogue, customer aliases and purchase habits
CartLines at the customer's own prices, outlet and bill split worked out
Sales OrderBooked in SQL Account, confirmed in the chat, noted for CS
Owner-editable. The allow-list, product aliases, typo map and delivery zones live in Google Sheets the owner edits, and 14 sync workflows keep a mirror of the accounting data fresh every 10–30 minutes.
Nothing lost when the accounting API is down. If SQL Account's API fails, carts are queued and a morning job books them automatically, telling permanent failures apart from temporary ones.
07How we delivered
From a free proposal to a working system.
Every Codech project starts the same way: a written proposal, then a clickable prototype the owner approves screen by screen, then the build. Here are ShingTik's real ones. Scroll and click around.
01
AI proposalFreeWe map the workflow and design the AI, in writing
02
Clickable prototypeFreeEvery screen approved before any code
Highlights from the bilingual interactive proposal (English and 中文): the modules, the screens, the architecture and the delivery plan.
Free AI proposal + prototype
Want a proposal and prototype like this for your business?
Tell us about one workflow you'd like AI to handle. We'll send you a proposal like this one, with the AI design, the screens and the plan, plus an interactive prototype you can click through. Free.
Approved by the owner, then prototyped
Step 02 · The prototypes
Click through before anything is built
The owner reviewed these screen by screen. The portal prototype went through 69 amendments.
Loading…
Loading…
Real files from the engagement, with demo data. The portal and the Order Page are in build.
01
Step 01Live in 97 days
Requirements, architecture and build for the WhatsApp ordering AI, first live orders on 14 Apr 2026.
02
Step 02Harden in production
133 incident and change reports since May, each fixed by a scripted, reversible patch.
03
Step 03Design the next phase
Proposal, four specs and a clickable prototype per project, amended with the owner until it's right.
08Under the hood
Built to be trusted with real orders.
01A brand name alone can't invent a product
A pastry photo was once matched to dried shrimp through a brand alias. We added a product-evidence floor, placed in the empty band between noise and the weakest real match, and replayed real searches to prove it: 2 false matches removed, 24 of 24 checks passed.
02Replay 10,326 real queries before a ranking change
A ranking fix is replayed through the exact live code against 10,326 real customer queries before it ships. The last one changed 28 outcomes, all of them correct.
03An outage that booked its own backlog
When the accounting API container went down for 19 hours, the pending-order queue held 41 carts and the retry job booked 28 Sales Orders automatically, with no double bookings.
Reach out to us now. We'll look at how orders reach you today and show you what an AI ordering assistant connected to your accounting system would change, in a free 45-minute call. Then we send you a free AI proposal and an interactive prototype.