Great question!
I will assume you have some process in place, where if the change is above a certain number of hrs effort, or $$ cost, a formal scope of work is required. If you don't have that, you may want to consider looking into that as well.
Regarding your question, I've found the best way to manage these requests is with a shared spreadsheet that outlines each request for change against that project.
I know we all love our cloud based, pretty looking UI tools, but there's no reason you can't host a google spreadsheet, or put a .xls file on Dropbox to share with your client.
It provides visibility for your team and the client, and you might find that items will get deprioritised more frequently when they're listed against all other changes.
The minimum columns I would have, would be something like:
- Unique number (CR001, CR002 ect.)
- Type (Design, Functional, Front-end, Back-end)
- Description of work required (couple of lines)
- Effort in hrs / days
- Priority (1,2,3)
- Status (accepted, rejected, open, blocked, complete)
The number, priority and effort can really help when you're negotiating with the client about pros and cons of a certain CR and what to focus your teams effort on.
As a bonus, having something like this available for a post implementation or post sprint review, can help a lot when planning your next project.
It's always tough managing a change backlog with a client, even when you've got these processes in place, but something like this can make it a lot easier.
Have a look around on google for a template or just start something yourself and iterate as you need!