SKULabs supports automatic cost averaging using the rate of received items from purchase orders. If enabled, when an item in a PO is received, the item's cost will be averaged using:
The received quantity and the rate for that item in the PO.
The existing on-hand quantity and cost of the item.
This will give you a weighted average using the current on-hand quantity and cost of a SKU as well as the received quantity and rate from purchase orders.
You can enable this with the Average stock cost when purchase orders lines are received option on the Settings > inventory settings page.
Requirements for cost average to work effectively:
Ensure that all items have correct starting average cost.
Use the correct rates when creating POs.