Prepare
- Upload Sage 50 files
Sage 50 (also known as Sage Line 50, Peachtree) is small business accounting software used worldwide.
What You Can Upload
- Sage 50 data directory files
- Company data files
.ptbbackup files (Sage 50 US / Peachtree)- SQL database backups (for modern versions)
- ZIP archive with complete data set
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-readable extraction summary |
How to Export / Obtain Files
For modern Sage 50 (SQL-based):
- Create a backup from within the application
- Sage 50: File > Back Up (produces a
.ptbbackup file)
- Sage 50: File > Back Up (produces a
- Upload the backup file to DataMeans
Alternative: Export data via an ODBC connection
For legacy versions:
- Locate the Sage data directory
- Copy the company data folder
- Create a ZIP with all files
- Upload the ZIP to DataMeans
Supported Features
- Accounting ledger extraction
- Customer and supplier data
- Transaction history
- Chart of accounts
- Financial report data
Known Limitations
- Version-dependent complexity varies
- Modern SQL versions have better support than proprietary legacy formats
- Some application-level logic requires manual migration
Last updated: January 2026
Overview
Sage 50 (formerly Peachtree Accounting) is an accounting software package designed for small to medium-sized businesses, with a product lineage reaching back to Peachtree Software in 1978. The U.S. Edition does not use a single database file: each company is stored as a directory of Btrieve record files managed by the Actian Zen database engine (formerly Pervasive PSQL, originally Btrieve), with key indexes maintained inside the data files themselves. General ledger, receivables, payables, inventory, payroll, and job costing modules share this common file set, and data dictionary (.DDF) files expose the records relationally to ODBC and reporting tools.
History and Background
- 1977: The first Peachtree software is published through The Computer SystemCenter, an early Altair dealer from which the company is later carved out.
- 1978: Peachtree Software founded in Atlanta by Ben Dyer, Ron Roberts, Steve Mann, and John Hayes.
- 1981: Peachtree's accounting products are included in the launch of the IBM Personal Computer; Management Science America (MSA) acquires the company in June.
- 1984: InfoWorld estimates Peachtree to be the world's seventh-largest microcomputer software company, with US$21.7 million in 1983 sales.
- 1985: Intelligent Systems Corporation purchases Peachtree from MSA.
- 1988: Intelligent Systems sells Peachtree in a management buyout for $20 million.
- 1994: Automatic Data Processing (ADP) acquires Peachtree.
- 1998: The Sage Group acquires Peachtree from ADP for US$145 million.
- 2002: Peachtree 2002 (version 9) is the first release whose version check accepts the Pervasive.SQL 2000i engine in addition to Btrieve 6.15.
- 2013: The Peachtree product line is rebranded as Sage 50.
- 2019: The Sage 50 2020 release upgrades the database engine from Pervasive PSQL v11 to Actian Zen v13.
File Format Specifications
Primary Files:
.dat: Btrieve record files, one per record type (e.g.,COMPANY.DAT,CHART.DAT,CUSTOMER.DAT,JRNLROW.DAT).ddf: Data definition (dictionary) files describing tables and fields for ODBC and third-party access.ptb: Company backup file, a Zip-compatible compressed archive of the company's data files
Proprietary Details:
- Company data is a folder of Btrieve files rather than a single database file; each record type has its own
.DATfile. - The Btrieve MicroKernel engine stores records and their key indexes together inside each data file, so there are no separate index files.
- A data file in the 7.x format or later begins with two File Control Record (FCR) pages holding the file size, page size, and other characteristics, followed by page allocation table (PAT), index, and data pages.
- Page size must be a multiple of 512 bytes, up to 4,096 bytes through the 8.x file format, 8,192 bytes in the 9.0 format, and 16,384 bytes in the 9.5 and 13.0 formats.
- Maximum file size depends on the format version: 64 GB before 9.0, 128 GB for early 9.x formats, 256 GB for 9.5, and terabytes for the 13.0 format.
- A key may span multiple segments, with the total key length limited to 255 bytes.
- Reporting tools such as Crystal Reports read the files relationally through the
.DDFdata dictionaries.
Supporting Files:
.lck: Record-locking files created by the Btrieve engine.ptl: Lock-management files created by Sage 50 itself.ptr: Temporary files created during printing.frm: Customized form layouts, one file per form
Data Types and Structures
The engine stores each record as a byte array; the .DDF dictionaries map record fields to the following Actian Zen (Btrieve) data types.
| Type | Size | Description | Use Cases |
|---|---|---|---|
| CURRENCY | 8 bytes | Signed quantity with four implied decimal places (Intel binary format) | Monetary amounts |
| MONEY | 8 bytes | Packed decimal with two implied decimal places (same representation as DECIMAL) | Two-decimal amounts |
| DECIMAL | Variable | Packed decimal number, two digits per byte | Quantities, rates |
| DATE | 4 bytes | Day and month as 1-byte values, year as 2 bytes | Transaction and due dates |
| TIME | 4 bytes | Hundredths, seconds, minutes, hours as 1-byte values | Timestamps |
| TIMESTAMP | 8 bytes | Unsigned count of septaseconds (10^-7 second units) elapsed since January 1, 0001, UTC | Record timestamps |
| INTEGER | 1, 2, 4, or 8 bytes | Signed whole number in Intel byte order | Counts, identifiers |
| FLOAT | 4 or 8 bytes | IEEE single- or double-precision floating point | Fractional values |
| BFLOAT | 4 or 8 bytes | Microsoft Binary Format floating point, retained for legacy data | Legacy numeric fields |
| AUTOINCREMENT | 2, 4, or 8 bytes | Engine-assigned sequential signed integer | Generated record numbers |
| STRING | Variable | Fixed-length sequence of ASCII characters, padded with blanks | Fixed-width text fields |
| ZSTRING | Variable | Null-terminated C string, maximum 255 bytes including the terminator | Names, descriptions, memos |
| LOGICAL | 1 or 2 bytes | Boolean stored as a 1- or 2-byte value | Flags, status indicators |
| GUID | 16 bytes | 16-byte binary globally unique identifier | Unique record identifiers |
Database Structure:
- Chart of accounts (
CHART.DAT) - Customer and vendor master files (
CUSTOMER.DAT,VENDOR.DAT) - Customer bill-to/ship-to and vendor remit-to addresses (
ADDRESS.DAT) - Journal transactions split into header and row files (
JRNLHDR.DAT, one record per transaction;JRNLROW.DAT, one row per financial event) - Employee and payroll records (
EMPLOYEE.DAT), with per-employee earnings summaries (EARNSUM.DAT) - Inventory item records (
LINEITEM.DAT) - Job cost codes (
COST.DAT) - Sales tax codes (
TAXCODE.DAT) - Audit trail records (
AUDITTR.DAT, Premium editions and higher) - Data dictionary files (
.DDF) describing tables, fields, and indexes
Version Differences
| Version | Year | Key Features | File Format |
|---|---|---|---|
| Peachtree 5.0 | 1995 | Windows 3.1/95 release; versions 5.0-8.0 share one engine | Btrieve 6.15 .DAT files |
| Peachtree 2002 (v9) | 2002 | First release to accept Pervasive.SQL alongside Btrieve | Btrieve 6.15 or Pervasive.SQL 2000i |
| Peachtree 2004 | 2004 | Requires the Pervasive.SQL 2000i engine | Pervasive.SQL 2000i |
| Peachtree 2007 | 2007 | Bundled database engine updated | Pervasive PSQL v9.1 |
| Peachtree 2008 | 2008 | Ships the PSQL v9 Workgroup engine; runs on v10 unsupported | Pervasive PSQL v9 |
| Peachtree 2010 | 2010 | Ships with a Workgroup engine | Pervasive PSQL v10.12 |
| Sage 50 2013 | 2013 | Peachtree rebranded as Sage 50 | Pervasive PSQL engine unchanged |
| Sage 50 2014 | 2014 | Ships with the v11 Workgroup engine | Pervasive PSQL v11 |
| Sage 50 2020 | 2019 | Engine renamed and upgraded; PSQL v11 keys deactivated | Actian Zen v13 |
| Sage 50 2023 | 2022 | Engine upgraded; opens release 2022 data without conversion | Actian Zen v15.1 |
Compatibility Notes:
- Company data is converted when first opened in a newer release.
- Conversion is one-way: the Data Conversion wizard accepts company data only from equal or lesser versions, and a higher edition such as Premium cannot be converted to a lower edition such as Pro, even if the lower edition is newer.
- Backups can be restored only through Sage 50's own restore function; backups made with other tools are not recognized.
- Installing the Sage 50 2020 release deactivates the Pervasive PSQL v11 engine keys, so Sage 50 2018 and earlier stop working on the same machine.
- Each company is stored as a separate directory under the shared data path.
- ODBC and third-party access depends on the company's
.DDFdata dictionaries.
Technical References
- Wikipedia: Sage 50
- Sage Knowledgebase: Sage 50 Data File Reference
- Sage 50 Help: Open Backup File
- Actian Zen Documentation: Data Types
- Goldstar Software: Pervasive Engines for Peachtree and Sage 50
To learn how to use this format with DataMeans, see the User Guide.