I'm not totally sure that you need a groups table here so please bear with some questions that may result in a simpler set of relationships:
Can a customer be part of more than one group? (Answer appears to be no from what you have posted, but let's be sure of that.)
Can a group be linked to more than one customer?
My point here is that if it is always one customer to one group, you don't need both a customers and a groups table and this can slightly simplify your relationship graph.
Linking Invoice Data to Projects will require creating a new "instance" (called a table occurrence everywhere else) of an existing table. This does not actually "copy a table", it creates a second reference to the same table that you already have. In your case a new occurrence of Projects should be linked to your existing Invoice Data table occurrence if you want each "line item" on your invoice to be able to link to a specific project in the project table and lookup (copy) or display (link to) data in a selected record in projects. Please note that you would have to select that project in your invoices portal before that link will work for looking up or displaying data from Projects.
Thanks for the help!
I tried creating a second instance of the table and it appears to work perfectly. I'm not sure what I was doing wrong last time but it's working now, and it's nice to hear someone say that's an okay way to do it.
I might not need that Groups table, I do have that isGenetics field which I use in some calculations though.
If it is one customer to one group 100% of the time now and in the future, then any fields defined in groups could be moved into the company table and your groups table could be removed. This is not a necessity, however, just a way to have slightly fewer "moving parts" in your database.
To learn more about table occurrences (Instances) and how to use them: Tutorial: What are Table Occurrences?