Wholesale, retail and POS

Omnichannel trade from one system: a till in the physical store, orders from online stores, marketplaces and B2B in one place, wholesale and retail price lists, and a card for every customer with their own terms.

Shop till: scanner and search, catalogue with stock, cart and a pack-size chooser for an item sold in several packs
In-store till (POS)

What problems it solves

A company that sells both retail and wholesale usually works in several systems at once: a till in the shop, the online store admin, marketplaces such as eMAG, emails from business customers with orders in PDF, and a spreadsheet of wholesale prices. The same goods are sold through all of them, and stock is reconciled at the end of the day, after something that is not there has already been sold.

With us, everything goes through one database. An order from the till, the website, a marketplace or an email looks the same and follows the same path. The price comes from the customer's price list, and stock comes from the place the goods actually ship from. If something is holding an order back, its row says so in words.

How it works

An order follows the same path wherever it comes from.

  1. The order comes in from the online store, a marketplace, the till, the wholesale site, a PDF uploaded on one screen, or is entered by hand from a catalogue with a cart.
  2. Prices come from the customer's price list. A business customer without a price list sends an inquiry. It arrives without prices and does not lock stock until the sales rep prepares a quote.
  3. If something is wrong, the row says so: missing stock, no address, possible duplicate. Click the word and you see every order with the same problem.
  4. The order goes to the buffer with one button, in full and with the exact pack sizes. Stock there drops at once, so no other channel sells the same unit.
  5. A large wholesale order can ship in parts. Each pick run has a number and its own quantities, and shipped and invoiced amounts are tracked separately.
  6. The order produces a waybill, an invoice, a proforma or a CMR. The "Waiting for invoice" list shows what has shipped but is not invoiced yet.

The till in the shop

The till is part of the same system and not a separate program. An item is scanned or searched for, the pack size is chosen if there are several, and the sale is saved as an order on the shop channel. If the buyer is a company, the invoice is issued on the spot. A discount above the limit needs an administrator's approval. A sale at the till reduces the same stock the online channels sell from.

What you get

  • One list of orders from every channel, split into work lists by stage.
  • Retail and wholesale price lists, with and without VAT, by group and by customer, with Excel import, history and rollback to an earlier version.
  • A wholesale site where each business customer sees their own prices and orders on their own.
  • A "Waiting customers" list: who is waiting for what and what can ship today.
  • A till that writes to the same stock as the online store.
  • A system you own, with no licence and no fee per user or per till.

What it connects to

Channels are added from the settings. Every order and every stock movement carries its own channel and company.

  • Shopify and WooCommerce: orders, products and stock.
  • eMAG and eBay: marketplace orders go into the common list.
  • Mailboxes: orders from emails and PDFs.
  • Speedy, Econt, ACS, DHL and other couriers: a waybill from the order.
  • VIES: VAT number checks for wholesale sales within the EU.
  • Excel: import and export of price lists and order lists.

Modules in this solution

In-store till (POS)

The till in the physical store works with a scanner or search, and an item sold in several pack sizes opens a pack picker. The sale is saved as an order on the store channel, and a company invoice can be issued on the spot. A discount above the limit waits for admin approval, and returns go through the same screen.

Runs in: Easy App, BS Omni ERP

Orders from every channel

Orders from Shopify, WooCommerce, eMAG, eBay, B2B, the till and incoming mail land in one list in the same format. Each order leads to a waybill and an invoice, and editing and cancelling happen in one place. The channel is shown on every row, so filtering by store is one click.

Runs in: Easy App, BS Omni ERP

Order work lists by stage

Every order shows its stage: received, in the buffer, shipped, invoiced, completed. The tabs are ready-made work lists: waiting to ship, partly shipped, waiting for an invoice, inquiries, archive. The count on each comes from the server. Filters are kept in the page address, so a shared link opens the same list for a colleague. Every list downloads as a CSV for Excel.

Runs in: Easy App

Orders with problems

The problem is spelled out in words on the order row: "missing stock", "no address", "duplicate". Each word is a button that shows only the orders with that problem. The open order lists which items are short, and a duplicate gets "Merge" and "Not a duplicate" buttons.

Runs in: Easy App

Quick order entry

A phone or walk-in order is entered from a catalog with a cart, as on the wholesale site. You pick the customer and prices come from their price list. The order joins the common list and follows the same path as online orders.

Runs in: Easy App, BS Omni ERP

Wholesale order from a PDF

The customer sends their order as a PDF and you upload it on one screen. The system shows the lines it read and which item it matched to each. An unknown code stays unmatched until a person picks the right item. One click turns it into an order on the customer account, priced from their own price list.

