メルカリで売った本の経理処理はどうすればいい? EveronoteとExcelマクロを使って効率化

Excelマクロ入門

メルカリには、経理するためのCSVファイルなどのデータが用意されていません。

ただ、なければなんとかしてつくればいい。私がやっている流れをまとめてみました。

経費にした本を売ったら経理が必要

個人間で簡単に売り買いできるメルカリ。

このメルカリの登場によって、個人情報もほとんど知られずに、かつ、キャッシュレスでかんたんに個人間での取引ができるようになりました。

そんなメルカリ、私も使うことがあります。

その取引のほとんどは、本を買って、読んだものを売るという流れです。

日用品なら、メルカリで売っても税金の話は関係ないんです。

ただ、事業に使うもの、つまり経費にしたものを売る場合には、収入として認識する必要があります。

ということは、メルカリでの取引も経理が必要なケースもあるわけですが、メルカリは経理用のデータをダウンロードできるような仕組みがありません。(2019年6月15日現在)

そこで、メルカリで本を売った場合の経理処理、データをつくり、クラウド会計にインポートするまでの流れをまとめてみました。

メルカリ残高を管理する?

メルカリのややこしいところは、メルペイを利用することでメルカリで本を買ったときの入金と、プライベートでモノを買った場合のサイフ(メルペイ残高)が同じになるということです。

IMG 9466

それを残高までキッチリ合わせようと思うと、プライベートの出金まで事業主貸で入力する必要があるわけです。

これは結構大変で、かつ、壮大な話です。

ということで、私は本を買ったり、売ったりという税金計算に影響する取引だけを会計処理するようにしています。

メルカリで買った本をどうやって経理する? Excelマクロを使うのがいい | GO for IT 〜 税理士 植村 豪 Official Blog

税理士の方から「んないい加減な処理したら困るで」と怒られるかもしれませんけど…。

メルカリのデータ加工 Evernote→Excel

CSVファイルがあれば、まだいいのですが、メルカリはそれすらない。

ということで、まずは経理をするためのデータを準備しなくてはいけません。

メルカリ経理の前にやることは?
  1. メルカリアプリから売却済み情報をコピーしてEvernoteへ
  2. Evernoteでデータ加工
  3. Excelに貼り付け

① メルカリの売却済み情報をコピーしてEvernoteへ

私は、スマホのメルカリのマイページから取引情報をコピーし、
IMG 9469
FastEverというメモアプリに貼り付けます。(Evernoteや他のメモアプリでも大丈夫です。)
IMG 9470

購入のときと違うのは、代金だけでなく、販売手数料や配送料の表示もある点です。

② Evernoteでデータ加工

このとき、この後Excelに貼り付けるときの前準備として、この4行にわたるデータを1行にまとめています。(1行にまとめても各項目と金額のスペースは触らずです。)
IMG 9471

送料 送料込み(出品者負担)という1行は経理に不要な情報なので、削除しています。

③ Excelに貼り付け

データが複数ある場合には、Evernoteでマージして、1つにまとめて、

スクリーンショット 2019 06 15 20 23 24

ExcelセルA2に貼り付けます。
スクリーンショット 2019 06 15 20 27 07

Excelで必要なデータだけまとめる

ご覧のとおり情報が多すぎるので、まずは交通整理をします。

A列の情報のうち必要な部分だけ、抽出します。

ここで必要とするのは、タイトル、日付に収入、販売手数料、配送料の5つです。経費を相殺した後の手取り額は差額で計算しています。

スクリーンショット 2019 06 15 20 34 43

必要な情報だけをいったん整理しています。このデータの抽出方法は、メルカリで買う場合のパターンと同様です。

詳しくは、こちらの記事に書いています。

メルカリで買った本をどうやって経理する? Excelマクロを使うのがいい | GO for IT 〜 税理士 植村 豪 Official Blog

例として、2行目の場合は次の式で抽出しています。

各項目の数式(2行目の場合)

  • タイトル → =LEFT(A2,FIND(“商品代金”,A2)-1)
  • 日付 → =DATEVALUE(MID(A2,FIND(“時 “,A2)+1,6))
  • メルカリ収入 → =VALUE(MID($A2,FIND(“代金 “,$A2)+4,FIND(“手数”,$A2)-2-FIND(“代金”,$A2)-4))
  • 販売手数料 → =VALUE(+MID($A2,FIND(“手数”,$A2)+5,FIND(“配”,$A2)-FIND(“手数”,$A2)-5))
  • 配送料 → =VALUE(MID($A2,FIND(“送料 “,$A2)+4,FIND(“配送”,$A2)-FIND(“送料”,$A2)+4))

かなりややこしい式ですが、文字列を抜くなら、私の場合だとこういった形になります。要は必要な情報を抽出できればいいので。

FIND関数の検索対象には、よくある文字では、うまく抽出できないことも想定され、本のタイトルにはあまりなさそうな、ヘンテコな文字にしています。

さらに文字を抽出しただけでは、やっぱり文字列のままなので、日付はDateValue、金額はValueを使って日付、数字扱いに修正しています。

販売手数料は10%と決まっているのですが、例外も想定して、データから抽出する処理をしています。

3つの取引仕訳を準備する

K列以降に会計仕訳のデータを反映させます。数式を使って、D列からH列のデータを利用しましょう。

スクリーンショット 2019 06 15 20 50 09

収入の仕訳、販売手数料の仕訳、配送料の仕訳とそれぞれ準備します。

ここでは、次のようにしています。(本当は売上から入金までには、数日のタイムラグがありますが、ここでは考慮していません。)

 

3つの取引の仕訳
  • 収入の仕訳  メルペイ 1,800/ メルカリ収入 1,800
  • 販売手数料の仕訳 メルカリ経費 180 / メルペイ 180
  • 配送料の仕訳  メルカリ経費 195 / メルペイ 195

ひとまず、2行目のデータにさえ、数式を入れておけば、3行目以下はあとでコピーするので大丈夫です。

スクリーンショット 2019 06 15 21 03 06

3つの取引をExcelマクロで1つに→CSVファイル作成

最後、3つの取引をインポートファイルを作成するために、1つにまとめます。

1つのシートにコピペするわけですが、この処理にはExcelマクロを使います。

スクリーンショット 2019 06 15 21 08 54

これまでの情報はシート「mercari-sale」にあるのですが、前述の3つの取引仕訳をシート「data」に順番にコピーしていくという流れです。

Sub mercarisale()
    
'1 シート「mercari-sale」のデータをカウントし、コピー
    Dim Max_row_sale As Long
    Max_row_sale = Worksheets("mercari-sale").Range("a" & Rows.Count).End(xlUp).Row

    '前回の履歴を削除して新規コピー
    Worksheets("mercari-sale").Range("K3", "AK" & Rows.Count).ClearContents
    Worksheets("mercari-sale").Range("K2", "AK2").Copy Worksheets("mercari-sale").Range("K3", "AK" & Max_row_sale)

    
'2 シート「data」のデータをクリア
    Worksheets("data").Cells.ClearContents
    
    
'3 売上データ1をコピーして、シート「data」の1行目に貼り付け
    Worksheets("mercari-sale").Range("K1").CurrentRegion.Copy
    Worksheets("data").Range("B1").PasteSpecial Paste:=xlPasteValues
    Worksheets("data").Rows(1).Delete
    
'4 手数料データをコピーして、シート「data」の最終行+1に貼り付け

    Dim Max_row_data
    Max_row_data = Worksheets("data").Range("b" & Rows.Count).End(xlUp).Row

    Worksheets("mercari-sale").Range("R1").CurrentRegion.Copy
    Worksheets("data").Range("B" & Max_row_data + 1).PasteSpecial Paste:=xlPasteValues
    Worksheets("data").Rows(Max_row_data + 1).Delete

