Trusted by Intuit · SaaS Direct Canada 🍁My Account · Book a Discovery Call →

Sage 100, MAS 90 and MAS 200 to QuickBooks

Sage 100 was never built for Canadian payroll. Most Canadian users found that out years ago.

If you run Sage 100 in Canada you already run a workaround. The payroll module follows American tax law, so your T4s come from somewhere else. Multicurrency is a third party enhancement, not a Sage module. Your GL account number can carry ten segments and thirty two characters, and QuickBooks Online has no segments at all. None of that makes the migration impossible. It makes it a design job before it is a data job, and that is the part generic conversion tools skip.

15,000+ migrations completed. 90+ source platforms. Client data processed in Canada.

Lineage

If your system says MAS 90 or MAS 200, this page is about your system

Sage 100 has carried four names in forty years. The underlying data structures changed far less than the branding did, which is why a file created under one name extracts the same way as a file created under another. Say the name you actually see on your login screen when you call us. It tells us more about your version and your database than a version number does.

YearName
Mid 1980sMaster Accounting Series for the 90s, sold as MAS 90 by State of the Art
1998The Sage Group acquires the product line
2000sSage MAS 90 and Sage MAS 200, the client server sibling
2011Version 4.50 adds a Microsoft SQL Server option
2012Renamed Sage 100 ERP
2018Sage 100cloud, later just Sage 100

MAS 500 is a different product with a different codebase and is not covered on this page. If your system says MAS 500 or Sage 500, tell us on the first call. The extraction is a separate conversation.

The technical centrepiece

Ten segments, thirty two characters, and a destination that has none

This is the section worth reading twice. Everything else on this page is execution. This is the part that decides whether your reports still work in January.

What Sage 100 lets you build

The General Ledger module allows a minimum of one segment and a maximum of ten. The main account segment runs three to fifteen characters. Each optional subaccount segment runs one to fifteen. The whole account number can reach thirty two alphanumeric characters. Over twenty years, companies use that room. Division, department, location, product line, funding source and salesperson all end up encoded inside the account number, because that was the only place to put them.

What QuickBooks Online has instead

QuickBooks Online has no account segments. It has accounts, classes, locations, projects, customers and tags. Class and location are one dimension each. That is the constraint that shapes the whole project. A four segment Sage 100 account structure has to be re-expressed across a flat chart of accounts plus two tracking dimensions, and you have to decide which two of your segments earn those slots.

The decision nobody wants to make

Say your account number is division, department, natural account, product line. Division becomes location. Department becomes class. Natural account becomes the account. Product line has nowhere structural to go, so it becomes a tag group, a custom field, or it moves to the item level and comes out of Sales by Product rather than the GL. That is a real decision with a real cost, and it is better made deliberately in week one than discovered in week six.

Why the tools cannot do it

Automated converters read your account list and create a matching account list. They cannot know that segment three is a department for the operations division and a funding source for the grant division, because that distinction lives in the heads of two people in your finance team, not in the data. We interview for it, document it, and get you to sign off on the mapping before a single transaction moves.

Discovery

Which edition you are on changes the extraction

Sage 100 ships in three editions. The difference that matters to a migration is not the feature list. It is the database underneath.

Standard

ProvideX file based database on a file server. This is the most common edition in Canadian small and mid sized companies, and it is the one where the data lives in flat files rather than a queryable database. Extraction runs through the application layer and through Visual Integrator exports, not through SQL.

Advanced

Also ProvideX, in a client server configuration. Better network performance, same file structure, same extraction approach. If you have multiple sites hitting one Sage 100 install, this is probably you.

Premium

Microsoft SQL Server. This is the only edition where we can query the database directly, which makes reconciliation faster and makes historical detail cheaper to bring across. If you are on Premium, say so early. It usually shortens the project.

Sage supports the current release and the two before it. As of the 2026 release, that means Sage 100 2026, 2025 and 2024 are supported and 2023 and earlier are retired. If you are on a retired version, the migration does not get harder, but your options for staying put get thinner every April.

Canada

The two things Sage 100 was never built to do here

