Procurement is the last place software reaches in most businesses. A request starts with a phone call or a message from production. The quotes obtained pile up in an email inbox, sometimes on paper. Approval is the 'fine' the manager says in the corridor. The order is placed, the goods arrive, the invoice lands with accounting. Every link in the chain works on its own but leaves no trace behind it. Six months later there is no corporate answer to the question 'who did we buy this material from, at what price and why from that firm'; the only person who knows the answer is the person who made the purchase. This is not a matter of bad faith; it is the natural result of a process built in a way that keeps no record anywhere.
In enterprise software literature this area is called a procurement management system, usually shortened to PMS. Whatever it is called, the problem it solves is the same: who raised the request, which quotes were collected, who approved it and on what basis, and whether the incoming invoice matches the order — none of this sits in a single record. Once that information is scattered across email, WhatsApp and desk-side conversations, procurement stops being auditable.
The purchasing module in an ERP usually holds the second half of the chain: the order is recorded, goods receipt is entered, the invoice is processed. The first half — how the request arose, how many suppliers were asked for a quote, on what basis the quotes received were compared and who gave the approval — stays outside the system in most installations. That part consists of email, Excel and verbal approval. On top of that, whether the order, the goods receipt and the invoice agree with one another is usually checked by hand; in a busy month end that check is not made in practice. Price differences, short deliveries and invoices paid twice come from here. And when something goes wrong it is nobody's fault; the information needed for the check was never on one screen.
The system we build runs this chain end to end in one place. A request is opened with a form; the person raising it, the date it is needed, the budget line and the reason are put on record. When the request is approved it moves to the request for quotation (RFQ) step; the same line list goes to several suppliers with identical content. The quotes received are compared not on price alone but with lead time, payment terms, freight and any past performance visible together. The choice is recorded with its reasoning, the approval goes to the relevant person according to the value threshold, and the purchase order is created. When the goods arrive a receipt record is entered; partial deliveries and rejections are handled separately. In the final step the order, the goods receipt and the invoice are compared automatically; this is called three-way matching (3-way match), and the lines that do not agree are listed before payment.
The realistic limit of this work is as follows: the software does not negotiate and does not reduce procurement costs by itself. What brings the price down is genuinely obtaining several quotes, consolidating scattered small purchases and having data in hand when talking to a supplier; the system makes these possible and easy, it does not replace them. The second limit concerns the design of approvals. If the approval chain is set up more rigidly than necessary, people bypass the system: urgent purchases are made by phone, the record is entered afterwards and the process exists only on paper. That is why we define value thresholds, delegation and the route for urgent purchases together from the start. An approval workflow that is not used is more harmful than one that was never built, because it creates the illusion that the records are correct.