Patent ID: 12198202

DETAILED DESCRIPTION OF EMBODIMENTS

Selected embodiments will now be explained with reference to the drawings. It will be apparent to those skilled in the art from this disclosure that the following descriptions of the embodiments are provided for illustration only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.

FIG.1illustrates an example embodiment of a system10for time entry, management and billing. In the illustrated embodiment, the system10includes a central server12and one or more user terminals14operated by one or more users U1, U2. . . Unof a first party P1. In use, the central server12is configured to wirelessly communicate with each of the user terminals14via a network16to manage the first party P1's time entries, work-in-progress reports and/or billing reports to one or more clients. The one or more clients are referred to herein as second parties P2. In an embodiment, the central server12can communicate with one or more second parties P2via the network16.

Each of the plurality of user terminals14can be, for example, a cellular phone, a tablet, a personal computer, a smart watch, or another electronic device. Here, the plurality of user terminals14includes a first user terminal14a, a second user terminal14b, and an nth user terminal14n. Each user terminal14can be controlled by a distinct user U1, U2. . . Un(e.g., a first user U1controls the first user terminal14a, a second user U2controls the second user terminal14b, and an nth user Uncontrols the nth user terminal14n). The user U1, U2. . . Unof each user terminal14can be, for example, a member or employee of the first party P1. As used herein, each of the users U1, U2. . . Uncan also be referred to generally as a user U. In an embodiment, the first party P1can be any business that uses time entries to bill clients, such as a consulting firm, law firm, accounting firm, or any other business.

The first party P1can include a single user U or group of users U1, U2. . . Un. Although a single first party P1and a single second party P2are discussed herein for simplicity, it should be understood from this disclosure that the system10can operate to support any number of such parties and significantly decreases time spent on time entries and memory storage as the number of users and second parties P2increases.

The system10is configured to access various data sources. As seen inFIG.1, the system10is configured to access an existing second party data source18and a third party data source19. The existing second party data source18can include a database controlled by the first party P1using the system10, for example, an existing client intake database or directory of current and former clients. In an embodiment, the existing second party data source18can include one or more a legacy database which was previously used by the first party P1or a related party such as a subsidiary, sibling or parent company. The third party data source19can include one or more data source which is controlled by a third party and accessed by the central server12via the network16, for example, a website controlled by a third party. In an embodiment, the third party data source19is accessible by the system10via a public website. In an embodiment, the system10is also configured to receive data directly from the second party P2via the network16.

The user terminals14can communicate with the central server12via various communication protocols, for example, via an Internet Protocol Suite or TCP/IP supporting HTTP. The network16can comprise a public network (e.g., the Internet, World Wide Web, etc.), a private network (e.g., local area network (LAN), etc.), and/or combinations thereof (e.g., a virtual private network, LAN connected to the Internet, etc.). The network16can include a wired network, a wireless network, and/or a combination of the two.

The central server12can comprise one or more server computers, database servers and/or other types of computing devices, particularly in connection with, for example, the implementation of websites and/or enterprise software. The central server12can further comprise a central processor20and a central memory22. The central processor20is configured to execute instructions programmed into and/or stored by the central memory22. In an embodiment, the central processor20can comprise one or more of a microprocessor, microcontroller, digital signal processor, co-processor or the like or combinations thereof capable of executing stored instructions and operating upon stored data, wherein the instructions and/or data are stored by the central memory22. The central memory22can comprise one or more devices such as volatile or nonvolatile memory, for example, random access memory (RAM) or read only memory (ROM). Further, the central memory22can be embodied in a variety of forms, such as a hard drive, optical disc drive, floppy disc drive, etc. As described in more detail below, the steps of the methods described herein can be stored as instructions in the central memory22and executed by the central processor20.

In the illustrated embodiment, the central memory22can include a web interface24, a database26, and back end processing instructions28. Here, the web interface24, the database26, and the back end processing instructions28can be controlled or accessed by the central processor20implementing appropriate software programs by executing the back end processing instructions28or other instructions programmed into and/or stored by the central memory22.

The web interface24can provide a graphical user interface (“GUI”)25that can be displayed on a terminal14for a user U, and can manage the transfer of data received from and sent to the GUI25on the terminal14. For example, the GUI25can be employed by a user U to enter time entries related to second party P2and to provide corresponding time entry data to the central server12. In an embodiment, each user terminal14can include an application A comprising software downloaded to and executed by the user terminal14to provide the GUI25and to manage communications with the central server12. The application A can be downloaded to the user terminal14from the central server12or from some other source such as an application distribution platform. In an embodiment, the application A is also viewed via a web browser.

