Click or drag to resize

Receipt Data

This Receiving Interface is used when the receipt transactions are done in ERP system instead of Ultriva’s Receive Actions Forms or Scan options. This interface is used for processing and validating receipt data that comes from ERP system.

ERP Receipts Flat File Field Definition

The following table defines the fields in ERPReceipts Data file. The fields marked as bold are required. Required fields must always have non-empty data.

ERPReceipts Data File (inbound to Ultriva)

Field Name

Data Type

Length

Nullable

Unique

Description

EBJ_BUSCODE

Varchar

32

N

Y

Business Unit Code. This must match with the code in Ultriva.

EBJ_ITEMNO

Varchar

32

N

N

Item Number for which this PO Receipt has to be accounted for.

ORDERNUM

Varchar

128

N

N

Purchase Order Number for which this PO Receipt has to be accounted for.

ORDERLINENUM

INT

N

N

Purchase Order Line Number for which this PO Receipt has to be accounted for.

ORDERRELEASENUM

VARCHAR

32

Y

N

Purchase Order Blanket Release Number if any

ORDERRELEASELINENUM

VARCHAR

32

Y

N

Purchase Order Blanket Release Line Number if any

ReceiptQty

NUMBER

N

N

Quantity that has to be received.

RECEIPTNUM

VARCHAR

32

N

Y

Receipt Number

Pre-Processing

This interface uses following fields as uniqueness constraint.

Field Name

Mandatory Field

EBJ_BUSCODE

Yes

EBJ_ITEMNO

Yes

ORDERNUM

Yes

ORDERLINENUM

Yes

ORDERRELEASENUM

No

ORDERRELEASELINENUM

No

RECEIPTNUM

Yes

  1. If a record already exists with PROCESSED status with the above fields then the new RECORD is marked as DUPLICATE.

  2. Given EBJ_BUSCODE must exist in the system.

  3. RECEIPTQTY must be greater than 0. If it is less than or equal to 0 then the RECORD is marked as ERROR.

Validation

Batch Job Processor validates each record with following validation before it starts processing the record.

  1. Given EBJ_ITEMNO must exist in the given Business Unit context.

  2. If Supplier is using Shipment Module then the Order (underlying Kanban card for the order) must be in Shipped state before Receipt can be processed.

  3. Order Number fields must exactly match with same values provided during SETPO.

Processing Logic

The Batch Job Processor uses built in allocation algorithm to do receipt quantity to the individual cards for the given order number details.

Following flags changes the way how the Quantity is allocated to the cards.

Flag

Equivalent Job or Supplier Configuration Settings

Description

RALLOC_FLAG_OVERRECEIPTAS_LAST_REC

LastIfQtyEQ=T.

Default Setting is True.

If given Receipt Quantity is over or equal to order qty then the order must be closed for receiving.

RALLOC_FLAG_WAIT_FOR_SHIPMENT

Supplier Uses Shipment Module setting in the Supplier Business Unit setting

Wait for Shipment from supplier. Batch Job Processor should not auto ship and receive.

If the Flag is not set then the processor does auto ship and receives the card even if the card is not yet shipped.

RALLOC_FLAG_CRONHAND_FOR_OVERRECEIPT

CrOnHandIfExcess=T.

Default Setting is False.

If this flag is set then create temporary 0 life cycle on hand cards for excess receipt.

If this flag is not set then excess units are allocated to one of the cards in the system for this given order.

RALLOC_FLAG_SPLITANDRECEIVE_FOR_UNDERRECEIPT

SplitAndReceive=FALSE

If this flag is set then a card will be split into two and one is received with given receipt qty and another will be kept open for remaining units.

RALLOC_FLAG_RECEIVETO_PARENT

ReceiveToParent=FALSE

If this flag is set to true then if a card to be received is a temporary card then the temp card is received and destroyed. The received qty is moved to the parent card.

Note Note

In the following table, text that is bold and in parentheses is not part of the table, but rather is just describing the condition, which is to be explained by the rows following the text.

The following table illustrates how the allocation works based on various conditions.

Use Case

Total Order Qty

Card Qty

Number of Cards

Last Receipt Configuration

