Flowgrammer

SharePoint / Microsoft Lists Contract Tracker

Implement the published contract register in SharePoint or Microsoft Lists with owners, dates, Document IDs, and operational notice flags. Not legal advice and not a CLM.

— Craig Major

A SharePoint or Microsoft Lists contract tracker is the published Contract Tracker register built as a list or a hybrid list plus library. Each item names an owner, a closed status, a Document ID or Graph id, and the key dates. Views and reminder columns help a person record renew, amend, or terminate. Lists does not give legal advice, replace a CLM, or treat a reminder as legal notice.

The shared field list lives in the published Contract Register and Renewal Template. The paired SharePoint Lists Contract Register Template is the column recipe, CSV import, views, and reminder design. This is not the SharePoint document-processing guide. That page owns library information architecture, intake metadata, content approval, and document-processing models. If you still need named authority before a downstream write, stay on the document approval workflow.

Who this is for

Use this when signed files already live in SharePoint or OneDrive and the immediate job is one visible register in Microsoft Lists or a SharePoint library: who owns the item, which file version is authoritative, which notice window is open, and which decision is still missing.

Prerequisites:

  • One contract family for the first register. 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 Person-column owner, not a shared mailbox
  • A durable file pointer: Document ID, Graph listItemUniqueId or driveItem id, plus a version or eTag when available
  • A written rule for what happens when a reminder gets no reply
  • Agreement that calculated columns and Power Automate never set renewed or terminated
  • A reminder path that works in your cloud. Personal Set a reminder is unavailable in GCC, GCC High, DOD, or other sovereign clouds

Stay out of this first list: clause interpretation, auto-renewal legality, e-sign send, a full approval matrix, invoice amounts, tax, PO, payment fields, Syntex or AI Builder model training as the register job, and any claim that permissions, version history, or retention labels are certification.

If you still need the platform-neutral model, stay on the parent tracker. If the team already runs the same schema in Drive, the published Google Sheets contract tracker is the Sheets twin. Do not copy invoice money fields from any SharePoint invoice list into this register.

What Lists 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 Lists or SharePoint twin
Field dictionary List or library columns, same names
Status model Choice column on status
Duplicate key Calculated text or a maintained text column
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 from expiry minus window; day counts from Config as_of or a scheduled flow
Approval pointer approval_status only

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

SharePoint-native additions that are not a second schema:

  • Person columns for owner, escalation_target, and reviewed_by
  • Choice columns for status, type, exception, approval pointer, and access test
  • Date and DateTime columns for expiry, notice, and reminder_due_at
  • Document ID, Graph ids, and version or eTag fields
  • Filtered views for notice, missing pointer, duplicates, and exceptions
  • Optional JSON column or view formatting
  • An optional reminder-only Power Automate design. A scheduled flow may be an option if the tenant supports Power Automate and the SharePoint connector; otherwise use the manual process

List, library, or hybrid

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

Pattern Use when Status lives File identity
Microsoft List only Metadata is the job and PDFs live elsewhere or as weak attachments The list item URL plus native id. Attachments are a weak file SoR
Library only Each contract is a file with metadata columns The library item Prefer Document ID plus driveItem id and version
Hybrid list plus Contracts library Operators want a register view and a file library The list item only List row points at the library Document ID or driveItem id

Hybrid is the usual first build when operators already have a Contracts library. The list owns status. The library owns the binary. If both change status, you will invent a second truth.

This choice is not the SharePoint document-processing job. That published page and the SharePoint Library Schema workbook cover content types for intake, extraction models, and classic content approval. Do not reuse those invoice or intake columns here.

Durable identity and versioning

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

  1. file_pointer_url using a Document ID redirect (DocIdRedir.aspx?ID=...) when the site-collection Document ID Service is activated
  2. file_native_id from Graph sharePointIds.listItemUniqueId or the driveItem id
  3. file_document_id when Document ID is on
  4. file_version_key from the version label, eTag, or cTag
  5. list_item_id if a scheduled flow filters by integer id

Microsoft documents that Document ID tracks items regardless of location once the feature is activated, and that Graph sharePointIds exposes listId, listItemId, listItemUniqueId, siteId, and related identifiers. Official pages: Activate and configure Document IDs and sharePointIds resource type. Feature activation and the assignment job need tenant proof. Label that needs_tenant_proof.

Microsoft documents that new Microsoft 365 lists and libraries turn versioning on by default and automatically save about the last 500 versions. Libraries can use major and minor versions. Lists use major versions only. Official page: How versioning works in lists and libraries. Version limits can change. Retention or eDiscovery can ignore version limits until items are released. Version history is collaboration history. It is not a certified legal or renewal audit log. Keep named decisions on the DecisionRecord surface.

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.

Calculated columns cannot use TODAY or ME

Microsoft documents that calculated-column formulas can use IF, date arithmetic such as [Start Date]+30, and text concat. TODAY and ME are not supported in calculated columns. They are supported only as default-value settings. RAND and NOW are unsupported. Calculated values refresh when the item is created or updated, not merely because the calendar day changed. Official pages: Introduction to SharePoint formulas and functions and Calculate data in lists or libraries.

