By Yair Knijn · August 5, 2025
Your IPAM spreadsheet was already wrong the morning you opened it
The infrastructure director opens master-ip-allocations.xlsx Monday morning and treats it as the truth. It is not the truth. It is a photograph of what one person believed was true the last time they remembered to type. Between that edit and this morning, an engineer reclaimed a /26 for a lab, DHCP handed out forty leases the sheet never heard about, and a decommissioned host kept its DNS record. The file did not change, so the director assumes the network did not either.
That assumption is the trap. A spreadsheet has no feedback loop from the live network. It records human intent at the moment of last edit, then starts drifting the instant it is saved, and it has no way to tell you it is lying.
Intent vs. reality: what a spreadsheet can and can't know
A cell that says 10.20.4.0/24 — RESERVED — VoIP tells you what somebody meant to do. It cannot tell you whether the VoIP gear ever shipped, whether a different team quietly borrowed the range, or whether half those addresses now answer pings from machines nobody documented. The sheet knows intent. The network knows reality. Those two diverge the moment intent is acted on by anyone who does not also stop to update row 412.
This is why importing a spreadsheet into a real IPAM tool without scanning first just recreates the same lies in a nicer format. The practitioners who do this well treat the spreadsheet as an untrusted input: run a network scan, reconcile what the sheet claims against what DHCP leases and DNS records actually serve, and let the mismatches surface before you trust a single allocation.
The compounding error: decisions built on stale data
One wrong cell is an annoyance. The damage is that every decision downstream inherits the error and adds its own. You carve a "free" /24 that was silently in use, so you create an overlap. Capacity planning reads the same sheet and concludes you have room you do not have. A firewall rule gets scoped to a subnet that moved. None of these failures point back to the spreadsheet, because by the time the routing incident lands, the original bad edit is months old and the person who made it has left.
Stale records do not stay still and harmless. Expired DHCP leases, orphaned DNS entries, and double-booked CIDRs accumulate, and each new allocation made against that pile is built on a slightly worse foundation than the last.
Why "we'll keep it updated" never survives contact with ops
Every team that adopts a spreadsheet promises discipline. The promise dies the first time an on-call engineer fixes an outage at 02:00 and allocates an address from memory to get traffic flowing. They are not going to alt-tab to SharePoint mid-incident, and they shouldn't have to. The work that changes the network and the work that records the change are done by different people, at different times, under different pressure. Any system that depends on a human closing that gap by hand will drift, because the gap is exactly where real operations happen.
- The person making the change is rarely the person who owns the sheet.
- Updates compete with the actual incident and lose.
- There is no alarm when an edit is skipped, so skipped edits are invisible.
- By the time drift is noticed, nobody can reconstruct which entries are wrong.
Closing the loop: discovery-fed inventory as the system of record
The fix is not a better spreadsheet or a stricter policy. It is making reality the source. An inventory fed by active discovery, DHCP, and DNS observes the network instead of waiting to be told about it, then flags where documented intent and observed state disagree. The record updates because something on the wire changed, not because a human remembered. That inverts the whole failure mode: instead of trusting the sheet until an incident proves it wrong, you trust observation and let it correct the record continuously.
This is what Spot IPAM is built to do inside each Environment: reconcile what you think you allocated against what DHCP and DNS actually serve, surface overlapping CIDRs before they collide, and tell you who owns an address before anyone reclaims it. The spreadsheet was never the problem with your data. The missing feedback loop was. See how the discovery and reconciliation features close it.