Purchasing software tracks the whole chain inside a company, from a need raised as a purchase request to supplier selection, the purchase order, goods receipt and approval of the supplier invoice, in one system. Short answer: the real gain is not keeping a list of orders, it is blocking unapproved spending and automatically checking every invoice against the order and the quantity received before it is paid.
What is wrong with running purchasing on email and Excel?
In a small team, requests arrive by phone or email, the buyer asks a few suppliers for prices and places the order. As volume grows, it becomes impossible to see who bought what, from which budget and with whose approval.
- Requests are verbal; approvals get lost in email threads.
- Different departments buy the same item separately at different prices.
- Orders go to the usual supplier without comparing quotes.
- When the warehouse receives a short or damaged delivery, accounting never hears about it.
- Invoices are paid as they are, even when the price differs from the order.
What good purchasing software must have
The core record is not the order but the purchase request: who wants which item, in what quantity, for which cost center or project and by when. The order is created from the approved request, so every purchase has a reason and an approver.
- Purchase request: item, quantity, need date, cost center and justification.
- Approval steps from fixed rules based on amount and category; the requester cannot choose the approver.
- Collecting supplier quotes and comparing price, payment terms and lead time on one screen.
- A purchase order from the approved quote; a sent order is frozen and changes go through a revision.
- Goods receipt recording quantity and condition against the order, with partial deliveries supported.
- A supplier record: contacts, payment terms, past orders and delivery performance.
Before an invoice is paid, three documents should sit side by side: the order says what was requested, the goods receipt says what arrived and the invoice says what is being charged. If they do not agree, payment is held automatically. This is called three way matching.
Three way matching: a small example
The function below compares, for each line, the invoiced quantity with the received quantity and the invoiced unit price with the order price. A small tolerance can be allowed for price differences; tolerance and amounts are integers in minor units. Lines with a mismatch go to a review queue instead of payment.
type Line = { sku: string; qty: number; unitPriceMinor: number };
const PRICE_TOLERANCE_MINOR = 100; // per unit, integer minor units
// Pay only what was ordered, at the ordered price, and actually received.
function threeWayMatch(order: Line[], received: Map<string, number>, invoice: Line[]) {
return invoice.map(inv => {
const po = order.find(o => o.sku === inv.sku);
const got = received.get(inv.sku) ?? 0;
const issues: string[] = [];
if (!po) issues.push('not on order');
else if (Math.abs(inv.unitPriceMinor - po.unitPriceMinor) > PRICE_TOLERANCE_MINOR) issues.push('price');
if (inv.qty > got) issues.push('qty above received');
return { sku: inv.sku, status: issues.length ? ('review' as const) : ('ok' as const), issues };
});
}Which systems should purchasing talk to?
Purchasing should not be an island. Received quantities go straight into stock tracking, and an item that drops below its reorder level can open a new request. A matched invoice moves to accounting through accounting software integration, and the amount owed to the supplier and its due date show up in account balance tracking. For suppliers with a framework agreement, end and renewal dates are read from contract management software. The sales quote software on the selling side should use the same product codes; otherwise cost and selling price cannot be compared.
Off the shelf or custom software?
With a few suppliers and a simple approval need, off the shelf purchasing modules or the ERP system you already use are usually enough. Custom software makes sense when approval rules change by project, site or branch, when purchasing must live on the same data as stock, production and accounting, or when suppliers should enter quotes and delivery notes themselves through a portal. Before deciding, count the orders in recent months that were paid at a price different from the order or placed without approval; that shows the size of the problem best.
Conclusion
Purchasing software pays off when every expense is tied to an approved request, quotes become comparable and no invoice can be paid before it matches the order and the goods receipt. If you want to look at your purchasing process together with your existing systems, see our corporate solutions page or write to us through the get a quote form.