【謎の解明】Yahoo!フリマの手数料が「5%なのに5%じゃない」謎を追求したら、意外な真実が判明した話

Yahoo!フリマで出品をしている方なら、こんなことを感じた経験はないでしょうか。

「販売手数料が5%のはずなのに、計算が合わない…」ということ。

私は、事業の一部でYahoo!フリマで物販もしているため、売上・取引内容を確定申告まで行っていますが、その手数料入力で、単純な5%金額になっていないこの謎にぶつかりました。

5%なのに5%じゃない!手数料

私は物販売上データをGoogle スプレッドシートで管理していて、GAS(Google Apps Script)で手数料や利益を自動計算し、商品の在庫管理(減算)まででき、果てには確定申告時に、CSV化して一発入力できる、壮大なシステムを自分用に作って、運用していました。

プラットフォームごとの手数料はこんな感じで設定していました。

販売手数料
  • メルカリ / メルカリSHOPS:10%
  • ラクマ / ヤフオク:10%
  • Yahoo!フリマ:5%

ということで、Yahoo!フリマの販売手数料をはじきだすコードはこう書いていました。

fee = Math.floor(price * 0.05);

ところが、実際の振込明細と突き合わせると、ズレが発生

例えば、「1,500円」のものが売れた時、手数料は5%で「75円」のはず。
ですが、システムには「74円」とでてきます。(1円手数料が安い)

実際の手数料データを並べてみた

Yahoo!フリマの売上明細から手数料を抜き出して一覧にしてみました。

決済金額5%計算(単純)実際の手数料差額
¥990¥49.5 → ¥49¥49± 0
¥1,280¥64.0¥63-1円
¥1,500¥75.0¥74-1円
¥1,600¥80.0¥80± 0
¥2,000¥100.0¥100± 0
¥2,600¥130.0¥129-1円
¥2,970¥148.5 → ¥148¥148± 0
¥3,900¥195.0¥194-1円
¥5,000¥250.0¥249-1円

つまり、

  • きれいに5%になるもの
  • 5%から1円少ないもの

が何故か混在しています。

どういう仕組みなんだろう…

AIに聞いてみても、

  • 「販売価格 × 5%」を計算して、小数点以下を切り捨て」だからではないか説
  • クーポン等で、「表示の決済金額 ≠ 手数料計算基準額」ではないか説
  • 販売価格の20円引きから5%を導き出しているのではないか説

など頓珍漢な答えばかりで迷走。。。

仮説検証してみた

仮説①:手数料5%からマイナス-1円なのでは?

一番多かったのは、手数料5%からマイナス1円なパターンが多いこと。
だから、最初に思いついたのは「とりあえず-1すればいい」作戦。

Math.floor(price * 0.05) - 1

↑計算式をそのようにしてみたけど…

¥1,600や¥2,000など、5%ぴったりの手数料で一致しているケースがある!!
なので、この仮説は違ったみたい。

仮説②:奇数になると-1される?

計算結果が奇数のとき-1して偶数にそろえる「銀行家の丸め」的な処理では?と考えました。

  • ¥1,500 → 75(奇数)→ 74
  • ¥3,900 → 195(奇数)→ 194
  • ¥1,600 → 80(偶数)→ 80

ところが…

  • ¥1,280 → 64(偶数)→ 63
  • ¥2,600 → 130(偶数)→ 129

偶数なのに-1されるケースがあり、この仮説も崩れました。

仮説③:販売価格から-20円して計算?

AIが唱えた、「販売価格から-20円したものから、5%計算してるんじゃないか」説を試してみました。

Math.round((price - 20) * 0.05)

で計算してみると…

ざっと検証した例は、9件中8件一致!惜しい!
¥1,600と¥2,000の商品だけ、手数料が合わないのです。
クーポンの影響かとも考えましたが、¥20クーポンなんてまずないし、却下。

正解:消費税を別途計算していた?!

もったいぶってないで、とっとと正解を解説します。

システム、税務上の計算式があるのではないか?という仮説が出てきました。

システムが税抜手数料(四捨五入)消費税(切り捨て)を別々に計算して足しているのでは?

具体的にはこういう計算です。

① 販売価格 × 4.54%(税抜料率)→ 四捨五入
② ① × 10%(消費税)→ 切り捨て
③ ① + ② = 実際の手数料

これで全データを検証した結果…

決済金額①税抜(四捨五入)②消費税(切捨)合計実際一致?
¥990¥45¥4¥49¥49
¥1,280¥58¥5¥63¥63
¥1,500¥68¥6¥74¥74
¥1,600¥73¥7¥80¥80
¥2,000¥91¥9¥100¥100
¥2,600¥118¥11¥129¥129
¥2,970¥135¥13¥148¥148
¥3,900¥177¥17¥194¥194
¥5,000¥227¥22¥249¥249

検証分9件が全部一致!!! 🎉

まとめ:なぜ「5%なのに5%にならない」のか

Yahoo!フリマの手数料は、表示上は5%(税込)ですが、内部では税抜4.54%+消費税10%として計算されています!!


その理由は恐らく、税務上の正しいルールである「インボイス制度」や「税別価格での適切な消費税計算」に対応するためかと思われます。

それぞれの端数処理が独立しているため、合計すると単純な5%とは1円ズレることがある、というのが真相でした。

ちなみに 4.54% × 1.1 = 4.994% でほぼ5%になります。表示の5%はこの税込計算の結果です。

実装:これをGASへの計算式に当てはめると…

最終的にこのコードで対応しました。

if (platform === 'ペイマ') {
  rate = 0.05;
  const base = Math.round(price * 0.0454);  // 税抜手数料(四捨五入)
  const tax = Math.floor(base * 0.10);       // 消費税(切り捨て)
  fee = base + tax;
}

GASではなく、単純なエクセルで計算式を入れる場合はこうなります。
(「A1」に販売価格を入れている計算の場合。入れている列名に合わせて適時変更してください。)

=ROUNDDOWN(ROUND(A1*0.0454,0)*0.1,0)+ROUND(A1*0.0454,0)

物販をやっている方であれば、エクセルやスプレッドシートで案件管理表を作っている方も多いと思います。

「Yahoo!フリマの手数料、5%なのになんか合わない…」と感じたら、この消費税の別途計算が原因かもしれません。

フリマアプリの手数料は表示がシンプルでも、内部計算はわりと複雑なことがあります。

自動化ツールを作っている方は、実際の明細データと突き合わせて検証することをおすすめします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA