This disclosure relates to data processing and, more particularly, to presenting or otherwise facilitating monitoring of tax information at a user interface.
Taxes are administered and collected by taxing authorities in many jurisdictions throughout various regions and countries of the world. Generally, the occurrence of a financial transaction, such as a sale of goods or services, may trigger tax liabilities according to one or more tax types of a specific region. In other instances, taxes may be assessed based on payrolls, earnings, or income. Regardless of the basis of the tax, in most jurisdictions paying taxes is a legal requirement for businesses and individuals. In order to accurately pay taxes, entities attempt to organize and monitor their tax liabilities. For example, monitoring taxes can be necessary to track payments, check the accuracy of calculated liabilities, and help ensure successful processing of the various taxes owed by the entity. However, monitoring tax liability is currently difficult—or at a minimum, time-consuming—even when taxes are due to only one taxing authority. Further, when an entity does business in more than one jurisdiction, or when doing business in a particular location subjects an entity to multiple levels of taxes (i.e., federal, state, and/or local), organizing and monitoring tax liabilities becomes ever more complicated and expensive.
This disclosure provides various embodiments of software for monitoring tax information in a business application. In one aspect, the software collects a set of tax information associated with at least one taxed entity from a plurality of logically disparate sub-modules, each sub-module associated with a business application. The software presents at least a portion of the collected set of tax information at a centralized reporting interface to a first client authorized by the particular taxed entity, wherein presenting at least a portion of the set of tax information comprises displaying one or more of the following: tax information related to one or more tax returns associated with the particular taxed entity, tax information related to one or more tax registers associated with the particular taxed entity, or tax information related to one or more tax payments associated with the particular taxed entity.
While generally described as software, some or all of these aspects may be further included in respective systems or other devices for executing, implementing, or otherwise monitoring tax information in a business application. The details of these and other aspects and implementations of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the present disclosure will be apparent from the description and drawings, and from the claims.
Turning to the example implementation of
Memory 150 may include any memory or database module and may take the form of volatile or non-volatile memory including, without limitation, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component. For example, memory 150 may store classes, frameworks, applications, backup data, business objects, jobs, or other information that includes any parameters, variables, algorithms, instructions, rules, constraints, or references thereto. The memory 150 may also include any other appropriate data, such as virtual private network (VPN) applications, firmware logs and policies, firewall policies, a security or access log, print or other reporting files, HTML files or templates, and others.
Specifically, illustrated memory 150 includes one or more business objects 155 that may be utilized and accessed by the business application 135. While illustrated within memory 150 of
A business object is a capsule with an internal hierarchical structure, behavior offered by its operations, and integrity constraints. Business objects are semantically disjointed, i.e., the same business information is represented once. A business object may be defined such that it contains multiple layers, such as in the example business object 155 of
Returning to
At a high level, business application 135 is any application, program, module, process, or other software that may execute, change, delete, generate, or otherwise manage business information according to the present disclosure. In certain cases, environment 100 may implement a composite application 135. For example, portions of the composite application may be implemented as Enterprise Java Beans (EJBs) or design-time components, and may have the ability to generate run-time implementations in different platforms, such as J2EE (Java 2 Platform, Enterprise Edition), ABAP (Advanced Business Application Programming) objects, or Microsoft's .NET. Further, while illustrated as internal to server 160, one or more processes associated with business application 135 may be stored, referenced, or executed remotely. For example, a portion of application 135 may be a web service that is remotely called, while another portion of application 135 may be an interface object bundled for processing at remote client 105. Moreover, application 135 may be a child or sub-module of another software module or enterprise application (not illustrated) without departing from the scope of this disclosure. Additionally, in some instances application 135 may be a hosted solution that allows multiple parties in different portions of the process to perform the respective processing. For example, client 105 may access business application 135 on server 160, or even as a hosted application located over network 120, without departing from the scope of this disclosure. In another example, portions of business application 135 may be used by an authorized user working directly at server 160, as well as remotely at client 105. In yet another example, business application 135 may be hosted by a third party entity for use by a remote client 105 authorized by the taxpaying entity. Regardless of the particular implementation, “software” may include software, firmware, wired or programmed hardware, or any combination thereof as appropriate. Indeed, each software component may be fully or partially written or described in any appropriate computer language including C, C++, Java, Visual Basic, assembler, Perl, any suitable version of 4GL, as well as others.
More specifically, business application 135 may be a composite application, or an application built on other applications, that includes an object access layer (OAL) and a service layer. In this example, business application 135 may execute or provide a number of application services such as customer relationship management (CRM) systems, human resources management (HRM) systems, financial management (FM) systems, project management (PM) systems, knowledge management (KM) systems, and electronic file and mail systems. Such an OAL is operable to exchange data with a plurality of enterprise-based systems and to present the data to a composite application through a uniform interface. The example service layer is operable to provide services to the composite application. These layers may help composite application 135 to orchestrate a business process in synchronization with other existing processes (e.g., native processes of enterprise-based systems) and leverage existing investments in the IT platform. Further, composite application 135 may run on a heterogeneous IT platform. In doing so, composite application 135 may be cross-functional in that it may drive business processes across different applications, technologies, and organizations. Accordingly, composite application 135 may drive end-to-end business processes across heterogeneous systems or sub-systems. Application 135 may also include or be coupled with a persistence layer and one or more application system connectors. Such application system connectors enable data exchange and integration with enterprise sub-systems and may include an Enterprise Connector (EC) interface, an Internet Communication Manager/Internet Communication Framework (ICM/ICF) interface, an Encapsulated PostScript (EPS) interface, and/or other interfaces that provide Remote Function Call (RFC) capability. It will be understood that while this example describes the composite application 135, it may instead be a standalone or (relatively) simple software program. Regardless, application 135 may also perform processing automatically, which may indicate that the appropriate processing is substantially performed by at least one component of environment 100. It should be understood that this disclosure further contemplates any suitable administrator or other user interaction with application 135 or other components of environment 100 without departing from its original scope.
For example, the illustrated business application 135 is associated with the tax monitor module 140, which may be embedded within the business application 135 as shown in
As described, the tax monitor module 140 (and/or the business application 135) may supply the generated interactive interface to one or more authorized users at one or more clients 105 via the network 120. Information supplied at the one or more clients 105 by the authorized users may then be transmitted to the tax monitor module 140 (and/or business application 135). If the information supplied requires the retrieval of additional data from, or the transmission of commands to, the particular business object 155 responsible for the particular tax information, then the internal connections of server 160 may be used to perform those actions on the particular business objects 155. In instances where one or more of the business objects 155 are located outside of the server 160, the data retrieval and command transmissions may be performed utilizing the network 120. In some instances, the tax monitor module 140 may include the programming necessary to communicate with the one or more business objects 155, while in other instances, the tax monitor module 140 may rely on the business application's 135 programming. Indeed, in certain implementations the tax monitor module's 140 functionality may be limited to organizing the tax information received from one or more business objects 155 into a single presentation format. In those implementations, the business application 135 may perform the functions of retrieving data from one or more of the business objects 155 relating to a particular entity's tax information, displaying the organized tax information to the user interface, processing commands received during user interactions, and communicating with one or more business objects 155 based upon the instructions and/or commands supplied by users. Thus, the tax monitor module 140 may be wholly, or in part, comprised of additional programming and/or instructions written into the internal code of the business application 135.
Further, the server 160 may include an interface 125 for communicating with other computer systems in a client-server or other distributed environment, such as clients 105 or other servers connected to the network 120. Generally, interface 125 comprises logic encoded in software and/or hardware in a suitable combination and operable to communicate with the network 120. More specifically, interface 120 may comprise software supporting one or more communication protocols associated with communications such that the network 120 or hardware is operable to communicate physical signals.
The network 120 facilitates wireless or wireline communication between the server 160 and any other local or remote computer, such as the clients 105. Indeed, while illustrated as one network, the network 120 may be a discontinuous network without departing from the scope of this disclosure, so long as at least a portion of the network 120 may facilitate communications between senders and recipients. The network 120 may be all or a portion of an enterprise or secured network. In some instances, a portion of the network 120 may be a VPN merely between the server 160 and the client 105 across a wireline or wireless link. Such an example wireless link may be via 802.11a, 802.11b, 802.11g, 802.20, WiMax, or other types of wireless links. In other words, the network 120 encompasses any internal or external network, networks, sub-network, or combination thereof operable to facilitate communications between various computing components in the system. The network 120 may communicate, for example, Internet Protocol (IP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses. The network 120 may include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the Internet, and/or any other communication system or systems at one or more locations. In certain implementations, the network 120 may be a secure network associated with the enterprise and certain local or remote clients 105.
The client 105 may be any computing device operable to connect or communicate with server 160 or the network 120 using a wireless or wireline connection. At a high level, each client 105 includes at least the GUI 110, and comprises an electronic computing device operable to receive, transmit, process, and/or store any appropriate data associated with the business application 135 and the tax monitor module 140. It will be understood that there may be any number of clients 105 communicably coupled to the server 160 at any point in time. For example, the environment 100 may include two local clients 105, as illustrated in
GUI 110 comprises a graphical user interface operable to allow the user of the client 105 to interface with at least a portion of environment 100 for any suitable purposes such as to allow the client 105 to interact with the business application 135 and, if the user is authorized by a particular entity, provide an interface for displaying and reviewing the tax information associated with that particular entity. Generally, the GUI 110 provides the client 105 with an efficient and user-friendly presentation of data provided by or communicated within the system. In particular, the GUI 110 may provide users of the business application 135 with access to data stored within memory 150. The GUI 110 may comprise a plurality of user interface (UI) elements such as interactive fields, pull-down lists, and buttons operable at the client 105. These UI elements may be associated with tax-related functions provided by the tax monitor module 140 and the business application 135, such as reviewing and/or auditing particular aspects of an entity's tax information (e.g., tax returns or payments). In one implementation, the GUI 110 may provide a centralized and interactive display capable of presenting tax-related information retrieved from one or more of the business objects 155 and organized by the tax monitor module 140. In some instances, the GUI 110 may provide a view displaying the different tax reports and tax returns created by one or more of the business objects 155 as directed by the business application 135. In other instances, the GUI 110 may provide an interactive display presenting the elements, transactions, and values used to calculate the different tax reports and returns. These items may include sales receipts, reported revenues, or employment information, among others. In still other implementations, the GUI 110 may provide a view displaying the details of one or more payments made to one or more tax authorities in satisfaction of the tax liabilities determined by the tax reports and returns calculated by the business application 135 and one or more business objects 155. Moreover, it should be understood that the term graphical user interface may be used in the singular or in the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Therefore, the GUI 110 contemplates any graphical user interface, such as a generic web browser, touch screen, or command line interface (CLI) that processes information in environment 100 and efficiently presents the results to the user. The server 160 can accept data from the clients 105 via the web browser (e.g., Microsoft Internet Explorer or Mozilla Firefox) and return the appropriate HTML or XML responses using the network 120.
Environment 100 may further include one or more customers 170 and/or vendors 175. The customer 170 may be a client or other entity, whether non-profit or for-profit, doing business with a particular taxed entity. For instance, the customer 170 may be a purchaser, lessor, or other party to a transaction with the taxed entity. The vendor 175, on the other hand, may be an entity or business from which the taxed entity purchases or leases goods or services. Based on the transactions between the taxed entity and either the customer 170 or the vendor 175, tax liabilities may arise for the taxed entity. One or more business objects 155 may process or otherwise control these transactions such that the transactions are recorded and the resulting tax liabilities are calculated. The tax liabilities, along with the details regarding the originating transactions, may make up all or a part of the tax information monitored by the tax monitor module 140.
At step 202, the tax monitor module 140 may receive and verify a set of user credentials identifying the authorization level of a specific user at one of the clients 105. Because an entity's tax information may include confidential and/or sensitive information, users at remote clients 105 may be required to use entity- or user-specific login information prior to accessing the tax monitor interface. By adding this layer of security, only users authorized by the taxed entities may view the tax information using the tax monitor module 140 and the business application 135. In some instances, remote clients 105 may be located at a particular taxed entity such that access to the client 105 indicates that the user is authorized to access the tax information. Other methods of user authentication and security may be used by process 200 to protect confidential and sensitive information. Additionally, in other instances process 200 may not include verifying a user's credentials prior to accessing the tax information. In still other instances, a user may be authorized to view more than one entity's tax information. For instance, an authorized user for a corporation may also be an authorized user for one or more of that corporation's subsidiaries. Thus, a single set of credentials may provide access to the tax information for a plurality of taxed entities. The credentials themselves may be stored in the memory 150, or at any other location such that the credentials provided by the user may be verified prior to providing access to one or more entities' tax information.
Once the user's credentials are verified, at step 204 the tax monitor module 140 may retrieve the set of tax information specific to the entities for which the user is authorized. In some instances, the tax monitor module 140 may receive a request for a specific entity's tax information from the authorized user, while in other instances, the tax monitor module 140 may retrieve the information associated with one or more of the entities for which the user is authorized. As described in relation to
Once the tax information for the one or more entities authorized under the user's credentials is retrieved, the tax monitor module 140 may generate a tax monitor interface 300 (illustrated in
The tax return view 305 permits the user to review already created tax return items relevant to all tax declaration types (e.g., declarations which are being worked on currently, created declarations and their processing status in the system, cancelled declarations, corrected declarations, and prepayments). At step 214, the tax monitor module 140 displays at least a portion of the tax information related to one or more tax return items associated with one or more of the user's authorized entities. In some instances, the tax monitor module 140 may parse through the retrieved set of tax information to determine which data relates to one or more tax returns. In other instances, the retrieved tax information, when initially provided, may be separated into categories according to whether the information relates to one or more tax returns, tax registers, or tax payments. The portion of the tax information related to the one or more tax return items may be organized in a predetermined layout by the tax monitor module 140. In some instances, the predetermined layout may be a hierarchical or quasi-hierarchical layout. As illustrated in
Top-level element 365 illustrates an expanded set of tax information that is grouped by Sales and Use Tax Returns for Ohio. In some implementations, the first top-level element may be expanded when the interface is initially displayed. In other implementations, some, all, or none of the top-level elements may be initially expanded. Top-level element 373 shows a grouping of tax information that is in a collapsed state. By activating the top-level element through a mouse-click or other user action, the tax return items grouped in that category may be displayed. In some instances, one or more entities may be associated with a tax group, wherein the tax group is represented by a representative entity. When an entity is associated with a tax group, the tax monitor module 140 may provide information identifying the tax group and the representative entity.
When displaying the set of tax return items, the tax monitor module 140 may determine which tax return items have had prepayments applied by the taxed entity. In instances where a prepayment has been made, the prepayments may be displayed at the end of the each declaration type. Additionally, the declaration status field may have a value of “Prepayment.” In other instances, the tax monitor module 140 may determine whether the amount of taxes paid is different from the calculated tax amount. In cases where the values differ, the difference may be displayed to the user. In cases where the actual and calculated amounts are the same, the tax monitor interface 300 may indicate that with a zero value, a note indicating payment in full, or another type of indication. In implementations where one or more tax return items are valued in different currencies, the tax monitor module 140 may provide tax amount totals in each currency.
At step 218, one of the tax return items may be selected by the user. In
Referring first to
Returning to
In other implementations, at step 226, the process 200 may allow the user to cancel the selected tax return where the tax return has a declaration status of “proposed” or the equivalent thereof. Once an item is selected, the user may activate the Actions UI element 323 of
At step 228, the process 200 determines whether the tax monitor module 140 has received a command from the user to display one of the other views. If such a command has been received, then process 200 receives the user selection at step 210. In the tax monitor interface 300, UI element 310 provides the user the ability to quickly navigate between views. In the current example, radio buttons are used to indicate the present view, as well as the option to navigate to the other available views. In other examples, different types of navigational tools may be used. If a command has not been received, process 200 moves to step 230 where a second tax return item is selected. Upon selection of the second tax return item, the process 200 displays the details for the selected tax return item at step 222. The process 200 continues for the tax return view 305 until a command to change views is received at step 228.
When the user view selection at step 210 determines that the tax register view 405 (illustrated in
In the tax register view 405, the tax register items may be displayed in a predetermined order, for example, by the date associated with the particular tax register item. In some instances, the set of tax register items may display tax item amounts in both the declaration currency and the transaction currency. After initially displaying the tax register items, the tax monitor interface 300 may allow sorting and/or grouping of the tax register items according to one or more set of criteria associated with the items. In the illustrated example of
Returning to
At step 242, the process 200 may determine whether the selected tax register item is a declared or non-declared item. In some instances, the tax monitor module 140 may provide the user with information on the tax declaration status of the selected tax register item upon selection, such as the status field 410 of
In addition to modifying the tax register item, at step 262 the user may request or perform an internal audit of the selected tax register item prior to creating the tax register item's tax declaration. During the internal audit, the user may review the details and documents related to the tax register item. At step 266, the process 200 determines whether the user has indicated that the tax register item contains an error or some data requiring additional review. If errors have not been identified, then the process 200 may return to step 246. If errors have been identified, at step 270 the tax monitor module 140 may notify the application, business object 155, or other sub-module responsible for the creation and maintenance of the selected tax register item of the issue, including the need to review and/or rectify the identified problem. In some instances, the tax monitor module 140 may provide the user with the capabilities to define a task or action for the associated application, business object 155, or sub-module to perform in order to correct the issue. In addition to the notice sent by the tax monitor module 140, the communication may include a request for clarification of a portion of the included information, as well as the basis for certain calculations within the selected tax register item. In other instances, the tax monitor module 140 may provide additional auditing tools to provide a centralized location for auditing the tax register.
After sending the notification and any related tasks, the process 200 waits at step 274 to receive any corrections, clarifications, and/or updates to the selected tax register item. In some instances, the process 200 may continue to operate while waiting for the updated information on the selected tax register item. In certain implementations, once the application, business object 155, or sub-module completes the update, a message may be delivered to the user at the GUI 110, indicating that a refresh of the tax monitor interface 300 may be necessary. Once the corrections and updates are received, the process 200 continues to step 246.
At step 246, the process 200 may display the original documents related to the selected tax register item. For instance, if the original document in the tax register is a customer invoice, the tax monitor module 140 may retrieve the invoice and display it in a new window. In other instances, the tax monitor interface 300 may navigate away from the tax register view 405 and display the original document. Regardless of how the original document is displayed, this functionality provides users with the ability to review the documents on which the tax register items are based. In some instances, the original documents may be available through the activation of a hyperlink embedded in the tax monitor interface 300. At step 250, the process 200 may also display the clearing documents associated with the tax register item. Similar to displaying the original documents, the clearing documents may be displayed in a new window, or instead, in place of the tax register view 405 on the tax monitor interface 300.
At step 252, the process 200 determines whether the tax monitor module 140 has received a command from the user to display one of the other views (e.g., user activation of the UI element 310). If a command has been received, then process 200 returns to step 210 where the user selection is received. If a command has not been received, the process 200 continues to step 254 where a new tax register item is selected. Upon selection of the new tax register item, the process 200 continues at step 242.
When the user view selection indicates that the tax payments view 505 is to be displayed, the tax monitor module 140 displays at least a portion of the tax information related to one or more tax payment items at step 278, where the one or more tax payment items are associated with at least one of the user's authorized entities. The tax payment view 505 permits the user to review data relating to the tax payments made by each entity. In some instances, the initial display of the tax payment view may be presented in a predetermined order (e.g., sorted by date, transaction ID, etc.). The items may also be initially sorted according to the other fields displayed in the tax payment view 505, including the payment status field 510, transaction ID field 515, tax payment type field 520, payment method field 525, period field 530, tax authority name field 535, payment amount field 540, or currency field 545. In some instances, the set of information and fields presented in the tax payment view 405 may include, but are not limited to, the following: tax payment status, tax payment total amount, tax payment date, tax authority, tax authority country code, tax payment type, tax declaration status, tax declaration period, company, tax declaration ID, tax declaration total amount (in declaration currency), tax declaration total amount (in transaction currency), carry forward amount, or system administrative data. The tax payment items may also be sorted based upon fields other than those shown in
At step 279, one of the tax payment items may be selected by the user. In example
Referring first to
Returning to
At step 290, the tax monitor module 140 may receive a user request for a report based on archived periods of tax payments. Upon receiving the user request, the tax monitor module 140 may prepare the requested report. For instance, tax payments for a particular time period may be collected and presented in report format for delivery to the user. This may be advantageous for users authorized to review the tax information of more than one taxed entity, in that the amount of information would be difficult to accurately review in the normal layout. In some instances, all data associated with a tax payment item may be available for inclusion in the report.
At step 292, the process 200 determines whether the tax monitor module 140 has received a command from the user to display one of the other views. If a command to display another view has been received, then process 200 returns to step 210. If a command to display another view has not been received, then process 200 returns to step 278 wherein the tax payment items are displayed.
While the present disclosure uses a flowchart and accompanying descriptions to illustrate the example techniques embodied in process 200, environment 100 contemplates using or implementing any suitable technique for performing these and other tasks. It will be understood that these techniques are for illustration purposes only and that the described or similar techniques may be performed at any appropriate time, including concurrently, individually, or in combination. In addition, many of the steps in these flowcharts may take place simultaneously and/or in different orders than as shown. Moreover, environment 100 may use methods with additional steps, fewer steps, and/or different steps, so long as the method remains appropriate.
Although this disclosure has been described in terms of certain implementations and generally associated methods, alterations and permutations of these implementations and methods will be apparent to those skilled in the art. For instance, the tax monitor module 140 may be able to create projections of future tax liabilities for users based upon one or more entities' previous trends and actions. Additionally, the tax monitor module 140 may include functionality for generating graphs that chart the tax information such that the graphs may be presented to the user at the tax monitor interface 300. Accordingly, the above description of example implementations does not define or constrain the disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, and such changes, substitutions, and alterations may be included within the scope of the claims included herewith.