Portfolio migration readiness

Stop re‑fixing the same migration data.

TidyData processes the mess. You review the exceptions.

For property migration and implementation consultants. TidyData prepares messy legacy property-management exports for migration, surfaces only the cases that need human judgment, and turns approved, repeatable decisions into rules for future batches.

TidyData · Review exceptions122 of 138 · Open
TidyData exception review: a queue of 138 exceptions on the left; on the right, Review Property name at source row 1180, with source unit_directory.csv row 1180, why it was flagged, three matching issues, and Confirm value, Decide later and Edit actions.
Source file + row Why it was flagged A person decides
Released v0.8 application · internal synthetic 1,500-unit benchmark portfolio
1,500*units tested · 30 properties
−35.6%*required review actions on Batch 2
18*reusable rules promoted
Local-firststructured workflow on Windows

Internal synthetic benchmark — not customer results.

What TidyData handles

The property-management data your migration depends on.

Seven entity types are in scope today, reconciled against each other in one supervised workflow.

  • Properties
  • Units
  • Residents
  • Leases
  • Lease–resident relationships
  • Recurring charges
  • Balance snapshots
.csv.xlsx legacy exports one supervised migration-preparation workflow

The problem

Migrations rarely stall on the new system. They stall on the old data.

01

Exports don't agree

Different files carry conflicting relationships, names, balances or identifiers for the same record.

02

The same corrections return every month

Test loads, deltas and follow-up exports bring back source-data problems the team already solved.

03

Decisions disappear into spreadsheets

Review knowledge lives in workbook tabs and people's memory, so it's hard to preserve or reuse.

04

Manual review doesn't scale

Experts spend hours inspecting rows that never needed their judgment.

How it works

Process. Review. Reuse.

The machine does the reconciling. People make the judgment calls. Every approved decision can make the next batch lighter.

01Process

Reconcile six legacy exports in one pass.

TidyData reconciles and analyzes the files against each other and against a published migration recipe, then reports readiness with control checks.

  • Duplicates stay visible and are excluded automatically
  • Each batch runs on a pinned recipe version
  • Control checks compare source and exported sums
Step 1 · Add files6 files
Add files screen with six selected legacy files, a pinned recipe version, and a note that processing starts on this computer and original files are not modified.
Step 2 · ReadinessVersion 1
Readiness screen showing the recipe run, blocking items and control checks for recurring charges, lease rent and tenant balance.
Add files → readiness summary with control checks
02Review

Only the judgment calls reach a person.

Exceptions arrive with their source evidence and provenance. The reviewer confirms, edits, excludes or defers, and every decision is recorded.

  • Source file, row and the reason it was flagged
  • Matching issues resolved with one decision
  • Decisions are reversible, with Undo
  • Interrupted sessions can be resumed
Step 2 · Review exceptionsDecision saved
Review screen after a decision: Decision saved, Save value, with Undo, Save as reusable rule, and a choice to apply the rule to this source only or all compatible source profiles.
A saved decision, with Undo and the option to make it reusable
03Reuse

Approved fixes become versioned migration rules.

When a correction is a repeatable pattern, the reviewer promotes it into the recipe. Later batches apply it automatically, and the rest still waits for a person.

  • Scope chosen per rule: one source or all compatible sources
  • Rules go to a recipe draft until a new version is published
  • Past runs stay pinned and are never rewritten
  • Each rule can be reordered or disabled
Recipes · Reusable rules18 rules
Reusable rules list: replace Sorrelheights Apts with Sorrel Heights Apartments, lease status Active with Current, unit label B 13 with B-13, Cedar Ridge Lfts with Cedar Ridge Lofts, each with a Disable control.
Rules promoted from Batch 1 of the synthetic benchmark

One exception, start to finish

From “Sorrelheights Apts” to a rule the next batch can reuse.

A real exception from the benchmark portfolio, followed through every step the product shows.

  1. 01
    The source value

    The same property arrives in an inconsistent form.

    Fileunit_directory.csvRow1180FieldProperty name
    Sorrelheights Apts
  2. 02
    TidyData flags the exception

    Value is not in the recipe's allowed values (blocking). Three matching issues are grouped with it.

  3. 03
    The reviewer sees the evidence

    Source file, row and the reason for the flag, with View in file to open the original record.

  4. 04
    The reviewer approves a correction

    The decision is saved, recorded and can be undone.

    Sorrel Heights Apartments
  5. 05
    It becomes a reusable rule

    When “Property name” equals “Sorrelheights Apts”, replace it with “Sorrel Heights Apartments”.

  6. 06
    Later batches reuse it automatically

    Once the recipe version is published, the next export applies the rule without another review.

Save as reusable ruleRecipe draft
Save as reusable rule dialog: When Property name equals Sorrelheights Apts, replace it with Sorrel Heights Apartments, with notes on scope, recipe versions and the draft.
The rule dialog spells out scope and versioning before anything is saved

Product demo · 1:21

See a full migration-preparation cycle in 81 seconds.

