Skip to main content

Preparing your data for migration into splose

How to prepare your data exported from a non-supported system for migration into splose.

To import your data into splose, you'll need two things:

  • Your data, exported from your old system as CSV files (spreadsheet files - most systems have an export option that produces these), and

  • splose's data import templates, which you download and populate with the data from your exported CSV files.

Your old system's export files won't match the formatting of the templates - the information will be spread across several files, with different column names and layouts. The work of this guide is to help you move your data from the exported files into the templates.

You'll bring everything into one central workbook, copy your data into the matching template columns, and connect related records (like a client and their billing contact) so everything ends up attached to the right person in splose and your data is organised in the exact layout splose needs to upload it correctly.

Always be sure not to edit the original export files - only copy from them.


What you'll have at the end of this process

When you've brought together all your data into splose's templates you'll have one workbook, with one tab per data type, each matching the formatting of a splose import template:

Tab

What it holds

How it's connected

Contacts

Everyone connected to a client (billing contacts, guardians, referrers)

Each contact is given a Contact ID (1, 2, 3…)

Clients

Your client list

Points at Contact IDs in its invoice to and associated contacts fields; has all custom info combined into Other Details

Appointments

Appointment history

Each row names the client it belongs to

Cases

Case records

Each row names the client it belongs to

Notes

Client notes

Each row names the client it belongs to

You will also have a Client Files folder on your computer, with one subfolder per client, if you're migrating file attachments.

All the data on the different tabs will be connected to the relevant client via:

  1. Contact ID - a number you assign to each contact once (in the Contacts tab). The Clients tab points at these numbers, which is how splose knows who to invoice and who is associated with each client.

  2. Client identifier - whatever your old system used to identify a client (an ID or code that appears in your export files). You'll use it while building the workbook to match contacts, appointments, cases, and notes to the right client.

When all the tabs are complete, you'll export each one as a CSV and import them from Settings > Import in splose (or with help from the splose team). Clients and contacts are imported together; the rest follow.

Follow the steps set out below: the guide takes you through a specific set of steps to compile the data for import into splose and it is important that you do them in that order. This is because some of the formulas you’ll use will rely on data being ready in another spreadsheet already.


Before you start

