Flowgrammer

Smartsheet Contract Tracker

Implement the published contract register on a Smartsheet sheet with owners, dates, durable file pointers, and operational notice flags. Not legal advice and not a CLM.

— Craig Major

A Smartsheet contract tracker is the published Contract Tracker register built as a sheet of rows. Each row names a Contact List owner, a closed Dropdown status, a durable URL plus native id and version key, and the key dates. Reports and When a date is reached alerts help a person record renew, amend, or terminate. Smartsheet does not give legal advice, replace a CLM, or treat a notification as legal notice.

The shared field list lives in the published Contract Register and Renewal Template. The paired Smartsheet Contract Register Template is the column recipe, CSV import, reports, and notify-only automation design. This is not a Smartsheet invoice tracker, not Proofing, and not a full document approval workflow. Approval status is a pointer only. If you already run the same schema in Drive, Microsoft 365, monday.com, Notion, Airtable, a local vault, or ClickUp, the published Google Sheets contract tracker, SharePoint / Microsoft Lists contract tracker, monday.com contract tracker, Notion contract tracker, Airtable contract tracker, Obsidian contract tracker, and ClickUp contract tracker are the platform twins.

Who this is for

Use this when signed files already live in Drive, Box, Dropbox, or SharePoint and the immediate job is one visible Smartsheet sheet: who owns the row, which file version is authoritative, which notice window is open, and which decision is still missing.

Prerequisites:

  • One contract family for the first sheet. The worked example is fictional Cedar & Quay Fabrication Ltd.
  • Agreement that this is an operational register, not legal advice and not a CLM
  • A named Contact List owner with an email, not a shared inbox
  • A durable file pointer: URL plus native id and version key. Row attachments are an optional companion, not the sole system of record when policy requires an external store
  • A written rule for what happens when a reminder gets no reply
  • Agreement that column formulas, alerts, reminders, update requests, and Approval requests never set renewed or terminated
  • A reminder path that matches the plan. TODAY() does not refresh when someone only opens a report or dashboard. Date-reached recipes need remaining monthly automated triggers

Stay out of this first sheet: clause interpretation, auto-renewal legality, e-sign send, a full approval matrix, Proofing as the register, invoice amounts, tax, PO, payment fields, and any claim that permissions, Guests, Contributors, Activity Log, cell history, or Regions are certification.

If you still need the platform-neutral model, stay on the parent tracker. Do not copy invoice money fields from any Smartsheet invoice sheet into this register. Planner lists Smartsheet invoice tracker as a separate phrase with no reported data. Smartsheet invoice template is 10-100 and stays invoice. Smartsheet approval workflow is a different job.

Keyword Planner reports Smartsheet contract tracker as No reported data. Do not invent demand.

What Smartsheet implements

The parent template defines the shared field list. This pack uses the same names so you can move data without remapping it.

Parent piece Smartsheet twin
Field dictionary Columns, same names
Status model Dropdown values on status
Duplicate key Text/Number plus a grouped or filtered report
Roles and exceptions RolesAuthority and ExceptionTaxonomy sheets in the pack
Sample rows REG-CQ-2026-0914-0920 Same fictional Cedar & Quay cases
Notice formulas notice_date stored as a Date column; day counts from Config as_of or live TODAY()
Approval pointer approval_status only

Do not rename fields for Smartsheet convenience. The same names make later imports and migrations easier.

Smartsheet-native additions that are not a second schema:

  • Contact List for owner, plus Contact List columns for escalation_target and reviewed_by. Emails are required for automation
  • Dropdown columns for type, exception, approval pointer, and access test
  • Date columns for expiry, notice, and reminder_due_at
  • Text/Number holding the durable URL plus native id and version key
  • Optional row attachments companion with Upload New Version
  • Column formulas with @row, plus helper Dropdown or Checkbox fields when a flag must notify or filter
  • Reports, an optional Calendar or Gantt view that does not become a project plan, and a dashboard
  • An optional notify-only Automation design. If the plan still has automated triggers left, a When a date is reached or Record a date recipe may be an option. Otherwise use the manual reminder process. Tenant- or plan-dependent behavior is needs_live_proof

