Accounting account processing method, system and equipment and computer program product
By refining the accounting processing process into three modules: accounting event triggering, entries amount calculation and accounting, the existing system's difficulty in positioning problems and unclear architecture during the entries generation process is solved, and processing efficiency and system scalability are improved.
Patent Information
- Application Number
- CN202510214434.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-26
- Publication Date
- 2025-06-13
AI Technical Summary
The existing accounting and accounting processing system is difficult to quickly and accurately locate problem links during the entry generation process, and the system architecture is not clear enough, which increases the difficulty of demand analysis and development, and the system is not scalable, reusable and reliable.
The accounting processing process is refined into three modules: accounting event triggering, entries amount calculation and accounting. The accounting event triggering module determines whether the detailed information triggers a preset accounting event. The entry amount calculation module calculates the entry amount, and the accounting module generates accounting entries.
It improves the efficiency and accuracy of accounting accounting processing, simplifies problem investigation and positioning, reduces the difficulty of development and maintenance, and enhances the scalability and reusability of the system.
Smart Images

Figure CN120147033A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of accounting, and in particular to an accounting processing method, system, device, and computer program product. Background Art
[0002] There are mainly two forms for the current system accounting engine to generate accounting entries. One is to enumerate accounting rules based on business scenarios, transaction element information, subject information, investment portfolio information, etc. When the trigger conditions corresponding to each accounting rule are triggered, the system automatically runs until the accounting entries are generated. The other is to abstract the business scenarios, first identify the corresponding scenarios, and then identify the corresponding accounts to generate accounting entries according to the matching of the scenarios and the salable products.
[0003] The prior art has at least the following problems:
[0004] 1) When problems occur in the process of generating accounting entries, it is difficult to quickly and accurately locate the problematic links.
[0005] 2) The overall architecture of the system is not clear enough, making it difficult to vertically divide the function points, which increases the difficulty of system requirements analysis and development.
[0006] 3) The overall scalability, reusability, and reliability of the system are not high. Summary of the Invention
[0007] Embodiments of this application provide an accounting processing method, system, device, and computer program product to improve the efficiency and accuracy of problem troubleshooting and positioning, reduce the difficulty of development and maintenance, and thus improve the efficiency and accuracy of accounting processing.
[0008] Embodiments of this application adopt the following technical solutions:
[0009] In a first aspect, embodiments of this application provide an accounting processing method, which is executed by an accounting processing system. The accounting processing system includes an accounting event trigger module, an entry amount calculation module, and an accounting module. The accounting processing method includes:
[0010] Based on the accounting event trigger module, determine whether the detailed information triggers a preset accounting event;
[0011] Based on the entry amount calculation module, when the detailed information triggers the preset accounting event, calculate the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event;
[0012] Based on the accounting module, generate accounting entries using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event.
[0013] Optionally, the preset accounting event includes a real-time monitoring type accounting event, and determining whether the detailed information triggers the preset accounting event includes:
[0014] Real-time monitoring whether the detailed list changes;
[0015] In the case where the detailed list changes, determining whether the changed detailed information triggers the real-time monitoring type accounting event;
[0016] If the changed detailed information meets the preset conditions corresponding to any real-time monitoring type accounting event, it is determined that the changed detailed information triggers the real-time monitoring type accounting event;
[0017] Otherwise, it is not triggered.
[0018] Optionally, the preset accounting event further includes a scheduled task type accounting event, and determining whether the detailed information triggers the preset accounting event includes:
[0019] Determining whether the detailed information in the detailed list triggers the scheduled task type accounting event according to the preset scheduled task execution cycle;
[0020] If the detailed information in the detailed list meets the preset conditions corresponding to any scheduled task type accounting event, it is determined that the detailed information in the detailed list triggers the scheduled task type accounting event.
[0021] Optionally, in the case where the detailed information triggers the preset accounting event, calculating the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event includes:
[0022] In the case where the detailed information triggers the preset accounting event, determining the corresponding entry amount calculation strategy according to the preset accounting event, and the entry amount calculation strategy is composed of at least one entry amount calculation unit;
[0023] Sequentially calling each entry amount calculation unit included in the entry amount calculation strategy to generate the entry amount corresponding to the preset accounting event.
[0024] Optionally, the accounting bookkeeping processing method further includes:
[0025] Decomposing and encapsulating the calculation steps included in all entry amount calculation strategies to obtain a plurality of entry amount calculation units;
[0026] The sequentially calling each entry amount calculation unit included in the entry amount calculation strategy includes:
[0027] Determining all entry amount calculation units included in each entry amount calculation strategy;
[0028] Call each entry amount calculation unit included in the entry amount calculation strategy in sequence.
[0029] Optionally, the generating an accounting entry by using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event includes:
[0030] Determine a corresponding accounting condition table according to the preset accounting event;
[0031] Determine a corresponding accounting code according to the detailed information and the accounting condition table;
[0032] Generate an accounting entry by using the accounting code according to the detailed information and the entry amount.
[0033] Optionally, the determining a corresponding accounting code according to the detailed information and the accounting condition table includes:
[0034] Compare the detailed information with preset conditions corresponding to each accounting code in the accounting condition table;
[0035] When the detailed information meets the preset condition corresponding to any one accounting code, use the accounting code as the accounting code corresponding to the detailed information;
[0036] Wherein, the accounting condition table is configured to be stored in a cache after processing an accounting condition general table, the accounting condition table includes a condition table ID, condition elements, and condition element values, and the accounting condition general table includes a condition element combination ID, condition elements, condition element values, and accounting code values.
[0037] In a second aspect, an embodiment of the present application further provides an accounting processing system, and the accounting processing system includes:
[0038] An accounting event trigger module, configured to determine whether detailed information triggers a preset accounting event;
[0039] An entry amount calculation module, configured to calculate an entry amount according to the detailed information and an entry amount calculation strategy corresponding to the preset accounting event when the detailed information triggers the preset accounting event;
[0040] An accounting module, configured to generate an accounting entry by using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event.
[0041] In a third aspect, an embodiment of the present application further provides a device, including:
[0042] A processor; and a memory arranged to store computer-executable instructions, which when executed cause the processor to execute any one of the foregoing accounting processing methods.
[0043] In a fourth aspect, an embodiment of the present application further provides a computer program product, including a computer program / instructions, which when executed by a processor implement any one of the foregoing accounting processing methods.
[0044] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: The accounting processing method in the embodiments of the present application is executed by an accounting processing system, which includes an accounting event trigger module, an entry amount calculation module, and an accounting module. First, based on the accounting event trigger module, it is determined whether the detailed information triggers a preset accounting event; then, based on the entry amount calculation module, when the detailed information triggers a preset accounting event, the entry amount is calculated according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event; finally, based on the accounting module, according to the detailed information, the entry amount, and the preset accounting event, an accounting entry is generated using the accounting code corresponding to the detailed information. The accounting processing method in the embodiments of the present application realizes the automation of various accounting processing processes by refining the accounting processing process, clearly dividing it into three links: accounting event trigger, entry amount calculation, and accounting, improves the efficiency and accuracy of accounting processing, and the modular design scheme facilitates quick and accurate problem troubleshooting and positioning in the later stage. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0046] Figure 1 is a schematic flowchart of an accounting processing method in an embodiment of the present application;
[0047] Figure 2 is a schematic flowchart of an entry amount calculation process in an embodiment of the present application;
[0048] Figure 3 is a schematic structural diagram of an accounting processing system in an embodiment of the present application;
[0049] Figure 4 is a schematic structural diagram of a device in an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0050] To make the objectives, technical solutions and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments of this application and the corresponding drawings. Obviously, the described embodiments are only a part rather than all of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without creative efforts shall fall within the scope of protection of this application.
[0051] The following will, in conjunction with the drawings, elaborate on the technical solutions provided by each embodiment of this application.
[0052] The main technical terms involved in this application include:
[0053] 1) Accounting Engine: The English name is Accounting Engine. As a bridge connecting the business system and the financial system, it centralizes the data that needs to be processed for accounting in the scattered business systems. Through data processing, it is transformed into accounting entries that meet the requirements of financial analysis and accounting according to preset rules, realizing the integration of business and finance.
[0054] 2) Trigger Engine: It covers various scenarios and trigger conditions that require accounting processing, and is a function or mechanism for starting the Accounting Engine.
[0055] 3) Calculation Engine: A function or mechanism for obtaining the necessary component of the accounting entry - the amount. In some accounting entries, the amount can be directly obtained through transaction elements, while in some cases, it needs to be obtained through transaction matching and complex calculations. An independent Calculation Engine is responsible for calculating and providing the amount required for generating the entry.
[0056] 4) Condition Table: A combination of accounting codes with similar functions and definitions. By identifying the source and meaning of the accounting codes, analyzing the composition of the accounting codes, abstracting and clustering the accounting codes with the same function into the same table, and distinguishing the accounting codes according to different condition elements, it is used for repeated selection and invocation when configuring mapping rules.
[0057] 5) Accounting Entry: The English name is Accounting Entry, also known as the "bookkeeping formula", abbreviated as "entry". It is a record that lists the corresponding two accounts and their amounts for each economic transaction according to the requirements of the double-entry bookkeeping principle.
[0058] This application is mainly applied to the accounting processing of financial market transactions in reality. Considering that there are many trading varieties in the financial market, the accounting measurement rules are relatively complex, and the timeliness requirements for accounting processing are relatively high. Therefore, in addition to the technical problems in the background art section, this application also needs to solve the following technical problems:
[0059] 1) The accounting measurement of various transactions in the financial market field may involve three links: initial recognition, termination recognition, and subsequent measurement. This application needs to solve the problem of how to perform initial recognition and termination recognition in real time, automatically, and correctly after a transaction is concluded. For completed transactions of tradable varieties involving subsequent measurement during the duration, it is necessary to solve the problem of how to automatically trigger subsequent measurement at the correct time point and generate relevant accounting entries.
[0060] 2) Considering that there are many business varieties in the financial market field, the relevant accounting and bookkeeping system must have strong scalability so that the accounting functions for corresponding varieties can be quickly added when new related tradable varieties are added later.
[0061] Based on this, this application provides an accounting and bookkeeping method, which is executed by an accounting and bookkeeping system. The accounting and bookkeeping system includes an accounting event trigger module, an entry amount calculation module, and an accounting module.
[0062] The purpose of this application is to provide a solution for accurately, timely, and effectively generating accounting entries. This solution realizes the function of the accounting engine based on the module combination of accounting event trigger + entry amount calculation + accounting, that is, generates the accounts in the financial market field according to transaction element information, and can solve the problems that it is not easy to locate and troubleshoot defects when account generation fails.
[0063] When a transaction is successfully confirmed, in order to improve the efficiency of account generation, improve the reusability of system functions, and improve the ability to handle and solve faults, it can be completed through three steps: obtaining the trigger scenario, obtaining the amount, and obtaining the account. The accounting event trigger module, as the starting point of the accounting engine, is responsible for identifying whether accounting treatment should be performed and triggering the accounting for what scenario. The entry amount calculation module is responsible for obtaining and calculating the amounts in the entries to ensure the accuracy of account balances. The accounting module is responsible for classifying the accounts corresponding to different scenarios and different conditional elements, and is responsible for identifying the accounts in the entries generated corresponding to the scenario that triggers bookkeeping.
[0064] The three modules are independent of each other and do not affect each other. They cut the business key points and financial key points. When there are problems with the accounts, later troubleshooting and repair can be accurately located without affecting the operation of other modules.
[0065] As Figure 1 shown, a flowchart of an accounting and bookkeeping method in an embodiment of this application is provided. The accounting and bookkeeping method at least includes the following steps S110 to step S130:
[0066] Step S110, based on the accounting event trigger module, determine whether the detailed information triggers a preset accounting event.
[0067] Based on the accounting event trigger module, a series of accounting events are first designed according to the accounting treatment scenarios of various transactions in the accounting process. These events are associated with specific business scenarios, transaction types, time nodes, etc. When designing accounting events, the first thing to do is to sort out the full-process accounting treatment scenarios of various transactions, and then design their own trigger conditions for different accounting events to ensure that each accounting event is only triggered at the correct accounting treatment time point.
[0068] The detailed information in the embodiments of this application can be sourced from various detailed tables such as the cash flow detailed table, the transaction (deal) detailed table, the expense detailed table, and the liquidation detailed table. The detailed information in these detailed tables is matched with the trigger conditions of the preset accounting events. If the detailed information meets all the trigger conditions of a certain preset accounting event, it is determined that the accounting event is triggered.
[0069] Step S120, based on the entry amount calculation module, when the detailed information triggers the preset accounting event, calculate the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event.
[0070] Based on the entry amount calculation module, different accounting events are associated with different entry amount calculation strategies. These strategies define how to calculate the entry amount according to the detailed information, for example, it may involve complex calculation formulas, business rules, or external data sources, etc. Once a certain preset accounting event is triggered, the entry amount calculation module can calculate the entry amount according to the entry amount calculation strategy corresponding to the accounting event and the detailed information. The calculation process may involve multiple steps and multiple data sources to ensure the accuracy and compliance of the amount calculation.
[0071] Step S130, based on the accounting module, generate accounting entries using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event.
[0072] Different business scenarios, transaction types, accounting events, etc. may correspond to different accounting codes. These codes are standardized accounting subjects or accounting entry templates to ensure the accuracy and consistency of accounting treatment. Similar to the triggering of the aforementioned accounting events, each accounting code also contains clear trigger conditions. After determining the entry amount, it is necessary to determine the corresponding accounting code according to the detailed information and the triggered accounting event. Finally, combine the detailed information, the entry amount, and the selected accounting code to generate the final accounting entry.
[0073] The accounting treatment method according to the embodiments of the present application realizes the automation of various accounting treatment processes by refining the accounting treatment process, clearly dividing it into three links: accounting event trigger, entry amount calculation, and accounting, improving the efficiency and accuracy of accounting treatment, and the modular design scheme facilitates rapid and accurate problem troubleshooting and positioning in the later stage.
[0074] In some embodiments of the present application, the preset accounting event includes a real-time monitoring type accounting event, and determining whether the detailed information triggers the preset accounting event includes: real-time monitoring whether the detailed list changes; in the case where the detailed list changes, determining whether the changed detailed information triggers the real-time monitoring type accounting event; if the changed detailed information meets any of the preset conditions corresponding to the real-time monitoring type accounting events, determining that the changed detailed information triggers the real-time monitoring type accounting event; otherwise, it is not triggered.
[0075] When specifically designing accounting events, the embodiments of the present application divide accounting events into real-time monitoring type accounting events and timed task type accounting events according to the three business scenarios of initial recognition, termination recognition, and subsequent measurement in accounting.
[0076] The operating principle of the real-time monitoring type accounting event is to real-time monitor the changes in the transaction details list. Once the transaction details in the transaction details list change, the accounting engine will make a judgment on each changed transaction detail to determine whether it triggers a certain accounting event. For example, whenever a new transaction detail is added to the transaction details list, the accounting engine will determine which real-time monitoring type accounting events are triggered based on the various element information of the new transaction detail, and perform accounting treatment according to the corresponding accounting rules.
[0077] Table 1 below shows the way the accounting engine stores real-time monitoring type accounting events designed in the embodiments of the present application with some accounting events as examples. The fields such as accounting event attributes, applicable product types, types of details triggering accounting events, time conditions, and other triggering conditions in Table 1 are small triggering judgment conditions. The accounting engine can compare the values of the relevant element fields of the new transaction detail with the values of the relevant fields of each accounting event in the table. When the values of the relevant fields of a certain detail are consistent with the values of all the condition fields corresponding to an accounting event in Table 1, it can be considered that the new transaction detail meets the preset conditions corresponding to the real-time monitoring type accounting event, that is, it is determined that this detail triggers this accounting event, and then corresponding entries will be generated according to the entry amount calculation logic and accounting code mapping rules of this accounting event. In addition, the triggering conditions of a single accounting event can be further modified by adding other fields (that is, adding small triggering conditions) to adapt to more complex triggering judgment scenarios.
[0078] Of course, it should be noted that judging whether a real-time monitoring type accounting event is triggered based on whether the field values are the same is only an example in the embodiments of the present application. Specifically, how to set the preset conditions for triggering real-time monitoring type accounting events can be flexibly adjusted by those skilled in the art according to actual needs, and no specific limitation is made herein.
[0079] Table 1
[0080]
[0081] For the operation mechanism of the above real-time monitoring type accounting events, each real-time monitoring type accounting event can be regarded as a postal address. A series of fields of each accounting event stored in the accounting engine together constitute a postal address code. Each transaction to be processed is like a letter. The accounting engine will compare the various element fields of the transaction details with the values of the fields of each accounting event to determine whether they are exactly the same to trigger the accounting event, similar to judging whether the letter should be delivered to the address.
[0082] By monitoring the changes in the real-time monitoring details table and immediately triggering the corresponding accounting events, the timeliness of accounting transaction processing can be significantly improved.
[0083] In some embodiments of the present application, the preset accounting event further includes a timed task type accounting event. Determining whether the detailed information triggers the preset accounting event includes: determining whether the detailed information in the details table triggers the timed task type accounting event according to the preset timed task execution cycle; if the detailed information in the details table meets the preset conditions corresponding to any one of the timed task type accounting events, it is determined that the detailed information in the details table triggers the timed task type accounting event.
[0084] Considering that the real-time monitoring type accounting event is triggered by monitoring the changes in the transaction details table, that is, the main application objects of the real-time monitoring type accounting event are newly added and modified transactions. Therefore, the real-time monitoring type accounting event mainly corresponds to initial recognition and termination recognition in accounting. For the subsequent measurement of existing transactions during the duration, considering that existing transactions will not bring any changes to the transaction details in system processing and the real-time monitoring type accounting event cannot handle them, another major type of accounting event is introduced to handle the subsequent measurement of existing transactions, that is, the timed task type accounting event.
[0085] The overall operation idea of the accounting events of the scheduled task type is as follows: At the end of each day, the accounting events of the scheduled task type in the accounting engine take the transaction details in the system as the object, and filter out the trigger conditions that meet the accounting events of the scheduled task type according to a series of conditions preset by the accounting event itself, that is, filter out the detailed information that needs to be measured subsequently. If a transaction detail that meets the trigger conditions of the accounting event of the scheduled task type is successfully filtered out, the accounting event of the scheduled task type will be triggered by this transaction detail at the end of the day and corresponding entries will be generated. Of course, if no transaction details that meet the trigger conditions of the accounting event of the scheduled task type are found, the accounting event of the scheduled task type will not be triggered by any transaction details at the end of the day.
[0086] Generally speaking, the accounting events of the scheduled task type are like small filters. After the transactions are completed at the end of each day, each accounting event of the scheduled task type will filter the transaction details (i.e., the existing transactions) in the system transaction details table according to its own trigger conditions to try to find the transaction details that meet its own trigger conditions and need to be accounted for. Of course, the specific execution cycle of the scheduled task can be flexibly set by those skilled in the art according to actual needs and will not be specifically limited here.
[0087] Table 2 below shows the way the accounting engine stores the accounting events of the scheduled task type in the embodiments of the present application. In fact, the way of storing the accounting events of the scheduled task type is the same as the way of storing the accounting events of the real-time monitoring type. The fields such as the applicable product type, the type of details triggering the accounting event, the time condition, and other trigger conditions in Table 2 are also small trigger judgment conditions. Similar to the accounting events of the real-time monitoring type, when the values of each transaction element of the transaction detail meet all the trigger conditions of a certain accounting event of the scheduled task type, this transaction detail will trigger the accounting event of the scheduled task type. Similarly, those skilled in the art can also flexibly adjust how to set the preset conditions for triggering the accounting events of the scheduled task type according to actual needs and will not be specifically limited here.
[0088] Table 2
[0089]
[0090] Whether it is a real-time monitoring type accounting event or a scheduled task type accounting event, the design of the accounting event trigger part in the embodiments of the present application adopts a strategy pattern-based approach, realizing the independent running and calling of each accounting event. Each accounting event is a relatively independent strategy, and different accounting events are relatively independent of each other, each judging the transaction details and screening out the transaction details that meet its own triggering conditions. Subsequently, if it is necessary to add accounting treatment scenarios for initial / termination confirmation and subsequent measurement, only a real-time monitoring / scheduled task type accounting event strategy needs to be added, which will not have any impact on the operation of other existing accounting events and does not require modification of the existing context code, thus greatly enhancing the independence and scalability of the trigger engine in the accounting engine. Moreover, the way that each accounting event implements a unified interface and runs independently enables each event to be tested and maintained separately, reducing system complexity and alleviating the burden on testing and operation and maintenance personnel.
[0091] In some embodiments of the present application, when the detailed information triggers the preset accounting event, calculating the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event includes: when the detailed information triggers the preset accounting event, determining the corresponding entry amount calculation strategy according to the preset accounting event, and the entry amount calculation strategy is composed of at least one entry amount calculation unit; sequentially calling each entry amount calculation unit included in the entry amount calculation strategy to generate the entry amount corresponding to the preset accounting event.
[0092] As Figure 2 shown, a schematic diagram of an entry amount calculation process in the embodiments of the present application is provided. After a certain transaction detail triggers an accounting event, the entry amount calculation module will calculate the amount used when generating the entry according to the transaction element information of the transaction detail and based on the entry amount calculation logic corresponding to the triggered accounting event. The entry amount calculation logic corresponds one-to-one with the accounting event.
[0093] Each entry amount calculation logic is composed of at least one entry amount calculation unit. These calculation units are specific calculation steps or rules, and each calculation unit can execute different calculation logics. By sequentially calling these entry amount calculation units included in the entry amount calculation logic corresponding to the current accounting event, the final entry amount is generated.
[0094] Through the corresponding relationship between the preset accounting event and the entry amount calculation strategy, the accounting engine can automatically identify the entry amount calculation strategy and calculate the entry amount without manual intervention, thereby improving the automation degree of accounting processing.
[0095] In some embodiments of the present application, the accounting bookkeeping processing method further includes: disassembling and encapsulating the calculation steps included in all entry amount calculation strategies to obtain a plurality of entry amount calculation units; the sequentially calling each entry amount calculation unit included in the entry amount calculation strategy includes: determining all entry amount calculation units included in each entry amount calculation strategy; sequentially calling each entry amount calculation unit included in the entry amount calculation strategy.
[0096] Continuing to refer to Figure 2 , in the embodiments of the present application, the steps in each entry amount calculation logic are disassembled and then combined and encapsulated into several calculation units that can be reused among different entry calculation logics. When new initial / termination confirmation and subsequent measurement bookkeeping scenarios occur in the future and new entry amount calculation logics need to be added, the part unique to the event in the calculation logic can be encapsulated into a new calculation unit and assembled with the existing calculation units, effectively improving the scalability and flexibility of the system.
[0097] In some embodiments of the present application, generating an accounting entry by using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event includes: determining a corresponding accounting condition table according to the preset accounting event; determining a corresponding accounting code according to the detailed information and the accounting condition table; generating an accounting entry according to the detailed information, the entry amount, and the accounting code.
[0098] When a certain transaction detail triggers a certain accounting event and the entry amount calculation module calculates the amount used for generating an entry based on the entry amount calculation logic corresponding to the triggered accounting event, the accounting module designed in the embodiments of the present application will select an accounting code based on the transaction element information of the transaction detail that triggers the accounting event, and finally generate a corresponding accounting entry. The embodiments of the present application aim to achieve high reuse, compare and sort out the common characteristics of each accounting rule, cluster and abstract them according to the characteristics of accounts and business categories, and abstract the complex and numerous accounting rules into multiple standardized and simple accounting condition tables. Select a corresponding accounting condition table according to the currently triggered accounting event for subsequent determination of the accounting code.
[0099] Table 3 below shows the accounting condition table designed in the embodiments of the present application in a simplified form. The accounting condition table in the embodiments of the present application can be configured in the form of {condition table ID1: {condition element 1: value 1, condition element 2: value 2}, condition table ID2: {condition element 1: value 1, condition element 2: value 2}}. The accounting condition table forms a mapping condition by setting multiple condition fields to select the accounting code and generate the accounting entry.
[0100] Table 3
[0101] Condition Field 1 Condition Field 2 Condition Field 3 Condition Field 4 … Accounting Code Value 1 Value 2 Value 3 Value 4 … 001 \ Value 5 Value 6 \ … 002
[0102] At the business level, in the embodiments of the present application, through the design of the condition table, it is convenient for the business to batch configure and modify accounting rules. When a new accounting subject needs to be added, there is no need to separately configure various corresponding accounting rules for this subject. Just add an appropriate piece of data in the condition table, that is, achieve one change and all changes, one variation and all variations.
[0103] In some embodiments of the present application, the determining the corresponding accounting code according to the detailed information and the accounting condition table includes: comparing the detailed information with the preset conditions corresponding to each accounting code in the accounting condition table; when the detailed information meets the preset condition corresponding to any accounting code, using the accounting code as the accounting code corresponding to the detailed information; wherein, the accounting condition table is configured to be stored in the cache after processing the accounting condition master table, and the accounting condition table includes a condition table ID, condition elements, and condition element values, and the accounting condition master table includes a condition element combination ID, condition elements, condition element values, and accounting code values.
[0104] When selecting an accounting code, for example, the values of relevant element fields of the transaction details that trigger an accounting event can be compared with the values of each field in the table to select the accounting code corresponding to the record where the values of the relevant fields are all the same (i.e., meet the mapping condition) for generating the corresponding entry. Of course, specifically how to set the preset conditions for selecting the accounting code can also be flexibly adjusted by those skilled in the art according to actual needs, and no specific limitation is made here.
[0105] At the implementation level, the accounting condition master table in the embodiments of the present application adopts the form of "condition element combination ID - condition element - condition element value - accounting code value", splits the condition elements in Table 3 above into rows, and stores them in the database, effectively solving the problem that the number of conditions corresponding to each accounting code is inconsistent. And considering that the row storage form increases the database retrieval time, the embodiments of the present application adopt a caching technology such as Redis, aggregate the rows with the same condition element combination ID into the form of the condition table presented in Table 3 above and store them in the cache, effectively improving the efficiency of the system retrieving accounting codes during operation.
[0106] Table 4
[0107] Condition Element Combination ID Condition Element Condition Element Value Accounting Code Value 1 Condition Field 1 Condition Value 1 001 1 Condition Field 2 Condition Value 2 001 1 Condition Field 3 Condition Value 3 001 2 Condition Field 2 Condition Value 5 002 2 Condition Field 3 Condition Value 6 002 … … … …
[0108] The embodiments of the present application also provide an accounting processing system, such as Figure 3As shown in the figure, a schematic structural diagram of an accounting processing system in an embodiment of the present application is provided. The accounting processing system 300 includes: an accounting event trigger module 310, an entry amount calculation module 320, and an accounting module 330, where:
[0109] The accounting event trigger module 310 is configured to determine whether the detailed information triggers a preset accounting event;
[0110] The entry amount calculation module 320 is configured to, when the detailed information triggers the preset accounting event, calculate the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event;
[0111] The accounting module 330 is configured to generate an accounting entry by using the accounting code corresponding to the detailed information according to the detailed information, the entry amount, and the preset accounting event.
[0112] In some embodiments of the present application, the preset accounting event includes a real-time monitoring type accounting event. The accounting event trigger module 310 is specifically configured to: monitor in real time whether the detailed list changes; when the detailed list changes, determine whether the changed detailed information triggers the real-time monitoring type accounting event; if the changed detailed information meets any preset condition corresponding to a real-time monitoring type accounting event, determine that the changed detailed information triggers the real-time monitoring type accounting event; otherwise, it is not triggered.
[0113] In some embodiments of the present application, the preset accounting event further includes a scheduled task type accounting event. The accounting event trigger module 310 is specifically configured to: determine whether the detailed information in the detailed list triggers the scheduled task type accounting event according to a preset scheduled task execution period; if the detailed information in the detailed list meets any preset condition corresponding to a scheduled task type accounting event, determine that the detailed information in the detailed list triggers the scheduled task type accounting event.
[0114] In some embodiments of the present application, the entry amount calculation module 320 is specifically configured to: when the detailed information triggers the preset accounting event, determine the corresponding entry amount calculation strategy according to the preset accounting event, and the entry amount calculation strategy is composed of at least one entry amount calculation unit; sequentially call each entry amount calculation unit included in the entry amount calculation strategy to generate the entry amount corresponding to the preset accounting event.
[0115] In some embodiments of the present application, the accounting transaction processing device 300 further includes: a disassembling unit, configured to disassemble and encapsulate the calculation steps included in all entry amount calculation strategies to obtain a plurality of entry amount calculation units; the entry amount calculation module 320 is specifically configured to: determine all the entry amount calculation units included in each entry amount calculation strategy; and sequentially call each entry amount calculation unit included in the entry amount calculation strategy.
[0116] In some embodiments of the present application, the accounting module 330 is specifically configured to: determine a corresponding accounting condition table according to the preset accounting event; determine a corresponding accounting code according to the detailed information and the accounting condition table; and generate an accounting entry by using the accounting code according to the detailed information and the entry amount.
[0117] In some embodiments of the present application, the accounting module 330 is specifically configured to: compare the detailed information with the preset conditions corresponding to each accounting code in the accounting condition table; and when the detailed information meets the preset condition corresponding to any one of the accounting codes, use the accounting code as the accounting code corresponding to the detailed information; wherein, the accounting condition table is configured to be stored in a cache after processing the accounting condition master table, and the accounting condition table includes a condition table ID, condition elements, and condition element values, and the accounting condition master table includes a condition element combination ID, condition elements, condition element values, and accounting code values.
[0118] It can be understood that the above accounting transaction processing system can implement each step of the accounting transaction processing method provided in the foregoing embodiments. The relevant explanations about the accounting transaction processing method are applicable to the accounting transaction processing system, and will not be elaborated herein.
[0119] In summary, the key points and improvements of the present application mainly lie in:
[0120] 1) Based on the accounting transaction processing process, the present application reasonably divides the system architecture, and divides the accounting engine into three relatively independent modules: an accounting event trigger module, an entry amount calculation module, and an accounting module, realizing the automation of the accounting transaction processing process for various transactions;
[0121] 2) By setting accounting events, the correct and automatic triggering of new / inventory transactions at each accounting processing time point is realized, and each accounting event does not affect each other, with strong independence and scalability;
[0122] 3) By setting an accounting condition table, the accounting code can be automatically selected according to the transaction element information of new / inventory transactions.
[0123] The present application has achieved at least the following technical effects:
[0124] 1) Regarding the problem of "it is difficult to quickly and accurately locate the problem link when a problem occurs in the accounting entry generation process", the present application refines the accounting entry generation process, clearly divides it into three links: triggering accounting events, calculating entry amounts, and selecting accounting codes, and divides the accounting engine into three independently processed modules: an accounting event triggering module, an entry amount calculation module, and an accounting module. Through this technical solution of refining the entry generation process and modular design, the problem can be quickly and accurately located in a certain module, improving the efficiency of problem troubleshooting.
[0125] 2) Regarding the problem of "the overall system architecture is not clear enough", the present application vertically layers the accounting engine architecture and divides it into three modules. The accounting event triggering module triggers corresponding accounting events according to transactions, then the entry amount calculation module calculates the amount required to obtain the entry, and finally the accounting module selects the accounting entry code generated by the accounting event. Through architecture layering, after dividing by modules and further dividing function points, the complexity of requirements analysis is reduced. At the same time, more refined requirement function points are more conducive to developers' point-by-point development, reducing the development difficulty.
[0126] 3) Regarding the problem of "the system is difficult to be decomposed into relatively independent sub-modules, affecting the overall scalability, reusability, and reliability of the system", the present application divides the accounting engine into 3 mutually independent sub-modules according to the three links of triggering accounting events, calculating entry amounts, and selecting accounting codes. When the system needs function expansion, only the function points of the corresponding sub-module need to be expanded or new sub-modules need to be added, without major modifications to the entire system, greatly enhancing the overall scalability of the system. The independent sub-modules can be reused by multiple projects or systems, reducing the workload of repeated development and enhancing the overall reusability of the system. And due to the relative independence between sub-modules, problems in one sub-module are less likely to affect other sub-modules, thus improving the overall stability of the system.
[0127] 4) Regarding the situation that "the accounting measurement of various transactions in the financial market field may involve three links: initial recognition, termination recognition, and subsequent measurement", the present application designs an accounting event triggering engine, designs different accounting events for different links involved in the transaction, and designs different triggering conditions for each accounting event according to the status changes of each transaction and the various time points of the transaction varieties involved in subsequent measurement. Through the accounting event triggering engine, the present application can perform initial recognition and termination recognition in real time, automatically, and correctly after the transaction is concluded. For the concluded transactions of the transaction varieties involving subsequent measurement during the duration, the present application can automatically trigger subsequent measurement at the correct time point and generate relevant entries.
[0128] 5) For the problem of "considering that there are many business types in the financial market field, and the relevant accounting transaction processing system can quickly add the accounting functions for newly added transaction types", through the technical solution designed in this application, when a new transaction type is added, only the accounting events involved in this transaction type need to be added to the system. In the accounting event trigger engine, only the corresponding accounting event strategies and the corresponding trigger logics need to be added. In the journal entry amount calculation engine, only the journal entry amount calculation logic corresponding to the accounting event needs to be added, and the common calculation units can be reused. In the accounting code selection condition table, only the accounting codes corresponding to the accounting events and the corresponding conditions need to be added. Therefore, when a new transaction type is added, there is no need to modify the codes of the original transaction types, nor to make large-scale modifications to the overall system codes. When a new transaction type is added, this application can greatly improve the efficiency of the accounting transaction processing system in adding the accounting functions for the corresponding types.
[0129] Figure 4 is a schematic structural diagram of a device in an embodiment of this application. As Figure 4 shown, the device includes one or more processors (or processing units), and may also include one or more memories coupled to the processors, and may also include a communication module coupled to the processors.
[0130] The communication module can be used to communicate with other devices or apparatuses, such as sending or receiving data and / or signals. The communication module can have at least one communication module for communication. The communication module can include any interfaces necessary for communicating with other devices. Exemplarily, the communication module can be a transceiver, a circuit, a bus, a module or other types of communication modules.
[0131] The processors can include but are not limited to at least one of the following: a general-purpose computer, a special-purpose computer, a microcontroller, a digital signal controller (Digital Signal Processor, DSP), or one or more in a multi-core controller architecture based on a controller. The device can have multiple processors, such as an application-specific integrated circuit chip, which is subordinate to a clock synchronized with the main processor in time.
[0132] The memory may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, at least one of the following: Read-Only-Memory (ROM), Electrically Programmable Read-Only-Memory (EPROM), flash memory, hard disk, Compact Disc (CD), Digital Video Disk (DVD), or other magnetic storage and / or optical storage. Examples of volatile memories include, but are not limited to, at least one of the following: Random Access Memory (RAM), or other volatile memories that do not persist during a power outage duration.
[0133] The computer program includes computer-executable instructions executed by an associated processor. The program may be stored in the ROM. The processor may execute any suitable actions and processes by loading the program into the RAM.
[0134] Possible implementations of the present application may be implemented by means of a program, such that the communication device may execute any process discussed in the foregoing embodiments. Possible implementations of the present application may also be implemented by hardware or by a combination of software and hardware.
[0135] In some embodiments, the program may be tangibly embodied in a computer-readable storage medium, which may be included in the device (such as in the memory) or other storage devices accessible by the device. The program may be loaded from the computer-readable storage medium into the RAM for execution. The computer-readable storage medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc.
[0136] The embodiments of the present application also provide a computer-readable storage medium, on which computer instructions or program codes are stored. When a processor runs the instructions or the program codes, the processor is caused to execute the methods and functions involved in any of the above embodiments. A computer-readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any suitable combination thereof. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. More detailed examples of the computer-readable storage medium include electrical connections with one or more wires, magnetic media (such as disks, floppy disks, hard disks, magnetic tapes, magnetic storage devices), optical media (such as optical storage devices, DVDs), semiconductor media (such as solid-state drives), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), or any suitable combination thereof, etc.
[0137] In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The embodiments of the present application also provide at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes one or more computer-executable instructions, such as instructions included in program modules, which are executed in a device on a target real or virtual processor to execute the processes, methods, and functions involved in any of the above embodiments. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line) or wirelessly (such as infrared, wireless, microwave, etc.).
[0138] The embodiments of the present application also propose a computer program product, including a computer program or instructions. When the computer program or instructions run on a computer, the computer is enabled to execute the processes, methods, and functions in the above embodiments. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In various embodiments, the functions of program modules can be combined or divided as needed. Machine-executable instructions for program modules can be executed within local or distributed devices. In a distributed device, program modules can be located in local and remote storage media.
[0139] Generally, the various embodiments of the present application can be implemented in hardware or special-purpose circuits, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software, which can be executed by a controller, a microprocessor, or other computing devices. Although the various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that the blocks, devices, systems, technologies, or methods described herein can be implemented as, by way of non-limiting example, hardware, software, firmware, special-purpose circuits or logic, general-purpose hardware or a controller or other computing devices, or some combination thereof.
[0140] It should be noted that although the embodiments of the present application are described above in conjunction with the accompanying drawings respectively, the above embodiments are not independent of each other, and they can also be combined to obtain other embodiments. The manners, situations, categories, and the division of embodiments in the embodiments of the present application are only for the convenience of description and should not constitute a special limitation. The features in various manners, categories, situations, and embodiments can be combined with each other under logical circumstances. The various embodiments of the present application can be combined arbitrarily to achieve different technical effects. The embodiments of the present application no longer list various combinations.
[0141] In addition, although the operations of the method of the present disclosure are described in a specific order in the drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. On the contrary, the steps depicted in the flowchart can change the execution order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution. It should also be noted that the features and functions of two or more devices according to the present disclosure can be embodied in one device. Conversely, the features and functions of one device described above can be further divided and embodied by multiple devices.
[0142] It should also be noted that the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements not only includes those elements but also other elements not expressly listed, or further includes elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising said element.
[0143] The above are only examples of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.
Claims
1. An accounting processing method, characterized in that: The accounting account processing method is executed by an accounting account processing system, which includes an accounting event triggering module, an entry amount calculation module and a settlement module. The accounting account processing method includes: Based on the accounting event triggering module, determining whether the detailed information triggers a preset accounting event; Based on the entry amount calculation module, when the detailed information triggers the preset accounting event, the entry amount is calculated according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event; Based on the accounting module, according to the detailed information, the entry amount and the preset accounting event, the accounting entry is generated using the accounting code corresponding to the detailed information.
2. The accounting processing method according to claim 1, characterized in that: The preset accounting events include real-time monitoring accounting events, and determining whether the detailed information triggers the preset accounting events includes: Real-time monitoring of whether the detailed list has changed; In the event that the detailed list changes, determining whether the changed detailed information triggers the real-time monitoring accounting event; If the changed detailed information meets the preset condition corresponding to any real-time monitoring accounting event, it is determined that the changed detailed information triggers the real-time monitoring accounting event; Otherwise, it is not triggered.
3. The accounting processing method according to claim 1, characterized in that: The preset accounting events also include timed task accounting events, and determining whether the detailed information triggers the preset accounting events includes: According to the preset scheduled task execution cycle, determine whether the detailed information in the detailed table triggers the scheduled task accounting event; If the detailed information in the detailed list meets the preset conditions corresponding to any scheduled task type accounting event, it is determined that the detailed information in the detailed list triggers the scheduled task type accounting event.
4. The accounting processing method according to claim 1, characterized in that: In the case where the detailed information triggers the preset accounting event, calculating the entry amount according to the detailed information and the entry amount calculation strategy corresponding to the preset accounting event includes: In the case where the detailed information triggers the preset accounting event, determining a corresponding entry amount calculation strategy according to the preset accounting event, wherein the entry amount calculation strategy is composed of at least one entry amount calculation unit; The entry amount calculation units included in the entry amount calculation strategy are called in sequence to generate the entry amount corresponding to the preset accounting event.
5. The accounting processing method according to claim 4 is characterized in that: The accounting treatment method also includes: The calculation steps included in all entry amount calculation strategies are disassembled and encapsulated to obtain multiple entry amount calculation units; The step of sequentially calling each entry amount calculation unit included in the entry amount calculation strategy includes: Determine all entry amount calculation units included in each entry amount calculation strategy; Each entry amount calculation unit included in the entry amount calculation strategy is called in sequence.
6. The accounting processing method according to claim 1, characterized in that: Generating the accounting entry by using the accounting code corresponding to the detailed information according to the detailed information, the entry amount and the preset accounting event includes: Determine the corresponding accounting condition table according to the preset accounting event; Determine the corresponding accounting code according to the detailed information and the accounting condition table; The accounting entry is generated using the accounting code according to the detailed information and the entry amount.
7. The accounting processing method according to claim 6, characterized in that: The determining of the corresponding accounting code according to the detailed information and the accounting condition table includes: Compare the detailed information with the preset conditions corresponding to each accounting code in the accounting condition table; When the detailed information satisfies a preset condition corresponding to any accounting code, the accounting code is used as the accounting code corresponding to the detailed information; Among them, the accounting condition table is configured to store the accounting condition summary table in the cache after processing, the accounting condition table includes the condition table ID, condition elements and condition element values, the accounting condition summary table is stored in the database, and the accounting condition summary table includes the condition element combination ID, condition elements, condition element values and accounting code values.
8. An accounting system, characterized in that: The accounting processing system includes: The accounting event triggering module is used to determine whether the detailed information triggers a preset accounting event; An entry amount calculation module, configured to calculate the entry amount according to the entry amount calculation strategy corresponding to the detailed information and the preset accounting event when the detailed information triggers the preset accounting event; The accounting module is used to generate accounting entries according to the detailed information, the entry amount and the preset accounting events, using the accounting code corresponding to the detailed information.
9. A device comprising: processor; and a memory arranged to store computer executable instructions, which, when executed, cause the processor to execute the accounting processing method of any one of claims 1 to 7.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the accounting processing method of any one of claims 1 to 7 is implemented.