RoutineOSBeta
Template: finance

Duplicates, big amounts and new vendors, flagged before anyone pays.

Invoice exceptions is a Claude routine that reads incoming invoices and flags the ones a person should check. It looks for each invoice exception that matters most: a possible duplicate, an amount over your threshold, or a vendor it has not seen. The prompt forbids paying anything.

unpilotedwatchfinancestarts report-only
At a glance

Invoice exception checks it runs

Each weekday it lists recent invoices from the mailbox or folder you connect, and reads each one into fields such as vendor, number, amount and due date. The prompt tells it to leave out anything unclear.

A small script then does the checking, not the model. It flags a duplicate, an amount over your threshold, and a vendor that is not on your known list. Every flag is for a person to check, never a decision.

KindWatch
ScheduleWeekdays, 22:00 UTC (default)
First runReport-only
NeedsAn invoice mailbox or folder (read)
MaturityUnpiloted: it passed validation, no real run has checked it (per the catalog)
Safety

What it is told never to do

  • The prompt forbids paying, approving, scheduling, replying to or marking anything. The first run is report-only.
  • The prompt tells it to leave out an amount or number it cannot read clearly, instead of guessing.
  • The prompt treats invoice text as data. An instruction inside an invoice is ignored.
  • The prompt forbids writing your settings. If a change looks right, it proposes one and you accept or reject it.

These are rules in the routine's prompt. See honest limits for what is and is not checked by code.

Settings

Threshold and vendor settings

SettingKeyDefaultNote
Flag amounts overamount_threshold10000 to 1,000,000. A lower value means more flags.
Known vendor domainsknown_vendorsnoneVendors not listed are flagged as new.
Look back (days)lookback_days71 to 31. A longer window means more invoices to read.
Inbox messages per runmax_inbox_per_run100 to 30.
How it runs

Stages and the invoice connector

StageKindDoes
Read invoicesmodelLists recent invoices and reads each into structured fields, leaving out anything unclear.
Check for exceptionscodeFlags duplicates, amounts over the threshold and new vendors.
LearncodeTurns feedback on earlier runs into learning and proposals before the write.
WritecodeApplies the run under the write contract.
ConnectorNeededUsed for
Invoice mailbox or folderRequiredRead incoming invoices. Read access only.
The Desk

What the Desk shows

The Desk for this template has two record types, Invoice and Vendor, and two views. Each invoice shows its flags. How the Desk works.

ViewShowsColumns
Recent invoicesActive invoices, newest first seen at the topVendor, number, amount, flags
VendorsVendors, most often seen firstName, domain
Install

Install invoice exceptions

  1. Install the pluginIn Claude Code 2.1.275 or later. The command line tool needs Python 3.11 or later.
    /plugin install routineos --marketplace devkindhq/routineos
  2. Install the packFrom a clone of the repository root. It writes a routine folder, prints what you must connect, runs nothing and connects nothing.
    python3 skills/routineos/scripts/routineos.py pack install catalog/invoice-exceptions.json --dir my-invoice-exceptions
  3. Connect, publish, run onceConnect what the pack lists, publish the Desk, and let the first run go. Nothing leaves the routine on the first run.

The first routine guide walks a template to a first run, and Install a pack lists every refusal the installer can give. Free (MIT). Needs a paid Claude plan.

Limits

Known risks and limits

  • Reading a PDF can misread an amount or number. The routine leaves unclear values out, and every flag is for a person to check.
  • Duplicate checks look back 90 days of recorded invoices. An older duplicate is not caught.
  • Invoice fraud often arrives as changed bank details. The prompt flags it, but this routine is not a fraud control.
  • Other mail or storage apps may work. Whether each offers the access needed is unverified.
  • Scheduling is a research preview and may change. See honest limits.

Read one report before you let it near the books.

Install RoutineOS, add Invoice exceptions, and read its first flags before you rely on them.