Voucher Build Processing Logic for Associating Voucher Lines with Purchase Order and Receiver Lines
When the Voucher Build process builds voucher records from purchase orders and receivers, it uses default processing logic to match the voucher line information it has received with purchase orders and receivers. When you use the Quick Invoice Entry component to enter basic voucher information for the Voucher Build process to build into voucher records, you can accept this default processing logic or specify a voucher build code that identifies special processing logic for the Voucher Build process to follow. These voucher build codes specify how the Voucher Build process finds matches between voucher line information and receivers or purchase orders. You define voucher build codes using the Voucher Build Criteria component (VCHR_BLD_DEFN).
There are two ways of building vouchers from purchase orders or receivers:
-
You can copy purchase orders or receivers directly to the voucher, either by using the Copy PO function or a copy worksheet.
-
You can enter identifying information about the purchase order or receiver (or both) in the other PO/Receiver default fields (and on the voucher header and lines).
The Voucher Build process uses this information to locate purchase order and receiver lines and builds the voucher from them. The fields required to successfully build voucher lines from receiver and purchasing order lines depend on the processing logic used by the Voucher Build process—either the logic defined by the voucher build code that you enter or, if you don't enter a voucher build code, the default processing logic.
Note:
You copy and associate purchase order and receiver information to the summary invoice using the Summary Invoice Entry component.
If you do not specify a voucher build code for the quick invoice, the following default association criteria apply:
-
The Voucher Build process attempts to match voucher lines to receivers before purchase orders:
-
The voucher line matches if the receiver business unit, receiver ID, and receiver line number are specified on the voucher and match the receiver.
-
If no receiver line number is specified on the voucher line, the voucher line can still match to a receiver if the receiver business unit, receiver ID, inventory item ID, and quantity are specified and match.
-
If no receiver ID or receiver line number is specified on the voucher line, the voucher line can still match to a receiver if the packing slip, carrier ID, bill of lading, or invoice ID from the voucher header is specified and matches the receipt line and both the inventory item ID and quantity are specified and match.
-
If the quantity is specified on the voucher line, it must match the quantity on the receiver line.
-
If a unit of measure is specified on the voucher line, it must match the receiver line.
-
-
If there is no match to a receiver, the Voucher Build process attempts to match a purchase order:
-
The voucher line matches if the PO business unit, PO ID, PO line number, and PO schedule are specified on the voucher and match the purchase order.
-
If no PO line number or PO schedule is specified on the voucher line, the voucher line can still match a purchase order if the PO business unit, PO ID, inventory item ID, and quantity are specified and match.
-
If the quantity is specified on the voucher line, it must match the quantity on the PO schedule.
-
If a unit of measure is specified on the voucher line, it must match the PO schedule.
-
Note:
Purchase orders and their associated receivers that are marked with the procurement card (PCard) settlement method cannot be processed through Voucher Build association logic.
See Understanding Source Document Copy Functionality.
If this default association logic does not meet the organization's needs and you do not want to rely solely on voucher build codes to override the logic, you can modify it by using these tools:
-
To deactivate the default logic, make section AP_VB_BLDCD.XUSRDFLTStep01 active.
-
To have separate default logic for receivers, make section AP_VB_BLDCD.XUSRDFLTStep02 active and populate the PeopleCode clauses by using dynamic SQL code.
-
To have separate default logic for POs, make section AP_VB_BLDCD.XUSRDFLTStep03 active and populate the PeopleCode clauses by using dynamic SQL code.
Note:
Test any new dynamic SQL thoroughly.