I think the problem you encountered stemmed from having lookup fields in your tables. Although Access has this capability, it is generally not recommended. See this site for the problems table level lookups can cause. I removed all of the lookup fields I could find and added a new table as a result. I also added the discount table as we originally had discussed and cleaned up some of the other items we discussed. Assuming that you may have many payments for an invoice not an order, I restructured that as well. The revised DB is attached.