Reporting in Sage 100 Contractor: What Are Your Options?
· By Mike Hagberg
An honest side-by-side of the three ways contractors get reports out of Sage 100 Contractor — the built-in Report Writer, Power BI, and DataXcel — including which one to pick when we are the wrong answer.
Every contractor on Sage 100 Contractor eventually asks the same question: the number I need isn't on any of the built-in reports — now what?
There are three realistic answers. This is a straight comparison of all three, written by the people who make one of them. We've tried to make it the kind of thing you could hand to a client without wincing, which means we tell you plainly where the other two win.
First, the thing all three are fighting
Sage 100 Contractor is a genuinely good construction accounting system. Its database is a different story.
The tables and columns were named for a product that started life decades ago, so a field is recnum or stat rather than record_number or status. A single job-cost question can span half a dozen tables, and the joins between them are not obvious from the names. There is no plain-English layer.
That is the real work in any Sage reporting project. Every option below is a different answer to the same question: who does the translating, and how often do they have to do it again?
Option 1 — Sage's built-in Report Writer
What it is: the report designer inside Sage, at menu 13-3 Report Writer.
What it's genuinely good at:
- Nothing new to buy. No new vendor, no new contract, no security review.
- Sage ships over a thousand built-in reports. A large share of what most contractors need is already written, tested, and correct. Before anyone builds anything, check whether a canned report already answers the question — this is the single most common waste we see.
- It knows Sage's own rules. Period locks, job cost types, the relationship between payroll records and job cost — the built-in reports respect all of it, because Sage wrote them.
- The output is a document. For anything that has to be printed, signed, mailed, or filed, that's exactly right.
Where it stops:
- Modifying a report means working in the raw schema. You are back to the six-character field names and the non-obvious joins.
- It's built for pages, not for exploring. Sorting a list of 500 jobs by margin, clicking into the worst one, and then changing your mind about the date range is not the way it works.
- It's one company and one system. If you run two Sage companies, or want Sage numbers next to anything from another system, Report Writer doesn't cross that line.
- Distributing reports means distributing Sage. Whoever reads the report generally needs to be in Sage.
Pick this one if: the report you need is close to one that already exists, the output is a document, and the person who'll maintain it is comfortable in Sage's schema.
Option 2 — Power BI
What it is: Microsoft's analytics platform, pointed at your Sage database or at an extract of it.
What it's genuinely good at:
- It is the most capable tool of the three, full stop. Anything you can imagine, Power BI can do.
- You may already own it. Many contractors have it bundled with Microsoft 365 and have never switched it on.
- It's not a construction product, which is sometimes the point. Sage numbers alongside your service dispatch system, your fleet telematics, your CRM — Power BI doesn't care where data comes from.
- The skills are hireable. Power BI people exist in every city. Sage Report Writer people do not.
Where it stops:
- Somebody has to do the translating, and it's you. Power BI will happily connect to Sage's tables and show you
recnum. The model — the joins, the business rules, what counts as committed cost, how to treat a voided payroll record — is work you own, and you own it forever. - That work doesn't hold still. Sage upgrades, a new cost code structure, a second company — each one is a maintenance event on your model.
- Licensing is per user. Costs grow with the number of people reading reports, which is the opposite of what you want when reporting starts working and everyone wants in.
- It is a platform, not a product. Buying Power BI buys you a blank canvas. Most abandoned Power BI projects we meet died not because the tool failed but because the person who built the model left.
Pick this one if: you have — or will hire — someone whose actual job is data, you need Sage combined with other systems, and you want unlimited ceiling and are willing to own the maintenance.
Option 3 — DataXcel
What it is: we connect to your Sage server, build a modeled copy of your data in your own warehouse, and give you a dedicated reporting instance on top of it.
What it's genuinely good at:
- The translating is done and it stays done. The modeled layer turns
recnumintoJob Numberand encodes the joins once. Sage upgrades and schema quirks are ours to absorb, not yours. - Readers don't need licenses. Your instance is yours; you control the users and permissions. Reporting that gets more useful as more people read it shouldn't cost more every time someone new wants in.
- A library that has already mashed Sage's reports together. Sage's thousand reports are real, but each one answers one subject. The number you actually want — job cost against payroll against billing — lives in three of them, and you finish the job in Excel. Ours were built from real customer requests, so the joining is already done and the answer is one report.
- It grows every time somebody asks. A report built for one contractor gets generalized and offered to everyone else on the platform. You inherit work you didn't pay for.
- It is not only job cost. Sales, cash flow, project management, service, payroll, WIP — all off the same modeled data, which is why the numbers agree across all of them instead of each report telling a different story.
- Reports get built for you. You describe what you want in plain English and we build it. There is no version of this where you are left alone with a blank canvas.
- It comes with an AI you can just ask. Not a chatbot bolted onto a help menu — an AI that reads your modeled Sage data and answers questions about your business in plain English. Which jobs are over budget on labor this month? Why did February margin drop? Which customers pay slowest? You get the answer and the numbers behind it, in seconds, without writing SQL, filing a report request, or waiting on us. Ask it anything you want to know about your company; the data is already there.
- Which means you are not limited to the reports somebody built. Every reporting tool eventually runs out of reports. This one runs out of questions instead, and most people never get there.

