Vendorah's AI business assistant

Meet Vallery — ask your business a question and get a real answer

Vallery is the AI assistant built into Vendorah. It reads your finances, your stock, your orders and your diary, and answers in plain language — then drafts the quotation, files the receipt, updates the stock, moves the booking or marks the order ready for collection. 64 actions across 7 areas of the business, and not one of them changes anything until you say so.

A typical exchange

How is my business doing?
September so far: R48 210 revenue over 63 orders, average order R765. Gross margin 41% — that excludes 7 orders with no cost price recorded. Two things need you: 4 orders are waiting to be packed, and Blue Fin Café is 12 days overdue on R3 400.

Based on

accounting.revenue.totalsaccounting.margin.summaryorders.order.needs_attentionaccounting.debtor.outstanding

0

Actions Vallery can take

0

Areas of the business covered

0

Read-only, run instantly

0

Reversible, with undo

0

You always press the button

Not a chatbot bolted onto the side

Vallery is wired into the same records, the same rules and the same permissions you use yourself. That is the whole difference: it is not answering from the internet or from a guess about your industry — it is answering from your store.

It reads your records, not the web

Revenue, cost prices, stock counts, order statuses, bookings, invoices, receipts and page views — the real ones, for the period you asked about.

It cannot improvise

Vallery picks a name off a fixed list of 64 actions and passes arguments. It has no way to query the database, build a filter or reach a record the list does not cover.

It works across the whole business

Because orders, products, services, bookings, customers and accounting all live in one system, one question can pull from several of them at once.

Things owners actually type

How is my business doing?What needs my attention today?Who owes me money?What am I running low on?Quote the Adams job for a kitchen re-tileMove Thabo’s appointment to 3pmOrder 1043 is ready for collectionFile this receiptWhat is my stock worth?How much VAT do I owe?Block Sarah out from 12 to 1Which product gets the most views?Show me a balance sheetTake the winter scarf off the shopHow is my business doing?What needs my attention today?Who owes me money?What am I running low on?Quote the Adams job for a kitchen re-tileMove Thabo’s appointment to 3pmOrder 1043 is ready for collectionFile this receiptWhat is my stock worth?How much VAT do I owe?Block Sarah out from 12 to 1Which product gets the most views?Show me a balance sheetTake the winter scarf off the shop

How a question becomes an answer

Five steps, and the AI is only responsible for one of them.

1

You ask, in your own words

Typed or dictated, on the assistant screen inside your store. No syntax, no filters, no menu to find first.

2

The server decides which store this is

Your session is verified and the store is resolved from it — before the assistant sees anything. Nothing the model produces can change which store is in scope.

3

Vallery picks an action off a fixed list

It chooses a name from the 64 actions on this page and supplies the arguments. It never writes a database query, never builds a URL, and never composes a filter of its own.

4

The server validates and runs it

The name is looked up rather than dispatched, the arguments are validated against a schema, and our code — not the model — reads your records. Up to six rounds if the question needs more than one action.

5

You get the answer, with its sources

The reply leads with the number, then the basis, then what to act on. Each action it used is shown as a "Based on" chip, so any figure can be traced back.

Three tiers, sorted by what a mistake costs

Every action Vallery has is classified by how hard it is to reverse — and neither change tier ever runs because the AI asked for it. Calling one computes the change, files it on the server and returns “awaiting confirmation”. Your tap is what runs it.

46

Read

Returns data and changes nothing, so it runs straight away.

“What am I running low on?”

11

Write

Changes something that can be put back. Staged for you to approve as a rendered diff, with one-tap undo afterwards.

“I restocked 20 more of the leather wallet”

7

Confirm

Irreversible, financial, or visible to a customer in a way that cannot be taken back. Staged the same way, with no undo — you always press the button.

“Order 1043 is ready for collection”

Reading the finances

Ask your books a question in English

Vallery reads the whole financial picture — not a dashboard summary of it. The books behind it are double-entry and kept in integer cents, so “what is my business worth” and “do my books balance” are answerable rather than estimated.

