Skip to content
All articles

Procurement and inventory software: purchase approvals to goods receipt

Warehouse worker scanning goods while holding a tablet
Photo by Tiger Lily on Pexels

Compare procurement and inventory software by following an approved purchase through goods receipt, invoice matching and payment evidence. The system should make exceptions visible when the quantity received differs from the order or invoice. An approval button or a stock dashboard alone does not establish that the whole purchasing process is controlled.

Odoo and ERPNext document useful but different control choices. Odoo describes ordered-versus-received bill policies and a three-way matching indicator. ERPNext separates purchase commitment, physical receipt, payable and payment, while also offering a combined stock-updating invoice route. Evaluate which pattern fits your business instead of assuming every procurement package prevents an incorrect payment automatically. Odoo bill controls, ERPNext buying.

Which purchasing decisions should the software preserve?

Start before the purchase order. Identify who requests the item, who can approve the request, who selects the commercial offer and who confirms physical receipt. Where the same person holds several roles, record that honestly rather than presenting a separation of duties that does not exist.

Next, define what an approval authorises. A request approval may permit a purchase but not establish that goods arrived. A receipt records an event at a location, while an invoice records a claim for payment. Staff should be able to identify which evidence supports each state.

Ask candidate systems to demonstrate a partial receipt and a disputed invoice. A flawless full-order example does not reveal whether the business can stop, investigate and resolve a mismatch. Require the demonstration to preserve the original order and explain later changes instead of silently editing the history.

How do Odoo and ERPNext compare on receipt controls?

Control question Odoo documented approach ERPNext documented approach
What determines billable quantity? Ordered or received quantity policy Separate receipt and invoice documents, or a chosen combined route
Can policy vary by product? Product-level bill control can override the default Establish the relevant buying controls in the intended configuration
How is a mismatch shown? Three-way matching can set an exception indicator Inspect the linked purchase documents and configured controls
Can physical and financial events be combined? Demonstrate the selected bill and receipt flow Update Stock on an invoice can combine effects
What must not be assumed? Exception status is not an unconditional payment block Combined entry does not preserve independent receipt approval

This table compares documented mechanics rather than declaring a winner. It also identifies questions not answered by the opened pages. A blank in the evidence is a demonstration requirement, not permission to invent a product capability.

Does three-way matching block an incorrect payment?

Odoo’s documentation explains that its three-way matching feature works with a received-quantities bill policy. That dependency matters: enabling a label elsewhere does not establish the intended control is active for the product concerned.

The same page gives a crucial qualification. Editing a draft bill can set Should Be Paid to Exception, but Odoo notices the discrepancy without blocking the changes or showing an error. The status can also be changed manually. An evaluator should therefore distinguish “mismatch detected” from “payment prevented”.

Test this directly in a demonstration environment. Change a billed quantity after a partial receipt and inspect the resulting indicator, permissions and payment path. Record what the actual user can do. Do not describe the system as enforcing independent approval unless the configuration and permission test establish it. Official matching qualifications.

When is a combined receipt and invoice unsuitable?

ERPNext describes a direct Purchase Invoice with Update Stock as a shorter goods-purchase flow. Its documentation also states that the route does not separate warehouse confirmation from invoice approval. That is an explicit trade-off rather than a universal improvement.

If the business needs a warehouse receiver to confirm accepted quantities before the finance team processes the invoice, demonstrate a separate receipt flow. If occasional counter purchases use a combined document, define that exception clearly so it does not become the route for every purchase.

ERPNext warns not to use Update Stock when a Purchase Receipt already recorded the goods. Ask the candidate to show how staff recognise the existing receipt. Counting the physical arrival twice can make an apparently integrated system less reliable than the records it replaced.

An original request-to-receipt exception card

Use this card for a demonstration purchase with a deliberate quantity difference:

Request: item, unit, business purpose and requesting role.

Approval: decision reference, approved scope and role permitted to amend it.

Commitment: purchase order and agreed item identifiers.

Receipt: quantity accepted, quantity rejected, warehouse and receipt reference.

Invoice: billed quantity and matching document references.

Exception: explain whether the difference concerns quantity, identity, condition or an unapproved change.

Control result: warning shown, action blocked or allowed, user role and authorisation evidence.

Resolution: amended document, retained reason and next reconciliation check.

The card is an editorial evaluation aid. It is not an assertion that a particular platform implements every field natively. If a vendor proposes customisation, mark that requirement as proposed work until demonstrated.

How should you compare approval features fairly?

Give each candidate the same test data and roles. Ask an ordinary requester to attempt an approval, a receiver to alter the purchase terms and a finance user to process a disputed bill. Inspect the actual permission result rather than accepting screenshots taken with an administrator account.

Keep documentary evidence for each comparison row: official feature description, configured rule and observed test. A product that can be configured for a control has not yet demonstrated that control in your environment. The distinction should remain visible in the selection record.

Also ask how outstanding orders, partial receipts and unpaid invoices will enter the new system. Starting with only product names and opening quantities can lose the links needed to explain current liabilities and expected deliveries.

Before adopting a system, agree who owns exceptions and who can authorise their resolution. Software should make that decision traceable; it should not conceal the absence of an operating owner.

Discuss the workflow through Spout’s web development service or start an enquiry with the exception card and candidate systems.

By Spout Team. Prepared with AI-assisted drafting using the linked primary documentation.

Make your next move.

A website, a store or a clearer digital plan. Let’s start with your business.

Start your brief