Main content
Software Spend

See the seats you pay for, who holds them and what renews next

Varcio Software Spend is the register of what your organisation pays for by the seat: SaaS licences and AI tools together. For every plan it answers who holds each seat, which sit idle, which were bought and never assigned, which renewals are coming and what the idle seats are costing.

  • GitHubLive pull · seats and activityLive
  • OktaLive pull · assignmentsLive
  • Microsoft 365CSV importCSV
  • SalesforceCSV importCSV
  • SlackCSV importCSV
Renewals, idle seats and overlap in one register.
90 daysRenewal lookahead by default, with past-due renewals flagged
30 daysDefault idle threshold, configurable
2Live pulls today: GitHub and Okta
CSVImport for everything else, such as Microsoft 365, Salesforce and Slack
The measures

Each number has its formula on the page

A source that cannot say when someone last used a seat must not be able to produce a saving.

$1,200Monthly cost×12Idle seats÷100Seats purchased
=$144Reclaimable per month
How Software Spend measures seats. Reclaimable cost is an estimate at the plan’s average per-seat price, and is labelled as such.
MeasureDefinition
Idle seatA seat whose holder did nothing for a set number of days (default 30).
Unmeasured seatA seat whose last activity is unknown. Counted on its own and never treated as idle or as active.
Reclaimable costMonthly cost × idle seats ÷ seats purchased.
Over-provisionedSeats bought that nobody holds (purchased minus assigned), priced the same way.
True-up riskMore people assigned than seats bought, priced at the average per-seat rate.
RenewalsPlans whose renewal date falls in the next 90 days by default, plus any already past.

Scroll sideways to see the full table.

GitHub does not report when an organisation member last did anything, so those seats are unmeasured, not idle. A CSV without an activity column behaves the same way. That is why the module reports an unmeasured count separately instead of folding it into either number.

Where seat data comes from

Live pulls where they exist, honest imports where they do not

The interface says which route a plan uses rather than implying a connection that does not exist.

  1. SourcesLive pull or CSV
  2. Seat registerWho holds what
  3. MeasuresIdle, over-provisioned
  4. RenewalsNext 90 days

GitHub

Organisation members and Copilot seats, pulled live.

Okta

Users and last sign-in, pulled live. Last sign-in is the last sign-in to Okta itself, not use of any application behind it.

CSV import

Everything else, including Microsoft 365, Salesforce and Slack, comes in by CSV import.

Neither live pull reports a price, so you enter the price and seat count for each plan once and they are kept. A plan with no stated cost or seat count appears in the register as unpriced and contributes nothing to a saving, so a missing price can never read as a free plan.

AI tools

Seat-priced AI tools sit beside token-priced AI

AI coding assistants and chat tools are a seat cost with no usage API.

Seat-priced
  • Coding assistants
  • Idle seats
  • Renewals
Token-priced
  • Tokens by class
  • Per request
  • Per feature

The same register holds seat-priced AI tools such as coding assistants and team chat plans. Combined with AI Economics, it lets you see whether the seats you pay for are used, and how seat cost sits beside token spend, in one view of what AI costs.

Privacy and security

People are stored as a salted hash

The register is built so it does not become a new store of personal data.

Hashed people

Seat holders are stored as a salted hash. The address is kept only while your workspace shows people by name, and is never written when you chose pseudonyms.

Tokens encrypted

Connection tokens are encrypted at rest and never returned. Leaving a token out of a save keeps it.

Exact money

Money is computed in decimal and rounded to cents once, at the edge.

FAQ

Questions, answered

What does Software Spend track?

The register of SaaS licences and AI tools you pay for by the seat: who holds each seat, which seats are idle or unmeasured, which were bought but never assigned, true-up risk and which renewals are coming.

How does it decide a seat is idle?

A seat is idle when its holder did nothing for a set number of days, 30 by default. If a source cannot say when someone last used a seat, the seat is counted as unmeasured, never as idle, so it cannot produce a saving.

Which tools can it read directly?

GitHub (organisation members and Copilot seats) and Okta (users and last sign-in) can be pulled live. Everything else is imported by CSV.

How accurate is the reclaimable cost figure?

It is an estimate at the plan’s average per-seat price and is labelled as such. A plan with no price shows no saving.

Which plans include it?

Software Spend is available on every plan. Connecting GitHub or Okta needs permission to manage integrations.

Find the seats nobody uses

Connect GitHub or Okta, or import a CSV, and see idle seats and upcoming renewals. Free trial, no credit card required.