Sheet, columns, and closed Dropdown statuses

Pick one system of record for status. Do not keep a second live status on the PDF.

Pattern Use when Status lives File identity
Single sheet plus Dropdown status Default. Matches the inherited 13-status model The Dropdown column URL plus native id. Attachments optional
Multi-sheet by contract type plus report hub You already split MSAs and NDAs Dropdown on each sheet Same pointers. Pro reports support one source sheet
Shared Guest or Contributor sheet An external reviewer must see selected rows The Dropdown Same pointers. Guests start on Business+
Hybrid attachments plus external store Operators want a PDF on the row and a durable SoR elsewhere The Dropdown Prefer the external URL. Attachments alone are a weak SoR

Smartsheet Help documents a Primary Text/Number column you cannot change or delete, plus Contact List, Date, Dropdown, Checkbox, Symbols, Auto-Number, and System columns. Official page: Column types. Contact List cells need an email for automation. Status labels do not enforce allowed next statuses. Consider locking the Status column when process requires it.

Column formulas apply uniformly with @row or full-column references. Explicit row numbers are not supported in column formulas. Official page: Use Column Formulas. Exact tenant UI is needs_live_proof.

Durable identity and the attachments companion

Path-only pasted URLs break when someone moves a file. Prefer a stack:

  1. file_pointer_url as Text/Number holding the durable external store URL
  2. file_native_id as the Drive, Box, Dropbox, or SharePoint file id
  3. file_version_key as revision, version id, etag, or content hash
  4. Optional row attachments for a working copy on the row

Attachments are a companion store. They are not a certified version system of record. Owners, Admins, and Editors can add or replace versions. Official page: Keep attachments current. Public pricing currently lists attachment storage as 20 GB and 30 MB max on Pro, 1 TB and 250 MB on Business, and unlimited storage with 250 MB max on Enterprise. Those numbers are mutable. Cite plan categories only.

Proof gate: open the pointer as a named reviewer and set access_test_result. A material file replace without a new register row is missing_or_stale_file_pointer or a superseding row. Attachment links in workflow emails expire after 14 days.

TODAY() does not refresh from a report or dashboard

Smartsheet Help documents that TODAY() updates when you open the sheet and save it, or when listed sheet-mutating events run: form submission, update or approval workflows, report updates that change the sheet, cell links, opening a sheet referenced by a cross-sheet formula, move or copy row, assign people, Record a date, modify a cell, or lock or unlock. Official page: TODAY Function.

A report or dashboard that only displays the sheet does not refresh TODAY(). Quiet sheets need a daily Record a date helper, or Bridge Schedule Daily Sheet Save where licensed. Official page: Automatically update the TODAY function in formulas. Packaged samples stay on Config as_of 8 September 2026. Do not put TODAY() in packaged XLSX formulas.

Do not point a notify recipe at a TODAY() flag and expect it to stay current on a sheet nobody opens.

Use one of these:

  • Config as_of_date for packaged samples. This pack uses 8 September 2026
  • When a date is reached on notice_date or reminder_due_at
  • A daily Record a date helper so live TODAY() flags refresh
  • A helper Dropdown or Checkbox set by a workflow, then notify from the helper
  • Manual ReminderEscalation when automated triggers are unavailable or the monthly cap is exhausted

notice_date is expiry_date minus notice_window_days when both exist. Store that result as a Date column. That is operational date math. It is not legal notice.

duplicate_key is lower(counterparty_id or counterparty_name) plus | plus lower(contract_id). Populate it by import or a column formula. Smartsheet has no native unique constraint. A filtered report plus a human duplicate status is the control.

These formulas are planning aids. They are not statutory interpretation or an auto-renewal rule. If notice flags stay stale because the sheet was never opened and no daily helper ran, record today_formula_stale. If a reminder design relied on a cross-sheet formula or cell link, record cross_sheet_trigger_gap.

Date-reached reminders and Pro trigger caps

