Let’s start with a simple example of a SKU that has been created but there is no balance
i.e. TOT does not hold, nor has ordered the SKU
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117879 |
0 |
0 |
0 |
0 |
0 |
TOT is going to buy 100 of this SKU to use so creates a purchase order for the same with a supplier
Initially this is the position for the order
|
Qty Ordered |
Quantity Rec’d |
Qty Cancelled |
Qty Outstanding |
1117879 |
100 |
0 |
0 |
100 |
Note, as the purchase order has not been sent the SKU balance is unchanged
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117879 |
0 |
0 |
0 |
0 |
0 |
As soon as the order is updated to a sent status the position is as follows
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117879 |
0 |
0 |
100 |
0 |
0 |
We now have 100 expected at the SKU level
i.e. CR QTY expected with QTY Ordered on PO
TOT receives 25 of the SKU as a delivery.
These are Booked in on the PO
CR Qty received by Booked In QTY
DR QTY Outstanding by Booked In QTY
|
Qty Ordered |
Quantity Rec’d |
Qty Cancelled |
Qty Outstanding |
1117879 |
100 |
25 |
0 |
75 |
Book in as movement type actualises stock numbers and therefor affects SKU & location accounting:-
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
Warehouse Balance |
1117879 |
25 |
0 |
75 |
0 |
25 |
DR Expected by Qty Booked In
CR Available by Qty Booked In
As the items are booked into a warehouse
location – the location / SKU balance is CR by Qty Booked In
Let’s assume for completeness that the remaining 75 is received on another delivery
These are Booked in on the PO
CR Qty received by Booked in QTY (75)
DR QTY Outstanding by Booked in QTY (75)
|
Qty Ordered |
Quantity Rec’d |
Qty Cancelled |
Qty Outstanding |
1117879 |
100 |
100 |
0 |
0 |
These are booked into another physical location – note the headline SKU balance
DR Expected by Qty Booked in (75)
CR Available by Qty Booked In (75)
CR Location by Qty Booked in (75)
Note how this affects the SKU Balance
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117879 |
100 |
0 |
0 |
0 |
100 |
As there are multiple physical locations the SKU is booked into, the location balances for the SKU look like the following
1117879 |
QTY |
Locn 123 |
25 |
Locn 345 |
75 |
Thus the In Warehouse Locations balance for a SKU is @sum of SKU location balance records
When PO sent a PO
CR SKU Expected QTY with
QTY Ordered
When booked in from PO
DR QTY expected by Qty
Booked In
CR Qty available Qty Booked In
CR Location balance by QTY Booked In
recalc In location warehouse balance
We’ll replicate the above but for a more typical business example where the blank garments are ordered for a Job to print 100 shirts.
Thus the blank sku will be allocated to meeting the requirements on the job – and the corresponding printed garments sent to the client
Again we will assume that there is zero balance on the Blank SKU
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
0 |
0 |
0 |
0 |
0 |
The job is written up, and the output SKU 1117881 created
However, as there is no expected and no available on the blank Sku it cannot be allocated
Thus a PO is raised for 100 of the Blank Sku against the Job
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
0 |
0 |
100 |
0 |
0 |
Note the position for the Printed SKU – as there is 100 required to be printed – the system defaults the same as Qty expected
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
0 |
0 |
100 |
0 |
0 |
As the PO is linked to the Job, when the delivery is received, users execute a super set of functions
They Book In, Allocate and Pick for the Job in one function per SKU
This results in the following position
For the PO
|
Qty Ordered |
Quantity Rec’d |
Qty Cancelled |
Qty Outstanding |
1117880 |
100 |
100 |
0 |
0 |
For the Blank SKU
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
0 |
0 |
0 |
100 |
0 |
A zero warehouse balance, but 100 have been picked (for the Job)
Let’s break this down into what actually happened
First a Book in of 100 so
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
100 |
0 |
0 |
0 |
100 |
DR Qty Expected by QTY Booked In
CR QTY available by QTY Booked In
CR Warehouse location by QTY Booked In
Then an allocation toward the job requirement
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
0 |
100 |
0 |
0 |
100 |
CR Qty Allocated by QTY allocated
DR Available by Qty Allocated
Then finally a Pick for the job requirement – picks are done against specific location balances
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117880 |
0 |
0 |
0 |
100 |
100 |
CR Qty Picked Qty by QTY Picked
DR Warehouse Location by Qty Picked
DR Qty Allocated by QTY Picked
Note for this super-set function, the individual warehouse location(s) are not credited / debited by the Book In and Pick respectively, but if the transactions were processed separately they would be
For the printed SKU – No changes – the Printed SKU are still expected as they have not yet been produced
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
0 |
0 |
100 |
0 |
0 |
As the items are required to go out, a fulfilment is created for the whole 100 of the printed SKU
As 100 are expected the requirement can be allocated against the expected QTY
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
-100 |
100 |
100 |
0 |
0 |
Allocation does the following
DR Qty available by QTY allocated
CR Qty Allocated by Allocated QTY
Thus we see a negative available position before the printed goods are actualised – this will get offset by the Qty expected which in the absence of any scrappage will be Qty that get produced
At the end of the job processes, the printed goods should have been produced. The actualisation of the QTY’s that get produced is done through Data Entry
Let’s assume for our example that 98 got produced and there was 2 scrap.
CR Qty Available by QTY Successfully Produced
DR Qty Expected by QTY Produced + QTY Scrapped + QTY discrepancy
CR Location Balance with QTY Successfully Produced
We thus have the following position for the Printed SKU
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
-2 |
100 |
0 |
0 |
98 |
As we have a requirement for 100 on the fulfilment; and 100 was allocated
prior to the
data actualisation, we cannot fully pick the fulfilment requirement –
we only have 98 Garments
In this instance the user needs to de
allocate the 100 allocated
De allocate does the following
CR Qty available by QTY De-allocated
DR Qty Allocated by QTY De-allocated
as available was minus 2, crediting back the 100 allocated will result
in the correct Qty available :-
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
98 |
0 |
0 |
0 |
98 |
The user can then amend the requirement to 98 and allocate the full 98
SKU |
Qty available |
Qty Allocated |
Qty Expected |
Qty Picked |
In Warehouse Balance |
1117881 |
0 |
98 |
0 |
0 |
98 |
The fulfilment requirement will now look like
SKU |
Qty available |
To be Given |
Qty Expected |
Qty Picked |
Allocated |
Warehouse balance |
1117881 |
0 |
98 |
0 |
0 |
98 |
98 |
Finally the fulfilment can be picked
Picked movement does the following transactions:-
DR Location Balance by Qty Picked
CR Qty Picked by QTY Picked
DR Allocated by Qty Picked
SKU |
Qty available |
To be Given |
Qty Expected |
Qty Picked |
Allocated |
Warehouse balance |
1117881 |
0 |
98 |
0 |
98 |
0 |
0 |