Changelog

Punchcard product updates

Release notes for Punchcard's audit AI platform, including CoAudit, workpaper automation, PBC request workflows, sampling reports, Excel imports, authentication, and platform reliability.

Page 4

Document tab, redesigned match panel, and run confirmation dialog

A new Document tab for the file viewer, redesigned match panel with direction toggle and Move/Copy operations, and a run confirmation dialog for all automation actions.

New

  • Document tab in the workpaper file viewer: When a file is open in the viewer, a new Document tab shows all the file's details in one place — its classification (editable inline), which match group it belongs to (Unmatched, Match Unlocked, Match Locked, or Excluded, all changeable from a dropdown), related page ranges from the same document, the AI's notes and reasoning, and a per-file activity history.

  • Match section inline in the cell detail panel: When you click a match cell, the file picker now appears directly in the cell detail panel below the grid, split into "Matched" (files already linked to this row) and "Other" (remaining files in the datasource). No need to switch between panels to manage a match.

  • Direction toggle in the match panel: A toggle in the match panel header lets you flip between two perspectives: "files view" shows which documents you can match to the focused row; "rows view" shows all rows in the datasource grouped by whether they're already matched to the file you're currently viewing in the viewer.

  • Move and Copy for matched records: Right-clicking a match now offers explicit Move and Copy choices. Move re-parents the match to a new row and removes it from the original — a confirmation dialog shows you the full count of records that will be affected before you commit. Copy adds a second match at the new location while leaving the original intact.

  • Run AI on empty match cells: Right-clicking an empty match cell now shows a Run option alongside the manual file picker, letting you ask the AI to attempt a match automatically.

  • Run confirmation dialog: Every Run button now opens a confirmation dialog showing a per-document-group breakdown of what will be run — matches, custom column cells, and testing attributes. You choose between Run (fill only empty results) and Re-run (overwrite all non-locked, non-reviewed results). On the very first run of a fresh workpaper, when nothing has been filled yet, the dialog collapses to a single Run button with no breakdown.

Improvements

  • Tick marks can be re-applied after removal: Removing a tick mark and then re-applying the same one to the same number no longer causes a conflict. The removed annotation is preserved in the history rather than being permanently deleted.

  • Client setup error message: If a new client's practice resources don't finish setting up within five minutes, the loading spinner now transitions to an error message directing you to contact support instead of spinning indefinitely.

Bug Fixes

  • Workpaper grid cleanup after re-run: After running all automations, empty placeholder rows no longer remain visible in the grid until the page is reloaded — they clear automatically.

  • "Fix with Co-Audit" no longer splits the chat panel: Opening "Fix with Co-Audit" from the workpaper no longer causes recent chat history to appear alongside the active conversation, splitting the panel in two.

  • Sandbox engagements don't generate email notifications: Activity summary emails and @mention notifications are no longer sent for sandbox (practice) engagements.

  • Partial match Move is clearly reported: If a match Move creates the new association successfully but cannot remove the original, you now see a specific message explaining what happened and how to finish the move manually.

Foot/crossfoot improvements and template fixes

F/CF calculator stays uninterrupted, tick marks now track direction separately, and task templates no longer require a description.

Improvements

  • Add Value stays accessible during operand assignment: When building a foot/crossfoot calculation by lassoing numbers one at a time, the Add Value button now remains visible even while a previous number is waiting for its row and column to be identified. You can keep adding numbers to the calculation without the button disappearing mid-flow.

  • Row footing and column crossfooting are tracked as separate annotations: Tick marks for row footing and column crossfooting on the same number now coexist independently. Placing a column crossfooting no longer silently upgrades an existing row footing to Confirmed — both marks are preserved and reflect their correct direction.

Bug Fixes

  • Task template description is now optional: The Save button in the Save-as-Template dialog is no longer disabled when the description field is empty. Templates can be saved without a description.

  • Template save errors are now specific: When saving a template fails, the dialog now displays the actual reason (for example, if the source task is no longer available) instead of a generic "Please try again" message.

  • Deleted-chat links no longer cause errors: Opening a link to a chat that was deleted, or restoring a session where the last active chat no longer exists, no longer produces an unexpected error.

Workflow diagram, context picker, and selection data improvements

New workpaper workflow diagram, smarter chat context picker, clearer selection data controls, and Done tasks visible by default on the board.

