---
title: How to Archive SYSPRO History Before Switching ERP
slug: how-to-archive-syspro-history-before-switching-erp
date: 2026-10-26
author: Nachi Raman
categories: [SYSPRO, ERP, Migration Guide]
excerpt: "Learn how to extract and archive SYSPRO history before switching ERP — extraction methods, native archive gaps, compliance retention, and a step-by-step plan."
tldr: "Archive SYSPRO history via direct SQL extraction before your 2026 licence expires. SYSPRO's built-in archiving covers only lots, sales orders, jobs, and BOMs — everything else requires manual extraction."
canonical: https://clonepartner.com/blog/how-to-archive-syspro-history-before-switching-erp
---

# How to Archive SYSPRO History Before Switching ERP


**Archiving SYSPRO history before switching ERP** means extracting every historical record your business needs for compliance, audit, and operational reference — and storing it in a durable, queryable format outside SYSPRO — before your licence expires or your new ERP goes live.

With SYSPRO's 2026 licensing change setting hard deadlines for access, this is a prerequisite for any ERP transition — not a nice-to-have.

This guide covers what SYSPRO archives natively and what it doesn't, the extraction methods available (and which to avoid), how to separate archive scope from migration scope, and a step-by-step plan to build an archive that survives the switch.

## Why SYSPRO History Archiving Is Urgent in 2026

SYSPRO is ending its Initial License Fee and Annual License Fee model. Going forward, SYSPRO software will only be available under a named-user, subscription-based platform model ([syspro.com](https://www.syspro.com/formal-notice-change-to-syspro-licensing/)). Two deadlines matter:

- **31 October 2026** for customers located outside the US
- **31 December 2026** for customers located in the US

After your expiry date, you will no longer be able to access SYSPRO unless you enter a new subscription agreement. SYSPRO's formal notice states that "on cessation of your current licence, you have the right to export your data" and that "Syspro will provide a straightforward process for this on request" ([syspro.com](https://www.syspro.com/formal-notice-change-to-syspro-licensing/)). But the notice does not describe a read-only mode after expiry, and it does not specify how long the export process remains available.

If you're replatforming to Dynamics 365, Acumatica, or another system instead of signing the new subscription, your export window is the time you have left on your current licence — not some grace period after it. That makes the next few months the window to get your history out.

## Why You Must Separate Archiving from Migration

**ERP data migration scope** is the exact set of objects, history depth, and transformation rules that will exist in your new production environment at cutover. A common, costly error is treating your new ERP as a filing cabinet for 15 years of legacy SYSPRO data.

Modern cloud ERPs are high-performance transactional engines. Pushing millions of closed purchase orders, legacy inventory movements, and inactive vendors into a system like Dynamics 365 Business Central incurs unnecessary storage costs, complicates your chart of accounts mapping, and extends your cutover window. For a deeper look at why scoping matters, see [What Data Should You Actually Migrate to Your New ERP?](https://clonepartner.com/blog/blog/what-data-should-you-actually-migrate-to-your-new-erp).

The standard engineering practice is a split approach:

1. **Archive:** Extract all the historical SYSPRO data — closed POs, cleared invoices, past years' GL transactions — into a cold storage environment (Azure Data Lake, AWS S3, or a standalone SQL database) for audit and compliance purposes.
2. **Migrate:** Transform and load only active master data (customers, vendors, items), open transactions, and summarized opening balances into the new ERP.

### What to archive vs. what to migrate

**Archive** — historical records your new ERP doesn't need but compliance or reference does:

- Closed GL periods older than your new ERP's opening balance date
- Completed and invoiced sales orders beyond your operational lookback window
- Completed purchase orders and matched GRN history
- Closed jobs (WIP) and their transaction trails
- Lot transaction history for completed lots — check whether SYSPRO's Purge and Archive program has already moved these to archive files
- Serial tracking history for items no longer in stock
- AP/AR payment history beyond what you'll load as open items
- Audit trail and amendment journals
- Rendered reports (invoices, packing slips, financial statements) from SRS

**Migrate** — records your new ERP needs as live, transactable data:

- Chart of accounts and current GL balances (typically trial balance at a cutover date)
- Open AR and AP (invoices, credit notes, payments not yet fully applied)
- Active customers and suppliers with addresses, contacts, and payment terms
- Active inventory — stock codes, descriptions, BOMs, current quantities, costing
- Open sales orders and purchase orders
- Active lots and serial numbers still in stock
- Custom form field data from the plus tables for active records

The archive covers everything you need to answer "what happened?" The migration covers everything you need to keep operating. For a detailed checklist on structuring the migration side, see [The Ultimate ERP Data Migration Checklist](https://clonepartner.com/blog/blog/the-ultimate-erp-data-migration-checklist-10-point-plan).

## What Does SYSPRO Archive Natively?

SYSPRO has built-in archiving for a limited set of objects. Understanding what's already archived — and what isn't — determines how much extraction work you actually need to do.

### Objects with built-in archive programs

| Object | Archive mechanism | Format | Notes |
|---|---|---|---|
| **Lot transactions** | Purge and Archive program | Archive file | Copies lot transactions and inspection records to an archive file for lots that are complete. The header record is never deleted from the lot master table — only the transactions are archived ([help.syspro.com](https://help.syspro.com/syspro-8-2024/g_programs/lot/lotp01/lotp01.htm)). |
| **Sales orders** | Order Purge program | XML archive | Completed orders are copied to an XML archive file before they are purged ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/ovr-archiving.htm)). |
| **Jobs (WIP)** | Job purge with archiving | XML archive | Part of the same XML archiving framework ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/ovr-archiving.htm)). |
| **ECC bills of materials** | BOM Structure and Routing Archive | XML archive | Part of the same XML archiving framework ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/ovr-archiving.htm)). |

