ギーク的会計作業
Live With Linux::technique
- TOP
- Articles
- Live With Linux
- ギーク的会計作業
おけましておめでとうございます
年末年始、みなさんどう過ごされていただろうか。 私はもちろん、会計作業(決算)をしていた。毎年恒例だ。
私は決算はもう7回目になる。 2016年からFreeeを入れたので、Freeeの会計も5回目になった。 (2014, 2015年は売上がなかったため、ちゃんと会計していなかった)
毎年改善を重ねてだいぶ効率的にできるようになったのでちょっと紹介していこうと思う。
やっぱFreeeだよね
2014/2015は自作ソフトウェアを使っていたが、2016年はより本格的な会計ソフトを開発していて断念した。
かつてはLinux上で使える会計ソフトがないというのが悩みどころであったが、現在はweb上で使える会計ソフトが増えてLinuxでも会計処理ができるようになった。
だが、やっぱりFreeeが良い。 一般的な会計ソフトは会計知識があることを前提にしているので、結構厳しい。私も一応簿記三級がとれるくらいの知識はあるのだが、それでもやっぱ弥生会計とかは手に負えない感じがある。
それと比べるとFreeeは知識がないことを前提にしていて、状況を入力していけばちゃんとできるようになっている。(それでも全く会計知識がないと厳しいが)
なお、Freeeは一昨年ちょっと炎上している。 これは、法人向けプランでスタンダードプランからごっそり機能を削ったことであり、「サブスクリプションしているユーザーの機能を後から削る」ことが背信行為である、という話だった。 このことからFreeeの企業姿勢に対して批判的になる、というのはまぁあると思うし、これによって私からしてもFreeeへの信頼度は大幅に下がったのは事実だ。
でもまぁ、まだ一番はFreeeかな、というところ。今年も値上がりしたけど、まだ許せる。 あまりひどいことが続くとやめるかもしれないけど。
記帳の方法
まず、 テンキー付きキーボードを用意する。
効率が全然違う。テンキーのブラインドタッチは難しくない。 まだ、電卓アプリはテンキー操作できるようになっていることが多い。そうすると電卓感覚で入力可能だ。
ちなみに、テンキーの配列は電卓と同じ、電話とは逆だ。
さらに、私はクレジットカードや口座の残高計算など、手計算が必要になるケースにおいて、 ThinkPadにUnicompキーボードをつないで、Galculatorを起動した状態にして電卓代わりにして使っていた。
これは、同じマシンを使っているとどうしてもウィンドウスイッチの手間がかかるのだが、ウィンドウ2枚だけにしておくのも難しく、ショートカットキーを駆使しても結構なロスになる。 ぱっと手を伸ばしてテンキーを叩いて計算できるほうが圧倒的に早い。
もちろん、電卓を用意してもいいし、個人事業主なら1つくらい良い事務電卓を持っていても良いと思うが、電卓よりはキーボードのテンキーのほうが良いキーを持っているので、 随分贅沢な使い方のようだがラップトップと良いキーボードを電卓にしてしまうという方法はとても良い。
年末にはテンキーを持つ良いキーボードであるLibertouchとUnicompが大活躍する(普段私が使っているRealForceはテンキーレスだ)。
収益の話
売上の処理はまあ簡単で、うちだとパターンは次の3つのうちどれか
- 現金払い -> 契約時/役務提供時に売上をつける。口座は現金。一番簡単
- 後払い振り込み -> 契約時に未決済で売上をつける。支払われたらその取引の「決済を登録」でつける
- 先払い振り込み -> 振り込みされた日に勘定科目「前受収益」でつける。契約時/役務提供時に「+更新」から売上を登録する
「+更新」が複数日一気につけられないため、後からまとめて記帳するときはちょっと面倒。
前受収益を出すのは難しいので、勘定科目で「maeu」とうつのが早い。
ちなみに、授業料前払いの記録は結構面倒なので、私はこんな感じの計算スクリプトを書いている。
#!ruby
C0 = (15000 * 1.1).to_i
C1 = (20000 * 1.1).to_i
C2 = (24000 * 1.1).to_i
C3 = (28000 * 1.1).to_i
#C4 = 46000
= (0..10).to_a
a = {}
dict
.product(a, a, a) {|x, y, z, xx|
a= C0 * x + C1 * y + C2 * z + C3 * xx # + C4 * yy
val [val] ||= []
dict[val].push sprintf('%d/%d/%d/%d', x, y, z, xx)
dict}
= []
lines = 0
cval = nil
cdate = nil
start_line = nil
given_val = 0
neg
ARGF.each_with_index do |line, index|
next if line =~ /^\s#/
= line.strip.sub(/\s*#.*$/, "").split
date, val = val.to_i
val if line =~ /^\s+/
-= val
cval if cval < 0
printf("WARNING: Deposit is now negative at line %d, value %d\n", index.succ, cval)
end
else
if cval > 0
= if dict[given_val]
label [given_val].join("|")
dictelse
"UNMATCHED"
end
.push([start_line, cdate, given_val, label, cval])
linesend
if cval < 0
+= cval
neg end
= index.succ
start_line = val
given_val = val
cval = date
cdate end
end
if cval > 0
= if dict[given_val]
label [given_val].join("|")
dictelse
"UNMATCHED"
end
.push([start_line, cdate, given_val, label, cval])
linesend
if cval < 0
+= cval
neg end
.each do |i|
linesprintf("line %d(%s): %d(%s) is unsolved. ¥%d left.\n", *i)
end
printf("Total ¥%d left.\n", lines.map {|i| i[4] }.sum + neg)
これをこんな感じの帳簿を作って
# @2020
1/1 44000
2/10 22000
2/20 22000
やれば、現状いくら残っているのか計算できる、というものだが、これで記帳しておくと後からFreeeにそのまま写すだけなのですごく楽。
経費と記帳の話
経費の登録は、直前に登録した内容がある程度残るという関係上、同一の取引相手や勘定科目で連続で登録したほうが良い。 また、順に終わらせれば混乱を避けられる。
私が確立したパターンは
- 売上を先に登録する
- Amazonとヨドバシのレシート類を除外する
- レシートを全て登録し、アーカイブする
- Amazonから対象になる領収書を全て印刷する (CUPSでPDF化したほうが良い)
- ヨドバシの対象になる領収書を全てダウンロードして印刷する
- Amazonとヨドバシに私物と混ざってるものがある場合はマーカーを引く
- 全ての口座とクレジットカードの明細を印刷する
- 「自動で経理」を明細と見比べながら処理していく。レシートで登録済みのものは「無視」、私的なものは「事業主貸」
- 処理したAmazon/ヨドバシの請求にマーカーを引き、クレジットカード側明細にメモをつけていく
- クレジットカードについて全部つけ終わったら(自動で経理は確定分に「抜け」は出ないのでそこに差額はないと考えて大丈夫)、その請求のうち経費としてつけたものを足し、そこから請求額を引く(負になるが、そのほうが分かりやすい) 事業主貸し分を計算するとよくズレる
- 差額になっている事業主貸し分をつける
- クレジットカードの請求日で口座振替を登録する
- 全クレジットカードについてこの処理を行う
- 電子マネーなどについて処理する。動いている金額はわかるけど内容が不明なものは事業主貸
- 銀行口座について処理する。通帳(口座明細)と一致するように、ひとつずつ取引を照合する。口座間移動がある場合は、複数タブを開いて事業主貸/事業主借の取引登録と、口座振替の登録を並行で時系列で進めていく
- 水道光熱費を登録する (私は現金で払ってるので、事業主借で登録する必要がある)
- 固定資産を登録する
- 家事按分を登録して再計算する
プライベート資金から支払い、なおかつレシートもないものについては諦める、という前提である。
どーしても合わないときは事業主貸/事業主借で合わせるんだけど、「これは絶対に事業決済に絡まない」という確信が持てるまでがんばる。
なお、登録時だが、「?」を通過するとノータイムでチップが出てフォーカスを取られてしまうことから、「口座」をクリックしたところから全てキーボードで処理するほうが良い。 発生日に関しては多少の省略はきく(reading zeroの省略ができる)のだけど、テンキーで打てるので慣れておくと良い。
取引先、品目に関しては連続入力ではカーソルですぐ出るが、出ないものについては英字での検索を利かすと良い。私はショートカットを両方とも英字にして、連想で出せるようにしている。 なるべく英字を維持したままのほうが早い。
この中では細かい内容を記述しなければならないタイプのものが出てくると時間がかかる。 未決済のものとか。Amazonの予約は未決済になるので面倒。
また、インポート機能もあるが、FreeeのUI自体がミス防止や判断の省力化に貢献している面もあり、会計に強くない私はあえてwebUIを用いている。
口座登録
私はFreeeカードだけ連携していて、事業決済専用になっている。
みずほ銀行が私の事業用口座で、こちらも連携できるならしてもいいのだが、みずほの事業口座のネットバンキングは月3000円+税かかる上にIE専用でタダでも絶対使いたくない超ストレス仕様。 あと、多分事業口座とは連携できない。
取引登録時は私は口座ごとに処理しているので、しっかり分離されているなら自動で経理を使ってもいい、というか事実上、自動で経理は無視できない。 使うつもりがないのなら最初から連携しないほうが良い。 ただ、確定するまでは金額が変動することもあるから、確定した分だけ処理するほうがよさそう。
Amazonに関しては、1回の注文に対してどのように請求されるかを推測するのが極めて困難なので、Amazonの処理は結構つらい。 領収書のほうにどのように請求されたのかの詳細があるので、それを確認して照らし合わせることになる。 できればAmazon business使ってそっちのアカウントでだけ事業用カードを使う、みたいに分離したほうが良い。
また、Amazonの請求日とクレジットカード上の日付は結構違ったりするので注意が必要。
さらに、Amazonは予約商品の請求が発送時にかかる親切仕様なのだけど(引き落とされないで枠確保されているのとも違い、日付自体が発送日になる)、これが見失う原因になりやすいので要注意。
交通系IC
記名式SUICAが嫌でないならモバイルSUICAがベスト。 連携できるのがそれしかない。
交通系ICは履歴が保存できるのが19件だけで、ちゃんと交通費はなんらかの手段で記録する必要がある。
交通系ICは口座を登録で「見つからない場合」から登録すると「その他」という名前の口座で登録される。 後からリネームするというちょっとうっとうしい仕様。私はPASMOを使っているので普通に手動でやっている。
最初からFreeeで管理していないと、最初から口座をつけるのは難しいと思う。 わからない分の残高は諦めて登録時に事業主借にするのがまぁ無難なのではないだろうか。
プライベートと分けるのが圧倒的に無難。
無事2020年度も締まりました
2020年度から私は源泉徴収票提出が必要になったのでまだ本当に締めてるわけではないんだけど、少なくとも入力は終わった。
年末年始に有給をまとめて取って作業したものの終わるかどうか今年もヒヤヒヤだった。 2019年度は本当に終わらなくて、延長にならなかったらやばかった。
また、かなり大幅な売上減になったものの、給付金効果によりなんとか黒字を維持できた。 年末に大きな設備投資をしたため、向こう3年は赤字が見込まれるが、なんとかがんばっていきたいと思う。