Sales Module Guide

From the first quotation to the final payment — manage your entire sales cycle, customer invoicing, and revenue analysis in one connected workflow.

10 min read Updated June 2026

The Sales module manages the pre-sale and billing side of customer transactions. It handles quotations, confirmed sales orders, delivery triggers, customer invoicing, payment registration, and revenue reporting. It connects to Inventory (for delivery orders) and Accounting (for invoices and payments), so a single confirmed sale flows through all three modules without duplicate data entry.

Creating a quotation

Go to Sales → Orders → Quotations and click New.

  1. Select the customer from the dropdown. If they do not exist yet, type their name and choose Create & Edit to add them on the spot.
  2. Set the expiration date — how long the quote remains valid before it lapses.
  3. Click Add a Product and select the item. The price fills in automatically from the customer's assigned pricelist.
  4. Enter the quantity. Add more product lines as needed.
  5. Set the delivery date in the Other Info tab if you want to communicate a delivery commitment on the quote.
  6. Add any internal notes or terms and conditions in the Notes tab.
  7. Click Send by Email to deliver the quotation as a PDF to the customer, or Print to generate a document manually.

Pricelists

Pricelists let you set different prices for different customer categories without managing separate product lists. Go to Sales → Configuration → Pricelists and click New.

  • Name the pricelist (for example, "Wholesale" or "VIP Clients").
  • Add pricing rules: a fixed price per product, a percentage discount off the standard sales price, or a formula based on cost.
  • Set date ranges if the pricelist is time-limited (for seasonal promotions, for example).
  • Assign the pricelist to a customer in their contact record under the Sales & Purchase tab. It then applies automatically to every quotation for that customer.

To enable pricelists, go to Sales → Configuration → Settings → Pricing and activate the pricelist feature. Once enabled, a pricelist selector appears on every quotation so you can override the default manually for a specific transaction.

Confirming a sales order and triggering delivery

When the customer accepts the quote, open it and click Confirm. The quotation becomes a Sales Order with a reference number. Vendra automatically creates a delivery order in Inventory for all storable product lines. The warehouse team sees the pending delivery in Inventory → Overview → Delivery Orders and processes it from there.

Delivery orders: picking and packing

The delivery order lists all products and quantities to dispatch. For each line, the warehouse team enters the quantity actually picked in the Done column. If a multi-step route is configured (pick → pack → ship), each step generates its own transfer. When all goods are ready and loaded, click Validate on the delivery. The sales order's delivery status updates to Delivered and the stock decrements.

Invoicing

Creating an invoice from a confirmed sale

  1. Open the confirmed sales order.
  2. Click Create Invoice.
  3. Choose whether to invoice the full order, a down payment (percentage or fixed amount), or only the delivered quantities.
  4. Click Create Invoice. The invoice draft opens pre-filled from the sales order.
  5. Review the lines, adjust if necessary, then click Confirm to post the invoice.
  6. Click Send & Print to email the invoice to the customer as a PDF.

Quotation to order

Send professional PDF quotations to customers. One click converts an accepted quotation into a confirmed sales order — no re-entry needed.

Automatic delivery

Confirming a sale instantly creates a delivery order for the warehouse team. Delivery and invoicing status stay in sync on the sales order.

Flexible invoicing

Invoice on ordered or delivered quantities, send partial invoices, or raise a down payment invoice before goods leave the warehouse.

Pricelists

Set retail, wholesale, and VIP prices per customer category. Pricelists apply automatically — no manual price adjustments needed at order time.

Payment registration

Open the posted invoice and click Register Payment. Select the payment journal (Bank, Cash, or M-Pesa), enter the payment date and the amount received, then click Pay. If the customer pays the full amount, the invoice is marked as paid. If they pay partially, the invoice shows the remaining outstanding balance and a partial payment is recorded. Multiple partial payments can be registered against the same invoice over time.

Credit notes: returns and refunds

When a customer returns goods or disputes a charge, open the posted invoice and click Credit Note. Enter the reason and the reversal date. Vendra creates a credit note that mirrors the original invoice. Edit the credit note to adjust quantities if only some items are being returned. Once confirmed, you can either offset the credit against the customer's next invoice or register it as a cash refund payment back to the customer.

Customer statements

Go to Accounting → Reporting → Aged Partner Balance and select Receivable to see all outstanding customer balances aged by overdue period (0–30 days, 31–60 days, 61–90 days, 90+ days). Use this report to prioritise collections follow-up — contact customers with the oldest overdue balances first. Export the report to Excel or PDF for sharing with your finance team.

Sales analysis

Go to Sales → Reporting → Sales for the main sales analytics view. Switch between pivot and graph views. Group revenue by customer, product, product category, salesperson, or sales team. Filter by date range to compare this month against last month or this year against last year.

  • The Salespersons report shows revenue and order count per sales representative.
  • The Products report shows total quantity sold and revenue per product.
  • The Customers report shows purchase frequency and total spend per customer.

B2B and B2C workflows

In a B2B workflow, the sales cycle typically runs: quotation → customer approval → confirmed sales order → delivery → invoice → payment. In a B2C workflow (walk-in customers or retail orders), the POS module handles the transaction end to end without going through the quotation stage. For online B2C sales, the eCommerce module creates a sales order directly when a customer checks out, which flows into the same delivery and invoicing process. Both workflows produce the same accounting entries and appear in the same sales analysis reports.

Get started

Manage your sales on Vendra

Quotations, orders, invoices and payments — connected in one system.

Get started
FAQ

Sales questions

Questions about how Vendra manages sales orders and invoicing?

Contact us
How do I create a quotation and send it to a customer in Vendra?
Go to Sales → Orders → Quotations and click New. Select the customer, set an expiration date, then add product lines. The price fills in from the customer's pricelist. Click Send by Email to deliver it as a PDF. When the customer accepts, click Confirm to convert it to a sales order.
How does Vendra trigger a delivery when a sales order is confirmed?
Confirming a sales order automatically creates a delivery order in the Inventory module for all storable products. The warehouse team sees it in Inventory → Overview → Delivery Orders, picks and packs the goods, then clicks Validate to confirm despatch. The sales order's delivery status updates automatically.
Can I invoice a customer before or after delivery in Vendra?
Both options are available. Products set to Invoice on Ordered Quantities can be billed when the order is confirmed. Products set to Invoice on Delivered Quantities can only be billed after delivery is validated. You can mix both policies on the same order — each line is billed according to its own setting.
How do I handle a customer return and issue a credit note?
Open the posted invoice and click Credit Note. Enter the reason and reversal date. Vendra creates a credit note mirroring the original. Edit it to adjust quantities for partial returns. Once confirmed, offset it against the customer's next invoice or register it as a cash refund.
How do I set different prices for different customer types?
Use pricelists. Go to Sales → Configuration → Pricelists and create one per customer category (Retail, Wholesale, VIP). Define rules for fixed prices, percentage discounts, or cost-based formulas. Assign the pricelist to each customer in their contact record — it then applies automatically to every quotation for that customer.

Close more sales with less admin

Quotations, orders, deliveries and invoices — all connected, all in Vendra.