ERPNext buying and procurement setup

A plan for configuring procure-to-pay in ERPNext, from material requests and supplier quotations to purchase orders, landed costs and approvals, and what the work needs from your team.

On this page

When ERPNext buying setup decides how stock is valued and spend is controlled

Procure-to-pay in ERPNext covers the path from a internal need to a supplier invoice being paid: material requests, requests for quotation, supplier quotations, purchase orders, purchase receipts and purchase invoices, plus the approval rules that decide who may commit spend. The settings in this chain matter more than they first appear. A purchase receipt posts stock into a warehouse at a rate, a purchase invoice posts payables and expense, and landed cost vouchers can change the item valuation after goods arrive. If a team configures these links loosely, the stock ledger and the general ledger can disagree about what an item cost. A team moving purchasing into ERPNext should decide early which of these documents will carry stock, which will carry accounts, and who approves each step.

The platform context shapes that decision less than the process design does. ERPNext is free and open source under GPL-3.0, so the software itself carries no license fee, and it can run on your own servers or on Frappe Cloud. What you pay for is the work of mapping your approval thresholds, supplier onboarding, tax accounts and warehouse structure into the system, and that work recurs whenever the process changes. Before comparing an in-house build with a partner, ask your team to write down the approval matrix, the three-way match you expect between order, receipt and invoice, and the landed cost items such as freight and duty that you need to capitalize. Those answers define the configuration scope and the testing effort, and they are what a partner will need to quote against.

Verification is where in-house teams most often underestimate the work. Run a test cycle with one item from a material request through to a paid invoice, then confirm that the stock ledger and general ledger reflect the same valuation, and that a landed cost voucher moves the rate you expect. Check that Purchase Order approvals block submission for users below the limit, and that blanket orders release quantities against the agreed rate. Confirm with your Frappe or ERPNext version which of these settings are available and how they behave in that release, because the configuration screens and their defaults change between major versions. The ERPNext documentation on landed cost vouchers is a useful next read before you finalize the costing design.

What the ERPNext buying module does

The buying module moves a need from a request to a received, costed item in stock. Each document below feeds the next, so the setup decisions you make early, such as who approves what and how freight is allocated, shape every later purchase.

Material requests

A Material Request records an internal need for items, which can later become a supplier quotation request, a purchase order or a stock transfer, depending on the purpose you set. It is the first point where a department asks for something. Check which roles can raise requests, which item groups need approval, and whether requests should be tied to a warehouse or cost center so the eventual purchase lands in the right place.

Request for quotation

A Request for Quotation is sent to one or more suppliers asking them to price a defined set of items. Sending the same request to several suppliers gives you comparable quotes, and the supplier responses are later recorded against it. Confirm the supplier list, the response deadline, and how supplier contact details are kept current, because the request is only useful if the right suppliers receive it.

Supplier quotations

A Supplier Quotation captures a supplier's price, terms and validity for the items you asked about. It is the record you compare when choosing a supplier, and it can be converted into a purchase order once accepted. Decide who enters quotations, how competing quotes are compared, and whether a quotation must be linked back to the request it answers so the audit trail stays complete.

Blanket orders

A Blanket Order records a long-term commitment to buy items within an agreed period at negotiated rates. It acts as the reference for downstream transactions, so purchase orders drawn against it release quantities over time instead of renegotiating each time. Before setup, agree the validity period, the total quantity or value commitment, and who monitors the remaining balance so the agreed rates are not used after they expire.

Purchase orders

A Purchase Order is the commitment sent to a supplier, and it drives receipts and invoices later. Whether a purchase order is raised directly, from a supplier quotation, or against a blanket order changes how quantities and prices are tracked. Settle the approval path, the tolerance for price and quantity variance at receipt, and whether receiving against a purchase order is required before an invoice can be posted.

Landed cost vouchers

A Landed Cost Voucher is created against a Purchase Receipt or Purchase Invoice with Update Stock checked, and it adds freight, duty and other charges to the item valuation rate. Without it, the stock value reflects only the supplier price. Decide which charge types you track, how they are allocated across items, and who posts the voucher, because valuation errors here flow into cost of goods and inventory reports.

Which procurement pattern fits your buying process

