A Shopify line item report breaks every order down to the individual product line sold — one row per SKU, per variant, per order — instead of showing you one lump sum per order. That granularity is exactly what you need to see which designs actually move. The catch for an operating store: the native versions report revenue, quantity, and (sometimes) cost, but they stop before shipping, payment fees, and ad spend — so they never tell you which line items make money.

If you run a print-on-demand store with real order history, you already know the order-level view hides too much. "This order was $64" tells you nothing about which of the three shirts in it carried the margin. Line item reporting is how you get underneath the order.

This guide covers what Shopify's line item reports show, which plan unlocks each one, the custom-data layer most writeups fixate on, and the profit gap every one of them leaves open.

What a Shopify line item report actually shows

A line item is a single product entry inside an order. If a customer buys two different tees and a mug, that order has three line items. A line item report gives you one row per line item rather than one row per order.

Each row typically carries the product title, variant, SKU, quantity, the price at sale, any line-level discount, and — if you've entered cost data — the per-unit cost of goods. That's the raw material for answering operator questions: which design sells, which variant size dominates, which SKU to reorder art for.

Line items vs. order-level reports

The distinction matters because POD baskets are mixed. An order-level report sums everything into one revenue figure and one shipping charge. A line item report lets you attribute revenue and units to the specific product, which is the only way to rank your catalog honestly.

If you want the broader framing on how item-level data rolls up into store-wide decisions, our primer on ecommerce business intelligence walks through how granular reporting feeds the metrics you actually steer by.

The native Shopify line item reports (and which plan unlocks them)

Shopify ships several views that operate at the line item level, but they're gated by plan.

The Sales by product report (under Analytics → Reports) breaks sales down to the product and variant, which is effectively a line item view of what sold. The Sales by product variant SKU report goes one level deeper to the SKU. These sit in the Sales reports group.

Here's the gate: according to Saras Analytics' breakdown of Shopify reporting by plan, the Basic plan includes only the overview dashboard, finance reports, and limited product reports; the full Sales, Behavior, and Marketing report groups open up on the standard Shopify plan; and custom reports, profit reports, and cohort analysis are reserved for the Advanced and Plus tiers.

That last point is the one that bites operators. The native profit report — the only built-in view that nets cost against revenue at the product level — is an Advanced-plan feature. If you're on Basic or the standard Shopify plan, Shopify's own tools will show you line-item revenue but not line-item margin.

For a fuller picture of what native reporting leaves on the table and how teams fill the gap, see our walkthrough on ecommerce reporting integrations.

Line item properties and note attributes: the custom-data layer

Most articles ranking for this term are really about one thing: line item properties — the custom fields attached to an individual item, like engraving text, a personalized name, a gift message, or a chosen frosting color. For a POD store running personalized products, this is production-critical data.

The problem is that Shopify's native reports don't surface line item properties cleanly. They live in the order detail, not in the exportable report columns, which is why a cottage industry of apps exists to extract them into spreadsheets.

There are two related fields worth separating:

  • Line item properties attach to a specific product in the order (the name printed on this shirt).
  • Note attributes (order attributes) attach to the whole order (delivery instructions, a gift flag).

If your reporting needs to pull personalization data for the production floor, that's a legitimate reason to export line items — but it's a fulfillment problem, not a profit problem. Keep the two jobs separate in your head, because solving one doesn't solve the other.

A worked example: what the line item report tells you — and what it hides

Say you run a store doing 340 orders a month at a $31 average order value, with $2,800 a month in Meta spend. One order comes through: two tees, one line item each.

Shopify's Sales by product report shows you this cleanly — revenue per line, units, and (if you loaded costs) COGS per line. Walk a single $31 tee line through the full cost stack:

  • Revenue: $31.00
  • − Blank garment + print (COGS): −$12.50
  • − Shipping (carrier): −$4.50
  • − Payment processing: −$1.20
  • − Pick/pack labor: −$1.00
  • = Contribution margin before ads: $11.80

The payment processing line uses Shopify Payments' standard domestic online rate of 2.9% plus 30¢ per transaction: (2.9% × $31) + $0.30 = $0.90 + $0.30 = $1.20.

Now allocate ad spend. At 340 orders against $2,800 in Meta spend, each order carries $2,800 ÷ 340 = $8.24 of acquisition cost. Subtract it:

  • Contribution margin before ads: $11.80
  • − Allocated ad spend: −$8.24
  • = Per-order profit: $3.56

