Stock movement adjustments

Adjustment principle

To change the value of a stock movement you raise an adjustment movement.

Adjustment movements create additional records in the stock journals.

You can block adjustments to receipt prices for specific products.

Possible scenarios requiring an adjustment movement:

  1. A price is modified after receipt.
  2. A supplier receipt is recorded at one price but invoiced at a different price.
  3. An additional invoice, or multiple additional invoices are received for costs such as customs fees or a carrier invoice which must be apportioned over the received products.
  4. A provisional production price is adjusted to the actual cost price.
  5. An assembly is modified.

To change the value of a stock movement, the Adjust receipt costs check box in the Standard rules block of the Valuation method function (GESTCM) must be clear.

Valuation methods function (GESTCM): Click the magnifying glass to display the details for each primary and secondary stock valuation method.

Valuation methods (GESTCM): Primary method valuation rules

In some cases price adjustments can generate variances which are not absorbed. This can occur when the adjustment is performed when the transaction line quantity is greater than the stock quantity (issues were made before the adjustment).

If the number of products remaining is low, the variances to be distributed can substantially impact the average cost. Using parameters, you can restrict the value (in percent) of the variance for the resulting average cost.

MAXABSCOD parameter

Use the MAXABSCOD - Valuation variance absorption parameter (STO chapter, VAL group) to define if the variance for the resulting average cost is to be limited:

No - No limit.

Absorption on site - The variance value of the average cost at the site is limited.

Absorption on site/lot - The variance value of the average cost for the lot at the site is limited (even more so for the average unit cost variance).

MAXABSPER parameter

When applied, the maximum range is defined by the MAXABSPER - Maximum percentage of over-absorption parameter (STO chapter, VAL group).

The most common value is 10, which represents limiting the variance of the average cost or lot average cost to an average +/-10%.

The "not absorbed" variance is stored in the stock journal and can be posted to a related account (depending on the setup of the associated automatic journal).

ABSLIM parameter

The ABSLIM - Limit of value variance absorption parameter (STO chapter, VAL group) limits the absorbed amount, based on the quantity remaining on the transaction line for the corresponding FIFO stack element. Absorption is only performed on the stack element quantity, not the overall stock quantity.

The amounts that have been absorbed are distributed over all the FIFO stack elements in proportion to the quantities available for each element.

Example

Average cost calculations

Issue price adjustments

Events that trigger an adjustment to an issue price are as follows:

  1. Invoicing a receipt (if the amount differs from the order amount).
  2. Entering an additional invoice.
  3. Entering a credit memo in value or quantity.
  4. Closing a receipt.
  5. Calculating the production cost price (if the actual cost price differs from the provisional cost price amount).
  6. Manually modifying the average cost value to date (using the Value change function (FUNCHGVAL)).
  7. Calculating the subcontracting cost price.
  8. Modifying stock movements and creating backdated movements.

Cost adjustment function (FUNSTKADJ)

The purpose of the Cost adjustment function (FUNSTKADJ) is to take the average cost modification into account for issue movements. This increases the accuracy of the margin calculation (average cost or FIFO margin calculation).

This function also manages the recalculation of FIFO stacks and therefore the update of the value of issue movements managed by this method.

Unposted movements are updated.

Posted movements are not modified. A new adjustment movement is created to skip the variance.

Refer to the online help for the Valuation methods function (GESTCM) which activates the adjustment feature.

Production costs adjustment

An adjustment can be performed where the calculated actual cost price of a work order is different from the provisional cost price. This scenario can occur where there is a difference in consumed quantities, prices, or elapsed time.

The CSTRCPORD - Provisional cost declaration parameter (GPA chapter, COS group) determines what the provisional cost price calculation applies to. This can be to:

  • The theoretical cost (calculated based on technical data).
  • The actual cost (calculated based on the work order data).
Operation cycle

The calculated production cost price of a manufactured product (completed work order) is based on the values of the given components.

