Setup > Stock > Allocation and issue rules 

Definition of Allocation

An allocation is a stock reservationmade in order to carry out a given movement. Allocations can be global (a check is simply made on whether the available stocks are set to requested status) or detailed (the stock lines are physically identified). In general, a stock allocation therefore precedes a physical movement; though it may sometimes happen at the same time. When several stock lines are available for a given product, the detailed allocation is used to choose the lines that will actually be used.

Automatic algorithms can also be used to optimize this process. You use this function to set up these algorithms.

Allocation rules and issue rules

The product statuses that can be subject to a stock issue are defined for each stock movement in a dedicated table different to the allocation rules (they are also picked up in the product categories where they can be refined if necessary). It is therefore possible to have various and more or less restrictive rules:

  • The allocation rule can authorize an allocation with status Q, while the issue rule prohibits it. This can be useful if the products are allocated in advance for stocks that have a long replenishment cycle. In order for the stock movement to take place, the product must first be controlled. If the status of the allocated stock is set to A (which is normally the case), it will be possible to carry out stock movement; if it is set to R, it will be necessary to reallocate.
  • The allocation rule can prohibit an allocation the status Q, while the issue rule allows it. This can be useful when the delivery of a product with status Q must be exceptionally done manually (issue with a manual allocation followed by a delivery), while the automatic allocation process will exclude it.

Using the allocation rules

The allocation rules are used in two cases:

  • When an automatic allocation is launched (e.g. on an order, or for a group of orders or for the WOs). In this case, the rules are strictly applied.
  • When an implicit allocation is made and the stock movement has no preliminary allocation phase (e.g. a WO tracking or a directly validated delivery). In this case, the rules are used in the order of the filters to search for eligible lines, but an additional filtering will be made to only take into account the lines with stock statuses that are likely to be issued. This depends on the setup of the entry transaction. In this context, it is necessary to set up the transaction by activating the stock determination. Otherwise, there will be no suggestions and you will have to manually choose the stock lines to be issued.

SEEINFOYou can also define setups to get all the issue rules available for a single movement type within a category. For this, you can link a different movement code to each rule. These movement codes are then associated with an entry transaction. In fact, depending on the entry transaction used, you will be able to use any issue rule. This can be useful if you need to use the transaction of a given user group authorized to perform status Q stock issues, while unauthorized users cannot perform this type of issue.

Prerequisite

SEEREFERTTO Refer to documentation Implementation

Screen management

An allocation rule is identified by a code of 6 characters, a title, a sequence for lots and a group of filter lines. A comment can also be entered in the lower section of the screen.

Once this information is entered, the rule can be used in the product categories for each movement group.

Entry screen

Presentation

Allocation rule setup principle