Do not ship =[Notice Date]-TODAY() as a live days-to-notice column. Use one of these:

  • Config as_of_date for packaged samples. This pack uses 8 September 2026
  • A scheduled cloud flow that writes days_to_notice, days_to_expiry, and the Yes/No flags
  • A DateTime column such as reminder_due_at that a reminder process can watch

notice_date may be a calculated date: =[Expiry Date]-[Notice Window Days] when both exist. That is static date math. It is not legal notice.

duplicate_key may be calculated text: =LOWER([Counterparty Id])&"|"&LOWER([Contract Id]), with a fallback to counterparty name when the id is blank. Lists has no native unique constraint. A grouped view plus a human duplicate status is the control.

These formulas are planning aids. They are not statutory interpretation or an auto-renewal rule.

Reminders and sovereign clouds

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 Power Automate is unavailable Owner reviews Notice and Decision views. Record reminder_sent_at and evidence_ref Auto-renew
Personal Set a reminder Commercial-cloud tenants only Email the person N days before a DateTime column Run in GCC, GCC High, DOD, or other sovereign clouds
Scheduled cloud flow If the tenant supports the required Power Automate service and SharePoint connector; needs_tenant_proof Notify owner or Teams. Write reminder_sent_at or escalation_at Change status to renewed or terminated. Do not treat this as proven in every sovereign tenant

Microsoft Learn states that personal reminder flows based on DateTime columns via Automate, Set a reminder are not available for GCC, GCC High, DOD, or other sovereign clouds. Official page: Create a reminder flow in Power Automate for SharePoint items. Recheck that page on publish day.

If the tenant is sovereign, set sovereign_cloud_reminder_unavailable when someone expected the personal menu and it is missing. Microsoft evidence does not prove a scheduled cloud flow is available in every sovereign tenant. If the tenant supports the required Power Automate service and SharePoint connector, a separately designed scheduled flow may be an option. Otherwise use the manual reminder process. Live tenant validation is needs_tenant_proof. Do not claim personal reminders work there.

The pack includes an original scheduled-flow design, not a tenant export and not a Microsoft sample copy. It is notify-only. License and connector limits apply. Official pages: Limits and configuration in Power Automate and SharePoint connector. Cite plan categories only. Do not invent CAD seat prices. Live import and sovereign-tenant availability stay needs_tenant_proof.

Permissions are not certification

Microsoft documents default permission levels including Full Control, Design, Edit, Contribute, Read, and Approve. Prefer Microsoft 365 group permissions. Breaking inheritance is supported and has scale limits. Official pages: Understanding permission levels in SharePoint and Customize permissions for a SharePoint list or library.

Map pack roles operationally:

Pack role Typical SharePoint mapping
Register_Admin Owners or a dedicated Members group with Edit
Contract_Owner Members with Edit on own items, or a filtered Members view
Reviewer Contribute or Edit limited to notes and access-test fields
Escalation_Owner Members
Auditor_Read Visitors / Read
Counsel_OutOfBand No register edit. Advice stays outside the list
External_Counterparty No edit. File sharing is an access question
Unauthorized_Actor Any other editor. Log unauthorized_status_change

Permissions are collaboration controls. They are not a security certification. Views are not access control. Classic Require content approval / ModerationStatus is a visibility control. It is not a renew, amend, or terminate decision.

Retention is a question list, not a certificate. Microsoft documents that retention policies retain or delete files in libraries, that list items are not supported by retention policies the same way, and that list items can be supported by retention labels with nuances. Official page: Learn about retention for SharePoint and OneDrive. Recheck on publish day. Do not claim the register is records-management certified.

Worked example

Cedar & Quay Fabrication Ltd is a fictional Toronto fabricator. Create the list 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. Document ID HFU7UXN725KZ-1846992760-6, listItemUniqueId, 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. Reminder scheduled to Avery. Escalation target Riley.
  3. REG-CQ-2026-0916 is on exception hold because the durable pointer 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. A sovereign-cloud tenant that expected personal Set a reminder also records sovereign_cloud_reminder_unavailable. 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.

Views and JSON formatting

Create these views. Official custom-view steps: Create a custom view of a document library. The same show, hide, sort, filter, and group pattern applies to lists.

  • Notice window open
  • Renewal decision needed
  • Exceptions (exception_code not empty)
  • Missing durable file pointer
  • Duplicates (group by duplicate_key)
  • Expired without decision
  • Optional calendar or timeline on expiry_date, notice_date, or reminder_due_at

Filters and views are not access control. People with Edit can still change items they can open.

The pack includes original JSON column formatting for status badges and notice flags. Formatting is visual only. It does not enforce the transition graph. Choice columns 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
As-of or scheduled evaluation crosses notice_date Flag notice_window_open; schedule a reminder Owner reviews the file
Notice passed with no decision Flag renewal_decision_needed Explicit renew, amend, or terminate
File pointer, Document 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
Personal Set a reminder missing in a sovereign cloud Exception sovereign_cloud_reminder_unavailable If Power Automate and the SharePoint connector are supported, a scheduled flow may be an option; otherwise use the manual process
Scheduled cloud flow May notify and write reminder timestamps Must never change status or auto-renew
Payment, bank-detail change, or final accounting post Never Entirely outside

