創業以来弥生会計使っていますが、Macでも使いたい!ということで弥生会計オンラインに切り替えて使っています。オンラインバンキングからデータ取り込むのはまだWindowsでやっているのはナントカしたいのですが…
それはさておき、いわゆるレシート関係の入力はスキャナとかでもいけるみたいなのですが、現状はオーソドックスに一旦エクセルに入れて、折を見て弥生会計に入力ということをしておりましたが、やっぱりインポート一発でやりたい!
と思い、インポートCSVのフォーマットをにらめっこしつつ作りましたよ。AWKで作ったので公開しますが、使いたいなら自己責任でお願いしますm(_ _)m
注意点として私は現金勘定科目で基本的に切手買ったという場合は記帳していませんで、私自身が立て替えて購入して後日精算という運用をしています。前払いとかもナシです。
よって想定しているシチュエーションが限られていますので、ご注意ください。
で、下記のようなフォーマットのエクセルシートを作成し、CSVにします。ヘッダ行は不要なのでご注意ください。
年 | 月 | 日 | 摘要 | 勘定科目 | 消費税込購入価格 |
2017 | 10 | 10 | 切手代 | 通信費 | 82 |
で、こんなスクリプトを使って(シフトJISで保存してください)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
BEGIN{ NF>1 FS=","; OFS=","; } { printf "\"2000\","; printf ","; printf ","; printf("\"%s/%s/%s\",",trim($1),trim($2),trim($3)); printf("\"%s\",",trim($5)); printf ","; printf ","; printf "\"課対仕入込8%%\","; printf ("\"%d\",",$6); printf ("\"%d\",",floor($6-$6/1.08)); printf "\"未払金\","; printf "\"山田太郎\","; printf ","; printf "\"対象外\","; printf ("\"%d\",",$6); printf "\"0\","; printf("\"%s\",",trim($4)); printf ","; printf ","; printf "\"0\","; printf ","; printf ","; printf "\"0\","; printf ","; printf "\"no\"\n"; } # trim(): 文字列の最初と最後にあるスペースとタブを削除した文字列を返す # in: 文字列 # out: 最初と最後にあるスペースとタブを削除した文字列 function trim(str, tmp_str) { tmp_str = str; # 一旦別変数に格納しないと破壊される sub(/^[ \t]+/, "", tmp_str); # 行頭のスペースとタブの削除 sub(/[ \t]+$/, "", tmp_str); # 行末のスペースとタブの削除 return tmp_str; } # 小数部の切り下げ # in: 数値 num # out: 数値 num の小数部を切り下げたもの function floor(num) { if (int(num) == num) { return num; } else if (num > 0){ return int(num); } else { return int(num) - 1; } } |
1 |
$ awk -f yayoi.sjis.awk < p9.csv > p9.out.csv |
と実行すればハイできあがり。勘定科目ですが、「未払金」、かつ補助科目が「山田太郎」となるように変換されますので、適宜変更してください(全部ココは固定です)。
Windowsの方はどうにかしてawkをインストールしてくださいませm(_ _)m
せっかく作ったけど、スキャナ入力もいずれ試してみますよーん。ではまた
最近のコメント