Use this function to define allocation rules. For a given product, several allocation rules can be defined, each rule being associated with the movement origin in the Product categories table: one rule for Trade movements, one rule for Production movements, one rule for Internal movements (Miscellaneous issues and Pick location replenishment), and one rule for Replenishment and Subcontract movements (Pick location replenishment function for subcontract locations.

An allocation rule is composed of:

  • A lot sequence order defined in the header (this can be in chronological lot order, by FIFO, by FEFO, or by LIFO);
  • A field to force the use of a single lot to cover the requirement;
  • A group of lines, each defining a search sub-algorithm. These lines are called "filter lines".

To allocate a product, the search algorithm is run for the first filter, recovering one or many stock lines. Each line defines the filtering criteria that determine the stock lines to be allocated.

The lot sequence order makes it possible to choose the order of the stock lines to be considered in a filter line (except when the Sort by coefficient applies).

The process stops if the quantities recovered by this first filter cover the allocation requirements. If not, the search algorithm is run again using the rules of the second filter and so on, until the required quantities are covered. You can also end the process by declaring a shortage because there is not enough stock available.

From a filter line, the following parameters are available:

  • A Quality filter used to define which statuses can be used in the allocation. It can be a combination of the statuses A,Q, and R.
  • A Location filter, which can be set to: No filter, Local location, Product location. The first value means that all locations can apply, the Product location and Local location values mean that only dedicated locations are considered, as described in the appendix below.
  • DOC (document unit), STK (stock unit), and PAC (packing units) indicators, used to define the units that can be used to perform the allocation. The document unit is the unit used when entering the source document; the stock unit and the packing units are defined on the product record.
  • A coefficient filter used to define if the filter applies to the coefficient value, when the coefficients vary between the stock unit and the line unit. The possible values are: No filter, Coefficient =, Coefficient <=, Coefficient >=. However, you can still sort the coefficient values in ascending or descending order, except for equal (=) coefficients as the global sort rule does not apply in the case of equality.

To better understand how this setup can help you manage allocations, please refer to the use cases below.

Close

 

Fields

The following fields are present on this tab :

Block number 1

  • Rule (field TRUCOD)

Allocation/issue rule code.
The allocation/issue rules to be used for a product are defined in the product category.

  • Description (field TRUAXX)

 

Block number 2

  • Lot allocation sequence (field LOTMGT)

Indicate the order in which the lots will be used during the automatic allocation and issues.
The possible values are:

  • By lot (lot alphabetical order)
  • FIFO
  • FEFO
  • LIFO

Constraints

  • Single-lot (field UNTLOT)

Used to impose an allocation or an issue on a unique lot during the execution.

If no lot fully covers the requirement:

  • a shortage on the requirement as a whole is generated during allocation
  • the detail window opens to select the stock lines in direct issue. A warning message appears if the user selects stock lines with different lots.
  • PAC complete (field CPLPCU)

Select this check box to force the allocation of complete packing units (PAC). The remaining quantity will be allocated or subject to a stock issue in stock unit (STK).

Grid Allocation and issue rules

  • Quality filter (field STAFLT)

Authorised statuses at the time of the allocation.

  • Location filter (field LOCFLT)

Use this filed to filter stock based on the entered location.
The possible values are:

  • No filter
  • Local location: This value is only used in a production context.
    This is the workshop location defined in the work center.
  • Location 1/2/3 product: This field is used to enter one or multiple locations for stock to be allocated.
    These locations are defined in the Product-site record. This definition depends on the location category used in the management rule linked to this movement.
  • DOC (field DOCFLT)

Specify if you want to include stock when the packing unit matches the source document unit.

  • STK (field STUFLT)

Specify if you want to include stock when the packing unit matches the stock unit.

  • PAC (field PCUFLT)

Specify if you want to include stock when the packing unit is one of the other units.

  • Coefficient filter (field COEFLT)

Use this field to filter stock according to the stock line PAC/STK coefficient values, with respect to the coefficient requested on the document line.
The possible values are:

  • No filter
  • Coeff =: The PAC/STK coefficient of the stock line must be identical to the one requested on the document line.
  • Coeff <=: The PAC/STK coefficient of the stock line must be lower than or equal to the one requested on the document line.
  • Coeff >=: The PAC/STK coefficient of the stock line must be greater than or equal to the one requested on the document line.
  • Sort by coefficient (field COESOR)

Use this field to indicate, for each authorized unit, the sort order of the stock lines. The sort is based on the value of the PAC/STK coefficient.
The possible values are:

  • No
  • Descending
  • Ascending

Detailed description

  • field TEX

No help linked to this field.

Close

 

Use cases

Defining the product, available stock lines and request described in the document

Example: A product stock unit is the meter, but it that can be stored in reels or bobbins. This product is stored in multiple locations, but there is also a picking location defined, named PICK, that corresponds to the product location for the expected stock movement.

Considering the following available stock lines for this product (only the relevant information is given in the grid):

No.

Location

Status

Lot

Receipt date

Expiration

Unit

Coefficient

Quantity

*1

 

A

*01

01/05

01/08

M

*1

10

2

 

A

*08

01/01

01/09

M

*1

5

3

PICK

A

*03

01/03

01/08

REEL

*10

2

4

PICK

A

*04

01/04

01/10

REEL

*20

2

5

 

A

*02

01/05

01/08

REEL

*50

2

6

 

Q

*05

01/02

 

REEL

*20

2

7

 

Q

*08

01/01

01/09

REEL

*25

15

*8

PICK

A

*06

 

01/09

BOB

*2

1

9

 

A

*07

 

 

BOB

*6

2

10

 

A

*09

 

 

BOB

*8

1

In the document line there are 4 reels of 20 meters (that is 80 meters in total) to be allocated.

First rule example

Considering the following allocation rule:

Lot sequence = FIFO

Quality filter

Location filter

DOC

STK

PAC

Coeff. filter

Sort by coeff.

A+Q status

No filter

Yes

No

No

Coefficient <=

No

A+Q status

No filter

Yes

Yes

Yes

No filter

Ascending

The algorithm is then run as follows:

*The search only applies to lines in the REEL unit (STK and other PAC excluded) whose status is either A or Q (lines 3 to 7) and whose coefficient is 20 or less. This means that we are choosing to group the bobbins with a quantity lower that the requested quantity, rather than having to use part of the bobbins (lines 5 and 7 are therefore excluded). The lot sequence used is FIFO. The following lines remain to be processed in the following order:

 

No.

Status

Receipt date

Unit

Coefficient

Quantity

 

*6

Q

01/02

REEL

*20

2

 

3

A

01/03

REEL

*10

2

 

4

A

01/04

REEL

*20

2

The 80 units requested will therefore be allocated as follows: 2 reels of 20 (with status Q), then 2 reels of 10 (with status A), then 1 reel of 20. The requirement being covered, the second filter is not used.

Second rule example

The following allocation rule is considered:

Lot sequence = FIFO

Quality filter

Location filter

DOC

STK

PAC

Coeff. filter

Sort by coeff.

Status A

No filter

Yes

No

No

Coefficient =

No

A+Q status

No filter

Yes

Yes

No

No filter

Ascending

Using the same stock lines as in the previous example, the algorithm proceeds as follows:

The search only processes the lines expressed in the REEL unit (STK and PAC excluded) set to status A where the coefficient must be equal to the request. Only line 4 matches the criteria, but it cannot cover the allocation (total quantity = 40). In this context, the second filter is used.

*This filter is used to consider the lines with status A or Q, in the REEL or meter unit, sorted by ascending coefficient. The search is therefore run on bulk lines in meters, then on lines including reels sorted by ascending number of meters. Since the coefficient is set to equality, the lines are sorted in FIFO order.

As a result, the lines below are reviewed, in the following order:

 

No.

Status

Receipt date

Unit

Coefficient

Quantity

 

*4

A

01/04

REEL

*20

2

 

2

A

01/01

M

*1

5

 

1

A

01/05

M

*1

10

 

3

A

01/03

REEL

*10

2

 

6

Q

01/02

REEL

*20

2

 

7

Q

01/01

REEL

*25

15

 

5

A

01/05

REEL

*50

2

The allocation is performed as follows: 2 reels of 20 meters, 5 reels of 10 meters and 0.25 from a reel of 20 meters. How the last stock line is processed on issue depends on the management unit use: it can be managed in fractional units (1.75 of a reel of 20 remains), or split into two lines (one in meters with a quantity of 15 and the other as a reel of 20 with a quantity of 1). You can found the detailed unit management rules in the default Product categories.

Third rule example

The following allocation rule is considered:

Lot sequence = FEFO

Quality filter

Location filter

DOC

STK

PAC

Coeff. filter

Sort by coeff.

Status A

Product location

Yes

No

No

Coefficient =

No

Status A

Product location

Yes

Yes

No

No filter

No

Status A

No filter

Yes

Yes

Yes

No filter

Ascending

Using the same stock lines as in the previous example, the algorithm proceeds as follows:

*The first filter only considers the PICK location at status A in reels of 20 meters only. Stock line 4 is the only one that matches the criteria, but it is insufficient to cover the requirement.

*The second filter only considers the PICK location with status A in reels or bulk. The lots that are close to expiry are used in priority. Stock lines 3 and 8 correspond to this order, but the quantity to be allocated is still not covered.

*All the other lines with status A are taken into account, irrespective of their unit, but they are sorted by ascending coefficient. The acceptable lines are, in order, lines 1 and 2 as they have the same unit quantity (they are therefore processed by expiry date), then lines 9 and 10.

As a result, the lines below are reviewed, in the following order:

 

No.

Location

Status

Expiration

Unit

Coefficient

Quantity

 

*4

PICK

A

01/10

REEL

*20

2

 

3

PICK

A

01/08

REEL

*10

2

 

*8

PICK

A

01/09

BOB

*2

1

 

1

 

A

01/08

M

*1

10

 

2

 

A

01/09

M

*1

5

 

9

 

A

 

BOB

*6

2

 

10

 

A

 

BOB

*8

1

 

5

 

A

 

REEL

*50

2

The allocation is performed as follows: 2 reels of 20 meters, 2 reels of 10 meters, 1 bobbin of 2 meters, 10 bulk meters, 5 bulk meters, 0.5 of a bobbin of 6 meters.

Fourth rule example

The following allocation rule is considered:

Lot sequence = Lot

Quality filter

Location filter

DOC

STK

PAC

Coeff. filter

Sort by coeff.

Status A

No filter

Yes

No

No

Coefficient =

No

Status A

No filter

Yes

Yes

Yes

No filter

No

Using the same stock lines as in the previous example, the algorithm proceeds as follows:

*The first filter only considers the reels of 20 meters with status A. Stock line 4 is the only one that matched, but it is insufficient to cover the requirement.

*The second filter only considers lines with status A, regardless of their location and unit, by ascending order of lot numbers. The lines considered are, in order, lines 1, 5, 3, 8, 9, 2, 10, but the requirement is covered with lines 1 and 5.

 

No.

Status

Lot

Unit

Coefficient

Quantity

 

*4

A

*04

REEL

*20

2

 

1

A

*01

M

*1

10

 

5

A

*02

REEL

*50

2

 

3

A

*03

REEL

*10

2

 

*8

A

*06

BOB

*2

1

 

9

A

*07

BOB

*6

2

 

2

A

*08

M

*1

5

 

10

A

*09

BOB

*8

1

The allocation is performed as follows: 2 reels of 20 meters, 1 reel of 10 meters and 0.6 from a reel of 50 meters.

Appendix: Definition of default locations

Default locations are defined in the Product-site record. It contains a grid for the definition of the default locations and location types. Depending on the product, you can use several default locations, by giving them different names (for example Picking, Return, Dock, Warehouse…). The titles, and the number of locations are defined in the Product category. You can thus define, in the product-site record of a purchased and sold product, 3 locations named Receipt, Warehouse, Picking, while a raw material used in production only uses 2 locations (Receipt, Work center).

You can also define a favorite location, still from the Product category, associated with each movement type (and potentially sub-types); for example, a picking location. This favorite location can be set as the main filtering criteria: this is the location named Product location in the Location filter. You can also define a favorite group of locations or location types by entering the first characters followed by the * character (any characters may follow) or the ? character (to exclude specific location code characteristics). In this case, the search is run on all the locations and location types with the same first characters or hidden characters. In the event of a shortage on all locations, there is no location code saved for the shortage. The shortage can only be automatically adjusted through a receipt, provided that the receipt applies to one of the locations described in the rules. If no location or location type is specified on the product-site record (* wildcard only), the system behaves as if there is no favorite location.

In most cases, a single default location defined in the Product-site record is sufficient, according to the defined rules. However, there are specific cases where you may need to have a default location with a different definition. For example:

*In material tracking, when the operation is normal and a location exists linked to the work center.

*In material tracking, when the operation is a subcontract operation and a BP location is associated with the supplier.

To make sure that this location is used in the allocation algorithm, you just need to select Local in the Location filter.

Reports

By default, the following reports are associated with this function :

 PRTSCR : Screen print

This can be changed using a different setup.

Specific actions

The following fields are included on the window opened through this button :

Block number 1

  • field OBJET

 

  • field CLES

 

Block number 2

  • From folder (field DOSORG)

Use this field to define the folder from which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

  • All folders (field TOUDOS)

Use this option to copy the record to all the folders defined in the dictionary (ADOSSIER table of the current solution).

  • To folder (field DOSDES)

Use this field to define the folder to which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

Close

Click this action to copy the setup from or to a folder.

Error messages

The only error messages are the generic ones.

Tables used

SEEREFERTTO Refer to documentation Implementation