Automatic journal entry program

The automatic journal entry program addresses complexity and accuracy issues in journalization by aggregating transaction data based on predetermined rules, improving efficiency and reducing errors in accounting processes.

JP7723372B2Active Publication Date: 2025-08-14NI CONSULTING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023065682
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-04-13
Publication Date
2025-08-14
Estimated Expiration
2043-04-13

AI Technical Summary

Technical Problem

Automatic journalization processes face complexity and accuracy issues due to variations in how transaction details are described in invoices, leading to prolonged processing times and increased error rates.

Method used

An automatic journal entry program that includes a file processing program to display transaction contents, accept multiple item and amount inputs, aggregate data based on predetermined rules, and perform automatic journal entries for the aggregated items.

Benefits of technology

Reduces the complexity and improves the accuracy of accounting processing even with varying transaction descriptions, enhancing efficiency and reducing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007723372000001
    Figure 0007723372000001
  • Figure 0007723372000002
    Figure 0007723372000002
  • Figure 0007723372000003
    Figure 0007723372000003
Patent Text Reader

Abstract

To provide an automatic journalizing program which can improve journalizing accuracy with less complication of journalizing processing even in the case of high variability in writing of transaction contents and even in the case of high variability in type of expenses written in details.SOLUTION: The automatic journalizing program causes a processor to: receive input of a plurality of names representing contents of a plurality of transactions and data of amounts of money related to the respective names; aggregate the plurality of inputted names on the basis of a predetermined aggregation rule; calculate a total amount of money associated with the aggregated names; and perform automatic journalizing for the aggregated names.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This embodiment relates to an automatic journalizing program. [Background technology]

[0002] In recent years, automation of accounting work has been promoted as one of the means to realize the efficiency of accounting work. 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 automatic accounting work include rule-based methods and methods using artificial intelligence. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2018 / 179411 Summary of the Invention [Problem to be solved by the invention]

[0004] In automatic journalization, the details of various transactions described in documents such as invoices are journalized into account items in accordance with various predetermined rules, such as tax rules and company rules. However, the way in which transaction details are described in invoices, etc., often varies greatly due to differences in various conditions, such as differences in industry and operations. If the details of transactions described in invoices, etc., vary greatly, the automatic journalization process becomes complicated, the journalization process tends to take a long time, and there is also a high possibility of errors in the journalization results.

[0005] The embodiment aims to provide an automatic accounting program that can reduce the complexity of accounting processing while improving accounting accuracy, even when there is a large variation in the description of transaction contents. [Means for solving the problem]

[0006] According to one embodiment, the automatic journal entry program includes a file processing program that displays the contents of multiple transactions. different Accepts input of multiple items and amounts related to each item, and aggregates the input data based on predetermined aggregation rules. different Multiple names One name the processor to aggregate the items into a total amount, calculate the total amount associated with the aggregated items, and perform automatic journal entries for the aggregated items. [Effects of the Invention]

[0007] According to the embodiment, an automatic accounting program can be provided that can reduce the complexity of accounting processing while also improving accounting accuracy, even when there is a large variation in the description of transaction content or when there is a large variation in the types of expenses listed in the details. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a terminal according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the aggregation rule. [Figure 3] FIG. 3 is a flowchart showing the process of setting aggregation rules in a terminal. [Figure 4] FIG. 4 is a diagram showing an example of an aggregation rule setting screen. [Figure 5] FIG. 5 is a flowchart showing an example of the aggregation process and the journalization process. [Figure 6] FIG. 6 is a flowchart illustrating an example of the aggregation process. [Figure 7] FIG. 7 is a diagram showing an example of invoice data. [Figure 8] FIG. 8 is a diagram illustrating an example of the aggregation result. [Figure 9] FIG. 9 is a diagram showing an example of a journalization result. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, an embodiment will be described with reference to the drawings. FIG. 1 is a diagram showing the configuration of an example of a terminal according to an embodiment. As shown in FIG. 1, the terminal 1 has a processor 11, a memory 12, a storage 13, an input interface 14, a display 15, and a communication module 16. The processor 11, the memory 12, the storage 13, the input interface 14, the display 15, and the communication module 16 are connected to a bus 17 so as to be able to communicate with each other. Here, the terminal 1 may be a terminal such as a smartphone, a tablet terminal, or a personal computer.

