Start by adding a new field to the billing checkout form

I end up with a new input field that looks like:

Now, we need to save the value of that field to the user_meta table, like so:

Now that data is stored in user_meta, we need to hook in to the profile area to display it and allow it to be edited by the user or admins.

I chose to break my additional fields into their own table just above the default Woocommerce fields as I have many of them and they are more specific to the user rather than the order processing itself, so I keep them organized in their own table titled “Additional Fields”.