Revenue

Totals for any period, with order count and average order value — and month-by-month so you can see whether it is growing.

Expenses

Delivery, platform commission and your own entered expenses, broken out for the period.

Gross margin

Revenue less cost of goods, from recorded cost prices only — and it tells you how many orders had no cost price to work from.

Profit & loss

Revenue, cost of goods, expenses and net profit — from orders, or from the double-entry books with a comparison against the previous period.

Balance sheet

What the business owns, owes and is worth, as at any date.

Trial balance

Every account with a balance, in debit and credit columns — the thing your accountant asks for.

Account history

Every transaction that touched one account, with a running balance. “What made up my bank balance?”

Chart of accounts

The accounts your store files transactions under, so you know what you can post to.

Reconciliation

Why the books and the order-based figures disagree, when they do — instead of leaving you to guess which screen is lying.

VAT

VAT charged, VAT paid, and the net owed to or claimable from SARS for the period.

Cash flow

Money in and out, the closing cash position, and what is expected next. “Will I have enough to cover next month?”

Debtors

Who owes you, how much, and how overdue it is.

Every figure carries its own basis

Results come back with the exact period they cover and with their caveats attached, and Vallery is required to say both in the same breath as the number. If a margin excluded orders with no cost price recorded, you hear that. If a value cannot be determined, it is reported as unknown — never swapped for a related figure, because gross profit is not net profit.

Documents

Describe the job, get a quotation

This is the one place where Vallery writes a whole business document from a sentence.

Quotations, from a description

“Quote Sarah Mokoena for a full bathroom re-tile, 12 square metres at R450, two days labour”

Vallery drafts and saves the quotation — line items, totals, your branding — and shows it to you to confirm before it is saved. Then you download it, or ask Vallery to send it into the customer's chat. It is a confirm-tier action, because a quotation is a number a customer will hold you to.

  • Draft and save a quotation from a plain-language description
  • List the invoices and quotations you have issued, filtered by status
  • Total up the quotations you sent over any period
  • See which are unpaid, viewed, accepted or expired
  • Send a saved invoice or quotation into an open customer chat

Issuing a brand-new invoice against an order is still done on the invoicing screen — Vallery reads and sends invoices, and drafts quotations.

Receipts and supplier bills, by photo

Attach a photo of a till slip or a supplier invoice and say “file this receipt”. Vallery reads it, files it for review, and shows you every field it pulled off the page — supplier, date, total, VAT. Correct anything that came out wrong in the same sentence (“approve that receipt, the total is actually 450 not 540”) and confirming it posts the expense to your books.

  • Read a photo attached to the message as a receipt or bill
  • See what is sitting in the document inbox, waiting to be reviewed
  • Open one captured document with every extracted field
  • Correct and approve it — posting it as a real expense

Approving a document is confirm-tier — it moves money in your books.

Orders & fulfilment

Move an order along without opening a screen

“What needs my attention today?” pulls back the orders waiting on you — to pack, to ship, to hand over, to answer. From the same conversation you can move any one of them to its next state.

Accept a new order

Confirms the order and opens the protected-payment delivery step.

Reject a new order

Turns down an order you cannot take, including a custom-order request.

Ready for collection

For a pickup order: tells the customer to come and get it. Only offered on collection orders.

Out for delivery

For an order you drive over yourself. Only offered on store-delivered orders.

Cancel the order

Ends the order. Like every move here, it cannot be undone.

Which moves are offered depends on the order

Ready-for-collection is only offered on a pickup order; out-for-delivery only on one you deliver yourself. An unpaid order cannot be fulfilled at all. When a move is not legal, Vallery tells you why and offers the ones that are, rather than trying again a different way.

Courier orders ship by booking the courier

A courier order is never marked shipped by hand — booking the collection is what ships it, and that stays on the order screen. There is also deliberately no way for Vallery to mark an order delivered, complete or refunded: the carrier reports delivery and the customer releases the payment.