The database26is configured to store time entry data related to time entries entered by users U into a respective GUI25of a respective user terminal14. The database26is also configured to store data relevant to the second party P2, as well as data retrieved from the second party P2, an existing second party data source18, and/or a third party data source19. In an embodiment, the database26can comprise a database management system (DBMS) operating on one or more suitable database server computers. Alternatively, the database26can comprise storage components from other systems, such as an existing client management tool having relevant data concerning the second party P2already stored therein. Examples of other data that can be stored in the database26include, but are not limited to, time entry data related to time entries entered by users U into a respective GUI25of a respective user terminal14and/or editable rules regarding generation of each respective GUI25of a respective user terminal14.

The back end processing instructions28can be operatively coupled to both the web interface24and the database26, and can be programmed into and/or stored by the central memory22and implemented by the central processor20. In an embodiment, the back end processing instructions28can be executed by the central processor20to direct operations of the central server12as described below in further detail. For example, the central processor20, executing the back end processing instructions28, can manage the receipt, storage, maintenance, etc. of relevant data (e.g., time entry data received from one or more user U of the first party P1via a terminal14) concerning the second party P2. Additionally, the central processor20, executing the back end processing instructions28, can develop similar data relevant to the second party P2based on information obtained from the second party P2, an existing second party databases18, and/or a third party data source19, as well as further functions discussed in more detail below.

FIG.2illustrates a representative diagram of an example embodiment of a user terminal14. As illustrated, a user terminal14can include a terminal processor30and a terminal memory32. The terminal processor30is configured to execute instructions programmed into and/or stored by the terminal memory32. The instructions can be received from and/or periodically updated by the web interface24of the central server12in accordance with the methods discussed herein. As described in more detail below, many of the functions described herein can be stored as instructions in the terminal memory32and executed by the terminal processor30.

In an embodiment, the terminal processor30can comprise one or more of a microprocessor, microcontroller, digital signal processor, co-processor or the like or combinations thereof capable of executing stored instructions34and operating upon stored data36, wherein the instructions34and/or stored data36are stored by the terminal memory32. The terminal memory32can comprise one or more devices such as volatile or nonvolatile memory, for example, random access memory (RAM) or read only memory (ROM). Further, the terminal memory32can be embodied in a variety of forms, such as a hard drive, optical disc drive, floppy disc drive, etc. In an embodiment, many of the processing techniques described herein are implemented as a combination of executable instructions34and data36stored within the terminal memory32.

As illustrated, each of the plurality of user terminals14includes one or more user input device38, a display40, a peripheral interface42, one or more other output device44, and a network interface46in communication with the terminal processor30. The user input device38can include any mechanism for providing a user input to the terminal processor30, for example, a keyboard, a mouse, a touch screen, a microphone and/or suitable voice recognition application, or another input mechanism. The display40can include any conventional display mechanism such as a cathode ray tube (CRT), a flat panel display, a touch screen, or another display mechanism. Thus, as can be understood, the user input device38and/or the display40and/or any other suitable element can be considered a GUI25. The peripheral interface42can include the hardware, firmware, and/or other software necessary for communication with various peripheral devices, such as media drives (e.g., magnetic disk or optical disk drives), other processing devices, or another input source used as described herein. Likewise, the other output device44can optionally include similar media drive mechanisms, other processing devices or other output destinations capable of providing information to a user of the user terminal14, such as speakers, LEDs, tactile outputs, etc. The network interface46can comprise hardware, firmware and/or software that allows the terminal processor30to communicate with other devices via wired or wireless networks16, whether local or wide area, private or public. For example, such networks16can include the World Wide Web or Internet, or private enterprise networks, or the like.

While the user terminal14has been described as one form for implementing the techniques described herein, those having ordinary skill in the art will appreciate from this disclosure that other functionally equivalent techniques can be employed. For example, some or all of the functionality implemented via executable instructions can also be implemented using firmware and/or hardware devices such as application specific integrated circuits (ASICs), programmable logic arrays, state machines, etc. Further, other implementations of the user terminal14can include a greater or lesser numbers of components than those illustrated. Further still, although a single user terminal14is illustrated inFIG.2, it should be understood from this disclosure that a combination of such devices can be configured to operate in conjunction (for example, using known networking techniques) to implement the methods described herein.

