---
title: "Data Import & Migration to Orangescrum | CSV, Excel"
description: "Move your projects into Orangescrum. Import tasks, time logs, and epics from CSV or Excel with automatic column mapping."
canonical: https://www.orangescrum.com/data-import-and-migration
---

# Data Import & Migration to Orangescrum | CSV, Excel

> For the complete documentation index, see [llms.txt](https://www.orangescrum.com/llms.txt).

[Home](/) / [Features](/features) / Data Import and Migration

Data import and migration

# Bring Your Work Across _Without Losing the History_

Import tasks, time logs, epics, and customers from CSV or Excel with columns mapped for you. For a move from another tool, our team runs the migration and validates it with you first.

Available in[Cloud](/pricing "Cloud - included")[Self-Hosted](/self-hosted "Self-Hosted - included")Open Source

[Start Free Trial →](/sign-up?utm_source=website&utm_medium=feature&utm_content=data-import-and-migration)[Book a Demo](https://calendly.com/orangescrum)

Free forever plan · No credit card required · Set up in minutes

## How do you get data into Orangescrum?

There are two routes. The built in importer takes a CSV or Excel file, works out which column is which, shows you a preview, and creates the records once you confirm. For a move from another product such as Jira, Asana, monday.com, or Trello, you export from that tool and our migration team maps the export to Orangescrum, validates the result with you, and runs the cutover. There is no live connector to another vendor's API, and we would rather tell you that than let you find out during a trial.

The problem

## Why migrations _go wrong_

The history gets left behind

Teams move the open work and abandon two years of closed tasks and logged hours.

✓ Tasks, subtasks, and time logs all have an import path.

Column names never match

Every export calls the same field something different, so mapping is done by hand and gets fixed after the fact.

✓ Columns are matched automatically, and you can override any of them.

Nobody checks before it lands

The import runs, and the problems are found afterwards in production data.

✓ A preview step before anything is written.

What you get

## A route in for _each kind of data_

-   ### CSV and Excel files
    
    Upload a .csv, .xls, or .xlsx export. Spreadsheets are converted on upload, so you do not have to save them down first.
    
-   ### Automatic column mapping
    
    Headings such as assignee, owner, or assigned to are recognised as the same field. Every mapping is shown, and you can change any of it.
    
-   ### Preview before you commit
    
    Upload, map, preview, confirm. Nothing is created until you have seen what the import will produce.
    
-   ### Hierarchy is kept
    
    Import epics, features, stories, and subtasks with their parents, so structure survives the move instead of flattening into a list.
    
-   ### Time logs and customers
    
    Logged hours come across with their task, date, and billable flag. Customer records have their own import type in Cloud.
    
-   ### Assisted migration
    
    Coming from another tool? Our migration team maps your export, validates the mapping with you, and runs the cutover.
    

How it works

## How an import _runs_

1

Invite your people first

Members are not created by an import, so add them before you load work that is assigned to them.

2

Export and upload

Export from your current tool as CSV or Excel and upload the file.

3

Check the mapping

Columns are matched for you. Change anything that has been read the wrong way.

4

Preview, then confirm

Look at what will be created, then commit. Large histories are loaded in batches.

Who it's for

## Common _moves_

Leaving Jira Data Center

Atlassian has published end of life dates, so plan the move rather than react to it.

[Learn more →](/jira-on-premises-alternative)

Getting out of spreadsheets

A tracker in Excel imports cleanly, because it is already a table with headings.

[Learn more →](/project-management-software)

A managed migration

Our services team maps, validates, and cuts over so your team keeps working throughout.

[Learn more →](/professional-services)

Availability

## Which edition includes _what_

Orangescrum runs as managed cloud, self-hosted on your own servers, or as the open-source Community Edition. Here is exactly what each one includes.

The importer is part of Cloud and Self-Hosted. The open source Community Edition does not include an importer.

| Capability | CloudManaged SaaS | Self-HostedOn-premise / private cloud | Open SourceCommunity Edition |

| CSV import | ✓ | ✓ | ✗ |
| Excel (.xls and .xlsx) import | ✓ | ✓ | ✗ |
| Automatic column mapping with manual override | ✓ | ✓ | ✗ |
| Preview before import | ✓ | ✓ | ✗ |
| Task import with epic, feature, and story hierarchy | ✓ | ✓ | ✗ |
| Time log import | ✓ | ✓ | ✗ |
| Epic import with approver | ✓ | ✓ | ✗ |
| Customer import | ✓ | ✗ | ✗ |
| Member or user import | ✗ | ✗ | ✗ |
| Live import from another vendor's API | ✗ | ✗ | ✗ |
| Database level migration handled by our team | ✗ | ✓ | ✗ |

Frequently asked questions

## Import and migration _FAQ_

### What file formats can I import?

CSV, XLS, and XLSX. Spreadsheets are converted to CSV when you upload them, so you can send the file straight from Excel or Google Sheets.

### Is there a one click import from Jira, Asana, or Trello?

No. Orangescrum does not connect to another vendor's API and pull your data across. You export from that tool and either import the file yourself or let our migration team map it for you. We are being specific about this because the difference matters when you are planning a cutover.

### Can you migrate us from another tool then?

Yes, as a service. Our migration engineers handle Jira, Asana, monday.com, Trello, ClickUp, and spreadsheet or legacy systems. They map every field, validate the mapping with your team, and run the cutover so production keeps working. Start on the professional services page or book a call.

### What can I import myself?

Tasks and subtasks, tasks with their epic, feature, and story parents, time logs, epics, and customer records. Projects are created for you from the project name column if they do not exist yet.

### Are users created by the import?

No. There is no member import. Invite your people first, then import work assigned to them, otherwise the assignee column will not resolve to anyone.

### How big can the file be?

The importer takes roughly a thousand rows and up to 2 MB per file, so a long history is split into a few batches rather than one large upload. An assisted migration is not limited that way, because we load it for you.

### Will my column names be recognised?

Usually. The importer normalises your headings and matches them against a list of common names, so assignee, assigned to, and owner all land on the same field. Every mapping is shown before the import and you can change any of it.

### Can I import through the API?

No. The Orangescrum API is a CRUD API for reading and writing individual records. It has no bulk import endpoint, so a large load should go through the importer or through an assisted migration.

### Is import available in the free Community Edition?

No. The Community Edition covers projects, tasks, and Kanban boards. Importing is part of the Cloud and Self-Hosted editions.

### Does migration cost extra?

The importer is included in your plan. An assisted migration is scoped by our services team, and the price depends on how much data there is and how far your current setup is from a clean export.

## Plan the move properly

Import it yourself, or tell us what you are on now and we will map the route. Every plan includes unlimited users.

[Start Free Trial →](/sign-up?utm_source=website&utm_medium=feature&utm_content=data-import-and-migration_cta)[Book a Demo](https://calendly.com/orangescrum)

## Related capabilities

[Professional servicesAssisted migration and onboarding](/professional-services)[Leaving Jira Data CenterThe on-premise alternative](/jira-on-premises-alternative)[Self-HostedRun it on your own servers](/self-hosted)[Developer APIRead and write records](/developer/api)