Someone typed "add supervisor to the profit and cost report." The AI rebuilt it against the modeled Sage data, told them which table Supervisor came from, and told them what it could not do on its own. Demo data — real company names replaced.
It also works the other way around. Instead of waiting for you to ask, it reads the whole business every morning and tells you what needs attention today.

Underwater jobs, missing contracts, stale project management, unclosed periods — each with the amount and what to do about it. Nobody ran a report to get this.
- Everything reconciles to Sage. If a report disagrees with Sage, that is a bug and we fix it. Two reports with two different revenue numbers is the problem we exist to eliminate.
Where it stops — and this is the honest part:
- We are the newest of the three. Microsoft has been around since 1975 and Sage owns the system of record. We're about two years into this product.
- It's a subscription. Report Writer is already paid for. We are not.
- It needs a connection into your Sage server. That means a SQL login and an outbound-only encrypted tunnel from your server. Some IT policies say no, and that's a legitimate no.
- Your data is as fresh as the last sync, not live to the second. For job cost and payroll that is almost always fine. For "what did the tech invoice four minutes ago," it isn't.
- Output lives in a browser. You can export, schedule, and email it, but if what you want is a printed form with a signature line, Sage's Report Writer is the better tool and we'll tell you so.
Pick this one if: you want reporting to work without hiring for it, more than a couple of people need to read the reports, and you'd rather ask a question than build a report.
A note on the Excel-based report add-ins
There's a fourth category worth naming: tools that live inside Excel and pull Sage data into a worksheet.
They are popular for a good reason — everyone already knows Excel, and a live-refreshing spreadsheet is a genuinely nice thing. If your reporting needs are one controller and a handful of workbooks, that may be all you ever need.
The trade is that the reliability of your reporting becomes the reliability of Excel. Workbooks break when they move between machines, formulas drift, and a broken report is often faster to rebuild from scratch than to repair. We hear that story often enough that it's worth going in with your eyes open.
The short version
| Sage Report Writer | Power BI | DataXcel | |
|---|---|---|---|
| Cost | Usually already licensed | Per user | Subscription |
| Who does the data modeling | You | You | We do |
| Who maintains it after go-live | You | You | We do |
| Readers need a license | Sage access | Yes | No |
| Reports out of the box | 1,000+, one subject each | None — you build them | Library, and built to request |
| Ask questions in plain English | No | Copilot, on higher-tier capacity | Included |
| Best output | Printed documents | Anything, if built | Dashboards and scheduled reports |
| Combines with non-Sage systems | No | Yes | Yes |
| Ceiling | Low | Highest | High |
| Time to a working report | Days to weeks | Weeks to months | Days |
If you take one thing from this: check the built-in reports first. Sage already wrote a thousand of them and a fair number of "we need a custom report" projects end when somebody finds the one that already exists.
If the answer genuinely isn't in there, the real question isn't which tool is most powerful. It's who is going to own the translating layer in three years. Answer that honestly and the choice above makes itself.
Questions about any of this — including the parts where we're the wrong answer — get in touch.