[0010] The processor 11 is a processor configured to control the operation of the terminal 1. The processor 11 executes various processes in accordance with various programs stored in the storage 13. The processor 11 is, for example, a CPU. The processor 11 may be an MPU, a GPU, or the like instead of a CPU. Furthermore, the processor 11 does not need to be configured by one CPU or the like, and may be configured by multiple CPUs or the like.

[0011] The memory 12 includes memories such as ROM and RAM. The ROM is a non-volatile memory. The ROM stores the startup program of the terminal 1 and the like. The RAM is a volatile memory. The RAM is used as a working memory during processing in the processor 11, for example.

[0012] The storage 13 is a storage such as a flash memory. The storage 13 stores various programs and data used in the terminal 1. In the embodiment, the storage 13 stores an OS (operating system) 131, an automatic journalizing program 132, and aggregation rules 133. The storage 13 may store programs other than the OS 131 and the automatic journalizing program 132.

[0013] The OS 131 is a program for realizing the basic functions of the terminal 1. Various programs stored in the storage 13 are executed under the control of the OS.

[0014] The automatic journalizing program 132 is a program that causes the processor 11 to execute automatic journalizing processing. The automatic journalizing processing is a process of classifying input transactions into appropriate account items according to their content and calculating 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 the document. In this case, the automatic journalizing program 132 causes the processor 11 to execute a process of recognizing the content of the transaction from character strings in the document, etc., and classifying the recognized content of the transaction into account items. The automatic journalizing program 132 can be installed in 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.

[0015] Furthermore, the automatic journalizing program 132 in the embodiment causes the processor 11 to execute an aggregation process prior to the actual automatic journalizing process. The aggregation process is a process of aggregating input transactions according to predetermined rules. The aggregation result here is a compilation of the contents of multiple transactions under a single heading according to the aggregation rule 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.

[0016] The aggregation rules 133 are rules for executing aggregation processing. Some of the aggregation rules 133 may be set, for example, when the automatic accounting program 132 is installed. The aggregation rules 133 may be added by the user of the terminal 1. Here, the aggregation rules 133 do not necessarily need to be stored in the storage 13, but may be stored in a server or the like external to the terminal 1. In this case, the terminal 1 acquires the aggregation rules 133 from the external server or the like as needed.

[0017] Fig. 2 is a diagram showing an example of 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 Fig. 2 has three items: "aggregation result," "condition (includes)," and "condition (does not include)."

[0018] The "aggregation result" is the name to which the transactions are aggregated when the conditions are met. The names associated with the "aggregation result" include those that are preset when the automatic accounting program 132 is created. The names associated with the "aggregation result" also include those that are added by the user. In an embodiment, the contents of transactions aggregated into the same aggregation result are classified into the same account item.

[0019] "Condition (includes)" and "Condition (does not include)" are string conditions for aggregating into the corresponding aggregation result.

[0020] If the string set in "Condition (Includes)" is included in the string to be aggregated, the string to be aggregated will be aggregated into the corresponding "Aggregated Result." For example, in Figure 2, "Condition (Includes)" for the aggregated 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 aggregated result "Advertising / Promotion."

[0021] Furthermore, if the string set in the "Condition (Exclude)" is included in the string to be aggregated, the string to be aggregated will not be aggregated into the corresponding "Aggregation Result," even if the string set in the "Condition (Include)" is also included in the string to be aggregated. For example, in Figure 2, "Advertising Production" is set as the "Condition (Exclude)" 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 the string to be aggregated contains "Advertising." By being able to set a "Condition (Exclude)," it is possible to prevent situations in which transactions are aggregated based on simple partial matches, resulting in undesired journal entries being made.

[0022] 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 required to be detailed and therefore not aggregated with other payments. In an invoice from a specific business partner, rent may be listed as "office." While "office" should not normally be aggregated into the aggregation result "rent, etc.", it may be better to aggregate "office" into the aggregation result "rent, etc." for that business partner only. 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 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 be aggregated into different aggregation results. Furthermore, the aggregation rule 133 may be saved together with each aggregation result for evaluation and analysis of the aggregation result.

[0023] 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.

[0024] The display 15 is a display device such as a liquid crystal display, an organic EL display, etc. The display 15 displays various images.

[0025] 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, or the like. Alternatively, the communication module 16 is configured to connect to devices in the vicinity of the terminal 1 by short-range wireless communication such as Bluetooth (registered trademark). Furthermore, by connecting a storage device storing a specific aggregation rule to the communication module 16, it is possible to automatically set the specific aggregation rule in the terminal 1. This makes it possible to automatically operate a general-purpose terminal as a dedicated terminal.

