Silver Sea AI & Automation
Case studies

What we built, and what it changed.

Most of these began with a firm asking whether something could be done. Every project is on this page, grouped by the problem it solved, with the problem, what we built, and the result. Engagements are confidential, so firms are described, not named.

4 projects

Client onboarding

Client onboarding in one form

One intake form feeds your practice management system and CRM, so nobody keys the client in twice. About 7–10 minutes from start to finish instead of 30 by hand.

Problem
New clients were keyed separately into Smartsheet, CCH Axcess, CCH Workflow, and HubSpot, with no way to tell whether a lead already existed.
Built
A matching algorithm across all four systems, an API connection from Smartsheet into Axcess, and an RPA layer for the gaps.
Result
The CCH API covers about 90% of the data points and RPA handles the rest. A new client takes 7–10 minutes from start to finish instead of 30 by hand.
  • CCH Axcess
  • Karbon
See how this fits the platform

Engagement letter automation

Letters built from templates driven by your service codes, then generated and sent for signature from the systems you already use.

Problem
The existing engagement letter automation was outdated, disconnected from daily systems, and ran off 38 largely duplicated templates.
Built
An internal portal integrating Salesforce, CCH Axcess Workflow, SafeSend/Adobe Sign, and SharePoint, with templates driven by Salesforce product codes to replace the 38 duplicates.
Result
In testing, a letter generated in the background in about two to three minutes while staff kept working.
  • CCH Axcess
  • SafeSend
  • SharePoint
See how this fits the platform

One client record across CCH Axcess and Karbon

A single client view for firms that run tax in CCH Axcess and workflow in Karbon, respecting each system's ID and contact structure.

Problem
During a move to Karbon with tax staying in CCH Axcess, every new client and change had to be entered in both systems, which use different ID and contact structures.
Built
A client management tool that creates a client in both systems at once, compares the two records side by side, and applies a change only after someone approves it. It keeps the firm's 5-digit client IDs and Karbon's organization-plus-person contacts, and runs on the firm's own server behind Microsoft 365 sign-in.
Result
Live in production on the firm's own server. One form replaces two separate entries, and a failed write sends an email and shows in the activity log instead of failing silently.
  • CCH Axcess
  • Karbon
Read the full case study

Client portal access managed by bot

Add and remove requests for CCH Portal users read from a spreadsheet and applied across clients by an RPA bot, with a log of every change.

Problem
Portal users had to be added and removed client by client, by hand.
Built
An RPA bot that reads add and remove requests from an Excel file and applies them client by client in the CCH Axcess Portal.
Result
Portal access changes run from one spreadsheet instead of client by client by hand.
  • CCH Axcess
See how this fits the platform
1 project

Tax data entry

Tax data import with validation

Excel data imported into the tax return with written entity-matching rules, so preparers review instead of re-key.

Problem
Excel-to-Axcess imports produced entity mismatches and duplicates; document requests and e-filing status were tracked by hand.
Built
An import layer that matches each entity by EIN first, then entity number, and stops for review when the names differ too much. Plus a portal that shows e-file status pulled from CCH Axcess, with client uploads from SafeSend filed into CCH Axcess Document.
Result
Matching follows written rules instead of judgment calls, and staff check e-file status in one place instead of return by return.
  • CCH Axcess
  • SafeSend
See how this fits the platform
3 projects

Document migration

Document migration into SharePoint

Folder structure, retention rules, and client attributes mapped before a file moves. Permissions synced from your practice system.

Problem
1.2 million documents for about 11,000 clients had to leave GoFileRoom, prioritizing active clients and the last seven years.
Built
A staged pipeline (download, restructure, upload) run by ten RPA bots on ten virtual machines in parallel, with a redesigned client data model.
Result
More than 500,000 files had reached SharePoint by April. Files whose client IDs didn't match were held back to be reconciled rather than filed blind.
  • SharePoint
  • Karbon
  • CCH Axcess
See how this fits the platform

Karbon contacts linked to SharePoint folders in bulk

Karbon's API can't connect a client to its SharePoint folder; the link is made in Karbon's screens. A bot makes those links in bulk.

Problem
Karbon's API can't connect a client to its SharePoint folder. The link is made in Karbon's screens, one client at a time.
Built
A browser automation that makes those links in bulk through Karbon's own interface.
Result
Client contacts connected to their SharePoint folders in bulk, without one-by-one linking.
  • Karbon
  • SharePoint
See how this fits the platform

CCH Axcess Document history moved into SharePoint

A one-time bulk move of the firm's document history into SharePoint, then an ongoing sync so staff can keep working in CCH Axcess Document while they adopt SharePoint.

