Skip to content

The module assistant

The warehouse module has a lot of screens. The assistant is there so you do not have to know which one you need before you can ask.

It sits in the module’s own menu bar — the wand icon at its left-hand end, labelled AI — and it is there on every screen, because a question comes up wherever you happen to be.

Answer a question. “Where do I set the collection times?” comes back with the answer and a button that takes you there. The answer comes from this product’s manual, not from the model’s general knowledge, so it describes the screens you actually have.

Draft a rule. “Orders from the wholesale group should be picked first” comes back as a rule filled into the normal form on the normal screen. You see every field, you can change any of them, and you save with the same button as always.

Prepare a stock movement. “Add 5 of the blue mug” comes back as the ordinary stock form, opened with the article, the quantity and the direction already filled in.

Answer a question about your own figures. “How many articles have no bin yet?” comes back with the number, because the shop counted it. “Which free bin is nearest the door?” comes back with the bin.

The assistant never saves anything itself. It prepares; you decide.

Section titled “Following a link without losing the answer”

Click a link in an answer and the assistant folds down to a card in the bottom-right corner rather than closing. The instructions stay readable beside the fields they describe — which is the moment they are actually needed — together with any other screen the same answer named.

Back to the conversation opens the whole thread again. The card closes with the cross and does not come back until the next answer sends you somewhere.

The assistant is told nothing about your catalogue, so it passes on the words you used and the shop looks them up. What happens next depends on what it finds:

  • One article — the form opens against it, and the picture and figures at the top say which one before you book anything.
  • SeveralChoose the article opens a grid of the ones the shop found, with pictures. If the one you want is not among them, Search the catalogue at the top searches the rest.
  • An article with variants — picking it asks the narrower question and shows its variants, because stock is held per variant and never against the parent.
  • Nothing — it says so instead of preparing a movement for an article that does not exist.

Anything with only one possible answer is filled in for you. A shop with a single warehouse is never asked which warehouse; where there is a real choice, you make it in the form.

“How many”, “how much”, “which one” are questions the shop can answer, so the assistant does not send you to a screen to work them out yourself. It writes down which figure it wants; the shop counts and hands back the number; the answer states it.

That division matters more than it looks. The model never goes through your data — it composes a question in the same vocabulary the filter bar uses, and only the answer to that question comes back. So a figure it gives you is the shop’s, not an estimate, and it cannot quietly become one.

Some questions want a row rather than a number — “which free bin is nearest the door”. Those come back as a short list, a handful at most. A longer list is an export, and that is what the screens are for.

“Which article sold most last week”, “which categories move the most”, “which supplier has the most orders” are all one shape: group the records by something, measure each group, put the biggest first. The answer comes back as a list under the reply — a picture, the name as a link to the record, the variant’s options where it has any, and the figure — numbered #1 downwards.

The order and the numbering are the shop’s, not the model’s. That is the point of showing them as a list instead of leaving them in a sentence: a rank nobody writes is a rank nobody can get wrong.

Two things the answer will tell you, because leaving either out makes the list read as more than it is:

  • how it was measured. “Sold most” can mean the most pieces or the most separate sales, and the two need not be the same article. Where the question does not say, the assistant asks — see below.
  • what fell outside. Ranking by category over a catalogue that is half uncategorised says so and gives the figure that belongs to no category at all, rather than presenting a tidy top three.

“Which five articles will run out soonest at the current rate” is a ratio, not a count — stock divided by average daily demand — so the assistant does not work it out itself. It asks the module’s own Depletion Risk report and shows what that report says, which is the whole reason to trust it: the assistant and the screen cannot quote different numbers for the same shop.

The figure is days at the average daily rate of the last thirty days. Articles with no sales in that period are left out rather than listed as lasting for ever.

Where a question can be measured in more than one honest way, the assistant asks instead of picking one, and offers the readings as buttons under its reply. Pressing one sends it as your next message, so the thread reads as a conversation afterwards rather than as a form you filled in.

While it is asking, no list is shown. A ranking is worked out under one reading of the question, and showing it beside “did you mean pieces or occasions?” would answer the question being asked.

Ask about “demo” in a shop with eleven articles whose names contain it and the assistant says so and offers Choose the article — the same picker a stock movement uses, with pictures, a search and the step into a parent’s variants. Pick one and the figure follows.

An article is found by its number as readily as by its name, and the number is the thing to quote when a name is ambiguous.

Ask how much of something there is and the answer gives three figures, not one: what is physically there, how much of it is reserved for open orders, and what can still be sold. Both numbers sit in the same row in the warehouse, so there is nothing to warn you about and nothing for you to go and check.

Nearest the door is worked out from the plan: the bin’s position and the door’s are both drawn there, so the distance is measured across the drawing. It is a straight line, not a walk — a rack in between makes the nearest bin by air not the nearest on foot. For the walk itself the module has its own answer, the pick sequence.

Nothing personal, unless you say so for the conversation you are in — and the refusal is in the module rather than in the wording of a prompt.

Counting people is fine — “how many orders are waiting” is a question about orders. Naming one is not, and neither is counting under a condition on somebody’s name, e-mail, address or telephone number: enough such questions rebuild the person one answer at a time. So those fields cannot be named — not as the thing being counted, not as a condition, and not as a step on the way to something harmless.

Use personal details, in the footer beside the history button, lifts exactly that. With it on the assistant may read a name, an e-mail address or a telephone number, and those details travel to the AI provider along with your question. Whether they may is a promise your shop made to its customers, and the module will not make it on your behalf: the switch starts off, holds only for the window you are in, and is off again the next time you open the assistant.

A credential is refused whatever that switch says. No password, no API key, no access token, no stored setting value — not as a figure, not as a condition, not as the thing a ranking is grouped by. Permission to name a customer is not permission to hand over the keys to the shop, so the two are kept apart and only one of them can be given.

The things the assistant can question are a closed list: stock and movements, bins and warehouses, articles with their categories and manufacturers, orders as figures, purchase orders, returns, parcels and suppliers — with the fields each of those needs, and nothing else.

The list is closed the strict way round: anything absent is refused. A deny-list would always be one field behind the shop, because a plugin installed next month brings tables nobody has read. Ask about media files, plugins or the system settings and the answer says plainly that this is not something the assistant may be asked about.

Turning Use personal details on opens that list — that is what the permission means — but never the credentials.

Write the sentence however you like. When it has to be exact — one customer out of several with similar names, a group whose name is a common word — use Add a reference above the input: pick a customer, a group, a sales channel, a shipping method or a warehouse, and a short marker such as @CUSTOMER_1 appears in your sentence. Write the rest of the sentence around it.

The marker is what travels; the record it stands for stays here. The draft comes back with that record already selected, so there is nothing to look up afterwards.

History in the footer opens a column of everything you have asked, newest first, each with the day and time it was last added to. Opening the assistant picks up the conversation you had last; New conversation starts a fresh one.

Search conversations looks inside the turns, not only at the titles — nobody remembers what a thread was called last week, but they remember a phrase from inside it. A match found in the text is shown as a short passage under the conversation it came from, and opening that passage scrolls to the exact turn and marks it.

Delete conversation removes one thread; Clear history removes all of them. Both ask first, and neither can reach anybody else’s — a conversation belongs to the person who had it.

A bar appears above the input once the conversation is half full, and Compact appears when there is enough behind it to be worth folding. Compacting replaces the older turns with one summary and keeps the recent exchanges as they were.

The summary replaces them on screen as well, deliberately: the conversation you read should be the conversation the assistant has.

What the model is told, and what it is not

Section titled “What the model is told, and what it is not”

The assistant reads this product’s manual and the module’s own menu. Neither contains a single customer, order or stock record, and your catalogue is never handed over — so nothing about your shop’s data leaves with a question.

Names and articles you mention are looked up here, before the answer is written, and the result is what the answer has to agree with. That is why it can tell you “there is no customer group called that, but there is a sales channel” instead of confidently writing about a group that does not exist.

What you type is your own sentence and goes as you wrote it. A picked reference is the exception, and in your favour: it is replaced by its marker, so the model is told a customer and never which one.

The call log under Settings → Diagnostics records every request as type openai.assistant, with a fingerprint of the question rather than the question itself.

It answers from the manual, so it does not know about a screen that is not documented, and it says so instead of guessing. A link it offers always exists; a link to a screen your role may not open is not offered at all.

It drafts a rule only for the families it knows, and only with the fields those families have. Anything else it tried to set is dropped before the form opens, and it tells you what was dropped.

It will not prepare a stock movement for somebody without the permission to book one. The answer says where the operation lives instead of offering it, so nobody fills in a form they cannot save.

The Use the module assistant permission, under Settings → Users & permissions. It is separate from the one that manages connections and API keys: the assistant is for the people running the warehouse, and they should not need the keys to have it. It costs API credit on every question, which is why viewers do not get it automatically.

Preparing a stock movement additionally needs Move stock (add, remove, relocate, put away, pick) — the same permission the stock screen itself requires.

Without a configured connection the assistant says so rather than failing — see Connections.