Virtual column values are not recorded in your spreadsheet. To record data in the spreadsheet, you must have a column in the spreadsheet for the data, and a normal column–not a virtual column–in the table of the app that uses the column of the spreadsheet.
As you seem to have noticed, app formulas for virtual columns remain updated, but app formulas for normal columns do not. Virtual column values are updated whenever the app syncs. Normal columns with app formulas update only when the row itself is updated, such as when edited in a form or modified by an action.
In your case, I suggest you investigate actions. Using an action, you can update a normal column value when certain events happen, such as when a sale is made, or an item is added or removed from inventory. The updated normal column value will then be recorded to your spreadsheet.