Problem
About 40 export archives needing roughly 200 GB of working space, folder trees longer than Windows' 260-character path limit, and the same client spread across several archives.
Built
A pipeline that unpacks each archive, drops CCH's internal wrapper folders, merges each client into one SharePoint folder, skips documents older than seven years unless they are marked Permanent, and applies classification metadata after each upload. After the bulk move, a sync tool pulls new files from CCH Axcess through the API.
Result
The migration tool is built, tested on sample files, and ready to run when the firm schedules the move. After it runs, a nightly sync keeps both systems side by side, so the firm can adopt SharePoint at its own pace instead of on a cutover date. If a metadata column is missing, the upload continues and logs a warning instead of stopping.
  • CCH Axcess
  • SharePoint
See how this fits the platform
1 project

Practice-management migration

Workstream projects created and updated by bot

Projects created and updated in bulk from a spreadsheet by an RPA bot that drives the same screens your staff use.

Problem
Workstream projects had to be set up and kept consistent one at a time, through the screens.
Built
An RPA bot that creates and updates Workstream projects from an Excel list, checking each record.
Result
Projects set up and updated in bulk, and kept consistent, without one-at-a-time entry.
  • CCH Axcess
See how this fits the platform
7 projects

Dashboards & KPIs

Dashboard 4 CPA

Six Power BI dashboards on CCH Axcess DAU or Practice CS data: firm overview, client profitability, staff productivity, time entry, AR, unbilled WIP. Live within 30 days.

Problem
Report links were shared one at a time and went stale, and nothing separated what partners see firm-wide from what billers should see.
Built
A Power BI app with one stable link, role-based partner and biller views with row-level security, and one consolidated staff dashboard.
Result
One link that stays current, and partners and billers each see only what they're allowed to see.
  • CCH Axcess
  • Practice CS
  • Power BI
See how this fits the platform

Power BI on practice-management and QuickBooks data

Time entries from the practice system and revenue from QuickBooks Online in one dashboard, plus time-entry reminders that send themselves.

Problem
The firm wanted time-entry reminders that didn't depend on someone sending them, and one view of time and revenue across its practice system and QuickBooks Online.
Built
A weekly time-entry reminder by Power Automate, and a Power BI dashboard that joins practice-management time with QuickBooks Online revenue.
Result
Weekly time-entry reminders go out without anyone sending them, and time and revenue sit side by side in one dashboard.
  • QuickBooks Online
  • Power BI
See how this fits the platform

Cash-cycle and capacity dashboards on Practice CS

WIP aging, realization, AR, staff budget vs. actual, and project deadlines in Power BI.

Problem
Practice CS data wasn't surfaced anywhere staff could act on it: no view of WIP aging, realization, capacity, or budget vs. actual hours.
Built
A Power BI suite for client KPIs, AR and unbilled WIP, staff budgets and billable hours, and a project view for capacity and deadlines.
Result
A days-to-bill measure that the firm's Practice CS reports didn't offer, shown next to days to collect.
  • Practice CS
  • Power BI
See how this fits the platform

Capacity dashboard for a small remote firm

Billable vs. non-billable hours, remaining project budgets, and task priority by staff member, scoped at a fixed fee.

Problem
The practice-management platform rolled job hours up weekly, which hid task-level detail and made capacity planning unreliable.
Built
A custom Power BI dashboard, scoped at a fixed fee and near-final within a week, showing hours, remaining budgets, and task priority per person.
Result
In use at the firm: each staff member sees their own open tasks with remaining budget hours, so it's clear what to work on next.
  • Karbon
  • Power BI
See how this fits the platform

Tax-return workload by staff member

Ready, overdue, and in-progress returns per person, with executive and detail views.

Problem
No view of tax-return workload by staff member, and no way to compare completion pace with the prior year.
Built
A Power BI dashboard of ready and overdue tax tasks by staff member, with executive and detail views. Prior-year comparison and budget hours are the next phase.
Result
Ready and overdue returns for every staff member on one screen, instead of pieced together by hand.
  • Practice CS
  • Power BI
See how this fits the platform

PTO and overtime reporting for a payroll change

The firm's payroll hours report, updated for biweekly pay, treating PTO for salaried staff and overtime for hourly staff separately.

Problem
The firm was moving to biweekly payroll, and its payroll hours report needed to treat salaried PTO and hourly overtime differently.
Built
An update to the firm's payroll hours report on CCH Axcess time data: salaried staff at a fixed 80 hours per period with PTO shown separately, overtime for hourly staff, and output ready to submit to Paylocity.
Result
One report for the biweekly cycle now replaces the separate monthly and biweekly reports.
  • CCH Axcess
  • Power BI