Order moves fire real things. A protected-payment step against real customer money, a push notification to their phone. None of them can be undone — which is why all of them are confirm-tier, and why the card lists every consequence before you tap it.

And the rest of the day-to-day

The same conversation runs the catalogue, the stock room, the calendar and the customer chats.

Catalogue and stock

Search and price the catalogue, restock, hide a sold-out listing, add a colour or size option, or create a whole draft product from a photo — Vallery can work out what it is and write the description.

  • Create a product as a draft, from a sentence or a photo
  • Change price, cost, category, tags, lead time or delivery methods
  • Put a listing on the shop or take it off
  • Set, increase or decrease stock on a product or one of its sizes
  • Low stock, out of stock, and what your stock on hand cost you

Bookings and the advanced calendar

Ask what is on today, which days are free next week, or who is unassigned — then move the work. Vallery runs the advanced resource calendar: staff, rooms, devices, stations and vehicles.

  • Day, week and multi-day agenda views, including blocked time
  • Reschedule a booking to another time, another resource, or both
  • Confirm, check in, start, complete, cancel or mark a no-show
  • Block or free a stretch of one resource’s day
  • Add, edit or retire a staff member, room, device, station or vehicle

Customer messages

Vallery can send into a chat your store already has open — in your own name, with only the words you actually gave it. It will never add a price, a date or a promise you did not make.

  • See which conversations are open and which are unread
  • Send a message into an existing chat
  • Send a saved invoice or quotation into a chat
  • If you did not name the person unmistakably, it makes you pick from a list

Store traffic

How many people are actually looking, and at what — over a period and all-time.

  • Store page views for any period, and in total
  • Your products and services ranked by all-time views

The complete list

Every one of the 64 actions Vallery can take

Grouped the way a shop owner thinks about the business: area, then the records in it, then what can be done to them. Vallery can call nothing that is not on this list.

Catalog

13 actions

The products and services the store sells.

Products

Physical and digital goods listed by the store.

  • readcatalog.product.list

    List the shop's products, with a total and a count of active, inactive and drafts

  • readcatalog.product.get

    Full detail for one product, looked up by id or by name

  • readcatalog.product.search

    Find products by keyword across name, SKU, category, tags and description

  • readcatalog.product.count_by_category

    Product counts and stock per category, largest category first

  • writecatalog.product.set_active

    Put one product on the storefront or take it off

  • writecatalog.product.update

    Change any editable field on one product

  • writecatalog.product.create

    Create a new product, as a draft

  • confirmcatalog.product.delete

    Delete a product outright — irreversible

  • writecatalog.product.add_variant

    Add one variant — a colour or size option — to a product

  • writecatalog.product.remove_variant

    Remove one variant from a product

Services

Bookable and quoted services listed by the store.

  • readcatalog.service.list

    List the shop's services, with duration, price and whether they are bookable

  • readcatalog.service.get

    Full detail for one service, looked up by id or by name

  • readcatalog.service.search

    Find services by keyword across name, category, tags and description

Asked like

“What are my best selling products?”“Add a new listing for handmade candles, R80, and use this photo”“Take the winter scarf off the shop”“The leather wallet also comes in brown, R450”“How are my products split by category?”

Inventory

5 actions

Stock on hand, low-stock warnings and stock adjustments.

Stock

Quantity on hand per product, including variants.

  • readinventory.stock.levels

    Stock on hand per product, plus total units across the shop

  • readinventory.stock.low_stock

    Active products at or below their low-stock threshold, lowest first

  • readinventory.stock.out_of_stock

    Products at zero stock, and how many are still listed for sale

  • readinventory.stock.total_value

    What the stock on hand cost the shop, with coverage for products missing a cost

  • writeinventory.stock.set

    Change how many units of one product are in stock

Asked like

“What am I running low on?”“What is my stock worth?”“I restocked 20 more of the leather wallet”“Am I still listing anything I cannot ship?”

Orders

6 actions

Customer orders, their status and their fulfilment.

Orders

