There doesn't seem to be any need for Purchases. The records in LineItems make up a customer's purchases and the set of lineItems linked to a given invoice is a customer's "Shopping cart". "Adding an item to a customer's shopping cart" requires creating a lineItems record linked to that customer's invoice.
What specific details of the sales process have have you stumped?
I may have used the wrong nomenclature for that particular Table "Purchases". That table is actually for purchases made by the Dive Center itself and I made it so to keep an inventory/stock calculation flow going. I probably should have named it "Supply Purchases" or something.
The scenario i have in mind is that a customer walks in, shown an iPad layout of the products most likely in huge pictures (Catalogue) with minimal information such as prices/sizes/manufacturer etc. and I want to be able to ADD a chosen product through that `Catalogue` to a shopping cart that will be checked out (Invoice?).. such as those on online shops.
To learn more about how to create and use multiple table occurrences, a very key part of how FileMaker is designed to function, see: Tutorial: What are Table Occurrences?
You can set up a system where a script creates a new invoice and any needed customer data is either gathered to create a new record in Customers or to select an existing record in customers. The value of __InvoiceIDpk can be put in a global variable ($$InvoiceID) once this new invoice record is set up and linked to a record in Customers. Then the system can take the user to an iPad friendly form view layout based on the Products table.
Tapping a button to add the displayed product to the customer's shopping cart would use a script similar to this:
Set Variable [$ProductID ; value: Products::__ProductIDpk ]
Go to Layout [ "LineItems" (LineItems) ]
Set Field [ LineItems::_InvoiceIDfk ; $$InvoiceID ]
Set Field [ LineItems::_ProductIDfk ; $ProductID ]
Go to Layout [original layout]
That makes total sense. I had a feeling that the mechanism will involve mostly scripting.. You made it loud and clear. Can't thank you enough for your help sir.
And also, that link is definitely a valuable one.. Going to get a good read.