Skip to main content

Trading

Trading is for buying and reselling goods, for example a cement distributor. It covers:

  • Purchase Orders: order from a supplier, then receive the goods into one of your stores
  • Sales Orders: take a customer's order and turn it into an invoice
  • Inventory: what's in stock across your stores, and what it's worth
  • Dashboard and Reports

Trading uses the same stores and stock as Point of Sale. Goods you receive on a Purchase Order show up in POS stock, and POS sales take from the same stock.

Getting Trading

Your service provider turns Trading on for your company. Sales Orders is a separate option: it can be turned on with or without the rest of Trading. Sales Order Fulfillment, which adds the job/trip and drop-ship links described below, is another separate option.

Where to find it​

Menu layoutWhere Trading lives
Top menuUnder Fleet: Trading Dashboard, Purchase Orders, Inventory, Sales Orders, Trading Reports
Side menuTrading group: Purchase Orders, Inventory, Sales Orders
Business-unit menuA Trading group (Dashboard, Purchase Orders, Sales Orders, Inventory, Reports). It's called Cement when your company also has Point of Sale, and also holds Checkout, POS Reports and Stock Transfers

Depending on your menu layout, Sales Orders may also appear in the Finance menu.

Purchase Orders​

Status flow​

Draft → Sent → Partially Received → Received. A Draft or Sent order can be Cancelled.

Creating a Purchase Order​

  1. Click + New Order.
  2. Pick the Vendor. Use + New Vendor in the list to add one without leaving the page.
  3. Set the Currency (TZS or USD), Order Date and Expected Delivery. If the vendor has a Default Currency different from the order's, picking them asks whether to switch.
  4. Add lines: pick a Product item (or + New Item), then the quantity and unit cost. The unit cost starts at the item's Cost Price.
  5. Add notes if you need to, then click 💾 Save Draft. The order is numbered automatically: PO-0001, PO-0002, and so on.

The total on a Purchase Order is quantity × unit cost. No VAT is added.

Editing a draft​

A Draft order can be changed with ✎ Edit, on the order page or in the side panel (✎ Edit Draft). It keeps its number, and you can change everything: vendor, dates, lines and prices. Once it has been sent it can't be edited.

Sending it​

📤 Mark as Sent records that the order has gone to the vendor. If the order total is 0 (for example a drop-ship order with no prices yet), you're asked to confirm first, so you can add unit costs with ✎ Edit.

Receiving goods​

When goods arrive, open the order and click 📦 Receive Goods:

  1. Choose the Receiving Location (one of your stores).
  2. Each line still outstanding shows Ordered, Received and Remaining, with the quantity box filled in with the remaining amount. Lower it if only part of the delivery arrived. You can't receive more than is remaining.
  3. Click ✅ Confirm Receipt & Update Stock.

The stock in that store goes up straight away, at the line's unit cost. The order moves to Partially Received or Received, and the side panel shows a Received % bar. You can receive the rest later in further deliveries.

Receiving updates stock only

Receiving a Purchase Order doesn't create a vendor bill or post anything to the General Ledger. Record the supplier's bill separately in Purchase Invoices.

If you link that bill's lines to the same catalog items, approving it adds the goods to stock a second time. That's because approving a Purchase Invoice also receives catalog items into stock.

Sales Orders​

Status flow​

Draft → Confirmed → Invoiced. With Sales Order Fulfillment there are two more steps: Confirmed → Dispatched → Delivered → Invoiced. A Draft, Confirmed or Dispatched order can be Cancelled.

Creating a Sales Order​

  1. Click + New Order.
  2. Pick the Customer, or add one with + New Customer.
  3. Set the Currency, Order Date, Expected Delivery and Customer Reference (their own PO number, for example). A new order starts in your Default Invoice Currency; if the customer has a Default Currency that's different, picking them asks whether to switch.
  4. Add lines: pick an item, then the quantity and unit price. The price starts at the item's Selling Price.
  5. Click 💾 Save Draft. Orders are numbered SO-0001, SO-0002, and so on.

The amounts on a Sales Order are before VAT. VAT is worked out on the invoice.

Edit a draft the same way as a Purchase Order: ✎ Edit or ✎ Edit Draft. When it's agreed with the customer, click ✓ Confirm Order.

Converting a Sales Order to an invoice​

Click 🧾 Convert to Invoice on the order, or in its side panel. This:

  • creates a Draft invoice with the order's lines, the customer, your company and bank details, and a "for" line naming the Sales Order (and the customer reference, if any)
  • opens the invoice so you can check it, and the back link returns to Sales Orders
  • marks the Sales Order Invoiced

The order page then lists the invoice under Linked Invoice with its status. Click it to open the invoice. The invoice page links back to the Sales Order.

Without Sales Order Fulfillment, you can convert a Confirmed order. With it, the Invoicing Trigger setting decides when (see Settings).

Sales Order Fulfillment​

With Sales Order Fulfillment on, a confirmed Sales Order has a Fulfillment section. It shows each line's Ordered, Dispatched, Delivered and Invoiced quantities, and offers two ways to fulfil the order.

