If you do that (create a customerinvoice rel table) you still have to change your data model every time you want to track a different kind of relationship. We've just converted to a generic relationship table (subject relation object) to handle any kind of relationship, so we no longer need to keep adding tables and changing data models. This is beyond a huge time saver.