'5 配送料データをコピーして、シート「data」の最終行+1に貼り付け
   
    Dim Max_row_data2
    Max_row_data2 = Worksheets("data").Range("b" & Rows.Count).End(xlUp).Row

    Worksheets("mercari-sale").Range("Y1").CurrentRegion.Copy
    Worksheets("data").Range("B" & Max_row_data2 + 1).PasteSpecial Paste:=xlPasteValues
    Worksheets("data").Rows(Max_row_data2 + 1).Delete

'6 配送料データをコピーして、シート「data」の最終行+1に貼り付け
   
    Dim Max_row_data3
    Max_row_data3 = Worksheets("data").Range("b" & Rows.Count).End(xlUp).Row

    Worksheets("mercari-sale").Range("AF1").CurrentRegion.Copy
    Worksheets("data").Range("B" & Max_row_data3 + 1).PasteSpecial Paste:=xlPasteValues
    Worksheets("data").Rows(Max_row_data3 + 1).Delete

'7 B列の書式を「yyyy/mm/dd」に
    Columns("B").NumberFormatLocal = "yyyy/mm/dd"

'8 A列に連番を割り振る

    Dim i
    For i = 1 To Range("B" & Rows.Count).End(xlUp).Row
        Range("A" & i).Value = i
    Next

'9 CSVデータを保存
    Worksheets("data").Activate

    Application.DisplayAlerts = False
    
    ActiveWorkbook.SaveAs Filename:="import.csv", FileFormat:=xlCSV, Local:=True    
    ActiveWorkbook.Save

    ActiveWorkbook.Close
    
    Application.DisplayAlerts = True

End Sub

このマクロのポイントだけ見ていきます。

シート「mercari-sale」の本の行(A列)数をカウントし、会計仕訳の数式を行数分コピーします。

そのあと、「ClearContents」でシート「data」をキレイに掃除しておきます。

はい、では次です。

この3つは収入、販売手数料、配送料の仕訳をシート「data」に貼り付ける記述。CurrentRegionというのは、特定のデータの上で、Ctrl+Aをタッチするイメージです。

そして、新しいデータを貼り付ける時に、毎回、一番下のデータ行数を数えるということをやっています。

そうしないと、上手くコピペができないので。1番上の項目行は、最後に削除しています。

なぜA列でなくB列にコピーしているか?A列には、番号を割り振るためです。

これは、マネーフォワードにインポートする場合、伝票番号の情報がないと、仕訳がすべて1つの番号で管理され、取引日を1番上の日付で認識します。(今回の場合はすべてが6月4日の取引になってしまう)

 

ということは、仕訳パターンに1つずつ日付を入れている意味がなくなるわけです。

スクリーンショット 2019 06 15 21 03 06

これを解決するには、伝票番号を別々にすること。そうすると1つずつの仕訳にすることができます。(意外にこの辺りは融通が聞かない…)

そこでA列に連番を振っています。

シート「data」はこういった感じになります。

こういったCSVファイルができあがり、クラウド会計にインポートします。

と、ここまでの流れを手間と感じるかどうかは、なんとも言えませんが、入力しないで既にあるデータを活かすということであれば、ちょっと強引ながらこれかなと。

データがなくてもつくれれば、後はなんとかなります。

最初の設定は大変ですが、それ以降はそこまで時間がかからない。というのがメリットです。

ひとまず売る側の経理インポート、1つのやり方として参考にしていただければ。

 


【編集後記】
昨日はクラウド会計のコンサルティング。ちょっと先ですが、8月にドラゴンクエストの映画を3人で見に行く約束をしました。といってもドラゴンクエスト、見たこともなければやったこともない2人ですが、映像がすごくてあれはすぐに気に入りそうです。聞いたら長男(4)はスライムだけはなぜか知っているようです。

【昨日の1日1新】
※「1日1新」→詳細はコチラ
からやま 大府店