There seem to be two approaches for General Ledgers:

  1. Enable the user to easily delete or edit past entries
  1. Force the user to post a reversing entry and correcting entry in case of error


A complete internal control checklist is beyond the scope of this discussion, but a permanent record can easily be acheived by copying the transactions from the ledger each month to another machine.

This step alone gives you a heck of a lot more security and control, especially if the "Permanent" copy of the transactions is something like an Access database instead of the Peachtree ledger. A database can also produce value-added reports, charts, and can be programmed to search for a wide variety of "triggers" or problem conditions. Managers and Owners can surf the data very easily in a desktop database like Access. In the hands of an experienced person, a database makes it more likely that errors or fraud will be detected.

In systems design there is a broader issue of user sovereignty, i.e. software developers often have agendas for design decisions such as disabling editing, for economic reasons.  Governments and CPAs also have interests in tax collection and GAAP enforcement.    User sovereignty means these non-owners of the company should get zero votes in the design of the software. Of course there's a market of users who want software with a certified audit trail -- but other users do not require it.

When you use online transaction systems, particularly webledgers, you *need* guaranteed expungement for several reasons. For example, all security is based on encryption, and ever increasing CPU speeds make all encryption temporary. Further, what if you lose trust in your providers' diligence with regard to security?  And when you change GL vendors you need assurances of expungement. Finally, a lot of users just don't need audit trail and it just clogs up their database, increasing costs.

It is extremely naive for anybody to think that hardcoded audit trail provides assurance against fraud. Most small business bookkeepers know how to backup and restore their GL and have experience with it, because PC software self-destructs so often. If they want to print a fake series of invoices or checks they can do that, and then restore a backup, the whole operation taking only a few minutes.