A reminder is an operational nudge. It is not proof that contractual or statutory notice was validly delivered. No reminder timeout may set renewed or terminated.

Pattern When What it may do What it must not do
Manual ReminderEscalation Always valid. Use this first, or when workflows are paused Owner reviews Notice and Decision reports. Record reminder_sent_at and evidence_ref Auto-renew
When a date is reached If automated triggers remain; Pro 250/month; needs_live_proof for UI labels Alert the owner when the Date column is reached Change status to renewed or terminated
Daily Record a date Owner or Admin; Pro and above; needs_live_proof Refresh TODAY() by updating the sheet Rely on a dashboard view to refresh TODAY
Update request or Approval request Optional human ack Ask the owner to confirm they saw the row Treat the request as contractual notice or a full approval matrix

Smartsheet Help documents workflow structure, 150 workflows per sheet, 100 blocks per workflow, 30 action blocks, and 20 condition statements per condition block. Cells with cross-sheet formulas or cell links do not trigger workflows that automatically change the sheet: Move Row, Copy Row, Lock Row, Unlock Row, or Approval Request. Official page: Automate processes with workflows. Exact Automate labels stay needs_live_proof.

Public Smartsheet pricing currently lists automated triggers as 250 per month on Pro and Unlimited on Business, Enterprise, and Advanced Work Management. Alerts, reminders, update requests, Approval requests, and Record a date appear on those plans. Do not invent CAD or USD seat prices. Recheck on publish day. When the allotment is exhausted, record automation_trigger_cap_exhausted and switch to the manual process. Do not treat silence as renewal.

The pack includes an original notify-only recipe design, not a tenant export and not a Solution Center listing. It is not executed against a live environment.

Proofing and Approval requests are not the register

Smartsheet documents Proofing as a content-review feature for images, video, PDFs, and Office docs. Pricing lists Proofing from Business upward. Official page: Add a proof to a sheet or report. Proofing is not the contract register system of record. If a team treats Proofing as the register, record proofing_confused_with_register.

Approval requests can ask a person to accept or decline a row change. They are not the published document-approval matrix and they are not a renewal decision. approval_status on this register is a pointer to the published document-approval vocabulary.

DocuSign e-signature appears as an Enterprise integration on the public pricing table. Completing a signature is not a renewal decision.

Guests, Activity Log, and Regions are not certification

Map pack roles operationally:

Pack role Typical Smartsheet mapping
Register_Admin Owner or Admin who may change sheet structure
Contract_Owner Editor on own rows
Reviewer Viewer or Commenter
Escalation_Owner Editor
Auditor_Read Viewer
Counsel_OutOfBand No sheet edit. Advice stays outside Smartsheet
External_Counterparty Guest only when policy allows. No edit. Guests start on Business+
Unauthorized_Actor Any other editor. Log unauthorized_status_change

Public pricing currently lists Guests from Business upward. Pro emphasizes Members plus Contributors. Collaboration controls are not a security certification. Lock rows and columns when process requires it. Safe Sharing and advanced admin controls are Enterprise. Exact tenant UI is needs_live_proof.

Activity Log is documented for Business and Enterprise. Owners, Admins, and Editors must be paid users to view or export it. Each download is limited to 90 days of sheet activity data. Official page: Track changes with the activity log. Cell history is available more broadly. Neither replaces DecisionRecord. Keep DecisionRecord and Evidence.

Smartsheet Regions are US, EU, or AU, chosen at account creation and not changed later. Official pages: Smartsheet Regions and Data residency. Hosting and retention stay questions, not certification. Bridge is not available in AU Regions. Proofing and other regional gaps stay needs_live_proof.

API rate limits are typically 300 requests per minute per token. File attachments and cell history count as 10x and are limited to 30 requests per minute. HTTP 429 on exceed. Official page: Scalability options. Pricing lists API calls from Business upward. Those numbers are mutable. Recheck on publish day.

Worked example

Cedar & Quay Fabrication Ltd is a fictional Toronto fabricator. Create the sheet from the column recipe, or import csv/register-import.csv. Leave Config as_of_date at 8 September 2026.

  1. REG-CQ-2026-0914, Northshore Logistics MSA CTR-CQ-MSA-2024-017. Owner Avery. Status active. URL, native id FICTION-CQ-MSA-017, and version key present. Expiry 30 September 2027. 60-day operational notice window. No exception.
  2. REG-CQ-2026-0915 uses the same family with a nearer expiry. Status notice_window_open. Date-reached notify scheduled to Avery. Escalation target Riley.
  3. REG-CQ-2026-0916 is on exception hold because the durable URL and native ids are blank. A renewal decision stays blocked.
  4. REG-CQ-2026-0917 is a second Northshore plus the same contract id. Status duplicate. Canonical row REG-CQ-2026-0914 continues.
  5. REG-CQ-2026-0918 records an unauthorized attempt to mark renewed. Status returns to exception hold.
  6. REG-CQ-2026-0919 expired on 15 August 2026 with no renew, amend, or terminate note.
  7. REG-CQ-2026-0920 sent a reminder, failed escalation, and keeps renewal_decision_needed. If TODAY() flags never refreshed, also record today_formula_stale. If monthly triggers ran out, record automation_trigger_cap_exhausted. If the reminder relied on a cross-sheet formula, record cross_sheet_trigger_gap. It does not auto-renew.

Those numbers are fixture math, not a customer result.

On the as-of date 8 September 2026, the clean Cedar & Quay MSA uses expiry 30 September 2027 and a 60-day window. That produces notice date 1 August 2027, 327 days to notice, and 387 days to expiry. Case 2 uses a nearer expiry so the same family can show a window that is already open.

Reports and dashboards

Create these reports:

  • Report: Active
  • Report: Notice window
  • Report: Decision needed
  • Report: Exceptions
  • Report: Duplicates, grouped or filtered by duplicate_key
  • Optional Calendar on expiry_date or notice_date. Do not turn the register into a project plan

Public pricing currently lists one sheet per report and 10 widgets per dashboard on Pro. Business and above have unlimited sheets per report, unlimited widgets, and report grouping and summary. Recheck on publish day. Exact widget labels stay needs_live_proof.

Filters and reports are not access control. People with edit can still change rows they can open. Status labels constrain the Dropdown. They do not hard-enforce allowed next statuses. Unauthorized changes stay a process and DecisionRecord exception.

What can run automatically, and what cannot

Situation Automatic action Person required
Complete row with durable pointer and owner Status may stay active Owner assignment
When a date is reached on notice_date Alert owner; stamp reminder_sent_at Owner reviews the file
Notice passed with no decision Flag renewal_decision_needed Explicit renew, amend, or terminate
File pointer, native id, or version key blank Exception missing_or_stale_file_pointer Restore the pointer before any renewal close
Second row, same counterparty and contract id Status duplicate Admin links the canonical row
Actor not on the matrix sets renewed Exception unauthorized_status_change Register admin reviews
Reminder sent, no ack, escalation unreachable Exception reminder_escalation_failed Repair the path. Do not auto-renew
TODAY() flags stay stale Exception today_formula_stale Daily Record a date helper or manual process
Monthly triggers exhausted Exception automation_trigger_cap_exhausted Manual process; no auto-renew
Cross-sheet formula used as the trigger Exception cross_sheet_trigger_gap Move dates to native Date columns
Guest or Contributor overshare Exception guest_overshare_or_contributor_mismatch Review sharing
Proofing used as the register Exception proofing_confused_with_register Separate content review from the register
Invoice money fields added to the register Exception invoice_schema_bleed Remove those fields. Use a separate invoice sheet
Workflow sets renewed Out of scope Remove that action
Payment, bank-detail change, or final accounting post Never Entirely outside

Human gates

A person keeps these decisions:

  • Named Contact List owner before a row goes active
  • Explicit renew, amend, or terminate
  • Counsel review when the client's policy requires it
  • Duplicate versus canonical row
  • Missing or stale URL, native id, or version key
  • Unauthorized status change
  • Failed reminder or escalation
  • Whether date-reached recipes, a daily Record a date helper, or manual reminders can actually run
  • Who may edit the sheet, and whether Guests or Contributors belong on it
  • Whether Proofing or Approval requests are being confused with the register

