Ask AwraIQ about features, pricing, onboarding, login, integrations, security, demos, mobile apps, automation, reports, or support.
The price they accepted is the price they’re billed.
Write a quote priced from the customer’s own price list, sign it off, send it with a link they can accept from their phone, and turn it into a sales order that holds the stock and invoices line by line. Nothing is retyped and nothing is repriced on the way.
Quote approval · Online accept or decline · Sales orders with stock reservation · Part invoicing · Quote, order and proforma PDFs · Web and mobile
A sale is a promise made three times. Each one should agree with the last.
The quote names a price. The order commits the stock. The invoice asks for the money. In most businesses those are three documents typed by three people, and the figure drifts a little at every hand-off — a price list updated between the quote and the invoice, a discount forgotten, a quantity that shipped short and billed in full.
In AWRA a line is priced and taxed once, when the quote is saved, and then copied forward. The order carries the quote’s lines exactly, and the invoice carries the order’s. If the price list moves after your customer said yes, their invoice still says what they agreed to.
Quote
An offer with a valid-until date. Approved where your workspace requires it, emailed as a PDF with a link the customer can answer, and marked expired automatically when its date passes.
Draft → approved → sent → acceptedSales order
The commitment. Confirming it reserves what is on the shelf at the order’s warehouse and backorders the rest; it carries the customer’s own reference and an expected date.
Draft → confirmed → part invoiced → invoicedInvoice
Raised from the order in one go or in parts, with each line’s remaining quantity tracked. It behaves exactly like a typed invoice: numbering, credit hold, eTIMS at issue and the workflow events.
Raised from the order or straight from the quoteSigned off before it leaves. Answered, or expired, when it returns.
Quote approval is on by default in a new workspace and can be switched off in sales settings by an organization where the person writing a quote is trusted to send it.
Quotation QUO-0142
From Mwangaza Building Supplies · valid until 31 Oct 2026
| Roofing sheet, 30 gauge × 120 | 112,800.00 |
| Ridge cap × 40 | 18,000.00 |
| Delivery and installation | 22,500.00 |
| VAT 16% | 24,528.00 |
They answer from the email. You hear about it straight away.
- No login to open it. The email carries the quote PDF and a signed link. The link expires with the quote — at the end of its valid-until day, or after 30 days for a quote with no end date — so a forwarded email stops working when the offer does.
- An answer has a name on it. The customer types their name to accept or decline, and may give a reason for declining. Both are kept on the quote and in the audit log.
- The person who wrote it is told. An acceptance or a decline lands in the author’s notifications with a link to the quote, ready to convert.
- Phone answers count too. Staff can record an acceptance given by phone or in person; customers with portal access can answer from their portal.
- Answered quotes can still be sent. A copy of an accepted, declined or converted quote can be emailed again to view. An expired one cannot: its offer lapsed, and its link stays closed.
Every customer can have their own price. The system works out which one applies.
A price list is a named set of selling prices — a contractor rate, a distributor rate, a hospital tender, a USD export list. Give a customer a list and every quote, order and invoice you raise for them is priced from it, without anyone remembering to.
The customer’s own list
If the customer is assigned a list and it has a price for this item at this quantity, that price is used.
Contractors 2026 → KES 940 a sheet at 100+Your default list
Otherwise the organization’s default list is tried. One list can be the default at a time; marking another moves it.
Nairobi trade → 10% off the item priceThe item’s selling price
If neither list has a row that applies, the item’s own selling price and its own tax-inclusive setting are used.
Ridge cap → KES 500 on the itemContractors 2026 — the rows for one item
Roofing sheet, 30 gauge · item price KES 1,150 · list in KES, 1 Jan – 31 Dec 2026| From quantity | Rule | Unit price |
|---|---|---|
| 1 | Fixed price | 980.00 |
| 100 | Fixed price — quantity break | 940.00 |
| 500 | Fixed price — quantity break | 905.00 |
- Kilele Hardware is on Contractors 2026, which is active, in date and in KES.
- They are buying 120. The rows from 1 and from 100 qualify; the row from 500 does not.
- The highest qualifying minimum is 100, so the line is priced at KES 940.
A percentage row instead of a price
Ridge cap · item price KES 500 · Kilele’s list has no row for it| Source | Rule | Unit price |
|---|---|---|
| Contractors 2026 | No row for this item | — |
| Nairobi trade (default) | 10% below the item price | 450.00 |
| Item selling price | Not reached | 500.00 |
- A row is either a fixed price or a percentage on the item’s selling price — from 100% off to 1,000% up, never both.
- A percentage row follows the item: change the selling price and the list price moves with it.
- The result is rounded to the currency’s own precision — whole units for a zero-decimal currency such as the Ugandan shilling.
What a list carries
| Name and notes | What the rate is and who agreed it. |
| Currency | Always your base currency, the same as every sales document. |
| Valid from / to | Optional. A tender rate that ends on 30 June stops pricing on 1 July. |
| Status | Active or inactive. |
| Default | Prices every customer who has no list of their own. |
| Tax treatment | Follow each item’s setting, or treat every price on the list as tax-inclusive, or as tax-exclusive. |
Who is on it, and what happens later
- Assign customers in bulk — up to 500 at a time from the list’s own page — or remove one. Each customer has one list.
- Saved documents keep their price. Changing a list changes what the next quote, order or invoice gets, never one already written.
- A typed price is used as typed. Leave the price blank and the list decides; enter one and the line keeps it.
- The mobile app shows the price first. Pick a customer, an item and a quantity, and the app asks the same resolver what that customer would pay before the document is saved.
One roofing job, from quote to the second invoice.
A building supplier quotes a contractor for a roof. Eighty sheets are on the shelf in Nairobi; forty are on a lorry from the factory. Figures in KES, VAT at 16% on top.
QUO-0142 — accepted by Jane Wanjiru, Kilele Hardware
Converted to SO-0088. The order carries these lines exactly.| Line | Qty | Unit | Discount | Net | Priced by |
|---|---|---|---|---|---|
| Roofing sheet, 30 gauge | 120 | 940.00 | — | 112,800.00 | Customer list, break at 100 |
| Ridge cap | 40 | 450.00 | — | 18,000.00 | Default list, −10% |
| Delivery and installation | 1 | 25,000.00 | 2,500.00 | 22,500.00 | Typed service line |
Confirming SO-0088
Stock is promised at the order’s warehouse the moment it is confirmed.80 sheets and 40 caps: 93,200 net + 14,912 VAT. The order is now part invoiced; 40 sheets and the installation remain.
40 sheets and the installation, its 2,500 discount carried whole: 60,100 net + 9,616 VAT. The order is now fully invoiced.
The two invoices add to the quote to the shilling — 108,112 + 69,716 = 177,828 — because both were cut from the same lines. Try to invoice a 41st sheet and the order refuses, naming how many are left. A line invoiced in part carries its discount in proportion to the quantity billed.
The customer’s accounts team wants an invoice. You have not supplied anything yet.
A proforma is a print of the quote or the order, headed as a proforma invoice and marked “not a tax invoice”. It exists so a customer can raise payment in advance or get internal approval — without you declaring a sale that has not happened.
| Quotation PDF | Proforma invoice PDF | Order confirmation PDF | Tax invoice | |
|---|---|---|---|---|
| Printed from | A quote | A quote or an order | An order | Raised from the order or the quote |
| Number on it | QUO-0142 | PF-QUO-0142 / PF-SO-0088 | SO-0088 | Its own invoice number |
| Takes an invoice number | — | Never | — | Yes |
| Filed to eTIMS | — | Never | — | At issue, where eTIMS is on |
| Carries the accept link | Yes, once sent | — | — | — |
| Dates printed | Date, valid until | As the source document | Date, expected date, customer’s reference | Invoice date, due date |
| Available on mobile | Yes | Yes | Yes | Yes |
Through an order when it ships over time. Straight to the invoice when it does not.
Convert to an order
- Pick the warehouse and shelf to fulfil from, and record the customer’s purchase-order reference — it is printed on the confirmation and carried onto every invoice.
- Confirming reserves what is free and backorders the shortfall, so stock you have promised cannot be sold at the till.
- Invoice line by line as goods leave. A line that lost its reservation can be reserved again from the order.
- Cancel before invoicing and the reservations are released. Once invoiced, the order stands — cancel or credit the invoice instead.
Invoice the quote directly
- For a job done in one go: the quote’s lines become the invoice’s lines, at the accepted price.
- Stock is checked first — what is free at the chosen warehouse, after other orders’ reservations. If anything is short, the invoice is refused, line by line, with what was wanted and what is available.
- The refusal points you to an order instead, which reserves what is there and backorders the rest.
- Service lines with no stock item are billed and never issued from stock.
The details that stop a quote turning into an argument.
Tax decided per line
An item carries its own tax treatment; a service line is standard-rated unless marked exempt, and a tax-exempt customer is quoted without tax. Tax-inclusive prices have their tax extracted so the net never carries it.
Whole-line discounts
A discount is an amount off the line, capped at the line’s value so a line can never go negative, and shown as a separate total on every document.
Separate permissions
Viewing, creating, editing, approving and deleting quotes are separate permissions, and managing orders and raising invoices are separate again — on the web and the mobile API alike.
Audit trail
Creation, approval, acceptance and decline are written to the audit log, with the name the customer gave.
Recoverable drafts
Only a draft quote can be deleted, and a deleted quote goes to the trash, where it can be restored with its lines.
Own number sequences
Quotes and orders are numbered in their own sequences per organization, and the proforma borrows its source’s number rather than taking an invoice number.
Warehouse and shelf
An order is fulfilled from a chosen warehouse and, optionally, a shelf in it. A shelf from another warehouse is refused, and a user pinned to one warehouse stays pinned.
The whole flow on mobile
Create, edit, approve, send, record an answer, convert, confirm, reserve, cancel and invoice from the mobile app, and open any of the three PDFs there.
Documents linked both ways
An order knows the quote it came from and every invoice raised from it; an invoice knows its order and its quote.
What AWRA OpsHub does today
- Customer quotes with a valid-until date, priced and taxed once when saved, and copied forward unchanged to the order and the invoice.
- Quote approval, on by default and switchable in sales settings: a draft is signed off by someone with the Approve quotes permission before it can be sent, answered or converted, and editing an approved quote returns it to draft.
- Quote email with the PDF attached and a signed link that expires with the quote, from which the customer views, accepts or declines under their own name.
- Answers from three places — the emailed link, the customer portal, or staff recording a phone call — with the author notified in the app.
- Nightly expiry of quotes past their valid-until date.
- Sales orders with a warehouse, an optional shelf, an expected date and the customer’s reference, confirmed to reserve stock and backorder the shortfall.
- Part invoicing by line quantity, with the remaining quantity tracked per line and an over-invoice refused.
- Direct quote-to-invoice conversion, refused when the stock is short at the chosen warehouse.
- Quotation, order confirmation and proforma PDFs, the proforma never numbered as an invoice and never filed to eTIMS.
- Price lists in your base currency, with validity dates, an active status, one default, a tax-inclusive setting, fixed or percentage rows and quantity breaks, resolved in one place for quotes, orders, invoices, recurring invoices and the till.
- The whole flow on the mobile API, including a price lookup before a document is saved.
More we can add to your workspace
- A credit check at order confirmation, so an order that would take a customer over their limit is held before stock is reserved rather than when it is invoiced.
- Delivery notes for sales orders, printed per shipment with the quantities that left and a signature on receipt.
- Pick lists from sales orders, grouping confirmed orders by warehouse and walking order for the store team.
- Discount authority by role, so a discount or a typed price beyond a person’s limit is routed for approval rather than saved.
- Approval by value, sending a quote above a set amount to a second approver, and a rule that the author of a quote cannot approve it.
- Numbered quote revisions, keeping each version a customer was sent instead of editing one quote in place.
- Quotes in a customer’s own currency, priced from a list in that currency, alongside your base-currency documents.
- A drawn or typed e-signature captured on acceptance, printed on the order confirmation.
Where we point you to a specialist
- We will not file a proforma to eTIMS. Nothing has been supplied at proforma stage, and filing then is how a customer who never pays leaves you with output VAT declared on a sale that did not happen.
- We will not reprice an accepted quote on its way to the invoice. If your list moves after the customer said yes, the invoice says what they agreed. A new price is a new quote.
- We will not invoice stock straight from a quote that is not on the shelf. The order exists to promise what is there and backorder the rest; skipping it would bill goods you cannot hand over.
A credit check at order confirmation and discount authority by role are the two items in that middle column that most change how a sales team works day to day, and both sit on rules this module already enforces. Tell us how your approvals and limits work today and we will come back with a written spec, a timeline and a price.
Where the order goes after the quote.
Quotes, orders and price lists
Frequently asked questions
How does a quote become an invoice?
What does quote approval do?
Can my customer accept a quote online?
What is a proforma invoice in AWRA?
How is a price chosen when there are several price lists?
If I change a price list, do existing quotes change?
What happens to stock when an order is confirmed?
Can I invoice only part of a sales order?
Help Center
Need a quick answer while you read?
Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.