Exportable report templates

A computer-implemented method for creating reports from financial data in a financial software application includes receiving a selection of a report template to be used to create a report. The report template includes query parameters, layout information, and content field information. The method also includes receiving financial data from a data source, assessing whether the financial data is compatible with the report template by examining a data file type and contents of the financial data to ensure consistency with the selection of the report template and the content field information, and applying the received layout information and received content field information to the received financial data to generate a report having a layout specified by the layout information, and including content associated with the content field information.

COPYRIGHT NOTICE

A portion of this disclosure contains material in which copyright is claimed by the applicant. The applicant does not object to the copying of this material in the course of making copies of the application file or any patents that may issue on the application, but all other rights whatsoever in the copyrighted material are reserved.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to preparation of reports using financial software applications. More specifically, the present invention is related to the export and import of report templates to allow multiple users to generate reports from the templates.

2. Description of the Related Art

In financial management software, reports convey data about transactions or conditions. For example, reports can be generated to detail sales, purchases, account balances, net worth, etc. A report has both content and a layout. Content is the data presented in the report, whereas a layout defines which content is presented, and the manner in which it is presented. Content and layout are determined according to the purpose of the report. For example, a sales report generated by someone in the hotel and restaurant industry will typically look different and include different content than a report generated by an automobile dealer. Furthermore, report content and layout can change according to the audience that will be receiving the report. For example, a report prepared for a board of directors may include different content or have a different layout than a report generated for shareholders.

Conventional financial applications typically allow some degree of customization of reports, including selecting a layout from a predefined selection of layouts, defining a layout manually, and specifying content fields for inclusion in the report. However, these customized reports are designed on a file-by-file basis, and thus a report configured for use with a particular set of data cannot be used again on another set of data. Instead, the user must recreate the same layout manually.

In view of the foregoing, a need therefore exists for a way of creating report templates that can be used between multiple data files within an application, and between multiple applications.

SUMMARY OF THE INVENTION

The present invention enables the export and import of report templates out of and into financial management application software. Report templates include layout information used to prepare reports generated by the financial management application software. Report templates do not include any actual financial data associated with a user's financial information, but instead include information on how to display data received from a source such as a user's data file, as well as which fields of data to include. This allows one user to create a report template and share it with other users who have similar types of data in order for the other users to create their own reports having the layout specified by the template. This saves the other users the trouble of having to re-create a report layout on their own. Similarly, a single user can reuse a report layout by exporting a template and then importing it for use with a different one of the user's data files. In one embodiment, the present invention also enables exporting and importing of report groups, which include multiple report templates.

In a preferred embodiment, a user creates a report by specifying query parameters and a report layout. The query parameters and layout are then stored independently, i.e. exported from the data they are applied to in creating the report. When a user wishes to import a report template, the user specifies the template to be used, and it is read by the application software. The query parameters and report layout within the report template are then applied to the user's data in order to create a new report having the structure specified by the template. Since the data used to create the report is not stored along with the report template, no privacy concerns are implicated.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

System Architecture

Referring now toFIG. 1, there is shown a block diagram of a system in accordance with an embodiment of the present invention. System100includes financial management software application112, a report engine106, a template data store102, and user data store104. Also shown inFIG. 1is a network108and output device110.

Financial management software application112is preferably personal or business financial software, such as for example Quicken or QuickBooks, available from Intuit, Inc. of Mountain View, Calif. Report engine106is preferably a component of software application112, and in a preferred embodiment prepares reports for output to output device110by using template data from template data store102and user data from user data store104in a manner detailed below. Network108is illustrated to demonstrate that template data in template data store102may be data received from over a network, for example if a user of system100is sharing template files with another user at a remote location. Output device110is any device suitable for viewing, printing or storing a report, such as a computer monitor, printer, disk drive, etc. The operation of the components of system100is described in grater detail below.

In on embodiment, report templates available to be used within a data file open in financial management application112are presented in a list format for selection by a user wishing to create a report. These available reports are known in one embodiment as “memorized reports.”FIG. 2provides an example of a memorized reports listing. In the illustrated case, reports are broken down by type, such as Banking202, Company204, Customers206, Employees208, and Vendors210. Within each type of report are specific memorized reports, such as for example the check detail report212, which is a Banking-type report. Function buttons214,216,218,220allow a user to access functions related to the memorized report. For example, the user can choose to display216or print218a report, or export220the report to other software such as Microsoft Excel. By choosing the Memorized Report button214, the user has access to an “Import Template . . . ” option222and an “Export Template . . . ” option224.

