Skip to Content
FinancialGross Sales

Gross Sales page

Purpose

The Gross Sales page is a yearly report that summarizes key sales components month by month and helps users reconcile the headline number Amazon reports for tax purposes.

The page is centered on one definition:

Unadjusted Gross Sales This is the “top” sales number before deductions. The page describes it as the figure reported on IRS Form 1099-K (Amazon’s gross receipts style reporting), meaning it represents revenue before subtracting fees, refunds, COGS, and other expenses.

The page answers two practical questions:

  • What is my unadjusted gross sales for the year, by month?
  • What parts make it up, and which products drive it?

What the user sees at a glance

The page is built from a monthly report for the selected year. For each month, the UI shows:

  • A set of charts (multiple modes)
  • An expandable table (month rows that expand into product rows)
  • An Export to Excel action

Everything shown is recalculated when the user changes the page filters.


Core metrics on this page

All values below are money amounts in the selected currency.

1) Product Sales

Revenue from items sold (item price only).

2) Shipping Credits

Shipping amounts charged to customers.

3) Gift Wrap Credits

Gift wrap amounts charged to customers.

4) Promotional Rebates

Promotional discounts applied to items. In the equation presentation, this is treated as a subtraction.

5) Sales Tax Collected

Total tax collected. Internally it can be composed of item tax, shipping tax, and gift wrap tax, but the table shows the total.

6) Unadjusted Gross Sales

The main result. This is the sum of the components above, following the page’s equation layout.


How the calculations work

For a given month mm, define:

  • PSmPS_m: Product Sales
  • SCmSC_m: Shipping Credits
  • GWmGW_m: Gift Wrap Credits
  • PRmPR_m: Promotional Rebates
  • TmT_m: Sales Tax Collected

Then the page’s main value is:

UGSm=PSm+SCm+GWmPRm+TmUGS_m = PS_m + SC_m + GW_m - PR_m + T_m

Where:

  • Each component is computed by summing the corresponding order fields for orders included in that month.
  • The same calculation is also produced per product inside that month (and shown when the month expands), using only that product’s orders.

How the year total is represented

The page shows monthly rows. A final total row (in the table footer and in export) is effectively:

UGSyear=myearUGSmUGS_{year} = \sum_{m \in year} UGS_m

Likewise for each component:

PSyear=PSm,SCyear=SCm,GWyear=GWm,PRyear=PRm,Tyear=TmPS_{year} = \sum PS_m, SC_{year} = \sum SC_m, GW_{year} = \sum GW_m, PR_{year} = \sum PR_m, T_{year} = \sum T_m

Filters and what they change

Filter: Year

The report is year-based.

  • The request uses a single year.
  • The response returns monthly records for that year.

Important limitation:

  • Even if the UI allows selecting a date range, the report is still generated using one year derived from the selected start date. If a user selects dates that span multiple years, the backend still receives a single year.

What changes for the user:

  • Months included in the report
  • All chart series and table values

Filter: Marketplaces

Users can select one or more marketplaces.

What changes for the user:

  • Which orders are included
  • Month totals and product breakdowns recalculate accordingly

Important implementation detail:

  • If multiple marketplaces are selected, month grouping may anchor its timezone rules to the first marketplace in the selection. This can affect edge cases near month boundaries.

Filter: Products

Users can select specific products or clear the selection to include all products.

What changes for the user:

  • Monthly totals recalculate using only the included products
  • The expanded product breakdown per month reflects only the selected products
  • Distribution and product trend charts change because their series are built from the month-by-month product breakdowns

Filter: Currency

The request includes a currency and values display using that currency.

Important limitation:

  • The Excel export formatting may still use a literal dollar-style number format even when another currency is selected.

Charts: what each view is for

1) Sankey Flow

Purpose:

  • Visual explanation of how Unadjusted Gross Sales breaks into components and how item sales distribute across products.

Typical structure:

  • One node for Unadjusted Gross Sales

  • Component nodes: Item Sales, Shipping, Taxes, Discounts, Gift Wrap

  • Product nodes (each product)

  • Links:

    • Unadjusted Gross Sales → each component
    • Item Sales → each product (based on that product’s item sales)

Month scope control:

  • The user can select a specific month or “All Months”.
  • “All Months” aggregates the monthly records into a year summary for the chart.

2) Distribution

Purpose:

  • Product contribution to Product Sales as a share of the total.

What it shows:

  • A donut or pie where each slice is a product.
  • Values are product item sales for the selected scope (month or all months).
  • The center often shows a total and the selected currency formatting.

Month scope control:

  • Same as Sankey: month selector and “All Months”.

3) Timeline

Purpose:

  • Month over month trends of the main components.

Typical series:

  • Product Sales
  • Unadjusted Gross Sales
  • Shipping
  • Taxes
  • Discounts
  • Gift Wrap

The x-axis is months of the selected year.

Purpose:

  • Monthly item sales trend per product.

How it behaves:

  • Each product gets its own series across months.
  • If a product has no sales in a month, its value for that month is 00.
  • “Current month” may be visually distinguished (for example as a dashed continuation) if the last month in the data matches the current calendar month.

Table: what it shows and how drilldown works

Table layout

The table is structured as an equation per month. Users see columns in this conceptual order:

  • Month
  • Product Sales
  • ++ Shipping Credits
  • ++ Gift Wrap Credits
  • - Promotional Rebates
  • ++ Sales Tax Collected
  • == Unadjusted Gross Sales

Each month is one row.

Expandable breakdown

  • Each month row can be expanded to reveal product rows underneath.
  • Product rows show the same columns and equation, but for the product only.

This supports:

  • Spotting which products drove a month
  • Reconciling monthly totals as a sum of product contributions

Large dataset usability

The table is placed in a scroll container with sticky headers so users can:

  • Scroll through many months and products
  • Keep column headers visible while scrolling

Export to Excel

The user can export the report to an Excel file named:

  • Gross_Sales_YYYY-MM-DD.xlsx

The exported sheet typically includes:

  • A header row matching the table
  • A second row showing the operators ++, ++, -, ++, == to mirror the equation layout
  • Month rows
  • Indented product rows under each expanded month
  • A final Total row summing the months

Known limitation:

  • Currency formatting in Excel may appear fixed to a dollar-style number format even when another currency was selected in the UI.

Loading, error, and empty states

Loading

  • Placeholder charts and table skeletons while the yearly report is fetching.

Error

  • An error panel if the report request fails.

No data

  • A “No sales data available” message when the selected filters return no report records.

What changes when a user changes filters

The output is driven by four inputs:

  • Year
  • Marketplaces
  • Product IDs
  • Currency

Changing any of them recomputes:

  • Monthly totals
  • Product breakdowns per month
  • All charts
  • Export content

Key interpretation notes

  • Unadjusted Gross Sales is not profit. It is before fees, refunds, COGS, and other expenses.
  • The table’s operator columns reflect the exact calculation:
UGS=PS+SC+GWPR+TUGS = PS + SC + GW - PR + T
  • If month boundaries look surprising around the first or last day of a month, marketplace timezone grouping behavior may be a factor.

Last updated on