GSA Sales Reporting (TDR): your monthly upload file, prepared and checked

EG TDR Reporter is an Excel workbook for Windows that prepares and checks the monthly GSA Sales Reporting (TDR) upload file for a Multiple Award Schedule (MAS) services contract. You import the month’s invoice lines from your accounting export. It matches them to your GSA price list and task orders, checks every row against GSA’s published reporting rules, and fills the template you download from the FAS Sales Reporting Portal (SRP) that month. You upload the file in SRP and pay the Industrial Funding Fee (IFF) yourself.

One free month per GSA contract. No card needed. Prepares and checks the file. You upload it in SRP and pay the IFF.

See the free edition and the license

Built by an Excel developer, not a template site.

Hundreds of custom Excel projects · 5.0★ client rating across 230+ reviews · Building Excel tools since 2010

EG TDR Reporter is made by ExcelGurus, LLC. ExcelGurus is not affiliated with, endorsed by, or acting for the U.S. General Services Administration (GSA).

The Review page for September 2026 sales under contract 47QTCA26D00AB, showing 2 blocks and 5 warnings with the Make GSA upload file button grayed out. Each Setup problem has a Fix button, a rate billed above the GSA price has an Open price list button, and the rows that need attention are listed with their findings.

Review holds back the upload file until every block is fixed, and sends each one to the cell that fixes it. Sample data.

The EG TDR Reporter Home page showing the next report, September 2026 sales due Oct 30, 2026 with 8 days left, and a Continue report button. Below are three How it works steps (import your monthly sales, check every line, make the GSA upload file), the license card for the free month, and Settings and About sections.
Home shows the next report due and how many days are left. Sample data.
The Import sales page at step 3, Match names, for September 2026. Bus. Analyst is matched to the Business Analyst labor category, three other names and one task order still wait for an answer, and a line confirms the file's TOTAL row matches the rows read.
Names in your sales export that differ from your contract are matched once, and the answer is remembered. Sample data.
The Setup page opened from a Fix button, with a note saying the SIN is blank on one task order and a Back to Review button. In the TASK ORDERS table, the empty SIN cell for that order is outlined in orange.
Fix opens Setup at the exact cell, and the value you enter reaches every row that uses it. Sample data.
The Month page for September 2026 sales, due Oct 30, 2026 with 8 days left, listing six steps from Import sales to Mark uploaded. Steps 1 to 5 are done, ending with a 15-row upload file totaling $154,278.10, and Mark uploaded is the one step left.
Each month is six steps, from importing your sales to marking the file uploaded. Sample data.
A message box confirming the GSA upload file was saved for September 2026, contract 47QTCA26D00AB, with 15 rows totaling $154,278.10 and an IFF estimate of $1,157.09. It says which SRP menu to use for the upload and offers Close and Open folder buttons.
When the file is made, you get the total, the IFF estimate and the steps to upload it in SRP. Sample data.
The Archive page listing each upload file the workbook made: September 2026 with 15 rows, a $154,278.10 total and a $1,157.09 IFF estimate, marked Uploaded, and August 2026 recorded as zero sales.
The Archive keeps every month's file, totals and upload status in one list. Sample data.
The Review page for October 2026 sales in the free edition, reporting 2 warnings on 2 of 3 rows without listing them. A FREE EDITION note says this contract's free month is September 2026, with Buy a license and Activate license buttons.
After the free month, the free edition still counts the findings each month; a license shows every finding and makes the file. Sample data.

What EG TDR Reporter does

It reads what your accounting system already exports, checks every row, and fills GSA’s own template. You upload the file in SRP.