FIG.3illustrates an example embodiment of a first GUI25A displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The first GUI25A is a home screen configured to display a summary of the time entry data for the respective user U over a predetermined period (here, e.g., a month for a first user U1). In the illustrated embodiment, the first GUI25A is in a calendar format to allow a user U to select (e.g., click on) any day to enter time entry data for that day. Here, the calendar format can be set as month, week, or day using a calendar format selection panel102. The first GUI25A further includes a month summary panel104which shows the time entry statistics for the user U in numerical format and a timekeeper hourly summary panel106which shows the time entry statistics for the user U in graphical format. The first GUI25A further includes a running timer108. The running timer108can be activated or deactivated by the user U by selecting (e.g., clicking on) the illustrated button. When activated, the running timer108records the total amount of time until deactivated.

In the illustrated embodiment, the monthly summary panel104includes posted time, draft time, billable time, and nonbillable time. The posted time is the total time from one or more time entries that have been finalized for the user U. The draft time is the total time from one or more time entries that have not yet been finalized for the user U. The billable time is total time from one or more time entries that is related to a billable matter that will be included in a billing report to a second party P2. The nonbillable time is the total time from one or more time entries that is related to a billable matter that will not be billed to second party P2. A user U can view more detailed summaries of each of these types of time entries by selecting (e.g., clicking on) a respective type using the first GUI25A. Each of these times is also broken down by individual days within each day of the calendar. Here, each day includes at least one displayed time value110for that day. For example, numerous days show a daily posted time value110a, a daily draft time value110b, a daily billable time value110c, and a daily nonbillable time value110d. In an embodiment, the user U selecting any of these values causes generation of a GUI which includes more details about the time entry data associated with the time value110.

In an embodiment, the time recorded by the running timer108is exported into a time entry112. More specifically, the system10is configured to automatically generate an editable time entry114including the time recorded by the running timer108. For example, stopping the running timer108can trigger generation of an editable time entry114which includes the total time from the running timer108. The system10is further configured to round the time from the time entry to a specified decimal. In an embodiment, the user U is enabled by the system10to set the specified decimal (e.g., 0.1 hrs, 0.25 hrs, 0.5 hrs, etc.) for rounding.

The running timer108can be a specific running timer108associated with a specific client or matter or can be a general running timer108without being associated with a specific client or matter. In an embodiment, a time entry112,114can be generated from either type of running timer108. If the running timer108is not associated with a specific client or matter, the system10is configured to create a usable time icon that is configured to be selected by a user U to input additional details regarding client and/or matter. The user U can then convert the usable time icon into the time entry112,114by inputting the specific client number or matter number. If the running timer108is associated with a specific client or matter, the system10is configured to create a time segment icon which can be converted into a time entry112,114either on its own or in combination with other similar time segment icons as described herein.

In an embodiment, the running timer108can be started and stopped on a smart watch controlled by the user U. This allows the user U to enable the running timer108when away from a personal computer or another electronic device which displays the GUI25. In an embodiment, the smart watch exports the total time from the running timer108, and the system10creates a usable time icon, time segment icon and/or time entry112,114on a GUI25as discussed herein. Thus, in an embodiment, a user terminal14is a smart watch with a running timer108, and a user U can start or stop the running timer108as the user goes about his or her day. Each time the user U stops the running timer, the user can export the time data to the central server12. Then, when the user U accesses his or her data from another user terminal14, the user U can view and/or edit an editable time entry114corresponding to the time recorded with the user U's smart watch. The editable time entry114can include, for example, the data and total time that the timer108ran for. In an embodiment, the editable time entry114can also include or indicate a location based on GPS data from the user U's smart watch to remind the user of where the time was taken, thus reminding the user what the time corresponds to for further editing.

Each time an editable time entry114is generated, time entry data corresponding to the time entry is stored. More specifically, the time entry data is stored in the central memory22. The time entry data can include, for example, data corresponding to a second party P2(e.g., a client number), data corresponding to one or more of a plurality of matters for a second party P2(e.g., a matter number), data corresponding to the user U corresponding to the time entry (e.g., a timekeeper number), data related to the date and total time of the time entry, data related to a narrative corresponding to the time entry, and/or the like. The present disclosure improves the storage capacity of the central memory22by minimizing time entry data related to individual time entries and linking time entry data where possible, as discussed in more detail below.

