Skip to content

DTC Invoice Processing: A Guide For Shopify Brands

DTC invoice processing for Shopify brands that import: check supplier, freight, courier, and customs bills, then set landed cost per SKU and per variant.

By SupplyAutomate
Published
DTC Invoice Processing: A Guide For Shopify Brands cover image
Table Of Contents

Your first big restock just landed at your 3PL, and the bills are still coming in. The factory wants the balance, the freight forwarder sent a list of charges you don't recognize, and a courier you used for samples just emailed a duty bill for a box you forgot about. Meanwhile your Shopify store is selling the new colors at a price you set before you knew any of these numbers.

I built an Amazon FBA and Shopify brand to $3M ARR, and the direct to consumer side taught me that invoices are where margin quietly leaks. This guide is the routine I use for a DTC restock that ships to my own warehouse or a 3PL. It covers which bills to expect, what to check on each, how to split the costs across sizes and colors, and how to get the final number into Shopify and your books.

TL;DR

  1. A DTC restock usually comes with a supplier invoice, a packing list, a freight invoice, a customs entry with the broker's invoice, and sometimes a courier duty bill for samples or air shipments.
  2. Put one purchase order number on every document so bills from different companies can be matched in minutes.
  3. Check the supplier invoice line by line for each size and color before you pay the balance, and verify bank details before every wire.
  4. Compare what your warehouse or 3PL counted with the packing list, then split freight, duty, and samples across each SKU to get landed cost per unit.
  5. Type that number into Shopify's cost per item field and hand clean bills to your bookkeeper, while keeping 3PL and app fees in their own column.

What DTC Invoice Processing Covers

For a direct to consumer brand that imports its products, invoice processing is everything between a bill arriving and you knowing what each unit really cost. You check the bill against what you ordered and what arrived, pay it by wire or bank transfer, give it to your bookkeeper, and add its cost to the right SKU. The checking is the part that saves money, because that's where you catch a wrong quantity, a surprise fee, or a fake bank account.

DTC brands have a few problems that Amazon sellers don't. Your goods go to your own warehouse or a 3PL, so nobody else counts them for you. You usually sell more sizes and colors per product, so one invoice has to be split across many variants. And the cost you land on ends up in Shopify's cost per item field, which drives your profit reports.

If you sell through FBA, our Amazon FBA invoice processing guide covers the Amazon side, including Send to Amazon and what Amazon receives. If you're comparing tools, our roundup of invoice processing software for Shopify and Amazon FBA and our guide to what AI invoice processing software costs cover the options and prices. This post is the manual routine underneath, written for a Shopify brand.

The Invoices Behind One DTC Restock

Here's the paperwork you'll usually see for one order from an overseas factory that ships by ocean to your warehouse or 3PL. If your supplier ships DDP, its price already includes freight and duty, so the freight and customs bills disappear. Our guide to FOB vs EXW vs DDP explains how each Incoterm changes who sends which bill, and it applies to Shopify brands just as much as FBA sellers.

Table of the invoices behind one DTC restock: proforma and supplier invoice, packing list, freight invoice, customs entry and broker invoice, courier duty bill, and receiving report, showing who sends each, when it arrives, and what to check, with 3PL storage, pick and pack, Shopify apps, and payment fees marked as a separate pile

The documents behind one DTC restock and the check for each

The proforma is the factory's quote turned into a bill, and you pay the deposit against it. The commercial invoice is the final bill for what shipped, and customs uses it to value your goods. The packing list shows cartons, units per carton, and carton sizes. The forwarder bills you for moving the goods, the customs broker sends an entry summary and an invoice, and an express courier may send its own duty bill for anything it carried.

The one item on that list that isn't a bill is the receiving report from your warehouse or 3PL. It still belongs in the same folder, because it's the only proof of what you actually got. If your factory's paperwork is messy, send them our free proforma invoice template, commercial invoice template, and packing list template so every order comes back in the same layout.

Step 1: Put One PO Number On Every Document

Before you pay anything, give the order a purchase order number. Ask the factory to print it on the proforma, the commercial invoice, and the packing list, and give the same number to your forwarder, your customs broker, and your 3PL when you book the inbound delivery. When six documents from four companies share one number, matching them is quick work.

Then make one folder and one spreadsheet row per PO. A free Google Sheets file is plenty for your first few orders, with columns for the PO number, supplier, each bill, the amount paid, and the date it arrived.

Google Sheets product page with the headline Collaborative, AI-powered spreadsheets and a sample sheet with charts

Google Sheets is enough for one row per purchase order