How a month goes six steps on one page, in order ▼
The Month page is the month itself, for example September 2026 sales, with the contract and the due date under its title. It has six steps, in order, and each shows its result in real numbers.
  • Import sales. Open the CSV or Excel export from your accounting system, or paste the rows. Title rows, subtotals and the grand total are skipped, and the rows read are checked against the file’s own total.
  • Map columns. The columns are found by their headings (invoice number, date, order, labor category, hours, rate, amount) and the layout is saved under a name, so next month’s file from the same report skips this step.
  • Match labor categories. For a name your books use that is not on your GSA price list, you are asked once which GSA labor category it is, and the answer is remembered. A line that is not on your price list, travel for example, can be left out.
  • Run checks. Every row is checked before a file exists.
  • Make GSA upload file. You pick the template you downloaded from SRP this month. The rows are written as values into a copy of it, read back, and saved as a new file; your template itself is never changed.
  • Mark uploaded. Once SRP shows your upload as submitted, one click records it, and the next month opens.
A month with no sales is recorded with one click on its No sales link, and you report it by Form Entry in SRP; no file is made. Home shows the next report due with the days left, in amber when it is a week away and in red when it is late.
What it checks every row, before a file exists ▼
Two kinds of finding. Blocks stop the file until they are fixed: SRP documents a rejection for some, GSA’s pages fix the value others take, and a few are EG TDR Reporter’s own checks. Warnings do not stop the file, but GSA may flag the row later.
  • Blocks, for example: a required field left blank, a total that is not the quantity times the unit price rounded to the cent, a unit not on SRP’s list or EA on an hourly labor category, a non-federal entity that is not exactly SCP, SDP, OTH or N/A, a cloud service type missing on a cloud SIN, or an earlier month of the contract neither reported nor with its file made.
  • Warnings, for example: an order number that is a MAS contract number, a SIN not awarded on your contract, a description that is not the exact GSA title on a row without a UCID, the same line imported twice, or a line dated outside the month.
  • Every finding names the row (the row of your export, or the Setup record behind it), the field, what SRP expects and where the rule comes from.
  • Fix opens Setup at the cell for a finding that comes from a Setup record, and fixing it there fixes every row it names.
  • Prices above your GSA price wait for you. A row billed above the awarded price in effect on its date needs a tick on “I’ve checked this” before the file is made: check the invoice, or correct the price list.
That is what a license shows, and what a contract’s free month shows. After the free month, the free edition runs the same checks but shows only their number, for example “2 blocks and 1 warning on 3 of 15 rows”. EG TDR Reporter’s checks follow GSA’s published instructions as of its release and may not catch every error; passing them does not mean GSA will accept a report.
Set up once your contracts, price list and task orders ▼
One Setup page holds what every month reads.
  • Your company and its reporting basis, invoice date or payment date, chosen once.
  • Each MAS contract with its first TDR month. One company per workbook, one or more MAS contracts.
  • The SINs awarded on each contract.
  • Your GSA price list: each service’s title exactly as on the GSA price list, its type, unit, UCID and the price in effect, typed, pasted, or imported from a file, GSA’s FCP Services Plus File included.
  • Your task orders: the order number, pricing, SIN, non-federal entity and federal customer, picked by agency name (the GSA file gets only its two-character code).
Every entry is checked against GSA’s rules as you type it, and a refused entry says why.
The file it makes GSA’s own template, filled with values ▼
GSA’s own template, the copy you downloaded from SRP this month, filled on its MAS Data sheet.
  • Values only. No formulas, macros, tabs or format changes go into it, and the rows written are read back and compared before the file is saved.
  • A new file every time, named for the contract, the month and the day it was made, saved in the folder you choose and never over an existing file.
  • The message after it names the month to choose in SRP, since the file itself carries none, and the route: Report Data for a first report, Adjust Data for a correction of a month already uploaded.
  • Kept in the Archive: each file made, and each month marked zero sales, with its status and an estimate of the IFF (0.75% of the net total; SRP calculates the amount due).
  • Nothing personal in it. The file names neither your Windows user name nor any folder of yours.

