Store custom metadata against entities

We would like to be able to capture (within the front end) metadata against e.g. projects to capture arbitrary information which FreeAgent doesn’t support - for example, we would like to store the kind of project it is (which is useful for analysis). It could literally just be key/value string pairs. Currently we’re using the notes field for this but you can only store notes against a couple of entities and it’s quite limited.