Finance
Expense categorization that escalates instead of guessing
A worker pulls receipts out of the mailbox, codes them against your own chart of accounts, and puts anything ambiguous in a pile for you rather than picking a category to look finished.
What the worker does
An AI worker in Polaris categorizes expenses by reading receipt mail in Gmail and statement exports in Google Drive, matching each line to your own chart of accounts, and returning a coded file plus a separate escalation list of transactions it could not place with confidence. The rules live in an editable SKILL.md. A person reviews the escalations and approves the coding before anything reaches the books.
- Connections
- Gmail · Google Drive
- Rules live in
- An editable SKILL.md
- Output
- Coded file + escalation list
Categorization tools fail on the 6% that matter
Rules-based coding gets the easy lines. The airline is travel, the hosting bill is infrastructure, the coffee shop near the office is meals. That part was solved years ago.
The lines that cost you time are the ones with no obvious home: a single payment covering three things, a subscription that is half marketing and half tooling, a reimbursement to a contractor with no receipt attached, a supplier whose legal name looks nothing like the brand you know. A classifier that assigns those a category with fake confidence has not saved you work. It has hidden work.
The worker's job here is to split the pile honestly. Coded and confident on one side, escalated on the other, with the reason it stalled written next to each escalation.
How it handles the awkward cases
| Transaction shape | What the worker does |
|---|---|
| Clear match to a rule in the skill file | Codes it, cites the rule it applied |
| Merchant name unrecognised | Runs a web search on the merchant, proposes a category, marks it as proposed |
| One payment, several cost types | Escalates with the receipt attached and the suggested split |
| No receipt found in the mailbox | Codes nothing. Lists it under missing documentation with the amount and date |
| Amount above your review threshold | Escalates regardless of confidence |
| Personal-looking spend on a company card | Escalates to the named human in the skill file. Never categorized silently |
Where the boundary sits
The worker
- Finds and reads the receipts
- Applies rules you wrote
- Researches unknown merchants on the open web
- Produces a coded file and a missing-documentation list
- Explains every proposed category
Your bookkeeper or accountant
- Owns the chart of accounts
- Rules on deductibility and on anything with a tax consequence
- Resolves the escalations
- Posts to the ledger
- Closes the task
Getting the rules right the first month
The skill file is where the accuracy comes from. Write it like you would brief a new bookkeeper.
Name your accounts exactly
Paste your actual chart of accounts into the SKILL.md. A worker guessing at your account names is a worker generating rework.
Give the ten merchants you argue about
Every team has a handful of recurring lines that get miscoded. Write those down with the correct account and the reason.
Set the escalation threshold in money, not in confidence
Anything over an amount you would want to see personally goes in the escalation pile no matter how obvious it looks.
Say who owns escalations by name
The file names a human. Unowned escalations sit in a comment thread and rot.
Questions people ask
+Can it write directly into our accounting software?
No. Accounting platforms are not in the Polaris connection catalog. The worker delivers a coded file as a comment on the task, and a person imports or posts it. That keeps a human between the classification and the ledger.
+How does it learn our preferences over time?
By you editing the skill file. When a category is corrected, the corrected rule goes into the SKILL.md as a line anyone can read. There is no hidden model of your preferences drifting in the background.
+What if a receipt is a photo rather than a PDF?
The worker reads what arrives in the connected mailbox and in Drive. Where it cannot extract a reliable amount or date, it lists the transaction under missing documentation rather than inventing values from a blurry image.
+Is our financial data used to train a model?
Polaris stores your workspace data in its own Postgres database with row-level security, and connection credentials are held server-side where browsers cannot read them back. Treat the specifics as a question for the privacy policy at polaris-legal.pages.dev rather than for a marketing page.
Related
Finance work with an AI worker on the roster
The chasing, sorting and assembling that fills a finance week, prepared by a worker you brief once and review every time.
Invoice tracking that produces a chase list, not a dashboard
A worker matches Stripe payments to what you invoiced, ages the gap, and drafts the reminder for each account. You decide who actually gets chased.
Budget reports written for the people who did the spending
Plan against actuals is easy to produce and hard to read. A worker writes the variance up in sentences a department head will actually act on.
Hire an AI bookkeeper
It does the sorting, chasing and drafting that eats a finance afternoon, and it stops at the line where a qualified person has to sign.
Connect Gmail to Polaris
The honest version: Gmail is in the catalog, the Google sign-in flow has not shipped, and the product says pending rather than pretending.
Connect Google Drive to Polaris
Files a worker produces already arrive as attachments on the task. Files your team already keeps in Drive are the part still waiting.
Skill file
The capability an agent has, written down where a person can read and edit it.
Human-in-the-loop
The system cannot complete the loop without a person, by design.