Direct purchasing fits routine buys from a supplier you already trust, where price and terms are settled and no comparison is needed. A team member raises a Material Request or creates a Purchase Order straight from the supplier, and the goods arrive against it. The setup effort sits in the master data, so that each purchase needs little manual entry.

  • Supplier master: Default payable account, default currency, payment terms and tax template are set once on the Supplier record so they do not need re-entry on each order.
  • Item defaults: Default purchase unit of measure, default warehouse and default expense or stock account decide where a receipt lands and how it is valued.
  • Price lists: A buying price list tied to the supplier keeps agreed rates consistent across orders.
  • Approval settings: Purchase order approval rules by value or item group decide whether a direct buy still needs a second signature.
  • Stock and accounts: A Purchase Receipt increases stock in the warehouse and creates a received-not-invoiced liability, which the Purchase Invoice later clears.

Before go-live, confirm with finance which accounts a direct buy must hit and whether the purchase invoice is matched to the receipt or posted independently.

How landed cost vouchers change item valuation

This table compares the ways freight, duty and other charges can be captured in ERPNext, from attaching a landed cost voucher to a Purchase Receipt or Purchase Invoice with Update Stock checked, through allocation and timing, to the reposting checks finance should run. Read each row as a decision point, and treat the last row as the minimum reconciliation before month end.

Decision or checkWhat it changesWhat finance should confirm
Against a Purchase ReceiptCharges attach to goods already received, so the valuation rate updates for the stock on that receipt once the voucher is submitted.The receipt is the goods-arrival document, and the charges match the shipment it covers.
Against a Purchase Invoice with Update StockStock is updated through the invoice, which suits cases where no separate receipt is raised for the goods.Only one document is used for stock, so duplicate receipts and invoices do not double count quantities.
Allocation basis for chargesEach charge is spread across items by a chosen basis, such as amount or quantity, which determines each item's share of the valuation uplift.The basis matches how the cost really arises, for example weight-based freight versus value-based duty.
Timing of posting after receiptPosting before the supplier invoice or freight bill is final can leave valuation understated or overstated until adjustments are made.Whether the voucher is posted at receipt or at period close, and how estimated charges are later trued up.
Effect on item valuation rateAdded charges increase the valuation rate of received items, which then flows into stock value and cost of goods sold as stock is consumed or sold.Valuation rates on sample items before and after submission, against the expected landed cost per unit.
Reposting after late changesCorrections to a submitted voucher or receipt can change past valuation, and stock ledger entries may need reposting.Whether a stock reposting run is needed and that the affected periods are reviewed before they are closed.
Reconciliation before closeStock value in the Stock Ledger and Stock Balance reports should agree with the general ledger stock accounts.Differences between stock and the stock accounts are explained, with unposted charges listed as open items.

How a buying setup moves from design to first purchase cycle

The sequence turns a procurement policy into a tested procure-to-pay flow in ERPNext, with each step closing on a written output that the next step depends on. Ownership is split between finance, procurement and the implementation team.

  1. Confirm the procurement policy and approval matrix

    Finance and procurement leads agree which purchases need a material request, how many suppliers must be asked for quotes, which purchase orders need approval, and at what value thresholds approvers sign off. Write these rules as a one-page approval matrix that names a role for each threshold. The step is done when the business owners have signed the matrix, because every approval rule later in the build traces back to it.

  2. Clean supplier and item masters

    The implementation team and the procurement data owner review supplier records for duplicates, tax identifiers, default currencies, payment terms and default accounts, and review item records for units of measure, default suppliers and valuation method. Duplicate suppliers and inconsistent units cause the most rework in later purchase cycles, so this is the point to merge and correct them. The step closes with a master data extract that the data owner has approved in writing.

  3. Configure material request and RFQ settings

    The team sets up material request types, the items and warehouses they draw on, and the request for quotation template, including the terms, item lines and supplier list that go out to several vendors. Confirm which document is the source of truth for quotes and whether supplier quotations are entered by buyers or submitted through the supplier portal. The step is complete when a test material request produces an RFQ that can be sent to two or more test suppliers and a supplier quotation can be recorded against it.

  4. Set up blanket orders and the landed cost flow

    Buyers record blanket orders for items bought over an agreed period at negotiated rates, and the team confirms how released quantities create purchase orders and how each order links back to the blanket. Next, the team defines which freight, duty and handling charges are applied through landed cost vouchers against purchase receipts with stock updates, and which expense accounts receive them. The step closes when a test blanket order releases one purchase order and the charge accounts are mapped and approved by finance.

  5. Test with sample transactions

    The team runs a full procure-to-pay test using sample items and suppliers, covering a material request, RFQ to several suppliers, a supplier quotation, a purchase order that exceeds an approval threshold, a purchase receipt, a purchase invoice and a landed cost voucher. Each test is checked against the approval matrix, and the stock ledger and general ledger entries are compared with the expected values. The step is done when every scenario passes and the test log is filed with the approved matrix.

  6. Reconcile the valuation check

    Finance compares item valuation rates after the landed cost voucher with the purchase invoice cost and the expected freight and duty allocation, and confirms that stock and accounts balance for the test warehouse. Any difference is traced to a document, corrected and retested rather than adjusted by a manual journal. The step is complete when finance signs a reconciled valuation check that shows the test purchase cycle ties out in both stock and accounting.

  7. Train buyers and approvers

    The implementation team runs role-based sessions for buyers, approvers and the warehouse staff who receive goods, using the tested transactions as the training path. Each group practices the steps it owns and the approval actions it can take, and the team confirms that users hold only the roles the matrix assigns them. The step closes when each trained user has completed a supervised transaction and the go-live checklist is signed by the procurement owner.

What buyers ask before bringing in an ERPNext partner

What drives the cost of a fixed-scope ERPNext buying setup?

The scope and the number of decisions drive the cost most. A fixed-scope quote follows from a written scope, so the price depends on how many suppliers, item groups, approval levels and purchasing flows must be configured and tested. Expect the work to split into discovery of your current buying process, configuration in ERPNext, testing with your own sample transactions, user training and go-live support. Ask the quote to list each deliverable separately, state which items are one-time work and which are ongoing, and name who performs each task: DeployOpen, your staff or a third party. DeployOpen does not publish a price list, so compare quotes on the written scope rather than on headline totals.

How long does ERPNext procurement setup take to go live?

Duration depends mainly on approval complexity and data quality. A setup with one approval step and clean supplier and item master data moves faster than one with several value-based approval tiers, cross-company purchasing or many blanket orders to load. Poor data slows the work because supplier records, item codes, units of measure and open purchase orders must be cleaned before they are imported. The Data Import tool is documented to handle a few thousand records at a time, so large loads are planned in batches. Ask the quote for a timeline tied to named milestones, and confirm which of your data sources must be ready before the build starts.

What does the work need from procurement, finance and IT?

Each team owns a different part of the design, and the project stalls when one of them is missing. Procurement defines the purchasing flow: when a material request is raised, which suppliers receive a request for quotation, how supplier quotations are compared and which blanket orders exist. Finance defines the approval thresholds, the accounts used for landed cost and the rules for when a purchase invoice is matched to receipts. IT provides the environment, identity and access, backups and the test and production sites. Ask the partner to name a decision owner in each team and to confirm the sign-off points in the written scope.

Can our team configure ERPNext procurement alone using the documentation?

A capable team can configure the basic flows from the documentation, but the harder parts are design decisions rather than screens. The ERPNext documentation covers Request for Quotation, Blanket Order and Landed Cost Voucher, and each can be set up by someone who reads it carefully. Where teams struggle is in approval rules that match their delegation of authority, in landed cost allocation across several receipts and in testing edge cases such as partial receipts and currency differences. Set a realistic internal test plan, assign an owner to each document type, and decide early whether you want an outside reviewer to check the configuration before go-live.

Which landed cost mistakes affect stock valuation?

The most common mistake is posting landed cost against the wrong receipt or leaving Update Stock unchecked, so freight and duty never reach item valuation. A Landed Cost Voucher is created against a Purchase Receipt or Purchase Invoice with Update Stock checked, and the additional charges are added to the item valuation rate. Engineers should confirm how charges are allocated across items, test with a receipt that has several lines, and verify the valuation impact in the stock ledger before closing the period. Ask the partner to show this test in the acceptance criteria.