[0026] Next, we will explain the operation of the terminal 1 based on the automatic journalizing program 132 in this embodiment. Figure 3 is a flowchart showing the process of setting aggregation rules for the automatic journalizing program 132 in the terminal 1. The process in Figure 3 is started, for example, when a user of the terminal 1 instructs the automatic journalizing program 132 to be started.

[0027] 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, when the automatic journalizing program 132 is started and an aggregation rule setting button is selected on an initial screen (not shown) displayed on the display 15, 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.

[0028] In step S2, the processor 11 causes the display 15 to display a setting screen for the aggregation rules.

[0029] 4 is a diagram showing an example of an aggregation rule setting screen. The aggregation rule setting screen 150 is a screen including, for example, an aggregation result input field 151, a condition (inclusive) input field 152, and a condition (exclusive) input field 153.

[0030] The aggregation result input field 151 is an input field for a name associated with the "aggregation result" of the aggregation rule 133. The user can directly input a character string representing the name of the aggregation result into the aggregation result input field 151. Alternatively, the user can select the name of the aggregation result they want from a drop-down list that is displayed by selecting a pull-down button 151a provided in the aggregation result input field 151. The drop-down list displays a list of names that are set as default values and names that have been newly added by the user.

[0031] The condition (including) input field 152 is an input field for the "condition (including)" of the aggregation rule 133. The user can enter a list of character strings representing transaction details that the user wants to aggregate into the corresponding aggregation result in the condition (including) input field 152. When a partial character string of the transaction details is entered, the aggregation process determines whether the character strings match partially. When the entire character string of the transaction details is entered, the aggregation process determines whether the character strings match completely. Here, in FIG. 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 be distinguished by other methods, such as by inserting a comma between each character string.

[0032] The condition (excluding) input field 153 is an input field for the "condition (excluding)" of the aggregation rule 133. The user can input a list of character strings representing transaction details that the user does not want aggregated into the corresponding aggregation result into the condition (excluding) input field 153. When a partial character string of the transaction details is input, the aggregation process determines whether the character strings match partially. When the entire character string of the transaction details is input, the aggregation process determines whether the entire character strings match completely. Here, as with the condition (including) input field 152, the condition (excluding) input field 153 may also distinguish between the character strings in the "condition (excluding)" by starting a new line after each character string or by inserting commas between character strings.

[0033] 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 when returning to the initial screen after saving the content entered in each input field as the aggregation rule 133. The back button 155 is a button selected by the user when returning to the initial screen without saving the content entered in each input field as the aggregation rule 133.

[0034] 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 Fig. 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.

[0035] Returning to the description of Fig. 3, in step S3, processor 11 updates the display of aggregation rule setting screen 150 in accordance with the user's input operation. For example, processor 11 displays character strings in accordance with the input operation of character strings into aggregation result input field 151, condition (inclusive) input field 152, and condition (exclusive) input field 153.

[0036] In step S4, processor 11 determines whether or not to save the aggregation rule. For example, if 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, the process proceeds to step S6. If it is not determined in step S4 that the aggregation rule is to be saved, the process proceeds to step S5.

[0037] In step S5, processor 11 determines whether to return from aggregation rule setting screen 150. For example, if back button 155 is selected, it is determined to return. If in step S5 it is not determined to return from aggregation rule setting screen 150, the process returns to step S3. In this case, aggregation rules can be subsequently set on aggregation rule setting screen 150. If in step S5 it is determined to return from aggregation rule setting screen 150, the process proceeds to step S7. In this case, processor 11 returns the display on display 15 to the initial screen.

[0038] 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 (includes)" and "condition (excludes)" fields based on the input content in condition (includes) input field 152 and condition (excludes) 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 (includes)," and "condition (excludes)" fields of aggregation rule 133. Then, processor 11 registers the name entered in aggregation result input field 151 in the newly added item "aggregation result," while registering the input contents of condition (inclusive) input field 152 and condition (exclusive) input field 153 in the newly added items "condition (inclusive)" and "condition (exclusive)." After that, processor 11 returns the display on display 15 to the initial screen. Then, the process proceeds to step S7.

[0039] In step S7, the processor 11 determines whether or not to terminate the processing of the automatic journalizing program 132. For example, it is determined that the processing is to be terminated when an end button displayed on an 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 is terminated.

[0040] Next, the aggregation process and journalizing process will be described. FIG. 5 is a flowchart showing the aggregation process and journalizing process. The process in FIG. 5 is started, for example, when the user of the 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 predetermined format.

