— Order engine

The WhatsApp message is the order form.

A buyer writes the way they always write — abbreviations, pack sizes, nicknames. Velo resolves each line against that client's catalog and price list, clarifies what it can't resolve, and hands the rest to a person. What leaves is a structured order.

Real messages are not forms.

Buyers don't write SKUs. They write “la crema chica”, reuse last week's shorthand, and dictate voice notes from a van. Capture has to start from that mess — not from a form they will never fill in.

Inbound · Almacén San Juan+54 9 11 •••• 2207

Text · Marcos Aguirre

09:41

“buenas, mandame 2 cajas de crema chica y 1 de yerba la que llevé la vez pasada”

Voice note · 0:17 · Carla Benítez

10:03

“…y agregale 3 del aceite de 900, el de siempre, para el viernes si se puede…”

Transcript confidence: high

A messy message in, a confirmed order out.

Five stages, every time. The rail is the whole story — the panel under it is one real order going through.

01

Capture

Text or voice note lands on the tenant's number.

02

Resolve

Each line is matched against the catalog and that client's price list.

03

Clarify

Ambiguous lines go back to the buyer as a short question.

04

Confirm

The buyer confirms the resolved order in the same chat.

05

Export

The confirmed order leaves to the operator's systems.

Order #1042 · Almacén San Juan · zone Norteresolving

Captured

“buenas, mandame 2 cajas de crema chica y 1 de yerba la que llevé la vez pasada”

  • “yerba la que llevé la vez pasada” → Yerba mate 1kg · 1 u. — matched from order history$14.550
  • “crema chica” — 2 candidate matchesClarify

    → asked in chat: “¿la crema de 200 o la de 500?” · answered: “la de 200”

    → Crema de leche 200ml x12 · 2 u. $18.400

Confirmed total · price list Norte$32.950

Every line ends in one of three outcomes.

Resolution is not a guess with a score attached — it is a fork. Where a line lands depends on how sure the agent is, and each outcome is a designed path, not a failure.

Each order line → one of three lanes

Resolved automatically

High confidence — confirmed into the order.

Clarified back to the buyer

Medium — a short question inside WhatsApp.

Handed to a human

Low — the handoff queue, conversation attached.

When it fires: a clear match

One catalog item fits, the price list prices it, the buyer confirms. The operator sees a confirmed line in the order log — nothing to do.

When it fires: two plausible matches

“Crema chica” could be the 200ml or the 500ml pack. The agent asks, the buyer answers, the line resolves. The operator sees the exchange, already settled.

When it fires: nothing reliable

No match, a contradictory quantity, a product the tenant stopped carrying. A person takes it from the handoff queue with the full conversation. The agent never guesses.

The same SKU, priced per client.

Price lists are per client and per zone — the agent quotes what that buyer actually pays, not a list price. And every confirmed clarification teaches the catalog a new alias, so “la crema chica” resolves on its own next time.

SKU-3318 · Yerba mate 1kg

Almacén San Juan — price list Norte

$14.550

Farmacia Belgrano — price list Farmacia

$13.980

Learned aliases“la crema chica” → Crema de leche 200ml x12“el aceite de siempre” → Aceite girasol 900ml x6

For the salesperson on the road, too.

The order-load surface is what a preventista opens at the client's counter: live catalog, current stock and that client's prices — the order is keyed in on the spot and lands in the same pipeline as a WhatsApp order.

Read about order load
Order load · Distribuidora Nortecatalog live
  • Crema de leche 200ml x12stock 48$18.400
  • Yerba mate 1kgstock 120$14.550
  • Aceite girasol 900ml x6stock 36$21.300
  • Harina 000 25kgstock 4$19.850

The order leaves where you need it.

  • Webhookevery confirmed order, as it confirms
  • CSV / JSONon demand, per tenant, per period
  • Developer APIpull orders, push status back
  • Zapier / Make / n8npackaged templates, no code

One honest limit: there are no native per-ERP connectors. Orders reach your system through the generic exports above or a low-code bridge — which covers most stacks, and tells you exactly what integrating will look like before you start.

Export docs

Not a lead-capture bot.

A lead-capture chatbot collects a name and a phone number for a human to call back. An order engine closes the transaction. The difference is capability, not personality.

What a message becomes

Velo: a structured, priced order

Lead-capture bot: a lead for someone to call

Pricing

Velo: per-client, per-zone price lists

Lead-capture bot: one generic script

Ambiguity

Velo: clarified back in the chat, or handed off

Lead-capture bot: guessed, or the loop stalls

When it can't resolve

Velo: a human queue with the conversation attached

Lead-capture bot: a dead end

Output

Velo: webhook, CSV, JSON, API into your systems

Lead-capture bot: a spreadsheet of contacts

Put your first client's catalog behind their number.