Flowgrammer

Notion Contract Tracker

Implement the published contract register in a Notion database with owners, dates, URL pointers, and operational notice flags. Not legal advice and not a CLM.

— Craig Major

A Notion contract tracker is the published Contract Tracker register built as a Notion database. Each page names a Person-property owner, a closed Select status, a durable URL plus native id and version key, and the key dates. Views and Date reminders help a person record renew, amend, or terminate. Notion 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 Notion Contract Register Template is the property recipe, CSV import, views, and notify-only automation design. This is not a Notion invoice tracker and not a full document approval workflow. Approval status is a pointer only. If you already run the same schema in Drive, Microsoft 365, or monday.com, the published Google Sheets contract tracker, SharePoint / Microsoft Lists contract tracker, and monday.com 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 Notion database: who owns the page, which file version is authoritative, which notice window is open, and which decision is still missing.

Prerequisites:

  • One contract family for the first database. 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-property owner, not a shared inbox
  • A durable file pointer: URL plus native id and version key. Files & media is 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 formulas, Date reminders, buttons, and automations never set renewed or terminated
  • A reminder path that matches the plan. Recurring Date reminders are not available. Paid database automations can use Every {frequency} for process nudges. Free Plan users can create Slack notification automations only

Stay out of this first database: clause interpretation, auto-renewal legality, e-sign send, a full approval matrix, invoice amounts, tax, PO, payment fields, and any claim that permissions, guests, Lock database, or version history are certification.

If you still need the platform-neutral model, stay on the parent tracker. Do not copy invoice money fields from any Notion invoice database into this register. Planner lists Notion invoice tracker as a separate 10-100 intent. Notion approval workflow is a different job.

What Notion 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 Notion twin
Field dictionary Database properties, same names
Status model Select options on status
Duplicate key Formula plus a grouped view
Roles and exceptions RolesAuthority and ExceptionTaxonomy pages in the pack
Sample pages 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 live dateBetween / today()
Approval pointer approval_status only

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

Notion-native additions that are not a second schema:

  • Person properties for owner, escalation_target, and reviewed_by
  • Select properties for status, type, exception, approval pointer, and access test
  • Date properties for expiry, notice, and reminder_due_at
  • URL plus Text native id and version key
  • Optional Files & media companion
  • Formula properties for notice flags and duplicate_key
  • Table, Calendar, and Board views
  • An optional notify-only automation design. If the workspace plan supports database automations, a property-edited or Every {frequency} notify flow may be an option. Otherwise use Date Remind plus the manual reminder process. Live tenant validation is needs_tenant_proof

Properties and database surfaces

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

Pattern Use when Status lives File identity
Private team database Internal operators only The Notion page URL plus native id. Files & media companion optional
Shared with guests External reviewers must see selected pages The Notion page Same pointers. Guests are page-scoped. They cannot create automations
Locked database Schema should stay still while operators edit rows The Notion page Same pointers. Lock database and Can edit content are collaboration safeguards, not certification
Hybrid Files plus external store Operators want a PDF on the page and a durable SoR elsewhere The Notion page only Prefer the external URL. Files & media alone is a weak SoR

Notion Help documents permission levels, guests, Lock database, and Can edit content as collaboration controls. Official pages: Sharing & permissions and Intro to databases. Broadest access wins. Feature labels stay needs_tenant_proof.

Prefer Select over Status for the inherited status strings. Status groups pages into To-do, In Progress, and Complete. That grouping is not the parent transition model.

Durable identity and the Files & media companion

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

  1. file_pointer_url as a URL to the durable external store
  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 Files & media companion for a working copy on the page

Official file-upload wording is mutable and currently conflicts. Pricing says Free uploads are up to 5 MB and paid plans allow unlimited uploads with a ~5 GB max per file. Help also says paid PDFs must be under 20 MB and images under 5 MB, while the same Help FAQ says paid files can be up to 5 GB. Official pages: Notion Pricing and Images, files & media. Recheck both on publish day. Prefer the external URL for the authoritative PDF.

Proof gate: open the pointer as a named reviewer and set access_test_result. A material file replace without a new register page is missing_or_stale_file_pointer or a superseding page.

Formulas and Config as_of

Notion formulas can compute operational notice math with dateSubtract, dateBetween, dateAdd, now(), and today(). Official page: Formula syntax. Packaged samples use Config as_of_date at 8 September 2026 so the seven cases stay deterministic. Do not put live now() or today() in the packaged XLSX formulas.

notice_date may be dateSubtract(prop("expiry_date"), prop("notice_window_days"), "days") when both exist. That is operational date math. It is not legal notice.

duplicate_key may be lower(trim(if(empty(prop("counterparty_id")), prop("counterparty_name"), prop("counterparty_id")))) + "|" + lower(trim(prop("contract_id"))). Notion has no native unique constraint on counterparty plus contract id. A Unique ID property numbers Notion pages. It does not stop a second Northshore plus the same contract id. 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. Formulas never write status.

Date reminders and plan-gated automations

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 automations are unavailable Owner reviews Notice and Decision views. Record reminder_sent_at and evidence_ref Auto-renew
Date-property Remind All plans. One-time remind on a Date property Notify the owner at the chosen date or lead time Recur every week or month. Recurring Date reminders are not available
@remind in a page All plans. Not a database Date property Nudge a named person in the same block Stand in for contractual notice
Paid Every {frequency} automation Paid plans. Database automations Recurring process nudge. Notify owner or Slack Edit property to renewed or terminated. The Every {frequency} trigger does not work with Edit property
Free Slack-notify carve-out Free Plan Slack notification automations only Full database automations. Guests still cannot create automations

Notion Help documents Date-property Remind, @remind, and a FAQ that recurring reminders are not available yet and remain on the roadmap. Official page: Set reminders in Notion. Recheck that FAQ before claiming recurrence.

Database automations are available on paid plans. Free Plan users can create Slack notification automations, but no other kinds, and can use existing template automations without editing them. Guests cannot create database automations. Automations cannot trigger other automations. Button clicks can. Official page: Database automations.

Webhook, mail, and Slack actions are plan-gated. Webhooks are paid, max five per automation, POST only, send properties not page body, and do not require auth on send. Enterprise can disable them. Official page: Webhook actions. Buttons exist on all plans. Mail, webhook, and Slack button actions stay paid-gated. Show confirmation is allowed and is still not legal authority. Official page: Database buttons.

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

Guests, history, and permissions are not certification

Map pack roles operationally:

Pack role Typical Notion mapping
Register_Admin Full access. May change properties and views
Contract_Owner Can edit or Can edit content on own pages
Reviewer Can comment, or Can edit limited to notes and access-test fields
Escalation_Owner Can edit
Auditor_Read Can view
Counsel_OutOfBand No database edit. Advice stays outside Notion
External_Counterparty Guest only when policy allows. No edit
Unauthorized_Actor Any other editor. Log unauthorized_status_change

Free workspaces have a 10-guest limit. Plus, Business, and Enterprise list unlimited guests. Guests are page-scoped. Official page: Notion Pricing. Broadest access wins. Public anyone-with-link is not authenticated renewal authority. Can create is Business or Enterprise and still does not make a guest an automation author.

Version history is plan-gated: Free 7 days, Plus 30 days, Business 90 days, Enterprise unlimited. Official page: Delete & restore content. That is collaboration history. It is not a certified legal or renewal audit log. Keep DecisionRecord and Evidence.

Lock database and Can edit content can warn an editor who tries to change properties. They are not SOX or security certification. Case 5 still logs unauthorized_status_change and reverts or holds.

Worked example

Cedar & Quay Fabrication Ltd is a fictional Toronto fabricator. Create the database from the property 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 reminder 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 page 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 a teammate expected a recurring Date reminder, also record recurring_remind_unavailable. If a guest tried to create the automation, record guest_cannot_create_automation. 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

Create these views:

  • Table: Active
  • Table: Notice window
  • Table: Decision needed
  • Table: Exceptions
  • Table: Duplicates, grouped by duplicate_key
  • Calendar on expiry_date or notice_date
  • Board on status

Official page: Views, filters, and sorts. Filters and views are not access control. People with edit can still change pages they can open. Select options 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 page with durable pointer and owner Status may stay active Owner assignment
Date Remind or paid frequency nudge crosses notice_date Notify 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 page, same counterparty and contract id Status duplicate Admin links the canonical page
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
Recurring Date reminder expected Exception recurring_remind_unavailable Use one-time Date Remind or paid Every {frequency} notify
Guest tries to create an automation Exception guest_cannot_create_automation A member on a paid plan creates the notify recipe, or use the manual process
File upload rejected or companion treated as SoR Exception file_upload_limit_or_stale_companion Restore the external URL. Recheck Help and Pricing
Guest or public-link overshare Exception guest_overshare_or_public_link Review Share settings. Broadest access wins
Invoice money fields added to the register Exception invoice_schema_bleed Remove those fields. Use a separate invoice database
Automation or button 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 Person-property owner before a page goes active
  • Explicit renew, amend, or terminate
  • Counsel review when the client's policy requires it
  • Duplicate versus canonical page
  • Missing or stale URL, native id, or version key
  • Unauthorized status change
  • Failed reminder or escalation
  • Whether Date Remind, paid frequency nudges, or manual reminders can actually run
  • Who may edit the database, and whether guests belong on it

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
Recurring Date reminder expected Keep the decision open + recurring_remind_unavailable One-time Remind, paid frequency notify, or manual process; no auto-renew
Guest cannot create automations Keep the decision open + guest_cannot_create_automation Member-created notify recipe or manual process
File-upload limit or stale companion exception_hold + file_upload_limit_or_stale_companion Restore the external URL
Guest or public-link overshare Process exception + guest_overshare_or_public_link Still required
Version history treated as certification Process exception still required Still required
Automation 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, recurring-Remind gap, or guest automation attempt Decision still open

The Notion Contract Register Template walks each case.

What to measure

Record pages with a URL plus native id and version key, active pages with an owner, notice-window pages with a scheduled reminder, blocked unauthorized status changes, suppressed duplicates, hours from reminder to ack, and whether the workspace uses Date Remind, paid frequency nudges, 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 Notion contract-tracker metric here, and no Flowgrammer customer case. Keyword Planner reports Notion contract tracker as No reported data. Adjacent Notion invoice and approval phrases are 10-100 Volume reported and are not this H1. Do not invent a volume.

How to use the Notion template

The paired asset is an editable CSV and XLSX database-import pack plus views and a notify-only automation design. It is not a Notion Duplicate or Marketplace listing, not a CLM, and not legal advice.

  1. Read Setup and acknowledge the legal-boundary, recurring-Remind, plan-gated automation, file-upload, and no-Marketplace caveats.
  2. Create a Notion database from the property recipe, or import csv/register-import.csv. Official import help: Import data into Notion. Formulas and relations are rebuilt after import.
  3. Confirm the inherited field list and the closed status model.
  4. Add Person, Select, Date, URL, Text, Number, and optional Files & media or Formula properties 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 views.
  7. If you add reminders and the workspace plan supports automations, a notify-only Date or Every {frequency} flow may be an option. Otherwise use Date Remind plus the manual reminder process. Live tenant validation is needs_tenant_proof. Notify and stamp timestamps. Never change status.

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

Realistic limitations

  • A Notion reminder, Inbox notification, or Slack or mail automation 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.
  • Notion permissions, guests, Lock database, and version history are not certification.
  • Recurring Date reminders are not available. Recheck the Help FAQ before claiming they shipped.
  • Version history, database automations, and file-upload caps are plan-gated and mutable. Recheck Help and Pricing on publish day.
  • There is no native unique constraint on counterparty plus contract id.
  • This package is a schema and import pack. No live Notion database was created or verified in this pass. Do not treat the download as a Duplicate or Marketplace listing.
  • This guide does not rank CLM or e-sign vendors, and it is not a live Notion product walkthrough.
  • A signature-complete event is not a renewal decision. Invoice money fields belong on a different database.

Next step

Download the Notion Contract Register Template and create the database. 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 Notion database destination are already defined, book a fit call to scope an AI Automation Systems build.

Sources

Frequently asked questions

What is a Notion contract register?

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

Is a Notion contract register a CLM?

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

Is this the same as a Notion 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 `Notion invoice tracker` as a separate 10-100 intent.

Does Notion have recurring Date reminders?

Not at the moment. Notion Help says recurring tasks and recurring reminders are on the roadmap. Use a one-time Date Remind, or a paid `Every {frequency}` automation for a process nudge. Recheck the FAQ before claiming recurrence.

Does a Notion notification count as contractual notice?

No. Reminders and automations are operational alerts 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, reminders, buttons, and automations 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.

Is page version history a legal audit trail for renewals?

No. Version history is plan-gated collaboration history. Keep an explicit DecisionRecord and evidence pointer for renewal decisions.

Do you ship a live Notion Duplicate or Marketplace listing?

No. Flowgrammer ships original downloadable import assets for this register. Do not claim a live Duplicate or Marketplace listing unless a verified URL exists.

Which Notion plan do you need for automations and history?

Database automations need a paid plan, except the Free Slack-notification carve-out. Webhook, mail, and Slack actions are paid-gated. Guests cannot create automations. Version history is Free 7 days, Plus 30 days, Business 90 days, and Enterprise unlimited. File-upload caps are mutable. Cite plan categories only and recheck Help and Pricing on publish day.