Shopify also has purchase orders in the admin, which list products, quantities, costs, and the supplier. They're handy for receiving stock into a location, but they won't hold your freight bill or customs entry, so I keep the folder anyway. You can build the PO you send to the factory with our free purchase order creator or the purchase order template.

Shopify Help Center purchase orders page explaining that purchase orders list products, quantities, costs, payment terms, and supplier details

Shopify's help page on purchase orders

Our guide on how to organize supplier invoices by purchase order goes deeper on folder names and what to keep. It's dull work for ten minutes, and it saves hours when a bill doesn't match.

Step 2: Check The Supplier Invoice For Every Variant

DTC orders tend to have many lines, like four colors in three sizes, and each line is a chance for a mistake. Check the proforma before you pay the deposit and the commercial invoice before you pay the balance. For every line, compare the variant, the quantity, and the unit price against your PO.

The mistakes I see most are swapped quantities between sizes, a price that crept up on one color, and new lines you never agreed to. Printed packaging, custom inserts, and mold fees often show up as their own lines. If a charge is new, ask about it before you pay, because once the balance is sent you've lost most of your leverage.

Then check the totals. The commercial invoice total should equal the order value, and the balance due should equal that total minus your deposit. Our step by step guide to reconciling a supplier invoice to a purchase order walks through short shipments, partial deliveries, and price changes in more detail.

Step 3: Pay Suppliers Safely

Most factories ask for a deposit before production and the balance before shipping, paid by wire or bank transfer. A wire is very hard to reverse, so check the bank details on every invoice against the last one you paid. If the account name or bank changed, or an email asks you to pay a new account, confirm it with your contact through a channel you already trust before sending money.

For a first order with a factory you've never used, I'd pay through Alibaba Trade Assurance on Alibaba instead of wiring money directly. Trade Assurance covers orders placed and paid through Alibaba, which gives you a way to raise a claim if the goods are late or wrong.

Alibaba Trade Assurance page with the headline Enjoy protection from payment to delivery on Alibaba.com, showing 160M plus Trade Assurance orders

Alibaba Trade Assurance covers orders placed and paid through Alibaba

Once you trust a supplier and pay them directly, a service like Wise Business can send international bank transfers in many currencies, which some suppliers prefer. Whichever way you pay, save the payment confirmation in the PO folder next to the invoice it paid. Our post on 30/70 payment terms with Chinese suppliers explains how deposits and balances usually work and when other splits make sense.

Wise Business pricing page showing send, receive, and convert money options and a 31 USD set-up fee for every Wise Business feature

Wise Business pricing for sending money to suppliers

Step 4: Check Freight And Courier Bills

Your freight forwarder's invoice is usually a list of small charges with abbreviations. Ask for a written quote when you book and keep it in the PO folder, then check the invoice against it line by line. Any charge that wasn't quoted deserves a polite question before you pay.

For a DTC brand, the big question is where the freight ends. Check that the invoice covers delivery all the way to your warehouse or 3PL. If it stops at a port, a separate trucking bill could still be coming. Also make sure the charges fit your Incoterm, so if you bought FOB, you shouldn't be paying for trucking from the factory to the port.

Express couriers are the other source of surprise bills. When samples or an urgent air restock come by courier, the courier usually clears customs for you and sends a separate bill for duty and its own fee, sometimes weeks after delivery. The US has suspended the $800 de minimis exemption, so even a small box of samples from China can now owe duty, and that bill belongs to the same PO as the order it was for.

Federal Register page for the CBP rule titled Indefinite Suspension of the De Minimis Exemption for Merchandise Arriving Through All Modes Other Than the International Postal Network, published June 24, 2026

The CBP rule suspending the de minimis exemption for non-postal shipments

CBP's rule on the de minimis suspension explains the change if you want the details. For a rough freight number before you book, the free freight cost estimator gives you a ballpark to compare quotes against.

Step 5: Check The Customs Entry

When an ocean shipment enters the US, your customs broker files an entry and sends you an invoice. Ask for a copy of the entry summary, which is CBP Form 7501, because it shows the entered value, the HTS code for each product, the duty, and the fees. The broker's invoice should pass those amounts through and add their own service fee.

CBP Form 7501 Entry Summary with Continuation Sheets page on the U.S. Customs and Border Protection website, explaining that CBP relies on the entry summary to determine appraisement, classification, and origin

CBP's page for Form 7501, the entry summary your broker files

Check three things. The entered value should match the commercial invoice, each HTS code should describe your product, and the duty should equal the value times the rate on the form. If your variants are made of different materials, they may have different HTS codes and rates, which matters when you split the duty later.

