I have worked on 2 closed source POS products and have considered using MongoDB for a re-write of one of those.
My advice is to store invoices using approach #1. Invoices are point-in-time artifacts. As such, keeping them consistent from the "artifact life-cycle" perspective is the a better way to go.
Approach #2 has issues in managing the artifact for any type of versioning, archiving, and auditing.