In an embodiment, the system10causes certain data to be saved on the terminal memory32to conserve memory capacity on the central memory22. In an embodiment, the system10stores time entry data on the terminal memory32until the time entry data becomes an editable time entry114. In another embodiment, the system10stores time entry data on the terminal memory32until the time entry data becomes a posted time entry112. In an embodiment, when a user U wishes to access certain time entry data from a different user terminal14, the central processor20accesses the terminal memory32where the respective time entry data is stored and transfers it to the different user terminal14. In this way, the system10conserves memory space at the central memory22by utilizing the terminal memories32for certain time entry data.

FIG.4illustrates an example embodiment of a second GUI25B displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In the illustrated embodiment, the system10automatically causes generation of the second GUI25B when a user U selects a day in the monthly view of the first GUI25A. That is, clicking on a day in the first GUI25A has automatically triggered the calendar format selection panel102to switch to from the month view to the week view. In the illustrated embodiment, the second GUI25B includes a daily interface118which displays information about the time entries112,114which correspond to the daily posted time110a, daily draft time110b, daily billable time110c, and/or daily nonbillable time110din the first GUI25A. In the illustrated embodiment ofFIG.4, the second GUI25B is showing four time entries112, two of which are editable time entries114, and the other two of which have already posted.

FIG.5illustrates an example embodiment of a third GUI25C displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. When the system10exports the time recorded by the running timer108into an editable time entry114, the editable time entries114are displayed in the third GUI25C. In an embodiment, the editable time entry includes an amount of time transmitted to the central server12from a user U's smart watch. In the illustrated embodiment, the third GUI25C displays a first view114afor a plurality of editable time entries114. The first view114acorresponds to editable time entries in which the running timer108has already started, stopped and triggered the generation of the first view114a. The third GUI25C also displays a second view114bfor an editable time entry114. The second view114bincludes the running time108. When a user U clicks on the running timer108to stop the running timer108, the system10automatically converts the second view114binto a first view114a. In an embodiment, the system10automatically imports the running timer from a first GUI25A and/or a second GUI25B into the second view114bof the third GUI25C when the system causes the generation of the third GUI25C. More specifically, the system10determines whether there is an existing running timer108and automatically generates a second view114bfor an editable time entry114which includes the running timer108.

At this point, the editable time entries114can also be displayed in the first GUI25A and/or the second GUI25B as a draft entry. The system10automatically populates the day that the time was recorded and the total time and stores these variables in the central memory22. The user U can then enter a client or matter number corresponding to a second party P2and/or a narrative into the editable time entry114and finalize the editable time entry114so that it is displayed as a posted time entry on the first GUI25A and the second GUI25B. In an embodiment, the user U selecting a saved running timer108ain the running timer panel116will cause the system10to generate a second view114bof an editable time entry114including that saved running timer108a. In an embodiment, the user U can then continue to record time by selecting that running timer in the second view114b.

FIG.6illustrates an example embodiment of a fourth GUI25D displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The fourth GUI25D displays a third view114cof an editable time entry114. In the third view114c, the date and duration have been automatically populated by the system10based on when the running timer108was used by the user U to generate the editable time entry114. In the illustrated embodiment, the duration is rounded as set by the system10for this particular second party P2(here, to the nearest 0.25 hour). In an embodiment, the system10sets how the duration is rounded based on the template (e.g., DLA2). The user U can enter various information into the third view114c, for example, the client number, the matter number, the office, a template and a narrative. When the user U selects the save button118, the time entry data corresponding to the editable time entry114is stored in the central memory22. When the user U selects the post button120, the time entry data corresponding to the editable time entry114is stored in the central memory22and the editable time entry becomes a posted time entry112and can no longer be edited. The third view114cfurther includes a collaborative function button122which is described in more detail below.

FIG.7illustrates an example embodiment of a fifth GUI25E displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In an embodiment, the system10automatically triggers the fifth GUI25E when the user U enters a narrative in the fourth GUI25D. The system10further enables the user U to enter a narrative code for the narrative. The narrative code corresponds to saved time entry data stored in the central memory22. When the user U enters a narrative code, the system10retrieves the saved time entry data corresponding to the narrative code and automatically populates the narrative. In an embodiment, the system10links the editable time entry114to the saved time entry data corresponding to the narrative code. In this way, the system10is configured to conserve memory space. In an embodiment, the system10enables the user U to save a new narrative code corresponding to an entered narrative using the fifth GUI25E. In this way, the system10prepares for future narrative codes for future time entries to be linked to the present time entry data corresponding to the present narrative code. Then, during subsequent time entries, the user U can enter the narrative code into the editable time entry114to link to and/or automatically generate the narrative. In an embodiment, the central memory22stores the narrative and its corresponding narrative code, such that future time entries require less data storage because full narratives do not need to be repeatedly stored. This further prevents mistakes and inconsistencies in later time entries. In various embodiments, narrative codes can also be created using other GUI25's.

FIG.8illustrates an example embodiment of a sixth GUI25F displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. As illustrated, the sixth GUI25F is similar to the third GUI25C. However, any editable time entries114which have been edited and finalized via the fourth GUI25D and the fifth GUI25E has been deleted to conserve memory space. In an embodiment, the edits from the editable time entry114are stored as an audit entry within the system10, with the audit entry requiring less memory space than the time entry data for the editable time entry114which was previously displayed on the GUI25and/or stored in the central memory22. In this way, the system10conserves memory space as time entries112are created.

FIG.9illustrates an example embodiment of a seventh GUI25G displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. Here, the time entry112is displayed on the same GUI as the weekly view. In an embodiment, an editable time entry114is displayed on both of the third GUI25C and the seventh GUI25G, but is then deleted from the third GUI25C upon posting to conserve memory space.

FIG.10illustrates an example embodiment of an eighth GUI25H displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In an embodiment, the system10is programmed to prevent certain words from being used in the editable time entries112. In this example embodiment, “conferencing” is a word that the system10has prohibited (e.g., overall or for a specific second party P2). Since the user U has used the prohibited word in a narrative, the system10has highlighted the narrative and informed the user U of the prohibited word. The system10will not allow the editable time entry114to be posted and/or saved until the word is removed. By preventing the editable time entries114from being saved with prohibited words, the system10conserves memory space which would otherwise be taken up by unusable time entry data. The system10also prevents improper data from flowing downstream, therefore conserving processing power and reducing the manual effort that would later be required to revise, manipulate or otherwise adjust the time entry data to properly adhere to client conditions as set forth in terms of engagement, thus creating better realization on bills. The system10thus streamlines processing, conserves memory space, and improves the accuracy of the output.

FIG.11illustrates an example embodiment of a ninth GUI25I displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In the illustrated embodiment, the system10is configured to adjust the language of the narrative when the user U clicks on the narrative and selects a new language. The system10is further configured to automatically enter a narrative when a narrative code (e.g., the narrative code saved in the central memory22at the fifth GUI25E) is entered. In an embodiment, the system10is further configured to link the editable time entry114to existing time entry data stored in the central memory22when the user U selects a particular narrative code. In this way, the system10conserves memory space that would otherwise be taken by duplicate or near-duplicate time entries.

FIG.12illustrates an example embodiment of a tenth GUI25J displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The tenth GUI25J displays a fourth view114dof an editable time entry114. In the fourth view114, phase, task and activity have been included in comparison to the third view114cof the fourth GUI25D. The user U can therefore enter various additional information, for example, the client, the matter, the office, the phase, the task, the activity, a template and a narrative. The fourth view114dfurther includes the collaborative function button122.

FIG.13illustrates an example embodiment of an eleventh GUI25K displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The eleventh GUI25K illustrates an example embodiment of the collaborative function. In the illustrated embodiment, the collaborative function is triggered when the user U selects the collaborative function button122in an editable time entry114. In an embodiment, the collaborative function streamlines processing and conserves memory space by using a single editable time entry114for multiple timekeepers. More specifically, the collaborative function uses a single editable time entry114to generate editable time entries114for multiple timekeepers and/or link corresponding time entry data stored within the central memory22.

In the illustrated embodiment, selecting the collaborative function button122causes the generation of a list124of a plurality of users U (e.g., a second user U2who controls the second user terminal14b, an nth user Unwho controls the nth user terminal14n, etc.). The first user U1who is currently utilizing the collaborative function is enabled to select one or more additional users U from the list124. In an embodiment, the first user U1selects each additional user U who was involved in a project relating to the editable time entry114being linked using the collaborative function. For example, in the illustrated embodiment, the narrative is “Meeting with client to review evidence and prepare legal proceedings.” The first user U1therefore uses the collaborative function to select each additional user U who was involved in this meeting. On a practical level, this saves time for the additional users U and prevents errors and inconsistencies in work-in-progress reports and/or billing reports by ensuring that the time and/or narrative recorded for each user U in the meeting is the same. On a computer component level, this streamlines computer processing and conserves memory space by using a single editable time entry114for multiple timekeepers.

