JP7723372B2 - Automatic journal entry program - Google Patents
Automatic journal entry programInfo
- Publication number
- JP7723372B2 JP7723372B2 JP2023065682A JP2023065682A JP7723372B2 JP 7723372 B2 JP7723372 B2 JP 7723372B2 JP 2023065682 A JP2023065682 A JP 2023065682A JP 2023065682 A JP2023065682 A JP 2023065682A JP 7723372 B2 JP7723372 B2 JP 7723372B2
- Authority
- JP
- Japan
- Prior art keywords
- aggregation
- processor
- name
- string
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本実施形態は、自動仕訳プログラムに関する。 This embodiment relates to an automatic accounting program.
近年、経理業務の効率化を実現する手段の1つとして仕訳作業の自動化がすすめられている。例えば、仕訳対象の請求書等の書面のデータを入力することによって仕訳が実施される装置等が知られている。この種の自動仕訳のための手法としては、ルールベースに基づく手法、人工知能を用いた手法等が知られている。 In recent years, automation of accounting work has been promoted as one way to improve the efficiency of accounting operations. For example, there are known devices that perform accounting work by inputting document data such as invoices to be accounted for. Known methods for this type of automated accounting work include rule-based methods and methods that use artificial intelligence.
自動仕訳では、請求書等の書面に記載された各種の取引の内容が、税務上のルール及び会社上のルール等の予め定められた各種のルールに従った勘定科目に仕訳される。ここで、請求書等における取引の内容の記載のされ方は、業種の違い、運用の違いといった各種の条件の違いによって大きくばらつくことが多い。請求書等における取引の内容の記載が大きくばらついていると、自動仕訳の処理が複雑化して仕訳処理に時間がかかりやすくなり、また、仕訳結果に誤りが生じる可能性も高くなる。 In automatic accounting, the details of various transactions listed on documents such as invoices are entered into account items in accordance with various pre-defined rules, such as tax rules and company rules. However, the way transaction details are recorded on invoices and other documents often varies greatly due to differences in various conditions, such as differences in industry and operations. If the details of transactions on invoices and other documents vary greatly, the automatic accounting process becomes more complicated, accounting processing takes more time, and there is a higher chance of errors in the resulting entries.
実施形態は、取引の内容の記載のばらつきが大きい場合であっても、仕訳処理の複雑化を抑制しつつ、仕訳精度の向上も図ることができる自動仕訳プログラムを提供することを目的とする。 The present embodiment aims to provide an automatic accounting program that can reduce the complexity of accounting processing while improving the accuracy of accounting entries, even when there is a large variation in the description of transaction details.
一態様によれば、自動仕訳プログラムは、ファイル処理プログラムは、複数の取引の内容を表す異なる複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、予め定められた集約ルールに基づき、入力された異なる複数の名目を1つの名目に集約することと、集約された名目に関連する金額の総額を計算することと、集約された名目に対して自動仕訳を実行することとをプロセッサに実行させる。 According to one aspect, the automatic journalizing program is a file processing program that causes a processor to accept input of data on different items representing the contents of multiple transactions and amounts related to each item, aggregate the input different items into one item based on predetermined aggregation rules, calculate the total amount related to the aggregated items, and perform automatic journalizing for the aggregated items.
実施形態によれば、取引の内容の記載のばらつきが大きい場合であっても、明細に記載の費用の種類のばらつきが大きい場合であっても、仕訳処理の複雑化を抑制しつつ、仕訳精度の向上も図ることができる自動仕訳プログラムを提供することができる。 According to the embodiment, an automatic accounting program can be provided that can reduce the complexity of accounting processing while improving accounting accuracy, even when there is a large variation in the description of transaction details or in the types of expenses listed in the details.
以下、実施形態について図面を参照して説明する。図1は、実施形態に係る端末の一例の構成を示す図である。図1に示すように、端末1は、プロセッサ11と、メモリ12と、ストレージ13と、入力インターフェース14と、ディスプレイ15と、通信モジュール16とを有している。プロセッサ11と、メモリ12と、ストレージ13と、入力インターフェース14と、ディスプレイ15と、通信モジュール16とは、互いに通信できるようにバス17に接続されている。ここで、端末1は、スマートフォン、タブレット端末、パーソナルコンピュータといった端末であってよい。 Embodiments will be described below with reference to the drawings. Figure 1 is a diagram showing the configuration of an example of a terminal according to an embodiment. As shown in Figure 1, terminal 1 has a processor 11, memory 12, storage 13, input interface 14, display 15, and communication module 16. Processor 11, memory 12, storage 13, input interface 14, display 15, and communication module 16 are connected to bus 17 so that they can communicate with each other. Here, terminal 1 may be a terminal such as a smartphone, tablet terminal, or personal computer.
プロセッサ11は、端末1の動作を制御するように構成されたプロセッサである。プロセッサ11は、ストレージ13に記憶されている各種のプログラムに従って各種の処理を実行する。プロセッサ11は、例えばCPUである。プロセッサ11は、CPUではなく、MPU、GPU等であってもよい。また、プロセッサ11は、1つのCPU等によって構成されている必要はなく、複数のCPU等によって構成されてもよい。 Processor 11 is a processor configured to control the operation of terminal 1. Processor 11 executes various processes in accordance with various programs stored in storage 13. Processor 11 is, for example, a CPU. Processor 11 may not be a CPU, but may instead be an MPU, GPU, etc. Furthermore, processor 11 does not have to be composed of a single CPU, etc., but may be composed of multiple CPUs, etc.
メモリ12は、ROM、RAMといったメモリを含む。ROMは、不揮発性のメモリである。ROMは、端末1の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ11における処理の際の作業メモリとして用いられる。 Memory 12 includes memory such as ROM and RAM. ROM is non-volatile memory. ROM stores the startup program for terminal 1, etc. RAM is volatile memory. RAM is used, for example, as working memory during processing by processor 11.
ストレージ13は、例えばフラッシュメモリといったストレージである。ストレージ13は、端末1において用いられる各種のプログラム及びデータを格納している。実施形態では、ストレージ13は、OS(オペレーティングシステム)131、自動仕訳プログラム132、集約ルール133を格納している。ストレージ13は、OS131、自動仕訳プログラム132以外のプログラムを格納していてもよい。 Storage 13 is a storage device such as a flash memory. Storage 13 stores various programs and data used by terminal 1. In the embodiment, storage 13 stores an OS (operating system) 131, an automatic journalizing program 132, and aggregation rules 133. Storage 13 may also store programs other than OS 131 and automatic journalizing program 132.
OS131は、端末1の基本的な機能を実現するためのプログラムである。ストレージ13に格納されている各種のプログラムは、OSの制御下で実行される。 OS 131 is a program that realizes the basic functions of terminal 1. Various programs stored in storage 13 are executed under the control of the OS.
自動仕訳プログラム132は、プロセッサ11に自動仕訳処理を実行させるプログラムである。自動仕訳処理は、入力された取引をその内容に応じた適切な勘定科目に分類し、勘定科目毎の金額を計算する処理である。取引の内容は、請求書等の書面又は書面と同等の内容を含むデータにおいて記入される。この場合、自動仕訳プログラム132は、書面等の文字列から取引の内容を認識させ、認識させた取引の内容を勘定科目に分類させる処理をプロセッサ11に実行させる。自動仕訳プログラム132は、必要に応じて端末1にインストールされ得る。なお、実施形態における取引は、自動仕訳の対象となり得る取引であれば特に限定されない。 The automatic journalizing program 132 is a program that causes the processor 11 to execute automatic journalizing processing. Automatic journalizing processing is a process that classifies input transactions into appropriate account items according to their content and calculates the amount for each account item. The content of the transaction is entered in a document such as an invoice, or data containing content equivalent to a document. In this case, the automatic journalizing program 132 causes the processor 11 to execute processing that recognizes the content of the transaction from character strings in the document, etc., and classifies the recognized content of the transaction into account items. The automatic journalizing program 132 can be installed on the terminal 1 as needed. Note that the transactions in the embodiment are not particularly limited as long as they are transactions that can be subject to automatic journalizing.
また、実施形態における自動仕訳プログラム132は、実際の自動仕訳処理に先立って集約処理をプロセッサ11に実行させる。集約処理は、入力された取引を予め定められたルールに従って集約する処理である。ここでの集約結果は、集約ルール133に従って複数の取引の内容を1つの名目にまとめたものである。実際の自動仕訳処理では、集約結果毎に勘定科目への仕訳が実施される。ここで、勘定科目への仕訳は、任意の手法で行われてよい。例えば、勘定科目への仕訳は、ルールベースで行われてもよいし、学習済みモデルを用いて行われてもよい。勘定科目への仕訳がルールベースで行われる場合、仕訳ルールは、集約結果と勘定科目との間の仕訳ルールである。同様に、勘定科目への仕訳が学習済みモデルを用いて行われる場合、モデルは、集約結果を入力とし、仕訳結果としての勘定科目を出力するように構成されたモデルである。モデルには、SVM(サポートベクトルマシン)、ニューラルネットワーク等の各種の分類モデルが用いられてよい。 In addition, in the embodiment, the automatic journalizing program 132 causes the processor 11 to execute an aggregation process prior to the actual automatic journalizing process. The aggregation process aggregates input transactions according to predetermined rules. The aggregation result here is the content of multiple transactions summarized under a single heading according to the aggregation rules 133. In the actual automatic journalizing process, journalizing to an account item is performed for each aggregation result. Here, journalizing to an account item may be performed using any method. For example, journalizing to an account item may be performed rule-based or using a trained model. When journalizing to an account item is performed rule-based, the journalizing rule is a journalizing rule between the aggregation result and the account item. Similarly, when journalizing to an account item is performed using a trained model, the model is configured to input the aggregation result and output the account item as the journalizing result. The model may use various classification models such as an SVM (support vector machine) or a neural network.
集約ルール133は、集約処理を実行するためのルールである。一部の集約ルール133は、例えば自動仕訳プログラム132のインストールの際に設定され得る。集約ルール133は、端末1のユーザによって追加され得る。ここで、集約ルール133は、必ずしもストレージ13に記憶される必要はなく、端末1の外部のサーバ等に記憶されていてもよい。この場合、端末1は、必要に応じて外部のサーバ等から集約ルール133を取得する。 The aggregation rules 133 are rules for executing the aggregation process. Some aggregation rules 133 may be set, for example, when the automatic accounting program 132 is installed. Aggregation rules 133 may be added by the user of the terminal 1. Here, the aggregation rules 133 do not necessarily have to be stored in the storage 13, but may also be stored on a server or the like external to the terminal 1. In this case, the terminal 1 obtains the aggregation rules 133 from the external server or the like as needed.
図2は、集約ルール133の一例を示す図である。一例の集約ルール133は、文字列の部分一致の判断のためのルールである。図2に示す例の集約ルール133は、「集約結果」と、「条件(含む)」と、「条件(含まない)」の3つの項目を有している。 Figure 2 is a diagram showing an example of an aggregation rule 133. The example aggregation rule 133 is a rule for determining partial matches of character strings. The example aggregation rule 133 shown in Figure 2 has three items: "Aggregation result," "Condition (includes)," and "Condition (does not include)."
「集約結果」は、条件が満たされたときのまとめ先の名目である。「集約結果」と関連付けられる名目は、自動仕訳プログラム132の作成時に予め設定されるものを含む。「集約結果」と関連付けられる名目は、さらに、ユーザによって追加されたものも含む。実施形態では、同じ集約結果にまとめられた取引の内容は、同じ勘定科目に分類される。 The "aggregation result" is the name to which transactions are aggregated when the conditions are met. The names associated with the "aggregation result" include those that are pre-set when the automatic accounting program 132 is created. The names associated with the "aggregation result" also include those added by the user. In an embodiment, the contents of transactions aggregated into the same aggregation result are classified into the same account item.
「条件(含む)」と「条件(含まない)」は、対応する集約結果に集約されるための文字列の条件である。 "Condition (includes)" and "Condition (does not include)" are string conditions for aggregating into the corresponding aggregated results.
「条件(含む)」に設定されている文字列が集約対象の文字列に含まれている場合には、その集約対象の文字列は対応する「集約結果」に集約される。例えば、図2では、集約結果「広告・宣伝」の「条件(含む)」に、「広告」、「出稿」、「掲載料」が設定されている。この場合、集約対象の文字列に「広告」、「出稿」、「掲載料」の何れかが含まれているときには、集約対象の文字列が集約結果「広告・宣伝」に集約される。 If the string to be aggregated contains a string set in the "Condition (includes)" field, the string to be aggregated will be aggregated into the corresponding "Aggregation Result." For example, in Figure 2, the "Condition (includes)" field for the aggregation result "Advertising/Promotion" is set to "Advertising," "Submission," and "Publication Fee." In this case, if the string to be aggregated contains any of "Advertising," "Submission," or "Publication Fee," the string to be aggregated will be aggregated into the aggregation result "Advertising/Promotion."
また、「条件(含まない)」に設定されている文字列が集約対象の文字列に含まれている場合には、「条件(含む)」に設定されている文字列が集約対象の文字列に含まれている場合であっても、その集約対象の文字列は対応する「集約結果」に集約されない。例えば、図2では、集約結果「広告・宣伝」の「条件(含まない)」に、「広告制作」が設定されている。この場合、その集約対象の文字列が「広告制作」であるときには、集約対象の文字列は「広告」を含んでいるものの、集約結果「広告・宣伝」に集約されない。「条件(含まない)」が設定され得ることにより、単純な部分一致で取引の内容が集約されてしまうことによってユーザが望まない仕訳が行われてしまう状況が抑制され得る。 Furthermore, if a string set in "Condition (Excludes)" is included in the string to be aggregated, that string will not be aggregated into the corresponding "Aggregation Result," even if the string set in "Condition (Includes)" is also included in the string to be aggregated. For example, in Figure 2, "Advertising Production" is set as the "Condition (Excludes)" for the aggregation result "Advertising/Promotion." In this case, if the string to be aggregated is "Advertising Production," it will not be aggregated into the aggregation result "Advertising/Promotion," even though it contains "Advertising." By being able to set "Condition (Excludes)," situations in which transaction contents are aggregated based on simple partial matches, resulting in undesired journal entries by the user, can be prevented.
ここで、図2で示した集約ルール133は、一例である。集約ルール133は、図2で示した文字列の部分一致の条件以外の条件を含んでいてもよい。例えば、寄付金の場合、どの組織や団体に寄付したかで異なる補助科目に仕訳されたほうが良い場合がある。この他、自社にとって管理上重要な取引先への支払い等は明細別に記載したい要求があるために他と集約されないことが望ましいことがある。また、ある特定の取引先からの請求書では家賃のことが「オフィス」と記載されていて、通常では単なる「オフィス」が集約結果「賃料等」に集約されるべきではないが、その取引先に限っては「オフィス」が集約結果「賃料等」に集約されたほうがよい場合もある。このような同一の文字列であっても異なる勘定科目に仕訳されるべき取引の内容が1つの名目にまとめられてしまうと、その後の仕訳処理が適切に行われない可能性がある。このために、集約ルール133は、支払い先の条件を含んでいてもよい。この他、集約ルール133は、金額の条件等の各種の条件を含んでいてもよい。集約ルール133に金額の条件が含まれることにより、例えば、文字列の条件では同じ集約結果に集約される場合でも、金額が異なる場合には異なる集約結果に集約されるといったことが行われ得る。また、集約ルール133は、集約結果の評価、分析のために、それぞれの集約結果とともに保存されてもよい。 The aggregation rule 133 shown in Figure 2 is an example. The aggregation rule 133 may include conditions other than the partial string match condition shown in Figure 2. For example, in the case of donations, it may be better to journalize them into different sub-accounts depending on the organization or group to which they were donated. In addition, payments to important business partners may be listed separately and therefore not be aggregated with other payments. Also, invoices from a specific business partner may refer to rent as "office." While "office" would normally not be aggregated into the aggregation result "rent, etc.", it may be better for "office" to be aggregated into the aggregation result "rent, etc." for that particular business partner. If transactions with the same string that should be journalized into different account items are combined under a single heading, subsequent journalization processing may not be performed appropriately. For this reason, the aggregation rule 133 may also include a condition regarding the payee. The aggregation rule 133 may also include various other conditions, such as a condition regarding the amount. By including a monetary amount condition in the aggregation rule 133, for example, even if the string condition results in the same aggregation result, different amounts may result in different aggregation results. Furthermore, the aggregation rule 133 may be saved along with each aggregation result for evaluation and analysis of the aggregation results.
入力インターフェース14は、タッチパネル、キーボード、マウス等の入力装置を含む。入力インターフェース14の操作がされた場合、操作内容に応じた信号がバス17を介してプロセッサ11に入力される。プロセッサ11は、この信号に応じて各種の処理を行う。ここで、入力装置は、カメラを含んでいてもよい。カメラは、例えば、請求書等の書面の画像を撮影するために用いられる。カメラによって撮影された書面の画像から仕訳対象の文字列が認識され得る。 The input interface 14 includes input devices such as a touch panel, keyboard, and mouse. When the input interface 14 is operated, a signal corresponding to the operation is input to the processor 11 via the bus 17. The processor 11 performs various processes in response to this signal. Here, the input device may include a camera. The camera is used to capture an image of a document such as an invoice. The character string to be journalized can be recognized from the image of the document captured by the camera.
ディスプレイ15は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。ディスプレイ15は、各種の画像を表示する。 Display 15 is a display device such as a liquid crystal display or an organic EL display. Display 15 displays various images.
通信モジュール16は、端末1が各種の外部機器と通信するときの処理をするように構成されたインターフェースを含むモジュールである。通信モジュール16は、携帯電話回線、無線LAN回線、有線LAN回線等を用いてネットワークに接続するように構成されている。または、通信モジュール16は、Bluetooth(登録商標)等の近距離無線通信によって端末1の近傍の機器と接続するように構成されている。また、通信モジュール16に特定の集約ルールが記憶された記憶装置を接続することにより、端末1に自動的に特定の集約ルールが設定されるようにすることも可能である。これにより汎用の端末を自動的に専用端末として動作させることも可能である。 The communication module 16 is a module including an interface configured to process communication between the terminal 1 and various external devices. The communication module 16 is configured to connect to a network using a mobile phone line, a wireless LAN line, a wired LAN line, etc. Alternatively, the communication module 16 is configured to connect to devices near the terminal 1 using short-range wireless communication such as Bluetooth (registered trademark). Furthermore, by connecting a storage device storing specific aggregation rules to the communication module 16, it is possible to automatically set specific aggregation rules on the terminal 1. This makes it possible to automatically operate a general-purpose terminal as a dedicated terminal.
次に、実施形態における自動仕訳プログラム132に基づく端末1の動作を説明する。図3は、端末1における自動仕訳プログラム132の集約ルールの設定の処理を示すフローチャートである。図3の処理は、例えば端末1のユーザによって自動仕訳プログラム132の起動が指示されたときに開始される。 Next, the operation of the terminal 1 based on the automatic journalizing program 132 in this embodiment will be described. Figure 3 is a flowchart showing the process of setting aggregation rules for the automatic journalizing program 132 on the terminal 1. The process in Figure 3 is initiated, for example, when a user of the terminal 1 instructs the automatic journalizing program 132 to be started.
ステップS1において、端末1のプロセッサ11は、集約ルールの設定が指示されたか否かを判定する。例えば、自動仕訳プログラム132が起動された際にディスプレイ15に表示される図示しない初期画面において集約ルールの設定ボタンが選択された場合に、集約ルールの設定が指示されたと判定される。ステップS1において、集約ルールの設定が指示されたと判定されたときには、処理はステップS2に移行する。ステップS1において、集約ルールの設定が指示されたと判定されていないときには、処理はステップS7に移行する。 In step S1, the processor 11 of the terminal 1 determines whether or not an instruction to set an aggregation rule has been issued. For example, if the aggregation rule setting button is selected on an initial screen (not shown) that is displayed on the display 15 when the automatic journalizing program 132 is launched, it is determined that an instruction to set an aggregation rule has been issued. If it is determined in step S1 that an instruction to set an aggregation rule has been issued, the process proceeds to step S2. If it is not determined in step S1 that an instruction to set an aggregation rule has been issued, the process proceeds to step S7.
ステップS2において、プロセッサ11は、ディスプレイ15に集約ルールの設定画面を表示させる。 In step S2, the processor 11 displays an aggregation rule setting screen on the display 15.
図4は、集約ルールの設定画面の一例を示す図である。集約ルールの設定画面150は、例えば、集約結果入力欄151と、条件(含む)入力欄152と、条件(含まない)入力欄153とを含む画面である。 Figure 4 shows an example of an aggregation rule setting screen. The aggregation rule setting screen 150 is a screen that includes, for example, an aggregation result input field 151, a condition (inclusive) input field 152, and a condition (exclusive) input field 153.
集約結果入力欄151は、集約ルール133の「集約結果」と関連付けられる名目の入力欄である。ユーザは、集約結果入力欄151に、直接的に集約結果の名目を表す文字列を入力し得る。または、ユーザは、集約結果入力欄151に設けられたプルダウンボタン151aを選択することによって表示されるドロップダウンリストから、自身の望む集約結果の名目を選択し得る。ドロップダウンリストでは、初期値として設定されている名目及びユーザによって新たに追加された名目が一覧表示される。 The aggregation result input field 151 is an input field for the name associated with the "aggregation result" of the aggregation rule 133. The user can directly input a string representing the name of the aggregation result into the aggregation result input field 151. Alternatively, the user can select the name of the desired aggregation result from a drop-down list displayed by selecting the pull-down button 151a provided in the aggregation result input field 151. The drop-down list displays a list of names set as default values and names newly added by the user.
条件(含む)入力欄152は、集約ルール133の「条件(含む)」の入力欄である。ユーザは、条件(含む)入力欄152に、対応する集約結果に集約したい取引内容を表す文字列を列挙して入力し得る。取引内容の一部の文字列が入力された場合には、文字列の部分一致で集約処理における判定がされる。取引内容の全部の文字列が入力された場合には、文字列の全部一致で集約処理における判定がされる。ここで、図4では、文字列毎に改行されることで、「条件(含む)」のそれぞれの文字列が区別されている。これに対し、文字列の間にカンマが挟まれて入力される等の他の手法で「条件(含む)」のそれぞれの文字列が区別されてもよい。 The condition (including) input field 152 is an input field for the "condition (including)" of the aggregation rule 133. In the condition (including) input field 152, the user can enter a list of character strings representing the transaction details that the user wants to aggregate into the corresponding aggregation result. If only a partial character string of the transaction details is entered, the aggregation process will determine whether the character strings match. If the entire character string of the transaction details is entered, the aggregation process will determine whether the entire character string matches. Here, in Figure 4, each character string in the "condition (including)" is distinguished by starting a new line after each character string. However, each character string in the "condition (including)" may also be distinguished using other methods, such as entering character strings with commas between them.
条件(含まない)入力欄153は、集約ルール133の「条件(含まない)」の入力欄である。ユーザは、条件(含まない)入力欄153に、対応する集約結果に集約したくない取引内容を表す文字列を列挙して入力し得る。取引内容の一部の文字列が入力された場合には、文字列の部分一致で集約処理における判定がされる。取引内容の全部の文字列が入力された場合には、文字列の全部一致で集約処理における判定がされる。ここで、条件(含む)入力欄152と同様に、条件(含まない)入力欄153も、文字列毎に改行されたり、文字列の間にカンマが挟まれたりすることで、「条件(含まない)」のそれぞれの文字列が区別されてよい。 The condition (excluding) input field 153 is an input field for the "condition (excluding)" of the aggregation rule 133. In the condition (excluding) input field 153, the user can enter a list of character strings representing transaction details that the user does not want aggregated into the corresponding aggregation results. If a partial character string of the transaction details is entered, the aggregation process will determine whether the character strings match. If the entire character string of the transaction details is entered, the aggregation process will determine whether the entire character string matches. Here, as with the condition (including) input field 152, the condition (excluding) input field 153 may also distinguish between the "condition (excluding)" character strings by starting each string on a new line or by inserting commas between strings.
さらに、集約ルールの設定画面150は、保存ボタン154及び戻るボタン155を含み得る。保存ボタン154は、各入力欄に入力された内容を集約ルール133として保存した上で初期画面に戻る際にユーザによって選択されるボタンである。戻るボタン155は、各入力欄に入力された内容を集約ルール133として保存せずに初期画面に戻る際にユーザによって選択されるボタンである。 Furthermore, the aggregation rule setting screen 150 may include a save button 154 and a back button 155. The save button 154 is a button selected by the user to save the content entered in each input field as an aggregation rule 133 and return to the initial screen. The back button 155 is a button selected by the user to return to the initial screen without saving the content entered in each input field as an aggregation rule 133.
ここで、集約ルール133が金額等の他の条件を含む場合、集約ルールの設定画面150も、それぞれの条件と対応した入力欄を含み得る。また、図4では、保存ボタン154と戻るボタン155の2つのボタンが設けられているが、これらのボタンと同等の処理が行われ得るのであれば、保存ボタン154と戻るボタン155とは省略されてもよい。また、保存ボタン154及び戻るボタン155以外のボタンが設けられてもよい。 Here, if the aggregation rule 133 includes other conditions such as amount, the aggregation rule setting screen 150 may also include input fields corresponding to each condition. Also, in Figure 4, two buttons, Save button 154 and Back button 155, are provided, but Save button 154 and Back button 155 may be omitted as long as the same processing as these buttons can be performed. Also, buttons other than Save button 154 and Back button 155 may be provided.
以下、図3の説明に戻る。ステップS3において、プロセッサ11は、ユーザの入力操作に従って集約ルールの設定画面150の表示を更新する。例えば、プロセッサ11は、集約結果入力欄151、条件(含む)入力欄152、条件(含まない)入力欄153のそれぞれに対する文字列の入力操作に応じて文字列を表示させる。 Returning to the description of Figure 3, in step S3, the processor 11 updates the display of the aggregation rule setting screen 150 in accordance with the user's input operation. For example, the processor 11 displays character strings in accordance with the input operation of character strings into each of the aggregation result input field 151, the condition (inclusive) input field 152, and the condition (exclusive) input field 153.
ステップS4において、プロセッサ11は、集約ルールを保存するか否かを判定する。例えば、保存ボタン154が選択された場合には、集約ルールを保存すると判定される。ステップS4において、集約ルールを保存すると判定されたときには、処理はステップS6に移行する。ステップS4において、集約ルールを保存すると判定されていないときには、処理はステップS5に移行する。 In step S4, processor 11 determines whether to save the aggregation rule. For example, if the save button 154 is selected, it is determined that the aggregation rule is to be saved. If it is determined in step S4 that the aggregation rule is to be saved, processing proceeds to step S6. If it is not determined in step S4 that the aggregation rule is to be saved, processing proceeds to step S5.
ステップS5において、プロセッサ11は、集約ルールの設定画面150から戻るか否かを判定する。例えば、戻るボタン155が選択された場合には、戻ると判定される。ステップS5において、集約ルールの設定画面150から戻ると判定されていないときには、処理はステップS3に戻る。この場合、引き続いて集約ルールの設定画面150において集約ルールの設定が行われ得る。ステップS5において、集約ルールの設定画面150から戻ると判定されたときには、処理はステップS7に移行する。この場合、プロセッサ11は、ディスプレイ15の表示を初期画面に戻す。 In step S5, the processor 11 determines whether to return from the aggregation rule setting screen 150. For example, if the back button 155 is selected, it is determined that the user should return. If it is not determined in step S5 that the user should return from the aggregation rule setting screen 150, the process returns to step S3. In this case, the aggregation rule can be subsequently set on the aggregation rule setting screen 150. If it is determined in step S5 that the user should return from the aggregation rule setting screen 150, the process proceeds to step S7. In this case, the processor 11 returns the display on the display 15 to the initial screen.
ステップS6において、プロセッサ11は、集約ルールの設定画面150の各欄に入力された内容に基づいて集約ルール133を更新又は追加する。プロセッサ11は、集約結果入力欄151に入力された名目がすでに集約ルール133の「集約結果」の項目に登録されている名目であるときには、条件(含む)入力欄152及び条件(含まない)入力欄153の入力内容に基づいて、対応する「条件(含む)」及び「条件(含まない)」の項目を更新する。一方、プロセッサ11は、集約結果入力欄151に入力された名目が集約ルール133の「集約結果」の項目に登録されていない名目であるときには、集約ルール133の「集約結果」、「条件(含む)」、「条件(含まない)」の項目を追加する。そして、プロセッサ11は、集約結果入力欄151に入力された名目を新たに追加した「集約結果」の項目に登録しつつ、条件(含む)入力欄152及び条件(含まない)入力欄153の入力内容を、新たに追加した「条件(含む)」及び「条件(含まない)」の項目に登録する。その後、プロセッサ11は、ディスプレイ15の表示を初期画面に戻す。そして、処理はステップS7に移行する。 In step S6, processor 11 updates or adds aggregation rule 133 based on the content entered in each field of aggregation rule setting screen 150. When the name entered in aggregation result input field 151 is a name that is already registered in the "Aggregation result" field of aggregation rule 133, processor 11 updates the corresponding "Condition (included)" and "Condition (excluded)" fields based on the input content in condition (included) input field 152 and condition (excluded) input field 153. On the other hand, when the name entered in aggregation result input field 151 is a name that is not registered in the "Aggregation result" field of aggregation rule 133, processor 11 adds the "Aggregation result," "Condition (included)," and "Condition (excluded)" fields of aggregation rule 133. Then, processor 11 registers the name entered in aggregation result input field 151 in the newly added "Aggregation Result" field, while registering the input contents of condition (inclusive) input field 152 and condition (exclusive) input field 153 in the newly added "Condition (inclusive)" and "Condition (exclusive)" fields. After that, processor 11 returns the display on display 15 to the initial screen. Then, processing proceeds to step S7.
ステップS7において、プロセッサ11は、自動仕訳プログラム132の処理を終了するか否かを判定する。例えば、図示しない初期画面に表示される終了ボタンが選択された場合に処理を終了すると判定される。ステップS7において、自動仕訳プログラム132の処理を終了すると判定されていないときには、処理はステップS1に戻る。ステップS7において、自動仕訳プログラム132の処理を終了すると判定されたときには、図3の処理は終了する。 In step S7, the processor 11 determines whether or not to terminate the processing of the automatic journalizing program 132. For example, it determines that the processing is to be terminated when the end button displayed on the initial screen (not shown) is selected. If it is not determined in step S7 that the processing of the automatic journalizing program 132 is to be terminated, the processing returns to step S1. If it is determined in step S7 that the processing of the automatic journalizing program 132 is to be terminated, the processing of FIG. 3 ends.
次に、集約処理及び仕訳処理について説明する。図5は、集約処理及び仕訳処理について示すフローチャートである。図5の処理は、例えば端末1のユーザによって自動仕訳プログラム132の起動時に表示される図示しない初期画面において、仕訳対象のデータの入力があったときに開始される。ここで、入力される仕訳対象のデータは、請求書等の書面に記載された内容を表すテキストデータ、請求書等の書面に記載された内容を表す表形式のデータ、請求書等の書面の画像データ等の各種の形式のデータであってよい。この他、仕訳対象のデータは、所定のフォーマットのデジタルインボイスであってもよい。 Next, the aggregation process and journalizing process will be explained. Figure 5 is a flowchart showing the aggregation process and journalizing process. The process in Figure 5 is initiated, for example, when the user of terminal 1 inputs data to be journalized on an initial screen (not shown) that is displayed when the automatic journalizing program 132 is started. Here, the input data to be journalized may be data in various formats, such as text data representing the contents of a document such as an invoice, tabular data representing the contents of a document such as an invoice, or image data of a document such as an invoice. In addition, the data to be journalized may be a digital invoice in a specified format.
ステップS11において、プロセッサ11は、集約処理を実行する。集約処理の後、処理はステップS12に移行する。以下、図6を参照して集約処理について説明する。図6は、集約処理の一例について示すフローチャートである。 In step S11, processor 11 executes aggregation processing. After the aggregation processing, processing proceeds to step S12. The aggregation processing will be described below with reference to Figure 6. Figure 6 is a flowchart showing an example of the aggregation processing.
ステップS101において、プロセッサ11は、入力されたデータが画像データであるか否かを判定する。ステップS101において、入力されたデータが画像データであると判定されたときには、処理はステップS102に移行する。ステップS101において、入力されたデータが画像データであると判定されていないときには、処理はステップS103に移行する。 In step S101, processor 11 determines whether the input data is image data. If it is determined in step S101 that the input data is image data, processing proceeds to step S102. If it is determined in step S101 that the input data is not image data, processing proceeds to step S103.
ステップS102において、プロセッサ11は、入力された画像データに対する文字認識を実施する。文字認識は、任意の手法で行われてよい。 In step S102, processor 11 performs character recognition on the input image data. Character recognition may be performed using any method.
ステップS103において、プロセッサ11は、入力されたデータから1つの名目の文字列を取得する。例えば、入力されたデータがテキストデータであれば、プロセッサ11は、入力された順に名目の文字列を取得する。また、例えば、入力されたデータが表形式のデータであれば、プロセッサ11は、上の行から順に名目の文字列を取得する。また、例えば、入力されたデータが画像データであれば、プロセッサ11は、文字認識が行われた順に名目の文字列を取得する。 In step S103, processor 11 obtains one name string from the input data. For example, if the input data is text data, processor 11 obtains the name strings in the order in which they were input. Also, for example, if the input data is tabular data, processor 11 obtains the name strings in order from the top row. Also, for example, if the input data is image data, processor 11 obtains the name strings in the order in which character recognition was performed.
ステップS104において、プロセッサ11は、集約ルール133から1つの「集約結果」に対する集約ルールを取得する。例えば、プロセッサ11は、図2の上から順に集約ルールを取得する。 In step S104, the processor 11 obtains an aggregation rule for one "aggregation result" from the aggregation rules 133. For example, the processor 11 obtains the aggregation rules in order from the top of Figure 2.
ステップS105において、プロセッサ11は、取得した名目の文字列が取得した「条件(含む)」に合致しているか否かを判定する。例えば、取得した名目の文字列が対応する「条件(含む)」において列挙されている何れかの文字列を含んでいるときには、取得した名目の文字列が取得した「条件(含む)」に合致していると判定される。ステップS105において、取得した名目の文字列が取得した「条件(含む)」に合致していると判定されたときには、処理はステップS106に移行する。ステップS105において、取得した名目の文字列が取得した「条件(含む)」に合致していると判定されていないときには、処理はステップS108に移行する。 In step S105, processor 11 determines whether the acquired name string matches the acquired "condition (inclusive)." For example, if the acquired name string contains any of the strings listed in the corresponding "condition (inclusive)," it is determined that the acquired name string matches the acquired "condition (inclusive)." If it is determined in step S105 that the acquired name string matches the acquired "condition (inclusive)," processing proceeds to step S106. If it is not determined in step S105 that the acquired name string matches the acquired "condition (inclusive)," processing proceeds to step S108.
ステップS106において、プロセッサ11は、取得した名目の文字列が先に「条件(含む)」に合致すると判定された「集約結果」の「条件(含まない)」に合致しているか否かを判定する。例えば、取得した名目の文字列が対応する「条件(含まない)」において列挙されている何れかの文字列を含んでいるときには、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定される。ステップS106において、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定されていないときには、処理はステップS107に移行する。ステップS106において、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定されたときには、処理はステップS108に移行する。 In step S106, processor 11 determines whether the acquired name string matches the "condition (excludes)" of the "aggregation result" that was previously determined to match the "condition (includes)." For example, if the acquired name string contains any of the strings listed in the corresponding "condition (excludes)," it is determined that the acquired name string matches the acquired "condition (excludes)." If in step S106 it is not determined that the acquired name string matches the acquired "condition (excludes)," processing proceeds to step S107. If in step S106 it is determined that the acquired name string matches the acquired "condition (excludes)," processing proceeds to step S108.
ステップS107において、プロセッサ11は、取得した名目を取得した「集約結果」に集約する。集約に際し、プロセッサ11は、対応する名目の金額を対応する集約結果の金額に加算する。その後、処理はステップS109に移行する。すなわち、実施形態では、「条件(含む)」に合致し、「条件(含まない)」に合致しないときに、対応する名目が対応する「集約結果」に集約される。 In step S107, processor 11 aggregates the acquired names into the acquired "aggregated result." When aggregating, processor 11 adds the amount of the corresponding name to the amount of the corresponding aggregated result. Processing then proceeds to step S109. That is, in this embodiment, when the "condition (includes)" is met but the "condition (does not include)" is not met, the corresponding name is aggregated into the corresponding "aggregated result."
ステップS108において、プロセッサ11は、すべての集約ルールを取得したか、すなわち取得した名目の文字列についてすべての集約ルールに基づく判定を行ったか否かを判定する。ステップS108において、すべての集約ルールを取得したと判定されていないときには、処理はステップS104に戻る。この場合、プロセッサ11は、次の集約ルールを取得する。ステップS108において、すべての集約ルールを取得したと判定されたときには、処理はステップS109に移行する。 In step S108, processor 11 determines whether all aggregation rules have been acquired, i.e., whether a judgment based on all aggregation rules has been performed on the acquired nominal string. If it is determined in step S108 that all aggregation rules have not been acquired, processing returns to step S104. In this case, processor 11 acquires the next aggregation rule. If it is determined in step S108 that all aggregation rules have been acquired, processing proceeds to step S109.
ステップS109において、プロセッサ11は、すべての名目の文字列を取得したか、すなわちすべての名目の文字列についてすべての集約ルールに基づく判定を行ったか否かを判定する。ステップS109において、すべての名目の文字列を取得したと判定されていないときには、処理はステップS103に戻る。この場合、プロセッサ11は、次の名目の文字列を取得する。ステップS109において、すべての名目の文字列を取得したと判定されたときには、処理はステップS110に移行する。 In step S109, processor 11 determines whether all name strings have been acquired, i.e., whether all name strings have been judged based on all aggregation rules. If it is determined in step S109 that all name strings have not been acquired, processing returns to step S103. In this case, processor 11 acquires the next name string. If it is determined in step S109 that all name strings have been acquired, processing proceeds to step S110.
ステップS110において、プロセッサ11は、集約結果をディスプレイ15に表示する。ユーザは、集約結果の表示画面上で集約結果を編集し得る。編集の完了後、図6の処理は終了する。 In step S110, the processor 11 displays the aggregation results on the display 15. The user can edit the aggregation results on the aggregation result display screen. After editing is complete, the processing in Figure 6 ends.
以下、図6の処理について具体的に説明する。以下では、図7に示す請求書のデータに対する集約処理を例として説明がされる。この場合の取引の内容は、各種の商品に対する支払いである。図7に示す請求書のデータは、「No.」、「商品名」、「数量」、「単価」、「金額」の項目を有している。「No.」は、商品毎に付けられる通し番号である。「商品名」は、対応する商品の名称である。「数量」は、対応する商品の数である。「単価」は、対応する商品の1個の金額である。「金額」は、対応する商品の支払い総額、すなわち「数量」と「単価」の積である。なお、図7に示す請求書のデータの各項目は、業務上の運用等に基づいて適宜に設定されるものであり、特に限定されない。 The processing in Figure 6 will be explained in detail below. The following explanation uses the aggregation process for the invoice data shown in Figure 7 as an example. The transaction in this case is payment for various products. The invoice data shown in Figure 7 has the following fields: "No.", "Product Name," "Quantity," "Unit Price," and "Amount." "No." is a serial number assigned to each product. "Product Name" is the name of the corresponding product. "Quantity" is the number of corresponding products. "Unit Price" is the price of one unit of the corresponding product. "Amount" is the total payment amount for the corresponding product, i.e., the product of "Quantity" and "Unit Price." Note that each field of the invoice data shown in Figure 7 is set appropriately based on business operations, etc., and is not particularly limited.
集約処理として、プロセッサ11は、入力されたデータから名目の文字列を順次に取得する。例えば、図7の請求書データであれば、プロセッサ11は、「賃料」、「管理料」、「廃棄物処理料」、「電気料」、「時間外空調料」の順に文字列を取得する。 As part of the aggregation process, processor 11 sequentially retrieves the nominal strings from the input data. For example, in the case of the invoice data shown in Figure 7, processor 11 retrieves the strings "rent," "management fee," "waste disposal fee," "electricity fee," and "after-hours air conditioning fee" in that order.
続いて、プロセッサ11は、集約ルールを順次に取得する。例えば、図2の集約ルールであれば、「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」、「賃料等」、「駐車場代」、光熱費、…、の順に集約ルールを取得する。 Then, processor 11 sequentially acquires the aggregation rules. For example, in the case of the aggregation rules shown in Figure 2, the aggregation rules would be acquired in the following order: "Advertising/Promotion," "Commissions," "Miscellaneous Membership Fees," "Donations," "Transportation," "Rent, etc.", "Parking Fees," "Utility Fees," etc.
続いて、プロセッサ11は、取得した名目の文字列が取得した「条件(含む)」に合致しているか否かを判定する。例えば、図7に示す商品名の文字列「賃料」は、集約結果「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」において列挙されている何れの文字列も含んでいない。したがって、文字列「賃料」は、集約結果「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」の何れの「条件(含む)」とも合致していないと判定される。一方、文字列「賃料」は、集約結果「賃料等」の「条件(含む)」において列挙されている「賃料」の文字列を含んでいる。したがって、文字列「賃料」は、集約結果「賃料等」の「条件(含む)」と合致していると判定される。 The processor 11 then determines whether the character string of the acquired title matches the acquired "conditions (including)." For example, the character string "Rent" in the product name shown in Figure 7 does not contain any of the character strings listed in the aggregation results "Advertising/Promotion," "Commission," "Miscellaneous Membership Fees," "Donations," or "Shipping." Therefore, it is determined that the character string "Rent" does not match any of the "conditions (including)" of the aggregation results "Advertising/Promotion," "Commission," "Miscellaneous Membership Fees," "Donations," or "Shipping." On the other hand, the character string "Rent" contains the character string "Rent" listed in the "Conditions (including)" of the aggregation result "Rent, etc." Therefore, it is determined that the character string "Rent" matches the "conditions (including)" of the aggregation result "Rent, etc."
取得した名目の文字列と合致する「条件(含む)」があった場合、プロセッサ11は、名目の文字列が対応する「条件(含まない)」に合致しているか否かを判定する。例えば、文字列「賃料」は、集約結果「賃料等」の、「条件(含む)」において列挙されている「賃料」の文字列を含んでいる。一方、文字列「賃料」は、集約結果「賃料等」の「条件(含まない)」において列挙されている何れの文字列も含んでいない。したがって、文字列「賃料」は、集約結果「賃料等」の「条件(含まない)」と合致していないと判定される。 If there is a "condition (includes)" that matches the acquired name string, processor 11 determines whether the name string matches the corresponding "condition (excludes)." For example, the string "rent" contains the string "rent" listed in the "condition (includes)" of the aggregation result "rent, etc." On the other hand, the string "rent" does not contain any of the strings listed in the "condition (excludes)" of the aggregation result "rent, etc." Therefore, it is determined that the string "rent" does not match the "condition (excludes)" of the aggregation result "rent, etc."
結果として、文字列「賃料」は、集約結果「賃料等」に集約される。同様の判定が、それぞれの商品名の文字列に対して行われる。ここで、何れの「条件(含む)」にも合致しなかった文字列は、集約されずに残ることになる。 As a result, the string "Rent" is aggregated into the aggregation result "Rent, etc." A similar determination is made for each product name string. Here, strings that do not match any of the "Conditions (including)" will remain without being aggregated.
以上の結果、図7に示す請求書のデータに対する集約結果は、図8に示すものとなる。図8の例では、集約結果は、「元のNo.」、「費目」、「金額」の項目を有している。「元のNo.」は、対応する集約結果に集約されている商品名のそれぞれの「No.」を示す項目である。「費目」は、集約結果に関連付けられている名目である。ここでは、請求書のデータに対する集約結果なので費目と記されている。「金額」は、対応する集約結果に集約されたそれぞれの商品の「金額」の総額である。つまり、図8の「金額」は、「元のNo.」で示される「No.」の「金額」の総額である。したがって、例えば、「元のNo.」が1、2であるときの図8の「金額」は2,500,000+500,000=3,000,000円となる。 As a result of the above, the aggregation result for the invoice data shown in Figure 7 is as shown in Figure 8. In the example of Figure 8, the aggregation result has the fields "Original No.", "Item," and "Amount." "Original No." is a field that indicates the "No." of each product name aggregated in the corresponding aggregation result. "Item" is the nominal item associated with the aggregation result. Here, it is written as "item" because it is an aggregation result for invoice data. "Amount" is the total "Amount" of each product aggregated in the corresponding aggregation result. In other words, the "Amount" in Figure 8 is the total "Amount" of the "Number" indicated by the "Original No.". Therefore, for example, when the "Original No." is 1 or 2, the "Amount" in Figure 8 is 2,500,000 + 500,000 = 3,000,000 yen.
プロセッサ11は、図8に示した集約結果をディスプレイ15に表示する。ユーザは、ディスプレイ15に表示された集約結果を編集し得る。そして、編集の完了後、図6の処理は終了する。 The processor 11 displays the aggregation result shown in FIG. 8 on the display 15. The user can edit the aggregation result displayed on the display 15. After editing is complete, the processing of FIG. 6 ends.
ここで、図5の説明戻る。集約処理の後のステップS12において、プロセッサ11は、仕訳処理を実行する。前述したように、仕訳処理は、集約結果に対して実行される。仕訳処理の後、処理はステップS13に移行する。図9は、仕訳結果の一例を示す図である。図9に示すように、仕訳処理により、図7で示した取引の内容が予め定められた勘定科目に仕訳される。 Now, returning to the explanation of Figure 5, in step S12 after the aggregation process, processor 11 executes journalization processing. As described above, journalization processing is executed on the aggregation results. After journalization processing, processing proceeds to step S13. Figure 9 is a diagram showing an example of the journalization results. As shown in Figure 9, the journalization processing journalizes the transaction details shown in Figure 7 into predetermined account items.
ステップS13において、プロセッサ11は、仕訳結果をディスプレイ15に表示する。ユーザは、仕訳結果の表示画面上で仕訳結果を編集し得る。編集の完了後、画面は初期画面に遷移し、処理はステップS14に移行する。 In step S13, the processor 11 displays the journal entry results on the display 15. The user can edit the journal entry results on the journal entry result display screen. After editing is complete, the screen transitions to the initial screen, and processing proceeds to step S14.
ステップS14において、プロセッサ11は、自動仕訳プログラム132の処理を終了するか否かを判定する。例えば、図示しない初期画面に表示される終了ボタンが選択された場合に処理を終了すると判定される。ステップS14において、自動仕訳プログラム132の処理を終了すると判定されていないときには、処理はステップS11に戻る。ステップS14において、自動仕訳プログラム132の処理を終了すると判定されたときには、図5の処理は終了する。 In step S14, the processor 11 determines whether or not to terminate the processing of the automatic journalizing program 132. For example, it determines that the processing is to be terminated when the end button displayed on the initial screen (not shown) is selected. If it is not determined in step S14 that the processing of the automatic journalizing program 132 is to be terminated, the processing returns to step S11. If it is determined in step S14 that the processing of the automatic journalizing program 132 is to be terminated, the processing of FIG. 5 ends.
以上説明したように実施形態によれば、自動仕訳処理において、実際の仕訳処理が実施されるのに先立って入力された取引の内容が予め定めた集約ルールに従って集約される。これにより、種々雑多な内容の請求書等に対する仕訳処理がルールベースで行われる場合であっても、学習済みモデルで行われる場合であっても、処理の複雑化が抑制される。また、処理の複雑化の抑制に伴って、仕訳処理の精度の向上も期待される。さらには、仕訳処理において設定されるルールの数や、学習済みモデルの学習に必要な教師データの数の削減も期待される。 As described above, according to the embodiment, in automatic journal entry processing, the contents of transactions entered before the actual journal entry processing is performed are aggregated according to predetermined aggregation rules. This reduces the complexity of the processing, whether the journal entry processing for invoices and other documents with various contents is performed rule-based or using a trained model. Furthermore, as the complexity of the processing is reduced, the accuracy of the journal entry processing is expected to improve. Furthermore, it is expected that the number of rules set in the journal entry processing and the amount of training data required to train the trained model will also be reduced.
また、実施形態では、集約処理は、文字列の部分一致によるルールベースで行われる。このため、処理の負荷が軽減されることが期待される。また、ルールをユーザが定義し得るので、運用等に基づいた適切な集約がされることが期待される。また、文字列の部分一致のルールには、特定の文字列を含む条件だけでなく、特定の条件を含まない条件も設定され得る。このため、ユーザが意図しない仕訳がされてしまうことが抑制されることが期待される。 In addition, in the embodiment, aggregation processing is performed based on rules that involve partial string matching. This is expected to reduce the processing load. Furthermore, because the rules can be defined by the user, it is expected that appropriate aggregation will be performed based on operations, etc. Furthermore, partial string matching rules can be set not only for conditions that include specific strings, but also for conditions that do not include specific conditions. This is expected to prevent journal entries that the user does not intend to make.
(変形例)
以下、実施形態の変形例を説明する。前述したように、実施形態ではルールベースでの集約処理が行われる。したがって、定義されているルールの件数が少なかったり、入力されたデータにおいてルールから逸脱した内容が多かったりする場合には、適切な集約が行われないことも想定される。一方で、仕訳の内容によってはそもそも取引毎の詳細な仕訳が必要なく、例えば請求書の全体を1つの仕訳データにしてよい場合もある。これを考慮して、プロセッサ11は、以下の条件に合致した場合には、入力されたデータ全体の内容を1つの集約結果に集約してもよい。また、集約処理の途中経過をモニターし、処理の途中においても集約ルールを変更可能として、より効率的に最適な集約ルールの導出も可能とすることができる。
1)入力されたデータの金額の総額と集約結果の金額とが同じである。
2)集約結果が1つに集約されている。
3)連続して一定回数以上、同じように集約されている。
(Modification)
Modifications of the embodiment are described below. As described above, in the embodiment, rule-based aggregation processing is performed. Therefore, it is possible that appropriate aggregation will not be performed if the number of defined rules is small or if the input data contains many deviations from the rules. On the other hand, depending on the content of the journal entry, detailed journal entry for each transaction may not be necessary in the first place; for example, the entire invoice may be combined into a single journal entry. Taking this into consideration, the processor 11 may aggregate the contents of all input data into a single aggregated result when the following conditions are met. Furthermore, the progress of the aggregation processing can be monitored, and the aggregation rules can be changed even during processing, enabling more efficient derivation of optimal aggregation rules.
1) The total amount of the input data is the same as the amount of the aggregation result.
2) The aggregated results are consolidated into one.
3) It has been aggregated in the same way a certain number of times in succession.
ここで、1)、2)、3)の判断は、ユーザによって編集された集約結果に基づいて行われることが望ましい。例えば、ユーザが、部分一致による集約結果に対して、過去に一定回数以上、同一の組み合わせに対する集約結果を特定の名目に集約する編集をし、それぞれの編集結果において入力されたデータの金額と集約結果の金額とが同じであった場合には、その編集後の集約結果が学習される。そして、次回以降は、同一の支払先で同一の組み合わせの名目の入力がされたときには、それらの名目は学習された名目に集約されてよい。このような変形例の処理が追加されることにより、文字列の部分一致の判定の回数が減り、集約処理の負荷のさらなる低減が期待される。 Here, it is desirable that the determinations in 1), 2), and 3) be made based on the aggregation results edited by the user. For example, if a user has edited the aggregation results based on partial matches a certain number of times in the past to aggregate the aggregation results for the same combination under a specific name, and the amount of the data entered in each edited result is the same as the amount of the aggregation result, the post-edit aggregation result is learned. Then, from the next time onwards, the same combination of names for the same payee is entered, those names may be aggregated under the learned name. By adding this type of modified processing, the number of times partial string matches are determined is reduced, and it is expected that the load on the aggregation process will be further reduced.
また、実施形態では、自動仕訳プログラム132による集約処理及び仕訳処理は、何れも端末1において行われるとされている。これに対し、集約処理及び仕訳処理は、端末1以外の例えば端末1が通信できるサーバ等において行われてもよい。この場合、サーバ等のストレージに、集約ルール133が記憶される。また、複数の端末1において集約処理を行った結果、仕訳処理を行った結果、及び集約ルールをサーバ等に送信し、サーバ等においてその結果を分析、評価することもし得る。そして、複数の結果に対する分析、評価の結果に基づいて最適な集約ルールを導出することもし得る。この時、集約前のデータも送信すれば、より詳細な分析、評価が可能なことは言うまでもない。 In addition, in the embodiment, the aggregation process and journalizing process by the automatic journalizing program 132 are both performed on terminal 1. However, the aggregation process and journalizing process may also be performed on a device other than terminal 1, such as a server with which terminal 1 can communicate. In this case, the aggregation rules 133 are stored in storage on the server or the like. Furthermore, the results of aggregation processes performed on multiple terminals 1, the results of journalizing processes, and the aggregation rules may be sent to a server or the like, and the results may be analyzed and evaluated on the server or the like. Then, the optimal aggregation rule may be derived based on the results of the analysis and evaluation of the multiple results. Needless to say, if the data before aggregation is also sent at this time, more detailed analysis and evaluation is possible.
また、実施形態では、集約処理は、ルールベースで行われるとされている。これに対し、集約処理は、取引の内容と集約結果との関係を学習した学習済みモデルによって行われてもよい。 In addition, in the embodiment, the aggregation process is performed on a rule-based basis. However, the aggregation process may also be performed using a trained model that has learned the relationship between transaction content and aggregation results.
また、上述した実施形態による各処理は、コンピュータであるプロセッサ11に実行させることができるプログラムとして記憶させておくこともできる。この他、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、プロセッサ11は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。 Furthermore, each process according to the above-described embodiment can be stored as a program that can be executed by processor 11, which is a computer. Alternatively, the program can be stored and distributed on a storage medium of an external storage device such as a magnetic disk, optical disk, or semiconductor memory. Processor 11 can then load the program stored on the storage medium of this external storage device, and its operation can be controlled by the loaded program, thereby executing the above-described process.
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。 The present invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the invention. Furthermore, the various embodiments may be implemented in appropriate combinations, in which case the combined effects can be obtained. Furthermore, the above-described embodiments include various inventions, and various inventions can be extracted by combining selected elements from the multiple elements disclosed. For example, if the problem can be solved and the desired effect can be obtained even if some elements are deleted from all elements shown in the embodiments, the configuration from which these elements are deleted can be extracted as an invention.
1 端末、11 プロセッサ、12 メモリ、13 ストレージ、14 入力インターフェース、15 ディスプレイ、16 通信モジュール、17 バス、132 自動仕訳プログラム、133 集約ルール。
1 terminal, 11 processor, 12 memory, 13 storage, 14 input interface, 15 display, 16 communication module, 17 bus, 132 automatic sorting program, 133 aggregation rule.
Claims (4)
予め定められた集約ルールに基づき、入力された異なる複数の名目を1つの名目に集約することと、
集約された名目に関連する金額の総額を計算することと、
集約された名目に対して自動仕訳を実行することと、
をプロセッサに実行させるための自動仕訳プログラム。 Accepting input of data on a plurality of different items representing the contents of a plurality of transactions and amounts related to each item;
Aggregating the input different names into one name based on a predetermined aggregation rule;
calculating the total amount of money related to the aggregated items;
Performing automatic journal entries for aggregated items;
An automatic journal entry program for causing a processor to execute the above.
前記複数の名目を集約することは、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第1の文字列を含むときに、入力された名目の文字列を対応する集約結果に集約することを前記プロセッサに実行させることを含む、
請求項1に記載の自動仕訳プログラム。 The aggregation rule is a partial match rule for the character string of the name,
aggregating the plurality of names includes, when the input name string includes a first string associated with a name predetermined for each aggregation result, aggregating the input name string into a corresponding aggregation result;
The automatic journalizing program according to claim 1.
請求項2に記載の自動仕訳プログラム。 Aggregating the plurality of names includes causing the processor to execute the following: when the input name string includes a second character string associated with a name predetermined for each aggregation result, the input name string is not aggregated into a corresponding aggregation result even when the input name string includes a first character string associated with a name predetermined for each aggregation result.
The automatic journalizing program according to claim 2.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023065682A JP7723372B2 (en) | 2023-04-13 | 2023-04-13 | Automatic journal entry program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023065682A JP7723372B2 (en) | 2023-04-13 | 2023-04-13 | Automatic journal entry program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024151891A JP2024151891A (en) | 2024-10-25 |
| JP7723372B2 true JP7723372B2 (en) | 2025-08-14 |
Family
ID=93156374
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023065682A Active JP7723372B2 (en) | 2023-04-13 | 2023-04-13 | Automatic journal entry program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7723372B2 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022129351A (en) | 2021-02-24 | 2022-09-05 | ファーストアカウンティング株式会社 | Data processing device, data processing method and program |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6528074B1 (en) * | 2018-08-21 | 2019-06-12 | 株式会社日本デジタル研究所 | Accounting processor, accounting method, accounting program |
| JP6667791B1 (en) * | 2019-04-05 | 2020-03-18 | 株式会社日本デジタル研究所 | Accounting system and program |
| JP7404215B2 (en) * | 2020-03-17 | 2023-12-25 | 株式会社オービック | Cost budget and actual management device, cost budget and actual management method, and cost budget and actual management program |
-
2023
- 2023-04-13 JP JP2023065682A patent/JP7723372B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022129351A (en) | 2021-02-24 | 2022-09-05 | ファーストアカウンティング株式会社 | Data processing device, data processing method and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024151891A (en) | 2024-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4120167A1 (en) | Abnormal behavior detection method and apparatus, and electronic device and computer-readable storage medium | |
| WO2024022303A1 (en) | Receipt approval method and apparatus for achieving ia based on rpa and ai, device, and medium | |
| JP7685732B2 (en) | Data processing device, data processing method and program | |
| CN113159871A (en) | Price checking method, price checking management system and storage medium | |
| CN114565473A (en) | Method and device for configuring insuring process, storage medium and computer equipment | |
| CN116204528A (en) | Voucher information generation method, device, equipment and medium for documented scene | |
| JP7084800B2 (en) | Difference management device, difference management method, and difference management program | |
| KR101958773B1 (en) | Method, apparatus and computer-readable medium for making product detail page based on web-toon story | |
| JP7723372B2 (en) | Automatic journal entry program | |
| CN106530043A (en) | Online printing system and method based on network | |
| CN118897675A (en) | Component library construction and calling method, device, equipment and storage medium | |
| WO2022149222A1 (en) | Journalization device, journalization method, journalization display method, and journalization display program | |
| JP7258322B2 (en) | journalizing device, journalizing method | |
| JP7249762B2 (en) | Journal processing device, warning processing device and program | |
| CN114647784A (en) | Pre-recommendation method, device, server, medium and product of financial product | |
| JP2025070582A (en) | Automatic journal entry program | |
| CN114519637A (en) | Method, device and system for managing banking loan | |
| CN114511368B (en) | Data processing method, monitoring method, system and electronic equipment | |
| CN111210329A (en) | Accounting document generation method and device, storage medium and electronic equipment | |
| JP7736745B2 (en) | Account settlement management device, account settlement management method, and account settlement management program | |
| US20110055071A1 (en) | System for determining and calculating ineligible collateral | |
| JP7783219B2 (en) | Commercial transaction status management device, commercial transaction status management method, and commercial transaction status management program | |
| JP2020086709A (en) | Journal creating device, journal creating method and journal creating program | |
| CN114049169A (en) | Method, device and computing equipment for computing transaction fee based on liquidation charging model | |
| CN116226107A (en) | Method, device, equipment and storage medium for generating and displaying agreement customer statement |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230413 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240604 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240703 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240910 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250723 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7723372 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |