Regarding stock levels, there is an introductory article:
Inventory Control - Quantity On Hand
at:
http://allenbrowne.com/AppInventory.html
For a more comprehensive explanation, buy John Viescas' book, "Building
Access Applications" (Microsoft Press, 2005). The CD includes a working
inventory application that you get free with the book.
Your 2nd question was about creating invoices. Presumably you already have
customer orders. Do you want to create invoices:
a) as you ship the stock, or
b) at the end of the period (e.g. month)?
If a), you will set up another form (for the invoice header) and subform
(for the line items), and as you ship the stock you can either type in the
information again, or (if you are comfortable with writing VBA code) provide
command buttons to copy the item(s) from the customer's orders to the
invoice automatically and allow them to be edited as needed (e.g. where only
part of the quantity can be supplied at this point.) The InvoiceDetail table
will therefore have a foreign key to the OrderDetail table to track which
invoice line items relate to which order line items, and therefore which
orders are not yet fulfilled (i.e. the sum of quantity of the product
ordered is less than the sum of quantity shipped.)
If b), you will need to write code that creates a single Invoice header
record for each customer who has any uninvoiced orders, and then assign the
line items to the InvoiceDetail. You will need to be familiar with VBA code
and SQL to write this code. You will want to assign a batch number, so the
user can undo it if they discover a problem after running the operation.