Thus, in an embodiment, the eleventh GUI25K enables a first user U1to use a first user terminal14ato link a first time entry112,114to a second user U2. Upon creation of the first time entry112,114by the first user U1using the first user terminal14a, the central memory22stores at least a portion of the time entry data from the first time entry112,114. The portion of the time entry can include at least time entry data associated with a client number, a matter number, a day, a time value, and/or a narrative. The central processor20also causes the creation of a second time entry112,114on a second GUI25on a second user terminal14bas described herein. The second user terminal14bis controlled by a second user U2selected by the first user U1on the first user terminal14ausing the collaborative function as described herein. The central processor20can also cause the creation of additional time entries112,114on additional GUIs on additional user terminals14nfor users U selected by the first user U1. The second time entry112,114includes at least the portion of the time entry data from the first time entry112,114. In an embodiment, the second time entry112,114duplicates the portion of the time entry data from the first time entry112,114. The duplicate portion of the time entry data can also be stored in the central memory22. This conserves processing power because there is no need for the system10to process all of the same data creation steps for the second user U2to generate the second time entry112,114as was needed for the first user U1to generate the first time entry112,114. In an embodiment, the central processor20is programmed to cause the central memory22to delete at least part of the portion of the time entry data stored in the central memory22after the posting of the second time entry112,114by the second user U2via the second GUI25of the second user terminal14b. In an embodiment, the central processor20further links both the first time entry112,114and the second time entry112,114to the portion of the time entry data stored in the central memory22. In this way, use of the central processor20is streamlined and memory on the central memory22is conserved. The system10is then configured to use both the first time entry112,114and the second time entry112,114when generating a report such as a work-in-progress report or a billing report. In an embodiment, the system10generates the report by retrieving time entry data which is linked to the first time entry112,114and the second time entry112,114.

In an embodiment, the central processor20is programmed to cause the central memory22to store distinct time entry data for both the first time entry112,114and the second time entry112,114. In an embodiment, the central processor20is further programmed to link the distinct time entry data. In this way, use of the central processor20is streamlined and memory on the central memory22is conserved when generating a report such as a work-in-progress report or a billing report. In an embodiment, the report is generated by retrieving the linked data.

FIG.14illustrates an example embodiment of a twelfth GUI25L displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The twelfth GUI25L provides a listing of editable time entries114and/or posted time entries112. The twelfth GUI25L further provides a collaborative function button122, a clear button130, a post button132, a move button134, a merge button136, a transfer button138, and a delete button140. The user U can use multiple of these buttons on a time entry112,114to adjust time entries and conserve memory space.

The collaborative function button122is enabled to trigger the collaborative function as described herein. By providing the collaborative function button122on the twelfth GUI25L, the system10further enables the first user U1to implement the collaborative function after exiting the eleventh GUI25K and generating the time entries112,114shown in the twelfth GUI25L. The clear button130triggers clearing of selected time entries from the twelfth GUI25L. The post button132causes one or more editable time entry114to be finalized for including on a billing report. The merge button136enables the combination of multiple time entries112,114. The transfer button138enables editable time entries to be transferred, for example, to different client or matter numbers. The delete button causes the deletion of time entry data corresponding to a time entry112,114from the central memory22.

In an embodiment, the merge button136is configured to combine multiple time entries112,114. For example, a user U can select multiple time entries112,114(e.g., a first time entry112,114and a second time entry112,114) using the twelfth GUI25L and select the merge button136. Upon selecting the merge button136, the central processor20is configured to create a new time entry112,114which includes one or both of the narratives associated with the first time entry112,114and the second time entry112,114. The central processor20is further configured to delete time entry data related to each of the individual first time entry112,114and the second time entry112,114, thus conserving memory space by storing reduced time entry data corresponding to the new time entry from the combination.

In an embodiment, the user U is enabled to use any of the buttons122,130,132,134,136,138,140in combination. For example, the user U can first merge time entries using the merge button136and then use the collaborative function button122to link the newly merged time entry112,114to other users U. In this way, the system10enables the ongoing reduction of memory space associated with excess time entries112,114and conserves processing power associated with management of those time entries112,114.

