As I sell tangible products from one of my businesses I need to be able to import a CSV on my courier that contains information about my business (sender), customer (receiver) and package content (invoice items). I also have custom fields that could use to achieve the rest of the fields if needed.
STEP 1. Add one tab on the Admin Settings page to map the fields. So a simple two column layout with a checkbox next to the field name PLUS an empty input field so you can check those field/s you might need to export to the CSV and how to name them while exporting.
STEP 2. The second part is just a button on the invoice page that creates the CSV follownig the mapping settings established in STEP 1.