Amazon SKU profit dashboard with every Amazon fee broken out

See what each Amazon SKU actually earns after referral fees, FBA fees, storage, refunds and promotions, with the loss makers sitting on top.

App
Amazon Seller PartnerGoogle SheetsFinanceOperationsAI ReportsData Sync
PromptCreate

Build me an app that my finance lead and I open every week to see what each Amazon SKU actually earns after Amazon takes its cut. Seller Central shows revenue and fees in separate places and never calculates profit, so today we export several reports and join them by SKU in a spreadsheet. This app should do that join for us and be the single screen we work out of.

The main screen is a profit table for a date range I select, with one row per SKU. Each row shows units sold, gross sales, every Amazon deduction broken out into its own column (referral fee, FBA fulfilment fee, storage fee, refunds, promotions), my cost of goods for the units sold, and net margin in both dollars and percent. Default the table to sort loss making SKUs on top, worst margin first, so the products quietly costing me money are the first thing I see. Keep the other sort options available by clicking column headers. Give me a date range picker at the top that defaults to the last full calendar month.

For the data: handlers pull the money side from Amazon Seller Partner List Financial Events for the selected range, and unit counts from Amazon Seller Partner Search Orders over the same range. Read my per unit cost of goods from a Google Sheets tab using Get Values, where the sheet has one row per SKU with the SKU in one column and the unit cost in another. Also call Amazon Seller Partner Get Inventory Summaries so that for any losing SKU I can see how many units are still sitting in FBA, shown as a column or in the row detail.

Important build nuances. List Financial Events caps at a 180 day span, so any range longer than that has to be chunked into sequential calls and the results merged. It is rate limited to 0.5 requests per second with a burst of 30, so fetch the financial events once for the whole range and cache the result in the view, then compute every row from that cached data. Never refetch per row or per SKU. Financial events come back as event type groups such as ShipmentEventList, RefundEventList and ServiceFeeEventList, each containing fee and charge components, so the handler needs to walk those groups and roll the amounts up by SellerSKU to produce one set of totals per SKU.

Handle missing cost of goods explicitly. If a SKU has no cost on file in the sheet, render a visible COGS missing state on that row instead of computing margin as if cost were zero. A SKU showing 100 percent margin because nobody entered a cost is the most common way these dashboards mislead people, so those rows should look obviously incomplete and should not be mixed into the loss making sort as if they were profitable. Also label the margin column as pre ad margin throughout the app, since Amazon's financial data does not include advertising spend and I do not want anyone reading this as a fully loaded number. A short note near the table explaining that advertising is excluded is enough.

Clicking a SKU opens a drill down showing every individual fee event behind that row, listed with date, order or transaction reference, event type and amount, grouped by fee category. This is how I tell why margin moved on a given SKU, so keep the individual events visible rather than only showing subtotals. Include that SKU's current FBA inventory position in the drill down as well.

I need to be able to edit a SKU's cost of goods inline in the table. When I save an edit, the app persists the new value in its own storage so the table updates immediately, and writes the same value back to the source spreadsheet using Google Sheets Update Values so the sheet my team already uses stays correct. Show a clear saved state and surface an error if the sheet write fails rather than silently diverging.

Add an Export button that appends the current view, exactly as filtered and sorted, as a dated snapshot to a Google Sheets tab using Append Values, so my accountant has a running record of each period we reviewed. Include the date range and the export date on every appended row.

Finally, let me flag SKUs to watch. Flagged SKUs are pinned to the top of the table and stay flagged across sessions, stored per user so my finance lead and I can watch different products. Cost of goods edits are shared since they live in the spreadsheet, but the watch flags are personal.

What does this prompt do?

  • Shows one row per SKU for any date range you pick, with units sold, gross sales, every Amazon deduction listed separately, your cost of goods, and net margin in both dollars and percent
  • Sorts loss making SKUs to the top so the products quietly costing you money are the first thing you see
  • Lets you click any SKU to see every individual fee event behind the number, so you can tell exactly why margin moved
  • Pulls your per unit cost of goods from a Google Sheet, lets you correct it inline, and writes the change back to the sheet
  • Shows how many units of a losing SKU are still sitting in Amazon fulfilment centres, so you know how much exposure is left
  • Exports the current view as a dated snapshot into a Google Sheets tab for your accountant, and keeps flagged SKUs pinned between sessions

What do I need to use this?

  • An Amazon Seller Central account connected to General Input, with access to financial and inventory data
  • A Google account with a spreadsheet holding your per unit cost of goods, one row per SKU
  • A tab in that same spreadsheet where exported snapshots can be added
  • Roughly ten minutes to check that your cost of goods sheet covers your active SKUs

How can I customize it?

  • Change the default date range that loads when you open the app, for example last 30 days instead of last calendar month
  • Point the app at a different spreadsheet or tab for cost of goods, or change which columns hold the SKU and the unit cost
  • Adjust what counts as a problem SKU, for example flagging anything under 10 percent margin rather than only negative ones
  • Add or remove deduction columns depending on which fees actually matter to your business

FAQs

Why does my Amazon dashboard not already show this?
Seller Central reports revenue and fees in separate places and never subtracts one from the other, so most sellers end up exporting several reports and joining them in a spreadsheet. This app does that join for you and shows the result as profit per SKU.
Does this include my advertising spend?
No. Amazon's financial data does not include ad spend, so the margin shown here is described as pre ad margin. It covers referral fees, fulfilment fees, storage, refunds and promotions, but you will need to subtract advertising separately for a fully loaded number.
What happens to SKUs where I have not entered a cost of goods?
They are clearly marked as missing a cost rather than being shown at full margin. That avoids the most common way these dashboards mislead people, which is a product looking wildly profitable simply because no cost was ever recorded.
Can I pick any date range I want?
Yes. Amazon returns financial data in windows of up to 180 days, so longer ranges are fetched in sequence and combined behind the scenes. Very long ranges just take a little longer to load.
If I fix a cost of goods in the app, does my spreadsheet stay correct?
Yes. Editing a cost inside the app saves it and writes the same value back to your Google Sheet, so the spreadsheet your team already uses stays the source of truth.
Can two people use this at once?
Yes. You and your finance lead can both open it. Cost of goods edits are shared because they live in the sheet, and the SKUs you flag to watch stay pinned for you across sessions.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Stop guessing which Amazon SKUs actually make money.

Open one screen with every Amazon fee subtracted, your real costs applied, and the loss makers already at the top.