The stock value is adjusted if, for example, the average cost of one of the components is changed because it was consumed after the invoice was received and had a different price from the order price.

The following tables demonstrate a change to the stock value following a price adjustment:


Negative stock and backdated movements

Negative stock affects the average cost recalculation if it is not properly managed.


The average cost recalculation stops if a negative stock position is encountered.

Movement allocation dates must be strictly respected.

The logic in the diagram above also applies to backdated movements.

A substantial number of stock movements (high production volume or high stock rotation) can lead to longer calculation times when adjusting issue movements.
To avoid this situation, Sage recommended setting the Cost adjustment function (FUNSTKADJ) as a recurring task.

Use the Allocation date modification function (FUNIPTD) to correct allocation dates later in the process. You must relaunch the Cost adjustment function (FUNSTKADJ) for the modification to be applied.

Examples

Receipt price adjustments

Events that trigger an adjustment to a receipt price are as follows:

  1. Invoicing a receipt (if the amount differs from the order amount).
  2. Entering an additional invoice.
  3. Entering a credit memo in value or quantity in purchases.
  4. Closing a receipt.
  5. Calculating the production cost price (if the actual cost price differs from the provisional cost price amount).
  6. Calculating the subcontracting cost price.

In these situations the average cost (AC) is recalculated automatically based on the available stock. The value of the given movement is updated.

Calculation rules

An adjustment updates the average cost, as follows:

  1. If the stock quantity is greater than or equal to the receipt quantity the adjustment applies to, the valuation variance updates the average cost amount.
  2. If the stock quantity is less than the receipt quantity the adjustment applies to, the MAXABSCOD - Valuation variance absorption parameter (STO chapter, VAL group) determines where the valuation variance is applied:
    1. MAXABSCOD is set to No - The value is allocated to the average cost amount.
    2. MAXABSCOD is set to Absorption on site - The value is allocated to the average cost amount with respect to the stock quantity.

      The MAXABSPER - Maximum percentage of over-absorption parameter (STO chapter, VAL group) then determines what happens to the balance:

    3. The value of the MAXABSPER parameter defines the authorized "over absorption" percentage for the "not absorbed" amount.
      1. MAXABSPER is set to 0 - The variance is "not absorbed". A "not absorbed" status is displayed in the AMTDEV (Variance not absorbed) field of the STOJOU (Stock journal) table. The "not absorbed" variance can be posted to keep track of it.
      2. MAXABSPER is greater than zero - Part of the variance is "absorbed". In this case, the value of the MAXABSPER parameter corresponds to the share where you allow the average cost to vary. Elements that have not been "over absorbed" are considered as "not absorbed".
    4. MAXABSCOD is set to Absorption on site/lot - The value is allocated to the average cost amount with respect to the lot quantity.

      The MAXABSPER - Maximum percentage of over-absorption parameter then determines what happens to the balance:

      1. MAXABSPER is set to 0 - The variance is "not absorbed". A "not absorbed" status is displayed in the AMTDEV (Variance not absorbed) field of the STOJOU (Stock journal) table. The "not absorbed" variance can be posted to keep track of it.
      2. MAXABSPER is greater than zero - Part of the variance is "absorbed". In this case, the value of the MAXABSPER parameter corresponds to the share where you allow the lot average cost to vary. Elements that have not been "over absorbed" are considered as "not absorbed".

Summary

Value of parameter MAXABSCOD No Absorption on site Absorption on site/lot
Stock quantity is greater than or equal to the quantity to be adjusted. The valuation delta updates the average cost amount. The valuation delta updates the average cost amount. The valuation delta updates the average cost and lot average cost amount.
Stock quantity is less than the quantity to be adjusted. The valuation delta updates the average cost amount.

The valuation delta updates the average cost amount in proportion to the stock quantity.

The MAXABSPER - Maximum percentage of over-absorption parameter (STO chapter, VAL group) can be used to increase the distributed amount.