TreatItAsLastReceipt IfTotalReceiptQty EqualOrMore

Total Receipt Qty

Current Behavior

Balance Qty

Balance Card

(Received Qty is given in multiple input records)

3 Records with 48 Units and Last Record has Last Receipt Flag as 1

48 * 3

48

3

0

0

144

3 Cards will be received with 48 units

0

0

3 Records with 48 Units and no Last Receipt Flag

48 * 3

48

3

0

1

144

3 Cards will be received with 48 units

0

0

5 Records with 24 units and has Last Receipt Flag as 1 for the last record

24 * 5

48

3

1

0

120

1st and 2nd record will be allocated to 1st card. 3rd and 4th receipt records will be allocated to 2nd card. 5th record (1 receipt) will be allocated to 3rd card and will be short received because the last receipt is true.

0

0

5 Records with 24 units and has Last Receipt Flag as 0 for the last record

24 * 5

48

3

1

0

120

1st and 2nd record will be allocated to 1st card. 3rd and 4th receipt records will be allocated to 2nd card. 5th record (1 receipt) will be kept pending and 3rd card will not be received since Ultriva receipt process can't decide.

24

1

(Received Qty is given in multiple input records and Received Qty is more than Ordered Qty.)

2 Records with 48 Units and 3rd Record is 96 units. Last Record has Last Receipt Flag as 1

48 * 2 + 1 * 96

48

3

1

0

2 Cards will be received with 48 units and Last Card will be received with 96 units since Last Receipt record is marked as Last Receipt for this order.

0

0

2 Records with 48 Units and 3rd Record is 96 units. Last Record has Last Receipt Flag as 0

48 * 2 + 1 * 96

48

3

0

1

2 Cards will be received with 48 units and Last Card will be received with 96 units since Treat Last Receipt if received qty more than or equal to order qty configuration is enabled.

0

0

(Received Qty in the Input is given in multiple records and Received Qty is more than Ordered Qty. And Create OnHand for Remaining Units Flag is enabled.)

2 Records with 48 Units and 3rd Record is 96 units. Last Record has Last Receipt Flag as 0

48 * 2 + 1 * 96

48

3

0

1

3 Cards will be received with 48 units and One on-hand temp Card will be created with 48 units

0

0

Exact Match (Total Order Qty = Total Received Qty) and Last Receipt Flag is 1 and TreatItAsLastReceiptIfTotalReceivedQtyisEqualOrMore is 1

144

48

3

1

0

144

3 cards will be received and moved to on-hand

0

0

(Received Qty in the Input is given in multiple records and Received Qty is less than Shipped Qty. Receive and Split the shipped Card.)

3 records with 5 units each.

3 * 5

48

1

0

0

15

Receive 15 on the shipped card. Change the ship qty to 15. Create one in-transit card for remaining 33 units with all the other data including packing slip number etc same as the previous card.

0

1

(Received Qty in the Input is given in multiple records and Received Qty is greater than Shipped Qty. 1 Card in in-transit and 1 card is in in-process.)

4 records with 24 units each.

4 * 24

48

1 in In-transit. 1 in In-Process

0

0

Receive in transit card with 2 receipts data. Keep the remaining 2 receipts as Pending till supplier ships the card in in-process state.

0

1

(Received Qty in the Input is given in multiple records and Received Qty is greater than Shipped Qty.AutoShipAndReceive Flag If enough qty is available to receive is enabled.)

4 records with 24 units each.

4 * 24

48

1 in In-transit. 1 in In-Process

0

0

Receive in transit card with 2 receipts data. Allocate the remaining 2 receipts to in-process card and do ship and receive.

0

1

(Received Qty in the Input is given in multiple records and Received Qty is greater than Shipped Qty. 1 Card in in-transit and 1 card is in in-process. AutoShipAndReceive Flag If enough qty is available to receive is enabled.)

3 records with 24 units each.

3 * 24

48

1 in In-transit. 1 in In-Process

0

0

Receive in transit card with 2 receipts data. Allocate the remaining 1 receipts to in-process card and do ship and receive. Spawn a child card for remaining 24 units to keep it in in-process state.

0

1

Additional Flex Fields

NONE.