Our FBA invoice processing guide walks through the Merchandise Processing Fee and Harbor Maintenance Fee line by line, and the same checks apply here. For a duty estimate before you order, try the free import duty calculator and our guide to calculating import duty from China.

Step 6: Match What Your Warehouse Received

With FBA, Amazon counts your inventory, but with DTC, you or your 3PL do. Ask your 3PL for a receiving report that shows units received per SKU, plus anything damaged, and compare it with the packing list. If the counts disagree, ask the 3PL to recount the affected cartons before you raise anything with the factory.

In Shopify, you receive stock against a transfer, which adds the units to your location's inventory. Enter what was actually counted, so your store doesn't sell units that never arrived.

Shopify Help Center page titled Creating and processing inventory transfers, explaining transfers between store locations and to and from external locations such as suppliers

Shopify's help page on receiving inventory transfers

If the factory packed fewer units than it invoiced, that's a supplier claim, and the packing list, receiving report, and photos in your PO folder are your evidence. Our guide to Shopify inventory management covers the receiving side in more detail.

Step 7: Work Out Landed Cost Per SKU

Landed cost is everything you paid to get a unit to your warehouse, divided by the units that arrived. For an importer, that's the factory price, freight, duty and customs fees, and samples. The DTC twist is that one restock covers several SKUs, so you have to split the shared bills between them.

Here's a worked example with made up numbers. One PO covers 600 tumblers in the 20 oz size at $3.10 and 400 in the 30 oz size at $3.90, bought FOB and shipped by ocean to a 3PL.

Worked example table splitting one restock into landed cost per SKU: factory price $1,860 and $1,560, freight $452.31 and $527.69 split by carton volume, duty, fees, broker, and samples $603.06 and $505.80 split by invoice value, totals $2,915.37 and $2,593.49, for $4.86 and $6.48 per unit

Splitting the shared bills of one restock across two SKUs

The factory price comes straight off the invoice lines, so the 20 oz gets $1,860 and the 30 oz gets $1,560. Freight of $980 is split by carton volume, because bigger cartons take more space in the container, which puts $452.31 on the 20 oz and $527.69 on the 30 oz. Duty of $855 (assuming a 25% rate purely for the example), the $34.58 minimum MPF, $4.28 of HMF, a $125 broker fee, and $90 of samples add up to $1,108.86, and I split that by invoice value, since duty is charged on value anyway. If your variants have different duty rates, use the duty for each line from the entry summary instead.

That gives $2,915.37 for the 20 oz and $2,593.49 for the 30 oz, or about $4.86 and $6.48 per unit. If the 3PL only counts 590 sellable 20 oz units, the same cost over 590 units is about $4.94, which is why I divide by units received. Our guide on how to allocate freight cost across multiple SKUs compares splitting by units, weight, and volume.

SupplyAutomate free landed cost calculator page with fields for currency, product unit cost, freight cost, and duty rate next to a real-time per unit result panel

SupplyAutomate's free landed cost calculator

Our free landed cost calculator runs this math for one SKU, and the landed cost spreadsheet template gives you a sheet to split a whole order. For more on the formula, read our guide to landed cost per unit.

Step 8: Update Cost Per Item In Shopify

Shopify has a cost per item field on every product and variant, and its profit reports use that number to work out gross profit. If you leave it at the factory price, Shopify will show margins that look better than they are. I enter the landed cost per unit from Step 7 for each variant.

Shopify Help Center profit reports page explaining that cost per item is how much a product or variant costs you, with steps to add it in the Price section

Shopify's help page on adding cost per item

For a handful of variants, typing the numbers in by hand is fine. For a big catalog, Shopify's product CSV import has a Cost per item column, so you can export your products, fill in the new costs, and import the file back. Shopify records the cost on each order when it's placed, so a new cost only applies to future orders, and it's worth noting the date you changed it.

Shopify Help Center page on using CSV files to import and export products, showing the Cost per item column described as how much it costs you to make or acquire the product or variant

The Cost per item column in Shopify's product CSV

Our guide to setting Shopify cost per item to landed cost covers why the timing of that update matters, and how to calculate Shopify landed cost goes through the full method. Once the cost is in, the free profit margin calculator helps you check your prices.

Step 9: Hand Clean Bills To Your Bookkeeper

Your bookkeeper records each bill and payment in accounting software like QuickBooks Online or Xero. The cleanest handoff is each bill with its PO number, the payment confirmation, and a note saying which PO and SKUs it belongs to. That way freight and duty can be added to inventory with the goods instead of landing in a random expense account.

