TicketStacker
← Blog

Switching from spreadsheets? Bring your whole history over in a few minutes

October 17, 2026

The hardest part of switching tools isn't learning the new one. It's what happens to everything in the old one.

Most small businesses we talk to run their requests on a Google Form that feeds a spreadsheet. Over a couple of years that sheet grows tabs: the open requests, a "Resolved" tab, a "Completed" tab, a few side lists. There are checkbox columns like "Request Received" and "Issue Resolved", initials in a "Received by" column, and a thousand blank rows from someone's formatting. Nobody wants to retype that, and nobody wants to start over and lose their history.

So we built smart import.

Drop in the file, or paste the link

On the Stacks page, click Import from spreadsheet and drop in your Excel file or CSV. Using Google Sheets? Download it as Excel, or just paste the sheet's link (shared as "anyone with the link can view"). Every tab is read; you don't need to tidy anything first.

It sets up the stack for you

TicketStacker's AI reads your column names and a few sample answers, never your whole sheet, and works out:

  • Which tabs are tickets. Your open tab and your Resolved or Completed tab come in together, with the finished ones already closed. Tabs that are something else, like audits or lookup lists, are left out.
  • What each column is for. The form's Timestamp becomes the date each request came in. The long answer becomes the ticket's details and its title. "Store Location:" becomes your store. "Urgency Level:" becomes a dropdown with your own choices. Photo links stay links, and "not submitted" counts as blank.
  • How tickets move. Checkbox columns become stages, like New → Received → Resolved, so every old request lands in the right place.
  • Your stores. Any store the sheet names that you haven't set up yet is offered as a new location. Match it to one you already have or add it, your call.

Clean field names, too: "Please detail issue:" becomes "Issue."

Check it, then import in one click

You see everything on one page before anything is saved: the tabs, every column and what it's for, the stages, the stores, and a preview of the first tickets with how many are open and how many finished. Change anything that looks off. Then one click makes the stack and brings every row over.

  • Original dates stay. A request from March 2023 says March 2023, so your reports and history start on day one.
  • Nobody gets emailed. Importing a thousand old requests sends zero "we got your request" messages.
  • Teammates are matched. Initials like "TM" in a Received by column can land on the right person.
  • Blank rows are skipped automatically.

We tested it on a real pet store's spreadsheets: a service request sheet with open and resolved tabs, a supply order form with over 2,000 rows (half of them blank), and a tech issues sheet with website audit tabs mixed in. Each one came over correctly in seconds.

Changed your mind? Undo it

Every import is listed in Settings → Imports. For 30 days you can undo one, which deletes exactly the tickets it made, and the stack too if the import created it. So go ahead and try it with your real sheet.

Try it

If switching has felt like more trouble than it's worth, join the pilot. Bring your spreadsheet; it's free while we build TicketStacker with a small group of businesses.

Every request, stacked and sorted.

TicketStacker is free during our pilot.