Make sure you have the following:

  • Copies of all exported source CSV files you want to migrate (clients, contacts, appointments, files, notes, cases).

  • The splose import templates.

  • Microsoft 365 Excel or Google Sheets. (Older Excel versions and LibreOffice can't run the formulas in this guide - they'll show a #NAME? error.)

  • A client identifier that appears consistently across your export files (see above).

  • Access to your splose workspace to confirm users, tags, and import settings.

Always work from copies. Never cut, delete, move, or overwrite the original export files - only copy from them, so you can backtrack if something goes wrong.


Part 1 - Set up your workbook

Create one workbook containing tabs for each of the splose import template you'll be using. Name the tabs Clients, Contacts, Appointments, Cases, and Notes - the formulas used later in this guide rely on these names. Import the contents of the templates to the relevant tab.

This workbook is where all your data will end up, and it's what you'll export from at the end. Your export files stay as they are - you'll copy data out of them into this workbook, and never edit the originals.


Part 2 - The Contacts tab

2.1 Populate the template

Copy the rows that need to be migrated from your source contacts CSV into the provided columns in the splose contacts template. If a contact has information worth keeping that has no matching splose field, add a new column for it at the right-hand end - you'll deal with these in step 2.3.

The following columns are critical - they ensure you can link data across tabs to the relevant client or contact:

  • The client identifier - which client each contact belongs to, using your old system's identifier.

  • The contact's own identifier from your old system - if your clients export refers to contacts by an ID (for example, a "billing contact ID" on each client), that same ID must be here.

2.2 Format the dates

All dates must be in YYYY-MM-DD format (e.g. 1985-03-12).

To reformat dates:

In Google Sheets: select the date cells, then Format > Number > Custom date and time and build YYYY-MM-DD.

In Excel: select the date cells and press Ctrl + 1 (Windows) or Cmd + 1 (Mac). Choose Custom and enter YYYY-MM-DD.

If the dates are inconsistent and won't reformat cleanly, add a new column at the right-hand end and enter this in row 2, replacing A1 with the first date cell:

=TEXT(
DATE(
RIGHT(A1,4),
MID(A1,FIND("/",A1)+1,FIND("/",A1,FIND("/",A1)+1)-FIND("/",A1)-1),
LEFT(A1,FIND("/",A1)-1)
),
"yyyy-mm-dd"
)

Fill the formula down to your last row of data (drag the small square in the cell's bottom-right corner, or copy the cell and paste it down the column) and check the results.

Then make the results permanent: select the column, copy it, and paste it back onto itself as values only (Google Sheets: Edit > Paste special > Values only; Excel: right-click > Paste options > Values). Finally, copy the converted dates over the original date column and delete the helper column.

This formula expects dates written day-first with slashes, like 31/12/2024. If your export writes dates another way, contact the splose team rather than guessing.

2.3 Combine leftover fields into 'Other Details'

splose has one field for information that doesn't fit any other field: Other Details. If you added custom columns in step 2.1, they all need to be combined into this single field - one block of text per row, with each value labelled so it still makes sense after migration.

Nothing is merged in the spreadsheet sense. Your custom columns stay where they are; you're adding one new column that summarises them.

Before - custom columns with no home in splose:

Referral source

Funding type

Preferred contact

Word of mouth

NDIS

SMS

After - one cell in a new 'Other Details' column:

Referral source
Word of mouth

Funding type
NDIS

Preferred contact
SMS

To do this:

  1. In the first empty column to the right of your data, type the heading Other Details in row 1.

  2. In row 2, enter this formula:

=TEXTJOIN(CHAR(10) & CHAR(10), TRUE, MAP(J2:N2, J$1:N$1, LAMBDA(cell, head, IF(cell="",, head & CHAR(10) & cell))))

The only thing you need to change in the formula is which columns the formula reads. As written, it reads columns J to N. Look at where your own custom columns sit - if they run from column L to column P, for example, change every J in the formula to L and every N to P. Leave everything else, including the $ signs, exactly as it is.

3. Copy the formula into every row below: click the cell you just entered it in, then drag the small square in its bottom-right corner down to your last row of data.

4. The combined text will look squashed into a single line. To see it laid out properly, select the column and turn on wrap text (Google Sheets: Format > Wrapping > Wrap; Excel: Home tab > Wrap Text).

5. Check a few cells, then paste the column back onto itself as values only (as in step 2.2). This must happen before the next step - otherwise the results disappear when you delete the columns the formula reads from.

6. Delete the original custom columns so they don't end up in your export.

This formula needs Microsoft 365 Excel or Google Sheets. Older Excel versions show a #NAME? error - contact the splose team if that happens.

2.4 Number your contacts

Find the contact ID column in the splose contacts template. If you don't have your own contact ID data, you can number the rows sequentially from top to bottom - 1, 2, 3, and so on.

These numbers are the Contact IDs the Clients tab will point at in Part 3. Once they're set, don't re-sort or delete rows in the Contacts tab.


Part 3 - The Clients tab

3.1 Populate the template

As with contacts: copy the rows to be migrated into the splose clients template, and add a new column at the right-hand end for anything worth keeping that has no matching splose field.

3.2 Format the dates

Same as step 2.2.

3.3 Combine leftover fields into 'Other Details'

Same as step 2.3.

3.4 Link invoice recipients

This tells splose which contact receives each client's invoices. You'll stay on the Clients tab - the formula reads from the Contacts tab for you.

The formula works by matching an identifier: the value your old system used on each client row to point at a contact (for example a billing contact ID). That value must also exist in the Contacts tab (step 2.1).

  1. In the invoice to column of the Clients tab, enter this in row 2 and fill down:

=XLOOKUP(E2, Contacts!C:C, Contacts!D:D)

'C:C' in the formula means the entire column C - you don't need to specify rows. 'Contacts!' in front of it means the formula reads that column from the Contacts tab.

2. In the formula replace:

  • E2 - with the cell in this row holding the identifier that points at the contact (e.g. the billing contact ID).

  • Contacts!C:C - with the column in the Contacts tab holding that same identifier.

  • Contacts!D:D - with the Contact ID column you numbered in step 2.4.

3. Check the results, then paste the column as values only.

3.5 Link associated contacts

Associated contacts are contact profiles linked to a client in splose - they don't replace the invoice recipient. After migration they can be set to receive emails, notes, and appointment notifications where appropriate.

This formula gathers the Contact IDs of every contact belonging to the same client, separated by commas. Again, you stay on the Clients tab.

  1. In the associated contacts column of the Clients tab, enter this in row 2 and fill down:

=TEXTJOIN(",", TRUE, FILTER(Contacts!D:D, Contacts!B:B=A2))

2. In the formula replace:

  • Contacts!D:D - with the Contact ID column from step 2.4.

  • Contacts!B:B - with the column in the Contacts tab holding the client identifier (which client each contact belongs to).

  • A2 - with the cell in this row holding the client's identifier.

3. Check the results, then paste the column as values only.

3.6 Add tags

Any tags in your sheet must exist in your splose workspace with exactly the same spelling and capitalisation - tags are case-sensitive, so - once you've created the tags in your new splose account - copy and paste them from splose into the sheet rather than retyping.

Multiple tags go in the same cell, separated by commas with no spaces:

NDIS plan managed,High risk,>9


Part 4 - Appointments, Cases, and Notes

These tabs usually need no formulas - copy and paste the relevant data into the matching columns in the splose templates.

Ensure any dates are formatted correctly:

  • Dates in Cases and Notes: YYYY-MM-DD

  • Dates in Appointments: YYYY-MM-DD HH:MM:SS

Format them by following steps in section 2.2 above.

Important: invite all historical users into your workspace before migrating, so historical records can be assigned correctly and no data is lost.

Practitioner names in these tabs must exactly match the users in your splose workspace, including capitalisation.


Part 5 - Client files

Miscellaneous files can be imported in bulk if they're stored in one folder per client, named:

Firstname_Lastname_ID

Example: John_Smith_1

Put all client folders inside a single parent folder titled Client Files.


Part 6 - Export each tab to CSV

Before exporting, check each tab is a clean copy of the splose template:

  • Every formula column has been pasted as values only.

  • Helper columns (date conversion) and original custom columns (the ones combined into Other Details) have been deleted.

  • No stray columns sit to the right of the template's columns.

Then export every tab you want to migrate as its own CSV file.

From Excel:

From Google Sheets:


Part 7 - Import into splose

With the templates exported and ready for upload you can contact the splose team for assistance, or import clients, appointments, and contacts yourself via Settings > Import in splose.

Clients and contacts must be imported at the same time; appointments can be imported separately.

Return to the How to complete a standard data import in splose guide for your next steps.


When to ask splose for help

Contact the splose team if:

  • You're unsure which fields in the source data map to the splose templates.

  • Dates can't be converted cleanly into the required format.

  • You can't identify a reliable client or contact identifier across tabs.

  • You need support importing files, historical users, appointments, or complex associated contacts.

  • You've completed the CSV files and want splose to assist with the import.

Did this answer your question?