How-toJD Edwards EnterpriseOneProcurement / Receipts and Voucher Match

JD Edwards Three-Way Match: PO Receipt to Voucher

Question
JD Edwards three way match purchase order receipt voucher

Also searched as

  • JDE voucher match to purchase order receipt
  • P4312 purchase order receipts how to
  • JDE voucher match no receipts found
  • JD Edwards PO receipt price variance

Short answer

In JD Edwards a three-way match ties the purchase order line (F4311), the receipt (F43121) and the supplier voucher together. Receive the goods in Purchase Order Receipts (P4312), then create the voucher with Voucher Match so the system matches quantity and price to the receipt and books any variance to the accounts set in the AAIs.

Applies to: JD Edwards EnterpriseOne 9.x Procurement and Accounts Payable. Match method options depend on processing options and the order type setup.

How to receive and match a purchase order

  1. 1Confirm the PO line is approved and in a receivable status. Check Order Activity Rules (P40204) if the line does not appear in receipts.
  2. 2Open Purchase Order Receipts (P4312). Enter the order number and quantity received for each line, and choose the receiving location. Save to write a receipt record to the PO receiver table (F43121).
  3. 3For a partial receipt, receive only what arrived. The line keeps an open quantity and stays eligible for another receipt later.
  4. 4Open Voucher Match, either from the Accounts Payable menu or from Standard Voucher Entry (P0411) with the match option. Enter the supplier, invoice number and invoice date.
  5. 5Choose the match method: match to purchase order, or match to receipt. Select the receipts that correspond to the supplier invoice.
  6. 6Review quantity and unit price on each line against the invoice. Enter the invoice price. If it differs from the PO price, the system books a variance.
  7. 7Save the voucher. Check that it posted to the Accounts Payable ledger (F0411) and generated the expected accrual reversal and variance entries.
  8. 8Post the batch and confirm the receipt line shows as vouchered when you re-open the PO.

How the tables relate

The purchase order detail sits in F4311, one row per line. Each receipt creates a row in F43121 that records quantity, unit cost, and the receipt document number. A voucher is written to the AP tables, with the pay items in F0411 and the G/L distribution in F0911. The match connects F43121 rows to the voucher, which is how the PO shows quantity vouchered against quantity received and how reporting can show received-not-vouchered liability.

Because receipts hold their own cost, a change to the PO price after receipt does not alter the receipt cost. The variance is computed at voucher match as the difference between the receipt value and the invoice value, which is why accounting teams watch voucher match carefully when prices are renegotiated.

-- read-only: received but not yet vouchered receipts for a supplier
SELECT PRDOCO, PRDCTO, PRLNID, PRAN8, PRUREC, PRAREC, PRRCDJ
FROM F43121
WHERE PRAN8 = 12345
  AND PRMATC = '1'
ORDER BY PRRCDJ;

Why voucher match shows no receipts

The most common reason is that the line was received to a different supplier number than the voucher, or the receipt is already fully matched. Next most common are status codes: if the line next status is not one that voucher match selects, the line is invisible to it. Also check whether the order was received with a receipt routing that places goods in a quality hold step before the receipt is final.

Also confirm the processing option on voucher match for which order types are selected. An order type used for blanket orders or subcontract work might not be included in the default selection, which sends users to enter a manual voucher and lose the three-way control.

Price variance and tolerance

When invoice price differs from receipt price, the difference books to a purchase price variance account defined in the Accounts Payable and Procurement AAIs. The account used depends on the cost method for the item. With standard costing the variance is against the item standard, while with average or last-in costing it flows differently into inventory value.

Some sites set tolerance checks so a variance above a percentage routes the voucher for approval. This is a business control, not just an accounting one. Test tolerances with real examples, including multi-currency invoices where exchange rate differences add to the variance.

