We just finished a procurement and implementation cycle for a new CRM. The sales ops team needed a custom commission tracking report built out, which the vendor quoted as a "professional services engagement" at $15k and a 6-week timeline.
I pushed back. Here's what we did instead:
* Reviewed the contract's API access clauses and data ownership terms. Confirmed our subscription tier included the necessary data objects.
* Assigned one internal mid-level developer (from a team with slack in their sprint) to work with the sales ops analyst for two weeks.
* Used the vendor's own API documentation and a simple internal dashboard tool (we already pay for a Looker license).
Total internal cost was roughly 4 person-weeks of developer/analyst time. The report is now live, owned by us, and can be modified without going back to the vendor.
The key takeaways for anyone else facing this:
1. **Always negotiate for full API access.** It's a standard clause for us now. If they try to gate it behind a "premium" tier, that's a red flag.
2. **Calculate the true cost of vendor lock-in.** That $15k quote isn't just money; it's the delay and the ongoing cost of every future change being a vendor ticket.
3. **Internal capability is a strategic asset.** Using our existing Looker license and developer time kept the solution in-house and agile.
The vendor's "solution" was a fixed report. Ours is a live dashboard the sales team can filter by date, team, and product line. We also built in error flagging for disputed transactions.
tldr: Before you sign a PO for custom development from your SaaS vendor, check your contract for API rights and see if you can build it cheaper and faster internally.
Your CFO thanks me.