By industry
AI agents and automation for distribution, wholesale and logistics
Distribution runs on questions: is it in stock, when does it ship, what is my price, where is my consignment. Most of them arrive on WhatsApp or by phone and are answered by a person who opens the ERP and reads out a number. We build the layer that answers from the system directly — and holds anything that touches credit or price for a human.
Two weeks to a written build plan · no obligation to build with us
- Where dealer orders actually arrive
- WhatsApp inWhere dealer orders actually arrive
- Always a rule, never a model’s opinion
- Credit checkAlways a rule, never a model’s opinion
- Orders post only when they reconcile
- Reviewed writesOrders post only when they reconcile
- To a written build plan, via the audit
- 2 weeksTo a written build plan, via the audit
Where the time goes
If two of these are true, there is something here
Written the way the people doing the work describe it, not the way a process document does.
Half the order book arrives on WhatsApp
Dealers send a list in a message, sometimes as a photo of a handwritten note. Someone reads it, interprets the abbreviations, checks stock and types it into the ERP.
The phone rings all day with "is it in stock?"
The answer is in the system. The dealer cannot see the system, so a person becomes the interface — and gives a number that is right at the moment they read it.
Pricing depends on who you are, and nobody can remember
Slab pricing, dealer categories, promotional rates and one-off exceptions agreed on a call. Getting it wrong is either a margin loss or a dispute.
Delivery status is a chain of phone calls
The dealer asks the rep, the rep asks dispatch, dispatch asks the driver. By the time the answer comes back it has changed.
What we connect to
The systems you are already running
Distribution businesses are usually one ERP, one warehouse system and a great deal of messaging. We connect all three rather than asking dealers to change how they order.
- ERP and order management
- SAP Business One
- Odoo
- Microsoft Dynamics 365 BC
- Tally
- Zoho Inventory
- Custom order systems
- Warehouse and transport
- WMS platforms
- 3PL APIs
- Barcode / RFID scanners
- Route planning tools
- GPS / telematics feeds
- Channels and customers
- WhatsApp Business API
- Dealer portals
- Zoho CRM
- HubSpot
- Carrier tracking APIs
What we build here
Five things worth building for distribution & logistics
Each one names the systems it touches, because an integration that is not named is an integration nobody has thought about yet.
- 01
Order capture from messages
A dealer’s message — typed list, forwarded PDF or photograph of a note — read into line items against your catalogue, with abbreviations and local product names mapped to real SKUs. Anything ambiguous is asked back rather than assumed.
- Touches
- WhatsApp Business API · catalogue · ERP sales orders
- What changes
- Orders enter the system in minutes, in the dealer’s own words.
- 02
Stock and delivery answers on demand
Availability, expected ship date, dispatch status and tracking answered directly to the dealer, with the customer identified first so pricing and allocation stay confidential.
- Touches
- WMS · ERP · carrier tracking
- What changes
- The phone stops being the stock lookup interface.
- 03
Price and credit as enforced rules
Dealer category, slab pricing, active promotions and outstanding credit applied as versioned rules. An order that breaches a limit does not silently fail — it goes to the sales rep with the reason attached.
- Touches
- ERP pricing tables · credit ledger · CRM
- What changes
- Fewer pricing disputes, and no order shipped past a credit limit by accident.
- 04
Dispatch and route paperwork
Picking lists, delivery notes and consignment paperwork generated from confirmed orders, grouped the way your dispatch team actually loads vehicles, with proof-of-delivery captured back against the order.
- Touches
- ERP · WMS · driver app / POD capture
- What changes
- The paperwork leg stops being a bottleneck at the loading bay.
- 05
Replenishment signals
Sales velocity, lead time and seasonality read together to flag lines heading for a stockout and lines sitting dead. Proposed purchase quantities, never automatic purchase orders.
- Touches
- ERP sales history · stock ledger · supplier lead times
- What changes
- Buying decisions start from a list rather than from memory.
How it is put together
How a WhatsApp message becomes a confirmed order
The hard parts here are not the model. They are mapping a dealer’s shorthand to your catalogue and being strict about credit — so both are handled outside the model, deliberately.
- 01
Receive
Messages arrive through the WhatsApp Business API or a monitored mailbox. The raw message, including any image, is stored before interpretation — a dispute about what was ordered is settled against the original.
- 02
Interpret
Line items extracted and matched to SKUs using your catalogue plus the alias table built during discovery, where "2 ctn small blue" becomes a real product code. Unmatched lines are queried, not guessed.
- 03
Price and allocate
Dealer category, slab and promotion applied from the ERP pricing tables. Stock allocated against real availability rather than the last cached number.
- 04
Test against credit
Outstanding balance, credit limit and overdue ageing checked as a hard rule. Over the limit is a stop, not a warning, and it routes to the named rep for that dealer.
- 05
Confirm and record
The order is created in the ERP with an idempotency key on the message id, the dealer gets a confirmation in the same thread they ordered in, and the whole decision path is logged.
Your data
What we will and will not do with it
Stated plainly, and without claiming a certification we do not hold. If a requirement here is harder than what is written, say so on the call and we will tell you whether it is buildable.
Credit decisions are rules, not judgement
Whether a dealer may exceed a limit is a commercial decision that belongs to your team. The system enforces the limit and routes the exception; it does not weigh up whether this dealer is probably good for it.
Dealer pricing is confidential between dealers
Identification happens before any price is quoted, and the credential the agent uses can only read the requesting dealer’s terms. Leaking one dealer’s price to another is the failure mode this sector actually fears.
WhatsApp is a channel, not a system of record
Orders live in your ERP. The message thread is evidence, stored and linked, but nothing depends on a chat history staying intact — phones get replaced and groups get cleared.
Proof
The same reconciliation problem, one step upstream
Base Papers is a manufacturer rather than a distributor, but the problem was identical: the stock ledger and the books disagreed because the real work was happening in a spreadsheet beside the system. We replaced it with a system the numbers live in. Distribution adds the dealer-facing layer on top of exactly that foundation.
- For stock and accounts
- Single sourceFor stock and accounts
- Floor to ledger
- Real-time syncFloor to ledger

