JP2019117445A - Automated classification server and automated classification program - Google Patents
Automated classification server and automated classification program Download PDFInfo
- Publication number
- JP2019117445A JP2019117445A JP2017249800A JP2017249800A JP2019117445A JP 2019117445 A JP2019117445 A JP 2019117445A JP 2017249800 A JP2017249800 A JP 2017249800A JP 2017249800 A JP2017249800 A JP 2017249800A JP 2019117445 A JP2019117445 A JP 2019117445A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- journalizing
- virtual currency
- user
- database
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 49
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000004148 unit process Methods 0.000 claims 2
- 238000003672 processing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000010923 batch production Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本発明は、自動仕訳サーバおよび自動仕訳プログラムに係り、特に、仮想通貨ベースの取引の仕訳に関する。 The present invention relates to a journal server and a journaling program, and more particularly to journaling of virtual currency based transactions.
近年、ビットコイン、リップル、イーサリアム、モナーコインなどの各種の仮想通貨が急速に普及しつつあり、仮想通貨ベースの取引も今後急激に増大することが見込まれる。例えば、非特許文献1には、仮想通貨の会計処理について記載されている。この記載によれば、期末における仮想通貨の評価に関する会計処理として、仮想通貨の活発な市場が存在する場合、市場価格に基づく価額をもって仮想通貨の賃借対照表価額とし、帳簿価額との差額は当期の損益として処理するものとされている。また、仮想通貨の売買損益は、この仮想通貨の売買の合意が成立した時点を基準として、財務諸表に反映させる方法を採用するものとされている。
In recent years, various virtual currencies such as Bitcoin, Ripple, Ethereal, and Monar coin are rapidly spreading, and virtual currency-based transactions are expected to rapidly increase in the future. For example, Non-Patent
また、仮想通貨に関するものではないが、特許文献1には、有価証券および土地内訳明細書を作成する際、時価評価額との差額を評価損益として把握して時価情報として作成可能にする財務会計システムが開示されている。 具体的には、まず、企業の保有する有価証券および土地の時価情報を提供するWebサイトをそれぞれ登録しておく。つぎに、有価証券内訳明細書および土地内訳明細書の作成に際して、有価証券の証券コードおよび土地の名称の所在地に基づき、それぞれWebサイトから時価が取得される。そして、その時価総額および評価差額が自動的に計算される。
In addition, in
しかしながら、従来の自動仕訳サーバは、仮想通貨の急速な普及にもかかわらず、仮想通貨ベースの取引には対応できていないのが現状である。 However, the conventional automatic journaling server can not cope with virtual currency-based transactions despite the rapid spread of virtual currency.
そこで、本発明の目的は、仮想通貨ベースの取引の仕訳を自動的かつ効率的に行うことを可能にすることである。 Accordingly, it is an object of the present invention to enable automatic and efficient journaling of virtual currency based transactions.
かかる課題を解決すべく、第1の発明は、ユーザデータベースと、ブロックチェーン情報取得部と、取引データベースと、レート情報取得部と、仕訳処理部とを有し、仮想通貨ベースの取引の仕訳を行う自動仕訳サーバを提供する。ユーザデータベースは、仮想通貨ベースの取引を行うユーザ毎に固有の仮想通貨アドレスを記憶する。ブロックチェーン情報取得部は、分散型ネットワークとして構築されたブロックチェーンにアクセスして、ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得する。取引データベースは、ブロックチェーン情報取得部によって取得された取引情報を取引毎に記憶する。レート情報取得部は、仮想通貨の換算レートをネットワークを介して取得する。仕訳処理部は、取引データベースから読み出された取引情報と、レート情報取得部によって取得された換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。 In order to solve such problems, the first invention has a user database, a block chain information acquisition unit, a transaction database, a rate information acquisition unit, and a journal processing unit, and the journaling of virtual currency-based transactions is performed. Provide an automated journaling server to do. The user database stores a virtual currency address unique to each user who carries out a virtual currency-based transaction. The block chain information acquisition unit accesses the block chain constructed as a distributed network, and acquires the transaction information of the transaction corresponding to the virtual currency address stored in the user database. The transaction database stores the transaction information acquired by the block chain information acquisition unit for each transaction. The rate information acquisition unit acquires a conversion rate of the virtual currency via the network. The journalizing unit performs virtual currency-based transaction journalizing processing based on the transaction information read from the transaction database and the conversion rate acquired by the rate information acquiring unit.
ここで、第1の発明において、上記仕訳処理部は、上記仕訳処理として、仮想通貨の入金および出金に関する取引の仕訳処理と、仮想通貨の出金に伴う差損益処理とを行うことが好ましい。この場合、上記仕訳処理部は、上記差損益処理で用いられる計算法として予め用意された複数の計算法のうち、ユーザによって選択されたものを用いて、差損益処理を行ってもよい。 Here, in the first invention, as the journalizing process, the journalizing process unit preferably performs journalizing process of transactions relating to deposit and withdrawal of virtual currency, and profit and loss processing accompanying withdrawal of virtual currency. . In this case, the journal processing unit may perform the profit and loss processing using a plurality of calculation methods prepared in advance as the calculation method used in the gain and loss processing, which is selected by the user.
第1の発明において、上記ブロックチェーン情報取得部は、ブロックチェーンに定期的にアクセスして、仮想通貨アドレスに対応する新規な取引の取引情報を取引データベースに追加することが好ましい。この場合、上記仕訳処理部は、取引データベースに追加された新規な取引について仕訳処理を行うことが望ましい。また、この場合、上記仕訳処理部は、新規な取引の仕訳を一律に売買とみなして処理してもよい。 In the first invention, the block chain information acquisition unit preferably accesses the block chain periodically to add transaction information of a new transaction corresponding to the virtual currency address to the transaction database. In this case, it is desirable that the journalizing section perform journaling processing on new transactions added to the transaction database. Further, in this case, the journalizing section may process journals of new transactions uniformly as trading.
第1の発明において、特定のユーザから取引の仕訳依頼を受け付けた場合、このユーザのクライアントからネットワークを介して取得した仕訳依頼に係る取引の取引情報を取引データベースに記憶する仕訳依頼受付部をさらに設けてもよい。この場合、上記仕訳処理部は、仕訳依頼に係る取引について、仕訳依頼受付部によって取得された取引情報と、ブロックチェーン情報取得部によって取得された取引情報とが整合した場合、仕訳処理を行うことが好ましい。また、上記仕訳処理部は、仕訳依頼に係る取引情報に応じて取引の勘定科目を決定してもよい。 In the first invention, when the journalizing request of the transaction is received from the specific user, the journalizing request receiving unit further stores the transaction information of the transaction relating to the journaling request acquired from the client of this user via the network in the transaction database. You may provide. In this case, when the transaction information acquired by the journalizing request receiving unit matches the transaction information acquired by the block chain information acquiring unit, the journalizing processing unit performs the journalizing process for the transaction relating to the journalizing request. Is preferred. Further, the journalizing section may determine the account item of the transaction in accordance with the transaction information related to the journalizing request.
第2の発明は、仮想通貨ベースの取引を行うユーザ毎に固有の仮想通貨アドレスを記憶するユーザデータベースと、分散型ネットワークとして構築されたブロックチェーンより取得された取引情報を取引毎に記憶する取引データベースとを有するコンピュータにおいて実行され、仮想通貨ベースの取引の仕訳を行う自動仕訳プログラムを提供する。このプログラムは、第1のステップから第3のステップを有する処理をコンピュータに実行させる。第1のステップでは、ブロックチェーンにアクセスして、ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得して、取引データベースに記憶する。第2のステップでは、仮想通貨の換算レートをネットワークを介して取得する。第3のステップでは、取引データベースから読み出された取引情報と、換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。 The second invention is a transaction that stores, for each transaction, transaction information acquired from a user database storing a virtual currency address unique to each user who carries out a transaction based on virtual currency and a block chain constructed as a distributed network. An automated journaling program is provided which runs on a computer having a database and which performs virtual currency-based transaction journalizing. The program causes the computer to execute a process having first to third steps. In the first step, the block chain is accessed to obtain transaction information of the transaction corresponding to the virtual currency address stored in the user database, and stored in the transaction database. In the second step, the exchange rate of the virtual currency is obtained via the network. In the third step, the virtual currency-based transaction is journalized based on the transaction information read out from the transaction database and the conversion rate.
ここで、第2の発明において、上記第3のステップは、上記仕訳処理として、仮想通貨の入金および出金に関する取引の仕訳処理と、仮想通貨の出金に伴う差損益処理とを行うステップであることが好ましい。この場合、上記第3のステップは、差損益処理で用いられる計算法として予め用意された複数の計算法のうち、ユーザによって選択されたものを用いて、差損益処理を行うステップであってもよい。 Here, in the second invention, the third step is a step of performing, as the journalizing process, a journalizing process of transactions relating to deposit and withdrawal of virtual currency and a profit and loss process associated with the withdrawal of virtual currency. Is preferred. In this case, even if the third step is a step of performing gain and loss processing using a plurality of calculation methods prepared in advance as calculation methods used for gain and loss processing using one selected by the user. Good.
第2の発明において、上記第1のステップは、ブロックチェーンに定期的にアクセスして、仮想通貨アドレスに対応する新規な取引の取引情報を取引データベースに追加するステップであることが好ましい。この場合、上記第3のステップは、取引データベースに追加された新規な取引について仕訳処理を行うステップであることが望ましい。また、この場合、上記第3のステップは、新規な取引の仕訳を一律に売買とみなして処理するステップであってもよい。 In the second invention, the first step is preferably a step of periodically accessing the block chain to add transaction information of a new transaction corresponding to the virtual currency address to the transaction database. In this case, it is desirable that the third step is a step of performing a journalizing process on the new transaction added to the transaction database. Further, in this case, the third step may be a step of uniformly treating a journal of a new transaction as trading.
第2の発明において、特定のユーザから取引の仕訳依頼を受け付けた場合、このユーザのクライアントからネットワークを介して取得した仕訳依頼に係る取引の取引情報を取引データベースに記憶する第4のステップをさらに設けてもよい。この場合、上記第3のステップは、仕訳依頼に係る取引について、第4のステップで取得された取引情報と、第1のステップで取引情報とが整合した場合、仕訳処理を行うステップを含むことが好ましい。また、上記第3のステップは、仕訳依頼に係る取引情報に応じて取引の勘定科目を決定するステップであってもよい。 In the second invention, the fourth step of storing the transaction information of the transaction relating to the journalizing request acquired from the client of this user via the network in the transaction database when the journalizing request of the transaction is received from the specific user is further added You may provide. In this case, the third step includes performing the journalizing process when the transaction information acquired in the fourth step matches the transaction information in the first step with respect to the transaction relating to the journalizing request. Is preferred. The third step may be a step of determining the account item of the transaction in accordance with the transaction information related to the journalizing request.
本発明によれば、仮想通貨ベースの取引を行うユーザ毎の仮想通貨アドレスを記憶しておき、これをキーにブロックチェーンを検索することで、ユーザが行った取引に関する取引情報を取得・管理する。そして、この取引情報と、仮想通貨の換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を自動的に行う。これにより、ユーザが取引の仕訳を依頼する毎に、自己の仮想通貨アドレスの送信やブロックチェーンへのアクセスなどをユーザ自身が行う必要がないので、ユーザの利便性およびシステムの効率性に優れた自動仕訳サービスを実現できる。 According to the present invention, the virtual currency address for each user who performs virtual currency-based transaction is stored, and the block chain is searched using this as a key, thereby acquiring and managing transaction information related to the transaction performed by the user. . Then, based on the transaction information and the conversion rate of the virtual currency, journalizing processing of the virtual currency-based transaction is automatically performed. As a result, each time the user requests a journal entry of a transaction, there is no need for the user to transmit his / her virtual currency address or access to the block chain, etc., which is excellent in user convenience and system efficiency. Automatic journalizing service can be realized.
図1は、本実施形に係る自動仕訳ネットワークシステムの全体図である。この仕訳ネットワークシステム1は、仕訳サーバ2と、ユーザが操作する多数のクライアント3と、ブロックチェーン4と、仮想通貨取引所5とが、インターネットなどのネットワークを介して接続されている。仕訳サーバ2は、クライアント3から「取引」の仕訳依頼を受信した場合、この「取引」の仕訳処理を自動的に行い、仕訳結果をクライント2に送信する。本実施形態の特徴は、実通貨ベースで行われた取引のみならず、ビットコインなどに代表される仮想通貨ベースで行われた取引についても対応している点にある。仮想通貨ベースの取引の仕訳処理に際して、仕訳サーバ2は、ブロックチェーン4および仮想通貨取引所5に必要に応じてアクセスする。ブロックチェーン4は、分散型ネットワークとして構築されている。また、仮想通貨取引所5(ネットワーク上のコンピュータ)は、仮想通貨の換算レートに関する情報を提供する。
FIG. 1 is an overall view of an automatic journalizing network system according to the present embodiment. In this journalizing
本明細書において、「取引」とは、企業等が所有する財産(資産,負債)、資本、収益、費用の増加・減少を伴う簿記上の取引や、簿記上の取引以外においても、記帳(記録)に必要な取引などを総称する意味で用いられる。 In the present specification, “transaction” means not only bookkeeping transactions involving increase or decrease of property (assets, liabilities) owned by a company etc., capital, income, or expenses, but also bookkeeping transactions other than bookkeeping transactions ( Is used in a sense to generically refer to transactions required for
ここで、図2に基づき、ブロックチェーンの概念について説明する。ビットコインなどの仮想通貨は、取引履歴、すなわち、仮想通貨が今まで経てきた個々の取引(トランザクション)の集合体として表現される。それぞれのトランザクションは、前のトランザクションのハッシュ値や新たな所有者の公開鍵を含み、元の所有者の暗号鍵によってデジタル署名されている。全てのトランザクションに関する情報は、P2Pネットワーク全体で共有されている。このようにトランザクションを表現することで、元の所有者の許可なく、通貨を本人以外が勝手に譲渡することはできず、また、第三者は、通貨の譲渡を客観的に確認できるといった利点を有する。 Here, the concept of a block chain will be described based on FIG. A virtual currency, such as bitcoin, is represented as a transaction history, ie, a collection of individual transactions (transactions) to which the virtual currency has been passed. Each transaction contains the hash value of the previous transaction, the public key of the new owner, and is digitally signed by the original owner's cryptographic key. Information on all transactions is shared throughout the P2P network. By expressing the transaction in this manner, it is impossible for anyone other than the principal to freely transfer the currency without the permission of the original owner, and a third party can objectively confirm the transfer of the currency. Have.
図3は、トランザクションにおけるデータ構造(取引情報)の説明図である。トランザクションのデータ構造は、取引日のほかに、「出力 (出金する通貨)」、「入力 (入金に用いる通貨)」などを有している。送金には、相手に渡す通貨(額面)および宛先が必要であるが、それらを表現したものが出力である。自分に宛てられた通貨を使う (=誰かに送金する) ためには、過去のトランザクションの出力を参照しなければならず、それが今回のトランザクションにおける入力に相当する。一つのトランザクションにおいて、出力および入力はそれぞれ複数指定できる。任意の額の送金を行うためには、過去の自分宛のトランザクションの出力を集め、これから行う取引の入力として指定する必要がある。 FIG. 3 is an explanatory diagram of a data structure (transaction information) in a transaction. The data structure of the transaction includes "output (currency to withdraw)", "input (currency to be used for deposit), etc." in addition to the transaction date. Remittances require the currency (par value) and the address to be given to the other party, and the output is the representation of them. In order to use the currency addressed to you (= to send to someone), you have to refer to the output of the past transaction, which corresponds to the input in this transaction. Multiple outputs and inputs can be specified in one transaction. In order to remit an arbitrary amount, it is necessary to collect the output of past transactions addressed to you and designate it as the input of the transaction to be made.
なお、図1に示した構成では、ブロックチェーン4中の情報を提供する主体と、仮想通貨取引所5の運営主体とを別個のものとしているが、両者は同一であっても構わない。
In the configuration shown in FIG. 1, the entity providing the information in the
図4は、仕訳ネットワークシステム1の中核をなす仕訳サーバ2の構成図である。この仕訳サーバ2は、制御部2aと、ブロックチェーン情報取得部2bと、レート情報取得部2cと、仕訳依頼受付部2dと、仕訳処理部2eと、各種データベース2h〜2jとを主体に構成されている。制御部2aは、後述する取引の一括処理および個別処理を含めて、仕訳サーバ2の全体的な制御を司る。ブロックチェーン取得部2bは、ネットワーク上のブロックチェーン4に定期的またはユーザから取引の仕訳依頼を受け付ける毎にアクセスして、所定の仮想通貨アドレスに対応する取引の取引情報を取得する。レート情報取得部2cは、ネットワーク上の仮想通貨取引所5にアクセスして、所望の日における仮想通貨の換算レートを取得する。仕訳依頼受付部2dは、特定のユーザ(クライアント3)から取引の仕訳依頼を受け付け、このユーザのクライアントからネットワークを介して取得した仕訳依頼に係る取引の取引情報を取引データベース2iに記憶する。
FIG. 4 is a block diagram of the
仕訳処理部2eは、取引データベース2iから読み出された取引情報と、レート情報取得部2cによって取得された換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。この仕訳処理部2eは、仮想通貨ベースの取引に固有の機能として、取引認証部2fおよび差損益算出部2gを備えている。取引認証部2fは、仕訳依頼を受けた取引の個別処理時のみ用いられ、仕訳依頼受付部2dによって取得された取引情報と、ブロックチェーン情報取得部2bによって取得された取引情報とが整合するかどうかを認証する。両者が整合する場合には、仕訳依頼に係る取引の個別処理が行われ、両者が整合しない場合には、個別処理が行われることなく、エラー通知がユーザ(依頼者)に送信される。また、差損益算出部2gは、取引の一括処理時および個別処理時の双方で用いられ、仮想通貨の出金に伴う差損益(実通貨ベース)を算出する。仕訳処理部2eによる仕訳結果は、仕訳実績として仕訳データベース2jに記憶される。
The journalizing unit 2e performs virtual currency-based transaction journalizing processing based on the transaction information read from the
図5は、ユーザデータベース2hの論理構成図である。ユーザデータベース2hは、それぞれの「ユーザ」に関する情報を一元的に記憶・管理するものであるが、仮想通貨ベースの取引の仕訳処理との関係でいえば、特に、「仮想通貨アドレス」、「APIキー1」、「APIキー2」、「計算法」が重要である。これらは、ユーザによる所定の設定手順を経て、仕訳サーバ2側に登録される。ここで、「仮想通貨アドレス」は、仮想通貨を利用する際の口座番号に相当し、仮想通貨の利用者毎に固有の記号列が割り当てられている。ビットコインの場合、仮想通貨アドレス(ビットコインアドレス)は、1または3から始まる27〜34文字の英数字によって構成され、公開鍵から生成される。仕訳サーバ2(ブロックチェーン情報取得部2b)は、ブロックチェーン4から例えばユーザ「A」の取引情報を取得しようとする場合、このユーザ「A」に対応する仮想通貨アドレス「a」をブロックチェーン4側に送信する。
FIG. 5 is a logical block diagram of the user database 2h. The user database 2h stores and manages information on each "user" in a unified manner, but in the context of virtual currency-based transaction journalizing, in particular, "virtual currency address", "API"
「APIキー1」は、ブロックチェーン4へのアクセスの認証を行うために、ブロックチェーン4側より発行されたユーザ固有の認証キーである。仕訳サーバ2(ブロックチェーン情報取得部2b)は、ブロックチェーン4から例えばユーザ「A」の取引情報を取得しようとする場合、このユーザ「A」に対応するAPIキー1として「a1」をブロックチェーン4側のAPI(Application Programming Interface)に送信する。なお、ブロックチェーン4のアクセス認証が必要ない場合には、APIキー1は不要である。
The “
「APIキー2」は、仮想通貨取引所5へのアクセスの認証を行うために、仮想通貨取引所5側より発行されたユーザ固有の認証キーである。仕訳サーバ2(レート情報取得部2c)は、仮想通貨取引所5から例えばユーザ「A」の換算レートを取得しようとする場合、このユーザ「A」に対応するAPIキー2として「a2」を仮想通貨取引所5側のAPIに送信する。なお、仮想通貨取引所5へのアクセス認証が必要ない場合には、APIキー2は不要である。
The “
「計算法」は、差損益処理(払出単価計算)で用いられる計算法である。本実施形態では、複数の計算法が予め用意されており、ユーザによって選択されたものが用いられる。この計算法としては、(1)移動平均法、(2)総平均法、(3)最終仕入原価法、(4)個別法、(5)先入先出法、(6)売価還元法が存在する。上記(1)〜(2)は、有価証券および棚卸資産で使用される計算法であり、上記(3)〜(6)は、棚卸資産で使用される計算法である。これらの計算法の中から、システムの仕様として適宜組み合わせたものが選択肢としてユーザに提示される。ただし、計算法を選択できるのはサービス加入初年度に限るものとし、翌年度以降は初年度に選択した計算法を用いるものとする。 The “calculation method” is a calculation method used in profit and loss processing (payout unit price calculation). In the present embodiment, a plurality of calculation methods are prepared in advance, and one selected by the user is used. As this calculation method, (1) moving average method, (2) total average method, (3) final purchase cost method, (4) individual method, (5) first-in first-out method, (6) selling price reduction method Exists. The above (1) to (2) are calculation methods used for securities and inventories, and the above (3) to (6) are calculation methods used for inventories. Among these calculation methods, a combination of system specifications is presented to the user as an option. However, the calculation method can be selected only in the service enrollment first year, and the calculation method selected in the first year will be used from the next fiscal year onward.
なお、仕訳サーバ2は、ユーザデータベース2hの「仮想通貨アドレス」として、1ユーザについて複数の仮想通貨アドレスを管理してもよい。これにより、仮想通貨の仕様として1ユーザに対する複数アドレスの割り当てを許容し、アドレスを動的に変更するような場合であっても対応可能となる。この場合、ユーザは、自己に割り当てられた新たな仮想通貨アドレスを仕訳サーバ2にその都度登録すればよい。また、ユーザの代わりに仕訳サーバ2が、予め登録されたAPIキーを用いて仮想通貨取引所5などにアクセスし、このユーザに関する新たな仮想通貨アドレスを取得した上で、ユーザデータベース2hに自動で登録(アップデート)するようにしてもよい。
Note that the
図6は、取引データベース2iの論理構成図である。この取引データベース2iは、それぞれの取引に関する情報を一元的に記憶・管理するものであり、取引単位で設けられた多数の取引レコードによって構成されている。1つの取引レコードは、ユーザデータベース2hに紐付けられた「ユーザ」のほか、「取引情報A」、「取引情報B」、「仕訳」といったフィールドで構成されている。
FIG. 6 is a logical block diagram of the
ここで、「取引情報A」は、ブロックチェーン4より取得された取引情報(トランザクションに記述された情報)であり、具体的には、取引日、仮想通貨ベースの取引高(BTC)、入金/出金の区別、トランザクションID(ブロックチェーン4中の個々のトランザクションを識別するための識別情報)を含む。
Here, “Trading information A” is the trading information (information described in the transaction) acquired from the
「取引情報B」は、取引の仕訳依頼に係る取引情報(ユーザ入力情報)であり、具体的には、取引日、仮想通貨ベースの取引高(BTC)、入金/出金の区別を含む。また、「取引情報B」には、ユーザによって入力・指定された勘定科目が含まれていてもよい。「取引情報B」に勘定科目が含まれている場合、ユーザから仕訳依頼を受けた取引の仕訳結果にこの勘定科目が反映される(これがそのまま使用される。)。また、「取引情報B」は、ユーザから仕訳依頼を受けた取引についてだけ記述され、これを受けていない場合にはブランクとなる(一括処理時)。 The “transaction information B” is transaction information (user input information) related to a transaction journalization request, and specifically includes the transaction date, virtual currency-based transaction amount (BTC), and distinction of deposit / withdrawal. Further, the “transaction information B” may include an account entered / designated by the user. If the “transaction information B” includes an account item, this account item is reflected in the result of journalizing the transaction for which the user has sent a journalizing request (this is used as it is). In addition, “transaction information B” is described only for the transaction for which the journalizing request has been received from the user, and is blank when it is not received (in batch processing).
「仕訳ステータス」は、仕訳処理部2eによる仕訳処理が行われたか否かを管理するためのフラグであり、処理が行われた場合には「済」、処理が行われてない場合には「未済」に設定される。なお、仕訳サーバ2が一括処理および個別処理の一方だけを行う場合には「済」だけで足りるが、両方の処理を行う場合には「済」を細分化して、「済(一括)」、「済(個別)」として管理してもよい。
The "journalization status" is a flag for managing whether or not the journalizing process has been performed by the journalizing unit 2e, and "finished" when the process is performed, and "finished" when the process is not performed. Not set. If the
なお、図6に示した取引レコードの構成はあくまで論理的なものであって、物理的な構成を示すものではない点に留意されたい。すなわち、「ユーザ」、「取引情報A」、「取引情報B」、「仕訳ステータス」のそれぞれ、または、この中の任意の組み合わせを複数のテーブルで個別に管理し、これらのテーブルを共通のID(例えば取引ID)で紐付けるようなデータ構造であっても、図示した取引レコードが果たす機能と何ら異なるところはなく、論理的に等価である。本明細書の「取引レコード」とは、物理的なデータ構造の如何を問わず、仕訳サーバ2が管理・処理を行う上で必要な情報を互いに関連付けるデータ構造を広く包含する概念で用いられる。その意味において、「データベース」とは、互いに関連付けられたテーブルなどの集合体として捉えることもできる。この点は、取引データベース2iのみならず、ユーザデータベース2hや仕訳データベース2jについても同様である。
It should be noted that the configuration of the transaction record shown in FIG. 6 is purely logical and does not indicate the physical configuration. That is, each of “user”, “transaction information A”, “transaction information B”, “journalization status” or any combination thereof is individually managed by a plurality of tables, and these tables are common IDs Even if it is a data structure linked with (for example, transaction ID), there is no difference with the function which the illustrated transaction record performs, and it is logically equivalent. The term "transaction record" in this specification is used in a concept broadly including a data structure in which information necessary for the
図7は、仕訳サーバ2によって行われる取引の一括処理のフローチャートである。この一括処理や後述する個別処理も含めて、仕訳サーバ2において実行されるすべての処理は、仕訳サーバ2にコンピュータプログラム(自動仕訳プログラム)をインストールすることによって実行される。制御部2aは、毎時や毎日の如く定期的に本ルーチンを呼び出し、処理対象となる取引群をバッチ処理する。
FIG. 7 is a flowchart of batch processing of transactions performed by the journalizing
まず、ステップ1において、制御部2aは、ブロックチェーン4の検索対象を特定する。検索対象は、本サービスに加入しており、かつ、仮想通貨ベースの取引を行う者のすべて、すなわち、図5に示したユーザデータベース2hで管理されているすべて仮想通貨アドレスである。また、検索すべき期間としては、前回の一括処理時から現在の日時までである。なお、本サービスの新規加入した者を対象として、今までの取引情報を取得する場合、期間の指定なしで、このユーザの仮想通貨アドレスが検索対象となる。
First, in
ステップ2において、ブロックチェーン情報取得部2bは、ブロックチェーン4側のAPIに対して、ステップ1で特定された検索対象(仮想通貨アドレス等)を指定して、ブロックチェーン4の検索を依頼する。その際、ブロックチェーン4のアクセス認証が必要な場合には、依頼対象となるユーザに対応するAPIキー1がユーザデータベース2hから読み出され、ブロックチェーン4側のAPIに送信される。
In
ステップ3において、ブロックチェーン情報取得部2bは、ブロックチェーン4側のAPIから、検索依頼に係る取引(トランザクション)の取引情報を取得する。そして、ステップ4において、ブロックチェーン情報取得部2bは、制御部2aを介して、「新規な取引」に関する取引レコードを取引データベース2iに追加する。ここで、「新規な取引」とは、ブロックチェーン4より取得された取引のうち、取引データベース2iで管理されていない取引のことである。この取引レコードにおいて、「ユーザ」には、検索対象の仮想通貨アドレスに対応するユーザ名が記述される。「取引情報A」には、ブロックチェーン情報取得部2bによって取得された取引情報が記述される。そして、「仕訳ステータス」は「未済」にセットされる(図6参照)。なお、一括処理の場合、「取引情報B」はブランクのままである。ステップ4の処理によって、取引データベース2iの保持内容にとしてブロックチェーン4のそれが反映され、両者の整合性が担保される。
In
以下の処理は、仕訳ステータスが「未済」にセットされている取引レコード(以下「未済取引レコード」という。)のすべてに対して、処理対象を1つずつシフトしながら繰り返し行われる。 The following processing is repeatedly performed while shifting the processing target one by one with respect to all the transaction records (hereinafter referred to as "uncompleted transaction records") whose journal status is set to "pending".
まず、ステップ5において、仕訳処理部2eは、処理対象として、取引データベース2iから未済取引レコードを一つ読み出す。つぎに、ステップ7において、仕訳処理部2eは、処理対象となる未済取引レコードの「取引情報A」として記述された取引日の時点における換算レートを取得する。具体的には、仕訳処理部2eは、制御部2aを介してレート情報取得部2cに対して、取引日を指定して、その時点の換算レートを取得すべき旨を指示する。これに基づいて、レート情報取得部2cは、仮想通貨取引所5側のAPIに対して、指定された日付の換算レートの提供を依頼する。その際、仮想通貨取引所5のアクセス認証が必要な場合には、依頼対象となるユーザに対応するAPIキー1がユーザデータベース2hから読み出され、仮想通貨取引所5側のAPIに送信される。そして、レート情報取得部2cは、指定された日付の換算レートを仮想通貨取引所5より取得し、制御部2aを介して仕訳処理部2eにこれを転送する。
First, at
ステップ8において、仕訳処理部2eは、処理対象となる未済取引レコードの「取引情報A」と、ステップ7で取得された換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。 In step S8, the journalizing unit 2e performs virtual currency-based transaction journalizing processing based on the "transaction information A" of the unsettled transaction record to be processed and the conversion rate acquired in step S7.
ステップ9において、未済取引レコードに係る取引が出金であるか否かが判断される。このステップ9の判断結果が肯定の場合、すなわち、出金取引の場合、仕訳処理部2eはステップ10の差損益処理を行う。これに対して、ステップ9の判断結果が否定の場合、すなわち、入金取引の場合、仕訳処理部2eはステップ10の差損益処理をスキップして、ステップ11に進む。 In step 9, it is determined whether the transaction relating to the unsettled transaction record is withdrawal. If the judgment result of this step 9 is affirmative, that is, in the case of a withdrawal transaction, the journalizing unit 2e performs the profit and loss processing of step 10. On the other hand, if the determination result in step 9 is negative, that is, in the case of a deposit transaction, the journalizing processing unit 2e skips the profit and loss processing in step 10 and proceeds to step 11.
図10は、出金取引について行われる差損益処理のフローチャートであり、ステップ10からサブルーチンとして呼び出される。まず、ステップ20において、差損益算出部2gは、ユーザデータベース2hを参照して、処理対象となる未済取引レコードに係るユーザによって選択された「計算法」を特定する。つぎに、差損益算出部2gは、この計算法によって仮想通貨の平均単価を算出し(ステップ21)、この平均単価を用いて実通貨ベースの差損益を算出する(ステップ22)。これによって、本サブルーチンを抜けてステップ10に戻る。 FIG. 10 is a flowchart of the profit / loss processing performed for the withdrawal transaction, which is called from step 10 as a subroutine. First, in step 20, the profit / loss calculating unit 2g refers to the user database 2h to specify the “calculation method” selected by the user related to the unsettled transaction record to be processed. Next, the profit / loss calculating unit 2g calculates the average unit price of the virtual currency according to this calculation method (step 21), and calculates an actual currency-based gain / loss using this average unit price (step 22). As a result, the process exits this subroutine and returns to step 10.
再び図7を参照すると、ステップ11において、仕訳処理部2eは、ステップ8の仕訳処理(および、出金取引時にはステップ10の差損益処理)の結果を仕訳データベース2jに反映する。そして、処理対象に係る未済取引レコードの「仕訳ステータス」を「未済」から「済」(または「済(一括)」)に変更することによって、処理対象となる取引に関する処理が完了する。
Referring again to FIG. 7, in step 11, the journalizing unit 2e reflects the result of the journalizing process of step 8 (and the process of gain or loss of step 10 during withdrawal transactions) in the
ステップ12において、すべての未済取引レコードの処理が終了したか否かが判断される。ステップ12の判定結果が否定の場合、処理対象を次の未済取引レコードに移行した上で(ステップ13)、新たな処理対象(未済取引レコード)に対してステップ5〜11の処理が行われる。そして、以上の処理が繰り返され、最後の処理対象の処理が終了した場合、ステップ12の判断結果が否定から肯定に切り替る。これによって、一連の処理が終了して本ルーチンを抜ける。
In step 12, it is determined whether all pending transaction records have been processed. If the determination result in step 12 is negative, the process target is transferred to the next unsettled transaction record (step 13), and the processes in
以上の一括処理について、図9に示すような仮想通貨の入出金を例に説明する。同図は、ブロックチェーン4の検索結果として、あるユーザに関して、取引日が異なる8つの仮想通貨ベースの取引(単位=BTC)が取得されたケースを示している(ステップ3)。このケースでは、図10に示すように、8つの取引日のそれぞれについて換算レートが取得される(ステップ7)。例えば、「2017/11/01」の時点で、1(BTC)当たりのレートは「500,000(JPY)」(JPY=日本円)である。 The above-mentioned collective processing will be described by taking as an example the deposit and withdrawal of a virtual currency as shown in FIG. The figure shows a case where eight virtual currency-based transactions (unit = BTC) having different transaction dates are acquired for a certain user as a search result of the block chain 4 (step 3). In this case, as shown in FIG. 10, conversion rates are obtained for each of the eight trading days (step 7). For example, at the time of “2017/11/01”, the rate per 1 (BTC) is “500,000 (JPY)” (JPY = Japanese yen).
この場合、図11に示すように、「2017/11/18」、「2017/11/28」、「2017/12/08」の各出金取引について、「出金(平均単価)および「差損益」が算出される(ステップ10)。ここで、「平均単価」は、移動平均に基づき算出された値を用いている。「出金(平均単価)」は、(仮想通貨の出金額)×(平均単価)として算出される。また、「差損益」は、(仮想通貨の出金額)×(取引日単価−平均単価)として算出される。例えば、「2017/11/18」付の出金取引(出金額=0.2(BTC))に着目した場合、「出金(平均単価)」は508,000×0.2=101,600(JPY)、「差損益」は0.2×(560,000−508,000)=10,400(JPY)となる。 In this case, as shown in FIG. 11, for each withdrawal transaction of “2017/11/18”, “2017/11/28”, and “2017/12/08”, “withdrawal (average unit price) and“ difference ” Profit and loss is calculated (step 10). Here, the “average unit price” uses a value calculated based on the moving average. The “withdrawal (average unit price)” is calculated as (disbursed amount of virtual currency) × (average unit price). In addition, “gains and losses” are calculated as (disbursed amount of virtual currency) × (trade day unit price−average unit price). For example, when focusing on the withdrawal transaction with “2017 / Nov 18” (payment amount = 0.2 (BTC)), “withdrawal (average unit price)” is 508,000 × 0.2 = 101,600 (JPY), “gain / loss” Becomes 0.2 x (560,000-508,000) = 10,400 (JPY).
図12は、取引の一括処理による仕訳結果を示す図である。ブロックチェーン4から取得された取引情報のみに基づく仕訳では、取引の具体的な内容が不明なので、本来の取引の仕訳および差損益の仕訳を一律に売買とみなして処理する。すなわち、入金取引については、借方を仮想通貨、貸方を普通預金として計上される。また、出金取引については、入金取引とは逆に、借方を普通預金、貸方を仮想通貨として計上される。さらに、出金取引時に生じる差損益については、借方を普通預金、借方を為替通貨為替差益として計上される。この仕訳結果は、仕訳データベース2jに反映される(ステップ11)
FIG. 12 is a diagram showing a result of journalizing by batch processing of transactions. In the journal entry based on only the transaction information acquired from the
図13は、仕訳サーバ2によって行われる取引の個別処理のフローチャートである。制御部2aは、仕訳依頼受付部2dを介して、ユーザ側のクライアント3から取引の仕訳依頼を受け付けた場合、本ルーチンを呼び出し、仕訳依頼に係る取引について個別処理する。
FIG. 13 is a flowchart of the individual processing of the transaction performed by the journalizing
本フローチャートが図7のそれと大きく相違する点は、第1に、仕訳依頼に係る取引のみを処理対象とするため、図7に示したステップ12およびステップ13が存在しないことである。仕訳依頼に係る取引が複数存在する場合には、それぞれの取引に対して個別処理が複数回行われる。第2に、図7に示したステップ5とステップ7との間にステップ6が存在することである。以下、図7のフローチャートとの相違点を重点的に説明し、それ以外の共通点については同一のステップ番号を付して、ここでの説明を省略または簡略化する。
The main difference between this flowchart and that of FIG. 7 is that, first, steps 12 and 13 shown in FIG. 7 do not exist because only the transaction related to the journalizing request is to be processed. When there are a plurality of transactions relating to the journalizing request, individual processing is performed a plurality of times for each transaction. Second, there is a step 6 between the
まず、ステップ1において、制御部2aは、ブロックチェーン4の検索対象を特定する。ここで、検索対象となるのは、取引の仕訳を依頼したユーザ(例えば「A」)の仮想通貨アドレスである。制御部2aは、図5に示したユーザデータベース2hを参照して、このユーザAの仮想通貨アドレス「a」を特定する。ステップ2〜3を経て、ブロックチェーン4の検索結果として、仮想通貨アドレスaに関する取引(トランザクション)の取引情報が取得される。
First, in
ステップ4において、取引データベース2iに取引レコードが新規に追加される。この新規な取引レコードにおいて、「ユーザ」には、取引の仕訳を依頼したユーザAが記述される。「取引情報A」には、ブロックチェーン情報取得部2bによって取得された取引情報が記述される。また、「取引情報B」には、仕訳依頼受付部2dによって取得された取引情報が記述される。ユーザAは、仕訳サーバ2に仕訳を依頼する際、必要情報として取引の取引情報を送信することになっており、これが「取引情報B」となる。そして、「仕訳ステータス」は「未済」にセットされる。
In
なお、定期的に行われる一括処理(バッチ処理)の頻度次第では、個別処理時において、仕訳依頼に係る取引レコードが既に生成済みであることが想定される。この場合には、取引レコードを新規に追加することなく、既に存在する該当レコードにおける「取引情報B」に取引情報が記述される。 Note that depending on the frequency of batch processing (batch processing) performed periodically, it is assumed that the transaction record related to the journalizing request has already been generated at the time of individual processing. In this case, the transaction information is described in “transaction information B” in the corresponding existing record without adding a transaction record anew.
ステップ5において、仕訳処理部2eは、処理対象として、取引データベース2iから仕訳依頼に係るユーザAの取引レコードを読み出す。
In
ステップ6において、取引認証部2fは、取引レコードに記述された「取引情報A」と「取引情報B」とを比較して、両者の内容が整合しているか否かを判断する。具体的には、取引主体(ユーザA)が一致すること、取引日が一致すること、および、取引高が一致することが認証される。ただし、取引日の一致については、ブロックチェーン4へのトランザクションの組込時と、取引の約定日との間に若干のタイムラグ(例えば10分程度)が存在することを考慮すべきである。両者の内容が整合している場合には、ステップ7に進んで処理が続行される。これに対し、両者が整合していない場合には、ユーザに対してエラー通知を送信して(ステップ14)、本ルーチンを抜ける。このような取引内容の認証を行うことで、ユーザの誤入力を防止でき、ブロックチェーン4より取得した取引情報との整合性を確実に担保することができる。
In step 6, the transaction authentication unit 2 f compares “transaction information A” and “transaction information B” described in the transaction record, and determines whether or not the contents of both are consistent. Specifically, it is certified that the trading entities (user A) match, that the transaction dates match, and that the transaction volumes match. However, with regard to the agreement of the transaction dates, it should be taken into consideration that there is a slight time lag (for example, about 10 minutes) between the incorporation of the transaction into the
ステップ7〜11において、取引の仕訳処理と差損益処理とが行われ、仕訳結果が仕訳データベース2jに反映される。そして、処理対象に係る取引レコードの「仕訳ステータス」を「未済」から「済」(または「「済(一括)」から「済(個別)」)に変更することによって、処理対象となる取引に関する処理が完了する。
In steps 7 to 11, transaction journalization and profit and loss processing are performed, and the journalization result is reflected in the
取引の個別処理では、一括処理の場合とは異なり、取引の具体的な内容が既知であるため、取引の仕訳内容(勘定科目)については、ユーザによって入力された取引情報Bの内容に応じて決定される。図14は、取引の個別処理による仕訳結果を示す図である。取引の仕訳依頼に際してユーザが入力した取引情報に勘定科目(例えば、出金=「仕入」、入金=「売上」)が含まれている場合、仕訳結果の勘定科目はこれに決定される。具体的には、入金取引については、借方を仮想通貨、貸方を売上高として計上される。また、出金取引については、借方を仕入高、貸方を仮想通貨として計上される。さらに、出金取引時に生じる差損益(約定日時点)については、借方を仮想通貨、借方を仮想通貨為替差益として計上される。この仕訳結果は、仕訳データベース2jに反映される(ステップ11)。
In the individual processing of the transaction, unlike the case of the batch processing, since the specific content of the transaction is known, the transaction journal entry (account item) corresponds to the content of the transaction information B input by the user. It is determined. FIG. 14 is a diagram showing a result of journalizing by individual processing of a transaction. If the account information (e.g., withdrawal = "purchase", deposit = "sales") is included in the transaction information input by the user at the time of journalizing request for the transaction, the journal item of the journaling result is determined as such. Specifically, for incoming transactions, debit is recorded as virtual currency and credit is recorded as sales. In addition, for withdrawal transactions, debits are recorded as purchases and credits as virtual currency. Furthermore, for gains and losses (as of trade date) that occur during withdrawal transactions, debit is recorded as virtual currency and debit as virtual currency exchange gain. The journalized result is reflected in the journalized
本実施形態では、個別処理の仕訳結果が一括処理の仕訳結果よりも優先される。すなわち、「2017/11/28」、「2017/12/08」、「2017/12/12」の3つの取引について、一律に売買とみなした仕訳結果(図11参照)が、個々の取引内容を反映した仕訳結果に変更される。このような仕訳結果のアップデートを行うことによって、ユーザから仕訳依頼を受けた取引に関して、ブロックチェーン4との整合性を担保しつつ、きめ細かな仕訳を行うことができる。
In this embodiment, the journaling result of the individual process is prioritized over the journaling result of the batch process. That is, for the three transactions of “2017/11/28”, “2017/12/08”, and “2017/12/12”, the journalized results (see FIG. 11) that are regarded as uniform trading are individual transaction contents It will be changed to the journalized result that reflects By updating such a journaling result, it is possible to fine-tune journaling while securing consistency with the
なお、取引の仕訳依頼に際してユーザが入力した取引情報に勘定科目が含まれていない場合、機械学習などを用いて、ユーザ入力の取引情報に適した勘定科目を自動的に決定してもよい。例えば、本出願人の特許である特許第6161229号公報には、教師あり学習によって自己が有する関数の内部パラメータが調整された学習器を用いて、取引情報に適した勘定科目を出力する自動仕訳システムが記載されている。 If account information is not included in the transaction information input by the user at the time of the transaction journalization request, an account item suitable for the user-input transaction information may be automatically determined using machine learning or the like. For example, Japanese Patent No. 6161229, which is a patent of the present applicant, automatically journals that outputs account items suitable for transaction information, using a learning device in which the internal parameters of the function it has are adjusted by supervised learning. The system is described.
このように、本実施形態によれば、仮想通貨ベースの取引を行うユーザ毎の仮想通貨アドレスを記憶しておき、これをキーにブロックチェーン4を検索することで、ユーザが行った取引に関する取引情報を取得・管理する。そして、この取引情報と、仮想通貨の換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を自動的に行う。これにより、ユーザが取引の仕訳を依頼する毎に、自己の仮想通貨アドレスの送信やブロックチェーン4へのアクセスなどをユーザ自身が行う必要がないので、ユーザの利便性およびシステムの効率性に優れた自動仕訳サービスを実現できる。
As described above, according to the present embodiment, the virtual currency address of each user who carries out the virtual currency-based transaction is stored, and the
また、本実施形態によれば、取引の仕訳処理として、仮想通貨の入金および出金に関する取引の仕訳処理のみならず、仮想通貨の出金に伴う差損益処理も併せて行うことで、ユーザ取っての利便性をより高めることができる。その際、差損益処理で用いられる計算法をユーザが選択できるようにすれば、ユーザのニーズに的確に応えることができる。 Further, according to the present embodiment, as transaction journalization processing, not only journalization processing of transactions relating to deposit and withdrawal of virtual currency but also gain and loss processing accompanying the withdrawal of virtual currency is performed together with the user. Convenience can be further enhanced. At that time, if the user can select the calculation method used in the profit and loss processing, the needs of the user can be appropriately met.
また、本実施形態によれば、定期的なバッチ処理によって、ユーザデータベース2hに登録されているユーザに関する取引の取引情報をブロックチェーン情報取得部2bより取得し、これらの取引を一括処理することで、大量の取引を効率的かつ高速に処理することができる。 Further, according to the present embodiment, the transaction information of the transaction related to the user registered in the user database 2h is acquired from the block chain information acquisition unit 2b by the batch process periodically, and these transactions are collectively processed. , Can handle a large amount of transactions efficiently and at high speed.
また、本実施形態によれば、ユーザからの仕訳依頼に基づいて取引の個別処理に行うことで、ユーザ入力の取引内容を仕訳結果にきめ細かく反映することができる。その際、仕訳依頼受付部2dによって取得された取引情報と、ブロックチェーン情報取得部2bによって取得された取引情報との整合性をチェックすることで、ユーザの誤入力を防止でき、ブロックチェーン4より取得した取引情報との整合性を確実に担保することができる。
Further, according to the present embodiment, the transaction content input by the user can be finely reflected in the journalization result by performing individual processing of the transaction based on the journalizing request from the user. At this time, by checking the consistency between the transaction information acquired by the journalizing
さらに、本実施形態によれば、仕訳データ2jに保持された仕訳結果(仕訳履歴)を活用し、例えば図15に示すように、期末の評価替えの際は評価益の仕訳を作成することで、ユーザの個別の依頼(決算の評価替え処理など)から会計帳簿を提供することもできる。
Furthermore, according to the present embodiment, by utilizing the journalization result (journalization history) held in the
なお、上述した実施形態では、取引で用いられる仮想通貨が単一であることを前提に説明したが、本発明はこれに限定されるものではなく、仮想通貨は複数種であっても適用可能である。この場合、ユーザデータベース2hにおいて、仮想通貨アドレス、APIキー1、APIキー2などの情報を仮想通貨の種類毎に管理すると共に、それぞれの仮想通貨に対応した仮想通貨取引所5にアクセスすればよい。
Although the embodiment described above is described on the premise that a single virtual currency is used in a transaction, the present invention is not limited to this, and a plurality of types of virtual currency can be applied. It is. In this case, in the user database 2h, information such as virtual currency address,
さらに、本発明は、上述した実施形態に係る自動仕訳システムとして捉えることができるほか、これを実現するために仕訳サーバ3において実行されるコンピュータプログラム(特に、図7,図8および図13のフローチャートをルーチンとして備えるもの)として捉えることもできる。
Furthermore, the present invention can be understood as an automatic journalizing system according to the above-described embodiment, and a computer program (particularly, the flowcharts of FIG. 7, FIG. 8 and FIG. 13) executed in the
1 自動仕訳ネットワークシステム
2 仕訳サーバ
2a 制御部
2b ブロックチェーン情報取得部
2c レート情報取得部
2d 仕訳依頼受付部
2e 仕訳処理部
2f 取引認証部
2g 差損益算出部
2h ユーザデータベース
2i 取引データベース
2j 仕訳データベース
3 クライアント
4 ブロックチェーン
5 仮想通貨取引所
1 Automatic
かかる課題を解決すべく、第1の発明は、ユーザデータベースと、ブロックチェーン情報取得部と、取引データベースと、レート情報取得部と、仕訳依頼受付部と、仕訳処理部とを有し、仮想通貨ベースの取引の仕訳を行う自動仕訳サーバを提供する。ユーザデータベースは、仮想通貨ベースの取引を行うユーザ毎に固有の仮想通貨アドレスを記憶する。ブロックチェーン情報取得部は、分散型ネットワークとして構築されたブロックチェーンにアクセスして、ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得する。取引データベースは、ブロックチェーン情報取得部によって取得された取引情報を取引毎に記憶する。レート情報取得部は、仮想通貨の換算レートをネットワークを介して取得する。仕訳依頼受付部は、特定のユーザから取引の仕訳依頼を受け付けた場合、当該特定のユーザのクライアントからネットワークを介して取得した仕訳依頼に係る取引の取引情報を前記取引データベースに記憶する。仕訳処理部は、取引データベースから読み出された取引情報と、レート情報取得部によって取得された換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。仕訳処理部は、仕訳依頼に係る取引について、仕訳依頼受付部によって取得された取引情報と、ブロックチェーン情報取得部によって取得された取引情報とが整合した場合、上記仕訳処理を行う。 In order to solve the problem, the first invention has a user database, a block chain information acquisition unit, a transaction database, a rate information acquisition unit, a journal request reception unit, and a journal processing unit, and a virtual currency Provide an automatic journaling server that performs journaling based transactions. The user database stores a virtual currency address unique to each user who carries out a virtual currency-based transaction. The block chain information acquisition unit accesses the block chain constructed as a distributed network, and acquires the transaction information of the transaction corresponding to the virtual currency address stored in the user database. The transaction database stores the transaction information acquired by the block chain information acquisition unit for each transaction. The rate information acquisition unit acquires a conversion rate of the virtual currency via the network. When receiving a journalizing request of a transaction from a specific user, the journalizing request receiving unit stores transaction information of a transaction relating to a journalizing request acquired from the client of the specific user via the network in the transaction database. The journalizing unit performs virtual currency-based transaction journalizing processing based on the transaction information read from the transaction database and the conversion rate acquired by the rate information acquiring unit. When the transaction information acquired by the journalizing request receiving unit and the transaction information acquired by the block chain information acquiring unit are consistent with each other, the journalizing unit performs the journaling process for the transaction relating to the journalizing request.
第1の発明において、上記仕訳処理部は、仕訳依頼に係る取引情報に応じて取引の勘定科目を決定してもよい。 In the first invention, the journalizing unit may determine the account item of the transaction according to the transaction information related to the journalizing request.
第2の発明は、仮想通貨ベースの取引を行うユーザ毎に固有の仮想通貨アドレスを記憶するユーザデータベースと、分散型ネットワークとして構築されたブロックチェーンより取得された取引情報を取引毎に記憶する取引データベースとを有するコンピュータにおいて実行され、仮想通貨ベースの取引の仕訳を行う自動仕訳プログラムを提供する。このプログラムは、第1のステップから第4のステップを有する処理をコンピュータに実行させる。第1のステップでは、ブロックチェーンにアクセスして、ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得して、取引データベースに記憶する。第2のステップでは、仮想通貨の換算レートをネットワークを介して取得する。第3のステップでは、特定のユーザから取引の仕訳依頼を受け付けた場合、この特定のユーザのクライアントからネットワークを介して取得した仕訳依頼に係る取引の取引情報を取引データベースに記憶する。第4のステップでは、取引データベースから読み出された取引情報と、換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う。ここで、第4のステップは、仕訳依頼に係る取引について、第3のステップによって取得された取引情報と、第1のステップによって取得された取引情報とが整合した場合、上記仕訳処理を行う。 The second invention is a transaction that stores, for each transaction, transaction information acquired from a user database storing a virtual currency address unique to each user who carries out a transaction based on virtual currency and a block chain constructed as a distributed network. An automated journaling program is provided which runs on a computer having a database and which performs virtual currency-based transaction journalizing. This program causes the computer to execute a process having first to fourth steps. In the first step, the block chain is accessed to obtain transaction information of the transaction corresponding to the virtual currency address stored in the user database, and stored in the transaction database. In the second step, the exchange rate of the virtual currency is obtained via the network. In the third step, when a transaction journalizing request is received from a specific user, the transaction database of the transaction relating to the journalizing request acquired from the client of this specific user via the network is stored in the transaction database. In the fourth step, the virtual currency-based transaction is journalized based on the transaction information read from the transaction database and the conversion rate. Here, in the fourth step, for the transaction relating to the journalization request, when the transaction information acquired in the third step matches the transaction information acquired in the first step, the journalizing process is performed.
ここで、第2の発明において、上記第4のステップは、上記仕訳処理として、仮想通貨の入金および出金に関する取引の仕訳処理と、仮想通貨の出金に伴う差損益処理とを行うステップであることが好ましい。この場合、上記第4のステップは、差損益処理で用いられる計算法として予め用意された複数の計算法のうち、ユーザによって選択されたものを用いて、差損益処理を行うステップであってもよい。 Here, in the second invention, the fourth step is a step of performing, as the journalizing process, a journalizing process of transactions relating to deposit and withdrawal of virtual currency and a profit and loss process associated with the withdrawal of virtual currency. Is preferred. In this case, even if the fourth step is a step of performing gain or loss processing using one of a plurality of calculation methods prepared in advance as calculation methods to be used in the gain or loss processing, one selected by the user. Good.
第2の発明において、上記第1のステップは、ブロックチェーンに定期的にアクセスして、仮想通貨アドレスに対応する新規な取引の取引情報を取引データベースに追加するステップであることが好ましい。この場合、上記第4のステップは、取引データベースに追加された新規な取引について仕訳処理を行うステップであることが望ましい。また、この場合、上記第4のステップは、新規な取引の仕訳を一律に売買とみなして処理するステップであってもよい。 In the second invention, the first step is preferably a step of periodically accessing the block chain to add transaction information of a new transaction corresponding to the virtual currency address to the transaction database. In this case, it is preferable that the fourth step is a step of performing a journalizing process on the new transaction added to the transaction database. Further, in this case, the fourth step may be a step of uniformly treating a journal of a new transaction as trading.
第2の発明において、上記第4のステップは、仕訳依頼に係る取引情報に応じて取引の勘定科目を決定するステップであってもよい。 In the second invention, the fourth step may be a step of determining the account item of the transaction in accordance with the transaction information related to the journalizing request.
Claims (18)
仮想通貨ベースの取引を行うユーザ毎に固有の仮想通貨アドレスを記憶するユーザデータベースと、
分散型ネットワークとして構築されたブロックチェーンにアクセスして、前記ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得するブロックチェーン情報取得部と、
前記ブロックチェーン情報取得部によって取得された取引情報を取引毎に記憶する取引データベースと、
仮想通貨の換算レートをネットワークを介して取得するレート情報取得部と、
前記取引データベースから読み出された取引情報と、前記レート情報取得部によって取得された換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う仕訳処理部と
を有することを特徴とする自動仕訳サーバ。 In an automatic journaling server that journals virtual currency based transactions,
A user database storing a virtual currency address unique to each user who carries out a virtual currency-based transaction;
A block chain information acquisition unit which acquires block transaction information corresponding to a virtual currency address stored in the user database by accessing a block chain constructed as a distributed network;
A transaction database storing transaction information acquired by the block chain information acquisition unit for each transaction;
A rate information acquisition unit that acquires a virtual currency conversion rate via a network;
An automatic processing method comprising: a journalizing processing unit that performs virtual currency-based transaction journalizing processing based on the transaction information read out from the transaction database and the conversion rate acquired by the rate information acquiring unit Journal server.
前記ブロックチェーンにアクセスして、前記ユーザデータベースに記憶された仮想通貨アドレスに対応する取引の取引情報を取得して、前記取引データベースに記憶する第1のステップと、
仮想通貨の換算レートをネットワークを介して取得する第2のステップと、
前記取引データベースから読み出された取引情報と、前記換算レートとに基づいて、仮想通貨ベースの取引の仕訳処理を行う第3のステップと
を有する処理をコンピュータに実行させることを特徴とする自動仕訳プログラム。 A computer comprising: a user database storing a virtual currency address unique to each user performing virtual currency-based transactions; and a transaction database storing transaction information acquired from block chains constructed as a distributed network for each transaction. In an automated journaling program that runs and journals virtual currency-based transactions,
A first step of accessing the block chain to obtain transaction information of a transaction corresponding to a virtual currency address stored in the user database and storing the transaction information in the transaction database;
A second step of acquiring a virtual currency conversion rate via a network;
An automatic journalizing method characterized by causing a computer to execute a process having a third step of journalizing a virtual currency base transaction based on the transaction information read out from the transaction database and the conversion rate. program.
The automatic journalizing program according to claim 17, wherein the third step is a step of determining an account item of the transaction according to the transaction information related to the journalizing request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017249800A JP6409115B1 (en) | 2017-12-26 | 2017-12-26 | Automatic journal server and automatic journal program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017249800A JP6409115B1 (en) | 2017-12-26 | 2017-12-26 | Automatic journal server and automatic journal program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6409115B1 JP6409115B1 (en) | 2018-10-17 |
JP2019117445A true JP2019117445A (en) | 2019-07-18 |
Family
ID=63855310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017249800A Active JP6409115B1 (en) | 2017-12-26 | 2017-12-26 | Automatic journal server and automatic journal program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6409115B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6915138B1 (en) * | 2020-08-28 | 2021-08-04 | 株式会社ジェーシービー | Information providing equipment, programs and information processing methods |
JP2021117950A (en) * | 2020-01-24 | 2021-08-10 | 株式会社Genesis | Electronic currency tax return support system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3124470A1 (en) * | 2018-12-20 | 2020-06-25 | Vadim Shteynberg | Gain and loss computation for cryptocurrency transactions |
US12014360B2 (en) | 2018-12-20 | 2024-06-18 | Lukka, Inc. | Gain and loss computation for cryptocurrency transactions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009301412A (en) * | 2008-06-16 | 2009-12-24 | Nec System Technologies Ltd | Debt management system, debt management method and program |
JP2012230596A (en) * | 2011-04-27 | 2012-11-22 | Hitachi Systems Ltd | Credit settlement system and credit settlement method |
JP2017016696A (en) * | 2016-09-23 | 2017-01-19 | フリー株式会社 | Account processing device, account processing method and account processing program |
JP2017091148A (en) * | 2015-11-09 | 2017-05-25 | 日本電信電話株式会社 | Block chain generator, block chain generation method, block chain verifier, block chain verification method, and program |
JP6165957B1 (en) * | 2016-12-16 | 2017-07-19 | ファーストアカウンティング株式会社 | Accounting processing apparatus, accounting processing system, accounting processing method, and accounting processing program |
-
2017
- 2017-12-26 JP JP2017249800A patent/JP6409115B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009301412A (en) * | 2008-06-16 | 2009-12-24 | Nec System Technologies Ltd | Debt management system, debt management method and program |
JP2012230596A (en) * | 2011-04-27 | 2012-11-22 | Hitachi Systems Ltd | Credit settlement system and credit settlement method |
JP2017091148A (en) * | 2015-11-09 | 2017-05-25 | 日本電信電話株式会社 | Block chain generator, block chain generation method, block chain verifier, block chain verification method, and program |
JP2017016696A (en) * | 2016-09-23 | 2017-01-19 | フリー株式会社 | Account processing device, account processing method and account processing program |
JP6165957B1 (en) * | 2016-12-16 | 2017-07-19 | ファーストアカウンティング株式会社 | Accounting processing apparatus, accounting processing system, accounting processing method, and accounting processing program |
Non-Patent Citations (4)
Title |
---|
宮崎 英樹: ""ブロックチェーンがもたらす社会変化"", 技報 UNISYS TECHNOLOGY REVIEW, vol. 第37巻 第2号, JPN6018018004, 31 August 2017 (2017-08-31), pages 69 - 82, ISSN: 0003798429 * |
岡田 幸彦: ""FinTechで変わる会計の世界"", 企業会計, vol. 第69巻 第6号, JPN6018018011, 1 June 2017 (2017-06-01), pages 31 - 39, ISSN: 0003798431 * |
谷口孔陛: ""ビットコインを法人で買った場合の超具体的な処理方法 勘定科目・会計処理・税務"", [ONLINE], JPN6018018003, 22 November 2017 (2017-11-22), ISSN: 0003798428 * |
齊藤 洸: ""FinTechで変わる会計の世界"", 企業会計, vol. 第69巻 第6号, JPN6018018008, 1 June 2017 (2017-06-01), pages 64 - 72, ISSN: 0003798430 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021117950A (en) * | 2020-01-24 | 2021-08-10 | 株式会社Genesis | Electronic currency tax return support system |
JP6915138B1 (en) * | 2020-08-28 | 2021-08-04 | 株式会社ジェーシービー | Information providing equipment, programs and information processing methods |
JP2022039386A (en) * | 2020-08-28 | 2022-03-10 | 株式会社ジェーシービー | Information providing device, program, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP6409115B1 (en) | 2018-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3996021A1 (en) | Computer-implemented system and method for generating and extracting user related data stored on a blockchain | |
CN110494877A (en) | For issuing the system and method with track digital token in distributed network node | |
CN110494876A (en) | For issuing the system and method with track digital token in distributed network node | |
CN108352014A (en) | Use the technology business of block chain, clearance and the system and method for settling accounts securities trading | |
US20100076873A1 (en) | Fee refund management | |
US20020087447A1 (en) | System and method for managing and executing event based investments | |
US10997551B2 (en) | System and method for automotive inventory management and recordkeeping using multi-tiered distributed network transactional database | |
JP6409115B1 (en) | Automatic journal server and automatic journal program | |
CN108376317A (en) | A kind of intellectual property policy risk prevention system, intellectual property transaction system and method based on the system | |
US20220027902A1 (en) | Decentralized system for fractionalized tokens | |
CN101010690A (en) | Payment processing method and system | |
CN103154983A (en) | Payment system, shopping system and method for performing a plurality of payment transactions | |
US20180342015A1 (en) | An electronic security system and method for investment transaction | |
EP1803101A1 (en) | Computer-based payment transaction system and repository | |
US20210407007A1 (en) | Trading proposal arrangement, system and method | |
KR20190138927A (en) | A Cryptographic Liquidity Borrowing Method Using Block Chain | |
WO2014193324A1 (en) | Risk reporting system | |
JP2007047999A (en) | Security settlement balance management system and security settlement balance management program | |
US20150348081A1 (en) | System and method for managing deposit account rewards based on customizable payment card transaction details | |
CN110910252A (en) | System and method for managing security units associated with intellectual property assets | |
KR20200037469A (en) | The Convenient and Safe Method to intermediate Direct Financing utilizing Public key | |
KR102319496B1 (en) | Financial products trading computer, financial products trading system, and financial products trading method | |
KR20230059109A (en) | method and system for providing digital safe based on cloud environment | |
KR20220122419A (en) | The false real estate property registration prevention system based on blockchain technology | |
KR20220122416A (en) | The false real estate property registration prevention system based on blockchain technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180316 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180316 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180710 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6409115 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |