Batch Numbering¶
Batch Fabrics
When fabrics are ordered, they are often ordered in batches eg 10 rolls of roller fabric (all the same stock code).
When this arrives, it often carries a batch number.
We have developed functionality to record batch numbers against stock transactions.
Stock Setup > Stock Items
We have created a new table to hold the batch number, unit of sale and quantity.
The table is called StockTransactionBatch.
There is a new flag in the stock record called ‘Enable Batch Numbering’, which defaults to false.
If this is switched on, then there is a new tab visible called ‘Batches’.
Purchase Ordering
When a regular purchase order is delivered into stock, if ‘Enable Batch Numbering’ is true for the stock item, the user is now able to enter a batch number as well as the quantity (if not delivering all), but only if it is going into warehouse stock.
There is no functionality for holding batch numbers against factory stock.
The batch number will be manually entered by the operator – it could be numerical or alphanumerical.
Stock Setup > Stock Transaction Entry
If a stock record has ‘Enable Batch Numbering’ switched on, then the batch number can be entered for a stock receipt or stock issue, and also if a warehouse > factory relocation is done.
When stock is transferred, and there are batches held for that stock item, it is also possible to specify the batch number.
‘Batch Numbering’ is now a column choice in the stock enquiry form.
It is now possible to see the stock in hand figure before it gets updated by either an issue or a receipt.
This is displayed after the stock item is selected.
If ‘Batch Numbering’ is switched on, then the available amount in each batch is displayed
Order Processing > Orders
If ‘Use Factory Stock’ = true, then batch numbering does not apply – the factory stock in hand figure will just be updated as now.
If ‘Use Factory Stock’ = false, then batch numbering is not applied.
Stock Valuation
This now shows the batch numbers and quantities as a subset of the stock item.
There is a new criteria on the ‘Stock Valuation’ report called ‘Current Cost Only’ which defaults to false.
If it is false, then the cost prices (and landed cost prices) are taken from the stock transaction record if ‘Batch Numbering’ = false and from the batch record if ‘Batch Numbering’ = true.
If ‘Current Cost Only’ = true, then the cost price is only be taken from the stock control general tab for both cases.
Stock Take – Batch Numbers
There is functionality in Blindata to hold batch numbers against stock items. This is enabled if ‘Batch Numbering’ is switched on in the stock record.
When stock records are exported, it is now possible to export batches, then to import them as well as part of the stock take process.
This is required so that the batch total and the stock in hand figures are the same.
The following changes have made to the system
Reports > System Reports > Stock Take Report
We now export the batch amounts as well as the ‘Stock In Hand’ figure. These are a subgroup of the stock record.
Stock Setup > Stock Take Entry > Import
We have made some changes to the import file. There are additional columns for ‘Unit Of Sale’ and ‘Batch Number’.
Previously when the stock was imported, it did not take account of ‘Unit Of Sale’ or batch numbers.
We have introduced two new columns for them.
Also, there are now column headers in the import spreadsheet, as follows:
Stock code
Stock description
Warehouse stock
Factory stock
Unit Of Sale
Batch Number
If there is no ‘Unit Of Sale’ field filled in, then it will be assumed that the amount (‘Warehouse Stock’ or ‘Factory Stock’) is a unit amount.
If the batch number is filled in (need to check that the stock record has ‘Batch Numbering’ switched on), then the existing batch record(s) for that item will be removed, the stock in hand zeroised and the new ones added to the batch number table and the stock in hand added to (it has to be added to because there may be more than one batch number record).
Stock Take Entry > Import
If records are imported that have the ‘batch number’ column filled, then the following rules now apply.
The record imports to the batch number table and the ‘Stock in Hand’ figure in the stock record is the sum of the last record entered for each batch number.
The record will not be imported if ‘Batch Numbering’ is true for the stock record and there is no batch number in the import file column.
The record will not be imported if there is a batch number but ‘Batch Numbering’ is not set to true in the stock record.
We have also checked the ‘Stock Take Report’ and ‘Stock Valuation’ report to make sure they produce the correct figures.
Purchase Order Enquiry > Regular PO > Update
If you had a fabric that has ‘Batch Numbering’ = true and ‘Enable Factory Stock’ was true in Parameters, when the fabric was delivered, there is the choice to tick ‘Factory Stock In Hand’.
If this is ticked, then there is no need to record a batch number for the fabric, so we have removed the validation on ‘Enter Batch Number’ if this is true.
Stock Setup > Stock Take Entry > Import
If a record is imported from a spreadsheet for a stock item that has ‘Batch Numbering’ = true, when the import is done, the record in the ‘Batches’ tab is deleted before the new batch is imported.
Also, if ‘Batch Numbering’ = false (but it had been true), then any record in ‘Batches’ for that stock item is also deleted.
Batch Numbering
An option to create sequential batch numbers when delivering fabric into stock is now available.
There a new parameter called ‘Enable Sequential Batch Numbering’.
If this is enabled, then the batch number is automatically assigned when the goods are delivered into stock.
The starting batch number can be set up in Administration > Parameters.
PO Fabric Batches
This is only applicable when automated batch numbering is switched on. This means when regular purchase orders are delivered, each roll is assigned a batch number.
A label for each batch can be printed using the ‘Print Batch Label’ button in ‘Purchase Order Enquiry’.
The label shows the stock code, barcode for stock code, batch no, batch no barcode, and prints on 3” x 1” labels.
Regular PO Delivery
It is also possible to record the stock location when the fabric is delivered into stock.
Order Processing > Orders > Batch Numbering
If automated sequential batch numbering is switched on, then the sales order processing is now able to work out which batch number to use.
It starts with the lowest batch number available for the fabric.
This is done when the order detail line is saved.
To do this properly we now to hold the ‘On Sales Order’ amount against the batch number record. This means that when an order detail line is saved, the (‘Quantity’ - ‘On Sales Order’) calculation is inspected at batch number level (as well as stock record level) and if there is enough free stock in that batch, then it is used. If there is not enough, then it has to move onto the next available batch.
If there is not enough in any batches, but the available stock figure in the stock record is still high enough, then no batch number is recorded.
This means that when the ‘Processes’ button is displayed, there will be no batch number held against the relevant process.
Additional Notes:
If ‘Use Factory Stock’ is switched on, on sales order figures are no longer allocated to the batches (if ‘Batch Numbering’ is switched on for a fabric).
It only updates the ‘On Sales order’ figure in the main stock item (fabric) record.
This relates to a stock transaction entry for a stock item with ‘Batch Numbering’ set to true.
It is now possible to enter a cost price or pull the cost price from an existing batch number cost price for the same item.
Additional notes - Batch Numbering
At the moment we have the possibility of setting up stock items as having ‘Batch Numbering’.
This is required because some customers want to hold fabrics in different batches.
The reason they want to do that is because fabrics sometimes come in very slightly different shades (because of the way they are manufactured), even though they are supposed to be identical.
We have completed sequential numbering for batch numbers when the stock comes in.
The problem we have is how to handle the batches when the stock goes out.
Let’s use the example of a fabric that has 3 different roll widths, with stock codes FABRIC1, FABRIC2, FABRIC3.
We could have a stock holding like this.
FABRIC1
Batch 100: stock of 56
Batch 101: stock of 20
Batch 102: stock of 40
FABRIC2
Batch 104: stock of 20
FABRIC3
Batch 105: stock of 40
Batch 106: stock of 40
When a sales order is entered, we can get the system to work out which fabric to use, so let’s say that it is selecting FABRIC3.
At this stage we could also work out which batch number could be used – in this case it will use the first one, 105.
If there is a large order, then it is possible that more than a quantity of 40 will be used and it will move onto 106.
The ‘Processes’ form can then be used to flag the process as being completed.
When the ‘Fabric Cut’ process is flagged as completed, it is possible to enter how much fabric has actually been used, and which batch has been used.
If everything is straightforward, then the batch that is used will be the one that was automatically chosen at order entry.
But in reality, it will not be as simple as that. First of all, there may be flaws in the fabric, or the amount that is actually held in the batch may be wrong.
This means that they will have to use a different batch.
This is why they do not want to reduce the stock by the ‘on sales order’ amount (which is theoretical) and enter the actual amount used.
There is a second possible issue. You might use a different roll width of the same fabric, so you might want to reduce batch 100, which is assigned to FABRIC1.
This means that if we change the batch, it needs to update the stock for a different fabric code.
It will still reduce the ‘On Sales order’ figure for the fabric that is held in the order detail line (FABRIC3), but actually reduce the stock in hand for the fabric actually used (FABRIC1).
Order Processing > Order Enquiry > Processes
It is now possible to change the fabric here and select the batch number from a lookup.
This in turn updates the fabric in the order detail line.
As the user may be amending a lot of lines here at once, if a stock code is changed, then all the records flagged as selected that have the same stock code are also changed.
After the correct stock code has been selected (and also if it has not been changed), when the batch number is allocated, it is validated ie checked to make sure it is a batch number for that stock code.
If it is a batch number for one of the other fabrics (same colour, different roll width), a message appears saying this batch number is for a fabric with a different width.
If the batch number is for a completely incorrect fabric, then a message appears saying ‘This batch number is for a different fabric.
The batch validation will only apply if ‘Batch Numbering’ is switched on in the stock record.
There is also now a lookup by the product description.
If stock take records are imported with batch numbers, and ‘Sequential Batch Numbering’ is switched on, the sequential batch number field is now updated as well.
Purchase Order Enquiry > Amend
If sequential batch numbering is switched on, there is now an alternative way to assign batch numbers.
Previously it would only assign a batch number for the whole detail line, but there is now an option to create a batch number for each roll.
Therefore there is a new parameter called ‘Sequential Batch Number Per Roll’. This will only be active if ‘Sequential Batch Numbering’ = true
Let’s take the following example. There are 30 yards in a roll and a PO is created for 4 rolls. Therefore the quantity entered is 4 (unit of sale = roll of 30 yards) and the unit quantity will be 120.
At the moment when the PO is delivered and ‘Sequential Batch Numbering’ is switched on, one batch number is assigned per detail line delivered (if the stock record has ‘Batch Numbering’ set to true).
If ‘Sequential Batch Number Per Roll’ is switched on, then four batch numbers will be created, one for each roll.
Order Enquiry > Processes
Some amendments have been made for the way stock is deducted if ‘Batch Numbering’ is switched on for a fabric.
This also relates to fabrics that have multiple roll widths.
When the order is entered, the fabric selected will default to the largest roll width after the dummy fabric has been chosen.
However, a different roll width may be used to make the blinds.
It is now possible to select the fabric cut processes and then be able to enter the batch number (from a lookup) and the inches used, like this.
The batch number lookup displays all the batch numbers that relate to the dummy fabric.
So let’s say we have the following fabrics, and the order detail line has AAA3 in it.
Fabric AAA, description = ‘Fabric AAA’, dummy = true
Fabric AAA1, description = ‘Fabric AAA’ 70” ‘, dummy = false, roll width = 72
Fabric AAA2, description = ‘Fabric AAA’ 96” ‘, dummy = false, roll width = 96
Fabric AAA3, description = ‘Fabric AAA’ 120” ‘, dummy = false, roll width = 120
The following batch numbers are held:
AAA1: batch numbers 1234, 1345, 1456
AAA2: batch numbers 1245, 1567, 1568
AAA3: batch numbers 1666, 1667
So when the batch number lookup is done in ‘Processes’, it will show:
1234
1245
1345
1456
1567
1568
1666
1667
Let’s say batch number 1567 is selected and the amount entered. The following then happens.
The ‘On Sales Order’ amount for AAA3 will be reduced and the relevant stock transaction will be deleted. The BOM record for AAA3 will be removed and replaced by AAA2.
The ‘On Sales Order’ figure for AAA2 will be unchanged, but the stock amount in the stock item batch number will be reduced and the stock in hand figure also reduced.
A stock transaction record will also be added.
This will have to be done for each record that has been selected.
In the ‘Processes’ form, the amount used will be stored against the first process record and zero will be held against the other records selected.
Stock Control > Batch Numbering
The totals of the batches (if ‘Batch Numbering’ is switched on for a stock item) should now equal the stock in hand figure.
An adjustment has been system wide to handle this.
It also applies to the stock take import and the ‘Recalculate Stock’ routine in Maintenance.
If the stock item being entered has ‘Batch Numbering’ switched on, then the cost price is pulled from the existing batch stock transaction that is selected, in the same way it is done for a stock transaction entry.
This cost price is written into the stock transaction record and also the stock batch transaction record created.
Regular PO > Amend > Batch PO Number
There is a new parameter in Parameters > PO Parameters called ‘Batch Number is PO Number’, which defaults to false.
If it is set to true, then the delivery routine first checks that all stock records in the PO have ‘Batch Numbering’ set to true.
Then when the PO is delivered, the batch number used is the PO number.
Order Made / Despatch > Component Orders
It is now possible to allocate batch numbers against stock items at order made / despatch. It will be possible to hold multiple batch numbers against each line.
A form will appear at this stage so the user can enter a batch number against each order detail line (that is a component detail line and is for a stock item that has ‘Batch Numbering’ = true).
A window appears before the stock is updated with the order detail line stock code, stock description, quantity and a field to enter the batch number.
When this is saved and order made / despatch is done, the stock records are updated and stock transactions added and batch stock transactions updated.
There is a new parameter for this called ‘Specify Batch No At Order Made / Despatch’, which defaults to false.
If a box blind in BOM is set up as ‘Batch Numbering’ = true, the ‘Stock In Hand’ amount and batch record stock in hand are now updated when ‘Blind Made’ or ‘Order Made’ is done.
Stock Transactions Without Batch Numbers
There is a new report in Stock Control > Reports called ‘Stock Transactions Without Batch Numbers’.
This lists all stock transactions which have missing batch numbers. This only relates to stock records where ‘Batch Numbering’ = true.
There is ‘Start Transaction Date’ and ‘End Transaction Date’ criteria and the report is grouped by the stock record and show the fields that are displayed in the ‘Stock Transactions’ tab of the stock record.
Stock Control > Stock Take Entry
There is new user permission called ‘Stock Take Entry Batch No Lookup’ which defaults to false. If set to true, the records in the lookup should only show live batches ie batches with stock.
Also, when a stock take entry is made manually, when the stock transaction record is saved, it now says ‘Stock Take’ in the ‘Free Description’ field.
Also, ‘StockTakeDate’ is updated.
If the user permission called ‘Stock Take Entry Batch No Lookup’ is set to true, then when the batch number is selected here, it lookup only existing batch numbers for this item.
When a batch number is selected, it pulls the cost price from that batch stock transaction and fills ‘Enter Cost Price’ with it.
Also if you click ‘Cancel’ for this transaction, it does not update the stock in hand.
There is a functionality to print out a list of all the stock items in the batch stock transfer tab.
Please check the Group Stock Location section.