Runs in: Easy App

Orders from email

A mailbox set up for orders creates an order from each incoming email by itself, for example for dropshipping. The order joins the common list under its own channel and follows the same path to waybill and invoice.

Runs in: BS Omni ERP

Requests for quotes

A business customer without a price list sends their cart from the wholesale site as an inquiry. It enters the orders with its own number and an "inquiry" badge, with no prices and without reserving stock. The sales rep sets the prices, the inquiry becomes an order and carries on along the usual path.

Runs in: Easy App

Order buffer

The buffer is where goods actually ship from. An order is sent to it with a button, once and in full, with the customer details and the exact pack sizes, and stock there drops straight away. If a line cannot be covered exactly, the button says which one and why, and does not send an incomplete order.

Runs in: Easy App, BS Omni ERP

Partial shipments

A large wholesale order ships in several pick runs, each with its own number and exactly its own quantities, and each is confirmed as "Picked". The order tracks separately how much has shipped and how much has been invoiced, because the two do not move together. The remainder sits under "Partly shipped" until it goes.

Runs in: Easy App

Waiting customers

One screen shows what each customer is waiting for across all their orders and what of it is in stock today. Waiting items ship in full or in part by choosing a quantity per line. Nobody maintains the list by hand. Once the goods leave, the line disappears by itself.

Runs in: Easy App, BS Omni ERP

Price lists

Retail and wholesale price lists, with and without VAT, by group and by customer, with the margin next to each price. You upload an Excel file, the system shows the difference against current prices and saves the new ones only after you confirm. The list also downloads back to Excel. Every change stays in the history, and before an old version is restored the system saves the current one.

Runs in: Easy App, BS Omni ERP

Wholesale site (B2B)

Business customers log in with an account created from the system and see the catalog at the prices of their own price list. An order from the site goes straight into the common list. The site does not accept it without complete company details, so that it can be invoiced later. A packing list with item barcodes is printed for the shipment.

Runs in: Easy App, BS Omni ERP

Quick order with a phone number

On the product page the customer leaves only a name and phone number, without going through checkout. The request lands in a separate list in the system, and a resubmitted form does not create a second row. A staff member calls the customer and then creates the order.

Runs in: LedWhite

Order sheet

A button on the order prints an A4 sheet with what needs to be picked and where the parcel is going. The data is the same as on screen; the sheet calculates nothing of its own. It prints through the office print program or opens as a PDF.

Runs in: LedWhite

Online restaurant orders

The customer orders from the restaurant's menu for pickup or delivery and pays by card or on receipt. The restaurant accepts the order and marks it ready and handed over, while the customer follows the status through a personal link. Afterwards they can rate it, and ratings show in the restaurant's panel.

Runs in: Shishko

Table reservations

A guest requests a table for a date and time from the restaurant's page. The restaurant confirms or declines, and the guest sees the status through their personal link and can cancel from there. Requests sit in the restaurant's panel next to the orders.

Runs in: Shishko

Lunch menus by city

Restaurants publish the day's lunch menu with dishes, prices, portion weights and the time it is valid until. Visitors pick their city and see all of today's menus in one place. The menus also go out in the morning email to subscribers in the same city.

Runs in: Shishko

Screens

Where it runs

Easy App

Own product

Own product — business app for wholesale and retail

A business app for a wholesale and retail merchant: orders from Shopify and WooCommerce, a physical shop, waiting customers and stock allocation, supplier requests, wholesale invoices with VIES checks and export, versioned price lists and a B2B site with packing lists.

See the project

Frequently asked questions

Do we have to replace the till we use now?

Not necessarily. We can start with orders and price lists and bring the till in later. Once the till is part of the system, the shop and the website share the same stock.

What if a wholesale customer orders something that is out of stock?

The order is accepted, and the row says "missing stock" and for which items. What is available can ship straight away, and the rest waits under "Waiting customers" until it arrives.

How are prices protected from a bad Excel upload?

On upload the system first shows the difference against current prices, and nothing is saved before you confirm. Every change goes into the history. Before rolling back to an earlier version, the system saves the current state, so you can return to it.

Can several companies or shops work in one system?

Yes. Company and channel are settings with their own courier, VAT rates and mailboxes. Reports filter by company and channel, and data never gets mixed.

Who owns the system?

You do. The code and the data sit on your server, with no licence and no per-user fee. The number of tills and staff does not change the price.

How long does the rollout take?

We work in stages. Usually orders from all channels and price lists come first, then the till and the wholesale site. We check each stage on real orders before starting the next one.

Got a process that keeps getting stuck?

Describe it briefly. We will tell you how we would solve it.

Send an inquiry
Call us