Real TidyData product footage using the internal synthetic 1,500-unit benchmark. Captioned, no sound needed.

  1. 0:00Legacy exports
  2. 0:06Processing
  3. 0:12Exceptions
  4. 0:17Evidence
  5. 0:24Decision
  6. 0:31Reusable rule
  7. 0:48Next batch
  8. 1:07Final export

Benchmark · Batch 1 vs Batch 2

Approved decisions from Batch 1 reduced repetitive review on Batch 2.

Internal synthetic 1,500-unit benchmark — not customer results.

11876
Required review actions, Batch 1 → Batch 2
−35.6%
required review actions on the follow-up batch
−37.0%
review-queue size (138 → 87 items)
18
reusable rules promoted
50/50
rule-applied values correctly reached the final export
30properties · 1,500 units
16,933rows across two batches of 6 files
~21 sprocessing to review, per batch, on the benchmark machine
0external network calls · $0 AI/API cost · 0 hard-case false fixes

What it shows: the 18 rules reviewers approved on Batch 1 were applied 50 times on Batch 2, so fewer repeat issues reached the queue. Human review time was not measured, so we don't present this as time saved.

Stress-tested at 5,000 units / 100 properties. The fully accepted end-to-end UI/recovery/export benchmark currently remains 1,500 units.

Security & human control

Built for supervised migration work.

Your client's data, your reviewers' judgment, and a record you can defend at handover.

Local-first processing

The canonical v0.8 structured migration benchmark ran locally with zero external network calls and zero AI/API cost. Original source files are not modified. If an engagement requires external AI-assisted processing, that will be disclosed before production data is processed.

Evidence before decisions

Every exception is connected to its source file, row and provenance, so reviewers decide with the original record in view.

Human-controlled

Uncertain issues can stay unresolved or deferred instead of being silently guessed. Automatic changes only come from approved rules.

Auditable

Decisions, recipe versions and finalized outputs stay traceable. The export carries the decision log, reconciliation and a manifest.

ProvenanceEasier client sign-off
Reusable recipesLess repeated work
Exception reviewExperts focus on judgments
Session recoveryResilient review sessions
Audit recordsDefensible client handover

The commercial offer

Portfolio Migration Readiness Pilot

A scoped, paid engagement on one real legacy portfolio. You see what your data needs before migration, and what the second batch looks like with approved rules.

1You provide

Representative CSV/XLSX legacy exports for one portfolio.

2TidyData does

Processes the files, reconciles relationships, surfaces exceptions, records decisions and builds reusable rules.

3You receive

  • Finalized structured export
  • Review and decision log
  • Reconciliation and readiness summary
  • Reusable migration recipe, where applicable

4Your team controls

Human reviewers make the migration judgments and sign off the final outputs.

  • Fixed fee based on portfolio scope
  • NDA welcome
  • A representative sample can be scoped before full client data is shared
Request the pilot outline

Scope, inputs, deliverables and fee structure, sent to you directly from hello@tidydatastudio.com.

Request the pilot outline

Built by TidyData Studio · Youssef, Founder · hello@tidydatastudio.com

TidyData is currently working with a small commercial-pilot model while the migration workflow is validated with real practitioners.

Scope, stated plainly

What TidyData is not.

Knowing the boundaries is part of trusting the product.

Not autonomous migration

TidyData prepares and reviews migration data. Human reviewers remain in control of migration judgments.

No native destination-system integration yet

Yardi, AppFolio and Buildium are examples of potential destinations, not current native integrations.

Not full accounting migration

Current pilot scope does not claim complete GL, payment-history, owner-accounting or ledger migration.

Not a cutover tool

TidyData prepares and validates data; it does not currently perform the complete destination-system implementation.

FAQ

Questions consultants ask first.

How is data handled?

The canonical v0.8 structured migration benchmark ran locally with zero external network calls and zero AI/API cost. Original source files are not modified. If an engagement requires external AI-assisted processing, that will be disclosed before production data is processed. NDA welcome.

What kind of files does it work with?

Structured legacy exports in CSV and Excel (XLSX) format, covering properties, units, residents, leases, lease–resident relationships, recurring charges and balance snapshots.

Can the output go into Yardi, AppFolio or Buildium?

They're possible destinations, but TidyData has no native integrations with them. It produces a finalized structured export and decision record for the next migration step.

Do rules change work that's already complete?

No. A run stays pinned to the recipe version it started with. New rules go into a recipe draft and only apply to later runs once a new version is published.

Why does the demo show 87 review items but 76 review actions?

Review items and review actions measure different things. Review items are entries surfaced in the review queue, while review actions count the decisions or deferrals a reviewer actually had to make. In Batch 2, the benchmark contained 87 review items and required 76 review actions.

Are the benchmark numbers from customers?

No. They come from an internal, fully synthetic benchmark portfolio of 1,500 units across 30 properties. TidyData does not yet have customer results to publish.

Is TidyData a subscription?

Not currently. Work starts with a fixed-fee Portfolio Migration Readiness Pilot, scoped to one portfolio.

Migration-readiness pilot

Bring one portfolio. See what the second batch looks like.

TidyData processes the mess. You review the exceptions.

Youssef, Founder · hello@tidydatastudio.com
TidyData Studio on LinkedIn