How to import custom fields on transactions into QuickBooks Online

When importing transactions into QuickBooks Online using Zed Axis and you want to import data into custom fields that you have set up on your invoices, sales receipts or estimates you can do that but you need to follow these steps carefully to ensure that your data imports successfully and appears in the correct place.
When mapping your fields you have the option to map to a Custom Field Name and Custom Field Value for up to three fields.
The Field Name identifies to QuickBooks the name or label for the custom field and the Field Value relates to the actual data value that you want to appear on the specific transaction you are importing.   So for example if you want to import a custom field of Yellow into the Color custom field you would set the CustomFieldName1 = Color (typically you would set that as a constant in the mapping) and the CustomFieldValue1 = Yellow (the column that contains the color value).

Note (as at March 10th 2020):  Users with QuickBooks Online Advanced using Enhanced Custom Fields introduced April 2019.
Intuit have extended the Custom Fields in the QuickBooks Online Advanced to up to 10 fields which support multiple data types ie Number, List, Date) as of April 2019.  Unfortunately they have not yet made the Enhanced Custom fields available to developers via the API, until they provide that we are only able to import into the legacy 3 Custom Fields.  As soon as Intuit do provide that access we will add that to Zed Axis and release in an updated version. (Ref. Intuit Developer Blog). Note:  We have also been seeing some odd behaviour in the custom fields since this update,  you may see new custom field called sales2 or sales3 appear on your transaction forms (these fields are inactive).  If you find that your custom field data is getting imported into these fields incorrectly then you may need to make these fields active and relabel them to what fields you want to see.