Human gates

A person keeps these decisions:

  • Named Person-column 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 Document ID, Graph id, or file pointer
  • Unauthorized status change
  • Failed reminder or escalation
  • Which reminder pattern the tenant can actually run
  • Who may edit the list

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 or Document ID 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
Personal reminder unavailable in a sovereign cloud Keep the decision open + sovereign_cloud_reminder_unavailable Use the manual process unless a supported scheduled flow is proven; no auto-renew
Permissions or retention treated as certification Process exception still required Still required
Power Automate 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 Document ID 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, or sovereign reminder missing Decision still open

The SharePoint Lists Contract Register Template walks each case.

What to measure

Record rows with a Document ID or Graph id plus 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, and whether the tenant uses personal, scheduled, 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 SharePoint contract-tracker metric here, and no Flowgrammer customer case. Keyword Planner did not supply volume for Microsoft Lists contract tracker or SharePoint contract register. The closest Planner phrase, Microsoft SharePoint contract workflow, is No reported data. Do not invent a volume.

How to use the Lists template

The paired asset is an editable CSV and XLSX column-schema pack plus views, JSON formatting, and a reminder-only flow design. It is not a Microsoft template gallery listing, not a CLM, and not legal advice.

  1. Read Setup and acknowledge the legal-boundary, TODAY, and sovereign-cloud caveats.
  2. Create a Microsoft List or hybrid list plus library from the column recipe, or import csv/register-import.csv.
  3. Confirm the inherited field list and the closed status model.
  4. Add Person, Choice, Date, and DateTime columns to match the dictionary. Recreate calculated notice_date and duplicate_key if you want static math.
  5. Walk Case01 through Case07. Confirm case 3 blocks renewal and case 7 does not auto-renew.
  6. Create the queue views. Optional: apply the JSON formatting files.
  7. If you add reminders, pick personal Set a reminder only in a commercial cloud. If the tenant supports the required Power Automate service and SharePoint connector, a separately designed scheduled flow may be an option. Otherwise use the manual reminder process. Live tenant validation is needs_tenant_proof. Notify and stamp timestamps. Never change status.

Future Notion and Airtable contract-tracker children can reuse this dictionary later. Those pages are not published, so they stay unlinked.

Realistic limitations

  • A reminder email or flow 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.
  • SharePoint permissions, version history, and retention labels are not certification.
  • Calculated columns cannot use TODAY or ME for a live day count.
  • Personal Set a reminder is unavailable in GCC, GCC High, DOD, or other sovereign clouds.
  • This package is a schema and import pack. No live Microsoft List was created or verified in this pass. Do not treat the download as a template gallery listing.
  • This guide does not rank CLM or e-sign vendors, and it is not a live Microsoft product walkthrough.
  • Classic content approval is not a renewal decision. M365 document-processing contract models are an optional later handoff owned by the SharePoint document-processing page.

Next step

Download the SharePoint Lists Contract Register Template and create the list. Keep the parent Contract Tracker open while you fill owner, dates, Document ID or Graph 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 Lists or SharePoint register destination are already defined, book a fit call to scope an AI Automation Systems build.

Sources

Frequently asked questions

What is a SharePoint or Microsoft Lists contract register?

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

Is this the same as SharePoint document processing?

No. SharePoint document processing owns library information architecture, intake metadata, content approval, and document-processing models. This page owns the contract register and renewal-tracker job.

Is this legal advice?

No. The register does not interpret clauses, decide enforceability, or replace qualified counsel.

Do notice-window formulas prove legal notice?

No. They are planning aids. Reminder delivery is not proof of valid contractual notice.

Do Set a reminder flows work in GCC or other sovereign clouds?

No. Microsoft Learn states the personal SharePoint and Lists Set a reminder feature is not available for GCC, GCC High, DOD, or other sovereign clouds. That page does not prove a scheduled cloud flow is available in every sovereign tenant. If the tenant supports the required Power Automate service and SharePoint connector, a separately designed scheduled flow may be an option. Otherwise use the manual reminder process. Live tenant validation is `needs_tenant_proof`.

Can calculated columns show live days until notice with TODAY()?

Not reliably. Microsoft documents that TODAY and ME are not supported in calculated columns. Prefer Config as-of samples, Power Automate evaluation, or reminder DateTime columns.

Do retention labels make the register compliant?

No. Retention labels and policies are tools with documented limits. They are not a records-management or compliance certification.

Does this replace a CLM or e-sign product?

No. A Lists register tracks the row. CLM and e-sign products do different jobs. Signature-complete is not a renewal decision.

Is SharePoint content approval the same as a renewal decision?

No. Content approval controls draft visibility. Renewal, amendment, and termination are explicit register decisions with a decision note.

Who decides renew, amend, or terminate?

A named human owner, and the escalation owner when needed. Formulas and Power Automate must not auto-set `renewed` or `terminated`.