FIG.15illustrates an example embodiment of a thirteenth GUI25M displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In an embodiment, the thirteenth GUI25M coordinates with the running timer108discussed herein. In the illustrated embodiment, the thirteenth GUI25M includes a program enablement panel150and a website enablement panel152. The program enablement panel150enables the user U to enable certain external computer programs (e.g., word, excel, powerpoint, publish, etc.) to be linked to the system10, for example, via an executable path. The website enablement panel152enables the user U to enable certain external websites to be linked to the system10.

When an external computer program has been linked by the program enablement panel150, the running timer108begins to run when that external computer program is opened on the user U's desktop. The running timer108records time until a predetermined condition has been reached. The predetermined condition can include, for example, the external computer program being closed on the desktop, the external computer program being minimized on the desktop, the user U being idle within the external computer program for a predetermined amount of time, or other predetermined conditions. In an embodiment, the running timer108is programmed to record time until any one of a plurality of predetermined conditions is reached. The system10then automatically generates an editable time entry114when a predetermined condition has been reached.

In the illustrated embodiment, one or more predetermined condition can be set by the system10using the thirteenth GUI25M, for example, using a system idle timer variable154, a minimum interval variable156, a merge interval variable158, and/or another variable. In an embodiment, the system idle timer variable154sets an idle time (e.g., 1 min) which triggers the generation of an editable time entry114for the amount of time preceding the idle detection. For example, the running timer108begins to run when the user U opens an external computer program and stops after detection of the amount of idle time. This detection of idle time further triggers the system10to generate an editable time entry114including the overall detected time (e.g., minus the idle time). In an embodiment, the minimum interval variable156sets an interval time (e.g., 1 min) which triggers the generation of an editable time entry114for the amount of time preceding the interval time. For example, the running timer108begins to run when the user U opens an external computer program and stops after detection of an interval time in which the user is using other programs. This detection of idle time further triggers the system10to generate an editable time entry114including the overall detected time (e.g., minus the interval time). In an embodiment, the merge interval variable158causes the system10merge the times recorded by subsequent running timers108which have been recorded within the merge interval. Then, the system merges multiple running timers108to create a single editable time entry114with the additional times.

When a website has been linked by the website enablement panel152, the running timer108begins to run when that website is opened on the user U's desktop. The running timer108records time until a predetermined condition has been reached. The predetermined condition can include, for example, the website being closed on the desktop, the website being minimized on the desktop, the user U being idle within the website for a predetermined amount of time, or other predetermined conditions. In an embodiment, the running timer108is programmed to record time until any one of a plurality of predetermined conditions is reached. The system10then automatically generates an editable time entry114when a predetermined condition has been reached. In the illustrated embodiment, one or more predetermined condition can be set by the system10using the thirteenth GUI25M, for example, using a system idle timer variable154, a minimum interval variable156, a merge interval variable158, and/or another variable, as discussed above.

In the illustrated embodiment, the thirteenth GUI25M further includes an automatic connect button160. When enabled, the system10automatically records data and generates corresponding editable time entries114when enabled external computer programs and/or websites are accessed.

FIG.16illustrates an example embodiment of a fourteenth GUI25N displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. In the illustrated embodiment, the fourteenth GUI25N includes a linked time entry panel162which includes editable time entries114which were created by the system10based on use of an external computer program and/or website that has been enabled by the program enablement panel150and/or the website enablement panel152. The user U can then select these editable time entries114, edit, collaborate, merge, post, and/or use other features as described herein. For example, for a client meeting attended by multiple users U1, U2. . . Un, one user U can open a linked external computer program or website during the meeting to cause the automatic generation of an editable time entry114, and then the system10can generate the editable time entry114for the time spent using that linked external computer program or website and use the collaboration feature to expand that editable time entry114to multiple users U as described herein. In this way, multiple editable time entries114can be generated for each user U who attended the meeting simply by one user U opening an external computer program or website and using the collaborate function for the editable time entry114generated by the system10.

FIG.17illustrates an example embodiment of a fifteenth GUI25O displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The fifteenth GUI25O is configured to illustrate a graphical representations166using the time entry data stored in the central memory22. In an embodiment, the user U can click on the graphical representations166and see time entries which correspond to that portion (e.g., slice of the pie chart, line of a graph, etc.). In an embodiment, the user U is enabled to further edit and post editable time entries114using this feature.

