There is nothing wrong with your relationship in terms of why this happens for your addresses, but I suggest matching by a customer ID number instead of a name. Customer names are not unique, the same customer's name can take more than one form (Such as Phil or Phillip) and customers change their name.
To solve the immediate problem, you need to add address fields to your invoices table and set up auto-enter field options that copy the current address from the selected customer. Then future changes to an address in the customer table will not alter addresses in the invoices table, but you'll need to think about options for updating customer addresses so that when a new address is specified for the user, that update occurs in the customer table, not just the current invoice. A button with an "update address in contacts" label can perform a script to copy the data in the opposite direction.
Yeah I figured it out. I had the fields defined as fields from the other table rather than fields of their own. Thanks!