I strongly recommend that you redesign your products table to have one record for each product and to not use global fields for all the data. that should greatly simplify the design and function of your database.
Most invoicing systems are set up with this set of tables and relationships. Note that I have one more table than you:
Customers::__pkCustomerID = Invoices::_fkCustomerID
Invoices::__pkInvoiceID = LineItems::_fkInvoiceID
Products::__pkProductID = LineItems::_fkProductID
For data entry purposes, you'd use a portal to LIneItems on the Invoices layout to list each item purchased by a customer in a given sales transaction. A unit price field in LineItems would use an auto-enter field option, either a looked up value or calculation option to copy over the current unit price for a given product in your Products table. Since this field option copies the price instead of referring to it, future price changes will not affect the prices of previously created records in LineItems.
The invoices starter solutions that come with FileMaker use this same system, though versions 12 and 13 name the "LineItems" table "InvoiceData" so you may be able to examine a starter solution to see a working example of this method.