Systems, methods and articles for determining tax recommendations
First Claim
1. A computer-implemented method, comprising:
- a computerized tax return preparation software application comprising computer executable instructions stored in a memory of a computer and executed by a computer processor of the computer, storing, by a shared data store of the computerized tax return preparation application, taxpayer-specific tax data, the tax return preparation software application having a modular architecture comprising a tax calculation engine, a completeness model comprising at least one decision table, a tax logic agent, a recommendation engine, and a user interface controller including a user interface manager loosely coupled to the tax logic agent;
the computerized tax return preparation application, by the tax calculation engine, reading the taxpayer-specific tax data from the shared data store and navigating a tax calculation graph using the taxpayer-specific tax data to determine a result, the tax calculation graph comprising a plurality of nodes including one or more of input nodes, functional nodes, and function nodes and a plurality of calculation paths,wherein each calculation path connects a plurality of nodes which are data dependent such that a node is connected to another node if the node depends on execution of the other node, andwherein each input node is populated with taxpayer-specific tax data, each function node defines a tax calculation utilizing the populated input nodes, and each functional node is a result of a calculation performed by an interconnected function node;
the computerized tax return preparation system, by the tax logic agent, generating one or more non-binding suggestions for questions necessary to complete a tax return based on the completeness module and transmitting the one or more non-binding suggestions to the user interface controller;
the computerized tax return preparation system, by the user interface manager of the user interface controller, determining whether to process each of the one or more non-binding suggestions received from the tax logic agent and, for the one or more non-binding suggestions that the user interface manager has determined to process, presenting one or more questions to the user on a display of the computer in a manner and at a time determined by the user interface manager;
the computerized tax return preparation application, by the recommendation engine in communication with the tax calculation engine and the user interface controller, analyzing the tax calculation graph and determining variables which can affect the result for the user, analyzing the variables to determine one or more controllable variables which are variables that the user of the computerized tax return preparation application can control through a computer generated user interface,wherein determining the user controllable variables is based at least in part on using a controllability model relating each of the variables to levels of user controllability, analyzing an effect on the results, and determining one or more recommendations for the user;
receiving, by the user interface controller, the one or more recommendations;
generating, by the user interface controller, a user interface comprising the one or more recommendations; and
presenting to the user, by the user interface controller through a display of the computer, the user interface comprising the one or more recommendations.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods and articles of manufacture for determining tax recommendations for a taxpayer by using a tax calculation graph to identify tax variables that a taxpayer can control and modify. The tax preparation system of comprises a recommendation engine configured to analyze a tax calculation graph which is calculated using tax data of the taxpayer. The recommendation engine determines tax variables from the tax calculation graph which can affect the tax result. The recommendation engine analyzes these tax variables to determine which of them can be reasonably controlled by the taxpayer using a controllability model. The recommendation engine then executes a tax calculation engine to calculate the tax calculation graph by varying the taxpayer controllable variables to determine how varying the user controllable variables affects the tax result. The recommendation engine then analyzes the affect on the tax result and determines one or more tax recommendation for the taxpayer.
-
Citations
22 Claims
-
1. A computer-implemented method, comprising:
-
a computerized tax return preparation software application comprising computer executable instructions stored in a memory of a computer and executed by a computer processor of the computer, storing, by a shared data store of the computerized tax return preparation application, taxpayer-specific tax data, the tax return preparation software application having a modular architecture comprising a tax calculation engine, a completeness model comprising at least one decision table, a tax logic agent, a recommendation engine, and a user interface controller including a user interface manager loosely coupled to the tax logic agent; the computerized tax return preparation application, by the tax calculation engine, reading the taxpayer-specific tax data from the shared data store and navigating a tax calculation graph using the taxpayer-specific tax data to determine a result, the tax calculation graph comprising a plurality of nodes including one or more of input nodes, functional nodes, and function nodes and a plurality of calculation paths, wherein each calculation path connects a plurality of nodes which are data dependent such that a node is connected to another node if the node depends on execution of the other node, and wherein each input node is populated with taxpayer-specific tax data, each function node defines a tax calculation utilizing the populated input nodes, and each functional node is a result of a calculation performed by an interconnected function node; the computerized tax return preparation system, by the tax logic agent, generating one or more non-binding suggestions for questions necessary to complete a tax return based on the completeness module and transmitting the one or more non-binding suggestions to the user interface controller; the computerized tax return preparation system, by the user interface manager of the user interface controller, determining whether to process each of the one or more non-binding suggestions received from the tax logic agent and, for the one or more non-binding suggestions that the user interface manager has determined to process, presenting one or more questions to the user on a display of the computer in a manner and at a time determined by the user interface manager; the computerized tax return preparation application, by the recommendation engine in communication with the tax calculation engine and the user interface controller, analyzing the tax calculation graph and determining variables which can affect the result for the user, analyzing the variables to determine one or more controllable variables which are variables that the user of the computerized tax return preparation application can control through a computer generated user interface, wherein determining the user controllable variables is based at least in part on using a controllability model relating each of the variables to levels of user controllability, analyzing an effect on the results, and determining one or more recommendations for the user; receiving, by the user interface controller, the one or more recommendations; generating, by the user interface controller, a user interface comprising the one or more recommendations; and presenting to the user, by the user interface controller through a display of the computer, the user interface comprising the one or more recommendations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 12, 13, 14)
-
-
9. A computing system comprising:
-
a shared data store of a computerized tax return preparation application comprising computer-executable instructions stored in a memory of a computing device and executable by a processor of the computing device, the shared data store being configured to store taxpayer-specific electronic tax data, the tax return preparation software application having a modular architecture and comprising a tax calculation engine in communication with the shared data store, wherein the tax calculation engine is configured to use a completeness model comprising at least one decision table and comprising a plurality of nodes including one or more of input nodes, functional nodes, and function nodes and a plurality of calculation paths, wherein each calculation path connects a plurality of nodes which are data dependent such that a node is connected to another node if the node depends on execution of the other node, wherein each input node is populated with taxpayer-specific tax data, each function node defines a tax calculation utilizing the populated input nodes, and each functional node is a result of a calculation performed by an interconnected function node; and a tax logic agent configured to generate one or more non-binding suggestions for questions necessary to complete a tax return based on the completeness module and to transmit the one or more non-binding suggestions to the user interface controller; a user interface controller including a user interface manager loosely coupled to the tax logic agent and in communication with the shared data store, the user interface controller being configured to present a computer-generated interview screen to a user of the computerized tax return preparation application through a display of the computing device; a recommendation engine in communication with and between the user interface controller and the tax calculation engine, wherein the recommendation engine is detached from the tax calculation engine; the tax calculation engine being configured to read the taxpayer-specific tax data from the shared data store, to navigate the tax calculation graph using the taxpayer-specific data read from the shared data store, to perform a plurality of tax calculation operations based on the tax calculation graph, to obtain a result based on the navigation of the calculation graph, and to write the result to the shared data store; the recommendation engine being configured to; analyze the calculation graph to determine variables which can affect the result; analyze the variables to determine one or more user controllable variables based at least in part upon a controllability model relating each of the variables to a level of user controllability; execute the tax calculation engine to navigate the tax calculation graph while varying the controllable variables to determine an effect on the result; and analyze the effect on the result and determine one or more recommendations for the user; and the user interface controller being configured to receive the one or more recommendations, to generate a user interface comprising the one or more recommendations, to present the user interface to the user through the display of the computing device, to determine whether to process each of the one or more non-binding suggestions received from the tax logic agent and, in response to determining to process any of the one or more non-binding suggestions, to present one or more questions to a-the user on the display of the computing device in a manner and at a time determined by the user interface manager. - View Dependent Claims (10, 11, 15)
-
-
16. An article of manufacture comprising a non-transitory computer program carrier readable by a computer and embodying instructions of a computerized tax return preparation application executable by the computer to program a computer to perform a process, the tax return preparation software application having a modular architecture comprising a shared data store, a tax calculation engine, a completeness model comprising at least one decision table, a tax logic agent, a recommendation engine, and a user interface controller including a user interface manager loosely coupled to the tax logic agent, the process comprising:
-
storing, by the shared data store of the computerized tax return preparation application, taxpayer-specific tax data; reading, by the tax calculation engine, the taxpayer-specific tax data from the shared data store and navigating a tax calculation graph using the taxpayer-specific tax data to determine a result, the tax calculation graph comprising a plurality of nodes including one or more of input nodes, functional nodes, and function nodes and a plurality of calculation paths, wherein each calculation path connects a plurality of nodes which are data dependent such that a node is connected to another node if the node depends on execution of the other node, wherein each input node is populated with taxpayer-specific tax data, each function node defines a tax calculation utilizing the populated input nodes, and each functional node is a result of a calculation performed by an interconnected function node; analyzing, by the recommendation engine of the computerized tax return preparation application the tax calculation graph; determining, by the recommendation engine, variables which can affect the result; analyzing, by the recommendation engine, the variables to determine one or more controllable variables which are variables that a user of the computerized tax return preparation application can control through a computer generated interview screen, the recommendation engine determining the user controllable variables based at least in part on using a controllability model relating each of the variables to levels of user controllability; the computerized tax return preparation system, by the tax logic agent, generating one or more non-binding suggestions for questions necessary to complete a tax return based on the completeness module and transmitting the one or more non-binding suggestions to the user interface controller; the computerized tax return preparation application, by the recommendation engine, executing the tax calculation engine to navigate the tax calculation graph by varying the user controllable variables to determine an effect on the tax result by varying the user controllable variables; the computerized tax return preparation application, by the recommendation engine, analyzing the effect on the result and determining one or more recommendations for the user; receiving, by the user interface controller, the one or more recommendations; generating, by the user interface controller, the one or more recommendations to the user; presenting, by the user interface controller, the user interface to the user through a display of the computer; and the computerized tax return preparation system, by the user interface manager of the user interface controller, determining whether to process each of the one or more non-binding suggestions received from the tax logic agent and, for the one or more non-binding suggestions that the user interface manager has determined to process, presenting one or more questions to a user via a graphical user interface displayed on the display of the computer in a manner and at a time determined by the user interface manager. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification