Io personalmente ho aggiunto un campo che ho chiamato "convalida", mentre la fattura è in inserimento ha il valore 0, dopo la convalida e la stampa prende il valore 1, in caso di annullamento o di chiusura della maschera senza essere arrivati alla stampa i dati che hanno il campo convalida=0 vengono cancellati.