Sapera continuously adjusts cost prices on stock entries when new purchase prices or stock issues change the calculated average. If an entry to be adjusted has a stock date in a closed accounting period, the system cannot change the price automatically. The adjustment is instead queued as a blocked cost price adjustment and waits for a manual decision.
The "Blocked cost price adjustments" screen shows all such pending (and historical) adjustments and lets you approve or reject them individually or all together.
When you approve an adjustment, the system starts a background task that writes the new cost price on the stock entry. When you reject, the adjustment is cancelled without the cost price being changed.
From the hamburger menu in the top left corner of Sapera, open Financial. In the left menu select Stock → Blocked cost price adjustments.
You can also reach the screen directly via a notification in Sapera when the system has automatically created new blocked adjustments due to closed accounting periods (notification type: Inventory.CostPriceAdjustmentsAreBlocked).
If you cannot see the menu item, you probably do not have permission for it. Contact support.
Approve is active when at least one row is checked with the checkbox, or when a single row is selected by click and it is still awaiting approval. Click the button to start the background task that writes the new cost price on the entry. The list refreshes automatically afterwards.
Reject is active under the same conditions as Approve. Click to cancel the adjustment — the cost price remains unchanged. The list refreshes automatically afterwards.
Select all is a checkbox at the top of the list that checks or unchecks all visible rows at once. The selection is cleared automatically on Approve, Reject and Refresh.
Refresh is a dedicated button in the toolbar. Click to reload the list without making changes. Also clears any check selections.
Rows that have already been approved or rejected cannot be processed again, even if they are checked.
Right-click a row (or long press on a touch screen) to open the context menu with the following options:
Open product is always shown and opens a popup with product information for the product the entry belongs to. This is the direct way to dive into the product from the list.
Open serial number item is only shown if the entry is linked to a serial number item (product instance). Opens a popup with information about that serial number item.
The grid supports column selection. You can customize which columns are visible by clicking the column selection icon in the grid's top corner.
By default the screen shows two active filters: Rejected on = missing and Processed = No. This means that adjustments that have been approved but not yet processed by the background task are shown in the default view — they are neither rejected nor processed. Historical and rejected adjustments are hidden by default but can be shown by adjusting the filters in the relevant columns.
Stock date: The date of the stock entry whose cost price is to be adjusted. The column is sortable and can be filtered on a date range.
Product: The product the entry belongs to. Can be filtered via product lookup.
Variant: The product variant (only shown if relevant). Can be filtered via variant lookup.
Product instance: The serial number item (only shown if relevant). Can be filtered via instance lookup.
Org. unit: The organizational unit (store/warehouse) the entry belongs to. Can be filtered via OU filter.
Cost price after: The new cost price the system has calculated and wants to write on the entry. The column cannot be filtered directly.
Created on: The time when the blocked adjustment was created. The column is sortable and can be filtered on a date range.
Approved on: The time when the adjustment was approved (empty if not yet approved). The column is sortable and can be filtered on a date range, including a "missing" filter for non-approved ones.
Rejected on: The time when the adjustment was rejected (empty if not yet rejected). The column is sortable and can be filtered on a date range. The default filter is set to "missing", so rejected adjustments are hidden by default.
Processed: Indicates whether the background task has finished processing. Shown as true (Yes) when the background task's state is finished — this covers both completed entries (Processed) and failed entries (Failed). A failed background task therefore counts as processed. The default filter is set to No, so non-processed adjustments are shown by default. Can be filtered on Yes/No.
If you have questions, you are welcome to contact support.
Want to know more?
Read more in these related articles:
Stock value
How to print a stock value statement in Sapera: find the report, understand each criterion, build your groupings and understand the columns in the result.
Stock value compared with posted
Stock value compared with posted
Stock journal
This article walks through how to create a stock journal report in Sapera