Generate fields onthe fly for task manager

I'm trying to create a task manager , for accounting firm, they have a
series of regular tasks they need to be able to control , research old
records,etc... The problem is that all of these tasks have a common
set of fields ,the problem is that some of them have some specific
fiels (most of them just text fields). Has anyone developed a similar
system and/or can give some hints on how I can alow the user to
generate these feilds on the fly ?

Tanks in advance