Sales automation inside a messenger
260 orders worth UAH 22.2M and 196 documents generated automatically — over 20 months in production
The challenge
A manager spent hours retyping data from photos of documents the customer sent into the messenger. A mistake in one field went unnoticed, reached the signed contract, and then had to be fixed with a lawyer involved.
The solution
The system carries an order from the customer's first message to dispatch. Computer vision pulls the data out of photographed passports and statements, the customer confirms it themselves, and only then does the invoice, the contract, the delivery note and the carrier waybill get issued.
- ✓ Retyping data from documents stopped being a job at all
- ✓ The client confirms their details before those details reach the contract
- ✓ Carrier integration and payment tracking
- ✓ A delivery-note register with a single source of truth for the date
This system can be installed in your business as the Diwave Sales product: a bot in WhatsApp, Viber or Telegram, an admin panel and documents.
Diwave Sales — what is included and what it costs →Stack
Node.js · PostgreSQL · WhatsApp Cloud API · computer vision · pdf-lib · Nova Poshta · PM2
Why the messenger is the system
The customer never leaves the chat they were already in. They send a message, they send photographs of their documents, they confirm what was read out of them, and they get the paperwork back in the same thread. There is no portal to log into and no form to learn, and for this kind of sale that is the difference between an order that completes and one that stops halfway.
Behind that thread the order has a state. Every step — details confirmed, invoice issued, payment seen, goods dispatched — is a record rather than something a manager remembers. That is what makes the paperwork possible to generate at all: the invoice, the contract, the delivery note and the waybill all read the same confirmed data instead of being retyped four times.
The confirmation step is the one worth copying. Computer vision reads a photographed document quickly, but it reads it imperfectly, and a mistake in a name or a number becomes expensive once it is inside a signed contract. Putting the customer in front of their own extracted data, before any document exists, moves the correction to the cheapest possible moment.
What to check before starting a similar project
- • What happens when the extraction is wrong. Assume it will be, and design the moment where a human sees the fields.
- • Which date is the real one. A delivery-note register needs a single source for it, otherwise two systems will disagree in front of an accountant.
- • Who is allowed to see what. Role-based access is easier to build in from the start than to retrofit where staff already share one login.
- • What the customer sees when something fails — a payment that did not arrive, a carrier that has no such address.
FAQ
What does the system actually automate?
The path from a first message to dispatch: reading data out of photographed documents, having the customer confirm it, issuing the invoice, contract, delivery note and carrier waybill from that confirmed data, and tracking whether the payment arrived.
Does a person still review the order?
Yes. Staff work on the order inside the system with role-based access. What disappeared is the retyping, not the judgement.
Which messenger does it run on?
WhatsApp, through the WhatsApp Cloud API, with the rest of the stack listed above.