Sage 100 works in Canada. It has worked in Canada for decades, and Canadian partners have supported it well. But two gaps shape every Canadian Sage 100 environment we have seen, and both of them change what a migration has to account for.

Payroll follows American tax law

The Sage 100 Payroll module is built for United States federal and state tax. It does not calculate CPP, EI, or provincial income tax, and it does not produce T4s or ROEs. Canadian Sage 100 users run payroll somewhere else and import the results into the General Ledger as journal entries, usually through Visual Integrator. That means your payroll history is not in Sage 100 in the first place. It is in your payroll provider, and that is where it stays. Your QuickBooks Online payroll setup starts from your provider records, not from your ERP.

Multicurrency is a third party enhancement

Sage 100 does not ship native multicurrency. Canadian companies that invoice in USD or buy from American suppliers run an ISV enhancement, most commonly the DSD Multi-Currency product sold on the Sage Marketplace. That enhancement stores rates and foreign amounts in its own structures. A converter that reads standard Sage 100 tables will not see them. We extract the enhancement data separately and reconcile realized and unrealized gain and loss against your GL before anything is called done.

Sales tax actually works well, and that is the good news

The Sage 100 sales tax engine handles Canadian tax without customization. Tax codes and tax schedules map cleanly to GST, HST, PST and QST, and input tax credits are tracked properly. That means you have a real filing history to preserve. HST is 13 percent in Ontario, 14 percent in Nova Scotia and 15 percent in New Brunswick, Prince Edward Island and Newfoundland and Labrador. GST plus PST applies in British Columbia at 7 percent, Saskatchewan at 6 percent and Manitoba at 7 percent. Quebec runs GST plus QST at 9.975 percent. Alberta, Yukon, Northwest Territories and Nunavut are GST only.

What we do with your filing history

We rebuild your tax code structure in QuickBooks Online so that the rates, the agencies and the input tax credit treatment produce the same net remittance they produced in Sage 100. Then we reconcile the last four filed periods line by line against your actual returns. If a rate was applied inconsistently in Sage 100, and it usually was somewhere, you find out during the test migration rather than during a CRA review.

Scope

What moves, module by module

Sage 100 is modular, and most companies own more modules than they use. We scope from what has posted activity in the last three years, not from your licence list.

Sage 100 moduleWhere it lands in QuickBooks Online
General LedgerChart of accounts plus class and location. Trial balance by period, or full transaction detail where the history justifies it.
Accounts PayableVendors, open bills, vendor credits, payment history, 1099 and T4A relevant flags reviewed manually.
Accounts ReceivableCustomers, open invoices, credit memos, deposits, aging as at cutover.
Inventory ManagementItems with quantity on hand and cost. Costing method is set once in QuickBooks Online and cannot be changed later, so this decision happens before conversion, not after.
Sales OrderOpen sales orders become estimates or open invoices depending on how you actually use them. Closed order history stays in the archive.
Purchase OrderOpen purchase orders move. Received not invoiced balances are reconciled to the accrual account by hand.
Bill of MaterialsAssembly items in QuickBooks Online Advanced, or a bundle plus a manual build process where the structure is shallow.
Bank ReconciliationCleared and uncleared status as at cutover. Prior reconciliations stay in the archive.
PayrollNot in Sage 100 in Canada. Migrated from your payroll provider, with year to date figures reconciled to your GL.
Job CostProjects in QuickBooks Online Advanced, with open job balances reconciled. Historical job profitability stays in the archive.
Sage Production ManagementReviewed case by case. QuickBooks Online is not a manufacturing system, and we will tell you plainly if this is the module that should keep you where you are.

The legacy Work Order module is not in any supported Sage 100 release, having been replaced by Sage Production Management. If you are still running Work Order, you are on a retired version, and that is worth knowing before you plan anything else.

Honesty

What does not move, and what we do about it

Every migration page should have this section. Most do not. Here is ours.

Crystal Reports and custom forms

Your Crystal report library does not convert. QuickBooks Online reporting is a different model. We inventory every report you actually run, identify which ones QuickBooks Online produces natively, and build the rest in Excel against the QuickBooks Online data. Reports nobody has opened in two years do not get rebuilt, and we will show you the list.

Custom Office modifications

