Mauro,
agire così alla cieca, a volte porta anche ad una soluzione ma con un prodotto complesso come Odoo è molto difficile.
Parti dai punti fermi e rivedi le tue convizioni. Ti dico alcune cose che probabilmente dai per scontate:
1. Il momento in cui l'errore è generato ed il momento in cui l'errore è rilevato sono molto diversi.
Io ho incontrato dei casi in cui l'utente finale aveva apportato alcune modifiche e sembrava tutto Ok. Qualche giorno dopo queste modifiche ho dovuto riavviare Odoo che si era bloccato. Solo dopo un po' di tempo sono risalito alla causa, che era di quelche giorno precedente e di 2 copie di backup indietro.
Domanda: hai rilevato l'errore dopo un riavvio?
2. In una programmazione per oggetti come in Odoo, con oggetti trasversali, l'errore non è detto che sia legato al modulo purchase. Ad esempio la gestione del mail_thread (che secondo me è l'imputato nel tuo caso) riguarda tutti i moduli. Se il modulo è bacato potresti avere problemi su moduli "client" del baco.
Domanda: hai esaminato il codice dove ti viene segnalato l'errore?
3. I backup sono una protezione ma non una garanzia di ripristino. Le modifiche apportate al codice possono essere in contrato con il backup. Ad esempio, supponi di aver aggiornato il modulo XXXX, questo modulo aggiunge il campo XYZ nel DB.
Se recuperi una vecchia copia, il sistema va in errore perchè il campo XYZ è assente ed il codice invece è aggiornato.
Se vuoi fare Business Continuity devi effettuare anche il backup del codice.
Domanda: quali moduli hai aggiornato o installato di recente?
Scusa la cruda brutalità, ma stai imaparando cosa significa maneggiare un prodotto complesso come Odoo.
Vorrei concludere con una nota:
Questi problemi non sono solo di Odoo ma della grande maggioranza dei software moderni basati su modeli di gestione ad eventi e dotati di addons o moduli.