You can add fields to variants in the Custom Fields app, but here are some limitations and gotchas to consider before getting started.
Printing field values will require custom changes to your templates. We don't offer any simple copy/paste methods for this since many users that want to take advantage of fields on variants have different uses in mind.
Import and export of data on variants are supported.
Getting Started Using Custom Fields on Product Variants
Any field definition attached to products is attached automatically to variants. When editing a product, look for Variants in the 2nd level navigation.
Another way to arrive at the variant editing screen is to search for a product, then click the down arrow on the far right on the search results screen, you'll see a link to View Variants there.
Learn By Example
Here is a simple example from one customer. In this case, the administrator wanted to show the value of a date field from the Custom Fields app on his products. Inside his template, he added the following code. You may be able to adapt this code example for your own purpose.
The idea is that we loop over every variant on the product and print out the field value for a particular field that may appear on each variant.