Receive Against Purchase Order Lines While They Are Open

Introduction

Customers will create open, standing purchase orders that they will receive against over a period of time, without adding delivery schedules. This is especially the case for our customers who are vertically integrated with their feed mills. By default, the purchase order sync supports only one receiver per order line. We'll need a setting in CONNECT allows them to receive against purchase order lines until the PO or line is closed.  

Prerequisites

To enable this configuration, we'll need to follow the prerequisites of the Purchase Order setup.

 

Configuration

Settings → Product Configuration → Aeros

Under the "Purchase Order Category" for Aeros, we have added a new configuration called "Synchronization Settings". This setting will determine if the purchase orders are not received against after we have imported one receiver, or if we will add many receivers to one PO line until the purchase order line is closed.  

 

 

Staging Purchase Order Line Receivers 

Ordering → PO Sync → New

Ordering → PO Sync → View Existing

When records are staged or updated, a new column named "Is PO Line Open" will be managed on the stage record. AS long as the ERP database via the custom stored procedure returns "true", then this record will be included in any:

  • Calls to the Update From ERP Routine

  • Calls to the Receive From Easy Automation Routine

  • Calls to the Commit to ERP Routine.

When a PO line is completed or closed in ERP, this field will become unchecked.

 

With the default configuration, we would update the PO line with the receive date and amount when we found a receiver. After the line was committed to ERP we would "complete" the line. This completion would mark it and we would no longer receive against it.

With the new configuration, we can see that a detail view has been added to the PO lines. Each line can receive many times against it, and we'll perform this check as long as the receiver is opened in the ERP system. When we find a receiver, instead of updating  dates and amounts on the staged line we add a new receiver row with the date, amount received, and the easy automation receipt line number from their system. 

 

It was decided that for continuity with Easy Automation scale receipts, and to not lose any amount of feed received in a conversion, we will stage and receive pack amounts from purchase order lines.

When we create purchase orders in ERP we will do so using the purchasing units of measure, When we stage the records we will notice that the line totals will have been converted to their pack and pack unit of measure. This conversion happens in the custom stored procedure, so any considerations or rounding we need to perform before staging should happen there.

The records will be sent and returned to us from Easy Automation using the pack.

When we commit the values to     

 

Committing Purchase Order Line Receivers

With the default configuration, where we only receive once against a PO line, we would commit a receiver and see the commit date set on the PO line. With this new configuration, we can see this date, but it will not update. Instead, the detail records that are created underneath the line will receive their own commit dates.

As is the case with receivers, the commit will send any records that aren't already committed to ERP to create the receiver and inventory. If there are several uncommitted they will all be processed.

With this process, we are staging the pack. When we create receipts in ERP we will set the pack, and that software will calculate the units received. When we create inventory upon commit, we will use the pack to calculate units and create the inventory.    

 

 

Scheduling The Receive and Commit

 

Settings → Other → Scheduled Tasks

The code to schedule purchase order receipts and commits was updated:

  • For receive:

    • The stage table will be queried to find all stage records with an "Open PO line".

    • We will get all distinct batch ids for these PO lines.

    • For each batch, we will run the receiver process as outlined in this documentation.

  • For commit:

    • The receiver detail table will be queried to find all receiver detail records that are uncommitted.

    • We will get all distinct batch ids for these receiver records.

    • For each batch id, we will run the commit process as outlined in this documentation.   

 

The job settings to schedule purchase orders were missing from previous versions, for Easy Automation. We have resolved that with this latest version (1.09.17.0)

the jobs are:

  • PurchaseOrderSyncCreate: Creates new batches for purchase orders that have been added to ERP. 

  • PurchaseOrderSyncSend: Update Purchase Orders from ERP and then send them to Easy Automation

  • PurchaseOrderSyncReceive: Get Receivers from Easy Automation and stage them in ERP.

  • PurchaseOrderSyncCommit: Commit the Staged Receipt to ERP, creating a PO receiver and inventory.

 

 

Related pages