See how this fits the platform

CCH Axcess reports exported to Excel by bot

An RPA bot sets the report parameters and criteria the same way every time, runs the report, and saves it to Excel.

Problem
Setting up a CCH Axcess report meant re-entering parameters and selection criteria by hand, which was slow and easy to get wrong.
Built
An RPA bot that configures the parameters, selects the criteria, runs the report, and exports it to Excel.
Result
Reports come out the same way every run, without anyone rebuilding the settings.
  • CCH Axcess
See how this fits the platform
3 projects

Billing, AR & payables

Practice CS to QuickBooks Online sync

Clients and invoice lines move from Practice CS to QBO automatically, matched on the Practice CS client ID with a fuzzy-name fallback for near-duplicates.

Problem
After the firm moved invoicing to QuickBooks Online, invoices and client records were keyed in by hand. Invoice descriptions were stored as old rich-text formatting, so a $2.22 line arrived wrapped in font and colour codes.
Built
An automated client and invoice sync with tax-area handling, active-client filtering, and matching on the Practice CS client ID with a fuzzy-name fallback. A parser strips the rich-text formatting cleanly, and the sync detects whether an invoice is a detailed or a summary layout and adapts.
Result
In use for the firm's monthly billing. Staff review each invoice before it goes out, and the firm says it saves a lot of time.
  • Practice CS
  • QuickBooks Online
See how this fits the platform

AR reminders and data clean-up

Reminders and card payments triggered by aging, and a clean-up review that flags AR still sitting on inactive clients.

Problem
Inactive clients with outstanding AR, duplicate metadata, and overlapping staff fields were quietly distorting reporting.
Built
A review of client, contact, and staff records that produced a clean-up list, with a proposed AI data-integrity agent to keep the data clean afterward.
Result
Flagged about $53,000–$54,000 in AR still on inactive clients, which likely overstates what the firm can collect.
  • CCH Axcess
  • QuickBooks Online
  • Power BI
See how this fits the platform

Payables processing by bot

Vendor invoices read and coded by a bot, with per-invoice approval and a recorded trail designed as the next step.

Problem
Each payables run meant reading, keying, and coding every vendor invoice by hand.
Built
A bot that reads each invoice and codes it, tested alongside the manual process. Per-invoice email approval with a recorded trail was designed as the next step.
Result
Watching a test run, the client's finance lead estimated it would take her payables run from about 45 minutes to 15.
  • SharePoint
See how this fits the platform
2 projects

Time entry

Utilization from three time sources in one view

Time data from the financial system, a screen-time tracker, and payroll combined, so discrepancies per employee are visible.

Problem
Time-tracking data lived in three disconnected spreadsheets, so discrepancies per employee were hard to see or discuss.
Built
A consolidated view of time by employee and date, with discrepancies highlighted. An automated Power BI version is scoped as the next phase.
Result
One view for comparing time entries by employee and date across the firm's sources, instead of three separate spreadsheets.
  • Power BI
See how this fits the platform

Financial Cents time synced into CCH Axcess Practice

A CAS team keeps Financial Cents for tasks and time while the firm bills from CCH Axcess. Time entries cross every day, reviewed by staff first, with no re-keying.

Problem
The CAS department logged time in Financial Cents while billing, WIP, and realization lived in CCH Axcess Practice, so someone re-entered the week's time by hand. CCH Axcess has no API for time entry import.
Built
A daily run that pulls recent entries through the Financial Cents API, maps clients by ID, staff by email, and service codes and projects to CCH's naming, then emails each person their own entries with errors flagged. Two hours later a Power Automate bot imports the cleaned data through the CCH Axcess screens. The administrator replies "Resync" to rerun a day, and entries already imported are skipped.
Result
CAS hours reach CCH Axcess on a known schedule, earlier on Mondays so partner reports cover the prior week. A daily comparison also flags clients, projects, and service codes that exist in one system and not the other.
  • Financial Cents
  • CCH Axcess
Read the full case study
2 projects

AI assistant

A daily return-status report, and an AI assistant for client emails

A report that shows where every return stands each morning, and an AI assistant, in testing, that matches a forwarded client email to the client and proposes the task.

Problem
No single view of where each return stood across CCH Axcess and ShareFile, and client emails were turned into tasks by hand.
Built
A daily tax-return status report, and an AI assistant that matches incoming emails against QuickBooks Online and CCH Axcess data and proposes the task. The assistant is in testing.
Result
The practitioner opens the status report each day instead of checking returns one by one.
  • CCH Axcess
  • QuickBooks Online
See how this fits the platform

AI assistant connected to your practice system