[0041] In step S11, the processor 11 executes the aggregation process. After the aggregation process, the process proceeds to step S12. The aggregation process will be described below with reference to Fig. 6. Fig. 6 is a flowchart showing an example of the aggregation process.

[0042] 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, the process proceeds to step S102. If it is determined in step S101 that the input data is not image data, the process proceeds to step S103.

[0043] In step S102, the processor 11 performs character recognition on the input image data. Character recognition may be performed using any method.

[0044] In step S103, processor 11 acquires one name character string from the input data. For example, if the input data is text data, processor 11 acquires the name character string in the order in which it was input. Also, for example, if the input data is tabular data, processor 11 acquires the name character string in order from the top row. Also, for example, if the input data is image data, processor 11 acquires the name character string in the order in which character recognition was performed.

[0045] In step S104, the processor 11 acquires an aggregation rule for one "aggregation result" from the aggregation rules 133. For example, the processor 11 acquires aggregation rules in order from the top of FIG.

[0046] In step S105, processor 11 determines whether the acquired name character string matches the acquired "condition (inclusive)." For example, if the acquired name character string contains any of the character strings listed in the corresponding "condition (inclusive)," it is determined that the acquired name character string matches the acquired "condition (inclusive)." If it is determined in step S105 that the acquired name character string matches the acquired "condition (inclusive)," the process proceeds to step S106. If it is not determined in step S105 that the acquired name character string matches the acquired "condition (inclusive)," the process proceeds to step S108.

[0047] In step S106, processor 11 determines whether the acquired name character string matches the "condition (excludes)" of the "aggregation result" that was previously determined to match the "condition (includes)." For example, if the acquired name character string contains any of the character strings listed in the corresponding "condition (excludes)," it is determined that the acquired name character string matches the acquired "condition (excludes)." If it is not determined in step S106 that the acquired name character string matches the acquired "condition (excludes)," the process proceeds to step S107. If it is determined in step S106 that the acquired name character string matches the acquired "condition (excludes)," the process proceeds to step S108.

[0048] 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. Thereafter, processing proceeds to step S109. That is, in the embodiment, when the "condition (include)" is met but the "condition (exclude)" is not met, the corresponding name is aggregated into the corresponding "aggregated result."

[0049] In step S108, processor 11 determines whether all aggregation rules have been acquired, i.e., whether judgments based on all aggregation rules have been made for the acquired nominal character string. If it is determined in step S108 that all aggregation rules have not been acquired, the process 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, the process proceeds to step S109.

[0050] In step S109, processor 11 determines whether all name strings have been acquired, i.e., whether determination based on all aggregation rules has been performed for all name strings. If it is determined in step S109 that all name strings have not been acquired, the process 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, the process proceeds to step S110.

[0051] In step S110, the processor 11 displays the aggregation result on the display 15. The user can edit the aggregation result on the display screen of the aggregation result. After the editing is completed, the processing of FIG. 6 ends.

[0052] The processing in Figure 6 will be explained in detail below. The following explanation takes as an example the aggregation processing for the invoice data shown in Figure 7. 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, that is, 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.

[0053] In the aggregation process, processor 11 sequentially acquires character strings of names from the input data. For example, in the case of the invoice data of Fig. 7, processor 11 acquires the character strings in the order of "rent," "management fee," "waste disposal fee," "electricity fee," and "after-hours air conditioning fee."

[0054] Next, processor 11 acquires aggregation rules in sequence. For example, in the case of the aggregation rules shown in Fig. 2, the aggregation rules are acquired in the order of "advertising and promotion," "commissions," "membership fees," "donations," "transportation," "rent, etc.", "parking fees," utility fees, etc.

[0055] Next, processor 11 determines whether the character string of the acquired title matches the acquired "conditions (including)." For example, the character string "Rent" of the product name shown in FIG. 7 does not include any of the character strings listed in the aggregation results "Advertising / Promotion," "Commission," "Miscellaneous Membership Fees," "Donations," and "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," and "Shipping." On the other hand, the character string "Rent" includes 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."

[0056] 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" includes the string "rent" listed in the "condition (includes)" of the aggregation result "rent, etc." On the other hand, the string "rent" does not include 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."

[0057] As a result, the string "Rent" is aggregated into the aggregation result "Rent, etc." A similar determination is made for the strings of each product name. Here, strings that do not match any of the "Conditions (including)" are left unaggregated.