Flow diagram showing checked invoices feeding a landed cost per SKU, which then goes to Shopify cost per item by hand or product CSV import and to your bookkeeper as bills in QuickBooks or Xero, with a note that there is no sync between these steps

Where the checked numbers go next

How your books treat landed cost is a question for your accountant, but most importers want freight and duty in inventory value, which then becomes cost of goods sold when units sell. Our beginner explainer on landed cost vs COGS walks through the difference with examples, and our guide to landed cost in QuickBooks shows one way to set it up.

QuickBooks Online pricing page with Simple Start, Essentials, Plus, and Advanced plans, showing list prices of $38, $85, $140, and $340 per month next to a 50 percent off for 3 months offer

QuickBooks Online plans, where many brands record supplier bills

Xero US purchase order software page with the section Turn approved orders into bills for payment, explaining that you can copy an approved order into a bill and bill only what you received on a partial delivery

Xero's page on turning purchase orders into bills

If you use QuickBooks, our guide to getting supplier invoices into QuickBooks Online covers the steps. If you use Xero, setting up a Xero invoice approval workflow shows how to make sure nobody pays a bill before it's checked.

Keep 3PL And App Fees In Their Own Column

A DTC brand pays plenty of costs that aren't on supplier invoices. Your 3PL charges for receiving, storage, pick and pack, and shipping to customers, and Shopify, your apps, and your payment processor all take their share. These are real costs, but they're costs of selling, and I don't mix them into landed cost.

I keep them in a separate column so I can see the two numbers side by side. Landed cost tells you what a unit cost to bring in, and the selling costs tell you what it costs to get it to a customer. When your margin moves, you can tell which side changed, and the profit margin calculator puts both together when you set a price.

Where Software Fits

For your first few restocks, a folder per PO and a sheet will do the job. Software starts to earn its keep when bills pile up faster than you can check them, or when a bookkeeper or ops hire needs the same files. Document readers can pull totals out of PDFs, and our invoice processing software roundup compares them, but most won't split costs across your variants or work out landed cost.

SupplyAutomate is the tool I built for that middle part. You upload the supplier invoice, packing list, freight bill, and customs entry to each purchase order, it tracks the parcel or ocean container, and it works out landed cost per unit from the factory price, freight, duty, and samples. It doesn't connect to Shopify, Amazon, WooCommerce, QuickBooks, or Xero, and it doesn't sync sales or orders, so you export to CSV or Excel and update cost per item and your books yourself.

SupplyAutomate production tracking showing each purchase order moving through quoted, deposit, production, ready, and shipped with dates attached

SupplyAutomate keeps each purchase order and its documents together

You can see how it works for Shopify brands and Amazon FBA sellers. Pricing is a 14-day trial, then $199 a month or $1,999 a year, and if you'd rather hand the job off, our outsourced supply chain service handles purchase orders and freight for you.

Frequently Asked Questions

What Is DTC Invoice Processing?

It's the routine of checking, paying, and recording the bills behind the products a direct to consumer brand sells. For a brand that imports, that means supplier invoices, freight and courier bills, and customs entries, all tied to a purchase order. The goal is to pay only what you owe and to know the landed cost of every SKU.

Which Invoices Go Into Landed Cost For A Shopify Brand?

I include the factory price, freight to my warehouse or 3PL, duty and customs fees, and samples. 3PL storage and pick and pack, shipping to customers, Shopify and app fees, and payment processing go in a separate column. Ask your accountant how they want those treated in your books.

Does Shopify Calculate Landed Cost For Me?

Shopify stores a cost per item for each variant and uses it in profit reports, but it doesn't add up your freight, duty, and sample bills for you. You work out landed cost per unit yourself or with a tool, then enter it by hand or with a product CSV import. Our Shopify ERP page shows how SupplyAutomate fits next to Shopify without connecting to it.

How Do I Split Freight Across Sizes And Colors?

Split it by whatever drives the cost, which is usually carton volume for ocean freight and weight for air. If every variant ships in the same carton size, splitting by units works fine. Duty is charged on value, so I split duty and customs fees by each SKU's share of the invoice value.

Can SupplyAutomate Update My Shopify Cost Per Item?

No. SupplyAutomate has no Shopify connection, so it doesn't write to your store or read your sales. It calculates landed cost per unit from your uploaded documents, and you export that to CSV or Excel and update Shopify yourself.

How I'd Handle Your First Restock