Ask “which clients are missing an email?” in plain English. A working demo connects an AI assistant to Financial Cents and CCH Axcess through MCP, with a Karbon connection in development.

Problem
Checking data quality or finding a client's work meant digging through each platform's screens separately.
Built
MCP servers for Financial Cents and CCH Axcess that let an AI assistant look up clients and tasks, run data-quality checks, and pull documents from SharePoint in plain English. A Karbon connection is in development.
Result
In the demo, a lookup that takes several screens becomes one plain-English request.
  • Karbon
  • Financial Cents
  • CCH Axcess
  • SharePoint
See how this fits the platform
3 projects

E-file & status tracking

UltraTax CS returns matched to Karbon by bot

A bot exports UltraTax CS's client status and rejected e-file reports when staff ask, and matches every return to its Karbon client and work item. Final returns feed a staff-approved client inactivation in Karbon.

Problem
UltraTax CS has no API. Return status, e-file rejections, and finished returns had to be checked in UltraTax and carried into Karbon and the client folders by hand.
Built
A bot that signs in to UltraTax CS on request, exports the client status and rejected e-file reports, and matches each return, with any rejection reason, to its Karbon client and work item. Final returns go on a review list: once staff approve, the client is inactivated in Karbon, its open work items close, and recurring work stops. Returns printed to a holding folder are filed to the client's documents in Karbon and SharePoint.
Result
Returns, rejections, and Karbon work items come together in one list instead of two systems. Businesses that filed a final return are flagged before next season, so staff stop chasing closed clients, and printed returns reach Karbon and SharePoint without anyone filing them.
  • UltraTax
  • Karbon
  • SharePoint
See how this fits the platform

SafeSend client uploads filed into CCH Axcess

When a client uploads documents in SafeSend, the files land in their CCH Axcess Document folder on their own.

Problem
Documents clients uploaded through SafeSend had to be moved into CCH Axcess by hand.
Built
A service that acknowledges SafeSend's notification immediately, then downloads and files the document in the background through a job queue.
Result
Client uploads reach the client's CCH Axcess Document folder without anyone moving them.
  • SafeSend
  • CCH Axcess
See how this fits the platform

Has this client sent their documents? One portal answers it

Client organizer activity, Karbon work items, and file locations across SharePoint and the network drive, in one view.

Problem
Preparers checked three systems to learn whether a client had sent their documents and where the files were. The client organizer portal has no API.
Built
A web portal that reads the organizer with an automated browser, cross-checks every result against a separate export before trusting it, and shows where each client's files sit in Karbon, SharePoint, and the network drive. It only reads from Karbon unless a user explicitly writes back.
Result
Status and folder checks in one screen instead of spreadsheets. Karbon data is cached and refreshed on demand, so the portal stays fast without hammering Karbon's API.
  • Karbon
  • SharePoint
See how this fits the platform
3 projects

Reconciliation & clean-up

WIP and AR reconciliation after a merger

An AR and WIP analysis as of the merger date, so partners can see why the balances move and how the reports tie out.

Problem
After a merger, the firm couldn't tie its AR and WIP reports out across offices, and the balances kept moving.
Built
An AR and WIP analysis as of the merger date for both offices, and a proposed monthly roll-forward check so the WIP reports tie out.
Result
Showed why the balances kept moving: invoices and WIP were changed after the fact, and part of the AR balance was adjustments, not open invoices.
  • CCH Axcess
  • Power BI
See how this fits the platform

Engagement binder purge by retention rules

Closed engagement binders identified by retention criteria and purged in phases, starting with audit, with a list of every binder flagged.

Problem
Years of closed engagement binders were eating storage, and the firm had no formal purge process.
Built
A purge in three phases by retention criteria (audit binders first, then tax, then ACS files), plus a bot that adds admin users to client portals.
Result
The first review flagged about 3,800 binders for deletion, and the audit phase is complete.
  • CCH Axcess
See how this fits the platform

Bulk client updates in CCH Axcess from Excel

Client, contact, staff, and project data reviewed in a spreadsheet, then written back to CCH Axcess Practice in one pass.

Problem
After a merger, client data in CCH Axcess Practice no longer matched across the combined firm.
Built
A Python update process that uses Excel as the staging area: the firm reviews and corrects the data in a spreadsheet, and the tool applies the changes to CCH Axcess Practice in bulk.
Result
Changes reviewed in a spreadsheet, then applied as one batch over a weekend so staff weren't disrupted.
  • CCH Axcess
See how this fits the platform
Steven Duc Tran, CPA, CIA

Have a problem that isn't on this page?

Most projects start as something that isn't on a list. One call is enough to tell you whether we can help and where we'd start.