A customer purchase and everything on it.

  • readorders.order.list

    List orders placed in a period, newest first, with the true total

  • readorders.order.get

    Get one order in detail, by its id or by the order number the seller quotes

  • readorders.order.counts_by_status

    How many orders sit in each status over a period, with the revenue behind each

  • readorders.order.needs_attention

    Orders waiting on the seller — to pack, to ship, to collect or to answer

  • readorders.order.top_products

    Best-selling products over a period, ranked by units or by line revenue

  • confirmorders.order.set_status

    Move one order to its next state — accept, reject, ready for collection, out for delivery, cancel

Asked like

“What needs my attention today?”“Order 1043 is ready for collection”“Mark 1043 as out for delivery”“How are my orders looking this month?”“Anything I have not packed yet?”

Bookings

14 actions

Service bookings, the diary and the advanced resource calendar.

Bookings

An individual customer booking against a service.

  • readbookings.booking.list

    List bookings in a period, by when they were requested or by when they are booked for

  • readbookings.booking.get

    Get one booking in detail, including the customer note and payment state

  • readbookings.booking.upcoming

    Accepted bookings from today onward, earliest first

  • readbookings.booking.counts_by_status

    How many bookings sit in each status over a period, plus any still owing payment

  • writebookings.booking.reschedule

    Move one booking to a different time, a different resource, or both

  • confirmbookings.booking.set_status

    Confirm, check in, start, complete, cancel or mark a no-show on one booking

Schedule

The diary view: what is on, when the store is free, and time blocked out.

  • readbookings.schedule.day_view

    What is booked on one day, earliest slot first

  • readbookings.schedule.week_view

    A Monday-to-Sunday diary week: a count for every day, plus the bookings themselves

  • readbookings.schedule.agenda

    What is on the advanced resource calendar over one or more days: bookings and blocked time together

  • writebookings.schedule.set_blocked

    Block a stretch of one resource's day so nothing can be booked into it, or free a block again

Resources

Staff, rooms, devices, stations and vehicles that bookings are allocated to.

  • readbookings.resource.list

    The staff, rooms, devices, stations and vehicles the advanced calendar books work against

  • writebookings.resource.create

    Add a staff member, room, device, station or vehicle to the advanced calendar

  • writebookings.resource.edit

    Change a resource's details — name, type, capacity, which services it can do, or whether it is in service

  • writebookings.resource.retire

    Take a resource off the advanced calendar for good

Asked like

“What have I got coming up?”“Move Thabo's appointment to 3pm”“Block Sarah out from 12 to 1 for lunch”“The van is in for a service on Friday morning”“Which days am I free next week?”

Accounting

21 actions

Revenue, expenses, margin, the books, invoices, debtors, VAT and cash flow.

Revenue

What the store earned, over a period or broken down.

  • readaccounting.revenue.totals

    Total revenue over a period, with order count and average order value

  • readaccounting.revenue.series

    Revenue broken into calendar months over a period

Expenses

Recorded costs, both automatic and self-entered.

  • readaccounting.expense.breakdown

    Costs for a period: delivery, platform commission and self-entered expenses

Margin

Revenue less cost of goods, per order or product.

  • readaccounting.margin.summary

    Gross margin for a period, from recorded cost prices only

  • readaccounting.margin.profit_and_loss

    Full profit and loss for a period: revenue, cost of goods, expenses, net profit

Ledger

The double-entry record: journal entries, account balances and the trial balance.

  • readaccounting.ledger.balance_sheet

    What the business owns, owes and is worth, as at a date

  • readaccounting.ledger.profit_and_loss

    Income statement from the books, with a comparison against the previous period

  • readaccounting.ledger.trial_balance

    Every account with a balance, in debit and credit columns

  • readaccounting.ledger.account_history

    Every transaction that touched one account, with a running balance

  • readaccounting.ledger.chart

    The list of accounts the shop files transactions under

  • readaccounting.ledger.reconcile

    Why the books and the order-based figures disagree, if they do

Invoices & quotations

