Ingest & Extract

Contracts

Where external systems become canonical records.

Every contract starts somewhere else — a CRM, a shared drive, a forwarded PDF. Contracts is where HarborOS ingests, extracts, reconciles, and promotes those records into the canonical system. One gate in. One record out. Every field traceable to the clause it came from.

The Problem

Your contracts live in four systems. None of them agree.

A renewal closes in Salesforce. An amendment arrives in email. A PO uploads to a shared drive. The signed PDF lives in someone's inbox. Four sources, four versions of the same contract — and a VP of Finance reconciling them in a spreadsheet before the numbers mean anything.

The problem isn't volume or data entry. The problem is that no system owns the contract as a structured, extractable, lifecycle-aware record. CRMs track deals. ERPs track invoices. Neither one models the contract itself — the terms, the clauses, the renewal chain, the escalators, the commitments that every downstream number depends on.

Until the contract has its own system.
Ingestion

Connect once. Ingest continuously.

Contracts connects to Salesforce, HubSpot, Attio, Pipedrive, Google Drive, and OneDrive. It reads opportunities, deals, and documents on a configurable cadence — no CSV uploads, no manual imports, no copy-paste.

When a deal closes or a document lands, the system sees it. Every connector reports its own health; when something stops syncing you find out here, not three weeks later when the numbers stop matching.

Contracts · sources
Connected sources6 healthy · next sync 12 min
SF
Salesforce
Last sync 4 min ago
Connected
HS
HubSpot
Last sync 6 min ago
Connected
AT
Attio
Last sync 3 min ago
Connected
PD
Pipedrive
Last sync 9 min ago
Connected
GD
Google Drive
Last sync 2 min ago
Connected
OD
OneDrive
Last sync 7 min ago
Connected
+ Add source
6 connectors healthynext sync · 12 min
The Contract Record

One record. Every field traced to a clause.

The contract record in HarborOS isn't a row in a spreadsheet or a field on a CRM opportunity. It's a structured, lifecycle-aware object — ARR, term dates, renewal chain, escalators, auto-renew terms, billing schedule, and every field citing the clause it was extracted from.

This is the atom. Everything downstream — renewals, pipeline, forecasts, snapshots, board reporting — derives from this record.

Contracts · record
C·2026·0411·BELK·63·Term 01 · BELK chain·Active
Belknap & Hart
May 11, 2026 — May 11, 2028 · 24-month term
1%
Day 4 / 731
ARR$270,000§4.2
Term datesMay 11 '26 — May 11 '28§2.1
Auto-renewYes · 90-day notice§7.1
Escalator4% annual§4.5
BillingAnnual · Net 30§4.3
Confidence93%Manual · 1 PDF
11 fields extracted · 0 conflictsMSA 2026.pdf · p. 1–4
Extraction & Reconciliation

Parse, match, flag, resolve.

Incoming records are parsed and matched against existing contracts. When a renewal in HubSpot matches an active contract, the system links them automatically. When fields conflict — different close dates, mismatched amounts, overlapping terms — the system flags the conflict and stages it for operator review.

Nothing enters the record silently. Promotion is an explicit act — reviewed, confirmed, traceable.

Contracts · reconcile
Belknap & Hart
Expansion · received May 14 · HubSpot Deal #8840
Conflict · 2 fields
HS HubSpot record
Amount$42,000
Close2026-08-15
Term12 months
SourceDeal #8840
CR Contract record
Amount$38,000
Close2026-09-01
Term12 months
SourceC·2026·0411·BELK·63
Promoted by J. Arkin · May 12, 2026Source · HubSpot Deal #8840

If you can't trust the record, you can't trust anything downstream. The contract is the atom — every number in the system traces back to it.

39.9526° N · 75.1652° W — Contract Operations

One gate in. One record out. Zero reconciliation.