[0058] 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 a 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 of the "Amount" of each product aggregated in the corresponding aggregation result. In other words, the "Amount" in Figure 8 is the total of the "Amount" of the "No." 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.

[0059] 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 the editing is complete, the processing of Fig. 6 ends.

[0060] Now, returning to the explanation of FIG. 5, in step S12 after the aggregation process, the processor 11 executes the journalization process. As described above, the journalization process is executed on the aggregation result. After the journalization process, the process proceeds to step S13. FIG. 9 is a diagram showing an example of the journalization result. As shown in FIG. 9, the journalization process journalizes the contents of the transaction shown in FIG. 7 into predetermined account items.

[0061] In step S13, the processor 11 displays the journalized results on the display 15. The user can edit the journalized results on the display screen of the journalized results. After the editing is completed, the screen transitions to the initial screen, and the process proceeds to step S14.

[0062] In step S14, the processor 11 determines whether or not to terminate the processing of the automatic journalizing program 132. For example, it is determined that the processing is to be terminated when an end button displayed on an 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 is terminated.

[0063] As described above, according to the embodiment, in the automatic journalization process, the contents of transactions entered before the actual journalization process are aggregated according to predetermined aggregation rules. This reduces the complexity of the process, whether the journalization process for invoices and other documents with various contents is performed based on rules or a trained model. Furthermore, reducing the complexity of the process is expected to improve the accuracy of the journalization process. Furthermore, it is expected that the number of rules set in the journalization process and the amount of training data required for training the trained model will be reduced.

[0064] In addition, in the embodiment, the aggregation process is performed based on rules that involve partial string matching. This is expected to reduce the processing load. Furthermore, since the rules can be defined by the user, it is expected that appropriate aggregation will be performed based on operations, etc. Furthermore, the partial string matching rule can be set not only for conditions that include specific strings, but also for conditions that do not include specific strings. This is expected to prevent journal entries that are not intended by the user from being made.

[0065] (Variation) 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 is not necessary in the first place, and for example, the entire invoice may be combined into a single journal entry data. Taking this into consideration, processor 11 may aggregate the contents of all input data into a single aggregated result when the following conditions are met. Furthermore, by monitoring the progress of the aggregation processing and making it possible to change the aggregation rules even during processing, it is possible to more efficiently derive optimal aggregation rules. 1) The total amount of the input data is the same as the amount of the aggregated data. 2) The aggregated results are consolidated into one. 3) They are aggregated in the same way a certain number of times in succession.

[0066] Here, it is desirable that the determinations of 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 if the amount of the data entered in each edited result is the same as the amount of the aggregation result, the edited aggregation result is learned. Then, from the next time onwards, when the same combination of names for the same payee is entered, those names may be aggregated under the learned name. By adding such modified processing, the number of times partial string matches are determined is reduced, and further reduction in the load of the aggregation process is expected.

[0067] In addition, in the embodiment, the aggregation process and journalizing process by the automatic journalizing program 132 are both performed on the terminal 1. However, the aggregation process and journalizing process may be performed on a device other than the terminal 1, such as a server with which the 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 the aggregation process performed on multiple terminals 1, the results of the journalizing process, and the aggregation rules may be transmitted to the server or the like, and the results may be analyzed and evaluated on the server or the like. Then, an 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 transmitted, more detailed analysis and evaluation are possible.

[0068] In addition, in the embodiment, the aggregation process is performed based on rules. However, the aggregation process may be performed using a trained model that has learned the relationship between transaction details and aggregation results.

[0069] Furthermore, each process according to the above-described embodiment can be stored as a program that can be executed by the processor 11, which is a computer. Alternatively, the program can be stored in a storage medium of an external storage device such as a magnetic disk, an optical disk, or a semiconductor memory and distributed. The processor 11 can then load the program stored in the storage medium of the external storage device, and its operation can be controlled by the loaded program, thereby executing the above-described process.

[0070] 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 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 disclosed elements. 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. [Explanation of symbols]

[0071] 1 Terminal, 11 Processor, 12 Memory, 13 Storage, 14 Input Interface, 15 Display, 16 Communication Module, 17 Bus, 132 Automatic Sorting Program, 133 Aggregation Rules.

Claims

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.

2. 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.

3. 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.

4. 2. The automatic journalizing program according to claim 1, further comprising causing said processor to execute the step of prompting a user to set said aggregation rule.

Citation Information

Patent Citations

  • Data processing device, data processing method and program

    JP2022129351A

  • Accounting system and accounting method

    WO2018179411A1