The valuation delta updates the average cost amount in proportion to the remaining lot quantity.

The MAXABSPER - Maximum percentage of over-absorption parameter (STO chapter, VAL group) can be used to increase the distributed amount.  

Examples

Impact of closing the average cost recalculation

The average cost recalculation in the accounting periods management is impacted by the stock status types (Stock status column in the Periods function (GESPER)). The capacity to adjust a movement on a closed period is influenced by the stock status period types.

Context

The "stock status" types are as follows:

Direct - The previously defined calculation rules apply with no restriction.

Balance adjustment - The previously defined calculation rules apply.

    • For accounting entries, in order to take "not absorbed" amounts into account the entries are allocated to the first open accounting period.
    • Price adjustments are performed as planned (the stock value is updated). However, the corresponding accounting entry is performed on the first open accounting period.

Prohibited - The stock value is not recalculated after changing the receipt value. As no price adjustment is triggered the value is transferred into a "not absorbed" variance adjustment movement. The related accounting entry is generated on the movement date (start date of the first open period).

Closing and adjustment

Issue adjustments:

  • Issue adjustments for closed periods (Prohibited stock period) are not processed.
  • "Not absorbed" amounts can remain on some movements even when the issue adjustment is in use.

Receipt adjustments:

  • Receipt adjustments with an allocation date in a closed period (Prohibited stock status) do not adjust the stock value.
  • A financial movement for the whole adjustment value is created as a "not absorbed" variance:
    • The variance is created on the invoicing date if it is not included in a closed period.
    • The variance is created on the start date of the first (next) open period.

Stock valuation report

Open: Stock > Periodic processing > Valuation > Stock valuation report

You use the Stock valuation report (FUNSTVA) to print the stock value:

  1. On the current date for the following valuation methods:
    1. Standard cost / Revised standard cost / Budget cost / Simulated cost
    2. Average cost / Lot average cost
    3. LIFO
    4. FIFO
    5. Last price
  1. On a previous date (quantity for given date * price for given date) for the following valuation methods:
    1. Standard cost / Revised standard cost
    2. Average cost
    3. LIFO
    4. FIFO
  1. As an Average cost calculation in the past.
  2. The average cost calculation on a date in the past deducts the value of movements from the current date to the given past date from the current average cost.

    As a rule, the movements to be deducted are selected based on their allocation date. However, when the issue adjustment is not activated, value change movements or receipt adjustment movements are selected based on their date of creation.

    If the Accounting date field is selected, movements are selected based on their posting date.

Stock count variances

A negative stock count is processed as an issue.

A positive stock count variance is processed as a receipt.

In addition to the stock quantity updates and their adjustment in the stock line detail and lot totals, a variance impacts the valuation basis.

The valuation methods setup is used to define the positive and negative stock count variance values, instead of a normal issue or receipt.

Validation of a stock count is performed in the stock movements variance journal, with records generated providing the details of each stock line.

Stock movements inquiry

Open: Stock > Inquiries > Movements > Average cost evol./movement

You use the Average cost evolution by movement inquiry function (CONSSMA) to track the product average cost for each stock movement.

Unusual movements, such as pricing errors, entry errors or allocation date errors are highlighted, as follows:

Red. Stock has become negative (backdating problem and/or pending movement).

Orange. An allocation date does not match the creation date (backdating problem).

Yellow. The average cost variance is greater than 10% after a receipt movement.

The standard colors are provided in the Reference folder but can be changed.

Additional information

  • You can set up the number and order of the Evolution of the average cost by movement inquiry fields in the Inquiry screens function (GESGTC).
  • The inquiry code is SMA.
  • You can add date ranges to the movements for the inquiry.
  • You can sort lines by allocation date or creation date, in ascending order or descending order.
  • You can filter movement lines using a formula.
  • You can record memo codes to save formulas and/or color codes (for different alerts).
  • You can include internal, adjustment or pending adjustment movements.

Example