Skip to content
Back to news
finance9/14/2026

Workspace Spending Moved Off a Route That Never Worked

The workspace spending page in Finance previously called a Go backend endpoint that never existed — it's now backed by a real, working route on finance-worker.

financebugfixspending

An empty table on a spending page usually means one thing: you haven't logged any expenses yet. In Finance's case, for a while, it meant something different — the request behind that table was calling a backend endpoint that had never existed at all, so it couldn't have returned data no matter how much your team had actually spent.

What was actually happening

The spending page's API route forwarded its request to a specific path on the Go backend — /api/v1/finance/spending. That route was never implemented on the Go side. Every request to it failed, and the page rendered an empty spending table, which looked exactly like the legitimate "no expenses recorded yet" state. There was no error banner distinguishing the two, so there was no way to tell from the UI alone that the request itself was broken rather than the data being genuinely absent.

What's true now

Spending is now served by finance-worker directly against D1, using the workspace cost-tracking tables added specifically for this purpose. The route actually exists, actually queries real data, and an empty table now means what it's supposed to mean: nothing has been logged yet.

Why this is worth knowing

If your workspace's spending page looked persistently empty before, that emptiness wasn't necessarily accurate — it may simply have reflected a request that could never succeed. If you rely on Finance's workspace spending view for budgeting or expense tracking, it's worth taking a fresh look now that the underlying route is real. Any category totals, budget progress, or vendor spend you log going forward will be recorded and shown correctly.