That $3.56 is the number that actually matters — and it is nowhere in the line item report. The report stopped at $31.00 in revenue (or, at best, $18.50 after COGS on an Advanced-plan profit report). Shipping, the processing fee, and the entire ad allocation never entered the calculation. Across the month, that's 340 × $3.56 = $1,210 before you've paid a dollar of fixed costs.

This is the awareness most line-item-report writeups skip: granularity on revenue feels like insight, but a thin-margin POD order can be line-item-detailed and still unprofitable.

From line items to per-order profit

The fix is to carry every line item all the way down the cost stack — COGS, shipping, payment fees, fulfillment labor, and allocated ad spend — instead of stopping at revenue. That's the difference between a sales report and a profit report, and it's the jump from "which SKU sold" to "which SKU paid."

Three things have to come together for that math to be real:

  1. Accurate per-unit COGS loaded for every variant, including the supplier's base print fee.
  2. The variable cost stack — shipping, the processing fee, pick/pack — netted per order, not averaged store-wide.
  3. Ad spend reconciled from the platforms, so acquisition cost lands on the orders it drove rather than being guessed.

If you're assembling this yourself, our guide to building a Shopify dashboard covers how to wire the pieces together — and the companion piece on why a pretty dashboard can still lie to you is worth reading before you trust any single-number view.

How to build line-item reporting that includes profit

You have three realistic paths as an operator.

Stay native and do the math by hand. Export Sales by product, then subtract shipping, fees, and ad spend in a spreadsheet. It works, but it's manual, and it goes stale the moment you look away. The ad-allocation step in particular is error-prone because Shopify doesn't know your Meta or Google spend.

Add a reporting app. The apps dominating this search term (Report Pundit, Mipler, and others) are strong at extracting line item properties and scheduling exports to Google Sheets, CSV, or PDF. They surface the custom-field data Shopify buries. Most, however, are still revenue-and-COGS tools — they don't reconcile your actual ad spend into per-order profit unless you feed it in.

Hand the whole job to an AI employee. This is where PodVector AI fits. Victor is an AI employee — not a dashboard — that connects to your Shopify store, Meta Ads, Google Ads, and your POD suppliers (Printify, Printful, and Gelato) plus Klaviyo. He pulls the line item data, loads supplier costs, reconciles real ad spend from the ad platforms, and computes true per-order profit, then delivers the report to your Google Drive. Every write action he takes is approval-gated, so nothing changes in your store until you say so.

The point isn't the tool. The point is that line-item granularity only becomes a business decision when it reaches profit. If you want to see per-order profit built on your own line items without hand-stitching exports, you can start with PodVector AI here.

For the down-funnel view of how this data drives optimization decisions, our deep dive on ecommerce performance analytics picks up where line item reporting leaves off.

FAQs

What is a line item in a Shopify report?

A line item is one product entry inside an order. If an order contains three different products, it has three line items. A line item report gives you one row per entry — product, variant, SKU, quantity, price — so you can analyze what sold at the product level instead of seeing only an order total.

Does Shopify have a native line item report?

Yes. The Sales by product and Sales by product variant SKU reports both operate at the line item level. But per Saras Analytics, the richer report groups open up on the standard Shopify plan, and profit and custom reports are reserved for the Advanced and Plus tiers — so what you can see depends on your plan.

How do I export line item properties from Shopify?

Native reports don't surface line item properties (custom fields like engraving text or a personalized name) in clean, exportable columns — that data lives in the order detail. Operators typically use a reporting app that extracts those fields into a spreadsheet or Google Sheet, or pull them via Shopify's order API.

What's the difference between a line item report and a profit report?

A line item report shows revenue, units, and sometimes COGS per product. A profit report carries each line all the way down the cost stack — shipping, payment fees, fulfillment, and allocated ad spend — to a bottom-line margin. A line can look fine on a revenue report and still lose money once ad spend is subtracted.

Why doesn't my line item report match my bank deposit?

Because line item revenue is gross. Your deposit is net of the payment processing fee — Shopify Payments charges a standard 2.9% plus 30¢ per domestic online transaction — plus any refunds, shipping collected, and taxes. A line item revenue total and a settlement total are two different numbers; reconcile them against the finance reports, not against each other.

Can line item reporting show me per-order profit automatically?

Not with native Shopify reports alone — they don't know your ad spend or your supplier costs unless you load them. Getting automatic per-order profit requires tying line items to COGS, the variable cost stack, and reconciled ad spend. That's the specific job PodVector AI's Victor handles, delivering the computed report to your Google Drive with every store change left approval-gated.