今日も中小企業の経理を効率化するツールについて、書いてます。今回もRPA(MicrosoftのPower Automate)です。 RPAとPythonの違いは、GUI(デスクトップで、目で見てデスクトップに見えているボタンなどの部品をクリックする操作法)で操作できるか出来ないかの違いです。 Pythonの方が遥かにモジュールも沢山あるし色々な事が出来るのですが、一般ユーザーから見たGUIの操作は出来ません。Pythonではこのアプリのこのボタンを押して、ファイルを開けて人間の目でどの情報を使うかを選んで、コピーして、貼り付けるなんてことは出来ません。 私の事務所で結構実現したいと思っているのが、達人と言うソフトで作った法人税と消費税の申告書データを電子申告する事なのですが、Pythonではこれは逆立ちしても出来ません。ソフトを立ち上げて、申告するお客さんの名前を選んで、電子署名を付けて、パスワードを入力して、電子申告の達人から送信する。これは全部Windowsで表示されるソフトのUIを識別する必要がありますが、RPAではボタンの外観(UI)を識別して、クリックする事が出来るので、まだやっていないのですが、もしかしたら可能でしょう。 Power Automateでは下記のように色々なアプリを使うコマンドが沢山あります。でも、Pythonのライブラリーの数に比べたら、大人と子供の喧嘩のようなもので、多分レベルが違います。 ただ、プログラミングが出来ない人でも使えるように設計されているので、普通の人でもちょっとトレーニングすれば出来るようになるかも知れません。 うちの事務所でも皆に一度デモを見せて、各々の仕事に各自がプログラムを使って応用できる所があるか、意見してもらおうと思います。実際のプログラミングは皆が覚えるより、担当者を決めてその方にやってもらう方が、全然効率的だとは思います。
Category: プログラミングで効率化
事務所の業務を効率化をするために、色々ツールを触っています。 今回は、Microsoftが提供しているPower Automateというものを試してみました。Power AutomateはいわゆるRPAの一つで、デスクトップ上で動くプログラムです。 デスクトップの下の所にあるメニュー・バーのボタンを画像として認識して、それをクリックする事が出来る様なので不思議なプログラムです。 ウェブサイトはリンクやチェックボックスなどのパーツを認識しているので、HTMLのタグも読むことが出来る様です。HTML上のテーブルからデータを持ってくることも可能なようです。 今回はこの本のサンプルを使って、ウェブからデータを持ってきて、その一部を取り出す作業をやって見ました。IF文やFOR EACH文などがあり、そのデータを使って、エクセルに書き出したり、メールを出したり、コマンドプロンプトまであったりで、結構いろんな事が出来そうでした。 AzureやAWSのコマンド・メニューなどもありましたが、一体に何に使うのだろう。データベースやPDFファイルの書き出しや読み込みに関するメニューもあったので、いっぱしのプログラミング言語のようでした(失礼!)。いや本当、デスクトップの上をベースにすると言う普通ではない状況を別にすれば、普通のプログラミング言語のように使えそうです。
Pythonなどのプログラミング言語を使って仕訳データを作るメリットは、入力する項目の多い給与などの仕訳で威力を発揮します。こちらの会社では約40人分の給与があるのですが、部門計算と支給残高の間違いを確認するために、個別に未払金の補助残高を設けています。(会社の経理のレベルが上がってきたら、合計記帳で十分になると思います。)ですので、入力の量がものすごく多いのです。 PythonでCSVデータを作るのは、非常に簡単です。一見難しそうに見えるかもしれませんが、3つか4つの基本的なパターンを組み合わせているだけですので、一度わかってしまうととてもシンプルなのです。 今回やったのは、こんな感じです。たったこれだけです。ちなみに加工前のデータは弥生給与を使っています。 1) エクセルや他に必要なモジュールをインポートする。 import openpyxl import datetime 2) 仕訳のクラスJournalを定義する。 class Journal: def __init__(self):# コンストラクタ self.type = 2000 self.Date = “” self.DrAcc = “” self.DrSubAcc = “” self.DrCostCenter = “” self.DrCTaxCode = “” self.Amount = 100 self.DrCTaxAmount = 0 self.CrAcc = “” self.CrSubAcc = “” self.CrCostCenter = “” self.CrCTaxCode = “” self.CrCTaxAmount = 0 … Read More “弥生給与の出力データをPythonで仕訳データにする” »
世の中で経理に求められている役割には教科書的なものがあると思っています。経理の役目は 支払いや、 給与計算、 売上の集計と請求・入金の管理、 会計ソフトの入力、 などの現業的なものから、 予算の取りまとめ、 実績の集計、 予実の比較とフィードバックなどの 経営の要となる役割もあります。そう、経理は会社の経営にとってとても重要な役割を担っているのです。私は予算を立てて実績と比較することは会社が成長するうえで、必要不可欠なものだと考えています。会社は、成り行き任せにしても大きくならないのです。 そんな会社の成長をサポートするうえで、現業部分で時間を取られて付加価値の高い部分がおろそかになってしまうのはもったいないです。是非、プログラミングを覚えて、リーティンな業務を効率していただけたらと思います。 ここでご紹介するのは、売上のボリュームが多いお客様の資料を入力するうえで、弊事務所が実際に使っているPythonの例です。今回は売上が対象ですが、仕訳がめんどくさい給与の仕訳などにも威力を発揮すると思います。 売上ですが、通常は会社の販売管理のシステムに入っているか、急成長した中小企業ならもしかしてまだエクセルで管理しているかもしれません。こんな風に。 エクセルで毎月の売り上げをまとめて、これを経理が弥生会計などの会計ソフトに手で入力するのが典型的なパターンかと思います。 これをPythonで自動化すると、ボタン一つでCSVで仕訳データが作れます。Pythonなどのプログラミング言語のいいところは、条件分岐などの複雑な条件も対応できることです。エクセルだとIF関数が複数必要な場合など複雑になりがちですがプログラミング言語なら、プログラミング言語がそもそも条件分岐を処理するために出来てるようなものなので、そんなことにはなりません。 CSVを使った弥生ファイルはこんな感じになります。 実際に使ったコードはこんな感じになります。 #1ではエクセルのモジュールをインポートしています。Pythonではエクセルデータも簡単に扱う事が出来ます。 #2ではエクセルに個別の仕訳データを書き込んでいます。 #3でエクセルのファイルを開いています。 #4でエクセルのデータを実際にシートから読み込んでいます。データがなくなるところをifの関数を使って自動で判定しています。 やってみると意外と簡単なので、是非、挑戦してみたら良いと思います。 こちらのサンプルには実際にPythonをインストールするところを書いていませんが、それもそれほど難しくありません。こちらのリンク先からAnacondaをインストールして、AnacondaのメニューからJupyter Notebookを開き、下記のコードをコピペするだけです。ファイルの保存場所やシートの名前は各自皆様の環境に合わせて修正をお願いいたします。 #(1) Pythonでエクセルを読み込むモジュール import openpyxl #(2) エクセルの def renderJournalCSV(journal, sheet, rowNum): sheet[“A” + str(rowNum)] = 2000 sheet[“D” + str(rowNum)] = journal.Date sheet[“E” + str(rowNum)] = journal.DrAcc sheet[“F” + str(rowNum)] = journal.DrSubAcc sheet[“G” … Read More “経理でPythonの使い方(1)” »