Common pitfalls

  • !Vouchering without a receipt (two-way match) for goods items, which removes the control that goods arrived.
  • !Matching to the wrong receipt when the same item is received multiple times at slightly different prices.
  • !Leaving receipts unvouchered at month end without a received-not-vouchered accrual, understating liabilities.
  • !Receiving the full PO quantity out of habit when the supplier shipped partially.
  • !Editing the PO price after receipt and expecting the receipt cost to update.
  • !Forgetting to post the voucher batch, so the receipt appears matched in procurement but not in the ledger.

How an ERP-grounded AI assistant handles this

ERPray can report received-not-vouchered items by supplier, flag voucher lines with unusual price variance and show the SQL it used against the receipt and voucher tables. It reads with the user's JDE permissions and does not create vouchers. Any match remains a human action in Voucher Match.

Frequently asked questions

What is the three-way match in JD Edwards?

It compares the purchase order, the receipt and the supplier invoice before payment. In JDE, voucher match links the voucher to receipt records so quantity and price are checked before the voucher posts.

Where do I receive a PO?

Use Purchase Order Receipts, program P4312, from the Procurement menus. Each receipt writes to the PO receiver table and updates the open quantity on the order line.

Why is my PO line missing from voucher match?

Usually the line has no receipt yet, the receipt is already matched, the supplier differs, or the next status code is not one the match program selects. Check Order Activity Rules and the receipt records.

Where does price variance go?

It goes to the purchase price variance account resolved through the AAIs, based on the item's cost method and G/L category. Confirm the account with your finance team before go-live of a new item class.

Related

Error fix

JD Edwards GL Post: Batch in Error or Out of Balance

A JD Edwards journal batch fails to post when the General Ledger Post program (R09801) finds a problem in the batch header (F0011) or its detail (F0911), such as an out-of-balance document, an invalid account, a closed period or an inactive business unit. Read the post report errors, fix the offending journal lines in Journal Entry, then repost the batch from Batch Review.

How-to

How to set data selection and processing options in JD Edwards

Data selection controls which rows a UBE's underlying business view reads (a filter, stored per version in F9210/F9211), while processing options control how the program behaves once it has that data (a settings template stored per version in F983051/F983052). They are configured from the same Version Detail screen but are separate, unrelated mechanisms that new users routinely confuse.

How-to

JD Edwards table conversion: how it works and how to run one

Table conversion (TC) is the EnterpriseOne mechanism that updates a table's physical structure and converts its existing data whenever a table's definition changes in Object Librarian, most commonly running automatically as part of a package build. Simple field additions or size changes convert automatically; more complex changes such as splitting a field or transforming values need a custom conversion routine attached to the table object.

Error fix

JDE UBE failed (status E): how to read jde.log and jdedebug.log

A UBE (batch report/program) that ends with status E in Work With Submitted Jobs tells you almost nothing on its own. The real error is in jde.log on the enterprise server, in the job's own PDF/log subdirectory (jdedebug.log if you turned on debug), and in the work directory for that job number under PrintQueue or the OS temp path.

Error fix

JD Edwards: record is being used by another user (record reservation)

EnterpriseOne places a soft record reservation lock when a user opens a record for edit, tracked in the F00165 table, and releases it when the user saves, cancels, or the session ends cleanly. A stuck lock almost always means a session died abnormally (browser crash, network drop, kiosk timeout) without triggering the release, and it must be cleared by an admin, not by the original user retrying.

Error fix

JD Edwards business function (BSFN) errors: how to diagnose them

A BSFN error in EnterpriseOne means either the compiled function was not found for the current package build, or the function ran and threw an internal exception (often a null business view row, an unhandled C runtime error, or a failed table I/O). The fix path is different for each, so the first step is always determining which one you are facing from jde.log.

AI for ERP

AI for JD Edwards EnterpriseOne, Built on Orchestrator and AIS

Add AI to JD Edwards E1 9.2 using Orchestrator, AIS, and BSSV rather than screen-scraping. Ground a private LLM on F4211, F4111, and F0411 data.

Stuck on JD Edwards EnterpriseOne?

Talk to engineers who work inside JD Edwards EnterpriseOne every week, and who build private AI that answers these questions from your own ERP data.