What recurring work follows go-live for procurement?

Recurring work covers supplier and item master maintenance, approval rule changes as the organization grows, and version upgrades. ERPNext releases minor updates frequently on both supported major versions, so the team needs a testing routine before each upgrade. Frappe's supported versions page lists version 15 as supported until the end of 2027 and version 16 until the end of 2029, so confirm which version your build targets. Hosting, backups and access reviews also continue. Ask the quote whether support, upgrades or testing are included, or whether they run as a separate retainer.

Who should own the procurement configuration after handover?

A named internal owner should hold the configuration, with a backup who can approve changes. The owner keeps a record of approval thresholds, supplier categories and blanket order terms, and reviews them when policies change. Changes that use Server Scripts need extra care, because from version 15 they are disabled by default and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. Ask the handover to include a change log, a test environment for configuration changes and documented access rights for who can edit approval rules.

Does ERPNext procurement setup include warranty or ongoing support?

Ongoing support is a separate decision from the initial build. Frappe's supported versions policy says customers must be on a listed version and subscribed to a matching Frappe Cloud support plan to receive warranty coverage from Frappe, so confirm which hosting model applies to you before assuming coverage. DeployOpen offers ongoing support and upgrades as retainers, and most engagements are fixed-scope with scope, deliverables and timelines agreed in writing. Ask whether the quote covers the build only, and what response and handover terms apply after go-live.

Loading suppliers, items and open purchase orders into ERPNext

Load master data before any transaction, and load open purchase orders last. ERPNext's Data Import tool reads CSV or Excel files, and it creates or updates records using downloadable templates. Suppliers and items go in first because purchase orders reference them, and each supplier and item must exist before the documents that point to it can be saved. Child table rows, such as purchase order items and supplier contacts, are supported, but each child row must be keyed to its parent record in the same file, so check that every line belongs to a valid parent before you upload. The ERPNext documentation advises importing only a few thousand records at a time, so split large supplier and item lists into batches and run a small test batch first. Confirm the exact template fields for your ERPNext version, because required columns can differ between releases.

Before you import, clean the source data and settle its mappings. Remove duplicate suppliers and items, since an import that matches on the wrong key will update a live record instead of creating a new one. Map every legacy unit of measure to an ERPNext UOM, and map legacy tax codes to the Item Tax Template and Purchase Taxes and Charges Template your accounts team has approved. Decide which supplier and item attributes are required for procurement approvals and which can stay blank. Open purchase orders need the same care: confirm that quantities already received or invoiced are reduced, so that ERPNext does not show stock or liabilities that were already settled. Ask your finance lead to reconcile the imported open order value to the legacy system before go-live.

Decide what stays in the legacy system. Closed purchase orders, old quotations and historic invoices usually add little to daily buying work, and importing them can clutter supplier history and reporting. Most teams keep them in an archive, with the legacy system read-only for a defined period, and bring in only open orders and the supplier data needed to act on them. Record this decision in writing, including who can still query the archive and how long it is kept. Test one full procure-to-pay cycle on imported data, from a purchase order through a purchase receipt to a supplier invoice, before you cut over. This shows whether the imported records behave correctly in later steps.

How buying connects to the rest of the platform

Procure-to-pay touches stock, accounts, permissions and sign-in, so a buying design is only as sound as its links to those areas. The cards below cover the connections to settle before configuring approvals, valuation and access.

Receipts drive stock valuation

A Purchase Receipt with Update Stock checked is what puts goods into warehouse stock and sets the item valuation that later costing relies on. Decide early whether receipts are created before or after the supplier invoice, because that order changes when stock and payables are posted. Confirm how partial receipts and returns will be recorded so that received quantities match what the warehouse counts.

Landed costs flow into item value

Freight, duty and handling charges entered through a Landed Cost Voucher are added to the item valuation rate of the receipts they reference. Agree with finance which charges are capitalized and how they are allocated across lines, since this affects inventory value and cost of goods sold. Confirm the accounts used for each charge before the first shipment arrives.

Payables and supplier invoices

Purchase Invoices post to accounts payable and must be matched to the right receipts and orders for the three-way check to hold. Map supplier groups, payable accounts and tax templates before go-live so invoices post to the correct ledgers. Ask your accountant which invoice-before-receipt cases are allowed, because that decision changes how exceptions appear in reports.

