All case studies
Internal ToolsFive Star Group

Company Card Spend, Categorized Two Ways at Once

An internal spend-management app for a holding company running several LLCs on shared cards — every transaction gets a Category and an Entity, pre-guessed automatically at ingest so the accountant reviews instead of starting from zero.

Expense ManagementMulti-EntityInternal Tools
The Challenge

Five Star Group runs several LLCs off a shared set of company cards and one overworked accountant. Every transaction needs two answers, not one — what it was, GL-coded into a category, and which company it belongs to — and most off-the-shelf spend tools only handle the first dimension.

The tools that do handle entities treat it as an edge case, bolted on after the fact. For a business that's structurally multi-entity from the ground up, that split is the whole job, not a setting to configure around.

What We Built

We built Spendaroo around the two-dimensional reality of the business: every transaction gets categorized and entity-tagged, and the app leads with the actual work queue instead of a vanity dashboard number.

  • The home dashboard opens on the work itself — how many transactions need review, how many are missing a category, how many are missing an entity — not a chart nobody acts on.
  • Transactions sync automatically from card accounts via Plaid, cursor-based and deduplicated, so re-running a sync can never double a charge.
  • Categorization rules run at ingest — by the time a transaction reaches a human, it already carries a best-guess category and entity, and the job shrinks from categorizing everything to reviewing the guesses.
  • Every table is row-level-security scoped to the organization, Plaid access tokens are readable only server-side, and receipts live in a private storage bucket served through short-lived signed URLs.
  • Every write runs through a server action, and sensitive ones are audit-logged — who changed what, and when.
  • The review queue ends in an accountant-ready CSV export, so the last step of the month is a download, not a spreadsheet rebuild.

The Stack

Next.js 16SupabasePlaidVercel
Results

2 dimensions

Every transaction gets a Category and an Entity, not just one

1 day

From empty folder to a working, seeded, deployable app

Pre-categorized

Ingest-time rules mean review starts from a guess, not a blank field

Accountant-ready

Ends in a clean CSV export, not a spreadsheet rebuild

The dashboard leads with the work queue, not a vanity number.

Read the full build story

Want something like this for your business?

Tell us about your business and we'll show you exactly where a system like this fits — no pressure, no jargon.