COGS

COGS (cost of goods sold) is the total direct cost of producing or acquiring the products a brand sells in a given period, including materials, manufacturing, inbound freight, and duties. It's the line that determines gross margin and the first place to look when margins compress.

For DTC Ecommerce brands, COGS is the most consequential number on the income statement after revenue. It captures every direct cost tied to getting a product ready to sell — raw materials, factory labor, packaging, inbound freight, duties, and any handling required to move inventory from production to a sellable state. What it excludes matters just as much: marketing, customer support, software, rent, and other operating expenses sit below the gross margin line.

The trap most operators fall into is treating COGS as a fixed factory invoice. It isn't. Two brands sourcing the same product from the same factory can end up with wildly different COGS depending on how they ship, where they warehouse, when they pay duties, and how much inventory they hold. The fulfillment model you choose is a COGS decision, even if your accountant doesn't book it that way.

What COGS includes (and what it doesn't)

Under US GAAP, COGS captures the direct costs tied to producing or acquiring inventory that was sold during the period. For a typical DTC brand manufacturing in Asia, that means:

  • Product cost from the factory (the FOB or EXW invoice)
  • Inbound freight from factory to your warehouse or fulfillment hub
  • Customs duties, tariffs, and import fees
  • Inbound handling, inspection, and quality control
  • Packaging materials included with the product

What COGS does not include:

  • Outbound shipping to the customer (typically a separate fulfillment expense)
  • Marketing, ad spend, or customer acquisition cost
  • Warehousing of unsold inventory (often booked as a holding cost or operating expense)
  • Returns processing, customer support, or software

The exact treatment varies by accounting policy, but the principle holds: COGS is what it cost you to make the unit you just sold. Everything else is an operating decision.

The COGS formula

The standard calculation is:

Beginning inventory + purchases during the period − ending inventory = COGS

If you started the quarter with $200,000 in inventory, bought $500,000 more, and ended with $150,000, your COGS for the quarter is $550,000. Simple on paper. Messy in practice — especially when you're holding inventory across multiple locations, paying duties on stock that hasn't sold, and writing off dead stock that never will.

This is why the legacy model distorts COGS reporting. When you commit to a container of inventory months before demand is proven, you've locked in a fixed cost against an unknown sell-through rate. The units that sit in a warehouse for nine months still count toward your inventory balance, but they're not generating revenue — they're degrading margin through carrying costs and capital lockup.

Why landed cost is the more useful number

COGS as a single line on the income statement hides where the money actually went. Most brands need to look at product landed cost at the SKU level — product cost plus freight plus duties plus handling — to understand which products are actually profitable.

Two examples make the point:

  • A $6 product with 16% base duty and 25% Section 301 tariff lands at roughly $9.50 per unit before you've paid for anything else.
  • The same product manufactured in Vietnam under different tariff treatment might land at $7.20.

Same factory price. Same retail price. Wildly different gross margin. If you're not tracking landed cost per SKU, you're not actually tracking COGS — you're tracking an average.

How fulfillment choices change COGS

The legacy bulk-import-then-domestic-warehouse model bakes in higher COGS than most brands realize. Here's where it shows up:

  • Duty paid on unsold units. Under bulk import, you pay duty on every unit when it lands in the US, regardless of whether it sells. Dead stock carries a duty tax you'll never recover.
  • Inbound freight on slow movers.Ocean freight is cheap per unit at container scale — but only if the units sell. Pay $0.40 in freight for a unit that gets liquidated at 30 cents on the dollar and the math gets ugly fast.
  • Quality issues discovered late. Defects found at a domestic 3PL six weeks after production usually become write-offs. That's COGS you paid for product you'll never ship.
  • MOQ pressure. Container economics force higher minimum orders, which inflates the inventory balance and stretches your cash conversion cycle.

Direct fulfillment from the point of manufacture changes the structure. You commit to smaller batches, pay duty per order rather than per container, and avoid the storage and write-off costs that get buried in inventory carrying expense. The per-unit shipping cost is higher, but the total cost of a unit sold drops — because you stop paying for units that don't sell.

COGS, gross margin, and the cash flow connection

Gross margin = (revenue − COGS) / revenue. That's the headline number every Ecommerce operator obsesses over. But COGS doesn't just affect margin — it dictates how much working capital you need to run the business.

Every dollar of COGS sitting in unsold inventory is a dollar you can't spend on ads, hiring, or product development. Brands running the legacy import-and-warehouse playbook commonly have 60 to 90 days of cash tied up in inventory before a single order ships. That's COGS spent against future revenue you haven't earned yet.

The shift to per-order duty payment and factory-adjacent fulfillment compresses the cash conversion cycle — in many cases from 79 days to 26 — without changing the product cost itself. Same COGS line on the P&L. Very different cash position on the balance sheet.

How to lower COGS without cutting corners

There are five levers most DTC brands can pull, in rough order of impact:

  1. Audit landed cost by SKU — not just unit cost. Strip out the products that look profitable on the factory invoice but lose money once duties and freight are added.
  2. Reduce duty exposure through correct customs valuation — declare transaction value, not retail. Many brands overpay duty by hundreds of percent.
  3. Pay duty per order instead of per container — eliminates duty paid on dead stock and shortens the cash cycle.
  4. Catch quality issues at the factory — the 1-10-100 rule: a defect costs $1 to fix at the source, $10 at fulfillment, $100 after delivery.
  5. Test smaller — direct fulfillment lets you validate new SKUs at 10% of the inventory commitment, which kills the failed-test write-offs that quietly bloat COGS.

How Portless reduces COGS through direct fulfillment

Portless ships orders directly from manufacturing hubs in Asia to customers in 75+ countries. You pay duty only on units that sell, skip the domestic warehousing layer, and free up the working capital that the legacy model locks into bulk inventory. The result is a COGS line that reflects what you actually sold — not what you hoped to sell six months ago. Contact us to see how direct fulfillment changes your unit economics.

← Back to the Ecommerce supply chain glossary