I wouldn't archive deleted records but keep them in your live tables. Whole invoices could be lost, rather than odd tranasctions. The big question here is why are there deleted records? Is someone making lots of entry mistakes or is there a fiddle going on? Someone could be creating invoices and printing for cash sales and then deleting them, before collecting their reward. Or they could be creating cash tickets, then deleting , again before collecting their reward.
What I would do was have a field in the tables called Dele as a Yes/No. The table would also have a field to record who deleted it. I didn't have a reason for delete as it may make them think why it's there. Generally as advised in post#3 by the Doc Man
The underlying Query would have a filter option If Dele = False to exclude deleteds. I always thought it the better solution, as it was possible that compact/repair maintained a better table. If you have parent and child relationships the parent prevents the child from being seen, so you only need to delete the parent.
The users were given the option to delete records and as far as they knew they were deleted. The system administrator, or head of accounts, or myself then had a separate screen which allowed deleted records to be viewed. Also reports overall and on individual staff were included You can then see those making the most mistakes or committing fraud. They could also decide what steps to take against the company who was paying the bribe. Additionally, in some systems there was an option in the separate program to remove deletes by date range or user name. A few people lost their jobs at companies up and down the country.