Documents issued to customers, and what has been paid against them.

  • readaccounting.invoice.list

    Invoices and quotations the shop has issued, filtered by status

  • readaccounting.invoice.quotations

    Quotations issued to customers over a period, with a combined total

  • confirmaccounting.invoice.create_quotation

    Draft and save a quotation from a description, ready to download and send

Debtors

Who owes the store money, how much, and how overdue it is.

  • readaccounting.debtor.outstanding

    Who owes the shop money, how much, and how overdue it is

VAT

VAT charged, VAT paid, and what is owed to or claimable from SARS.

  • readaccounting.vat.liability

    VAT charged, VAT paid, and the net owed to or claimable from SARS

Cash flow

Money in and out, the current position, and what is expected next.

  • readaccounting.cashflow.summary

    Money in and out over a period, the closing cash position, and what is expected next

Documents

Receipts and supplier bills captured by photo or upload, and what was read off them.

  • readaccounting.document.inbox

    Captured receipts and supplier bills waiting to be reviewed

  • readaccounting.document.capture_attached

    Read a photo attached to this message as a receipt or bill, and file it for review

  • readaccounting.document.get

    One captured receipt or bill in full, with every field read off it

  • confirmaccounting.document.approve

    Correct a captured receipt and post it as an expense

Asked like

“How is my business doing?”“Who owes me money?”“Quote Sarah Mokoena for a bathroom re-tile, 12 square metres at R450”“How much VAT do I owe?”“Show me a balance sheet”“Approve that receipt, the total is actually 450 not 540”

Messaging

3 actions

The in-app chats the store has open, and sending into them.

Chats

A conversation with one person, the messages in it, and the documents sent through it.

  • readmessaging.chat.list

    The conversations the store has open, newest first

  • confirmmessaging.chat.send_message

    Send a text message into one of the store's open chats

  • confirmmessaging.chat.send_document

    Send a saved invoice or quotation into one of the store's open chats

Asked like

“Any unread messages?”“Tell Sarah the tiles arrived and I can start Monday”“Send Sarah quotation QUO-0004”

Analytics

2 actions

Traffic to the store and to its products and services.

Traffic

Page views on the store page and on its individual listings.

  • readanalytics.traffic.summary

    How many times the store page has been viewed, over a period and in total

  • readanalytics.traffic.top_items

    The store's own products and services, ranked by all-time page views

Asked like

“How many people have looked at my store?”“Which product gets the most views?”“Is anyone actually visiting my page?”

“Last month” means last month

Anywhere a period is involved, Vallery uses a named range resolved against the real clock in South African time — not a guess at today's date. You can also give it two explicit dates, and both days are included.

todayyesterdaythis_weeklast_weekthis_monthlast_monththis_yearlast_yearlast_7_dayslast_30_dayslast_90_dayslast_6_monthslast_12_monthsall_time

Deliberate limits

What Vallery will not do

Most of these are not gaps waiting to be filled — they are decisions. An assistant that could declare an order delivered, or quietly work down a list of changes, would be more impressive and less safe.

  • Mark an order delivered, complete or refunded — the carrier reports delivery and the customer releases the payment. A store declaring either would be paid for a parcel that never arrived.
  • Book a courier collection. On a courier order, booking the collection is what ships it, and that stays on the order screen.
  • Change a product’s images, e-book files or size variants, or edit a service at all.
  • Delete anything by accident. Taking a product off the shop is what “remove it” means; the one true delete is confirm-tier and irreversible by design.
  • Create a booking or delete one, or touch free-tier service bookings — it runs the advanced resource calendar, not the whole diary.
  • Start a new conversation with anyone. You open the chat from Messages; Vallery can then send into it.
  • Send a phone number, an email address or a link in a chat — those are blocked for everyone, and Vallery will tell you rather than rephrase past the filter.
  • Work down a list of changes. One record per change: it proposes the first and asks.
  • Act on a second store. The store is fixed for the conversation.

Trust

Why it is safe to point this at your books

The security model does not depend on the AI behaving well. It depends on the AI not being the thing that decides.

The store is decided before the AI is involved