A reminder can nudge. It cannot renew. It cannot terminate. It cannot prove that contractual notice was validly delivered.

Failure paths

Failure Expected status Renewal decision
Missing or stale file pointer exception_hold + missing_or_stale_file_pointer Blocked
Duplicate counterparty and contract id duplicate No second track
Unauthorized status change to renewed exception_hold + unauthorized_status_change Revert or hold
Expired without a decision expired + expired_without_renewal_decision Escalation required
Reminder or escalation failed renewal_decision_needed + reminder_escalation_failed Still required; no auto-renew
TODAY() flags stay stale Keep the decision open + today_formula_stale Daily helper or manual process; no auto-renew
Trigger cap exhausted Keep the decision open + automation_trigger_cap_exhausted Manual process; no auto-renew
Cross-sheet trigger gap Process exception + cross_sheet_trigger_gap Native Date columns; no auto-renew
Guest or Contributor overshare Process exception + guest_overshare_or_contributor_mismatch Still required
Proofing confusion Process exception + proofing_confused_with_register Still required
Permissions or Regions treated as certification Process exception still required Still required
Workflow sets renewed Out of scope Remove that action

Test cases

The seven Cedar & Quay cases are operational fixtures. They are not customer stories and they do not measure accuracy.

Case Input After the control
Clean active URL and native id present active, no exception
Approaching notice Same family, nearer expiry notice_window_open
Missing pointer Blank URL and ids Decision blocked
Duplicate Second Northshore + same contract id duplicate; canonical continues
Unauthorized change Teammate marks renewed Exception, revert or hold
Expired, no decision Expiry 15 August 2026 expired plus escalation
Failed handoff Reminder sent, Riley unreachable, stale TODAY, exhausted triggers, or a cross-sheet trigger Decision still open

The Smartsheet Contract Register Template walks each case.

What to measure

Record rows with a URL plus native id and version key, active rows with an owner, notice-window rows with a scheduled reminder, blocked unauthorized status changes, suppressed duplicates, hours from reminder to ack, leftover monthly automated triggers, and whether the workspace uses date-reached recipes, a daily Record a date helper, or manual reminders. Put your numbers in the pack. Keep them as operational counts, not as a savings, accuracy, or ranking result.

There is no live production Smartsheet contract-tracker metric here, and no Flowgrammer customer case. Keyword Planner reports Smartsheet contract tracker as No reported data. Adjacent Smartsheet automation, document-management, and approval-workflow phrases are 10-100 Volume reported and are not this H1. Do not invent a volume.

How to use the Smartsheet template

The paired asset is an editable CSV and XLSX sheet-import pack plus reports and a notify-only automation design. It is not a Smartsheet Solution Center or Marketplace listing, not a CLM, and not legal advice. Vendor Contract Management gallery sets exist on smartsheet.com. They are separate products.

  1. Read Setup and acknowledge the legal-boundary, TODAY refresh, Pro trigger-cap, Proofing, and no-marketplace caveats.
  2. Create a Smartsheet sheet from the column recipe, or import csv/register-import.csv.
  3. Confirm the inherited field list and the closed status model. Use a Dropdown column for status.
  4. Add Primary, Contact List, Dropdown, Date, Text/Number, and optional attachment fields to match the dictionary.
  5. Walk Case01 through Case07. Confirm case 3 blocks renewal and case 7 does not auto-renew.
  6. Create the queue reports. Optional: add a dashboard. Pro currently allows 10 widgets.
  7. If you add reminders and the plan still has automated triggers left, a When a date is reached or daily Record a date recipe may be an option. Otherwise use the manual reminder process. Tenant- or plan-dependent behavior is needs_live_proof. Notify and stamp timestamps. Never change status.

Coda is researched but unpublished. Excel and Zoho are no-page decisions. Those routes stay unlinked.

