Regenerating documents and audit trail

When and how to regenerate, and what gets logged.

2 min readLast updated 13 Apr 2026

Source records change. When they do, existing documents may drift out of sync with the latest data. Regeneration produces a new version.

When to regenerate

  • A charge line was added or corrected after the invoice was issued.
  • The consignee address was updated after the arrival notice went out.
  • A template was republished and you want the old document re-rendered on the new layout.
  • A typo in a commercial term was fixed after the quote was sent.

How

On the document row in Documents Center, click Regenerate. The platform:

  1. Re-reads the source record's current state.
  2. Renders against the currently-published template for that doc type.
  3. Stores the new PDF as a new version under the same document number.
  4. Leaves all prior versions accessible.

The Reason field is required when regenerating a document that was already sent to a customer. Free text, captured in the audit log.

What gets logged

Every regeneration writes an audit entry:

  • Document number + type.
  • Old version id, new version id.
  • User, timestamp.
  • Reason (if required).
  • IP address (for compliance investigations).

Audit entries are immutable. They appear in /app/admin/audit-log filterable by document or user.

Side effects

Regeneration does not auto-email the new version. You must re-send if the customer needs to see the update — a confirm dialog reminds you.

Regeneration does not change the document number, generation date in the document body, or any sequence number. What changes is the PDF bytes + a "Regenerated on {date} by {user}" footer line (can be disabled per-template).

If a document is under a legal hold (flagged as under compliance hold), regeneration is blocked with a warning. Escalate to the compliance owner before proceeding.

API

Programmatic regeneration is available via POST /api/documents/{id}/regenerate with {reason} required on post-send docs.

Was this article helpful?