
- Contract value and actual spend almost never match; the gap holds overbilling, drift, and missing receipts
- Build your vendor list from payments, not from the contract folder
- Read-only ERP and card feeds make reconciliation continuous instead of an annual project
- Corrected numbers become your renewal forecast
Software spend reconciliation is the practice of comparing what your software contracts say you should pay against what actually left your accounts: the invoices posted in your ERP and the charges landing on corporate cards. Do it for a quarter and you will almost certainly find the two numbers don’t match. The gap is where overbilling, missing receipts, off-contract purchases, and renewal price creep live.
Most companies track one side of this equation or the other. Finance sees payments in NetSuite. IT or procurement sees a contract folder. Almost nobody puts the two side by side, vendor by vendor, month by month. In License Logic’s interviews with 80 mid-market executives, 49% said they lack centralized visibility into their SaaS estate, and you can’t reconcile what you can’t see in one place.
This article covers why contract-only tracking misses reality, what reconciliation against ERP and card data actually catches, and how to set it up without building spreadsheets that die the moment their owner goes on vacation.
Why doesn’t your contract value match your actual spend?
Because a contract records what you agreed to pay, while your ERP records what you actually paid, and dozens of ordinary events push those apart. Neither number is wrong. They just answer different questions, and the difference between them is information most teams never look at.
Common reasons the numbers diverge:
- Renewal uplifts that never made it into your records. The vendor applied a 7% increase at renewal; the contract on file is still last year’s. Your ERP shows the new price, your contract tracker shows the old one.
- Usage-based and overage billing. Seats added mid-term, storage tiers crossed, and API overages, all invoiced monthly against a contract that only states a base commitment.
- Purchases that bypassed the contract process entirely. A team expenses a tool on a corporate card. There is no contract to compare against, so contract-only tracking simply doesn’t see it.
- Billing errors. Duplicate invoices, charges continuing after cancellation, seats billed above the contracted count. Without a contract next to the invoice, these sail through AP untouched.
- Missing documentation. Payments going out with no invoice or receipt attached at all. One business-services finance team we spoke with discovered roughly $70,000 in missing receipts once they started matching payments to source documents.
Each of these is invisible if you only look at one system. Reconciliation is the act of looking at both.
What does contract-only tracking miss?
Contract-only tracking misses everything that happens after signature: price changes, overage charges, billing mistakes, and every purchase that never went through a contract. A contract repository tells you your committed spend on the day you signed. It says nothing about what has happened since.
That gap compounds at renewal time. If your renewal forecast is built from contract values alone, you’re forecasting from stale numbers. The vendor’s actual invoicing may already be 10-20% above the figure in your tracker. In the same 80-executive research, 50% of leaders reported being surprised by renewals, and 50% estimated that 20% or more of their license spend goes to unused seats. Both problems trace back to the same root: nobody is comparing the paper to the payments.
There’s also a subtler failure mode. When contract data and payment data live in different systems owned by different teams, each team assumes the other has it covered. Finance assumes IT validated the seat count; IT assumes finance validated the invoice. In practice, neither validation happens, because neither team has both documents in front of them. Centralizing that comparison is the core of practical software spend management.
What is software spend reconciliation, step by step?
Software spend reconciliation means matching each vendor’s actual transactions (from your ERP and card feeds) against that vendor’s contract, then investigating every variance. Done manually, the workflow looks like this:
- Build a complete vendor list from the money side, not the contract side. Start with your NetSuite transaction history and card statements. Every payee is a software vendor candidate, including the ones nobody signed a contract with.
- Match each vendor’s transactions to a contract. No contract found? That’s a finding in itself: shadow purchase, expired agreement still billing, or a contract filed somewhere it shouldn’t be.
- Compare annualized actual spend to contracted value. Flag any vendor where the delta exceeds a threshold you set (5% is a reasonable starting point for mid-market portfolios).
- Classify each variance. Legitimate (usage growth, contracted uplift), correctable (billing error, post-cancellation charges), or structural (off-contract purchasing that needs a process fix).
- Feed the results forward. Corrected numbers become your renewal forecast and your accrual inputs, so the next budget is built on what vendors actually charge, not what an old PDF says.
The catch: doing this in spreadsheets means exporting NetSuite transactions, exporting card data, normalizing vendor names (your ERP says “MSFT AZURE,” the contract says “Microsoft”), and repeating the whole exercise every month. Most teams do it once before a budget cycle, find real money, and then never do it again because the manual lift is brutal.
How does License Logic reconcile contract vs actual spend?
License Logic brings your ERP spend into the same view as your contracts: it connects to your NetSuite and Ramp accounts read-only, pulls transaction data on an automated daily cycle, and shows actual spend next to contracted value for each vendor.
To be precise about what that means:
- You connect the integration; License Logic reads from it. The NetSuite connection is customer-connected and read-only. License Logic is not an ERP and never writes to your books; NetSuite remains the system of record for accounting. License Logic is where contract, spend, and usage data sit side by side so the comparison actually happens.
- Card and AP spend comes in through Ramp. Software purchased on corporate cards (the classic shadow-IT channel) lands in the same view as your ERP-invoiced spend, so the vendor list is built from real money movement rather than from whoever remembered to file a contract.
- Contracts are already structured. License Logic’s AI extraction pulls values, dates, and line items from each uploaded contract, so the “contract says $X” side of the comparison is machine-readable rather than buried in a PDF.
- Variances surface instead of hiding. A vendor whose transactions exceed the contracted value, a payment stream with no matching contract, or spend continuing past an end date shows up as something to investigate before renewal, not after.
The practical payoff is that reconciliation stops being an annual archaeology project and becomes a standing view you check. Teams use it to catch overbilling while the invoice is still disputable, to chase down undocumented payments while the trail is warm, and to walk into renewals knowing the real run-rate. Where price intelligence benchmarks are available for a vendor, you can also see how your rate compares before you negotiate.
This is deliberately narrow. License Logic doesn’t replace your ERP, your AP process, or your accountants. It gives the people responsible for software spend a single source of truth for the contract-versus-actual question, which is the question neither the ERP nor the contract folder can answer alone. For the broader waste-reduction picture, see our guide to SaaS spend optimization.
What should you do first?
Start with your top ten vendors by spend and run one manual pass: pull twelve months of transactions for each, put them next to the contract, and total the variance. This costs an afternoon and tells you whether you have a reconciliation problem worth systematizing. In our experience talking to mid-market finance and IT teams, the first pass almost always finds at least one of: a post-renewal price increase nobody recorded, charges from a tool someone believed was cancelled, or a vendor with no contract on file at all.
If the afternoon pass finds real money, that’s your case for making reconciliation continuous, either by staffing the spreadsheet permanently or by connecting your ERP and card data to a platform built for the comparison. You can see how License Logic approaches it at licenselogic.co/solutions.
Frequently asked questions
Is the NetSuite connection read-only?
Yes. You connect License Logic to your own NetSuite account, and the integration only reads transaction data. It never writes to NetSuite, never modifies records, and never touches your books. NetSuite stays your accounting system of record.
Can you pull historical transactions?
Yes. The initial sync includes historical transaction data, not just go-forward activity, so your first reconciliation view has real history behind it. You can compare actual spend against contract value for past periods from day one rather than waiting months for data to accumulate.
Does License Logic replace our ERP or accounting process?
No. License Logic is not an ERP or accounting system. It reads spend data from NetSuite and Ramp and puts it next to your contracts so the contract-versus-actual comparison is visible. Your ERP, AP workflow, and close process are unchanged.
How often does the spend data update?
Transaction data refreshes on an automated daily cycle, so the spend side of the reconciliation view reflects recent activity without anyone exporting or uploading files.
What if we use Ramp but not NetSuite (or the other way around)?
Either works, and together is better. NetSuite covers invoiced AP spend; Ramp covers card spend, where off-contract software purchases usually hide. Connecting both gives the most complete picture of contract vs actual spend, but each is useful on its own. Details on plans are at licenselogic.co/pricing.