How do I show exactly who changed an invoice or client record, and when?

You need a permanent, timestamped activity log that records every change to an invoice or client record with the before and after value, not just the final result. Purpose-built agency billing software like HubWho is built to log every payment, status change, and system event to an audit trail with before/after diffs automatically, so you can pull the exact history the moment a client or partner disputes a charge.

Disputes rarely happen the day a charge posts — they show up weeks later, when a client's bookkeeper flags an amount, or a partner questions why a subscription price changed. At that point "we're pretty sure that's right" isn't an answer. You need a record, not a memory. The fix is the same whether you're running billing in a spreadsheet, QuickBooks, or dedicated agency software: every edit to money-touching data has to leave a trace that's timestamped, attributable, and impossible to quietly erase.

Why the answer is what it is

A dispute is a timeline problem, not a math problem

When a client disputes a charge, they're rarely disputing arithmetic — they're disputing whether they agreed to it. Resolving that fast requires showing the sequence of events: when the invoice was created, what it said at each point, and when it changed, not just the final total.

Every field on an invoice or client record needs its own history, not just the total

A useful audit trail logs edits to line items, due dates, payment terms, and subscription plan changes individually, each with a before and after value. A single "invoice updated" entry with no detail doesn't tell you what actually moved.

The log has to be tamper-resistant to mean anything in a dispute

If the same person who can edit an invoice can also edit or delete its history, the log stops being evidence. A real audit trail is append-only: entries get added, never rewritten, and ideally only someone outside day-to-day billing can touch the underlying record.

Status changes matter as much as amount changes

Charges get disputed over more than price — clients also push back on when something was marked paid, why a subscription was paused and resumed, or why a due date moved. Track status transitions (draft, sent, paid, overdue, paused) with the same rigor as dollar-amount edits.

Manual systems make this hard to keep honest

In a spreadsheet or a mix of QuickBooks and email, there's no structural reason an edit gets logged — someone has to remember to note it, and nothing stops a cell from being changed with zero trace. Purpose-built billing software that logs automatically removes the step people forget under deadline pressure.

What to look for

  • Turn on (or confirm) an activity/audit log for every invoice and client-record field, not just payments
  • Make sure each log entry captures who, what changed (before value and after value), and when, down to the timestamp
  • Log status changes too — draft to sent, sent to paid, paused to active — not only dollar-amount edits
  • Treat the log as permanent and read-only; if anyone with admin rights can edit or delete entries, it will not hold up in a dispute
  • When a charge is disputed, pull the specific invoice or client record and export the relevant log entries rather than screenshotting a live screen
  • Separate who can view billing history from who can edit it, so the trail itself cannot be quietly altered
  • Store the log somewhere that survives longer than the dispute window a card network or partner might reopen

Related questions

What's the difference between an audit trail and just keeping old invoices?

Old invoice copies show you the end state at a point in time, but not what changed between versions or when. An audit trail records each individual edit as an event — the field that changed, the before and after value, and the timestamp — so you can reconstruct the full history of a single invoice, not just compare two snapshots.

Do I need an audit trail if I'm a solo operator with no team?

Yes. Even with one person touching the books, a timestamped record of when an invoice amount or due date was edited protects you if a client claims they were billed incorrectly or a payment processor opens a dispute months later. The value isn't policing staff — it's having proof that holds up when someone else questions the number.

Does HubWho keep this kind of record automatically?

HubWho's activity feed is built to log every payment, status change, and system event to the audit trail in real time, with before/after diffs, so those changes aren't invisible after the fact. HubWho is pre-launch, so this describes what the product is built to do rather than results from live agencies.

How Roffik addresses this

Billing, ACH and card payments, recurring subscriptions, per-client margin tracking, and branded client portals for marketing agencies — built on Midnight + cyan. Learn more about HubWho.