FIG.18illustrates an example embodiment of a sixteenth GUI25P displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The fifteenth GUI25P links the accounts of various users U employed by the first party P1. In an embodiment, if a first user U1is linked to a second user U2, e.g. using the sixteenth GUI25P, and the first user U1then creates a second time entry112,114which is linked to the second user U2using the collaborative function as described herein, the second time entry112,114corresponding to the second user U2is posted without requiring any involvement by the second user U2using the second terminal14b. In an embodiment, the system10automatically posts the second time entry112,114upon creation of the first time entry112,114by the first user U1when the first user U1and the second user U2have already been linked.

FIG.19illustrates an example embodiment of a seventeenth GUI25Q displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The seventeenth GUI25Q enables a user U to set up rules for the narratives for editable time entries114. For example, the seventeenth GUI25Q enables the user U to enter prohibited words (e.g., as discussed herein) which the system10will apply for example to client or matters. The seventeenth GUI25Q enables the user to create templates and/or set narrative codes as discussed herein.

FIG.20illustrates an example embodiment of an eighteenth GUI25R displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The eighteenth GUI25R enables a user U to create settings which are specific only to a certain region.

FIG.21illustrates an example embodiment of a nineteenth GUI25S displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The nineteenth GUI25S displays summary data corresponding to the status of various time entries112,114. In an embodiment, the central controller20can replace a larger set of time entry data with a smaller set of summary data to conserve memory space within the central memory22. The nineteenth GUI25S further allows filtering of the summary data in a variety of categories.

FIG.22illustrates an example embodiment of a twentieth GUI25T displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The twentieth GUI25T shows more detailed data corresponding to the summary data illustrated in the nineteenth GUI25S. In an embodiment, the central controller20can replace a larger set of time entry data with a smaller set of detailed summary data to conserve memory space within the central memory22.

FIG.23illustrates an example embodiment of a twenty-first GUI25T displayed on a user terminal14(e.g., a first user terminal14a) for a user U (e.g., a first user U1) in accordance with the present disclosure. The twenty-first GUI25T enables the user U to export a report (for example a work-in-progress report or a billing report) which includes categories desired by the user U.

In an embodiment, the system10automatically generates a work-in-progress report at predetermined intervals using filters selected by the first user U1or another user U (e.g., the filters shown inFIG.23). In an embodiment, the system automatically sends the work-in-progress report to a predetermined group of users U.

In an embodiment, the system10automatically generates a billing report at predetermined intervals using filters selected by the first user U1or another user U (e.g., the filters shown inFIG.23). In an embodiment, the system10automatically sends the billing report to a predetermined group of users U. In an embodiment, the system10automatically sends the billing report to a corresponding second party P2, for example, via the network16.

The systems and methods described herein are advantageous for time entry, management and billing because they improve the user experience, optimize processing, and conserve memory space. It should be understood that various changes and modifications to the methods described herein will be apparent to those skilled in the art and can be made without diminishing the intended advantages.

GENERAL INTERPRETATION OF TERMS

In understanding the scope of the present invention, the term “comprising” and its derivatives, as used herein, are intended to be open ended terms that specify the presence of the stated features, elements, components, groups, and/or steps, but do not exclude the presence of other unstated features, elements, components, groups, integers and/or steps. The foregoing also applies to words having similar meanings such as the terms, “including”, “having” and their derivatives. Also, the terms “part,” “section,” or “element” when used in the singular can have the dual meaning of a single part or a plurality of parts. Accordingly, these terms, as utilized to describe the present invention should be interpreted relative to a connecting device.

The term “configured” as used herein to describe a component, section or part of a device includes hardware and/or software that is constructed and/or programmed to carry out the desired function.

While only selected embodiments have been chosen to illustrate the present invention, it will be apparent to those skilled in the art from this disclosure that various changes and modifications can be made herein without departing from the scope of the invention as defined in the appended claims. For example, the size, shape, location or orientation of the various components can be changed as needed and/or desired. Components that are shown directly connected or contacting each other can have intermediate structures disposed between them. The functions of one element can be performed by two, and vice versa. The structures and functions of one embodiment can be adopted in another embodiment. It is not necessary for all advantages to be present in a particular embodiment at the same time. Every feature which is unique from the prior art, alone or in combination with other features, also should be considered a separate description of further inventions by the applicant, including the structural and/or functional concepts embodied by such features. Thus, the foregoing descriptions of the embodiments according to the present invention are provided for illustration only, and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.