Referring now toFIG. 3, when a user selects the Export Template option, for example by selecting the option224from a pull-down menu, she is provided with an export file dialog box302. From this dialog box, the user can specify a name for the report template being exported. In one embodiment, report templates have their own file type, which in the illustrated case is “.QBRPT”. in alternative embodiments, the file type of the report template may differ, as will be appreciated by those of skill in the art.

Referring now toFIG. 4, when a user selects the Import Template option, for example by selecting the option222from a pull-down menu, she is provided with an import file dialog box402. From this dialog box, the user can select a file to be imported. In one embodiment, only files of a supported file type are viewable in the import file dialog box402.

Once a user chooses a file to import, she is in one embodiment presented with another dialog box in which to specify the name of the report being imported. One example is illustrated inFIG. 5. There, the user has named the report “General Ledger Test.” Optionally in one embodiment, the report can be assigned to a specified report type, such as Banking202.

In one embodiment, the financial account software includes user-level permissions settings, and a user is prevented from exporting a report template if she does not have sufficient permission to generate the report itself. Similar restrictions can optionally be placed on the importing of a report template. Alternatively, any user is allowed to import a template, but must have sufficient permissions in order to actually generate a report once the template imported.

In one embodiment, different versions of a financial services software application product support different functionality. For example, in a basic version of the financial software, a user can import templates, but cannot export templates; in a premium edition of the software, the user can both import and export templates. In an accountant's version, export may be allowed while import is restricted. Those of skill in the art will appreciate that the various combinations of importing and exporting permissions can be implemented in such a manner as to achieve a particular marketing goal.

In one embodiment, during the process of importing a report template, the version of the data file used to create the template is read. If the report template is from a newer version of the data file, the software prevents the user from importing the report template. This restriction motivates users to upgrade to the latest version of the financial accounting software to maintain compatibility.

Exporting Groups

In one embodiment, a user can export and import a group of report templates. Referring again toFIG. 2, in one embodiment if the user selects a group such as “Banking”202, then all of the report templates within the Banking group202are exported, preferably to a single file. The single file may have a different file suffix to indicate that it contains a group of templates instead of a single template, or may have a different file name, for example including the word “Group”. In an alternative embodiment, both a single report and a report group are saved as a file with an identical extension, such as .QBR. When imported, the group header and report templates within the group are added to the available templates as described above with respect to a single template.

In one embodiment, some aspects of a report cannot be exported. When a report has content fields that are specific to a particular data file, report engine106disallows export. Examples include reports having content fields specifying a certain account, customer, job, vendor, employee, or item. Because other users are unlikely to have the same accounts (or customers, jobs, items, etc.) as the user creating the report, such a report would not work in the other users' company files.

Any user who has compatible software can import report templates. In a preferred embodiment, if a user attempts to import a report template, and an update or version incompatibility exists, a warning message appears.

In an additional embodiment, report templates are provided over the World Wide Web, e.g., by making the templates available for download through a Web service, either free or in exchange for payment.

Referring now toFIG. 6, there is shown a flow chart illustrating a method for exporting report templates in accordance with an embodiment of the present invention. First, a user creates602a report by specifying the content and the layout of the report. Content of the report includes the data that is to be included in the report, and is typically identified by a field name. For example, in a report detailing a user's cash flow, content might include dates, payee's, accounts, categories, amounts, and memo fields. Alternatively, the user may choose to include only a subset of the available data in creating the report, for example leaving out the memo field. Layout of the report includes such things as the format of the report, e.g., tabular, graphical, etc., organization of the data, font size, sorting, and other choices that affect how the content is presented to the user in the report. Once the user has specified the content and layout of the report, the report is generated by the application program. Typically this involves the specifying and executing of various query parameters by the application program in a way that is transparent to the user, who sees only the report that is the end product.

In a preferred embodiment, the structure of the report—that is the layout of the report and the content fields, but not any of the data itself—is extracted604from the report. Alternatively, the structure of the report is determined at the time the report is initially generated. In either case, the report structure is then saved606as a template for later access as described below with respect toFIG. 7.

FIG. 7is a flow chart illustrating a method for importing report templates in accordance with an embodiment of the present invention. A user wishing to generate a report based on a report template selects701a template to be used from among a list of available templates. Available templates are those that have been created by the user and then exported, or that have been made available by the software application provider, or by third parties. Next, the software application program reads702the selected report template and determines704a correct structure for the report, including the content fields and layout. The software application then reads706data from the user's data source, and applies708the structure specified by the report template to the data read in, in order to generate the report in the manner specified by the template.