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
listItemUniqueIdordriveItemid, 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
renewedorterminated - 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, andreviewed_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:
file_pointer_urlusing a Document ID redirect (DocIdRedir.aspx?ID=...) when the site-collection Document ID Service is activatedfile_native_idfrom GraphsharePointIds.listItemUniqueIdor thedriveItemidfile_document_idwhen Document ID is onfile_version_keyfrom the version label, eTag, or cTaglist_item_idif 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_datefor 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_atthat 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.
REG-CQ-2026-0914, Northshore Logistics MSACTR-CQ-MSA-2024-017. Owner Avery. Statusactive. Document IDHFU7UXN725KZ-1846992760-6,listItemUniqueId, and version key present. Expiry 30 September 2027. 60-day operational notice window. No exception.REG-CQ-2026-0915uses the same family with a nearer expiry. Statusnotice_window_open. Reminder scheduled to Avery. Escalation target Riley.REG-CQ-2026-0916is on exception hold because the durable pointer and native ids are blank. A renewal decision stays blocked.REG-CQ-2026-0917is a second Northshore plus the same contract id. Statusduplicate. Canonical rowREG-CQ-2026-0914continues.REG-CQ-2026-0918records an unauthorized attempt to markrenewed. Status returns to exception hold.REG-CQ-2026-0919expired on 15 August 2026 with no renew, amend, or terminate note.REG-CQ-2026-0920sent a reminder, failed escalation, and keepsrenewal_decision_needed. A sovereign-cloud tenant that expected personal Set a reminder also recordssovereign_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_codenot empty) - Missing durable file pointer
- Duplicates (group by
duplicate_key) - Expired without decision
- Optional calendar or timeline on
expiry_date,notice_date, orreminder_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.
- Read Setup and acknowledge the legal-boundary, TODAY, and sovereign-cloud caveats.
- Create a Microsoft List or hybrid list plus library from the column recipe, or import
csv/register-import.csv. - Confirm the inherited field list and the closed status model.
- Add Person, Choice, Date, and DateTime columns to match the dictionary. Recreate calculated
notice_dateandduplicate_keyif you want static math. - Walk Case01 through Case07. Confirm case 3 blocks renewal and case 7 does not auto-renew.
- Create the queue views. Optional: apply the JSON formatting files.
- 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_operationalis 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
- Flowgrammer, "Contract Tracker", Flowgrammer, accessed 2026-09-08, /insights/contract-tracker
- Flowgrammer, "Contract Register and Renewal Template", Flowgrammer, accessed 2026-09-08, /resources/contract-tracker-template
- Flowgrammer, "SharePoint Document Processing: Library as System of Record", Flowgrammer, accessed 2026-09-08, /insights/sharepoint-document-processing-automation
- Flowgrammer, "SharePoint Library Schema", Flowgrammer, accessed 2026-09-08, /resources/sharepoint-document-processing
- Flowgrammer, "Document Approval Workflow", Flowgrammer, accessed 2026-09-08, /insights/document-approval-workflow
- Flowgrammer, "Google Sheets Contract Tracker", Flowgrammer, accessed 2026-09-08, /insights/google-sheets-contract-tracker
- Flowgrammer, "Document Processing Automation: What to Automate First", Flowgrammer, accessed 2026-09-08, /insights/document-processing-automation
- Microsoft, "Create a reminder flow in Power Automate for SharePoint items", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/power-automate/create-sharepoint-reminder-flows
- Microsoft, "Introduction to SharePoint formulas and functions", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/office/introduction-to-sharepoint-formulas-and-functions-94e1b4cc-cd1c-49c2-80ec-90c9b9591f47
- Microsoft, "Calculate data in lists or libraries", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/office/calculate-data-in-lists-or-libraries-c5261743-667f-4833-bede-e516cef2a0e1
- Microsoft, "Activate and configure Document IDs in a site collection", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/office/activate-and-configure-document-ids-in-a-site-collection-66345c77-f079-4104-ac7a-e25826849306
- Microsoft, "sharePointIds resource type", Microsoft Graph, accessed 2026-09-08, https://learn.microsoft.com/en-us/graph/api/resources/sharepointids
- Microsoft, "listItem resource type", Microsoft Graph, accessed 2026-09-08, https://learn.microsoft.com/en-us/graph/api/resources/listitem
- Microsoft, "driveItem resource type", Microsoft Graph, accessed 2026-09-08, https://learn.microsoft.com/en-us/graph/api/resources/driveitem
- Microsoft, "How versioning works in lists and libraries", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/sharepoint/lists/documents-and-library/how-versioning-works-in-lists-and-libraries
- Microsoft, "Version history limits for document library and OneDrive overview", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/sharepoint/document-library-version-history-limits
- Microsoft, "Understanding permission levels in SharePoint", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/sharepoint/understanding-permission-levels
- Microsoft, "Customize permissions for a SharePoint list or library", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/sharepoint/lists/sharepoint-sharing-and-permissions/customize-permissions-for-a-sharepoint-list-or-library
- Microsoft, "Learn about retention for SharePoint and OneDrive", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/purview/retention-policies-sharepoint
- Microsoft, "Create a custom view of a document library", Microsoft Support, accessed 2026-09-08, https://support.microsoft.com/en-us/office/create-a-custom-view-of-a-document-library-8f6b08e0-a9a0-4232-9b9b-b374a2ad3da7
- Microsoft, "Limits and configuration in Power Automate", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/power-automate/limits-and-config
- Microsoft, "SharePoint connector", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/connectors/sharepointonline/
- Microsoft, "Overview of document processing model types", Microsoft Learn, accessed 2026-09-08, https://learn.microsoft.com/en-us/microsoft-365/documentprocessing/model-types-overview
- Docusign, "Contract Lifecycle Management Software | Docusign CLM", Docusign, accessed 2026-09-08, https://www.docusign.com/products/clm
- Adobe, "Acrobat Sign", Adobe, accessed 2026-09-08, https://www.adobe.com/acrobat/business/sign.html
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`.