Transport: linking the order to a job and trip​

Use this when your own trucks deliver the order.

  1. On a Confirmed or Dispatched order, click + Link to Job / Trip.
  2. Pick the Job. The list shows the customer's jobs that aren't closed, each with its job number, customer, description, status and date.
  3. The job's trips are listed with trip number, route, truck, driver and start date. Trips already linked to another Sales Order aren't listed. Click Link next to the trip.

The order moves to Dispatched and shows a 🚛 Transport tag. Each linked trip appears under Linked Trips with its trip number, a Job → link, route, truck and driver, and an In Transit or Delivered badge. The order header lists the Linked Job.

When every linked trip has had ✓ Confirm Delivery recorded on the trip page (receiver name and receiving date), the order moves to Delivered. The trip's 📋 Print Delivery Note can list the order's goods (see settings below).

How the invoice reaches the job: when you convert an order whose trips all belong to one job, the invoice is linked to that job, and to the trip if there's only one. It then appears in the job's Linked Invoices as "from SO-0001". It counts toward the job's revenue and Job Ledger once it leaves Draft, like any invoice raised from the job. The job page also has a Linked Sales Orders card. If an order's trips belong to more than one job, the invoice isn't linked to any job.

Drop-ship: a supplier delivers directly​

Use this when you buy the goods and your supplier ships them straight to the customer.

  1. On a Confirmed order, click + Raise Drop-Ship PO (needs permission to create Purchase Orders).
  2. Pick the supplier and click 📦 Raise PO.

A new Draft Purchase Order is created with the Sales Order's lines and quantities, but with unit costs of 0. Its note says which Sales Order it's for. The Sales Order moves to Dispatched, shows a 📦 Drop-Ship tag, and lists the Drop-Ship PO with its status. View → opens that Purchase Order.

Open the Purchase Order, use ✎ Edit to enter the supplier's prices, then Mark as Sent. When you Receive Goods against it, the received quantities count as delivered on the Sales Order. When every line is fully delivered, the order moves to Delivered.

A Sales Order uses one path or the other, not both.

Creating the invoice from a fulfilled order​

On a fulfilled order the button reads 🧾 Create Invoice. The invoice lines use the delivered quantities where they've been recorded, otherwise the ordered quantities.

Sales Order Fulfillment settings​

In Settings → Invoicing → Sales Order Fulfillment:

SettingWhat it does
Invoicing TriggerManual (default): invoice once Confirmed, Dispatched or Delivered. On Dispatch: once Dispatched or Delivered. Full Delivery: only once Delivered
Fulfillment PathsWhich of Transport and Drop-Ship are offered on a confirmed order
Show SO Lines on Delivery NotePrints a goods table from the Sales Order on a linked trip's Delivery Note, instead of the free-text cargo section

Click 💾 Save Fulfillment Settings when done.

Inventory​

Inventory lists every active Product item with its stock across all your stores, or one store using the location filter:

  • In Stock, Unit Cost (the item's Cost Price) and Stock Value
  • a status of In Stock, Low Stock (at or below the item's reorder level, 5 if none is set) or Out of Stock

Search by name, code or brand. Click the Low Stock or Out of Stock tiles to show only those items. 📥 Export downloads the list, and + Receive Stock takes you to Purchase Orders.

Trading Dashboard​

  • Open POs and Open SOs, with the value still pending
  • Inventory Value across all stores
  • Pending SO Value
  • Purchases vs Sales over the last 6 months, by order value
  • Inventory Value by Category (for items that have a category)

Amounts in other currencies are converted to your base currency. Click a tile to open that list.

Trading Reports​

Pick a From / To date range (it starts at the first of this month), then a tab:

TabShows
Purchase OrdersOrders in the period: date, vendor, status and total, with a grand total
Sales OrdersThe same for Sales Orders, with the customer
Inventory ValuationEvery product currently in stock: code, name, brand, category, unit, quantity, cost price and stock value. This is today's stock and isn't filtered by date

📤 Export downloads the Purchase Orders or Inventory Valuation tab.

Permissions​

PermissionWhat it allows
po.viewSee Purchase Orders, Inventory, the Trading Dashboard and Trading Reports
po.createCreate, edit (Draft) and mark Purchase Orders as Sent; raise a Drop-Ship PO from a Sales Order
po.receiveReceive goods against a Purchase Order, which updates stock
po.cancelCancel a Draft or Sent Purchase Order
so.viewSee Sales Orders
so.createCreate, edit (Draft) and confirm Sales Orders
so.convertConvert a Sales Order to an invoice. The person also needs invoice.create
so.cancelCancel a Draft, Confirmed or Dispatched Sales Order

By default, Tenant Admin has all of these. Operations Staff can view, create and receive Purchase Orders, and view and create Sales Orders. Accountant can view and cancel Purchase Orders, and view, convert and cancel Sales Orders.

Assign permissions in Settings → Users & Access → Roles & Permission Matrix. See the Permissions Reference.