Billing system rescue
Hypothetical. Not a client, not a result.
// The problem
A regional water board bills from an Access database with macros written by a former employee, meter readers key reads from paper, and a change to the rate table means a week of testing on a copy of the file.
// What we would build
An architecture review of the old system first, with a written plan, then a new billing system that keeps every account, rate and history, an Android app meter readers use offline on their route, and bill runs checked against the old system before the switch. Ledger postings go to QuickBooks Online, built on its API.
// What is in it
- An architecture review and a written plan before any code changes
- Accounts, meters, rates and years of history moved and reconciled
- Rate tables your staff change themselves, with an effective date
- Meter reads on an Android app, offline on the route, with photos for odd reads
- Parallel bill runs against the old system until the totals match
- Daily postings to QuickBooks Online
// Stack
- Next.js
- Kotlin for Android
- PostgreSQL
- QuickBooks Online API
- AWS Canada
// estimate
- Build
- ≈ US$139,000 to US$213,000, delivered within 32 weeksCAD 198,200 to 303,100
- Hosting
- ≈ US$492 a monthCAD 700 a month
- Support
- ≈ US$5,010 a monthCAD 7,135 a month
Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.
Timeline by milestone
- Discovery
- 2.9 to 3.4 weeks
- Data mapping and sandbox connection
- 0.4 weeks
- Design approved
- 5.4 to 9.4 weeks
- Core features
- 1.9 to 3.4 weeks
- Full build
- 1.4 to 2.4 weeks
- First build on devices
- 2.9 to 5.4 weeks
- Sync built and reconciled in sandbox
- 1.4 to 2.4 weeks
- Testing and fixes
- 0.4 to 0.9 weeks
- Store submission
- 0.9 weeks
- Parallel bill run matched against the old system
- 0.9 to 1.4 weeks
- Launch
- 0.9 to 1.4 weeks
- Live cutover
- 0.9 to 1.4 weeks
- Hypercare
- 0.9 to 1.4 weeks
Outside our hands, and added to the calendar
- App store review
- 1 week
How it is paid
- Deposit 20%
- CAD 39,640 to 60,620
- Discovery 6.6%
- CAD 13,081.20 to 20,004.60
- Data mapping and sandbox connection 1.7%
- CAD 3,369.40 to 5,152.70
- Design approved 6.6%
- CAD 13,081.20 to 20,004.60
- Core features 6.7%
- CAD 13,279.40 to 20,307.70
- Full build 4.5%
- CAD 8,919.00 to 13,639.50
- First build on devices 13.1%
- CAD 25,964.20 to 39,706.10
- Sync built and reconciled in sandbox 5.1%
- CAD 10,108.20 to 15,458.10
- Testing and fixes 2.2%
- CAD 4,360.40 to 6,668.20
- Store submission 4.3%
- CAD 8,522.60 to 13,033.30
- Parallel bill run matched against the old system 8.7%
- CAD 17,243.40 to 26,369.70
- Launch 6.6%
- CAD 13,081.20 to 20,004.60
- Live cutover 1.7%
- CAD 3,369.40 to 5,152.70
- Hypercare 2.2%
- CAD 4,360.40 to 6,668.20
- Holdback, 30 days after launch (10%)
- CAD 19,820 to 30,310