SYSPRO creates archive files in the format `Xyynnnnn.XML` where X is the company ID, yy is the archive type (SO for sales orders, JB for jobs, BO for bill of materials), and nnnnn is the archive number ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/impbam.htm)). These help pages are from SYSPRO 7 Update 1, so confirm the behaviour on your own release.

> [!WARNING]
> **No additional attached information** — such as custom forms, multimedia, or notes — is archived by SYSPRO's built-in archive programs ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/ovr-archiving.htm)). If you have custom form data stored in SYSPRO's "plus" tables, you must extract those separately via SQL.

### Objects with no built-in archive

SYSPRO's archiving documentation lists only sales orders, jobs and ECC bills of materials, plus the separate lot Purge and Archive program. Everything else has no built-in archive file, including:

- General ledger transaction history
- Accounts receivable and accounts payable history
- Purchase order history
- Inventory movement history
- Serial tracking transactions
- Custom form fields (plus tables)

For these categories, your archive is whatever you extract yourself.

## SYSPRO Database Architecture: Where the History Lives

**SYSPRO's database architecture** dictates that the system supports multiple companies where each company's data is contained within a single, distinct SQL Server database. A single system-wide database stores information not specific to any individual company ([help.syspro.com](https://help.syspro.com/syspro-8-2024/resources/pdfs/syspro-8-database-architecture-technical-guide.pdf)). If your site operates a single company, you will have exactly two databases to extract. If you run three companies, you have three sets of history to archive, plus the system-wide database — don't archive one and forget the others.

Two structural rules matter for archive planning:

- **Table naming limits:** SYSPRO table names have a maximum of 18 characters.
- **Plus tables for custom fields:** Custom form fields are not appended to the standard tables. They are stored in corresponding "plus tables" named with a `+` suffix, such as `[ArCustomer+]` ([help.syspro.com](https://help.syspro.com/syspro-8-2024/resources/pdfs/syspro-8-database-architecture-technical-guide.pdf)). Your extraction queries must join the standard tables to their respective plus tables to capture the complete record. If your archive doesn't include these joins, you lose every custom field.

## How to Extract Historical Data from SYSPRO

Because you are archiving bulk history rather than syncing real-time transactions, you need an extraction method designed for high volume. Here are the available paths, ranked by reliability for bulk history exports.

### 1. Direct SQL Server access (preferred for archiving)

Direct SQL queries against the company database are the fastest and most complete extraction method for on-premise SYSPRO environments. You get access to every table — including the plus tables — and can write joins across GL, AR, AP, inventory, and manufacturing tables in a single pass. For archiving purposes, it is the only method that reaches everything. The core tables include `ArCustomer`, `ArInvoice`, `ApSupplier`, `ApInvoice`, `InvMaster`, `InvMovements`, `SorMaster`, `SorDetail`, `GenMaster` and `GenTransaction`. Our [SYSPRO SQL table map](https://clonepartner.com/blog/blog/syspro-sql-table-map-for-migration) lists them with sources.

You can dump entire tables into CSV, Parquet, or directly into a staging database. If you have on-premise access, this is the preferred route.

### 2. Business Activity Queries (BAQs)

**SYSPRO Business Activity Queries are SQL views created in the relevant company databases.** Any SQL user with `db_datareader` permissions can retrieve data using these views ([help.syspro.com](https://help.syspro.com/syspro-8-2024/resources/pdfs/2022-release/topics/syspro-8-business-activity-queries-reference-guide.pdf)). BAQs are useful when your DBA has already built governed, denormalized datasets — customer master snapshots, open order summaries, or inventory balances — that you can export directly.

Note: the BAQ Export program moves query definitions between environments; it does not export the underlying data itself.

### 3. SYSPRO OData Service (for cloud deployments)

For organizations running SYSPRO Cloud ERP, direct SQL access is typically unavailable. The **SYSPRO OData Service** provides RESTful, read-only access to SYSPRO data and is explicitly documented as "the only mechanism available when applications need access to SYSPRO data in the Syspro Cloud ERP environment" ([help.syspro.com](https://help.syspro.com/syspro-8-2025/topics/insights-and-reporting/syspro-odata/syspro-odata.htm)).

> [!NOTE]
> SYSPRO's OData help says it limits calls "to 5000 rows under the Microsoft best practice guidelines for performance and fair use" ([help.syspro.com](https://help.syspro.com/syspro-8-2021-r2/topics/insights-and-reporting/syspro-odata/syspro-odata.htm)). For bulk history extraction, you need to paginate using `$skip` and `$top` parameters, or partition by date ranges. This is workable but significantly slower than direct SQL.

### 4. Report Writer / SYSPRO Reporting Services (supplementary only)

Report Writer can send output to ASCII files, and SRS can export to PDF, CSV, and other formats. This captures formatted, human-readable snapshots — useful for preserving specific reports your auditors expect to see, but not for building a structured, queryable archive.

### Methods to avoid for bulk archiving

Do not use SYSPRO's integration tools for bulk historical extraction:

- **e.net business objects:** Query objects like `ARSQRY`, `INVQRY`, and `SORQRY` return XML for a single record or a filtered set. They apply business rules (tax calculations, ageing, currency conversions) that raw SQL does not, but they are designed for transactional integration — like an e-commerce sync — not bulk extraction. Looping through millions of historical GL rows using e.net objects will create massive performance bottlenecks.
- **SYSPRO Harmony:** Harmony is a collaborative social platform built around a chat method ([help.syspro.com](https://help.syspro.com/syspro-8-2024/topics/harmony/harmony-ovr.htm)). It has no data extraction capability. Do not include it in your extraction plan.
- **Master Data Take On:** This is an import program that uses Setup business objects to capture new data or update existing data. It does not extract history.

**Bottom line:** For a pre-migration archive, direct SQL is the primary tool. OData is the fallback for cloud deployments. Everything else is supplementary.

## Step-by-Step: How to Archive SYSPRO History

### Step 1. Inventory your data and map retention obligations

Before extracting anything, document what you have and how long you're required to keep it. Your auditor or legal team sets the retention periods. Your archive plan needs to satisfy the strictest rule that applies to each data category.

In SYSPRO, identify:

- Which company databases exist (one per SYSPRO company, plus the system-wide database)
- Which modules are active (GL, AR, AP, SO, PO, WIP, Lots, Serials, Inventory)
- Whether any lot or sales order archives already exist from previous purge runs
- What custom form fields are defined in the plus tables
- How many years of transaction history each module holds

### Step 2. Check for previously archived data

SYSPRO's Lot Purge and Archive program copies lot transactions to an archive file, but the lot header record is never deleted from the master table ([help.syspro.com](https://help.syspro.com/syspro-8-2024/g_programs/lot/lotp01/lotp01.htm)). That means purged lot history sits outside the live SQL tables. The Archive Maintenance program lets you view all archived files — sales orders, jobs, BOMs — and their locations. Check these before starting extraction so you don't miss data that's already been moved out of the live database.

**Watch for C-ISAM archives from SYSPRO 7.** In SYSPRO 7, the lot archive "is stored in C-ISAM format in the data directory, regardless of the company database format" ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/imptrc.htm)). If your site upgraded from SYSPRO 7, confirm where those archives live now before you assume your SQL extract is complete.

**Serial File Purge deletes.** SYSPRO's Serial File Purge program is used "to delete serial numbers and/or serial number transactions from the serial number file" ([help.syspro.com](https://help.syspro.com/syspro-7-update-1/invp9f.htm)). If it's been run, that history is gone from the live system. Check for independent backups.

### Step 3. Extract live history via SQL

For each module, write extraction queries that capture the full transactional history you need:

- **GL:** Journal headers and lines, with account codes, periods, source references, and amounts. Include both posted and recurring entries.
- **AR:** Invoice detail, credit notes, payment history, ageing snapshots.
- **AP:** Supplier invoices, payment runs, GRN details, debit notes.
- **Inventory:** Movement history (receipts, issues, adjustments, transfers) with date, warehouse, quantity, cost.
- **Sales orders:** Completed order headers and lines (if not already archived via Order Purge).
- **Purchase orders:** Completed PO headers, lines, receipt history.
- **Lots and serials:** All live transaction records, inspection records, expiry data.
- **WIP/Jobs:** Job headers, operation details, material issues, labour postings, scrap records.
- **Custom form fields:** Join the plus tables to their parent records.

Export to a structured, portable format. Preference order: **SQL database backup > Parquet > JSON > CSV**. CSV works but loses data types and can corrupt text fields with embedded commas or line breaks.

### Step 4. Extract rendered documents

SYSPRO Reporting Services can hold archived, rendered reports. These are outputs, not structured data. Export any reports your auditors, customers, or legal team might request: printed invoices, delivery notes, financial statements, GRN reports.

These are your "human-readable" archive. They don't replace structured data, but they answer questions like "what did the invoice actually say?" that structured data alone cannot.

### Step 5. Validate completeness

Extracting the data is only half the job; proving that the archive is mathematically identical to the source system is what satisfies auditors.

- **Record counts:** Compare row counts per table in your extract against the live SYSPRO database. The numbers must match exactly.
- **Financial totals:** Reconcile extracted GL balances, AR ageing totals, and AP totals against SYSPRO's own balance reports. Use hash totals on numeric columns — sum the total value of all historical AP invoice amounts in SYSPRO and compare it to the cold storage database.
- **Date coverage:** Confirm the oldest and newest transaction dates match your expectations.
- **Referential integrity:** Verify that every invoice references a valid customer, every journal references a valid account, and every lot transaction references a valid stock code.
- **Custom field coverage:** Spot-check plus table records against their parent records to confirm joins are correct.

For a complete breakdown of financial data validation, see [Accounting Data Migration Checklist: The 10-Point Plan](https://clonepartner.com/blog/blog/accounting-data-migration-checklist-the-10-point-plan).

### Step 6. Store the archive durably

Your archive needs to outlast your SYSPRO licence by years. The storage approach must meet three criteria:

1. **Durability.** Cloud object storage (Azure Blob, AWS S3, GCS) with replication, or on-premise with verified backups.
2. **Queryability.** Flat file dumps are cheap but useless when your auditor asks a specific question two years from now. Load into a SQL database (even SQLite for smaller datasets), a data warehouse, or a BI-ready format like Parquet.
3. **Immutability.** For compliance, use write-once storage policies or immutable blob tiers that prevent modification or deletion during the retention period.

> [!TIP]
> **Keep a raw SQL Server backup too.** A full backup of your SYSPRO company database is the ultimate insurance policy. It preserves every table, every index, every relationship. You can restore it to any SQL Server instance years from now and query it directly. Document the SYSPRO version and any custom objects alongside the backup.

## How Long Should You Keep SYSPRO Archives?

Retention periods depend on your jurisdiction, your industry and whether you are a listed company, so take them from your auditor or legal team. Two rules hold almost everywhere:

- **Retention runs from the transaction, not from the switch.** An invoice from 2021 keeps its own clock. Retiring SYSPRO does not restart it.
- **Lot records can outlive financial ones.** SYSPRO's Lot Traceability tracks items "through the manufacturing process, providing full traceability at transactional level" ([help.syspro.com](https://help.syspro.com/syspro-8-2021-r2/topics/distribution/lots/lots-ovr.htm)). In aerospace, automotive, food or pharma, you may need that history for as long as the product is in the field.

For what you can rely on after expiry, see [What Happens to Your SYSPRO Data After Your Licence Expires](https://clonepartner.com/blog/blog/what-happens-to-syspro-data-after-licence-expiry). If you need to look history up day to day after go-live, see [Read-Only Access to SYSPRO History After Migration](https://clonepartner.com/blog/blog/read-only-access-to-syspro-history-after-migration).

## The Two Clocks: Data Migration vs. ERP Implementation

Teams often confuse archiving timelines with the broader ERP switch. Keep two clocks strictly separate.

**The data migration** — extracting from SYSPRO and loading into the new ERP — takes days. Most migrations complete within 1–5 business days, depending on data volume, complexity, and API rate limits. Small datasets (under 10,000 records) can finish in under 24 hours.

**The ERP implementation** — selecting, configuring, testing, and rolling out your new system — takes months. ClonePartner does not perform ERP implementations; that is the domain of your implementation partner or the software vendor.

The archive project sits alongside the data migration, not the implementation. You can — and should — start archiving well before your new ERP is fully configured. The archive doesn't depend on the target system being ready. It depends on SYSPRO still being accessible, which ends on your licence expiry date.

Our go-live rules for an ERP migration are strict:

- We go live on a Monday, never on a Friday.
- The bulk load (or bulk archive extraction) runs in the days before go-live, while SYSPRO stays live.
- SYSPRO freezes before Monday's working day starts.
- The final delta sync covers changed records only and typically completes in about 30 minutes.
- Unlimited sample migrations run before the full cutover, ensuring data mapping is validated before the real run.

Start scoping at least 3–4 months before your internal deadline. That gives you time to inventory, extract, validate, and still have buffer if your SYSPRO environment has data quality issues that slow extraction. For more on why separating data migration from implementation reduces risk, see [ERP Data Migration vs Implementation: What's the Difference?](https://clonepartner.com/blog/blog/erp-data-migration-vs-implementation-whats-the-difference).

## Getting the Data Out Before the Deadline

With the 2026 licensing shift forcing a hard deadline, legacy SYSPRO customers cannot afford to leave their historical data strategy to the last minute. You have the right to export your data, but executing that export safely requires deep knowledge of SYSPRO's SQL schema, the plus tables, native archive files, and the extraction limits of the OData service.

For the export routes in more detail, see our [SYSPRO data export guide](https://clonepartner.com/blog/blog/how-to-export-data-from-syspro-methods-api-limits-portability), and for job history, [SYSPRO WIP and Job History: Migrate or Archive](https://clonepartner.com/blog/blog/syspro-wip-and-job-history-migrate-or-archive).

ClonePartner is a vendor-neutral, engineer-led data migration service. We don't resell any ERP and we're not a SYSPRO partner. We move data out of SYSPRO into whichever system you choose — for example [Business Central](https://clonepartner.com/blog/migrate/syspro-to-microsoft-dynamics-365-business-central), [Acumatica](https://clonepartner.com/blog/migrate/syspro-to-acumatica) or [NetSuite](https://clonepartner.com/blog/migrate/syspro-to-oracle-netsuite) — or into a standalone archive, and validate the result with record-count parity, field-level checks, and reconciliation reports.

For SYSPRO exits, the typical engagement includes bulk extraction of live SQL data, collection of existing archive files (lots, sales orders, jobs), mapping of custom form fields from plus tables, and a validation pass that reconciles financial totals against SYSPRO's own reports. The archive is delivered in a format you specify — SQL backup, Parquet, JSON, or CSV — alongside the migration to your new ERP.

One fixed price per project, starting at $500. No hourly billing, no per-record metering. The price scales with data volume, custom fields, attachment size, and the platforms involved.

> Facing a SYSPRO licence deadline? Book a free 30-minute scoping call and get a fixed-price proposal for your data extraction, archiving, and migration — before the clock runs out.
>
> [Talk to us](https://clonepartner.com/talk-to-us?duration=30&utm_source=blog&utm_medium=button&utm_campaign=demo_bookings&utm_content=cta_click&utm_term=demo_button_click)

## Frequently asked questions

### What happens to my SYSPRO data after the 2026 licence expiry?

After your licence expiry date (31 October 2026 outside the US, or 31 December 2026 in the US), you can no longer access SYSPRO without signing a new subscription agreement. SYSPRO's formal notice confirms you have the right to export your data on cessation, but does not describe a read-only mode or specify how long the export process stays available after expiry.

### What does SYSPRO archive automatically?

SYSPRO's built-in archiving covers four object types: lot transactions (via the Purge and Archive program), completed sales orders, completed jobs/WIP, and ECC Bill of Materials. These are saved as XML archive files. GL history, AR/AP transactions, inventory movements, serial tracking, and custom form field data are not archived natively — you must extract those yourself.

### How do I extract data from SYSPRO Cloud ERP?

If direct SQL access is unavailable in your SYSPRO Cloud ERP environment, you must use the SYSPRO OData Service. SYSPRO documents it as the only mechanism available for applications needing data access in their cloud environment. OData documentation references a 5,000-row per-request guideline, so you need to paginate using $skip and $top parameters.

### How long should I keep SYSPRO financial records after switching ERP?

It depends on your jurisdiction, your industry and whether you are a listed company, so confirm the periods with your auditor or legal team. Retention normally runs from the date of each transaction, not from the day SYSPRO is retired. Manufacturers in regulated industries may need lot records for as long as the product is in the field.

### Can I archive SYSPRO data and migrate to a new ERP at the same time?

Yes — archiving and migration are separate but parallel operations. The archive captures historical records your new ERP doesn't need (closed periods, completed orders, old lot history). The migration moves active data your new ERP needs to operate (open orders, current balances, active inventory). Both draw from the same SYSPRO SQL Server database and can run concurrently.
