1. A computer-implemented method, comprising: receiving, using one or more processors, tagged input data that is in a non-rectangular format, wherein the tagged input data is organized such that a hierarchical arrangement of tags indicates data relationships between one or more parent tags and one or more child tags, and wherein each parent tag is associated with one or more child tags; using the data relationships to determine rectangularization characteristics for the tagged input data; displaying the tagged input data in a graphical interface; receiving, through the graphical interface, an interaction with the tagged input data; generating a mapping specification from the tagged input data, wherein the mapping specification is generated based upon the rectangularization characteristics and the interaction, and wherein the mapping specification identifies one or more tables; generating a single table corresponding to each data relationship between a parent tag and one or more child tags, wherein the single table is generated using the mapping specification; receiving rectangular formatted input data that uses columns and rows to indicate data relationships; generating tagged output data using the rectangular formatted input data and the mapping specification, wherein the tagged output data is in a non-rectangular format, wherein the tagged output data uses a hierarchical arrangement of tags to indicate data relationships between one or more parent tags and one or more child tags, and wherein each parent tag is associated with one or more child tags; and coordinating bi-directional communication between a software application that uses a hierarchical data format and a software application that uses a rectangularized data format, wherein coordinating bi-directional communication includes using the single table and the tagged output data.