AI Sales Order Agent for Unleashed Inventory Management System

Daniel Emaasit
CEO, Logistify AI
TLDR
A B2B distributor processing hundreds of inbound emails per day in Unleashed Software faces a problem that goes beyond order entry: the emails divide into two types that require different workflows. Firm purchase orders need to be created as sales orders in Unleashed. Enquiries asking for pricing, availability, or a formal quote need to be turned into sales quotes in Unleashed, with pricing pulled from the correct customer tier. Both types require an outbound reply: the buyer who sent an order wants a confirmation with expected dispatch; the buyer who sent an enquiry wants pricing and stock availability back. In a manual operation, each email requires someone to read it, decide what it is, open Unleashed, create the appropriate record for the right warehouse, check stock, and compose a reply. An AI agent handles the full sequence for both types: classifying the email, extracting the relevant fields, matching buyer product references to the Unleashed catalog, checking warehouse stock, creating the sales order via the Unleashed REST API or generating the sales quote as a CSV for import into Unleashed, and sending a structured reply to the sender. This post covers how each step works and what the operation looks like running at hundreds of emails per day.
The Message That Prompted This Post
A Sales Director at Europe's leading supplier of cable ties recently sent us this through our website contact form:
"We use Unleashed Software and input 100s of orders and quotes manually per day from email. We want an agent to input the data directly onto Unleashed / reply back to emails with confirmations / availability / quotes etc."
The company holds their full range in stock at their UK distribution centre in Surrey and at a European Distribution Centre in the Netherlands. Their buyers are trade customers across the UK and Europe: electrical contractors, cable management distributors, facilities management companies, and industrial wholesalers.
This use case is more involved than the standard order-entry scenario because the inbound volume contains two fundamentally different request types that need different Unleashed records and different outbound replies. Getting both right, at volume, is what this post is about.
Why Orders and Quotes Are Different Records in Unleashed
Unleashed Software has separate modules for sales orders and sales quotes. A sales order in Unleashed is a committed transaction: it reserves stock, feeds the fulfilment workflow, and converts to an invoice. A sales quote in Unleashed is a non-committing pricing document: it records what was offered and at what price, does not reserve stock, and can be converted to a sales order if the buyer accepts.
Treating all inbound emails as orders creates noise: quote requests entered as sales orders consume reserved stock that was never committed by the buyer and inflate the open orders report. Treating all inbound emails as quotes misses confirmed orders and delays fulfilment. The agent needs to correctly classify each email before creating any record.
How the Agent Classifies Each Inbound Email
Classification looks at several signals in the email simultaneously.
Signals That Indicate a Firm Order
- A formal purchase order number ("PO 45821", "Our order reference:", or a PO document attached)
- Instructional language: "Please supply", "Please dispatch", "Please send", "We require"
- A specified delivery address and requested delivery date
- The buyer's normal order pattern: buyers who consistently send firm orders are classified as orders by default unless the email text indicates otherwise
Signals That Indicate a Quote Request
- Pricing or availability language: "Can you quote", "What is your best price for", "Please advise availability", "Do you have in stock"
- A quantity that is significantly above the buyer's normal order history (suggesting they are checking if you can supply before committing)
- No PO number and no delivery address
- Conditional language: "subject to your price being competitive", "if you can supply"
For emails where the classification is genuinely uncertain (typically 5 to 10 percent of volume), the agent routes to a human reviewer rather than guessing. A misclassified quote entered as an order creates fulfilment and stock problems that are tedious to undo.
How Buyer Product References Are Matched to the Unleashed Catalog
B2B buyers of cable ties and cable management products rarely use the supplier's product codes when ordering. They describe what they want by specification: '200mm x 4.8mm black nylon, 1000 pack', 'those heavy-duty stainless steel ones we ordered in March', or '300mm UV-stabilised, natural, qty 5000'. The agent resolves these descriptions to the correct Unleashed product code using semantic matching against the product catalog.
Over time, the agent builds a confirmed alias map per customer: a record of which descriptions this specific buyer uses for each of your Unleashed product codes. That map improves with each processed order and means that a buyer who has ordered from you for two years rarely triggers a manual SKU review.
Low-confidence matches (a product description the agent has not seen before, or a description that could match multiple catalog items) are flagged for human review before anything is created in Unleashed. The reviewer sees the description, the top candidate matches from the catalog, and a single-click confirmation.
The Coordination Tax: The $1.6 Trillion Cost of Running Supply Chain on Human Hands
The CEO's thesis on why every manual handoff in your supply chain is a hidden tax — and why AI Agents are the only way to eliminate it.
Read the memoHow the Agent Checks Stock Across Two Warehouses
For a distributor with a UK warehouse and a European Distribution Centre, availability checking needs to respect geography. The agent queries the Unleashed API for the available quantity of each line item per warehouse location, then applies a routing rule:
- UK trade buyer: check Surrey warehouse first. If full quantity is available in Surrey, the order is assigned there. If not, check Netherlands for the balance.
- European buyer: check Netherlands (the EDC) first. If full quantity is available, assign to Netherlands. If not, check Surrey for the balance.
- Large volume enquiry: report combined stock across both locations in the quote reply.
The stock check runs against current available quantity in Unleashed (on-hand minus already-committed stock), not just on-hand. A reply that quotes availability against on-hand inventory without subtracting committed stock will over-promise on days when the warehouse has open orders consuming part of that inventory.
How a Sales Order Is Created in Unleashed
For confirmed orders, the agent creates a sales order via the Unleashed REST API. The order record includes the matched customer (looked up by company name, email domain, or customer code), the warehouse assignment based on the routing rule, each line with the resolved Unleashed product code, quantity, and the correct unit price for that customer's pricing tier in Unleashed.
Unleashed supports customer pricing tiers (Price Tier A through to a configurable number of tiers). The agent reads the customer's assigned tier and applies the correct price to each line automatically. If the buyer submitted prices in their email or PO, those are validated against the Unleashed tier price. Deviations above the configured tolerance are flagged before the order is created.
The buyer's original email or attachment is stored against the sales order in Unleashed as a reference. The order then feeds the normal Unleashed fulfilment workflow: pick list generation, dispatch, invoicing.
How a Sales Quote Is Created in Unleashed
Unleashed's REST API does not yet support POST access for sales quotes. Quote records are created differently: the agent assembles the full quote — customer, line items, matched product codes, quantities, and the correct pricing tier — and exports it as a CSV file formatted to Unleashed's quote import template. That CSV is then imported into Unleashed via the CSV import feature, which creates the sales quote record in the system.
The agent assigns an internal quote reference at the time the CSV is generated, before import. That reference is used in the outbound email reply to the buyer so the conversation can be tracked. When the buyer accepts the quote and sends a firm PO, the team opens the imported quote in Unleashed and converts it to a sales order through the normal Unleashed workflow.
How the Outbound Email Reply Is Composed
Once the Unleashed record is created and the availability check is complete, the agent composes and sends a reply to the original email.
Order Confirmation Reply
For confirmed orders: the reply acknowledges receipt of the PO by number, lists the line items and quantities as entered in Unleashed, confirms the dispatch warehouse (Surrey or Netherlands), states the expected dispatch date based on current stock availability, and notes any lines where stock is partially available with a lead time for the balance. The Unleashed sales order number is included as the reference.
Quote Reply
For quote requests: the reply includes a pricing table with each requested product, unit price at the buyer's applicable tier, available quantity at the relevant warehouse, and lead time for any quantity beyond current stock. The agent's internal quote reference is included so the buyer can refer to it when accepting. The tone matches what the company's sales team would write: direct, specific, no filler.
Partial Availability Reply
When stock is insufficient to fulfil the full quantity: the reply confirms the available quantity for immediate dispatch, states the shortfall quantity and the expected date when it will be available, and asks the buyer whether they want the available quantity dispatched immediately with the balance to follow, or the full order held until complete stock is available.
What Running at 100s of Emails Per Day Looks Like
At 100 to 200 inbound emails per day, the volume alone makes manual processing unsustainable for a small order desk team. But the mix of orders and quotes adds a second layer of complexity: it is not just entry volume, it is the judgment required to classify each email, pull the right record type in Unleashed, and compose an appropriate reply. That judgment work cannot be handed to a less experienced member of staff without significant error risk.
In an automated operation, roughly 90 to 95 percent of emails are processed without human intervention: classified, matched, entered in Unleashed, and replied to within a few minutes of arrival. The 5 to 10 percent that require human review are the low-confidence SKU matches, unusual quantities, genuinely ambiguous intent, or pricing deviations. A reviewer handles each exception in 30 to 90 seconds rather than processing the whole email from scratch.
Emails that arrive outside working hours are processed and replied to automatically. A European buyer in the Netherlands who sends a quote request at 7am local time receives a pricing reply before their working day is fully underway, without anyone on the UK team starting their shift yet. For a distributor competing on service speed in a commodity category like cable ties, that response time matters.

