How to calculate profit per listing from your CSV
You can do this by hand in a spreadsheet, or let ShopMargin do the matching. Either way the logic is the same.
1. Download your CSVs
These menu names are from our research and can change, so look for the closest match in your own dashboard.
- Orders CSV and Order Items CSV: in your shop manager, go to Settings, then Options, then Download Data. Pick the orders and order items files for the months you want.
- Payment CSV: in your shop manager, open Finances, then Payment Account, and download the statement for the same months.
Use the same date range for all files. Rows outside the range will show up in the Not matched list, which is expected.
2. Fees we count
These are the published rates as we understood them when we wrote this page. Marketplace fees change, so check your own statements. ShopMargin uses the fee rows in your Payment CSV, not these rates, unless an order has no fee rows and you left estimating on.
| Fee | Typical rate |
|---|---|
| Listing fee | 0.20 USD per listing |
| Transaction fee | 6.5% of item price plus shipping charged |
| Payment processing | about 3% plus 0.25 USD per order |
| Offsite ads | 15%, or 12% for shops over the program threshold, of the order total |
| Shipping label | what you paid for the label |
3. How matching works
- Columns are found by header name. Capital letters, spaces and punctuation are ignored, so "Order ID" and "order_id" are the same.
- If a needed column is not found, you get a screen where you pick the right column from your own file. Nothing is assumed about column order.
- Order Items rows and Payment rows are joined on the order number. In the Payment CSV the order number is read from its own column or, if there is none, from the Info or Title text, for example "Order #1234567890".
- Fees that belong to a whole order are split across its items in proportion to price times quantity. The split is shown in the table, per fee type.
- Net profit per listing = revenue, minus transaction, payment, listing, ad and shipping label fees, minus refunds, minus your cost per unit times units sold.
Rows that cannot be matched are not dropped quietly. They go to the Not matched list with a reason.
4. Limits
- Fees not tied to an order, such as monthly ad charges and listing fees without an order number, are listed under Not matched and are not in the per-listing numbers.
- Discounts and coupons are not subtracted separately. If your Price column is before discount, revenue is slightly high.
- Sales tax and VAT collected for you are not counted as revenue or cost.
- Files with more than one currency are not calculated. No conversion is done.
- Not yet tested against real export files. Always compare the totals with your own statement before relying on a number.
Try the free demo Get ShopMargin, $12
Sales are not open yet. The demo is free.