A computer implemented method for preparing a tax return in which a granularity of tax questions presented to a user is adjusted utilizing tax calculation graph, the tax calculation graph comprising a plurality of interconnected nodes including one or more of input nodes, functional nodes, and function nodes, each input node being populated with user-specific tax data, each function node defining a tax calculation utilizing the populated input nodes, and each functional node being a result of a calculation performed by an interconnected function node when executed by the computer, the method comprising:
- determining a sub-graph of the tax calculation graph based upon a target node and one or more user enterable nodes selected by the user from the nodes of the tax calculation graph;
- determining a construct sub-graph comprising all nodes of the tax calculation graph having a calculation path leading to a target node;
- for each user enterable node, determining all of the nodes along each calculation path of the construct sub-graph leading from each user enterable node to the target node wherein such nodes are referred to as first sub-graph nodes;
- determining one or more calculation paths leading from an input node of the construct sub-graph to the target node which do not include a user enterable node, such calculation paths referred to as open paths;
- upon determining one or more open paths, receiving a selection of a node on one or more of the open paths to be configured as an additional user enterable node, and determining all nodes along each calculation path leading from each additional user enterable node to the target node, such nodes referred to as second sub-graph nodes;
- generating a final sub-graph consisting essentially of the first sub-graph nodes and second sub-graph nodes;
- modifying a plurality of decision tables, the decision tables collectively representing a completion graph for completing all required data fields for computing the tax return, each decision table representing a plurality of columns, each column corresponding to a tax question and a plurality of rows, each row column corresponding to a completion path for a tax rule, thereby forming a plurality of cells with each cell corresponding to a particular row and column, each cell in a respective row having a logic operator to be executed by the computer, the logic operator corresponding to the tax question of the each cell's respective column such that completion of each respective row is determined by the logic operator in the respective row, by modifying the decision tables such that cells in the decision tables directed to nodes not included in the sub-graph are configured in the decision tables as not needed to complete a particular tax topic;
- analyzing user-specific tax data in a data store and the modified decision table and determining one or more suggested tax questions for obtaining missing tax data required to complete a tax calculation of the sub-graph;
- eliminating based on the user-specific tax data at least one row and its respective completion path to reduce possible suggested tax questions;
- and
- outputting one or more questions based on the one or more suggestions via a user interface.