Client: (Client name changed for privacy.)
Role: Operations and Reporting Specialist
Industry: Financial Technology (FinTech)
Located: Florida, USA / Toronto, Canada
Year: 2022
Team Size: 50-100
Tools: Airtable, ClickUp, Google Sheets, Jira
Before I came on-board project 100k, the leadership team had decided to clear up their incomplete operational data as they realized it was hindering their ability to manage a fast-growing business and chose to fix it rather than work around the problem. My role was to come in as the sole operations and reporting technical specialist and make it happen.

The full breakdown of work delivered across the engagement.
This was a financial planning and analysis software company with over 50 enterprise customers. Its teams cover professional services, product, customer success, and sales. For a company like this, operational transparency is essential. It helps manage more than 50 staff across different functions, keeps client billing accurate, and supports important resourcing decisions.

Instead of that transparency, the business used three separate systems: ClickUp, Google Sheets, and Jira. Each was adopted at different times and used differently by each team, with no integration between them. This led to three conflicting versions of operational data, none of which could be relied on.
Time tracking data was the biggest problem. The staff included project leads, financial modelers, sales reps, and ETL specialists, so accurate time tracking was vital for making staffing decisions. But for years, people logged time inconsistently. Some didn’t mark hours as billable or non-billable, and others didn’t link time to a client or project. The data was certainly there, but no one could trust or use it.
When leadership needed to know how many billable hours a team spent on a client last quarter, the answer was that they would have to check all three systems. Even then, they couldn’t be sure the numbers were correct.
The CEO decided to consolidate all data into Airtable. The Director of Professional Services supported the project internally and worked closely with me throughout. They knew what needed to be done; they only sought someone to do it.

The working structure behind the migration.
Before moving any records, I had to understand everything across all three platforms. I began with a full audit, going through ClickUp, Google Sheets, and Jira to map out what data was captured, where it was stored, and how it should flow between teams.
There were over 100,000 records of operational data, including timesheets, customer records, project portfolios, resource allocation, customer success metrics, and financial tracking. Each system had part of the information, but none had everything.
The audit also showed that the data needed a lot of work before it could be moved. Some columns had broken formulas that gave wrong results. There were records entered by mistake that needed to be deleted. Time had been logged inconsistently across the three tools, each using different methods.
You can’t migrate your way out, and you can’t fix bad data by moving it; you’ll only have inaccurate information in a new place. So before designing the new system, I cleaned up the existing records. The PS team was essential throughout, helping make sense of the business context behind data decisions, flagging issues that didn’t look right, and keeping the project grounded in how the business ran day to day.
Nobody tells you that with large-scale data migrations the clean, automated approach usually doesn’t work.
In theory, moving over 100,000 records from three systems into Airtable should just require exporting and importing CSV files. In reality, differences in field structures, data entry methods, and years of changes by different teams meant much of the work couldn’t be automated. So, a lot of it had to be done by hand and in phases.
For three months, I moved records one by one when needed. I would pull a time entry for a specific staff member on a client project from the source system and verify that it matched the entry in Airtable. I verified the person, company, hours, and billable status before moving to the next entry. If formulas broke during migration, I fixed them. If the data looked inconsistent, I traced it back to the source to find out if the issue was original or happened during the move.

The data quality assurance process showed how each record was pulled, verified, corrected, and confirmed before being accepted into the new Airtable database.
The validation process also revealed another issue the company hadn’t faced before. Even after migrating all available data, there were still time blocks with hours that couldn’t be linked to any client or project. Some people had logged time without details, or the information was lost between systems. The new system didn’t cause this problem and made it clear for the first time. While this was uncomfortable at first, it was precisely what the business needed in the long run. Once the data was migrated and validated, the reporting infrastructure came next.

The change management approach behind the migration.
The weekly utilization reports had the biggest immediate impact. Each week, over 20 staff members received reports showing exactly how their time was spent, billable versus non-billable, broken down by project, client, and team. For managers used to incomplete, manually compiled reports that were often outdated, this made a big difference in their work.
Automated workflows replaced manual data entry, saving staff time and reducing errors. Custom views let each team see only the information relevant to their work, without showing unnecessary details from other departments.
Previously, getting a thorough report on a team’s work for the past quarter meant manually gathering data from three systems, with no guarantee of accuracy. After the migration, the view in Airtable was filtered, current, and accurate, ready without anyone needing to compile it.
There’s one important point to be clear about.
Not every project requirement could be fully met in Airtable, and pretending otherwise wouldn’t help. The biggest limitation was tracking historical billing rates. When a staff member’s billing rate changed, the system updated to the new rate, but the old rate was lost. There was no way to check what someone had billed in the past. The new rate simply replaced the old one. This was a necessary feature if one wanted access to historical billing or to verify past compensation. Several workarounds were explored, but none proved practical enough to recommend long-term. I told the operations team directly, documented the limitation clearly, and presented the alternatives with honest assessments of each. They understood it, made an informed decision about how to proceed, and the project moved forward with that constraint clearly on the table.
A few months after the project started, we finally had a single place to store the company’s operational truth.
The 100,000+ records that were once spread across ClickUp, Google Sheets, and Jira are now in a single Airtable database. The data was organized, checked for accuracy, and made available through dashboards and reports that automatically updated. Leadership could see how time was spent across the company, with clear billable and non-billable hours. Staffing and resource decisions could now be based on data rather than estimation.
Once problems are visible, they can be solved.