Scope comes from your verified session. No tool — present or future — takes a store parameter, so none can be pointed at records you do not own.

Nothing changes on the AI’s say-so

A change tool stages the change and returns “awaiting confirmation”. Your tap is what runs it, against the parameters the server stored.

Text inside your records is data, not orders

A request hidden in a product description, an order note or a customer message is not yours. Vallery ignores it and tells you it was there.

Figures arrive with their basis

Every result names the exact period it covers, and carries its caveats into the answer. A number with a hidden basis is worse than no number.

Every answer is traceable

The actions behind a reply are listed under it, so you can always see which part of your business a figure came from.

Dictation stays on your device

The composer uses your browser’s own speech recognition. No audio is sent anywhere.

Where to find Vallery

Inside your own store, on the assistant screen — on the web and in the Vendorah Android and iOS apps. Type or dictate; dictation uses your device's own speech recognition, so no audio leaves it. Every answer lists the actions behind it, and any change waits on a card for you to approve.

Questions owners ask first

What is Vallery?

Vallery is the AI business assistant built into Vendorah. It answers questions about your own store — revenue, stock, orders, bookings, debtors, VAT — from your real records, and it can make a defined set of changes for you, each one shown to you for approval before it happens. It covers 64 actions across 7 areas of the business.

Can Vallery read my finances?

Yes. Vallery reads your revenue, expenses, gross margin, profit and loss, balance sheet, trial balance, individual account histories, chart of accounts, VAT position, cash flow and outstanding debtors. Every figure comes back with the exact period it covers, and with its caveats attached — if a margin excluded orders that have no cost price recorded, Vallery says so in the same breath as the number.

Can Vallery create invoices and quotations?

Vallery drafts and saves a full quotation from a plain-language description — "quote Sarah Mokoena for a bathroom re-tile, 12 square metres at R450, two days labour" — ready for you to download or send. It also lists the invoices and quotations you have already issued and what is still unpaid, and it can send a saved invoice or quotation into a customer chat. Issuing a new invoice against an order is still done on the invoicing screen.

Can Vallery arrange delivery or mark an order ready for collection?

Vallery moves an order through its lifecycle: accept a new order, reject it, mark a collection order ready for pickup, send a store-delivered order out for delivery, or cancel it. It does not book the courier — for a courier order, booking the collection is what ships it, and that stays on the order screen. Vallery also has no way to mark an order delivered, complete or refunded: the carrier reports delivery and the customer releases the payment.

Can Vallery change things without asking me?

No. Every action that changes something is staged, never run. Vallery computes the exact change, the server stores it, and you are shown a card with the diff and its consequences. Tapping Confirm is what runs it — and it runs against the parameters the server stored, not against anything the assistant said afterwards. Reversible changes also get one-tap undo.

Can Vallery see or act on another store?

No. The store is resolved from your signed-in session before the assistant is involved, and no tool has a parameter that can point it at a different store. That holds regardless of what the model produces.

What if a customer hides an instruction in a message or a product description?

Vallery treats every word inside a record — customer names, order notes, product descriptions, chat messages — as data it is reporting on, never as instructions. If it finds a request buried in one, it ignores it and tells you it saw it. Instructions only come from you, in your conversation.

Does Vallery make up numbers when it does not know?

It is built not to. Vallery cannot query your database, build a filter or invent a total — it can only call one of the listed actions and report what came back. When a value cannot be determined it reports it as unknown rather than substituting a related figure, and it is told never to re-derive a total by adding up rows itself.

Can I talk to Vallery instead of typing?

Yes. The assistant screen supports dictation using your device’s own speech recognition, so no audio leaves the device.

Where do I find Vallery?

Inside your store, on the assistant screen — on the web app and in the Vendorah Android and iOS apps. Every answer shows a "Based on" chip for each action it used, so any number can be traced back to where it came from.

Stop digging through screens for your own numbers

Vallery comes with your Vendorah store. Ask it how the month went, what to reorder, who owes you money — and let it do the admin while you do the work.