The verdict in three sentences
An Access and VBA application that runs a company's orders, stock and invoicing is an operational risk, not just technical debt: the day the file corrupts or the machine hosting it fails, the business stops. A migration to a web application succeeds when it starts with reverse documentation (10 to 15 days) and treats data migration as a project of its own, with three test runs. Plan for 3 to 6 months and a Kolonell budget of 2,500,000 to 15,000,000+ FCFA (3,810 to 22,870+ EUR) depending on complexity, with anything else priced in the quote.
Why Access becomes a risk in 2026
Take the typical case: a 60-employee wholesale distributor, 12 concurrent users on a database shared over the network, 45 tables, 120 forms, around 80 queries and 6,000 lines of VBA. The author left in 2019. Nobody knows exactly what the macro that recalculates year-end rebates actually does.
| Warning sign | Critical threshold | Observed consequence |
|---|---|---|
| .accdb file size | Above 1.5 GB (hard limit 2 GB) | Frequent compacting, corruption |
| Concurrent users | More than 8 to 10 over the network | Locks, slowdowns, write conflicts |
| Office version | Mix of 32 and 64 bit | VBA API calls crash |
| Remote access | VPN or remote desktop | 5 to 20 s response time per screen |
| Code knowledge | One person, or nobody | No changes possible |
| Backup | Manual file copy | A full day of data entry lost on incident |
The hidden cost adds up quickly. If each user loses 20 minutes a day to slowness and re-entry, 12 users over 215 working days means 860 hours a year. At a loaded cost of 35 EUR (about 38 USD) an hour, that is roughly 30,000 EUR a year, before pricing a two-day outage.
The five-step method
An Access migration is not done by simply rebuilding the screens. Forms hide business rules, queries hide data fixes, and VBA hides exceptions that were never written down anywhere else.
| Step | Typical duration | Deliverable |
|---|---|---|
| 1. Reverse documentation | 10 to 15 days | Map of tables, business rules, flows |
| 2. Functional triage | 3 to 5 days | List: keep, simplify, drop |
| 3. Target database design | 5 to 10 days | Normalised PostgreSQL model, roles |
| 4. Development in batches | 8 to 16 weeks | Modules delivered and tested one by one |
| 5. Data migration | 3 test runs over 3 to 6 weeks | Re-runnable scripts, variance report |
| Cutover and parallel run | 1 to 2 weeks | Go-live, Access switched to read-only |
Functional triage is the most profitable step. Out of 120 forms, companies usually keep 50 to 60: many are duplicates, test screens or printed reports nobody reads anymore. Every form dropped is budget saved.
Data migration follows three test runs. The first exposes duplicates, text fields used as dates and customers without codes. The second validates the fixes. The third, a week before go-live, runs on a fresh copy of production and must produce a near-zero variance report on key totals: revenue per customer, stock value, receivables.
Budget and risks in numbers
Price depends less on the number of tables than on the density of business rules and integrations (accounting, EDI, carriers).
| Application profile | Example | Kolonell budget |
|---|---|---|
| Simple | 10 to 20 tables, little VBA, 1 module | 2,500,000 to 4,000,000 FCFA (3,810 to 6,100 EUR) |
| Medium | 30 to 50 tables, sales and stock, 1 integration | 4,000,000 to 7,000,000 FCFA (6,100 to 10,670 EUR) |
| Complex | 50+ tables, dense VBA, several integrations | 7,000,000 to 15,000,000+ FCFA (10,670 to 22,870+ EUR) |
| Post-launch maintenance | Fixes, backups, minor changes | 35,000 / 75,000 / 120,000 FCFA per month (53 / 114 / 183 EUR) |
| Hosting, specific connectors | Depends on constraints | Priced in the quote |
For comparison, 2026 ballpark figures: a European IT services firm typically charges 40,000 to 120,000 EUR for this kind of migration, a UK or US consultancy 50,000 to 150,000 USD, and a senior freelancer 450 to 650 EUR a day.
The risks that derail projects, with their typical impact:
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
- Hidden rule found during testing: 3 to 10 extra development days. Mitigation: serious reverse documentation and key users in the workshops.
- Underestimated dirty data: 1 to 3 weeks of delay. Mitigation: profile the data in week one.
- User pushback: the new tool gets bypassed with spreadsheets. Mitigation: keep familiar keyboard shortcuts and entry order where they work well.
- Cutover at month end: accounting close blocked. Mitigation: go live at the start of a month, never during stocktake.
Mini case study
Sarah, CFO of a 60-person industrial supplies distributor in Rotterdam, owns the project. Access database with 45 tables, 120 forms, 12 users and one export interface to the accounting package.
After triage, 55 forms remain. The project is rated low complex: around 7,500,000 FCFA (11,430 EUR), over 5 months. Expected gains: 860 hours of slowness removed, worth 30,100 EUR a year at 35 EUR an hour, plus 6 hours a month of manual compacting and backup (2,520 EUR a year). Total: about 32,600 EUR a year. With Standard maintenance at 75,000 FCFA a month (114 EUR, so 1,368 EUR a year), payback comes 4 to 5 months after go-live, not counting the outage risk avoided.
FAQ
Can we keep Access as the front end and move the data to a SQL server?
That is a valid intermediate step that fixes corruption and the 2 GB limit within a few weeks. But VBA and the Office dependency remain, and remote access stays slow. It is best kept for cases where the budget must be spread over 12 to 18 months.
How long do users take to adapt?
With 2 to 3 hours of training per profile and a one to two week parallel run, most teams get back to full entry speed within 10 working days. Time savings show up from the second month.
What happens to 15 years of historical data?
Usually the last 3 to 5 years go into the live database and the rest is archived read-only, still searchable in the application. That often halves the volume and speeds up searches.
Do we have to migrate everything at once?
No. Splitting by module (sales, purchasing, stock, invoicing) allows a go-live every 4 to 6 weeks, with Access set to read-only for modules already moved.
Who owns the code at the end?
You do. Source code, database and documentation are handed over, which avoids recreating the single-person dependency that caused the problem in the first place.
Let's scope your project. Send us an anonymised copy of your Access database and your user list, and we will price the reverse documentation, the triage and a module-by-module cutover plan. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