What it deliberately does not do. It never logs in to SRP, never holds your SRP password, never uploads and never pays: you upload the file in SRP and pay the IFF yourself. It is not an accounting system; it reads what your accounting system already exports. This version reports services: hourly labor categories, fixed price services, configurable services, volume and prompt payment discounts, returns, and cloud SINs. It does not report products or GWAC and MAC contracts, and it makes the Excel upload file, not CSV. It runs in Excel for Windows only.

Who built this workbook

EG TDR Reporter comes from the same developer behind hundreds of custom Excel projects. These are reviews of that work.

★★★★★

“Most likely one of the best freelancers I’ve had the opportunity of working with. I would highly recommend David for any complex VBA coding. We’ll be working with him again in the future.”

VBA Development Client · via Upwork, 2020

★★★★★

“David does phenomenal work. We brought him in during the middle of a project and he was able to pick up a significant workload very quickly. His communication and ability to hit deadlines early was great. He was a true pleasure to work with and his work was outstanding.”

Report Creation Client · via Upwork, 2022

Free edition
Import and check your sales every month.
$0
no card needed

Includes

  • ✓ One free month per GSA contract: every finding and the GSA upload file
  • ✓ After the free month, it still imports and checks your sales but shows only the number of findings

The free month starts only once the workbook reaches our server.

Download the free edition

A signed setup program for Windows. What it installs and how to uninstall it are set out under the plans, with the license agreement.

Windows PC required. Why not on a Mac?

Every finding, every month
License
The same workbook with every finding shown and the GSA upload file made every month.
$299
a year · renews automatically · 2 computers

Adds

  • ✓Every finding, every fileThe copy shows every finding and makes the GSA upload file every month.
  • ✓Unlocks in placeOn Home, in the License card, click Activate license and enter your key. Your contracts, price list, months and files stay where they are.
  • ✓Move it when you need toOpen the license box from the pill at the top right, choose Deactivate, then activate on the next computer.

The key arrives by email once the purchase completes.

$299 a year, renews automatically until you cancel. Bought before January 1, 2027, it stays $299 for as long as it keeps renewing. Cancel online at any time. Ask within 30 days of a purchase, or within 60 days of a renewal charge, and we refund it if no GSA upload file has been made with your license since that charge (your free month’s file does not count). If SRP rejected a file because of a problem in EG TDR Reporter, ask anyway. Request a refund at excel-gurus.com/support.
Renewal terms

One free month per GSA contract: the first month you check, with every finding and the GSA upload file. No card needed.

Buy a license

What the setup program does

EG TDR Reporter is software that runs inside Microsoft Excel on Windows and prepares and checks the monthly GSA Sales Reporting (TDR) upload file. It imports your accounting export, checks every row against GSA’s published reporting rules, and fills the template you download from SRP. The free edition download is a setup program signed by ExcelGurus LLC that installs it as an Excel workbook (.xlsm).

  • Installs the workbook and its icon in Documents\ExcelGurus\EG TDR Reporter (you can choose another folder), Start menu shortcuts, a desktop shortcut you can untick, and its uninstaller and settings in your Windows user profile. When it finishes it opens the workbook, unless you untick that box.
  • Excel setting: a box, ticked by default, adds that folder and its subfolders to Excel’s Trusted Locations, so the workbook normally opens with no macro warning. Untick it and Setup leaves Excel as it is.
  • No administrator rights. It installs for your Windows user only. Needs Windows 10 or later and Excel for Windows.
  • Internet: Setup itself sends nothing. The workbook shows the license agreement again the first time it opens; once you accept it there, it tells our server that a copy has been opened, then checks in normally once a day when it is opened. These messages carry the product, its version, whether a license is active and anonymous identifiers, including a random installation ID that Setup keeps in your Windows user profile. Section 4 of the license agreement names two more messages, in these words: “In the free edition, the Software also sends a contract number and a month, with the installation and computer identifiers, whenever it needs our server’s answer about that contract’s free month: when you start the contract’s free month, when an earlier attempt got no answer or this computer has no record of the answer, when you check the contract’s free month again after it has ended, and when you choose Check again. This lets each contract receive one free month and lets us limit how many contracts receive one on the same computer. We keep a coded form of the contract number, not the number itself. With a paid license, each time the Software makes a GSA upload file it also sends the month the file is for, the date and time it was made and whether it is a correction, with the license key, the computer identifier and the Software version, so that refunds can follow Section 1. It sends no contract number and nothing from the file.” A licensed copy never sends a contract number. Apart from those two, the messages never carry anything from your spreadsheets (what is sent, and what a paid license adds).
  • Uninstall in Windows Settings > Apps > Installed apps (Apps & features on Windows 10 and early Windows 11): find EG TDR Reporter and choose Uninstall. It removes the Excel setting, the shortcuts and its own settings, and asks whether to delete EG TDR Reporter and your report data; No, the default, keeps them.

