Skip to main content
GullySystem
A practical guide

Old software with no export option: ways to get your data out

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

In this guide 6 sections
The short answer

Start gentle and escalate slowly. Try built-in reports saved to a file first, then print to PDF or text and parse the output, then read the database files directly on a copy. If the vendor has gone and the format is proprietary, bring in a specialist who can decode it from sample records and the version number.

Look again at what the program already offers

Open every menu. Many old packages hide an export under Backup, Archive, Utilities or Year End, while report screens carry a Save As or Send To option that nobody clicked. The printer button simply sat closer.

Check the help file. Former staff often remember a trick nobody wrote down, such as an export button that only appears when you hold Shift while opening the report screen. Then look on the install disc.

  • Report screens with a save to file option
  • Backup and year-end menus
  • Label and mail merge exports
  • Print dialogs offering a file destination
  • An ODBC driver listed in the install folder

Install a PDF or plain text printer driver, print each report across the widest date range the program allows, and split fixed column output with a short script. Text layers yield to pdftotext.

Image-only output is the last resort. OCR misreads zeros, eights and decimal points, so check every extracted figure against the printed totals before it goes anywhere near a new system.

A report shows only what its author chose, so internal codes, free-text notes and audit dates are often missing from the print-out. List the expected fields. Tick each one off against the sample.

Read the database files directly, on a copy

Never open the originals. A running program can lock files or quietly rewrite index headers while you are looking, which is why only the copy should ever be opened. Look in the program and data folders for extensions like .dbf, .mdb, .mdf, .fdb, .btr or .dat, then close the program and copy the whole folder.

Open the copy with a DBF viewer, Microsoft Access or SQL Server Express, then compare record counts and a handful of customers against what the screens show. Any mismatch usually means soft-deleted rows, an archive table or a second data folder hiding on another drive of the server that the old screens never mention.

Index and memo files travel separately. Copy every file that shares the base name, such as the .cdx, .fpt or .idx beside a .dbf, or the main table will not open.

  • Stop the program and copy the full folder
  • Note the file names and sizes
  • Open only the copy
  • Match record counts against the screen
  • Keep the copy untouched as a master

When the vendor has gone and the format is proprietary

Start with the version number and any data dictionary in the manual, then match a record on screen with its raw bytes in a hex editor. Fixed-length records, readable text and repeating byte patterns give the structure away more often than you would expect, so a day with a hex editor is rarely wasted.

Check your licence terms before decoding anything, so ask a lawyer. This is not legal advice.

Meanwhile, keep the program alive. Run it inside a virtual machine with any USB licence dongle passed through, so the old Windows survives the day its hard disk fails.

Prove the extract is complete before retiring the program

Reconcile counts and totals for customers, open invoices, stock lines and ledger balances by period, and keep the comparison sheet where an auditor can find it. Gaps found now cost an afternoon. Gaps found after shutdown cost weeks.

Keep the old machine for a full financial year, because the first year-end close will raise questions that only the original screens can answer. Copy the data folder twice today. Note the program and Windows versions.

Data extraction route sheet

Four rows on one page, one for each route, cover saved reports, print to file, database files and decoding, in order of risk. Columns record what was tried, the file type produced, the record count, matched totals and a pass or fail box with the initials of whoever ran the test. The header holds the program version.

Open a blank worksheet to print

Questions owners ask

Is it safe to open the database files straight away?

No. Close the program, copy the whole data folder and open only the copy, because opening originals can lock files, alter timestamps or corrupt old indexes. Keep one untouched master.

How do I know the print-to-file data is complete?

Compare the number of rows and the report totals against what the old screens show, then spot-check ten known customers by hand against the raw print-out. Missing columns mean the report skipped fields.

What if the old program only runs on a dead computer?

Make a disk image of that machine, then run the image in a virtual machine with any licence dongle passed through to it. Test it before the old hardware fails. Keep the dongle safe.

When should I hire a specialist to decode the format?

When the files are not a common type like .dbf or .mdb and the reports leave out fields you need, such as audit dates or internal codes. A specialist can read the structure from sample records and rebuild the tables, then check them line by line against your reconciliation sheet before anything is retired.

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