Technology
What this gets built with
We pick the boring option unless there is a reason not to — the framework is the part most likely to be abandoned before your system is.
- Channels
- WhatsApp Business API
- Email ingestion
- Dealer portal (Next.js)
- Webhooks
- Agents and extraction
- LangGraph
- Document AI
- OCR
- SKU alias matching
- Structured output
- Integration
- SAP B1 Service Layer
- Odoo XML-RPC
- REST / SOAP adapters
- Python
- FastAPI
- Platform
- PostgreSQL
- Redis
- Celery
- Idempotency keys
- Audit log
How the engagement runs
Five phases, each with something you can hold
Every phase ends in a named deliverable. You can stop after any of them and keep what has been built.
- 01Week 1–2
Sit with the work
We watch the process as it is actually done, not as the process document says. The output is a map of every step, which system it touches and how long it takes.
DeliverableProcess map and a shortlist of what is worth automating - 02Week 2–3
Design the access layer
Which systems get read, which get written to, what scope each credential carries, and which decisions stop for a person. Agreed in writing before anything is built.
DeliverableArchitecture and permission model - 03Week 3–8
Build against your real data
Built in your sandbox against real records, not a demo dataset. The write path goes through a review queue from the first day, so nothing lands in a live system unseen.
DeliverableRunning system in staging, with the review queue - 04Week 8–10
Run it beside the humans
It runs in parallel with the people doing the job. We compare the two outputs, fix what differs, and only then start letting the routine path through unattended.
DeliverableAgreement rate report and a go-live threshold - 05Ongoing
Hand over and watch
Source code in your repository, deployment in your accounts, cost and failure dashboards you can read without us. Support if you want it, not because you are locked in.
DeliverableRepository, runbook and monitoring
Why Devs Core
Three reasons that are checkable
We run two of our own products
Cadenza and Budge are ours. What an agent costs per run, where it fails and which decisions need a person came from operating them, not from a vendor deck.
The write path is reviewed by default
Anything that changes a record in a system of record goes through a queue a person can see. You choose what graduates to unattended, and when.
You own the code
Source in your repository, infrastructure in your accounts, model keys in your name. There is no runtime of ours you have to keep paying for.
Questions
Distribution & Logistics — the questions we get asked
Our dealers will not use a portal. They want WhatsApp.
Then build for WhatsApp. Forcing a channel change on a dealer network is how these projects fail — the portal gets built and the orders keep arriving in chat. We treat the channel your dealers already use as the requirement and put the structure behind it.
How does it handle a dealer who orders in their own shorthand?
With an alias table built from your historical orders during discovery, plus a question back to the dealer when a line is genuinely ambiguous. Over the first weeks the unmatched rate falls quickly, because most dealers use the same shorthand every time.
Can it confirm an order without a human at all?
For clean orders inside credit and price policy, yes — once it has proved itself. New dealers, credit exceptions, unusual quantities and anything outside policy stay with the rep. You set that boundary and can move it whenever you want.
What happens when the ERP is down or slow?
The message is already stored, so nothing is lost. Confirmation is deferred rather than faked, the dealer is told the order is received and being confirmed, and the queue drains when the ERP returns. Telling a dealer an order is confirmed when it is not is a worse outcome than a delay.
Do you do route optimisation?
We integrate with route planning tools rather than writing our own solver. In most distribution businesses the bigger, cheaper win is upstream — the order and paperwork legs — and we would rather tell you that than sell you a harder problem.
We already have a dealer portal nobody uses. Is that wasted?
Not necessarily. A portal that nobody logs into is often a fine system with the wrong front door. The same APIs can serve a WhatsApp agent, and dealers frequently drift back to the portal once it stops being the only way to get an answer.
Related
What distribution & logistics buys most often
- Read more
AI Agent Development
Agents that take real actions in your systems — reading live data, drafting work, and writing back only what a person has approved.
From $6,500 - Read more
Process Automation
Replace the manual steps between two systems — the re-keying, the copy-paste, the spreadsheet that reconciles what neither system knows.
From $4,500 - Read more
AI Integration Services
The access layer between the software you already run and any AI model — so an agent can reach your ERP, CRM or helpdesk without being handed the keys.
From $8,000 - Read more
Mobile App Development
iOS and Android from one Flutter codebase, or native where the hardware demands it.
From $9,000
Tell us which process is costing you.
Thirty minutes, no preparation, no deck. You describe what keeps going wrong and we tell you whether AI is the answer — including when it is not.
Prefer email? contact@devs-core.com