Who can approve purchases

Role permissions decide which users can submit, amend or approve Purchase Orders and Material Requests above a given value. Map each approval level to a named ERPNext role, then test that a requester cannot approve their own order. Review user permissions for cost centers and companies so that approvers see only the spend they are responsible for.

Approval logic needs a planned route

Server Scripts are disabled by default from version 15 and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. If approval thresholds depend on custom Python, plan a self-hosted bench or move the rule into standard workflow and permission settings. Confirm the route with your Frappe Cloud plan or hosting team before design work starts.

Sign-in with LDAP or social login

ERPNext can authenticate users against Active Directory or OpenLDAP through LDAP Settings, mapping directory groups to roles at each login, and Social Login Key supports OAuth or OpenID Connect providers. Decide which identity source governs buyers and approvers, because group mapping determines who receives purchasing roles. Test SSL/TLS options and deprovisioning before rolling out approval permissions.

What drives buying setup effort and how to keep it down

This table lists the main factors that raise effort when configuring procure-to-pay in ERPNext, how each one adds work, and the practical way to keep it down. Read each row as a question to settle before scoping, since most drivers are cheaper to decide early than to rework after go-live.

DriverHow it raises effortHow to keep it down
Approval complexityEach approval level, amount threshold and department split adds rules to define, test and explain to approvers before purchase orders can flow.Start with ERPNext's standard approval rules and a short list of thresholds, then add levels only when a control owner asks for them in writing.
Number of suppliersRequest for quotation cycles, supplier quotation comparisons and supplier master data grow with each supplier added, especially where terms, currencies and tax treatment differ.Group suppliers by category, load them through the Data Import tool in batches, and agree which suppliers take part in quotation rounds.
Number of itemsItem groups, units of measure, default suppliers and valuation settings must be checked item by item, and blanket orders need agreed rates per item.Define item groups and default purchase units first, then set up only the items in the first wave and add the rest on a fixed schedule.
Multi-company needsEach company needs its own supplier linkages, buying settings, warehouses and intercompany rules, and purchase flows can cross company boundaries.Confirm which company buys what before configuration, and scope intercompany purchasing as a separate deliverable if it is needed at go-live.
Multi-currency needsSupplier currencies, exchange rate handling on purchase invoices and landed cost in foreign currency all need testing against accounting results.Limit go-live to the currencies actually paid, and test one foreign-currency purchase through to payment before accepting the design.
Customized approval logicLogic beyond standard rules usually means custom server scripts or a custom app, with review, testing and ongoing maintenance on every upgrade.Write the approval logic as a short decision table, check whether standard workflows cover it, and put any custom code in a separately priced change request.
Landed cost allocation rulesFreight and duty must be split across items by a basis the business agrees on, and wrong splits flow into item valuation and margin reporting.Agree the allocation basis (for example by quantity or value) with finance before building, and test one receipt with duty and freight end to end.
Data qualityDuplicate suppliers, inconsistent item codes, missing tax templates and stale prices force cleansing work before any test transaction is meaningful.Assign a data owner per master, clean and de-duplicate before import, and import in small batches with the import template to catch errors early.
Number of integrationsSupplier portals, e-invoicing, bank payment files and procurement catalogs each need field mapping, error handling and reconciliation.Launch with manual supplier upload and document integrations as later phases, with each one scoped and signed off as a separate item.
Scope agreementUndefined scope lets requirements grow during build, and acceptance criteria stay vague, which extends testing and rework.Agree scope, deliverables and timelines in writing before work starts, with a named list of approval flows, documents and integrations in scope.

Designing approval rules that match your spend policy

Decide the policy before anyone opens the ERPNext settings. Write down the spend thresholds that trigger extra sign-off, the approver role for each band, and the segregation of duties you need: the person who raises a purchase order should not be the person who approves it, and the person who approves a supplier quotation should not be the one who records the goods receipt or the supplier invoice. Confirm who in your organization owns each threshold, how often finance revisits it, and what happens when an approver is absent. These answers determine which roles, workflows and permissions you build, so they should be agreed in writing with finance and internal audit first.

