Product boundaries

# Moving a Rental Work Spreadsheet Into a Reviewed System

A careful CSV import maps columns, surfaces invalid rows and possible duplicates, and appends only the rental-work records you approve.

August 22, 2026·6 min read·By HostHours

![A field-guide illustration of rental spreadsheet rows being checked and moved into an organized record tray](/_astro/move-rental-work-spreadsheet-reviewed-system-hero.BdpE_zmL_Z1yYB6J.webp)

## Summarize with AI

[![ChatGPT icon](/icons/ai/chatgpt.svg)ChatGPT](https://chat.openai.com/?q=Please+read+this+article+and+summarize+the+key+points%3A+https%3A%2F%2Fhosthours.app%2Fblog%2Fmove-rental-work-spreadsheet-reviewed-system%2F)[![Google AI Mode icon](/icons/ai/gemini.svg)Google AI Mode](https://www.google.com/search?q=Please+read+this+article+and+summarize+the+key+points%3A+https%3A%2F%2Fhosthours.app%2Fblog%2Fmove-rental-work-spreadsheet-reviewed-system%2F&udm=50&aep=11)[![Claude icon](/icons/ai/claude.svg)Claude](https://claude.ai/new?q=Please+read+this+article+and+summarize+the+key+points%3A+https%3A%2F%2Fhosthours.app%2Fblog%2Fmove-rental-work-spreadsheet-reviewed-system%2F)[![Perplexity icon](/icons/ai/perplexity.svg)Perplexity](https://www.perplexity.ai/search/new?q=Please+read+this+article+and+summarize+the+key+points%3A+https%3A%2F%2Fhosthours.app%2Fblog%2Fmove-rental-work-spreadsheet-reviewed-system%2F)[![Grok icon](/icons/ai/grok.svg)Grok](https://x.com/i/grok?text=Please+read+this+article+and+summarize+the+key+points%3A+https%3A%2F%2Fhosthours.app%2Fblog%2Fmove-rental-work-spreadsheet-reviewed-system%2F)

Moving a spreadsheet into a record system should be a review project, not a one-click copy. Dates may use different formats. A column called “Name” may contain a property, a cleaner, or both. Duplicate rows can appear after years of copying tabs. The safest import makes those decisions visible before it changes the record set.

HostHours parses and maps the file locally, shows a validation preview, and appends only the rows the user selects. Existing activities are not overwritten.

## Prepare the source before mapping it

Keep an untouched copy of the original spreadsheet. Export a working copy as CSV, then reduce avoidable ambiguity without rewriting history.

Start with one header row. A practical source usually has separate columns for date, duration, property, notes, category, and person. If a cell combines several facts, leave the original file alone and separate them only in the working copy when the split is certain.

Do not fill empty durations with a default just to make the sheet importable. Do not turn a scheduled calendar length into work time. Missing data should appear as an import issue that requires a decision.

The reviewed HostHours flow requires:

*   date;
*   duration;
*   property or a property mapping;
*   notes.

Category, contributor name, contributor type, and evidence reference are optional. If the CSV lacks a category or person column, the user can set a default during mapping. That default should reflect the rows being imported, not the most convenient selection.

## Map columns before judging rows

A detected mapping can save time when headers are clear. It should not remove the mapping screen. “Hours” may mean a decimal duration in one file and a start-to-end range in another. “Unit” may refer to a property nickname or an apartment number.

Review each proposed match and make ambiguous choices yourself. If several source properties need to map to existing workspaces, confirm the property and tax year together. A valid date can still belong to the wrong workspace.

The next preview should show the result row by row. This is where a migration becomes a reviewed import rather than a blind upload.

## Let validation keep questions visible

The preview checks for:

*   invalid dates and dates outside the property’s tax year;
*   missing or non-positive duration and duration beyond the record limit;
*   unknown categories;
*   missing required data;
*   a target month that is already locked;
*   a possible duplicate of an existing activity;
*   duplicate rows within the same file.

A duplicate candidate is not automatically deleted or accepted. It starts deselected so the user can compare it with the existing record. Two visits on the same date may be legitimate. Two identical rows may be a copy error. The software cannot settle that distinction from matching values alone.

Use the notes, person, property, and duration together when reviewing a possible duplicate. If the old spreadsheet has only a vague description, keep the uncertainty visible rather than inventing a more detailed task during migration.

## Append selected rows, never replace history

Once the review is complete, selected valid rows are appended as new activities. Existing records stay unchanged. Import provenance retains a batch identity and file hash so the source of the new records is not lost.

Partial failure needs equally careful behavior. If a batch stops after some rows succeed, the completed rows should leave the queue and the failed rows should remain with a reason. Repeating the entire import would create a new duplicate problem.

After import, compare the accepted count with your selection. Open a small sample from different dates and properties. Check that durations, people, categories, and notes arrived as expected. Keep the original spreadsheet outside the app according to your own retention policy.

## The file has deliberate limits

The reviewed flow is bounded to a 2 MB input file, no more than 2,000 data rows, no more than 50 columns, and no more than 10,000 characters in one cell. Those limits keep parsing and review manageable on a phone.

The raw file is read locally and is not retained after import unless the user explicitly keeps it as supporting evidence. The whole CSV is not sent to AI by default. Accepted rows become structured activities; the source file does not silently become a permanent cloud attachment.

If a portfolio exceeds the limits, split the working copy by property or tax year. Use divisions you can verify, and preserve the original file so the parts can be reconciled later.

## A good migration ends with a smaller question set

A good migration leaves accepted records, a short list of rows that need correction, and no silent changes to prior history. Forcing every row through is unnecessary.

Begin with a small file from one property. Confirm the mapping, resolve duplicates, and inspect the result before moving the next batch. The process is slower than a blind upload and much easier to trust.

HostHours organizes factual records. It does not decide whether an imported activity qualifies for a particular tax, accounting, or legal treatment.

Clear answers

## Frequently asked questions

Does reviewed CSV import overwrite existing rental-work records?+

No. The import appends selected valid rows as new activities. Existing records are not modified, and possible duplicates remain visible for the user to decide.

Which spreadsheet fields are required for a rental-work import?+

The reviewed flow needs a date, duration, property or property mapping, and notes. Category, contributor name, contributor type, and evidence reference are optional.

What happens when only some selected CSV rows can be imported?+

Successful rows are removed from the import queue. Failed rows remain with a reason so the user can correct or preserve them without repeating the completed work.

Is the entire rental-work CSV sent to an AI provider?+

No. HostHours uses deterministic local parsing and mapping first. The complete raw CSV is not sent to AI by default and is not retained after import unless the user keeps it as evidence.

## Related guides

*   [![An illustrated rental cabin with a work notebook, timer, repair photo, receipt, tools, and organized folder](/_astro/rental-property-work-log-hero.DTe3lpHH_16EGhK.webp)
    How to Build a Rental Property Work Log You’ll Actually Keep
    ](/blog/rental-property-work-log/)
*   [![A field-guide illustration of an open rental-work packet with organized records and visible empty spaces still needing review](/_astro/hosthours-packet-ready-or-draft-hero.DawlWx6-_1LxbR8.webp)
    What Makes a HostHours Packet Ready or DRAFT?
    ](/blog/hosthours-packet-ready-or-draft/)
*   [![A field-guide illustration of an owner recording water-heater work at a remote rental property beyond reliable cellular coverage](/_astro/offline-rental-property-visit-hero.C_pNJtqn_ZP3Veh.webp)
    What Works Offline During a Rental Property Visit
    ](/blog/offline-rental-property-visit/)

[← All HostHours guides](/blog/)

Source: https://hosthours.app/blog/move-rental-work-spreadsheet-reviewed-system/
