Skip to main content
DATANOVATECHNOLOGIES

Spreadsheet Risk

Spreadsheet Audit Trails: Why Excel Cannot Give You One

Excel cannot produce a defensible audit trail because its history is optional, editable, incomplete and tied to a file rather than a record. An auditor asking who changed a figure, when, and what it was before needs per-record attribution that survives the file being copied — which is a property of a system, not of a document.

8 min readUpdated

When the obligation is binding and the spreadsheet cannot meet it, Datanova helps businesses move the process into a system with per-record history.

What an audit trail actually has to do

"Audit trail" gets used loosely. When an auditor, a regulator or a customer's compliance team asks for one, they are asking for a record that satisfies five specific properties:

  • Attributable — every change is tied to an identified person, not to a shared login or a filename
  • Complete — every change is recorded, not only the ones someone chose to save
  • Immutable — the record cannot be altered by the people whose work it records
  • Contemporaneous — captured when the change happened, not reconstructed later
  • Retrievable — you can answer a question about one figure without reading a whole file

These are not arbitrary. They are roughly the ALCOA properties used in regulated manufacturing, and they turn up in similar form in financial controls and in customer quality agreements. A spreadsheet fails four of the five.

Why Excel's history does not qualify

PropertyWhat Excel gives you
AttributableA username on a shared file, if version history is even on; copies lose it entirely
CompleteVersion snapshots, not changes — edits between saves are invisible
ImmutableAnyone with edit rights can alter data and, in many setups, the history along with it
ContemporaneousOnly as good as the save cadence; offline copies break it
RetrievableYou can diff whole files, not ask "what happened to this record"

Microsoft 365 version history and co-authoring genuinely improve the first and fourth rows. Neither makes the record immutable, and neither gives you per-record retrieval — which is what a question about a disputed figure actually needs.

Where this stops being theoretical

Most spreadsheet-driven processes never face this question. These do, usually with a deadline:

  • A customer quality agreement requiring traceability of inspection or batch records
  • Financial controls where someone has to evidence separation of duties and approval
  • Pharmaceutical, medical device or regulated manufacturing supply chains with retention and recall obligations
  • A dispute where a customer challenges a price, a quantity or a sign-off, and the file is the only evidence
  • Certification — ISO 9001, SOC 2, IATF — where the auditor asks how records are controlled
  • Any process where the answer to "how do you know this number is right" is a person's memory

The options, cheapest first

  1. Lock the spreadsheet down — single master file on SharePoint with version history on, edit rights restricted, no local copies. Improves attribution and gives you something rather than nothing. Does not give immutability, and a determined user can still bypass it.
  2. Log changes out of the spreadsheet — a macro or scheduled job that writes every change to an append-only store the editors cannot reach. A real improvement, and it is a workaround: it captures what it was built to capture, and nothing else.
  3. Move the record of truth into a system — the data lives in a database with per-record history, identified users and enforced approval steps, and people work through an interface. This is the only option that satisfies all five properties, and it is what an auditor is actually describing when they ask for an audit trail.

Option 1 is worth doing this week regardless of what else you decide. Option 2 is a legitimate middle ground when the obligation is narrow and known. Option 3 is what a binding compliance requirement eventually forces, and the useful thing to know is that it does not have to happen across the whole business at once — the process under obligation can move on its own.

What a defensible trail looks like in practice

  • Every record carries who created it, who last changed it, and when
  • Changes are stored as an append-only history, including the previous value
  • Approvals are recorded as events with an identified approver, not as a signature in a cell
  • Users are individually identified — no shared accounts, ever
  • History is retained on a defined schedule and cannot be deleted by ordinary users
  • Any single record's full history can be produced without reading the whole dataset

None of that requires an enterprise platform. It is the default behaviour of a modestly built application over a relational database, which is why this is one of the clearer cases where replacing the spreadsheet pays for itself — the cost of failing an audit is rarely bounded.

Frequently asked questions

Does Excel have an audit trail?

Not in the sense an auditor means. Excel offers version history in Microsoft 365 and a legacy change-tracking feature for shared workbooks, but neither is complete, neither is immutable, and neither lets you retrieve the history of a single record. They are recovery tools, not controls.

Is SharePoint version history enough for compliance?

It depends entirely on what you are complying with, and you should confirm it with your auditor rather than with a vendor. It improves attribution and gives you point-in-time recovery. It does not make records immutable, it operates on files rather than records, and a user with edit rights can usually work around it.

Can we add an audit trail to our existing spreadsheet?

Partially. A macro or scheduled job can write changes to an append-only log the editors cannot modify, which is a genuine improvement. It captures what it was designed to capture and will miss anything outside that — a structural change, an offline copy, a paste over a formula.

How long do we need to keep records?

That comes from your obligation, not from the software — retention periods differ widely across financial, safety, medical and contractual requirements. The relevant engineering point is that the system needs a defined retention policy that ordinary users cannot override, which a folder of spreadsheets does not have.

Facing an audit on a spreadsheet-driven process?

In a free consultation we look at what you are obligated to evidence and what the current process can actually produce, then tell you the smallest change that closes the gap.