You might want to examine this much simpler demo file for invoicing: http://fmforums.com/forum/showpost.php?post/309136/
It uses many of the same design elements as the starter solution but is much simpler and thus easier for a "newbie" to figure out.
If the same product has different pricing based on general location, you have two options.
The best option, is to set up a new table of pricing with one record for each item for each location and the price for each. Then set up a relationship to LineItems that looks up prices from this table instead of products. This relationship will need to match on two pairs of fields, the product ID just like your Products to LineItems relationship, but then you add a new pair of fields that match by location so that you must specify location and product ID to look up a price for a given item.
The second option, that's not as flexible, but is easier for a "newbie" to set up, is to add two more price fields to your products table and then add matching fields to lineitems so that any given item looks up all three prices. (this requires a looked up value setting on each price field in line items.) Then you update the calculation field for computing the extended price from Qty * Price to:
Case ( Invoice::Location = "UK" ; UKPrice * Qty ;
Invoice::Location = "Europe" ; EuroPrice * Qty ;
Invoice::Location = "World" ; WorldPrice * Qty )
(What makes this option less flexible is that you have to add 2 new fields and update the above calculation at any time where you find you need to add location pricing for a different location. In the first option, you'd just add more records to the Pricing table.)