User defined fields and screen customizations built through Custom Office are Sage 100 specific. QuickBooks Online Advanced supports twelve custom fields per form and unlimited tag groups, which covers most of what Custom Office was doing. Anything beyond that becomes a workflow change, and we identify it during discovery so it is a decision rather than a surprise.

Visual Integrator jobs

Your import and export routines do not convert. We document every scheduled job, then rebuild the ones that matter using the QuickBooks Online API or a scheduled Excel process. Payroll imports usually become a direct payroll integration instead, which removes a step rather than replacing it.

Full transactional history

You can move everything, and the price rises with the years. Most Canadian companies bring two to three years of detail plus opening balances, and keep a read only Sage 100 environment for the rest. The Canada Revenue Agency requires records to be kept for six years from the end of the last tax year they relate to, and the archive satisfies that.

Serial and lot tracking depth

Sage 100 tracks serial and lot detail at a level QuickBooks Online does not match. If this is load bearing for your business, say so on the first call. It is one of the two or three reasons we tell companies to stay on Sage 100 or look at a different destination.

Multi company consolidation

Sage 100 companies are separate data sets. QuickBooks Online is one company per subscription. Three Sage 100 companies means three QuickBooks Online subscriptions plus a consolidation approach. We build that into the plan and the price rather than discovering it halfway through.

Destination

QuickBooks Online Advanced, or QuickBooks Enterprise

Not every Sage 100 company belongs in QuickBooks Online. Here is how we decide, and we decide it before you buy anything.

QuickBooks Online Advanced

Twenty five billable users plus three accountant users. Unlimited chart of accounts, unlimited classes and locations, twelve custom fields per form, unlimited tag groups, workflow automation and the Projects module. For a Sage 100 company running General Ledger, Accounts Payable, Accounts Receivable, Inventory Management, Sales Order and Purchase Order, this is usually the right landing place. Note the contrast with QuickBooks Online Plus, which caps at five billable users, two hundred and fifty accounts and forty combined classes and locations. Plus is rarely enough for a company coming off an ERP.

QuickBooks Enterprise

Still sold in Canada. If your business depends on advanced inventory, assemblies with real depth, or serial and lot traceability, Enterprise keeps capabilities that QuickBooks Online does not have. It is a desktop product, which is a real trade off, and we will say so. Intuit Canada stopped selling QuickBooks Desktop Pro, Premier and Desktop Payroll to new subscribers on 15 April 2025. Enterprise was not part of that notice.

One decision cannot be undone. QuickBooks Online inventory costing is set to either FIFO or moving average cost when you turn inventory on, and it cannot be changed afterwards. If your Sage 100 valuation method does not match what you pick, your cost of goods sold will not tie out. We settle this in discovery.

Process

How a Sage 100 migration runs

Six stages. You see the data twice before it becomes your live system.

01

Discovery and segment mapping

We read your account structure segment by segment, inventory your modules by posted activity, list your Crystal reports and Visual Integrator jobs, and identify your payroll provider and any multicurrency enhancement. You approve the segment to class and location mapping in writing before anything else starts.

02

Extraction

Direct SQL query on Premium, application layer and Visual Integrator exports on Standard and Advanced. Enhancement data comes out separately. Every extract is checksummed against source control totals.

03

Test migration

A full build into a sandbox QuickBooks Online company. You get a trial balance comparison, an AR and AP aging comparison, an inventory valuation comparison and a sales tax comparison for the last four filed periods. This is where problems surface.

04

Review and correction

You review the sandbox against your own reports. We correct, rebuild and re-present. Companies typically go through two review cycles. Some go through three, and that is normal rather than a warning sign.

05

Cutover

Scheduled at a period end. Final extract, final build, final reconciliation. Sage 100 goes read only. You start posting in QuickBooks Online the next business day.

06

Thirty days of hypercare

Direct access to the team that built your file, not a ticket queue. Month end close support, report adjustments and user questions. Included in every project.

Timeline

How long it takes

From kickoff to go live, including the test migration and the review cycles.

