Yeah i really didn't want to customise anything to achieve this. I also dont want the user having access and permissions to upload their file to the media library. That is just overkill from a user UX aspect. Especially when the media libary popup appears just for a simple file.
I can add a file data type to any other type of class but not 'customer'. In fact I can enable the file data type for system tables (customer) ... Just not sue how it should work after being enabled. To be honest if the file datatype cant work with system tables why even have the option to enable it ??
My aim was to simply put an alternative form on the checkout and it would allow them to enter all their details and upload the file. Same as you can do with custom forms.