非エンジニアがfreeeからAPIで資金繰予定表を作るのにどれくらい時間がかかるか試してみた
最近WEB APIがビジネスソフトでもかなり普及してきてるなーというのを感じる。
WEB APIとは、簡単にいうとWEBサービスやクラウドソフトの情報を読みだしたり、書き込んだりする仕様が公開されてて、自分で作ったソフトで活用できるというイメージ。例えば下の記事のようにtwitterに自分のソフトから書き込んだり、投稿されたデータを読み込んだりできる。
2017年に改正された銀行法でオープンAPI導入に係る努力義務が盛り込まれて銀行がAPIを公開したり、私が働いてるfreeeも、APIエコノミー形成に向けてfreeeオープンプラットフォーム戦略を進め、「freeeアプリストア」を公開したり、API界隈の動きが大きくなってきている。
で、打ち合わせの中でもAPIの話が出てくるので、エンジニアでないお客さんが自分で開発出来るのか、どのくらい時間かかるのか等、自分で肌感持ってた方がいいと思うのでGoogle Apps Scriptを使って資金繰予定表を自動で作れるプログラムを作ってみた。
作ったプログラムの動作イメージはこちら(3分半ぐらいの動画です)
スプレッドシートはこちら
※趣味で作ったので、テストあまりしてませんし、動作保証してません。スクリプトも整理せず書きっぱなしなので参考程度にしていただければ。
感触としては、Google Apps Scriptは、OAtuth認証用の「OAuthライブラリ」があるのでAPIでデータを持ってくるところまではかなり簡単。
土日でGoogle Apps Script の本を読んで、freeeのヘルプページのサンプルを参考にすればすぐ出来る。
でも自分の見たい形に自動でするのは結構大変で、整理せずに必要な処理を付け足していったら1500行ぐらいになってしまい、(プログラミングに慣れてる人ならもっと減らせると思います。)時間も15時間くらいかかってしまった。
例えば月次推移表のAPIはないので、試算表APIで各月分で12回取って来ないといけないんだけど、月によって勘定科目の数が変わるので、一致させるよう処理したり、債権債務の情報はレポートから取れないので未決済の取引を取得して集計したり結構手間がかかる。
ここら辺は、今度どんなとこが大変だったか書こうと思う。
結論としては、APIでデータを取って来るのは簡単なので、エンジニアではなくても取り組んでみてもいいと思う。でもこだわりすぎて自動化しようとすると、複雑になってプログラムのメンテナンス性が下がるので、そんなに手間じゃない作業は手作業を組み合わせた方がいいと思った。あとは会社として導入する際は、誰かが勝手に作ったプログラムが乱立しないように、管理する仕組みや体制も合わせて考えないと属人化リスクが発生するので、そこら辺も注意喚起してあげた方がいいなと思う。