Browse articles

Import your data

Coming from another tracker? Import a spreadsheet of historic time: upload the export, map the columns, match names to records, skip anyone who has left, and append it to the calendar.

What you'll achieve

Bring historic time entries in from a spreadsheet so they land as real, connected records on the calendar, with any unmatched rows safely skipped.

You'll end up with: Fifteen historic time entries imported onto Riverside Apartments and visible on the calendar, with James Holt's three unmatched rows skipped.

Before you start

Switching trackers doesn't mean losing the history you already have. The import wizard takes a spreadsheet, CSV or Excel, works out what it's looking at, lines your columns up against Monument's fields, matches names back to records that already exist, and lets you check every row before a single one is written.

To make it concrete, we'll run the import most firms actually start with. Northlight Architects is moving off an old time tracker, and Sarah brings two weeks of historic time for Riverside Apartments in from a CSV export.

The importer answers one question at a time

Think of the wizard as a pipeline, each stage settling one thing before the next opens.

What is this file? Monument reads your columns and proposes an entity type, whether that's projects, resources, time entries, expenses or contacts. You confirm it.

Which column means what? Each spreadsheet column gets pointed at a Monument field. The wizard pre-fills the obvious matches by name, so you're checking rather than starting cold.

Does this name already exist? Wherever a column names something Monument already has, a project a time entry belongs to, the person who logged it, the importer matches the text against your records and scores each candidate. Anything under roughly seventy percent confidence counts as no match, so a rough guess never quietly attaches to the wrong record.

What if a name has no home? For anything that can't be matched, you choose the safety valve: Skip leaves the row out, Create builds a new record from the imported name, and Fail stops the whole import unless everything resolves. Which one you pick depends on how much you trust the file.

Upload the export

Getting the file in is the easy part. Drag your old tracker's export onto the drop zone, or browse for it, and Monument parses it immediately, showing the column and row counts it found so you can confirm you grabbed the right file. This export carries six columns and eighteen rows.

  1. 1

    On the Data Import card, click Start Import.

  2. 2

    Drop the spreadsheet onto the drop zone, or browse for it (CSV, XLSX or XLS, up to 20MB).

  3. 3

    Check the column and row counts that appear, then Continue.

Confirm the type

Monument analyses the columns and proposes Time Entries for this file, listing every column it read. Getting the type wrong here would send the next stage mapping the wrong fields, so it's worth a glance before moving on.

Map the columns

This is where the real work happens. Every Monument field gets a row, pointed at whichever spreadsheet column feeds it, and the wizard auto-maps everything it recognises by name: Date, Staff, Project, Hours, Description and Billable all land correctly before you touch anything.

Two things happen quietly here:

  • Dates and durations get sniffed. Monument detects the date format in a column, and whether a duration column counts in hours or minutes, applying anything it's confident about automatically. Override any of it by hand if it guessed wrong.
  • References get matched. The Staff and Project columns resolve against real people and projects: Sarah Chen and Priya Sharma match their resources, and every row's project matches Riverside Apartments.

Skip whoever's left

One name in the file, James Holt, has left the practice and has no record in Monument. This is exactly what the missing-reference choice exists for. Set it to Skip the row, and his three rows get left out instead of quietly spawning a stray resource named after a former colleague.

Preview before anything writes

Before a single row saves, the wizard validates all of them and lays them out in a table. Rows that resolved read Ready. James Holt's are flagged instead, highlighted and counted in the error tally, because there's no staff member to match them to. That looks alarming until you read the note beneath the table: with Skip chosen, those rows get left out of the import. You proceed knowing exactly what will and won't make it through.

Append, don't replace

Because these rows are time entries, one more choice appears: how should this file meet the data already sitting there?

  • Append just adds the rows, touching nothing existing. That's what two weeks of history needs.
  • Replace within a date range clears existing time inside a window and drops the imported rows in its place, optionally scoped to certain projects or people. It's built for re-importing a corrected month, and it never touches anything already invoiced.

Append is the right call here, so keep it and start the import.

Read the results

The import runs in the background, so there's nothing to sit and watch. When it finishes, the results screen splits the outcome into Imported, Failed and Skipped. Fifteen imported and three skipped is exactly the plan: Sarah and Priya's rows landed, and James Holt's stayed out. Expanding the skipped list shows the exact rows and why, so a partial import is something you understand rather than a mystery.

See it on the calendar

Open Time in the sidebar, then step back a week, since the imported entries sit in the past couple of weeks. There's Sarah's week from the old tracker, already filled in on the calendar and ready to build on.

Troubleshooting

  • A misread date format silently corrupts dates. Where a day is twelve or under, the date can flip if the format is misread. Confirm the detected format rather than trusting it blindly.
  • Hours and minutes look identical to a spreadsheet. A duration column reading 90 might mean ninety minutes or ninety hours. Monument guesses from the values, but check the unit on the Hours row if your old tracker exported in minutes.
  • Create can spawn near-duplicates. A name that doesn't quite match an existing record, paired with the Create strategy, produces a near-duplicate resource. When in doubt, run Skip first and reconcile by hand.
  • There are real limits. One file at a time, up to twenty megabytes, up to fifty thousand rows. Split a very large history into a few smaller files.

Where this fits next

Your history's in. Fill in the current week from the same calendar in Log time on the calendar, or if the import created records that need their own statuses or numbering, revisit Customise Monument.