Realistic limitations

  • A Smartsheet notification, reminder, update request, or Approval request is not proof that contractual notice was validly delivered.
  • auto_renew_flag_operational is an operations flag. It does not mean the clause is enforceable.
  • Smartsheet permissions, Guests, Contributors, Activity Log, cell history, and Regions are not certification.
  • TODAY() does not refresh from report or dashboard display alone.
  • Cross-sheet formulas and cell links do not trigger sheet-changing workflows.
  • Automated trigger caps, attachment size gates, Activity Log export windows, and API rate limits are mutable. Recheck Help and pricing on publish day.
  • Cite plan categories only. Do not invent seat prices.
  • There is no native unique constraint on counterparty plus contract id.
  • This package is a schema and import pack. No live Smartsheet sheet was created or verified in this pass. Do not treat the download as a Solution Center listing.
  • This guide does not rank CLM or e-sign vendors, and it is not a live Smartsheet product walkthrough.
  • A signature-complete event is not a renewal decision. Invoice money fields belong on a different sheet. Proofing belongs to content review.

Next step

Download the Smartsheet Contract Register Template and create the sheet. Keep the parent Contract Tracker open while you fill owner, dates, URL plus native id, and the seven cases.

If owners, notice windows, or the destination register are still unclear, start with an AI Success Audit. If one contract family, named owners, and one Smartsheet sheet destination are already defined, book a fit call to scope an AI Automation Systems build.

Sources

Frequently asked questions

What is a Smartsheet contract register?

It is the published contract register implemented as a Smartsheet sheet: ownership, status, durable file identity, dates, and operational notice flags so a person can record an explicit renew, amend, or terminate decision.

Is a Smartsheet contract register a CLM?

No. Contract lifecycle management products handle negotiation, clause libraries, and repository workflows. A Smartsheet register tracks operational ownership, dates, and notice flags.

Is this the same as a Smartsheet invoice tracker?

No. Invoice trackers focus on amounts, POs, and payment states. This register uses the parent contract field map and must not share invoice money schema. Planner lists `Smartsheet invoice tracker` as a separate phrase with no reported data.

Is Smartsheet Proofing the same as a contract register?

No. Proofing is a content-review feature. Contract approval lives on the published document-approval workflow. This register keeps `approval_status` as a pointer only.

Does TODAY() always show the correct days until notice?

No. Smartsheet documents that TODAY() updates on open and save and on listed sheet-mutating events. Reports and dashboards that only display the sheet do not refresh it. Quiet sheets need a daily Record a date helper.

Do cross-sheet formulas trigger reminder workflows that change the sheet?

No. Smartsheet documents that cells with cross-sheet formulas or cell links do not trigger Move Row, Copy Row, Lock Row, Unlock Row, or Approval Request. Prefer native Date columns and time-based triggers.

Does a Smartsheet notification count as contractual notice?

No. Alerts, reminders, update requests, and Approval requests are operational only. They do not prove that a contractual or statutory notice was validly delivered.

Who decides renew, amend, or terminate?

A named human owner, and the escalation owner when needed. Formulas, alerts, reminders, update requests, and Approval requests must not auto-set `renewed` or `terminated`.

Is this an e-signature solution?

No. Completing a signature is not the same as recording a renewal decision in the register. Public pricing currently lists DocuSign e-signature on Enterprise.

Is the Activity Log a legal audit trail for renewals?

No. Activity Log is Business and Enterprise, for paid users, with a 90-day export window on the Help page re-fetched 8 September 2026. Cell history is broader. Keep an explicit DecisionRecord and evidence pointer for renewal decisions.

Do you ship a live Smartsheet Solution Center listing?

No. Flowgrammer ships original downloadable sheet-import assets for this register. Do not claim a live Solution Center or Marketplace listing unless a verified URL exists. Vendor Contract Management gallery sets are separate.

Which Smartsheet plan do you need for reminders and TODAY refresh?

Column formulas and alerts exist on Pro and above. Public pricing currently lists 250 automated triggers per month on Pro and Unlimited on Business and above. Activity Log, Guests, Proofing, and API calls are Business and above. Those gates are mutable. Cite plan categories only and recheck Help on publish day.