CHEONOK SYSTEM

How to reconcile Shopify, Etsy and Amazon sales in one spreadsheet

4 August 2026 · CHEONOK SYSTEM

You export three files. You paste them into one sheet. The total looks plausible, so you use it. That last step is where the month goes wrong, because a multi-channel total can be wrong by a lot while still looking completely reasonable.

Here is the order that catches it, and the four places it silently breaks.

First: the same column has three names

Before summing anything, write down which column in each file holds the money and the product. They are never called the same thing.

ProductAmountQuantityStatus
ShopifyLineitem nameTotalLineitem quantityFinancial Status
EtsyItem NameOrder TotalQuantityStatus
Amazonitem-nameitem-pricequantity-purchasedorder-status

Two traps live in this table.

Shopify's order-level fields go blank, not repeated. A Shopify export has one row per line item. On the second and later rows of the same order, the order-level fields — Name, Total, Financial Status, Paid at — are left blank. Shopify's own documentation puts it this way: "Many of the fields are left blank to indicate that multiple items were purchased on the same order."

Two consequences, and people get bitten by both:

Before filtering by status, fill the blanks down (select the column → F5 → Special → Blanks → type = and the cell above → Ctrl+Enter), or filter on the line-item columns instead.

Third-party export apps behave differently — some repeat the order total on every row instead of blanking it. Check one order with three items before you trust either shape.

Amazon's file is tab separated, not comma separated, even though it ends in .csv or .txt. Open it with a comma parser and every row becomes one long cell.

Second: refunds are marked three different ways

This is the biggest single source of overstated revenue.

Filter on a contains match, lowercased, against a list: cancel, refund, return, void, chargeback. An exact-match filter will miss partially_refunded and quietly keep the money.

Check this by counting rows, not by looking at the total. If dropping refunds removes zero rows, your filter is broken — not your month.

Third: the amount is text, not a number

Etsy exports currency as $1,250.00. That is a string. SUM over a column of strings returns 0 — not an error, not a warning. Zero.

Test it before trusting anything:

=ISNUMBER(D2)

FALSE means text. Strip the symbol and separators first:

=VALUE(SUBSTITUTE(SUBSTITUTE(D2,"$",""),",",""))

The same trap catches dates. If your date column is left-aligned, it is text, and every month-based filter you write on it silently matches nothing.

Fourth: gross is not what you get paid

Even a correct gross total is not your revenue. Each channel takes a different cut, and they are not close to each other:

ChannelRough order of magnitude
Shopify (payments)low single digits %
Etsy (transaction + processing + listing)mid single digits %
Amazon (referral, category dependent)often low-to-mid teens %

Confirm your own rates in each seller dashboard — they change, they vary by category, and there are per-order and payment-processing charges on top that no single percentage captures. Apply the rate per channel, never one blended rate across the whole sheet. A blended rate hides the fact that your highest-revenue channel may be your lowest-profit one.

The order to work in

  1. Map columns per file — write down which is which before summing
  2. Convert amounts and dates from text to numbers, verify with ISNUMBER
  3. Drop cancelled and refunded rows with a contains filter, then count how many were dropped
  4. Total by product and by channel
  5. Apply per-channel fee rates to get net
  6. Compare gross against the settlement report each store gives you

Step 6 is the one people skip. It is also the only step that tells you whether the other five worked.

Doing this every month? I wrote a single Python file that does all six steps on a folder of exports. Standard library only, runs on your machine, nothing uploaded, no account.

It refuses to guess: if it cannot find the amount column in a file, it lists that file as skipped and leaves it out rather than producing a total that looks right.

See how it works →

Summary

엑셀이 조용히 틀리는 함정 12개 · 17,900원

수식은 멀쩡한데 숫자가 틀리는 자리 12개 + 정산 파일 합치는 순서 5단계

※ 업무 시간 단축에 관한 내용입니다. 매출이나 수익을 보장하지 않습니다. 기록 시점 매출 0원입니다.

카드로 결제하고 바로 받기 →

신용카드 · 네이버페이 · 카카오페이 · 결제 즉시 파일을 받으십니다

후기는 아직 없습니다. 대신 우리 스토어에서 5개월간 0원이었던 기록을 공개해 두었습니다.

※ This article is about reducing bookkeeping time. It does not promise or guarantee revenue or profit.
※ Export layouts, status wording and fee structures vary by seller and change frequently. Confirm current rates and column names in your own seller dashboards and exports.

이 작업을 매달 반복하고 있다면

엑셀 반복업무를 자동화해 드립니다. 먼저 파일을 보고 되는지부터 알려드립니다. 파일 구조에 따라 자동화가 어려운 경우도 있습니다. 그럴 때는 그렇다고 말씀드립니다.

크몽에서 보기 (크몽 판매자명은 천억시스템입니다 — 천옥시스템이 크몽에 쓰는 이름입니다)  ·  문의: actorlee007@gmail.com

지금 그 파일, 어디가 문제인지 먼저 보시겠습니까

CSV 를 넣으면 계산이 틀어지는 자리를 찾아 드립니다. 무료이고 파일은 서버로 올라가지 않습니다 — 브라우저 안에서만 처리되고 저희도 내용을 볼 수 없습니다.

정산 파일 진단기 열기  ·  흔한 실수 여섯 가지만 봅니다. 회계 검증은 아닙니다

CHEONOK SYSTEM · automation, built to order