For a single client, each file they send will be the same.
But each client has their own layout.
Is there a good service around that I can setup conversion templates?
Would be great if we can setup a template for each client and the file gets run through the template and arrives happily in our standardised layout.
I haven't managed to find one but no doubt I'm just using the wrong search terms
You can check out https://impler.io/ it covers many of the features you mention and you can extend its functionality as well like converting first/last to fullname. Your problems related to edge cases, configuration, and support will be resolved automatically with it.
It's open source at https://github.com/implerhq/impler.io/
I'm a co-founder of it and if you create a feature request for something you want, I will happily cover it.
Or using python or your choice of language to read .csv files and modify..
It may be overkill but n8n is a process automation tool (open source, self hosted) - give it input, run an action, get output. I’m sure you could do it in that.