Map the policy onto ERPNext objects one by one. Approval workflows, role-based permissions on Purchase Order and Purchase Invoice, and the fields that drive routing each need a named owner and a test case. Check the current documentation for your ERPNext version to confirm how workflow conditions reference document totals and how multi-company or cost center restrictions interact with approval, since a rule that works in one company can silently fail in another. Keep the rule set small enough that a reviewer can read it on one page, and record each rule's purpose next to its configuration.

Test every rule as each user role, not only as an administrator. Create test users for the requester, the approver at each band, the accounts payable clerk and an out-of-scope user, then attempt to submit, approve, amend and cancel documents at the edges of each threshold. Keep the test script and results as working evidence. DeployOpen prepares configuration, test records and documentation for compliance assessments, but it does not issue audit reports or certifications. Agree with your auditors in advance which controls they expect to see evidenced and in what format, so the test pack serves both your operations and their review.

How DeployOpen scopes and delivers ERPNext buying setup

This sequence turns the procure-to-pay design into a written scope, a configured system on your infrastructure, tested purchasing transactions and documentation your buyers and administrators can use after handover.

  1. Document current buying and approval practice

    DeployOpen interviews the people who raise requests, buy, receive goods and approve spend, and collects sample purchase orders, supplier quotes, price lists and blanket agreements. The team records which steps happen in email, spreadsheets or other systems today. The step closes with a process map that buyers, finance and warehouse leads have reviewed and corrected, so the design starts from how purchasing actually works.

  2. Agree the written scope and deliverables

    Before any build work starts, DeployOpen writes down the scope, the ERPNext version and hosting environment, the documents in the procure-to-pay chain that will be configured, the approval rules, the integrations (if any), the test cases and the handover items. Both parties sign the scope, and changes after signature go through a written change request with a revised quote. Ask for this document to state which items are excluded, since that is where most disagreements begin.

  3. Set up the environment on your infrastructure

    DeployOpen installs or confirms the ERPNext environment in your cloud accounts, data centers or air-gapped network, following the deployment method your team has chosen. Work covers the site, backups, email settings and access for named administrators. The step is complete when a non-production site runs the agreed ERPNext version and your team can log in with their own accounts. Your team keeps ownership of credentials and of the infrastructure itself.

  4. Configure suppliers, items and approval rules

    The team sets up supplier records, item groups, units of measure, default accounts and warehouses, then builds the approval rules that match your spend limits and reporting lines. Each rule is linked to a named role so that approvals follow your delegation policy. The step closes when a sample purchase order routed through each approval level reaches the expected approver and no one else.

  5. Build and test the procure-to-pay chain

    DeployOpen configures material requests, requests for quotation, supplier quotations, purchase orders, blanket orders and landed cost vouchers, then runs them using a sample of your real transactions, such as a recent multi-supplier tender and a freight-and-duty shipment. Testers check quantities, valuation rates after landed costs, accounting postings and status changes at each stage. Any defect is logged, fixed and retested. The step closes with a signed test log that your finance and procurement leads have reviewed.

  6. Migrate reference data and train users

    Master data such as suppliers and open blanket orders is loaded through the Data Import tool in batches, since the documentation advises importing only a few thousand records at a time, and reconciled against source counts. DeployOpen then runs role-based training for requesters, buyers, approvers and warehouse staff, using the agreed test cases as exercises. The step closes when each user group completes its exercises on the non-production site.

  7. Hand over documentation and support options

    DeployOpen delivers the configuration record, approval matrix, role map, test evidence, runbooks for backups and common errors, and a list of open items with owners. Your administrators receive the change log for every customization. The handover closes when your team has accepted the documents in writing and the production go-live date is confirmed.

  8. Agree optional retainers for upgrades

    After go-live, you can choose a retainer for ongoing support, scheduled upgrades and continuous testing, or keep the work in-house. Ask DeployOpen to state in the quote which upgrade tasks, response arrangements and reviews the retainer covers, and which costs stay with your team, such as hosting, licenses and internal staff time. Frappe's supported versions policy also requires that the system be on a listed version and that a matching Frappe Cloud support plan be in place to receive warranty coverage from Frappe, so confirm that point with Frappe before choosing a hosting path.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.