Per quanto riguarda le fatture intendi la semplice compilazione e stampa?
In tal caso puoi recuperare i dati di un ordine dalla relativa tabella del database e i dati dell'utente che l'ha effettuato dalla tabella degli utenti, impagini il tutto creando una pagina php e la stampi (ci sono funzioni apposite per gestire la stampa delle pagine).
Certo, puoi usare le variabili di sessione, ma mi riferivo al fatto che possono presentarsi casi non banali da gestire, come selezioni multiple, aggiunta/rimozione di prodotti già selezionati. Niente di proibitivo comunque.