New Features

  • Workflow diagram in workpaper: A new interactive diagram in the workpaper sidebar visualizes all datasources as cards with connecting edges. Each card shows its type (Table Data, Client, or Auditor), column and file counts, and yellow warning banners when selection data or files are missing. Action buttons at the bottom let you run all automations or drill into per-datasource options — including a "Fill Empty" mode that skips cells that already have values.

  • Context picker in task chat: An attachment popover now lets you choose exactly which files to include in your chat message. Files are grouped by datasource with "Select all / Deselect all" per group, a filename search, and a count badge. In task chat, a "Paste Selection Data" action opens the Add/Edit Selections modal directly from the chat panel — no need to navigate to the workpaper first.

  • Chat can navigate directly to a sampling form: The Co-Audit Agent can now deep-link you to the workpaper and automatically open the selection data modal pre-set to a specific sampling method (Random, MUS, High Value, or JE Testing) — so following an AI recommendation takes you straight to configuration.

  • Workpaper onboarding now offers two starting paths: When setting up a new workpaper, you can choose "Add Selections" (opens the import modal right away) or "No Selections" (proceed directly to naming a document group), matching how you actually want to begin.

Improvements

  • Clearer selection data controls: The workpaper datasource toolbar now shows an "Add Selection Data" button when no data exists, and an "Edit Selection Data" split button when data is present. The split button separates "Replace Selection Data" (clear and re-import, including changing headers) from "Append Rows" (add rows while preserving existing column structure).

  • Done tasks visible by default on the board: Completed tasks now appear on the board by default. Use the "Completed issues" filter to hide them — opting in to hiding rather than opting in to seeing.

  • Status change confirmation when selection data is missing: When moving a client-visible task to a status clients can see, and the task has no pasted selection data, a confirmation dialog now appears. It lists each affected task and requires an acknowledgement before proceeding — preventing accidental client exposure of requests without data.

  • Library file preview improvements: The library now shows a graceful fallback for corrupt or unreadable PDFs instead of a blank error. Excel previews include sheet tab navigation so you can browse between tabs.

  • Welcome email errors now show the specific reason: If sending a welcome email to an auditor or client fails, the notification now shows the specific cause (e.g., "on suppression list — contact support to remove") instead of a generic error.

AI Exception Clustering for Tickmark Automations

Tickmark automations now automatically group exception rows into labeled clusters using AI, with fixes for PDF rendering and automation reliability.

New Features

  • AI exception clustering on TICKMARK automations: when a TICKMARK attribute column automation completes, AI now automatically groups the exception rows (rows that failed the tickmark evaluation) into labeled exception groups (A, B, C, …). Re-running the automation preserves any cells you have already accepted or rejected, so your review work is never lost.

Bug Fixes

  • PDF export: F and CF tickmarks now render correctly when opening exported workpapers in Adobe Acrobat.
  • Paste Sample / Add Table from Excel: the import now validates the column mapping upfront and surfaces a clear error instead of failing mid-operation.
  • Automation reliability: fixed an edge case where re-running an automation on empty cells would not register correctly, causing the run to silently stall.
  • Tickmarks: resolved a race condition that could produce errors when two tickmarks were created on the same workpaper in quick succession.

Cleaner filters and form validation on key pages

Activity Feed filters now use plain-language labels, and the New Engagement form prevents submission until required fields are filled.

Improvements

  • New Engagement form: The Create button now stays disabled until the engagement name is entered, making it clear when the form is ready to submit.
  • Activity Feed filters: Filter labels have been updated to plain language — People, Activity Type, and Client replace the previous technical labels, making it easier to find what you're looking for.

Automation runs consistently skip unmatched files across all columns

Run All on match-result datasources now universally excludes unassigned file records, and backend connection handling is more resilient under load.

Bug Fixes & Improvements

