You can update variables for a file without having to check the file out and increment the version of the file when you check it back in.
This lets you update variables that change over time, such as cost, while the file itself may not change.
Additionally, you can change the variable even if the file is in a state where you do not have permission to check it out.
A new version of a file is created if you update version free variables for a checked out file or if a version free variable is modified by a workflow transition action.
To use a workflow transition to update version free variable data without versioning the file, create a Dispatch script set to run after the transition to the destination state.