If this is your first restock, keep it simple. Make one PO number, one folder, and one row in a sheet, then work through the checks as each document arrives: the proforma before the deposit, the commercial invoice before the balance, freight and customs when they land, and the receiving report when your 3PL finishes counting. Split the shared costs across your SKUs, put the result into Shopify's cost per item, and send your bookkeeper a tidy folder.

It's an hour or two of careful reading per order, and it's the hour that catches a wrong balance, a missing carton, or a margin that was never there. When several restocks overlap and the folders get out of hand, that's the point where a tool is worth trying, and the guides below cover the next questions you'll probably have.

Amazon FBA Invoice Processing: A Step By Step Guide

Amazon FBA Invoice Processing: A Step By Step Guide

Amazon FBA invoice processing for importers: check the proforma, commercial invoice, packing list, freight bill, and customs entry, then get landed cost.

Best Purchase Invoice Processing Software For Shopify & Amazon FBA

Best Purchase Invoice Processing Software For Shopify & Amazon FBA

Compare the best invoice processing software for Amazon FBA, Shopify, and WooCommerce sellers, with AI capture, integrations, payments, and pricing factors.

How Much Does AI Invoice Processing Software Cost?

How Much Does AI Invoice Processing Software Cost?

How much does AI invoice processing software cost? Real prices for Dext, Docparser, Nanonets, BILL, QuickBooks, and Xero, plus the hidden fees to plan for.

How To Reconcile A Supplier Invoice To A Purchase Order

How To Reconcile A Supplier Invoice To A Purchase Order

A five-step routine for importers to match a supplier invoice against the purchase order and receiving record, sort out variances, and keep landed cost accurate.

How To Organize Supplier Invoices By Purchase Order For Importers

How To Organize Supplier Invoices By Purchase Order For Importers

FBA and Shopify importers: name factory, freight, and revised invoices, link each file to the PO, and stop paying the pro forma twice with one intake rule.

AI Invoice Matching Software For Ecommerce & FBA Sellers

AI Invoice Matching Software For Ecommerce & FBA Sellers

AI invoice matching for ecommerce: match supplier invoices to purchase orders automatically, flag price discrepancies, and land true cost per unit. How SupplyAutomate compares to spreadsheets, Cin7, Tipalti, and Ottimate.

Is Shopify Cost Tracking Enough For Landed Cost?

Is Shopify Cost Tracking Enough For Landed Cost?

Shopify's cost per item field holds one number per variant. Here is what belongs in that number for an importer, and how to fill it with real landed cost.

How To Calculate Shopify Landed Cost: Factory Price To Unit Cost

How To Calculate Shopify Landed Cost: Factory Price To Unit Cost

Shopify importers: turn a $20 factory price into inventory landed cost at $27 per sellable unit, and keep checkout duty as a separate job from the SKU cost field.

Allocate Freight Cost Across Multiple SKUs (Worked Example)

Allocate Freight Cost Across Multiple SKUs (Worked Example)

Split one freight bill across mixed SKUs by weight, cube, or value. A 2-SKU container: $3,050 freight, and why a quantity split hides the bulky item.

Landed Cost Vs COGS: What Each One Includes, With Simple Examples

Landed Cost Vs COGS: What Each One Includes, With Simple Examples

A plain guide to landed cost vs COGS for new Amazon and Shopify sellers. See a $10 product land at $14.10 and a chart of what each cost includes.

Shopify Inventory Management: A Step By Step Guide

Shopify Inventory Management: A Step By Step Guide

How to set up Shopify inventory management: tracking, inventory states, locations, purchase orders, transfers, stock counts, reports, and inventory apps.

Shopify Supplier Management: A Beginner's Setup Guide

Shopify Supplier Management: A Beginner's Setup Guide

How to manage suppliers in Shopify: add suppliers, send purchase orders, receive stock, and track lead times, payments, and scores Shopify doesn't keep.

30/70 Payment Terms With Chinese Suppliers Explained

30/70 Payment Terms With Chinese Suppliers Explained

How 30/70 deposit and balance terms work with Chinese factories, how they compare with 20/80, full prepayment, and open account, and how to tie each payment to documents.

Best Supply Chain Control Tower Software for E-Commerce

Best Supply Chain Control Tower Software for E-Commerce

Compare supply chain control tower software for e-commerce sellers, including visibility strengths and fit for Amazon FBA, Shopify, and WooCommerce.

Written By

SupplyAutomate

Guides on purchase orders, supplier invoices, freight, duty, and landed cost for ecommerce importers.

Still Running Your Supply Chain In Spreadsheets?

Drop the files in. SupplyAutomate extracts the numbers onto the purchase order so the cost per unit stays current.

Start Free Trial