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.
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.
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 |
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 |
If a record already exists with PROCESSED status with the above fields then the new RECORD is marked as DUPLICATE.
Given EBJ_BUSCODE must exist in the system.
RECEIPTQTY must be greater than 0. If it is less than or equal to 0 then the RECORD is marked as ERROR.
Batch Job Processor validates each record with following validation before it starts processing the record.
Given EBJ_ITEMNO must exist in the given Business Unit context.
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.
Order Number fields must exactly match with same values provided during SETPO.
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. |
![]() |
---|
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 |
NONE.