On October 1st we have noticed that every Purchase Order in the system that was totally received and invoiced had disappeared completely without trace from our Database.
Every PO in that condition was archived to a developed page called "Closed Purchase Orders" that filtered and showed every PO that was fully invoiced and had a field called "Closed" activated. We have determined it was not some bug from the page itself or the field due to them having been implemented months ago without any change.
Our suspect is that someone used a Report called
Delete Purchase Order Versions. During testing we saw that deleting a closed PO sample through that report caused the same behavior as the situation we were facing such as:
Any archived version of the document was completely gone;
All document dimensions were also deleted;
No impact on General Ledger Entries related to the document;
No impact on Approval Entries related to the document.
Sadly we also do not possess a back-up due to the client only keeping 1 back-up at all times and the latest already had the data loss.
We cannot also confirm if the aforementioned report was used or who deleted the data because the
Change Log Setup was not configured for the
Purchase Header Archive or
Purchase Line Archive where they were being kept.
About 2/3 of the users have permissions to use that report which means about 300 people so tracking seems nearly impossible to achieve.
With this we are finding no solution to recover that lost data. We have thought of possibilites like collecting all Purchase Invoices related to the lost POs and manually trying to recreate them with a developed code unit. Yet there are issues like the large number of documents, each PO being able to have more than 1 Purchase Invoice and not being sure if a code unit to fulfill the task is possible to create.
Has anyone ever been through a similar situation and what have you done to recover the lost data?
Thank you.
Comments
In reality though it is going to come down to the way your client works. If they typically receive goods promptly meaning that in the last 2 weeks most of the goods are actually received, and the quantities ordered are typically what arrives then a manual reconciliation makes sense, but only you know how your client works.
Also in terms of the "why" check the Batch Post Purchase Orders process, they may typically run that with filters, and someone just forgot to put filters on it. If ever I have a client that uses the Batch Posting Reports, I typically add the line
to it.
Yes we also imagined someone didn't use filters although that report was never used before (And shouldn't have been, but the client didn't heed to our warnings about people having permissions to reach it). We'll see if we can use this situation to at least show the implications of having little restrictions for the users when it comes to reports and configuration pages.