SituationTypical window
Single company, Premium edition, financial modules only, two segment account structure2 to 3 weeks
Single company, Standard or Advanced edition, distribution modules in use, three or four segments3 to 5 weeks
Multicurrency enhancement in use, or Job Cost with open projects4 to 6 weeks
Multiple companies consolidating, deep segment structure, Crystal report library to rebuild5 to 9 weeks

Those windows exclude the thirty days of hypercare that follow every project. Software subscriptions are paid to Intuit directly and are never marked up by us.

Data handling

Where your data is processed

Client data is processed in Canada. Your Sage 100 extracts, your intermediate files and your reconciliation working papers stay in Canadian infrastructure for the length of the project and are destroyed on a defined schedule afterwards. The Canada Revenue Agency expects records to be kept at a place of business in Canada, or elsewhere only with written permission, and the archive we leave you with is built to sit on your side of that line.

Questions Canadian finance teams ask

Before you book

We are still on MAS 90. Is our data too old to migrate?

No. The data structures underneath MAS 90, MAS 200 and Sage 100 are closely related, which is why extraction works the same way across them. An older version usually means an older ProvideX file set rather than SQL, so extraction runs through the application layer and Visual Integrator instead of direct queries. It adds time, not risk.

Our payroll is not in Sage 100. Does that make the migration easier or harder?

Easier for the Sage 100 side and unchanged for the payroll side. Because the Sage 100 payroll module follows American tax law, Canadian users run payroll elsewhere and import journal entries. Your payroll history migrates from your provider, and your year to date figures get reconciled against the GL entries that were imported into Sage 100. We do that reconciliation as part of the project.

How many of our ten GL segments can we keep?

Two get structural homes, as class and location. The rest become tags, custom fields, item level attributes or project codes, or they get retired because nobody has reported on them in years. In practice most companies find that three or four segments are load bearing and the rest are historical. We do that analysis in discovery and show you the report evidence rather than asking you to guess.

We use the DSD multicurrency enhancement. Does that break the migration?

It changes the extraction, not the outcome. Enhancement data sits in its own structures, so it comes out through a separate extract and gets reconciled separately. What you should know is that a converter which only reads standard Sage 100 tables will silently miss it. Ask any vendor you are evaluating how they handle enhancement data, and listen for a specific answer.

Will our GST and HST input tax credit history come across?

Yes, and it gets tested. We rebuild your tax code structure in QuickBooks Online, then reconcile the last four filed periods against your actual returns before cutover. If Sage 100 was applying a rate inconsistently in some corner of your data, that is when you find out.

Can we keep Sage 100 running while we migrate?

Yes, and you should. Sage 100 stays live and posting until the cutover weekend. The test migration runs against an extract, not against your production system, so nothing about the review cycle interrupts your close.

What if you decide we should not migrate?

We tell you. Serial and lot traceability, deep manufacturing routing and very high transaction volumes are the three reasons we most often advise a Sage 100 company to stay put or look at QuickBooks Enterprise instead of QuickBooks Online. That conversation happens in discovery, before you have spent anything meaningful.

How much history should we bring?

Two to three years of detail plus opening balances is the common answer, with a read only Sage 100 environment for everything older. That satisfies the six year record retention the Canada Revenue Agency requires while keeping the QuickBooks Online file fast and the project affordable. If you need more inside QuickBooks Online, we can do it, and we will show you what it costs first.

Accounting firm with a client on this platform?
Refer, white-label, or co-deliver the migration with our team while you keep the client relationship.

Partner with SaaS Direct →

Playbooks

Before you decide, read the mechanics

Short, checkable pieces on the contract clauses and system limits that usually decide this. Each one names a document or a report you already own.

Seven things to export before you cancel Sage Intacct

Dimensions, allocation logic, statistical accounts and attached documents do not come out in a CSV, and the API dies with the contract.

Read the playbook

The uplift clause costs more than the discount you win

A 6 percent discount erased by a 7 percent annual escalator. All three years priced out, and the four documents to pull before you respond to a renewal.

Read the playbook

Browse all migration playbooks

Discovery Call

Book a Sage 100 migration assessment

Ninety minutes on your edition, your GL segment structure, your modules in actual use, your payroll provider and any multicurrency enhancement. A fixed-scope quote after, or an honest recommendation to stay on Sage 100.