If you find that your add-on fields are not saving correctly, it’s possible that you have too many fields for WordPress to save reliably.
PHP (which WordPress runs on) has a setting called
max_input_vars which limits the amount of data that can be passed to the server when submitting a form. This means that some of your data, e.g. your add-on fields, is truncated and not saved correctly.
Increase PHP max_input_vars setting
To get round this, you can increase the
max_input_vars setting on your server. You might need to contact your host to arrange this.
The default is usually set to 1000. You can try increasing this to 3000, then 5000 if necessary.
There’s a longer article on this issue in WooCommerce in general here.