Finance and IT teams at companies with 50+ software subscriptions

Get refunds for software double charges and stop paying for unused seats

Reads card, AP or SaaS-inventory exports and finds software charges billed twice, after cancellation or above the contract price, plus seats nobody uses and subscriptions paid twice. It flags every auto-renewal before its notice date and drafts the refund or seat-change request for each vendor.

The problem

Software renews itself. Seats bought for a project stay paid after it ends, two teams buy the same tool on different cards, prices rise without a contract change, and cancelled subscriptions keep billing. Zylo reports that on average 46% of SaaS licences go unused.

How it works

  1. Step 1Export software chargesFrom the AP ledger or your corporate card or bank feed.
  2. Step 2Group into subscriptionsEach subscription is one vendor and product, on one payment method, for one owner, so duplicates become visible.
  3. Step 3Find refundsCharges billed twice in a period, charges after cancellation, seat prices above contract and price rises with no contract change.
  4. Step 4Find savingsUnused seats, subscriptions nobody uses, duplicate subscriptions and auto-renewals about to lock in.
  5. Step 5Act before renewalERPSav drafts refund requests and keeps a renewal calendar with each notice date.

Typical results

Unused licences, on average
46%
Source
First-year savings
10–25% of the software spend reviewed, mostly at renewal
estimate

What the engine checks

  • Double charges and charges after cancellation
  • Seat prices above the contract and unagreed price rises
  • Paid seats above active users, and subscriptions idle for 90 days
  • The same product paid on two cards or by two departments
  • Auto-renewals inside the notice window, with the deadline

What you upload

A CSV export. Header names are matched automatically; these are the columns the engine reads.

ColumnRequiredExample
VendorYesSlack
ProductSlack Business+
Charge dateYes2026-09-03
AmountYes1250.00
Billing frequencyMonthly
Service period2026-09
Seats / licences100
Active users96
Contract price per seat12.50
Billed price per seat12.50
Tax0.00
Renewal date2026-12-15
Notice days30
Auto-renewsYes
Cancellation date2026-09-15
Last activity2026-06-20
Owner / departmentEngineering
Payment methodVisa 4242
Download the sample file

What you need

  • Software charges from your AP ledger or corporate card feed
  • Seat counts and active users from admin consoles (optional)
  • Contract prices, renewal dates and notice periods (optional)
  • Cancellation confirmations (optional)

Questions

Which deadlines matter?
Renewal notice periods. Miss one and the contract renews for another term. ERPSav lists renewals with their notice dates, nearest first.
Is this money back or money saved?
Both, kept apart. Refunds are charges already paid that were not owed. Savings are spend you avoid from the next term, which needs you to cancel or downsize.
Do we need SSO or an integration?
No. It works from an AP or card export. Seat data from admin consoles makes the unused-seat check exact.
What does it cost?
Self-serve plans start at $299 a month and you keep 100%. The Recovery plan is $99 a month for this module plus 12% of refunds and first-year savings. Managed is 25% of first-year savings.
Is our data safe?
Your files go into your own workspace, and every row is scoped to it, so no other customer can see them. Imports, letters and status changes are written to an audit trail with who did what and when. ERPSav runs on its own servers in the EU behind Cloudflare, and most modules work from a CSV export, so nothing is installed.

ERPSav shows what to cancel or dispute and drafts the request; you decide and send it, and no software vendor pays ERPSav.