Client Disputes

When the client says you didn't deliver a feature

It happens to every agency, contractor, and product team eventually. The release went out weeks ago. The invoice is due. And the client says the feature was never delivered, was different from what they asked for, or doesn't work the way the contract described. You scroll back through Slack, email, and Jira looking for the moment they approved it. There is no single moment. There is a thread, a thumbs-up, a "looks good", and a memory. That's not evidence.

Why "they approved it in Slack" never holds up

Chat platforms are designed for conversation, not record-keeping. A thumbs-up reaction has no attribution to a specific role. A "looks good" doesn't specify what was being approved. Channels get archived, people leave, threads get edited or deleted. When a client disputes delivery six months later, the chat history is either gone, ambiguous, or contested.

Worse, chat approvals carry no conditions. If the release shipped with a known limitation (the iOS guest checkout excluded, payment retry not yet wired up), and the client signed off without that being explicitly written down, the limitation becomes a "missing feature" the moment something goes wrong.

What actually counts as proof of software delivery

A defensible delivery record has four elements. Miss any one and the record is contestable.

  1. Scope: what was delivered, what was excluded, what was degraded. Specific to the release, not the contract.
  2. Conditions: known limitations and accepted risks, written down before sign-off.
  3. Attribution: a named individual with role and timestamp. Not "the team", not a channel.
  4. Immutability: once signed, the record cannot be edited. Changes create a new version with a new sign-off.

How to capture proof before the dispute starts

The pattern is the same whether you use a spreadsheet, a custom tool, or Dockbase: capture the four elements at the moment the release is approved, not when it's questioned.

  • Define release scope in writing. List included and excluded items per platform.
  • Document known limitations explicitly. "Payment retry deferred to v2.1" is a limitation.
  • Name a single decision owner. They sign off, not the team.
  • Capture sign-off with name, role, and UTC timestamp.
  • Lock the record. No edits, only new versions.
  • Send the client a copy on the day of release, not on the day of dispute.

Dockbase exists to do this in minutes per release, with structured fields and an immutable audit trail you can hand to a client, an auditor, or a lawyer.

Stop relying on Slack threads as proof

Dockbase records signed, timestamped delivery proof your clients can't dispute. Start recording them today.