User has several projects with a client, thus having different project managers for them. There are different email contacts for each project. Does Core allow setting up different client contacts so as to send the invoices of each project to the relevant contact?
Yes. You can handle this by creating multiple contacts for the client and then setting up a different billing contact for each project from these contacts. Check out this article for details: Adding billing contacts to projects. You may also want to check out this article: Client and project contacts in Core.