Overview
The Migration Helper is built to help users migrate enriched personal-finance data— e.g. categories, splits, manual balances, etc.— from an old “source” Tiller Money spreadsheet to a new “destination” Tiller Money spreadsheet.
If you are considering migrating, review the recommended workflow.
The Migration Helper is a best-effort community built workflow for a very complex migration problem. We hope this tool helps you, but please be aware that this workflow will not work for everyone.
Migration Helper Functions
The Migration helper is designed to migrate enriched account data from the source to destination spreadsheet including:
- Categories and other fields applied to Tiller Money Feeds transactions
- Transactions-sheet columns
- Transactions that have been split using the Tiller Community Solutions add-on
- Transactions that have been manually entered using the Tiller Community Solutions add-on
- Transactions that have been added via sources like the Import CSV Line Items workflow in the Tiller Community Solutions add-on
- Transactions added by the Tiller Money Feeds add-on from accounts that are not linked to the active spreadsheet
- Categories
- “Unlinked” account balances that have been manually added
- AutoCat rules
Migration Helper Compatibility
Several sheets and columns are required for the migrator to run. A compatibility check will run before the Migration Helper makes any changes.
The Transaction ID
column is required in both the source and destination spreadsheets to migrate Categories and Notes. Transaction ID
uniquely identifies transactions in the Tiller database. This field is used by the Migration Helper to identify matches between the two spreadsheets.
Configuration + How The Migration Helper Works
The Migration Helper can move data from the source to destination spreadsheet for each of the following sheets:
- Transactions
- Balance History
- Categories
- AutoCat
Using the checkbox controls in the sidebar, the user can choose which sheets to review for data migration. All sheets are included by default. There are a number of nuanced settings— especially the Transactions sheet. If you aren’t sure, we recommend you stick with the defaults.
Source Spreadsheet
Identify the source spreadsheet by opening it in a separate tab then pasting its URL (or Spreadsheet ID) into the text box in the sidebar.
Transactions
The Migration Helper does not support the check box feature in the source Transactions sheet. If you have a columns with checkboxes in the source Transactions sheet you will need to delete that column before running the Migration Helper.
Missing Columns
Your source Transaction sheet may include columns that are not present in your destination Transactions sheet. When this option is set to “Migrate Columns”, missing columns will be added to the destination. Note that columns where the header is a formula will be skipped.
Set to “Ignore” if you’d prefer to not add columns to your destination Transactions sheet.
Matching Transaction ID Found
The Matching Transaction ID Found
section determines how transactions are handled when there is a matching Transaction ID
in both the source and destination Transactions sheet. (For split transactions, this is a many (source) to one (destination) relationship.)
Categories & Other Columns
When the Migration Helper finds a matching Transaction ID
between the source and the destination spreadsheets, it will apply the Category and any Other Columns from the source to the destination row.
“Other Columns” can be standard Tiller columns (e.g. Note
) or user created columns (e.g. Tags
). The following column headers are protected and thereby will be ignored by this setting:
- Date
- Amount
- Account
- Account #
- Institution
- Account ID
- Transaction ID
- Date Added
For both Categories and Other Columns, a dropdown allows the user to choose to overwrite categories/other-columns in one of two scenarios: “Overwrite Always” or “Overwrite Blanks”. If “Overwrite Always” is selected, categories/other-notes will be overwritten with source data in the destination sheet whenever a match is found and the source cell contains data. If “Overwrite Blanks” is selected, categories and other columns will be overwritten with source data when a match is found AND the category/other-column field in the destination is blank.
Split Transactions
When the Migration Helper finds a Transaction ID
with more than one instances in the source but only a single instance in the destination, those rows are flagged as a split transaction. If the sidebar is set to “Migrated Splits”, the existing (single) destination row is removed (any unique destination data is lost) and all source rows are inserted. In this way, splits are replicated into the destination spreadsheet.
Set Split Transactions to “Ignore” if you do not wish to migrate these types of records.
No Matching Transaction ID Found
The No Matching Transaction ID Found
section determines how transactions are handled when either the Transaction ID
is blank or there is not a matching Transaction ID
in the destination Transactions sheet.
Manually Created
Manually-created transactions created by the Tiller Community Solutions add-on in the source spreadsheet (i.e. rows with Transactions ID
s that are prefixed with manual:
) will be moved to the destination spreadsheet if the “Manually Created” dropdown is set to “Migrate All”. (If the dropdown is set to “Ignore”, thes transactions will be discarded in the migration.)
No Transaction ID
Manually-added transactions in the source spreadsheet (i.e. rows with empty Transactions ID
) will be moved to the destination spreadsheet this dropdown is set to “Migrate All”. (If the dropdown is set to “Ignore”, transactions with empty Transaction ID
s will be discarded in the migration.)
Note that the Migration Helper is unable to check if rows without a Transaction ID
have already been imported. They will be reimported each time this workflow is executed. To prevent duplicates, be careful not to run migrations with this option set multiple times.
Other Transactions
“Other Transactions” are transactions with Tiller-Money-Feeds-provided Transaction ID
s in the source Transactions sheet that are not found in the destination Transactions sheet. These transactions are migrated when the option is set to “Migrate All” and ignored when the option is set to “Ignore”. “Other Transactions” with unrecognized Transaction IDs are most often from accounts not linked in your destination sheet. This option defaults to “Ignore” as importing transactions from unlinked accounts can create confusion.
Categories
The Migration Helper will move any categories that do not exist in destination from the source spreadsheet. Note that budget migration (from the Categories) sheet is not implemented at this time. Budgets must be migrated manually.
When this option is set to “Merge”, for categories that exist in both the source and destination spreadsheets, the Migration Helper will overwrite Group
, Type
and Hide From Reports
configuration to match the source spreadsheet. Categories that exist only in the destination will be preserved.
When this option is set to “Overwrite”, destination categories will be wiped away before source categories are migrated to the destination sheet, providing a fresh start. This approach is preferred when migrating into a spreadsheet with default categories as unused destination categories are removed rather than orphaned.
Note that the Migration Helper is not currently able to migrate budgets from the source’s Categories sheet.
Balance History
If a Balance History entry has 9999
assigned in the legacy Index
column, the Migration helper will assign all balance entries with a matching Account
name a new Account ID
. Having a valid Account ID
is required for many Tiller Community Solutions templates. (The Index
column is not supported in Tiller Community Solutions templates.) Balance entries that previously had index 9999
and are assigned an Account ID
will be migrated to the destination spreadsheet.
Balance History entries with Account ID
prefix manual:
(i.e. current manual balance entries) will be moved to the destination spreadsheet.
AutoCat
If the destination spreadsheet does not already contain an AutoCat
sheet, the Migration Helper can copy the AutoCat
rules sheet from the source spreadsheet into the destination spreadsheet.
How To Use The Migration Helper
This workflow works best when the destination spreadsheet is a recently-created/new Tiller spreadsheet with linked accounts and an initial feeds update.
The following steps are recommended:
- Create a new Tiller spreadsheet using either the Foundation Template in the Tiller Console or a new Google Sheet
- Link accounts to the new spreadsheet using the Tiller Money Feeds add-on
- Run an initial fill in the new spreadsheet using the Tiller Money Feeds add-on
- Open the Tiller Community Solutions add-on in the new spreadsheet
- Navigate to the Tools option in the Community Solutions add-on main menu
- Choose the Migration Helper in the Tools submenu
- Copy the URL from your source spreadsheet— not the open destination spreadsheet— and paste it into the textbox below
Source Spreadsheet
- Set your migration configuration options per the instructions above
- Click Migrate
Once the process completes, carefully review your data to ensure you are satisfied.
Video Replay
Troubleshooting
If you have a question or need help first search the community to see if someone has already asked and if not click here to quickly post a question about this tool in the Google Sheets category.
Be sure to customize the title of your post with keywords about the issue or question so others can easily find the Q&A in search.