Those are a lot of questions. Really should tackle one issue at a time. I will try to give you starting points on some.
1. Consider calcs like: =Sum(IIf([GST%]=5, [Amt], Null))
Looks like need to include Customer table in report query, link to Invoice table, instead of using DLookup. Domain aggregate expression can cause slow performance. Can do same for form but don't use INNER JOIN - be sure to lock controls so cannot edit customer info. Another technique is to include fields in combobox RowSource then textbox references combobox columns by index. Index begins with 0 so column 2 has index 1: =CustomerID.Column(1).
2. move to new record row
3. why? is it 10 or is it 12?
4. don't do this, calculate stock balance when needed, don't save it - review http://allenbrowne.com/AppInventory.html
5.
a. - d. start building reports that apply sorting and grouping rules and dynamic filter - when you have specific issue, post question
a. - e. review http://allenbrowne.com/ser-62.html
Why is customer in Product table?
Advise NOT to use spaces nor punctuation/special characters (underscore only exception) in naming convention for any objects. Better would be GSTPct or GST_Pct.
Cannot directly use Null in an equality expression. Nothing is ever equal to or not equal to Null - there is nothing to compare, not even Null=Null. Use Is Null or IsNull or Nz. Review http://allenbrowne.com/casu-12.html