Automation

  • Unmatched file records are now excluded from Run All across every column: Previously, the exclusion of unassigned files (records the match agent couldn't link to any upstream selection) was not consistently applied to all column types in match-result datasources. It is now enforced universally — every column in a Run All pass skips these records, preventing degenerate or meaningless results from propagating into your workpaper. Root datasources and lineage-scoped runs are unaffected.

Reliability

  • Improved resilience during high-load automation runs: Internal database connection handling now retries more aggressively across a wider window, reducing the chance of transient connection errors during large or concurrent workpaper automation runs.

PDF Citation Highlights in Chat, Client Validation & Match Label Fix

Verify source document evidence with one click, smarter AI context management, and accurate match-column labels.

New Features

  • PDF citation highlighting in chat: When the AI references a value from a source document, it can now pin the exact region directly in the document viewer — not just quote the text. Click the citation to jump to the highlighted area in the PDF. Available in task chat once document context exists (file reads, attachments, or extraction results); available in Co-Audit Chat whenever attachments are present in the conversation.

Improvements

  • Engagement variable context management in chat: In long AI chat sessions, previously fetched engagement variable values are automatically compacted out of the AI's working context and replaced with a lightweight reference — keeps sessions running cleanly without hitting context limits. The AI re-fetches the value automatically if it's needed again.
  • New Client button on client detail page: You can now create a new client directly from a client's detail page header without navigating back to the client list.

Bug Fixes

  • Match column "matched manually" label corrected: The "This file was matched manually" tooltip on workpaper match cells now only appears when a file was genuinely assigned by hand. Files matched by the AI agent or rules-based matching no longer carry this label.
  • Duplicate client name validation: Attempting to create a client organization with a name that already exists in your firm now surfaces an inline error ("A client with this name already exists") immediately, rather than failing without clear feedback.

Smarter workpaper setup, bulk file moves, and PDF citation fixes

Co-Audit Agent makes cleaner structural decisions, file explorer gains bulk move, and large-PDF citations are now accurate across all pages.

AI Improvements

  • Co-Audit Agent skips approval for empty datasource deletion: deleting a datasource with no files, columns, or records no longer surfaces a confirmation card — the agent proceeds immediately. Approval is still required when the datasource has content.
  • Workpaper design anchors on purpose and source: when building or modifying workpaper structure, the Co-Audit Agent now grounds every structural decision in the audit objective and the documents the auditor will examine, inferring both from context (prompt, task title, memo, existing datasources). If context is insufficient, the agent names what's missing before proceeding — no more guesswork on downstream choices like datasources, columns, or match instructions.
  • Automatic cleanup of the "Requested Documents" placeholder: the default Requested Documents datasource created on new tasks is now treated as a placeholder. If it's empty when the agent is designing the workpaper, it's renamed to fit the design or deleted — never preserved as-is just because it exists.

File Management

  • Bulk Move to datasource: select multiple files in the file explorer and move them all to a different datasource in one action via the Actions dropdown or right-click menu. If any selected files have protected records, a confirmation dialog shows the count before proceeding.
  • Upload cell address tooltip: hovering any upload cell now shows a cursor-following chip indicating exactly where dropped files will land — per-row cells show "Selection #N → DatasourceName", the bulk upload cell shows "Bulk upload → DatasourceName". The tooltip automatically hides during active drags so it doesn't compete with the table-level drop indicator.

File Processing

  • Accurate citations in large PDFs: large PDFs processed via the Lambda pipeline now correctly capture per-page text and graphics across all pages, fixing citation bounding boxes that were off or missing on later pages.
  • Clear permission error on upload: when a file upload fails because the user doesn't have access to the workpaper, the file tooltip now shows a distinct permission-denied error instead of a generic failure message — making it immediately clear the issue is authorization, not a processing problem.

Bug Fixes

  • Excel export — matched filenames: MATCH and MATCH_AGENT datasource cells now show the matched filename in the export instead of appearing blank.
  • Excel export — redundant column removed: the row-level "File (Source)" column has been removed from Excel exports.
  • Task creation modal — cursor position: typing in the description field of the task creation modal no longer causes the cursor to jump to the end of the text.

UI

  • Request table redesign: upload cells, column headers, footers, and drag-and-drop interactions have been refreshed with updated styling and cleaner UX.
  • File explorer folder icons: datasource folder icons now open visually on hover and when the folder is expanded, making the tree state easier to read at a glance.

Roll Forward Variable Handling & Engagement Variables in Chat

Cleaner roll-forward prevents stale prior-year values, smarter dialog pre-population, and engagement variable lookup in Co-Audit Chat.

Improvements

  • Roll forward no longer carries stale prior-year variable values: Engagement variables linked to workpaper columns (synced variables) are now left blank when rolling an engagement forward — they populate automatically when the destination workpaper runs. User-set variable values continue to carry forward as before.
  • Re-running roll-forward is safer: Re-running against an existing destination no longer overwrites synced variable values that the destination workpaper has already populated.
  • Roll Forward dialog always pre-populates from completed engagements: Navigating to Roll Forward from a prior-year engagement marked as Done now correctly pre-selects the client and engagement, even if engagement data is still loading.

AI Chat

  • Look up engagement variables in Co-Audit Chat: The AI can now list all engagement variable names and retrieve the current value of any specific variable (e.g. "What's the materiality threshold?"). Works in both task chat and standalone chat.

Bug Fixes

  • 404 pages redirect to your engagement: Navigating to an unknown or mistyped URL no longer leaves you on a dead-end error page — authenticated users are automatically redirected to their most recent engagement.

Access Control & Security Fixes

Tightened access controls to ensure the Financial Statement Review page is properly restricted to auditors.

Bug Fixes

  • Financial Statement Review page is now properly restricted to auditors — clients who navigate to a review URL are redirected automatically rather than encountering an incomplete or unauthorized view.

FSR cover sheet, clone file access, and automation reliability

FSR exports now include a clickable tick-mark index cover sheet; cloned engagements restore full file access for all auditors; automation progress is more accurate through network interruptions.

New Features

  • FSR PDF exports now open with a structured cover sheet. The prepended cover sheet provides a full tick-mark index in two sections — §01 lists every flagged exception with its mode, tick-mark identifier, description, and reviewer notes; §02 is a complete index organized by mode (PY → IC → F/CF). Every row is a clickable internal link that jumps directly to the matching page in the financial statements (and to the exact on-page location when a bounding box is available). The cover sheet also includes a masthead (client name, engagement title, reporting period) and a six-entry tick-mark legend, making the exported PDF self-contained for offline review.

Bug Fixes

  • Cloned engagements: reference and library files are now accessible to all recipients. Previously, auditors provisioned via a sandbox clone were denied download and viewer access to reference and library files because file ownership still pointed to the source engagement. Files are now correctly scoped to the destination task, and access is restored immediately for all clone recipients — including non-admin auditors.

  • Engagement board: disabled board pills now show real counts and smarter guidance. When the Requests or Tasks board is turned off in engagement settings, the pill now shows the actual task or request count instead of a hardcoded zero. If hidden tasks exist — for example, after cloning from an ALL-visibility engagement — the tooltip explicitly flags it: "This engagement has client-visible requests but the board is hidden. Enable it in engagement settings." When the count is zero, the original shorter tooltip is shown. Auditors can now tell at a glance whether there are tasks waiting on them vs. whether the board is simply unused.

  • Automation progress cards are more accurate after network interruptions. On reconnect following a pod rotation, stale failure markers in the automation progress card are immediately replaced by the correct live status if the background retry has already succeeded — no more misleading red indicators on automations that actually completed. In the AI chat run card: a "Reconnecting…" pill appears during brief connectivity gaps so in-progress runs look like transient buffering rather than failures; the "Analysis skipped" warning is suppressed while a run is still in flight and only surfaces after the run reaches a terminal state; and Cancel now reliably targets the correct run by its unique ID rather than the short automation ID.

Review Checklist Navigation & FSR Export Improvements

Smarter PDF citation navigation in the review checklist, always-visible Foot/Crossfoot controls, and a redesigned FSR export cover sheet.

Features

  • Auto-navigate to citations on card expand: Expanding a review checklist prompt card now automatically scrolls the PDF to the card's first citation — flagged findings are prioritized, and the lowest page number is selected first when multiple citations exist.
  • Single-citation highlight: Only one citation is highlighted in the PDF at a time. Clicking a different finding row moves the highlight to that citation, making it easier to trace individual findings without visual clutter.
  • Redesigned FSR export cover sheet: The annotated PDF export cover sheet has a new layout and typography (IBM Plex Mono tick marks), clickable rows that link directly to relevant findings, and now includes the Review Summary section.

Improvements

  • Foot/Crossfoot action buttons always visible: Save, Reset, and Apply are now rendered inline at the bottom of the calculator card with an independently scrollable operand list — the action row stays in view regardless of how long your operand list is.

Bug Fixes

  • Workpaper saves target the correct task: Fixed an issue where a queued autosave could be sent to the wrong task when navigating quickly between tasks while the memo panel stayed mounted.
  • PDF navigation for bbox-less citations: Clicking a citation that has a page number but no drawn bounding box now correctly navigates the PDF to that page.
  • Cross-page operands persist on save: Fixed an issue where cross-page Foot/Crossfoot operands were dropped when using the standalone save action.

Bulk File Actions, AI Math Correction, and Deep Analysis Improvements

Multi-select file management with bulk download, OCR re-run, and grouping transitions; automatic AI math correction in FSR; deep analysis chats auto-open on completion.

File Explorer

  • Multi-file selection across datasources: checkboxes appear on hover; a header checkbox selects every file across all datasource folders at once; Shift+click range-selects including across folder boundaries; folder headers show a live selected/total count (e.g., "3/8")
  • Floating bulk action bar: when 2 or more files are selected, a pill-style bar anchors to the bottom of the file explorer showing the selection count, a clear button, delete, and (for auditors) an Actions dropdown
  • Bulk download: download all selected files as a single zip; files from multiple datasources are organized into labeled subdirectories; a single selected file downloads directly without zipping
  • Bulk re-run OCR: re-run text recognition on all selected files at once from the Actions dropdown
  • Bulk match grouping transitions: move selected files between match groupings — Unmatched, Match Unlocked, Match Locked, or Excluded; each option shows how many of the selected files are eligible
  • Right-click bulk context menu: right-clicking any file in a multi-selection shows the bulk actions menu instead of the single-file menu
  • Datasource folder collapse/expand: each datasource folder can be independently collapsed or expanded; newly uploaded datasources auto-expand; collapsed state survives data refreshes; an upload button appears on folder header hover (auditors only)

Deep Analysis

  • Chat auto-opens after completion: when a deep analysis question finishes, the resulting chat opens automatically in the task chat sidebar — no need to navigate manually; freshly created chats appear without a page refresh
  • Deep Analysis chats in history: Deep Analysis chats in the chat history sidebar display a purple bolt icon to distinguish them from user-started conversations; the "Deep Analysis: " title prefix is stripped so only the question title is shown
  • Faster start: deep analysis no longer waits for embedding or classification pipelines — questions begin processing immediately after OCR completes

Financial Statement Review

  • AI math correction: the FSR pipeline now includes automatic math validation correction — for each detected table, the AI identifies total rows and columns, determines the correct operand set and sign assignments (add vs. subtract), and commits corrections only when the result achieves zero discrepancies; partial improvements are never applied; discovery mode also establishes operand formulas for totals that were detected by OCR but had no formula yet, improving validation coverage after the first AI run without requiring a separate follow-up pass

Workpaper

  • Table row extraction completeness: the AI extraction safety net now catches leading-row omissions in financial statement tables (e.g., combined net assets or partners' capital statements with no parent header row); both leading-row gaps and zero-row returns trigger a correction re-prompt, ensuring all values appear in the workpaper grid
  • Reviewed cells stay highlighted during Run All: accepted (green) and rejected (red) cells no longer flicker white or yellow mid-run when bulk automation is triggered — their visual state is maintained throughout the entire run; as an added safeguard, reviewed cells are now skipped even if the protected flag is absent

Engagement Board

  • Collapsible document search results: document search results are now organized as collapsible groups — task → datasource → file → matching pages; each level is independently collapsible; tasks that matched only on title or description appear at the top labeled "Metadata match" with no document evidence shown; clicking a task header navigates to the task overview; clicking a file result opens it at the matching page

Co-Audit Agent

  • Column scope for run_automation: the AI can now re-run a single attribute column across all rows in a datasource — the right action after updating a column's prompt and wanting every row recomputed without triggering a full workpaper re-run

Clients

  • Filter banner: when active filters hide one or more items from the client list, a banner appears showing the hidden count with a Clear Filters button to reset all active filters at once

Unmatched Row & Lock/Unlock Matches

New unmatched-files summary row in the workpaper grid and a bulk lock/unlock action for confirmed matches.

New Features

  • Unmatched aggregate row: Match-agent datasources now display a pinned Unmatched row at the bottom of the workpaper grid whenever files remain unmatched. Each datasource column shows an amber chip with the unmatched file count — clicking it opens the cell detail panel filtered to those files. Once all files are matched, the chip turns green. Sample datasource columns are visually subdued so the row reads as a single status band rather than live data.

  • Lock / Unlock Matches: A new Lock Matches button in the unmatched-files panel lets auditors bulk-protect every confirmed match in a datasource with a single click. When all matches are already protected, the button switches to Unlock Matches. The button is hidden while unmatched files remain — a Re-run Match button is shown instead.

Improvements

  • Accounting Policy entries previously labeled Rich Text are now labeled Custom.

Client Upload Inheritance & Co-Audit Agent Pagination

Document groups on client-visible tasks auto-enroll for client uploads; Co-Audit Agent now pages through large datasources.

New

  • Automatic client-upload enrollment: document group datasources added to a task that is already client-visible are now automatically set up for client uploads at creation time — no need to manually toggle "Provided by: Client" afterward.
  • Co-Audit Agent row pagination: the agent can now page through large datasource tables (default 20 rows per call, up to 100 per request with offset support) and filter by specific columns — reducing incomplete or truncated reads on wide or high-row-count tables.

Improvements

  • Unsupported file formats now download automatically: clicking a file in the file explorer that cannot be previewed triggers a browser download instead of failing silently.
  • Clear message for deleted files: if a file has been removed, the viewer now shows "This file is no longer available — it may have been deleted." instead of a generic error.

Fixes

  • Memo auto-saves are more resilient — edge cases that previously caused silent save failures are now handled correctly.
  • Resolving multiple comments at once is faster — previously sent one request per comment, now resolved in a single call.
  • Stale chat sessions are cleaned up correctly when a chat no longer exists in the list.