以下、本発明を実施するための形態の一例として、情報登録システム及び情報登録システムが行う情報登録方法について図面を参照しながら説明する。
<本実施形態の電子データの生成の概略>
図1は、本実施形態の情報登録システム100の動作の概略を説明する図の一例である。
(1)ユーザUは複合機9のコンタクトガラスに電子化したい複数の領収書7を配置してスキャンする。これにより複数の領収書7のイメージが含まれる1つの画像データが登録サーバ30に送信される。なお、配置する領収書が1枚であってもよいことは明らかである。
(2)登録サーバ30は画像データから領収書7のイメージを1つ1つ抽出する(トリミングする)。登録サーバ30は領収書7のイメージに文字認識処理を施して、領収書のテキストデータから少なくとも日付、及び金額を取得する。
(3)また、登録サーバ30は金額が文字区切り記号を含むか否かによって、この金額の通貨単位を判断する。文字区切り記号とは、金額の桁と桁の間に記載される数字以外の記号である。例えば、ピリオドやカンマがある。
(4)登録サーバ30は、領収書7の電子データ(イメージ、日付、金額、通貨単位)を順次、文字認識処理が終わった順に複合機9に送信する。
(5)複合機9は、登録サーバ30から送信された1枚の領収書7に係る電子データを受信すると、受信した領収書7の電子データを操作パネル(表示装置の一例)に表示する。例えば、金額欄には通貨単位マーク489a(表示部品の一例)が表示される。また、ユーザUが金額欄の金額を編集する際に、通貨単位に応じたテンキー530を表示する。
このように、本実施形態の情報登録システム100は、複数の領収書7を一度に画像データに変換でき、文字認識処理が終わった領収書7の電子データが順次、複合機9に送信するので、ユーザUは全ての領収書に対する文字認識処理が終わるのを待たずに、1枚の領収書7の文字認識処理に必要な時間で処理結果を見ることができる。また、ユーザUは表示された順に領収書7の文字認識結果を確認することができ、確認している間に次々と領収書7のイメージが送信されるため、確認と文字認識処理とを並行に行うことができる。したがって、領収書7を配置して読み取らせてからその結果が表示されるまでのユーザUの待ち時間を低減できる。
また、登録サーバ30が通貨単位を自動的に判断するので、領収書によって異なる通貨単位の金額が記載されている場合でも、複合機9は通貨単位に応じた通貨単位マーク489aを表示でき、通貨単位に応じたテンキー530を表示できる。
<用語について>
経費情報とは、企業などで発生する経費に関する主に金額の情報である。例えば、交通費、業務上の物品の代金などの金額が経費情報となる。
領収書に記載された金額に関する数値データとは、少なくとも金額を含めばよいが、更に、文字区切り記号を含む場合がある。数値は、アラビア数字、インド数字、ローマ数字、ギリシャ数字、漢数字など数を表せばよい。
金額に対する修正入力が可能な入力手段は、ソフト的に表示と非表示が切り替わるキーである。タッチパネル上ではソフトキーと呼ばれる場合がある。キーボードやボタンと呼ばれてもよい。本実施形態ではテンキーという用語で説明する。
<システム構成例>
図2は、本実施形態の情報登録システム100の概略構成図の一例を示す。情報登録システム100は主に複合機9、登録サーバ30、管理者端末70、管理サーバ40、及びユーザ端末50を有する。情報登録システム100は情報を解析する機能を含むため情報解析システムと称してもよいし、登録サーバ30と管理サーバ40が連携することから連携システムと称してもよい。情報登録システム100は読み取られたデータを解析し、解析結果を表示装置に表示する。
複合機9と登録サーバ30はネットワーク8を介して接続されており、登録サーバ30と管理サーバ40は通信可能であり、管理者端末70は登録サーバ30と通信可能になっており、ユーザ端末50は管理サーバ40と通信可能になっている。実際には複合機9、登録サーバ30、管理サーバ40、管理者端末70,及びユーザ端末50がネットワーク8に接続されているが、情報登録システム100の説明のためネットワーク8との結線は省略されている。また、登録サーバ30と管理サーバ40は、いわゆるクラウドサービスとしてサービスを提供することが想定される。登録サーバ30は、領収書の入口(入力装置)である複合機9と、その出口(登録先)である管理サーバ40とを仲介する役割を担い、複数のベンダーによりそれぞれ提供される領収書管理サービスに対応することが可能である。同様に、複数のベンダーによりそれぞれ販売される複合機9に対応することが可能である。
複合機9と登録サーバ30を結ぶネットワーク8は、複合機9が設置された施設に敷設されたLAN、ルータ、インターネットなど、一般的なネットワークであればよい。例えば、広域イーサネット(登録商標)、VPN(Virtual Private Network)などの専用線を含んでもよい。通信ネットワークNには、有線だけでなく、WiFi(Wireless Fidelity)、3G、4G、LTE(Long Term Evolution)、及び、Bluetooth(登録商標)などの無線による通信が行われる箇所が含まれていてもよい。
複合機9は、原稿を光学的に読み取って画像データを生成する読取装置である。このような装置をスキャナ又はスキャナ装置という。複合機9が"複合"という文字を含むのは、読取装置の機能以外の機能を有する場合があるためである。複合機9はMFP(Multi−Function Peripherals)と呼ばれる場合がある。すなわち、複合機9は更に、用紙などの印刷媒体に画像を形成するプリンタ機能、スキャナとプリンタ機能により実現されるコピー機能、及び、スキャナと電話回線(又はネットワーク)により実現されるFAX機能を有していてもよい。また、複合機9は、これらの機能により、画像形成装置、プリンタ、複写機、コピー機、FAX装置などと呼ばれていてもよい。複合機9はFAXで受信した画像データ(領収書のイメージを含む)を登録サーバ30に送信することや着脱可能な記憶媒体に記憶された画像データを登録サーバ30に送信することも可能である。
本実施形態の複合機9は、複数の領収書を一度に撮像する機能を有していることが好ましく、この意味では主にテレビ会議で使用される書画カメラ、デジタルカメラ、Webカメラなどが本発明に関して複合機9が提供する機能と同等の機能を有する装置となる場合がある。また、デジタルカメラを搭載した又は外付けのデジタルカメラが接続されたPC(Personal Computer)でもよい。
複合機9は、後述する操作パネルを有しており、操作パネルに領収書の電子データ等を表示する。操作パネルは、電子データの編集を受け付けるタッチパネルやキーボードなど、及び、ディスプレイ又は表示装置の機能を有している。
複合機9は後述する本体と操作部とを有し、それぞれにアプリケーションを搭載可能になっている。本実施形態では、操作部に、複数の領収書の画像データを管理サーバ40に登録するために登録サーバ30と連携するアプリケーション(以下、領収書アプリ60という)が搭載されている。ただし、領収書アプリ60は本体に搭載されていてもよい。
登録サーバ30は、領収書の電子データを管理サーバ40に登録する情報処理装置である。すなわち、登録サーバ30は、複数の領収書の画像データから各領収書のトリミングを行って領収書の画像データに対して文字認識処理を行う。登録サーバ30は領収書に記載されたテキストデータを取得する。文字認識をOCR(Optical Character Reader)という場合がある。なお、文字認識によって、日本語の他、数字、「!#$%&()=¥」等の特殊記号、a〜zのアルファベット、ギリシャ文字などが認識される。どの程度の種類の文字(言語)に対応できるかは登録サーバ30の能力や性能によるため、これらには限られない。また、文字認識処理を登録サーバ30とは別体のサーバが行ってもよい。
登録サーバ30は領収書のテキストデータから少なくとも日付と金額を取得し、金額の文字区切り記号に基づいて通貨単位を判断し、領収書の電子データ(イメージ、日付、金額、通貨単位)を複合機9に送信する。ユーザUが内容を確認して後述の送信ボタンを押下すると、登録サーバ30がイメージを除く領収書の電子データを受信し、ユーザUのユーザID(メールアドレス)と共に保存してある領収書のイメージを含む電子データを管理サーバ40に送信する。
管理サーバ40は、領収書の電子データを管理する情報処理装置である。管理サーバ40は、管理者に対応付けて個々のユーザUを管理する管理形態を取っている。管理者は、管理者権限に基づき個々のユーザUを登録することができ、後述するように登録した各ユーザに対する所定の処理についての実行権限を有する。つまり、管理者は管理者権限で管理サーバ40を使用し、登録したユーザに対する所定の処理を実行することができる。したがって、例えば、ある企業Aが管理サーバ40により提供されるサービスを利用したい場合は、一人の管理者を登録し、この管理者に基づいてその他の従業員を登録すればよく、全ての従業員を管理者として登録する必要はない。また、管理サーバ40によるサービス提供者側においても、各従業員が管理者として登録されるような利用形態を望まないことが考えられる。サービス提供者側としては、管理サーバ40により提供されるサービスを、企業、団体、個人などの単位で管理したいという要望もあり得るためである。
管理者:ユーザ1、ユーザ2、…、ユーザN
管理者とは、各ユーザの代わりに管理サーバ40にログインした状態を維持する者をいう。管理者は、管理サーバ40が提供するサービスを利用する企業等において複数のユーザUを取りまとめる所定の担当者ということができるが、この担当者が実際に存在する必要はない。詳細は後述されるが、登録サーバ30を介して管理サーバ40に各ユーザUがログインすることは煩雑な処理又は操作が必要になるため、管理サーバ40には原則的に管理者がログインしておき、複合機9を使用する各ユーザUは管理者の権限で管理サーバ40を使用する。管理サーバ40には、管理者IDと、これに基づき登録された各ユーザUのユーザIDとが対応付けられており、各ユーザUが送信する電子データはユーザIDに対応付けられて登録される。ただし、管理サーバ40へのログイン自体は各ユーザも可能である。
なお、IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。ユーザID以外のIDについても同様である。本実施形態では、ユーザIDとしてメールアドレスが使用されるが、ユーザUを識別できればメールアドレスには限られない。
ユーザ端末50は、ユーザUが登録サーバ30から電子データを確認したり編集したり申請したりするための情報処理装置である。ユーザ端末50ではブラウザソフトウェア又はこれと同等の機能を有するアプリケーションソフトウェアが動作する。ユーザUはユーザ端末50を操作してユーザUの権限でログインし、ユーザIDに対応付けられている領収書の電子データを表示させる。領収書の確認や編集が済むと領収書の承認申請用のワークフローに電子データを送信することで、上司による領収書の承認や経理による出金が行われる。また、ユーザ端末50は、管理サーバ40にアクセスし、保持している領収書のイメージデータを管理サーバ40に登録することもできる。また更に、ユーザ端末50がカメラ等の撮像機能を有していれば、領収書を撮像して得られたイメージデータを管理サーバ40に登録することもできる。
ユーザ端末50は、具体的にはPC、スマートフォン、タブレット端末、サングラス型や腕時計型などのウェアラブルPC、PDA(Personal Digital Assistant)、ゲーム機、ナビゲーション装置、等であるが、ブラウザソフトウェア又はこれと同等のアプリケーションソフトウェアが動作すればよい。例えば、ユーザ端末50がスマートフォンの場合、スマートフォン上で動作する専用のアプリケーションを管理サーバ40のサービス提供者が生成し、これをユーザ端末50にダウンロードさせる形態で頒布することができる。
管理者端末70は、情報登録システム100の管理者が使用して、登録サーバ30に各種の設定を行うための情報処理装置である。管理者端末70ではブラウザソフトウェア又はこれと同等の機能を有するアプリケーションソフトウェアが動作する。具体な装置の例はユーザ端末50と同様でよい。なお、この管理者は必ずしも管理サーバ40にログイン状態を維持する管理者と同じでなくてよい。
<ハードウェア構成例>
<<複合機>>
図3は、複合機9のハードウェア構成の一例を示す図である。図3に示すように、複合機9は、本体10と、操作部20と、を備える。本体10と操作部20は、専用の通信路300を介して相互に通信可能に接続されている。通信路300は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた操作に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
次に、本体10のハードウェア構成について説明する。図3に示すように、本体10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、通信I/F(Interface)15と、接続I/F16と、エンジン部17とを備え、これらがシステムバス18を介して相互に接続されている。説明の便宜上、図3では、本体10はHDD14を有している構成を例に挙げて説明したが、例えばHDD14を有しておらず、十分な記憶領域を確保できない構成もあり得る。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12又はHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上記したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク8と接続するためのインタフェースである。接続I/F16は、通信路300を介して操作部20と通信するためのインタフェースである。
エンジン部17は、コピー機能、スキャナ機能、ファクス機能、及び、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ(後述の読取部33に対応する)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図3に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。説明の便宜上、図3では、操作部20はフラッシュメモリ24を有している構成を例に挙げて説明したが、例えばフラッシュメモリ24を有していない構成もあり得る。要するに、複合機9は、受信したコンテンツを記憶するための記憶装置を有していない構成もあり得る。
<<登録サーバ、管理サーバ、管理者端末、ユーザ端末>>
図4は、登録サーバ30、管理サーバ40、管理者端末70、又はユーザ端末50のハードウェア構成図の一例である。ここでは、登録サーバ30を対象に説明する。登録サーバ30は、CPU301と、ROM302と、RAM303と、通信I/F304と、入力装置305と、表示装置306とを備える。CPU301は、登録サーバ30の動作を統括的に制御する。ROM302は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM303は、CPU301が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F304は、ネットワーク8と接続するためのインタフェースである。入力装置305は、ユーザUによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置306は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
管理サーバ40、管理者端末70、及びユーザ端末50のハードウェア構成は登録サーバ30と同じであるか、又は異なっていても本実施形態の説明に支障はないものとする。
なお、管理サーバ40はクラウドコンピューティングに対応していることが好ましいが、必須ではない。一方で、登録サーバ30は、複合機9を利用する企業により構築されるネットワーク内に設置されることが想定されるが、クラウドコンピューティングに対応し、クラウドサービスとしてその機能を提供してもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。
図示したハードウェア構成は、1つの筐体に収納されていたり一まとまりの装置として備えられていたりする必要はなく、登録サーバ30、又は管理サーバ40が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例の登録サーバ30、又は管理サーバ40の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
<機能について>
図5を用いて、情報登録システム100の各装置が有する機能について説明する。図5は、情報登録システム100が有する複合機9、登録サーバ30、管理サーバ40、管理者端末70、及びユーザ端末50の機能ブロック図の一例である。
<<複合機>>
複合機9は本体10と操作部20を有しており、本体10は送受信部31、認証処理部32、及び読取部33を有する。本体10が有するこれら各機能部は、図3に示された各構成要素のいずれかが、HDD14からRAM13に展開されたプログラムに従ったCPU11からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
また、本体は記憶部39を有している。記憶部39は、図3のHDD14、ROM12又はRAM13により実現される各種の情報を記憶する記憶手段である。記憶部39にはユーザ情報DB3901が構築される。
表1はユーザ情報DB3901に記憶されている情報の一例をテーブル状に示す。ユーザ情報DB3901には例えば、ICカード情報、ユーザID,パスワード、及び属性情報等が登録されている。ICカード情報、又は、ユーザIDとパスワードはユーザUが複合機9にログインするための認証情報である。ユーザ情報DB3901には管理サーバ40にログインするための認証情報は登録されない点に注意されたい。ユーザ情報DB3901に各種のサーバの認証情報を登録するとユーザ情報DB3901の管理が煩雑になってしまう。本実施形態では、ユーザUが複合機9にログインすると管理者権限で管理サーバ40を使用できるため、ユーザ情報DB3901は複合機9へのログインのための認証情報を保持していればよい。したがって、ユーザUはシングルサインオンと同様に1回の認証操作で複合機9と管理サーバ40を使用できる。
ユーザUの認証に例えばアクティブディレクトリ(登録商標)が適用されもよい。また、ユーザ情報DB3901は複合機9が有する必要はなく、複合機9が通信できるネットワーク上のリソースにあればよい。
(本体の機能)
送受信部31は、ネットワーク8を介して登録サーバ30と各種のデータの送受信を行う。本実施形態では、領収書の画像データの送信、画像データの文字認識結果等を含む電子データの受信、等を行う。
認証処理部32は、ユーザ情報DB3901を参照してユーザUを認証する。認証処理部32はユーザUが携帯するICカードのICカード情報をリーダライタで読み取り、ICカード情報がユーザ情報DB3901のものと一致する場合に認証が成立すると判断し、一致しない場合に認証が成立しないと判断する。あるいは、認証処理部32はユーザUが入力したユーザIDとパスワードがユーザ情報DB3901のものと一致する場合に認証が成立すると判断し、一致しない場合に認証が成立しないと判断する。認証が成立すると認証処理部32はユーザUのログインを許可する。つまり、領収書アプリ60等を利用可能になる。なお、ICカードには指紋などの生体情報が使用されてもよい。
読取部33は、複合機9が有するスキャナの機能によりコンタクトガラス上の原稿を読み取って画像データを生成する。本実施形態では少なくとも1つ以上の領収書のイメージを含む画像データを生成する。
(領収書アプリの機能)
領収書アプリ60は操作受付部34、複合機制御部35、及び表示制御部36を有している。領収書アプリ60が有する各機能部は、図3に示された各構成要素のいずれかが、フラッシュメモリ24からRAM23に展開されたプログラム(領収書アプリ60)に従ったCPU21からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
操作受付部34は、ユーザUからの複合機9又は領収書アプリ60に対する各種の操作を受け付ける。例えば、領収書の金額に対する修正等を受け付ける。複合機制御部35は、領収書アプリ60の全体的な動作を制御する。例えば、操作受付部34に対する操作に応じて表示制御部36に操作内容を反映させたり、情報の送信を本体10側に要求したりする。
表示制御部36は、領収書アプリ60の画面を操作パネル27に表示する。領収書アプリ60は画面の部品を予め有しており、これに電子データや管理サーバ40から送信された情報を配置することで画面を形成する。本実施形態では、領収書に含まれる金額の通貨単位に応じて画面の表示を制御する。
なお、図5で本体と領収書アプリ60を分けて説明したのは一例に過ぎず、本体が有する機能を領収書アプリ60が有していてもよいし、領収書アプリ60が有する機能を本体が有していてもよい。
<<登録サーバ>>
登録サーバ30は、認識処理部41、抽出部42、複合機通信部43、サーバ制御部44、イメージ作成部45、用語検出部46、管理サーバ通信部47、通貨判断部37及び設定管理部38を有している。登録サーバ30が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
また、登録サーバ30は記憶部49を有している。記憶部49は、図4のHDD307、ROM302又はRAM303により実現される各種の情報を記憶する記憶手段である。記憶部49にはトークンA、トークンBが記憶される。トークンAは管理者が管理サーバ40にログインすることで管理サーバ40から登録サーバ30に送信されるログイン済情報である。つまり、管理者がログイン中である場合、登録サーバ30はトークンAを保持している。管理サーバ40は管理者が最後にログインしてから1年程度、ログイン状態を保持している。これにより、各ユーザUは管理者権限で管理サーバ40を使用できる。また、複合機9にログインしたユーザUのユーザIDが管理サーバ40に登録されている場合、トークンAにユーザIDとセッションID1が対応付けられる。複合機9はこのセッションID1で登録サーバ30と通信する。
トークンBは後述される代理人が管理サーバ40にログインすることで管理サーバ40から登録サーバ30に送信されるログイン済情報である。代理人は本人に代わって領収書の電子データを管理サーバ40に登録できる。
また、記憶部49には通貨設定記憶部491が構築されている。表2を用いて通貨設定記憶部491について説明する。
表2は通貨設定記憶部491に記憶されている情報を模式的に示す。通貨設定記憶部491はユーザが通貨選択するか否かの通貨選択情報を記憶している。通貨設定記憶部491には例えば、複合機9ごとに、通貨選択するかしないかが設定されている。通貨選択情報とは、複合機9においてユーザが複数の通貨から使用する通貨を選択することを可能とするか否かの設定である。換言すると複合機9が複数の通貨単位を扱うか否かが設定される。例えば管理者が、従業員が精算する領収書に複数の通貨単位が含まれ得るか否かを考慮して決定する。従業員が国内で発行された領収書しか精算しない場合、通貨選択情報は「使用しない」でよいが、従業員が海外で発行された領収書も精算する場合、通貨選択情報は「使用する」と設定する。この設定は、情報登録システム100の管理者が行うことが想定されるが、何らかの権限を有するものが設定できてよい。
(登録サーバの機能)
複合機通信部43は、複合機9と各種の情報を通信する。本実施形態では、少なくとも1つ以上の領収書のイメージを含む画像データを受信し、文字認識結果を含む電子データを複合機9に送信する。
抽出部42は、複数の領収書を含む画像データから各領収書のイメージを抽出する(トリミングする)。認識処理部41は、各イメージに文字認識処理を施しテキストデータに変換する。このテキストデータには、少なくとも日付と金額が含まれる。
設定管理部38は、管理者端末70から通貨設定記憶部491への通貨選択の設定を受け付けると共、複合機9からの問い合わせに対し、通貨設定記憶部491から通貨選択情報を取得して複合機9に送信する。
イメージ作成部45は、各イメージのサムネイルを作成する。サムネイルはイメージが縮小又は拡大された画像である。用語検出部46は、文字認識処理で得られたテキストデータから金額や日付などの決まった用語を検出する。
通貨判断部37は、イメージから取得されたテキストデータ(領収書)ごとに、金額の通貨単位を判断する。後述するように、本実施形態では、金額が文字区切り記号を有するか否かにより日本円かドル(例えばUSドル)かを判断する。
サーバ制御部44は、登録サーバ30の全体的な動作を制御する。例えば、複合機9からの要求に対し登録サーバ30が有する機能を呼び出したり、情報を管理サーバ40に送信したりする。
管理サーバ通信部47は、管理サーバ40が公開するWebAPI(Web Application Programming Interface)を介して各種の情報を通信する。WebAPIとは、2つの機器がネットワークを介して処理を行う際の取り決め(処理の依頼方法やデータの指定方法など)をいう。
<<管理サーバ>>
管理サーバ40は、ユーザ認識部51、登録サーバ通信部52、全体制御部53、情報登録部54、及び、サーバ部55を有している。管理サーバ40が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
また、管理サーバ40は記憶部59を有している。記憶部59は、図4のHDD307、ROM302又はRAM303により実現される各種の情報を記憶する記憶手段である。記憶部59には顧客情報DB5901、電子データDB5902及び代理人DB5903が構築されている。
表3は、顧客情報DB5901に登録されている情報の一例をテーブル状に示す。顧客情報DB5901には管理者IDに対応付けて、管理者パスワード、ユーザID、パスワード、表示名、及び支出タイプが登録されている。管理者IDは管理者を特定する情報であり例えば管理者のメールアドレスである。管理者IDと管理者パスワードは管理者が管理サーバ40にログインするための認証情報となる。ユーザIDはこの管理者の管理下にあるユーザUを示す。管理下にあるとは、管理者の権限で各ユーザUが電子データを登録できることをいう。パスワードは各ユーザUのパスワードであり、ユーザUはユーザIDとパスワードで管理サーバ40にログインすることもできる。また、表示名は、複合機9の領収書アプリ60がログインしているユーザU等を表すための名称である。支出タイプは領収書アプリ60が表示する各ユーザの支出のタイプをリスト状に有する。
また、管理者IDにトークンAが対応付けられる場合がある。上記のようにトークンAは管理者のログイン済情報なので、管理者がログインすると1年程度保持される。管理サーバ40はこのトークンAが送信されるとユーザUの使用を許可する。
表4(a)は、電子データDB5902に登録されている各領収書に関する情報の一例をテーブル状に示す。領収書に関する情報として、ユーザIDに対応付けて、レポートID、領収書ID、日付、金額及びイメージが登録されている。ユーザ(例えば従業員)が領収書を申請する際に複数の領収書をまとめた方が従業員と会社にとって便利な場合があり、レポートはこの複数の領収書の申請の単位である。関連性が高い複数の領収書は1つのレポートに対応付けられる。ユーザUは後述するようにレポート単位で領収書を登録できる。日付と金額は文字認識処理により認識された結果であり、イメージは各領収書の画像データである。1つの領収書には管理サーバ40が管理するための領収書IDが付されているが、ユーザUが意識する必要はない。
表4(b)は、電子データDB5902に登録されている各レポートに関するレポート情報の一例をテーブル状に示す。レポート情報として、レポートIDに対応付けて、レポート名、レポート作成日、合計金額、及びステータスが登録されている。レポート名は、ユーザUが付与したレポートの名称である。レポート作成日は、ユーザUが新たなレポートを作成した年月日である。合計金額は、レポート内の各領収書の金額の合計である。ステータスは、申請が終わっていない「未提出」、申請が終わった「申請済」、会社に許可された「申請許可」、会社に拒否された「差戻し」などがある。
表5は、代理人DB5903に登録されている情報の一例をテーブル状に示す。代理人DB5903には本人と代理人が対応付けて登録されている。本人とはユーザ本人であり、代理人とは本人を代理するユーザUである。例えば、本人が社長、代理人が秘書の関係にあり、秘書が社長の代わりに領収書を登録するような使い方が可能になる。あるいは、本人が営業担当者、代理人が庶務の関係にあり、庶務が営業担当者の代わりに領収書を登録するような使い方が可能になる。
なお、一人のユーザUは複数のユーザUを代理人に指定でき、一人のユーザUは複数のユーザUから代理人に指名されうる。なお、本実施形態では代理人が複合機9を使用するケースの説明は省略されている。
(管理サーバ)
登録サーバ通信部52は、登録サーバ30と各種の情報を通信する。本実施形態では、レポートの作成に関する情報を送信する。
ユーザ認識部51は、ユーザUを認識又は認証する。トークンAとユーザIDが送信された場合はトークンAにより管理者によるログインであると判断し、更に、ユーザIDが顧客情報DB5901に登録されている場合に、ユーザUの使用を許可する。ユーザIDとパスワードが送信された場合はユーザIDとパスワードが顧客情報DB5901に登録されている場合に、ユーザUの認証が成立したものとして使用を許可する。
全体制御部53は、管理サーバ40の動作の全体を制御する。例えば、登録サーバ30又はユーザ端末からの情報に基づいて、管理サーバの機能を呼び出したり、記憶部59の情報を取得したりする。
情報登録部54は、複合機9から登録サーバ30を介して送信されたイメージを含まない電子データと、登録サーバ30が保持しているイメージを電子データDB5902に登録する。
サーバ部55は、Webサーバとして動作し、また、Webアプリを提供する。すなわち、ユーザ端末50からの要求に対し、HTML、スクリプト言語及びCSSなどで記述された画面情報を送信する。
<<ユーザ端末>>
ユーザ端末50は、サーバ通信部61、操作受付部62、及び、表示制御部63を有している。ユーザ端末50が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラム及びサーバ部55から送信された画面情報に従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
サーバ通信部61は、例えばHTTP,HTTPsなどの通信プロトコルで管理サーバ40と通信して、ユーザ端末50が表示する画面情報(HTML等)を受信し、また、ユーザの操作内容や入力事項を管理サーバに送信する。
操作受付部62は、ユーザ端末50に対するユーザUの各種の操作を受け付ける。例えば、レポートに関する操作を受け付ける。表示制御部63は、管理サーバ40から送信された画面情報を解析して表示装置306に画面を表示する。
<<管理者端末70>>
管理者端末70は、通信部71、操作受付部72、及び、表示制御部73を有している。管理者端末70が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラム及びサーバ部55から送信された画面情報に従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
通信部71は、例えばHTTP,HTTPsなどの通信プロトコルで登録サーバ30と通信して、管理者端末70が表示する画面情報(HTML等)を受信し、また、管理者の操作内容や入力事項を登録サーバ30に送信する。
操作受付部72は、管理者端末70に対する管理者の各種の操作を受け付ける。例えば、通貨選択に関する操作を受け付ける。表示制御部63は、登録サーバ30から送信された画面情報を解析して表示装置306に画面を表示する。
<通貨選択情報の設定>
まず、図6を用いて、本実施形態の処理において前提となる通貨選択情報の設定方法を説明する。図6は、管理者が通貨選択情報を設定する手順を示すシーケンス図の一例である。
S101:まず、管理者が管理者端末70に対し登録サーバ30にログインするための操作を行う。この管理者は管理サーバ40における管理者であってもよいし、単に複合機9を管理する機器管理者でもよい。本実施形態では説明の便宜上、単に管理者と称する。管理者端末70の操作受付部72は操作を受け付け、通信部71が管理者IDとパスワードを含む管理者ログイン要求を登録サーバ30に送信する。
S102:登録サーバ30の設定管理部38は管理者ログイン要求を取得して、公知の方法で認証を行う。図6の説明では認証が成立したものとする。
S103:登録サーバ30の設定管理部38は通貨選択設定の画面情報を管理者端末70に送信する。
S104:管理者端末70の通信部71は通貨選択設定の画面情報を受信し、表示制御部73が通貨選択設定画面501を表示装置306に表示する。通貨選択設定画面501の一例を図7に示す。また、管理者が通貨選択を設定すると操作受付部72が設定を受け付ける。
S105:管理者端末70の通信部71は通貨選択情報(使用するor使用しない)を登録サーバ30に送信する。このとき、複合機9の識別情報を送信することで、複合機9ごとに通貨選択情報を設定できる。あるいは、複合機9の識別情報を送信せず、複数の複合機9に対し共通の通貨選択情報を送信すれば、一度に、複数の複合機9に対し通貨選択情報を設定できる。
S106:登録サーバ30の設定管理部38は通貨選択情報を受信し、通貨設定記憶部491に通貨選択情報を登録する。このように、登録サーバ30にはユーザが通貨選択するか否かが設定される。
図7は、管理者端末70の表示装置306に表示される通貨選択設定画面501の一例を示す。通貨選択設定画面501は、メニュー表示設定欄502、レポート画面表示設定欄503、経費画面表示設定欄504、及び、初期値設定欄505を有する。
メニュー表示設定欄502は、後述するメニュー画面に関するボタン表示の設定が行われる欄である。「レポートと経費を送る」ボタンを表示するか否かのチェックボックス502a、「レポートに経費を追加する」ボタンを表示するか否かのチェックボックス502b、及び、「経費を送る」ボタンを表示するか否かのチェックボックス502cがある。なお、3つのチェックボックスは同時に空にならない。
レポート画面表示設定欄503は、後述する新規レポート作成画面で、どの項目を表示するかを管理者が設定するための欄である。図7では一例として、「ReportName(レポート名)」「ReportDate(日付)」「BusinessPurpose(目的)」「Comment(コメント)」「Policy(ポリシー)」を表示するか否かチェックボックス503aがある。また、各項目に対応付けて、表示名(どのような名称で項目を表示するか)が設定可能である。
経費画面表示設定欄504は領収書アプリ60が後述する結果表示画面を表示する際に、通貨単位を表示するかどうかを設定するための欄である。すなわち、複数の通貨単位に対応した処理を行うか否かを設定するための欄である。チェックボックス504aがチェックされると通貨単位が表示され、複合機9が複数の通貨単位に対応できる。
初期値設定欄505は、領収書アプリ60が結果表示画面等を表示する際の各種の初期値を設定するための欄である。Policy初期値欄505aは、ユーザがレポート作成に利用するポリシーの初期値を設定する欄である。ポリシーとはユーザUの領収書の登録に関する規則である。ExpenseType初期値欄505bは、ユーザが結果表示画面で経費を入力する際のExpenseType(支出タイプ)の初期値を設定するための欄である。PaymentType初期値欄はユーザが結果表示画面で経費を入力する際のPaymentType(支払い方法:現金、クレジットカード)の初期値を設定するための欄である。なお、顧客情報DB5901に同じ情報が登録されている場合、初期値設定欄505よりも顧客情報DB5901の情報の方が有効になる。
図7の通貨選択設定画面501で設定された設定情報は通貨選択情報と共に記憶部49に記憶され、複合機9により取得される。
<認証の動作手順>
ユーザUが領収書の精算の作業を行うために複合機9にログインする手順を説明する。
図8は、管理サーバ40がユーザUを認証する手順を示すシーケンス図の一例である。
S1:ユーザUはICカードを複合機9にかざす。この時点では、複合機9はロック画面401を表示しており、ユーザUは認証などの複合機9の一部の機能しか利用できない。図9(a)にロック画面401の一例を示す。
S2:認証処理部32はICカード情報を取得しユーザ情報DB3901と照合することで認証できたか否かを判断する。ここでは認証できたものとして説明する。ユーザUが複合機9にログインすることで操作パネルには図9(b)のホーム画面411が表示される。
S3:認証処理部32は認証したユーザUのユーザIDをユーザ情報DB3901から取得する。
S4:ユーザUはホーム画面411の領収書アプリ60を押下する。操作受付部34は領収書アプリ60の押下を受け付け、領収書アプリ60が起動を開始する。
S5:複合機制御部35は現在の認証モード(ロック中、ログイン中)を認証処理部32から取得する。
S6:ユーザUはすでにログイン中なので、複合機制御部35はログインしているユーザUのユーザIDを認証処理部32から取得する。
S6−2:例えば、このタイミングで、図9(c)の起動画面421が表示される。
S7:複合機制御部35はログイン要求として複合機9にログインしているユーザUのユーザIDを送信する。複合機9が登録サーバ30と通信する際、正確には、複合機制御部35は本体10の送受信部31を利用して通信するが、簡略化のためこの手順は省略されている。以下の通信でも同様である。
S7−2:複合機制御部35は記憶部49に記憶された設定情報を登録サーバ30に要求する。この設定情報に通貨選択情報が含まれる。
S7−3:登録サーバ30のサーバ制御部44は設定管理部38を介して通貨選択情報を含む設定情報を読み出し、複合機通信部43を介して複合機9に送信する。これにより、複合機制御部35は通貨選択情報を取得できる。
S8:登録サーバ30の複合機通信部43はユーザIDと共にログイン要求を受信しサーバ制御部44に送出する。サーバ制御部44はログイン要求であると判断すると、ユーザID及びトークンAと共に管理サーバ40に表示名の取得を要求する。管理サーバ40の登録サーバ通信部52は表示名の要求を受信し、全体制御部53がユーザID及びトークンAを取得する。全体制御部53はトークンAによりユーザUの利用を許可し、ユーザIDに対応付けられている表示名を顧客情報DB5901から読み出す。管理サーバ40の登録サーバ通信部52は表示名を登録サーバ30に送信する。
S9:一方、ユーザUが起動画面421で「経費精算をはじめる」ボタン422を押下すると、操作受付部34が操作を受け付け、領収書アプリ60の表示制御部36は図10(b)のメニュー画面441を操作パネル27に表示する。このメニュー画面441の表示に図7のメニュー表示設定欄502の設定が使用される。
S10:登録サーバ30の管理サーバ通信部47は表示名を受信しサーバ制御部44に送出する。表示名を受信できた場合、ユーザIDが管理サーバ40に登録されていたことになるので、このユーザUが管理サーバ40を使用できると判断し、サーバ制御部44はセッションを特定するためのセッションID1を生成し、トークンAにセッションID1とユーザIDを対応付ける。また、複合機通信部43はセッションID1と表示名を領収書アプリ60に送信する。領収書アプリ60の表示制御部36は、ユーザUが押下したボタンに対応した画面の項目に表示名等を配置してメニュー画面441を表示する。
S11:また、表示名を受信できると、登録サーバ30のサーバ制御部44は支出タイプリストを管理サーバ40に要求する。支出タイプは、領収書アプリ60のメニュー画面で表示される。管理サーバ40の登録サーバ通信部52は、支出タイプとして使用されるテキスト(例えば、交通費、食費等)を登録サーバ30に送信する。
S12:登録サーバ30のサーバ制御部44は図7で設定された支出タイプの初期値を取得しておく。
このようにユーザUがICカードでログインすると、登録サーバ30がトークンAで管理サーバ40と通信するので、ユーザUは1回の認証操作で管理サーバ40に領収書を登録できるようになる。
<画面例>
図9(a)はロック画面401の一例を示し、図9(b)はホーム画面411の一例を示し、図9(c)は起動画面421の一例を示す。ロック画面401には、ICカードをかざす旨のメッセージ402とアイコン403が表示され、ユーザUはロック画面401を解除するためにICカードをかざせばよいことがわかる。ホーム画面411には領収書アプリ60を表すアイコン412が表示される。複数のアプリが表示されることが多いが、図9(b)では省略されている。
起動画面421には「経費精算をはじめる」ボタン422と「管理者設定」ボタン423が表示される。「経費精算をはじめる」ボタン422はメニュー画面441を表示させるためのボタンであり、管理者設定ボタン423は管理者がネットワーク設定や管理者のパスワードを設定する画面が表示されるボタンである。
ここで、図8のステップS8でユーザIDに対応付けられている表示名が見つからない場合、管理サーバ40から登録サーバ30を介してユーザIDが見つからない旨が領収書アプリ60に送信される。この場合、領収書アプリ60は図10(a)のログイン画面431を表示する。ログイン画面431はログインID欄432とパスワード欄433を有する。管理サーバ40に管理者ID(トークンA)に対応付けられたユーザIDがなくても、このユーザUが別のユーザIDとパスワードの組を管理サーバ40に登録している可能性がある。この場合、ユーザUは、ICカードで複合機9にログインした後、自分のユーザIDとパスワードを入力するという2回目の認証操作を行うことで、管理サーバ40にログインできる。
図10(b)はメニュー画面441の一例を示す。メニュー画面441には、「レポートと経費を送る」ボタン442、「レポートに経費を追加する」ボタン443、「経費を送る」ボタン444、の3つのボタンがある。「レポートと経費を送る」ボタン442は、ユーザUが新規にレポートを作成し、更に領収書を登録する(スキャンする)ためのボタンである。「レポートに経費を追加する」ボタン443は、作成済みのレポートに領収書を追加するためのボタンである。「経費を送る」ボタン444は、レポートと対応付けずに領収書だけを登録するボタンである。
また、メニュー画面441は表示名欄445を有している。表示名欄445には管理サーバ40から取得されたユーザUの表示名が表示される。すなわち、複合機9にログインしているユーザUの表示名が表示される。
<「レポートと経費を送る」ボタンが押下された場合の動作>
図11、図12は、複合機9が領収書の電子データを管理サーバ40に登録する手順を示すシーケンス図の一例である。
S13:ユーザUはメニュー画面441の3つのボタンから「レポートと経費を送る」ボタン442を押下し、操作受付部34がこのボタンの押下を受け付ける。
S14:領収書アプリ60の複合機制御部35は支出タイプのリストを登録サーバ30に要求するので、登録サーバ30から支出タイプのリストと初期値を取得する。これにより、領収書アプリ60の表示制御部36は新規レポート作成画面451を表示する。図13(a)に新規レポート作成画面451の一例を示す。新規レポート作成画面451に図7のレポート画面表示設定欄503の設定が反映される。
S15:ユーザUは必要事項を入力して画面を遷移させると、表示制御部36がスキャン画面461を表示させる。図13(b)にスキャン画面461の一例を示す。
S16:ユーザUが複数の領収書をコンタクトガラス(読取対象である領収書を物理的に配置する配置領域であり、スキャナ装置が読取を行う読取領域)に配置しスキャンボタンを押下し、操作受付部34が操作を受け付けると、領収書アプリ60の複合機制御部35は本体の読取部33にスキャン実行を要求する。複合機制御部35は複数の領収書を含む画像データを取得する。なお、ユーザUがスキャンボタンを押下すると、表示制御部36はスキャン中画面471を表示する。図14(a)はスキャン中画面471の一例を示す。
S17:複合機制御部35はセッションID1及び画像データと共に画像処理要求を登録サーバ30に送信する。
S18:登録サーバ30の複合機通信部43はセッションID1及び画像データと共に画像処理要求を受信し、サーバ制御部44に送出する。サーバ制御部44は画像処理要求に対し各領収書を抽出すると判断する。抽出部42は、1つの画像データから各領収書を抽出する。抽出については図15,図16で説明する。
S19:抽出が終わると、サーバ制御部44は画像IDと全領収書数を領収書アプリ60に送信する。画像IDは複数の領収書を含む画像データを識別する情報である。複合機9の送受信部31は画像IDと全領収書数を受信する。
S20:次に、サーバ制御部44は、各領収書のイメージに対する文字認識処理を認識処理部41に行わせる。また、サーバ制御部44はイメージ作成部45にイメージのサムネイル画像を生成させる。
S20−2:また、サーバ制御部44は文字認識処理で得られた金額の通貨単位の判断を通貨判断部37に要求する。通貨判断部37は、金額が文字区切り記号を含むか否かに応じて通貨単位(例えば、日本円とドル)を判断する。なお、通貨選択情報を参照して通貨選択を「使用する」と設定されている場合にだけ、通貨単位を決定してもよい。
S21:領収書アプリ60は画像IDを指定して、各領収書のイメージを登録サーバ30に要求する。複合機9からイメージを要求するので、登録サーバ30がファイアウォール越しにイメージを送信できる。電子データには、金額、日付、通貨単位、及びイメージ(サムネイル画像)、及び、金額と日付の位置(イメージ内のどこに金額と日付が記載されていたか)が含まれる。領収書アプリ60の表示制御部36は、電子データを受信すると結果表示画面481を表示する。図14(b)は結果表示画面481の一例を示す。
S22,S23,S26:登録サーバ30のサーバ制御部44は、全てのイメージに対し順番に、文字認識処理とサムネイル画像の作成を行う。順番に行うのでなく、複数の領収書に対する処理のスレッドを並列に実行してもよい。
S22−2,S23−2,S26−2:登録サーバ30の通貨判断部37は、全てのイメージに対し順番に、通貨単位を判断する。すなわち、1つの画像データに異なる通貨単位の領収書が混在していても領収書ごとに通貨単位を判断できる。
S24:領収書アプリ60の複合機制御部35は、全領収書数の電子データを取得するまで、画像IDを指定して、順次、各領収書の電子データを登録サーバ30に要求する。領収書アプリ60の表示制御部36は、新たな電子データを受信すると結果表示画面481を更新する。
S25、S27:ユーザUは、結果表示画面481で送りボタン484を押下することで、各電子データを切り替えて表示させることができる。領収書アプリ60の複合機制御部35は受信した電子データの数をカウントし、全領収書数の電子データを取得すると、後述する送信ボタンの押下を可能にする。これにより、ユーザUは登録サーバ30に領収書の電子データ(電子データの受信が完了した旨)を送信することができるようになる。つまり、電子データの受信が完了した旨を登録サーバ30に送信することが可能になる。
S28:ユーザUが結果表示画面481で送信ボタン485を押下する。
S29:操作受付部34が操作を受け付け、複合機制御部35はレポート情報、画像ID及びセッションID1と共に各領収書の電子データを登録サーバ30に送信する。レポート情報は、新規レポート作成画面451で入力された情報であり、例えば、レポート名称、日付(領収書の日付でなくレポートの作成日)、目的、コメント等である。また、各電子データは、利用する/しない、支出タイプ、日付、金額、及び、通貨単位である。各領収書のイメージは含まれない。画像IDにより特定できるためである。これにより、通信時間を短縮できる。利用する/しないは、領収書の電子データを登録するか否か(ユーザUが選択する)を意味する。
S30:登録サーバ30の複合機通信部43は、レポート情報、画像ID及びセッションID1と共に各領収書の電子データ(サムネイル画像を含まない)を受信する。サーバ制御部44は、セッションID1で特定したユーザIDとトークンAと共にレポートの新規作成を管理サーバ40に対し要求する。管理サーバ40には、レポート名称、日付、目的、コメントが送信される。
S31:レポートを作成できると、登録サーバ30のサーバ制御部44は管理サーバ通信部47を介して、画像IDで各領収書のイメージを特定し、「利用する」となっている電子データについて、支出タイプ、日付、及び、金額と共に経費の作成要求を管理サーバ40に送信する。この場合もユーザIDとトークンAが添付される。
S32:次に、登録サーバ30のサーバ制御部44は管理サーバ通信部47を介して、経費の作成要求を送信した領収書のイメージを管理サーバ40に送信する。つまり、ステップS31の電子データとステップS32のイメージは対になる。また、このイメージはサムネイルでなく、抽出部42が抽出したオリジナルのイメージである。こうすることで、管理サーバ40では画質の劣化の少ない領収書のイメージを保存できる。登録サーバ30のサーバ制御部44はステップS31とS32を全領収書数だけ繰り返す。
S33:全領収書数の電子データの登録の完了が通知されると、領収書アプリ60の複合機制御部35はセッションID1を含め、画像IDを指定して画像データの破棄を登録サーバ30に要求する。
S34:登録サーバ30の複合機通信部43はセッションID1,画像ID、及び破棄要求を受信し、サーバ制御部44が画像IDで指定される画像データと全てのイメージ(サムネイルを含む)を破棄する。
S35:ユーザUがログアウトする。
S36:本体の認証処理部32はログアウトを受け付け、セッションID1と共にログアウト要求を登録サーバ30に要求する。
S37:登録サーバ30のサーバ制御部44はセッションID1とユーザIDを削除する。これにより、登録サーバ30はトークンAを保持したままであるが(管理サーバ40と通信できる)、ユーザUが複合機9を操作しても登録サーバ30と通信できなくなる。
<画面例>
図13(a)は新規レポート作成画面451の一例を示し、図13(b)はスキャン画面461の一例を示す。新規レポート作成画面451は、レポート名欄452、日付欄453、目的欄454、コメント欄455、及び、ポリシー欄456を有する。ユーザUは最低限、レポート名欄452にレポート名を入力すればよい。また、日付欄453の日付はレポートの作成日である。
スキャン画面461は、領収書をコンタクトガラスに配置させるアイコン462、領収書をコンタクトガラスに配置させるメッセージ463、及びスキャンボタン464を有する。ユーザUは領収書をコンタクトガラス面に並べてスキャンボタン464を押下するが、複合機9のカバーを閉めない。これにより、画像データのうち領収書がない部分は黒画素になるため、抽出部42が各領収書を抽出しやすくなる。
図14(a)はスキャン中画面471の一例を示し、図14(b)は結果表示画面481の一例を示す。スキャン中画面471は、スキャン中であることを意味するアイコン472と、スキャン中であることを意味するメッセージ473を有する。
結果表示画面481はタイプ欄487、日付欄488、金額欄489、イメージ欄490、送りボタン484、戻しボタン483、削除ボタン482、送信ボタン485、及び進捗情報486を有する。タイプ欄487には、支出タイプのリストが表示され、ユーザUが操作しなければその初期値が表示される。日付欄488と金額欄489には文字認識の結果である日付と金額が表示される。図14(b)の金額欄489は通貨単位マーク489aが表示されている。これは、通貨選択情報が「使用する」に設定されているためである。金額欄489の表示制御については後述する。
イメージ欄490はイメージの表示欄でありイメージ欄490には領収書のイメージ(サムネイル画像)が表示される。送りボタン484は、複数の領収書のうち登録サーバ30が1つ後に文字認識処理とサムネイル画像の生成が終わった領収書の電子データを表示させるためのボタンである。戻しボタン483は、複数の領収書のうち登録サーバ30が1つ前に文字認識処理とサムネイル画像の生成が終わった領収書の電子データを表示させるためのボタンである。削除ボタン482は、ユーザUが電子データを削除するためのボタンである。この電子データは「利用しない」と判断され、登録サーバ30に通知される。
送信ボタン485は、ユーザUが全領収書数の電子データを登録サーバ30に送信する指示を複合機9が受け付けるためのボタンである。送信ボタン485は、領収書アプリ60が全領収書数の電子データを登録サーバ30から受信するまで表示されても輝度が下がった状態(又は半透明の状態)で表示されるか、又は、表示されない。輝度が下がった状態は押下できない態様を表し、ユーザUが送信ボタン485を押下しても操作受付部34は送信ボタン485の押下を受け付けない。複合機制御部35は全領収書数の電子データを受信したと判断すると、輝度が通常の状態の押下できる態様で表示制御部36が送信ボタン485を表示する。
進捗情報486は、全領収書数のうち何件の電子データを領収書アプリ60が受信したかを示す。表示制御部36は「N件中M件」のメッセージのNに全領収書数を設定し、Mに現時点で登録サーバ30から受信した電子データの数を設定する。このM件は、領収書アプリ60が登録サーバ30から電子データを受信するごとに順次、更新される。待ち時間中にどの程度の進行具合かをユーザUが把握することができ複合機9はユーザUに安心感を与えることができる。
ユーザが日付欄488又は金額欄489を押下すると日付欄488が選択されたことを操作受付部34が受け付け、表示制御部36が0〜9のソフトキー(テンキー)を操作パネル27に表示する。また、表示制御部36はイメージに添付されたメタデータから日付の位置を取得して、イメージの日付の位置をイメージ欄490の中央に合わせてイメージを配置する。これにより、ユーザが日付を編集する場合、自動的にイメージの日付が中央に表示され、ユーザが確認しやすくなる。金額欄489が選択された場合も同様である。
また、表示制御部36は日付又は金額を表示する際、イメージを拡大してイメージ欄490の中央に表示してもよい。操作パネル27が小さい場合にユーザが日付又は金額を確認しやすくなる。
<画像データから各領収書の抽出>
次に、図15、図16を用いて画像データから各領収書の抽出について説明する。図15は複数の領収書7を含む画像データの一例を、図16は抽出部42が領収書を検出する手順を示すフローチャート図の一例である。
図15(a)に示すように、ユーザUがコンタクトガラスに置く領収書7の向きはばらばらでよい。また、領収書7ごとに通貨単位が判断されるため、日本円の領収書とドルの領収書が混在した状態で読み取られてよい。
連続した黒画素の中に複数の領収書があるため、抽出部42は連続した黒画素以外の部分を取り出せばよい。まず、抽出部42は画像データを所定の閾値で二値化する(S10)。連続した黒画素とそれ以外を区分できればよいので、閾値は黒画素(画素値が0)に近い値が好ましい。
次に、抽出部42は輪郭を取得する(S20)。輪郭の取得には縦横のエッジ検出を行う方法が知られている。エッジ検出により、領収書と黒画素との境界や文字が検出される。
次に、抽出部42は輪郭を直線近似する(S30)。直線の検出方法にはいくつかあるがハフ変換など公知方法を使用する。
次に、抽出部42は直線で囲まれる一定以上の面積の領域を取得する(S40)。まず、一定の長さ以上の直線を検出することで、連続した黒画素と領収書の境界の直線を絞り込む。次に、交差する直線を辿っていき、元の直線に戻れば辿った複数の直線がある領域を囲むことが分かる。また、一定以上の面積とすることで、領収書内の文字や記号などが検出されることが抑制される。ステップS40の閾値は領収書の最低の大きさを考慮して決定される。
そして、抽出部42は一定面積の内側を抽出する(S50)。こうすることで、画像データから各領収書を抽出できる。
図15(b)に示すように、抽出部42は各領収書のイメージに例えば左上から順番に番号を振る。最大の番号(図では7)が全領収書数である。番号はどのような順番で振ってもよく、右上、右下、左下、真ん中などから順番に番号が振られてもよいし、不作為(ランダム)に振られてもよい。また、面積の順(画素数の大きい順、又は、小さい順)に番号が振られてもよい。また、エッジ数の少ない順に振られてもよい。面積が小さい又はエッジ数が少ない場合、文字認識処理が短時間で完了することが期待され、ユーザUの待ち時間を短縮できる。
なお、文字認識処理については一般的な方法を使用するものとする。例えば、認識処理部41は斜め補正、天地判定等を行い、文字認識を行う。
<金額欄の表示例>
図17〜図19を用いて、金額欄の表示例を説明する。図17(a)は、通貨選択情報が「使用しない」に設定されている場合の金額欄489の一例を示す。通貨選択情報が「使用しない」に設定されている場合、金額欄489には通貨単位マークが表示されない。通貨選択情報が「使用しない」に設定されている場合、ユーザは単一の通貨しか使用しないので通貨単位マークが不要だからである。ただし、通貨選択情報が「使用しない」に設定されている場合でも通貨単位マークを表示してもよい。
なお、後述するように、登録サーバ30が認識した金額には日本円の「カンマ」は含まれない。図17(a)の金額欄489の「1,000」のカンマは複合機9が付けたものである。
図17(b)は、通貨選択情報が「使用する」に設定されている場合の金額欄489の一例を示す。通貨選択情報が「使用する」に設定されている場合、金額欄489には通貨単位マーク489aが表示される。例えば、どの通貨単位の通貨単位マーク489aが表示されるかは、登録サーバ30から送信される通貨単位により決定される。通貨単位が「日本円」の場合、「¥」が通貨単位マーク489aであり、通貨単位が「USドル」の場合、「$」が通貨単位マーク489aである。
通貨単位マーク489aはプルダウンボタン489bを有している。プルダウンボタン489bは、ユーザが通貨単位マーク489aを切り替えるためのボタンである。通貨単位マーク489aの切り替えを、通貨単位の切り替えと称してよい。ユーザは領収書のサムネイル画像を参考にして、領収書の通貨単位を判断できるので、登録サーバ30による通貨単位の判断が誤っている場合、ユーザはプルダウンボタン489bを押下して、正しい通貨単位を設定する。図17(b)では英語のレシートのサムネイル画像が表示されているので、「¥」の通貨単位マーク489aは誤っていると判断できる。
図18(a)はプルダウンボタン489bが押下された際に表示されるプルダウンメニュー520の一例を示す。図18(a)では結果表示画面481に重なってプルダウンメニュー520が表示されている。結果表示画面481はグレーアウトされ、ユーザが操作することができない。プルダウンメニュー520には、「JPY−日本、円」というメッセージに対応付けられたラジオボタン521、「USD−米国、ドル」というメッセージに対応付けられたラジオボタン522、が表示される。ユーザはラジオボタン521又は522を選択することで、正しい通貨単位を選択できる。複合機9の操作受付部34がラジオボタン521,522の選択を受け付け、表示制御部36が再度、結果表示画面481を表示する。この時、表示制御部36はユーザが選択した通貨単位に基づいて通貨単位マーク489aを金額欄489に表示する。
図18(b)は通貨単位マーク489aの変更後の結果表示画面481の一例を示す。図17(b)と比較すると明らかなように、通貨単位マーク489aの「¥」が「$」に変更されている。また、金額が「0.00」にクリアされている。通貨単位が誤っていた場合、金額も誤っている可能性が高いので、自動で金額をクリアすることでユーザが「0.00」にクリアする手間を削減できる。
なお、図18では通貨単位マーク489aの「¥」が「$」に変更された場合を示したが、通貨単位マーク489aの「$」が「¥」に変更された場合、金額は「0」にクリアされる。すなわち、通貨単位マーク489aが「$」の場合、ピリオドが有効になり、通貨単位マーク489aが「¥」の場合、ピリオドが無効になる。こうすることで、通貨単位マーク489aが「$」の場合にユーザがピリオドを入力する手間を低減でき、通貨単位マーク489aが「¥」の場合にピリオドが表示されたままユーザが金額を修正することを抑制できる。
続いて、図19を用いて金額の修正について説明する。図19(a)はユーザが指で金額欄489の金額をタッチすることで表示される結果表示画面481の一例を示す。図19(a)ではソフトキーによるテンキー530が表示されている。テンキー530とは主に0〜9の数値を入力するためのキーである。テンキー530は、0〜9のキーの他、矢印キー、Cキー、#キー、及び、ピリオドキー531を有する。
なお、矢印キーは1数字の削除を意味し、Cキーは金額のクリア(円の場合は0、ドルの場合は0.00にすること)を意味する。#キーには任意の機能が割り当てられる。
複合機9の表示制御部36がテンキー530を表示する際、現在の通貨単位マーク489aに応じて、ピリオドキー531の表示態様を制御する。例えば、通貨単位マーク489aが「¥」の場合、数値の表現にピリオドは使われないので、表示制御部36はピリオドキー531を低輝度で表示するか、又は、ピリオドキー531を表示しない。ピリオドキー531が低輝度で表示された場合、操作受付部34はピリオドキー531が押下されても押下を受け付けない。こうすることで、通貨単位マーク489aが「¥」の場合、ユーザが誤ってピリオドキー531を入力することを防止できる。図19(a)では通貨単位マーク489aが「¥」なので、ピリオドキー531が低輝度で表示されている。
なお、ユーザがいずれかのキーを押下すると(ピリオドキー531を除く)、表示制御部は金額を0にクリアする。これにより、ユーザが誤っている金額を消去する手間を省くことができる。
図19(b)は通貨単位マーク489aが「$」の場合のテンキー530の一例を示す。図19(b)では通貨単位マーク489aが「$」なので、ピリオドキー531が0〜9の数値と同じ輝度で表示されている。これにより、ユーザはピリオドキー531を入力できることを容易に把握できる。また、ピリオドキー531が通常の輝度で表示された場合、操作受付部34はピリオドキー531が押下されると押下を受け付ける。
<動作手順>
続いて、図20、図21を用いて、主に金額欄489の表示制御の手順について説明する。
図20(a)は登録サーバ30の通貨判断部37が通貨単位を判断する手順を示すフローチャート図の一例である。図20(a)の処理は、領収書ごとに文字認識が終わったタイミングでスタートする。
通貨判断部37は金額に文字区切り記号があるか否かを判断する(S201)。これは、日本円には文字区切り記号は存在しないはずなので、文字区切り記号が含まれる場合はドルと判断してよいためである。文字区切り記号について図22で説明する。
ステップS201の判断がYesの場合、表示制御部36は通貨単位をドルと判断する(S202)。
ステップS201の判断がNoの場合、表示制御部36は通貨単位を日本円と判断する(S203)。
このように、文字区切り記号の有無に応じて通貨単位を判断できる。なお、図20(a)の処理は、通貨選択情報が「使用する」に設定されている場合にだけ行ってもよい。
図20(b)は、複合機9の表示制御部36が結果表示画面481を表示する際の処理の手順を示すフローチャート図の一例である。
まず、表示制御部36は結果表示画面481を表示する際、登録サーバ30から取得した通貨選択情報が「使用する」に設定されているか否かを判断する(S211)。
通貨選択情報が「使用する」に設定されていない場合(S211のNo)、表示制御部36は通貨単位マーク489aを表示しない(S212)。
次に、表示制御部36は文字区切り記号があるか否かを判断する(S213)。これは、母国通貨である日本円には文字区切り記号は存在しないはずなので、文字区切り記号が含まれる場合は誤認識された可能性が高いためである。ただし、母国通貨が「¥」でない場合、例えばドルの場合は、文字区切り記号が存在することが正しいと判断される。
そこで、ステップS213の判断がYesの場合、表示制御部36は金額を0にクリアする(S215)。日本円の単位としてピリオドは使用されないので、ピリオドを使わずに0と表示する。
ステップS213の判断がNoの場合、表示制御部36は、文字認識結果がエラーか否かを判断する(S214)。例えば、文字認識結果の確度が閾値未満の場合、認識処理部41は金額にエラーを表す値を設定するので、金額がエラーか否かを判断する。
ステップS214の判断がYesの場合、表示制御部36は金額を0にクリアする(S215)。日本円の単位としてピリオドは使用されないので、ピリオドを使わずに0と表示する。
ステップS214の判断がNoの場合、表示制御部36は金額をそのまま表示する(S216)。この場合、日本円の単位としてピリオドは使用されないので、ピリオドを使わずに金額を表示する。
ステップS211で、通貨選択情報が「使用する」に設定されている場合(S211のYes)、表示制御部36は登録サーバ30から取得した通貨単位がドルか否かを判断する(S217)。
通貨単位がドルでない場合(日本円の場合)、領収書の通貨単位は日本円であるので、表示制御部36は通貨単位マーク489aとして「¥」を表示する(S218)。また、この「¥」の通貨単位マーク489aにはプルダウンボタンを表示する。この後、処理はステップS213に進むが、処理内容は上記と同じでよい。
通貨単位がドルの場合、領収書の通貨単位はドルであるので、表示制御部36は通貨単位マーク489aとして「$」を表示する(S219)。また、この「$」の通貨単位マーク489aにはプルダウンボタンを表示する。
次に、表示制御部36は、文字認識結果がエラーか否かを判断する(S220)。例えば、文字認識結果の確度が閾値未満の場合、認識処理部41は金額にエラーを設定するので、金額がエラーか否かを判断する。
ステップS220の判断がYesの場合、表示制御部36は金額を0.00にクリアする(S221)。すなわち、ドルの単位としてピリオドが使用されるので、ピリオドを使って0.00と表示する。
ステップS220の判断がNoの場合、表示制御部36は金額をそのまま表示する(S216)。この場合、ドルの単位としてすでにピリオドが使用されているので、ピリオドを使ったまま金額を表示する。
以上のようにして、伝票のサムネイル画像と共に通貨単位に適した金額を表示できる。
図21について説明する。図21(a)は通貨単位マーク489aとして「¥」を表示中の金額欄489の表示を制御するフローチャート図の一例である。なお、図21の説明では通貨選択情報が「使用する」であるものとする。
表示制御部36は金額欄489が押下されたか否かを判断する(S301)。金額欄489の押下とはユーザが編集のために金額をタッチすることをいう。
ユーザが金額欄489を押下すると(S301のYes)、操作受付部34がこの操作を受け付けて、表示制御部36はピリオドキー531が無効なテンキー530を表示する(S302)。これにより、通貨選択マークが¥の場合にユーザがピリオドキー531を選択することを防止できる。
そして、テンキー530のいずれかのキーが入力されたか否かを判断する(S303)。テンキー530のいずれかのキーが入力された場合(S303のYes)、操作受付部34がこの操作を受け付けて、表示制御部36は金額を0にクリアする(S304)。これにより、金額の変更のためにユーザが金額をクリアする手間をなくすことができる。
次に、ユーザが通貨単位マーク489aを「$」に変更したか否かを判断する(S305)。ユーザが通貨単位マーク489aを「$」に変更した場合、操作受付部34がこの操作を受け付けて、表示制御部36が金額を0.00にクリアする(S306)。これにより、通貨単位が誤っている場合に、金額の変更のためにユーザが金額をクリアする手間をなくすことができる。また、ピリオドを自動的に表示できるので、ピリオドを入力する手間を低減できる。
図21(b)は通貨単位マーク489aとして「$」を表示中の金額欄489の表示を制御するフローチャート図の一例である。
表示制御部は金額欄489が押下されたか否かを判断する(S401)。金額欄489の押下とはユーザが編集のために金額をタッチすることをいう。
ユーザが金額欄489を押下すると(S401のYes)、操作受付部34がこの操作を受け付けて、表示制御部36はピリオドキー531が有効なテンキー530を表示する(S402)。これにより、通貨選択マークが「$」の場合にユーザがピリオドキー531を選択できるようになる。
そして、テンキー530のいずれかのキーが入力されたか否かを判断する(S403)。テンキー530のいずれかのキーが入力された場合(S403のYes)、操作受付部34がこの操作を受け付けて、表示制御部36は金額を0.00にクリアする(S404)。これにより、金額の変更のためにユーザが金額をクリアする手間をなくすことができる。
次に、ユーザが通貨単位マーク489aを「¥」に変更したか否かを判断する(S405)。ユーザが通貨単位マーク489aを「¥」に変更した場合、操作受付部34がこの操作を受け付けて、表示制御部36が金額を0にクリアする(S406)。これにより、通貨単位が誤っている場合に、金額の変更のためにユーザが金額をクリアする手間をなくすことができる。また、ピリオドを自動的に無効にできるので、ユーザが誤ってピリオドを入力することを防止できる。
<文字区切り記号>
図22は、文字区切り記号を説明する図の一例である。図22の列601は領収書に記載の数値であり、列602は認識処理部41が出力する数値であり、列603は通貨判断部37の判断結果である。
図22(a)は文字区切り記号がない場合の金額を示す。日本円には文字区切り記号が含まれないので、通貨判断部37はこの金額が日本円であると判断する。複合機9には日本円という通貨単位が送信される。
図22(b)は文字区切り記号がある場合の金額を示す。ドルではセント以下を表示するため、ドルにピリオド(文字区切り記号)が含まれる。認識処理部41は文字区切り記号を含む金額を出力する。通貨判断部37は文字区切り記号によりこの金額がドルであると判断する。なお、ドルには、USドルはもちろんのこと、一般に文字区切り記号を含むドル(カナダドル、香港ドル、台湾ドル、シンガポールドル、オーストラリアドル等)を含んでよい。
また、ピリオドは、小数点、ドット又はポイントと呼ばれていてもよい。なお、ドルの表記では、0ドル0セントでも認識処理部41は「0.00」と出力する。
図22(c)を用いて、日本円に含まれるカンマについて説明する。本実施形態の認識処理部41は金額の認識時にカンマを自動で削除する。したがって、領収書の金額がカンマで区切って記載されていても、通貨判断部37が判断する金額にはカンマが含まれていないので、図22(a)と同様に判断できる。ただし、複合機9の表示制御部36は、日本円に対し3桁ごとにカンマを付す。これにより、金額が見やすくなる。
図22(d)以下では、認識処理部41が通貨単位の判断に有効な機能を追加的に有する場合を説明する。図22(d)に示すように、ドルを表す場合に、文字区切り記号としてカンマを使用する国や地域もある。この場合、認識処理部41がカンマを取ってしまうと、通貨判断部37は日本円のカンマと混同するおそれがある。そこで、まず、認識処理部41は、カンマ以下の桁数が2桁の場合はドルと判断してカンマを取らないものとする。
この場合、通貨判断部37はカンマ以下の桁数を使って、日本円かドルかを判断する。すなわち、カンマ以下の桁数が2桁の場合はドルと判断し、カンマ以下の桁数が3桁の場合は日本円と判断する。したがって、図22(c)でカンマ付きの金額が認識処理部41から出力されても円と判断でき、図22(d)ではドルと判断できる。
このように、本実施形態の登録サーバ30は、認識処理部41が適切な出力を行うことで、複数の通貨単位が使用されていても通貨単位を適切に判断できる。
また、図22(e)に示すように、USドルが3桁ごとにカンマで区切られている場合もある。認識処理部41はカンマとピリオドを含む金額を出力する。しかし、通貨判断部37は最小桁から文字区切り記号までの桁数により通貨判断部37はドルであると判断できる。
また、ユーロではピリオドとカンマの役割が逆である。図22(f)に示すように、ユーロでは3桁ごとにピリオドを付し、セント以下をカンマで区切る。通貨判断部37は、最小桁から二桁目と三桁目を区切る文字区切り記号がカンマで、より上位桁の区切る文字区切り記号がピリオドの場合に、ユーロであると判断する。ドルの場合はこの逆になる。
また、認識処理部41が通貨単位を表すフラグ等を金額に含める場合には、通貨判断部37はそのフラグから通貨単位を判断してもよい。図22(g)では金額が「¥」という日本円を表すフラグを含むため、通貨判断部37は日本円であると判断する。図22(h)では金額が「$」というドルを表すフラグを含むため、通貨判断部37はドルであると判断する。この他、金額の単位「123456円」「1234.56ドル」に基づいて判断してもよい。
このように、複合機9はピリオドの有無、ピリオドとカンマの位置等によりドルと日本円を区別できる。また、3つ以上の通貨単位を区別することもできる。
<まとめ>
以上説明したように、本実施形態の情報登録システムは、領収書の金額の通貨単位を判断することで、複数の通貨に対応して経費情報を管理サーバ40に登録できる。ドルと日本円の表記方法に合わせて、ピリオドの表示と非表示を切り替えたり、ドルと日本円の表記方法に合わせて、適切なテンキーを提供したりできる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、登録サーバ30の通貨判断部37を複合機の領収書アプリ60が有するようにして、複合機9が通貨単位を判断してもよい。あるいは、通貨単位を判断する別のサーバがあってもよい。
また、テンキー530として、通貨単位によって1つ以上のアルファベットを含めたり、1回の押下で2つのゼロが入力される「00」のような数字キーを表示したりしてもよい。
また、本実施形態では領収書の登録を説明したが、領収書に限らず、各種の伝票の登録に好適に適用できる。例えば、受注票、注文票、請求書などに適用できる。
複合機9は登録サーバ30から受信した領収書7の電子データを操作パネル(表示装置)に表示する他、ユーザの端末装置に有線又は無線で送信してもよい。
また、図5などの構成例は、複合機9、登録サーバ30,管理者端末70,管理サーバ40、及びユーザ端末50による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。複合機9、登録サーバ30,管理者端末70、管理サーバ40、及びユーザ端末50の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、登録サーバ30と管理サーバ40の少なくとも一方が複数のサーバ装置により実現されていてもよいし、登録サーバ30と管理サーバ40が一台のサーバ装置により実現されていてもよい。また、登録サーバ30が複数あったり、管理サーバ40が複数あったりしてもよい。
なお、読取部33は画像データ取得手段の一例であり、認識処理部41は数値データ取得手段の一例であり、通貨判断部37は判断手段の一例であり、表示制御部36は表示手段の一例であり、管理サーバ通信部47は送信手段の一例であり、管理サーバ40は経費管理システムの一例であり、操作受付部34は受付手段の一例であり、複合機通信部43は第2の送信手段の一例である。