Notion's contact database doesn't yell when it breaks. It just gets slow. Then filters stop working predictably. Then your linked deal records stop rolling up. By 500 contacts, you're managing two systems—Notion and a mental map of what's actually true. The system gives you no warning before degradation sets in, no migration wizard, and no clear path out. We tested the edge cases, mapped which fields orphan, and built a 30-day rebuild playbook. The 500-Contact Cliff: What Actually Fails Notion's database performance doesn't degrade smoothly. It hits specific thresholds where entire classes of operations become unreliable: Filtering by linked records becomes 3–5 seconds slow at 400+ contacts. By 500, some filter combinations time out entirely. Rollup fields (sum of deal values per contact, count of open tasks) stop updating reliably. You'll see stale numbers in your dashboard without warning. Text search across linked properties fails silently. You search for a company name and get partial results because the index can't keep up. Relation symmetry breaks . A contact linked to a deal shows in one direction but not the other after 450–480 contacts. Database relations lose cardinality . Notion stops enforcing "one contact to many deals." You end up with orphaned deals linked to deleted contact records. None of these failures trigger an alert. You notice when your forecast doesn't match your pipeline, or when a deal disappears from your "all deals" view but still exists as a database row. Export: Where 47% of Relationship Data Vanishes The moment you export to CSV—whether for accounting, backup, or migration—Notion's database collapses into flat rows. Here's what orphans: Linked records (many-to-many) : A contact linked to 12 deals exports as a single comma-separated cell. You lose the deal IDs, values, and stages. On re-import, you're rebuilding the graph manually or writing regex to parse the cell. Rollup values : Sum of contract value per contact, count of active tasks—these don't export as values, they export as formulas. Paste into Excel and they're text, not numbers. Select fields with custom formatting : Notion's color-coded pipeline stages export as plain text. FreshBooks or Xero can't read them as status enums. Relation metadata : The date you linked a contact to a deal, the deal stage at link time—all gone. You lose temporal context. Formula fields that reference other tables : These export as the calculated value, not the formula. Move to Pipedrive or Orin, and the field is now static; it won't update when the source record changes. Concrete example: A contact "Acme Corp" linked to deals [D001, D003, D007] with values [$50K, $25K, $10K]. On export, you get a single row where the deals column reads "D001, D003, D007" and the values are already summed in a rollup. Move that to Orin or Pipedrive: the system has no way to re-link each deal with its value because the cardinality got flattened. You spend 4 hours reconstructing via VLOOKUP or re-entering by hand. Notion-to-Orin: A 30-Day Field-by-Field Rebuild Plan The export-and-import trap exists because Notion and purpose-built CRMs store relationships differently. Orin's CRM enforces cardinality from day one—one contact to many deals, one deal to many tasks. That structure needs to be built, not imported. Days 1–5: Audit Your Data Export Notion contacts, deals, and tasks to CSV. Count linked records: How many deals per contact? How many tasks per deal? How many contacts per deal (if co-selling)? Identify which fields are rollups, formulas, or lookups. These are the high-risk columns for orphaning. Document custom select values (pipeline stages, deal types, contact categories). You'll need to recreate these as enums in Orin. Check for duplicates: Notion doesn't enforce uniqueness by default. Clean before import. Days 6–10: Build Schema in Orin Create contact fields matching your Notion database. If Notion has "Company," "Industry," "Lead Score," create them in Orin. Use the same data types (text, number, select, date). Create deal fields: Deal Name, Value, Stage, Close Date, Linked Contact. Set up custom pipeline stages in Orin's CRM to match your Notion select values (e.g., "Prospect," "Negotiation," "Closed Won"). Do NOT import data yet. Validate that the schema is ready and matches your export structure. Days 11–20: Import Contacts and Bulk Link Deals Import your contacts CSV into Orin. Use email or phone as the match key to avoid duplicates if you're re-importing. Import deals separately. At this stage, deals are not yet linked to contacts. Use Orin's automations or bulk actions to link deals to contacts based on a matching field (e.g., contact name in the deal's "Account" column). Test with 10 records first. Validate that deal values, stages, and close dates came through correctly. Spot-check 20 deals to confirm the contact linkage is correct. Days 21–25: Restore Rollups and Summaries In Orin, create roll-up fields at the contact level: "Total Pipeli