Skip to main content
GullySystem
A practical guide

What a software proposal leaves out: licences, migration and support

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

A proposal with one figure and one duration usually omits data migration, training, staff hours during changeover, licence renewals, hosting and support after the first year. Ask for every line priced on its own, with the requirement behind it named in plain words, so gaps show up before signing rather than after.

One figure and one date

Open the quotation. Look for one total beside one date. That is the warning sign. A real project moves through discovery, build, user testing, go-live and a warranty period, and each stage can carry its own price and its own sign-off.

The total is not wrong. It is incomplete. Vendors price what they will build, yet they rarely price what you must supply, such as test data, decisions and a named approver, or what happens in year two.

Read it with a pen. Phrases such as ‘as required’ or ‘standard’ hide costs that someone will dispute after the first milestone invoice lands, so circle each and ask what it covers.

The costs that sit outside the quote

Data migration comes first. Customer lists, item masters, open invoices and old job files sit in Excel workbooks or an Access file nobody has opened for years. Someone must map the columns, merge duplicates and run a trial load, and until that is done the go-live date is a hope rather than a plan.

Training has two parts, the vendor’s sessions and your staff’s hours away from the counter or the shop floor, and a quotation rarely mentions the second. Then comes changeover. Expect weeks of double entry into both the old workbook and the new system, with two sets of totals to reconcile every evening.

Third-party fees surface late. SMS and WhatsApp message charges, payment gateway fees, Google Maps lookups, transactional email and e-signature services are billed to you directly, month after month. None sit inside the build price.

  • Data cleaning and trial loads
  • Training sessions and staff time
  • Weeks of double entry
  • Message, payment and map fees
  • Hosting and backup storage

Years two and three

Ask what the bill looks like after go-live, because licence renewals, hosting, security patches, operating system upgrades and SSL certificate expiry all recur every year. Bug fixes are free only during the warranty period, and after that they are chargeable by the hour, so ask how long the warranty runs.

Check what support means: a reply within a working day, or a ticket queue with no promise, and whether a new report is support or a project. Those answers decide your yearly spend.

Ask who holds the source code, the hosting account and the domain registration, since if they sit in the vendor’s name a dispute can take the site offline. Leaving then costs far more.

  • Annual licence and hosting
  • Response time and hours covered
  • Rate for change requests
  • Ownership of code and accounts

Tie every cost to a requirement

Every line should trace to a request. Approval before dispatch becomes a role, a screen and a rule, each carrying developer hours, and a line with no matching requirement needs an explanation.

The reverse matters too. A requirement with no line has probably been left out, so walk down your requirement document with a highlighter and tick each item against the quotation, one by one.

Watch for ‘assumed’ and ‘out of scope’. That is where invoice two is born. Ask for both to be listed.

Questions to send before you sign

Write the gaps as questions and send them together in one email, asking for a revised quotation with separate lines for migration, training, licences, hosting and year two support. A vendor who answers plainly will be easier to work with once the build is running and the first change request lands on the desk.

Lay two proposals on one sheet, with the same lines for each, so differences in what is covered stand out at once. Accept an empty line only when the vendor confirms in writing that the work is included at no charge and will stay that way.

Do not sign yet. Every blank needs a figure or a reason, and the vendor’s reply email belongs in the contract file next to the signed copy.

Proposal gap checklist

A single sheet is ruled into three columns for the cost line, what the proposal says about it and the requirement it serves. Rows cover discovery, build, data migration, training, changeover hours, third-party fees, licences, hosting, year two support, year three support and code ownership. A box at the foot lists the questions sent to the vendor, the date each went out and the date each was answered.

Open a blank worksheet to print

Questions owners ask

Is it normal for a proposal to show only one price?

Common, especially for small projects. Request a breakdown anyway, because one price hides what was left out and makes comparing two vendors line by line almost impossible.

Who pays for data migration?

It depends on the contract. Some vendors include a trial load, others charge by record or by day, and your own staff will spend hours checking the loaded data against the old sheets.

What should year two support include?

It should list security patches, bug fixes, backups, restore tests and a stated response time, and say plainly that new features count as change requests priced on their own.

Can I negotiate these costs?

Yes, most easily before signing. Ask for fixed lines, a ceiling on change request rates, and an exit clause that returns a full data export in a usable format within an agreed period.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements