# eBay profit desk: true net margin per order and SKU

> See what each eBay order actually made after fees, ads, shipping, refunds and your product cost, rolled up by SKU and month to date.

- Workflow type: app
- Services: eBay, Google Sheets
- Categories: Finance, Operations
- Published: 2026-08-21

## What it does

- Lists every recent eBay order with sale price, eBay fees, ad fees, shipping cost, refunds and your own product cost, so you see the real profit on each one instead of just the revenue.
- Rolls the same numbers into per SKU and month to date summaries sorted worst margin first, and appends the monthly summary to a Google Sheets tab for your bookkeeper in one click.
- Gives you an editable cost sheet for product costs, with a one click import from an existing Google Sheets cost sheet and a visible missing cost queue so no order is silently counted as free.
- Adds a Diagnose this SKU button that sends an assistant to review that product's traffic, conversion, ad rate and recent fees, then writes a short margin verdict and a suggested price or ad change onto the row.

## What you'll need

- An eBay seller account with access to your orders, payouts and listing stats
- A Google account with Google Sheets, if you want to import costs or export the monthly summary
- Your product costs, either typed in as you go or already sitting in a spreadsheet with a SKU column
- Listings that use the SKU or custom label field, since that is how orders get matched to costs

## Prompt

Build me an eBay profit desk I open every morning that finally shows what I actually made, not what eBay says I sold. The main page is a table of recent orders, one row per order line item, showing sale price, eBay fees, ad fees, shipping cost, refunds, my cost of goods, and the true net margin in both currency and percent. I want to sort by margin, filter by date range and SKU, and click into any order to see the individual fee lines that add up to its total.

Source the order rows from eBay Get Orders, using each line item's SKU as the join key to everything else. Pull the fee, ad fee and refund lines from eBay Get Transactions and match them back to their order, use eBay Get Transaction Summary for period level fee and refund totals, and use eBay Get Payout Summary so the desk can show how the computed net ties out against what eBay actually paid me. Use eBay Get Inventory Items for the master SKU list, so the cost sheet covers every SKU I sell rather than only the ones that happen to have sold recently.

Above the order table, show a month to date summary strip: gross sales, total eBay fees, total ad fees, total shipping cost, total refunds, total cost of goods, and net profit with margin percent. Below it, show a per SKU rollup table for the selected period with units sold, revenue, total fees, total cost and net margin per SKU, sorted worst margin first so the money losers surface immediately.

The second page is my cost sheet. It lists every SKU with an editable cost of goods field I can type or edit directly in the app, persisted in the app's own storage so the values survive reloads. Add a one click import that reads an existing cost sheet from Google Sheets using Get Values: let me paste a spreadsheet link and pick a range, map the SKU and cost columns, and preview the matches before committing. Any order whose SKU has no recorded cost must land in a visible missing cost queue on the main page with a count badge, and those orders must be excluded from the headline net profit figure rather than counted as zero cost, so the profit number stays honest instead of silently wrong.

Each SKU row, on both the cost sheet and the per SKU rollup, gets a Diagnose this SKU button that kicks off a background agent scoped to that SKU. The agent pulls the SKU's views and conversion rate from eBay Get Traffic Report, its Promoted Listings ads and current ad rate from eBay Get Ads, and its recent fee lines from eBay Get Transactions, then writes a short margin diagnosis of three or four sentences explaining where the margin is going and recommending a specific price change or ad rate change. Write the result back into the app as a dated note on that SKU row, so the row shows the latest diagnosis inline and I can expand to read earlier ones. Show a queued or running state on the row while the agent works.

Add an Export this month action that appends the monthly margin summary, one row per SKU plus a total row, to a Google Sheets tab using Append Values, so my bookkeeper works from the same numbers I am looking at. Let me choose the destination spreadsheet and tab, and record the last export time in the app.

A few details to get right. eBay Finances calls run against apiz.ebay.com rather than the main API host. Money values come back as value and currency objects, so normalize them into plain numbers for a single marketplace currency and display that currency consistently everywhere. The SKU, which is the custom label field on a listing, is the standard join key between listings, orders and cost records, so treat a missing or blank SKU as its own visible problem rather than dropping the order. Refunds should reduce the net for the original order's month, and every figure on screen should make clear which period it covers.

## How to customize

- Change the date window the desk opens on, such as last 30 days instead of month to date.
- Set a target margin so rows below it get flagged, and choose whether to sort by worst margin or by newest order.
- Pick which spreadsheet and tab the monthly export appends to, and which columns your imported cost sheet maps from.

## FAQ

### Does eBay not already show me my profit?

eBay shows revenue and fees but has no idea what you paid for your stock, so a month can look strong in the sales chart while individual orders lose money. This app puts your product cost next to eBay's fee lines so the number on screen is actual profit.

### What happens to orders where I have not entered a cost yet?

They land in a visible missing cost queue with a count badge and stay out of the headline profit figure, rather than being treated as zero cost. That way the profit number is either honest or obviously incomplete, never quietly wrong.

### Can I bring in the cost sheet I already keep in a spreadsheet?

Yes. Point the importer at your existing Google Sheets cost sheet, match up the SKU and cost columns, preview the matches, and it fills the app in one click. You can still edit any individual cost by hand afterwards.

### What does the Diagnose this SKU button actually do?

It kicks off a background assistant for that one product. It reviews recent views and conversion, the current ad rate, and the latest fee lines, then writes a few sentences on where the margin is going plus a specific price or ad rate suggestion. The note is saved onto the SKU row with a date.

### Will this work if I sell on more than one eBay site?

It is built around a single marketplace and one currency, which covers most sellers. If you sell across several eBay sites, run it for your main marketplace so the totals stay in a single currency.

Use this prompt in General Input: https://www.generalinput.com/prompts/ebay-profit-desk-true-net-margin-per-order-and-sku