Already using the free edition? Keep your file. Buying a license unlocks it in place, nothing to move or re-enter.

Already have a license? Manage or cancel automatic renewal.

Questions before you start? Read the help guide, the GSA Sales Reporting guides, the renewal terms, or contact support.

Common questions

Does it upload my report or pay the IFF?

No. It prepares and checks the upload file. You log in to the FAS Sales Reporting Portal and upload the file, and you pay the Industrial Funding Fee yourself. The IFF it shows is an estimate; SRP calculates the amount due.

Is EG TDR Reporter endorsed by GSA?

No. ExcelGurus is not affiliated with, endorsed by, or acting for GSA. EG TDR Reporter’s checks follow GSA’s published instructions as of its release and may not catch every error; passing them does not mean GSA will accept a report. You remain responsible for what you upload.

What does the free edition include?

Each GSA contract gets one free month: the first month you check, with every finding and the GSA upload file. After it, the free edition still imports and checks your sales but shows only the number of findings, and makes no GSA upload file. A license shows every finding and makes the file every month. When a license ends, the copy goes back to the free edition, and your data and past files stay yours.

How does the free month start, and when does it end?

At your first check of a month with sales, the workbook asks whether to start your free month with that month. Starting it sends the contract number and the month to our server, which keeps one free month per contract; choose Not now to see only the number of findings for now. It takes no card, and nothing is charged when it ends. That month is shown in full for 60 days from the day it starts; after that it shows only the number of findings, like every other month. A new download or a reinstall does not start another free month for the same contract, and free months are limited to three contracts per computer in any 12 months.

Does the license renew automatically? How do I cancel?

Yes. A license bought online renews automatically each year, on the renewal date shown in your license email, until you cancel. We email you 35 days and again 20 days before each renewal, with the date, the amount and how to cancel. Cancel online at any time from the link in your license email or in any renewal email, or with Manage renewal in the license box of EG TDR Reporter: you are not charged again, and your license stays good through the date it already has. Ask within 30 days of a purchase, or within 60 days of a renewal charge, and we refund it if no GSA upload file has been made with your license since that charge (your free month’s file does not count). If SRP rejected a file because of a problem in EG TDR Reporter, ask anyway. Request a refund at excel-gurus.com/support.

Which accounting systems does it read?

Any that exports invoice lines to CSV or Excel. It was built around the layouts of QuickBooks Online’s Sales by Product/Service Detail and QuickBooks Desktop’s Sales by Item Detail reports. Those reports carry invoice dates only, so they suit a contractor who reports by invoice date.

What if GSA changes the template?

Each month you pick the template you downloaded from SRP, and the tool finds its columns by their headings. If a column this version needs is missing, or a new column is marked as required, it stops and tells you instead of making the file. A new column that is not marked as required is named, and you decide.

Does it run on a Mac?

No. It uses Windows components the macOS sandbox does not provide, so it runs in Excel for Windows only.

Scroll to Top