Transfer of data between applications using intermediate user interface

Methods, systems, computer-readable media, and apparatuses for transfer of customer information between a first user interface and a third user interface by way of a second user interface are provided. In some embodiments, customer information may be imported into an intermediate user interface from a text-based user interface based on a first mapping associating portions of the text-based user interface with portions of an intermediate user interface. In some embodiments, the intermediate user interface is associated with a spreadsheet. The imported customer information may be reviewed by a user and accepted. The accepted customer information is used to populate a graphical user interface according to a second mapping associating one or more fields of the graphical user interface with portions of the intermediate user interface. In some embodiments, the graphical user interface is a browser-based user interface.

BACKGROUND

Aspects of the disclosure relate to computer hardware and software. In particular, one or more aspects of the disclosure generally relate to computer hardware and software for transferring data between applications through use of an intermediate user interface.

In modern commerce, customer information is maintained by a diverse array of organizations. Each organization has different systems and standards for storing and accessing customer information. Although there have been attempts to standardize customer information systems, no attempt has succeeded due to the unique needs and capabilities of each organization. Furthermore, different organizations or business units within an organization often upgrade customer information systems at different times, resulting in distinct and different user interfaces and ways of retrieving customer information.

Often, a user of customer information systems will have to use information from one customer information system as input to another customer information system. If the customer information systems are different and have not been designed to work together, the user is forced to manually copy over each item of customer information from one system to the other. This problem is especially prevalent where a legacy text-based system provides an interface to an essential customer information database. Modern forms used to interact with other organizations and business units are frequently web-based forms. In order to transfer information from the legacy text-based system, a user must manually copy each individual item of customer information from the text-based system to the web-based form, one item at a time.

This problem is particularly prevalent in the field of credit reporting. Each major provider of credit reporting services tracks and maintains databases of similar customer information. However, the information is stored differently by each provider. When a customer seeks to dispute information contained in a credit report, a user must retrieve customer information records and manually copy the information over to a dispute resolution form item by item.

SUMMARY

Aspects of the disclosure relate to various systems and techniques that provide automatic and accurate transfer of information from one application to another through use of an intermediate user interface. In particular, some aspects of the disclosure provide ways of transferring customer information from a text-based user interface to a destination user-interface having one or more fields. Some embodiments apply the disclosed techniques in a credit dispute resolution system.

For example, some embodiments discussed in greater detail below provide techniques for transferring customer information from a first user interface to a third user interface by way of a second user interface. In particular, customer information associated with a first customer may be identified in a first user interface. The first user interface may be a text-based user interface. At least a portion of the customer information may be automatically imported into a second user interface according to a first mapping which associates each of one or more portions of the second user interface with a corresponding portion of the first user interface. After the import, user input may be received approving the imported customer information. Responsive to the approval, one or more fields of a third user interface may be populated with the approved customer information according to a second mapping which associates each of the one or more fields with a corresponding portion of the second user interface.

In some embodiments, the first mapping may associate coordinates of the text-based user interface with a respective portion of the second user interface.

In some embodiments, the second user interface may be associated with a spreadsheet, the first mapping may associate each of at least one column of the spreadsheet with a corresponding portion of the text-based user interface, and the second mapping may associate each of the one or more fields with a corresponding column of the spreadsheet. Further, the spreadsheet may comprise a plurality of customer records, each customer record comprising information associated with a respective customer. Additionally or alternatively, the spreadsheet may store additional customer information associated with the first customer.

In some embodiments, the second user interface may be associated with a markup document, the first mapping may associate each of at least one element of the markup document with a corresponding portion of the first user interface, and the second mapping may associate each of the one or more fields of the third user interface with a corresponding element of the markup document.

In some embodiments, the imported customer information may be modified or aggregated prior to populating the one or more fields.

In some embodiments, user input may be received editing a portion of the imported customer information and the customer information may be updated according to the received input.

In some embodiments, a markup document used to generate the third user interface may be parsed in order to populate the one or more fields.

In some embodiments, the second user interface may further comprise a control to initiate the automatic import and a control to initiate the automatic populating.

In some embodiments, a populated form associated with the third user interface may be automatically submitted.

In some embodiments, a form associated with the third user interface may be presented within a credit report dispute resolution system and the form may be populated with approved customer information.

In some embodiments, the first mapping may associate a first portion of the second user interface with more than one portion of the first user interface.

In some embodiments, the second mapping may associate a first field of the third user interface with more than one portion of the second user interface.

By leveraging various aspects of these techniques and/or the other features and functionalities discussed in greater detail below, customer information may be transferred between a text-based user interface and a graphical user interface in more effective, efficient, scalable, and convenient ways. Various embodiments discussed in greater detail below can reduce the amount of time spent copying customer information, as well as time spent reviewing customer information for errors, that might otherwise be consumed performing manual transfer of customer information.

DETAILED DESCRIPTION

As noted above, certain embodiments are discussed herein that relate to transferring data between applications through use of an intermediate user interface. Before discussing these concepts in greater detail, however, an example of a computing device that can be used in implementing various aspects of the disclosure, as well as an example of an operating environment in which various embodiments can be implemented, will first be described with respect toFIGS. 1A and 1B.

FIG. 1Aillustrates an example block diagram of a generic computing device101(e.g., a computer server) in an example computing environment100that may be used according to one or more illustrative embodiments of the disclosure. The generic computing device101may have a processor103for controlling overall operation of the server and its associated components, including random access memory (RAM)105, read-only memory (ROM)107, input/output (I/O) module109, and memory115.

I/O module109may include a microphone, mouse, keypad, touch screen, scanner, optical reader, and/or stylus (or other input device(s)) through which a user of generic computing device101may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual, and/or graphical output. Software may be stored within memory115and/or other storage to provide instructions to processor103for enabling generic computing device101to perform various functions. For example, memory115may store software used by the generic computing device101, such as an operating system117, application programs119, and an associated database121. Alternatively, some or all of the computer executable instructions for generic computing device101may be embodied in hardware or firmware (not shown).

The generic computing device101may operate in a networked environment supporting connections to one or more remote computers, such as terminals141and151. The terminals141and151may be personal computers or servers that include many or all of the elements described above with respect to the generic computing device101. The network connections depicted inFIG. 1Ainclude a local area network (LAN)125and a wide area network (WAN)129, but may also include other networks. When used in a LAN networking environment, the generic computing device101may be connected to the LAN125through a network interface or adapter123. When used in a WAN networking environment, the generic computing device101may include a modem127or other network interface for establishing communications over the WAN129, such as the Internet131. It will be appreciated that the network connections shown are illustrative and other means of establishing a communications link between the computers may be used. The existence of any of various well-known protocols such as TCP/IP, Ethernet, FTP, HTTP, HTTPS, and the like is presumed.

Generic computing device101and/or terminals141or151may also be mobile terminals (e.g., mobile phones, smartphones, PDAs, notebooks, and so on) including various other components, such as a battery, speaker, and antennas (not shown).

FIG. 1Billustrates another example operating environment in which various aspects of the disclosure may be implemented. As illustrated, system160may include one or more workstations161. Workstations161may, in some examples, be connected by one or more communications links162to computer network163that may be linked via communications links165to server164. In system160, server164may be any suitable server, processor, computer, or data processing device, or combination of the same. Server164may be used to process the instructions received from, and the transactions entered into by, one or more participants.

According to one or more aspects, system160may be associated with a financial institution, such as a bank. Various elements may be located within the financial institution and/or may be located remotely from the financial institution. For instance, one or more workstations161may be located within a branch office of a financial institution. Such workstations may be used, for example, by customer service representatives, other employees, and/or customers of the financial institution in conducting financial transactions via network163. Additionally or alternatively, one or more workstations161may be located at a user location (e.g., a customer's home or office). Such workstations also may be used, for example, by customers of the financial institution in conducting financial transactions via computer network163or computer network170.

Computer network163and computer network170may be any suitable computer networks including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode network, a virtual private network (VPN), or any combination of any of the same. Communications links162and165may be any communications links suitable for communicating between workstations161and server164, such as network links, dial-up links, wireless links, hard-wired links, and/or the like.

Having described an example of a computing device that can be used in implementing various aspects of the disclosure and an operating environment in which various aspects of the disclosure can be implemented, several embodiments will now be discussed in greater detail.

As introduced above, some aspects of the disclosure generally relate to transferring data using an intermediate user interface. In the discussion below, various examples illustrating how data may be transferred between applications in accordance with one or more embodiments will be provided.

FIG. 2illustrates an example of a system200for transferring data between applications using an intermediate user interface according to one or more embodiments. In some embodiments, system200may be implemented in one or more computing devices, which may include and/or incorporate one or more processors, one or more memories, and/or one or more aspects of the computing device101discussed above. In some instances, system200may include a number of different subsystems, modules, databases, and/or libraries. In some arrangements, all of the subsystems or modules included in system200may be included in and/or incorporated into a single computing device, while in other arrangements, each subsystem or module included in system200(and/or combinations thereof) may be included in and/or incorporated into a distinct and/or dedicated computing device. In addition, each of the databases and/or libraries included in system200may be included in and/or incorporated into the same computing device as one or more other subsystems of system200, or, in other arrangements, may be included in and/or incorporated into distinct and/or dedicated computing devices (which, e.g., are communicatively coupled to and/or otherwise accessible to system200and/or its various subsystems).

Further illustrated inFIG. 2is a flow of data between user interfaces according to one or more embodiments. Data in system200flows from text-based user interface210to graphical user interface230by way of intermediate user interface220. In some embodiments, the data is customer information211and is used to populate one or more of fields232a,232b, . . . ,232n, collectively fields232, of form231. First mapping201may be used to associate portions of text-based user interface210with portions of intermediate user interface220. Second mapping202may be used to associate portions of intermediate user interface220with graphical user interface230. In some embodiments, first mapping201may associate portions of customer information211with portions of intermediate data221, and second mapping202may associate portions of intermediate data221with one or more fields232of form231.

Customer information211may be available through text-based user interface210. As used herein, the term “customer” is not intended to be limited to persons or entities having a customer relationship with the provider of the system. Rather, a customer may be any person or entity about which customer information211is provided. Customer information211may include one or more information items used to identify a person, entity, or attributes thereof. For example, when used as part of a credit report dispute resolution system, customer information211may include information items such as first name, last name, middle name, previous names, generation code, social security number, street address, city, state, zip code, telephone number, date of birth, an Equal Credit Opportunity Act (ECOA) code, taxpayer identification number, account number, order number, and/or any other information used to identify a persons or entity or their attributes. Customer information211may include account information, credit information, employment information, and/or any other information items related to the customer. Account information may include information items such as loan type, A/C status, account comments, account status, payment rating, account number, special comment, compliance conditions, portfolio type, account type, interest type indicator, terms duration, terms frequency, date opened, date of last payment, first date of delinquency, date of account information, date closed, and the like. Employment information may include information items such as employer name, occupation, employer street address, employer city, employer state, employer zip code, and the like. Other customer information items may include purchased portfolio information, special payment information, mortgage information, original creditor information, and the like.

Methods according to some embodiments of the invention transfer data from a first user interface to a third user interface by way of a second user interface. In some embodiments, the first user interface may be text-based user interface210. A text-based user interface is a user interface that utilizes characters, symbols, and colors to present a user interface in a character-based terminal or console. A text-based user interface is understood in contrast to a graphical user interface which presents a more user friendly interface through use of graphical icons, windows, folders, desktops, images, and/or other drawing features. A text-based user interface may be, for example, a terminal user interface or a command line user interface. A text-based user interface may be compliant with one or more standards for text based user-interfaces, such as ANSI X3.64, or may be built on top of a framework for text-based interfaces such as Win32 Console, part of the WINDOWS operating system offered by Microsoft Corporation of Redmond, Wash. The text-based user interface may present information stored locally or accessed remotely, such as information stored in a database accessible over a network. The text-based user interface may be a remote terminal for accessing an application executing elsewhere on a network. Text-based user interface210may provide customer information211which may be stored on a computer providing text-based user interface210or otherwise available on a network in which the computer participates.

FIGS. 3A and 3Bshow an example of text-based user interface210.FIG. 3Ashows an illustrative main menu of text-based user interface210, which may be a user interface for a customer information system. Text-based user interface210provides text based navigation, allowing a user to access data stored in the customer information system. A user may access information stored in the customer information system using options provided in the main menu, such as by specifying one or more attributes of a record or by performing a search.FIG. 3Bshows an illustrative display of customer information211that has been retrieved from a customer information system. As can be seen inFIG. 3B, customer information211may include customer ID, account number, last name, first name, middle name, previous names, social security number, street address, city, state, zip code, and telephone number. However, the customer information listed inFIG. 3Bis merely illustrative and customer information211may comprise any information used to identify a person, entity, or attributes thereof.

Methods according to some embodiments may comprise using a second user interface to transfer data from the first user interface to the third user interface. The second user interface may be intermediate user interface220(FIG. 2). Intermediate user interface220may comprise any suitable user interface for displaying customer information211which, in some embodiments, has been imported from text-based user interface210. Intermediate user interface220may be a graphical user interface adapted to display customer information imported from text-based user interface210.

FIGS. 4A and 4Billustrate examples of intermediate user interface220. As shown inFIGS. 4A and 4B, intermediate user interface220may utilize a field-based layout401or a table-based layout402. Other layouts known in the art for the presentation of information may be implemented in other embodiments. In both field-based layout401and table-based layout402, intermediate user interface220may comprise navigation tabs421. Navigation tabs421may group customer details, account details, and employment information into logical categories and enable a user to quickly access a particular information item. Intermediate user interface220may further comprise import data control411and populate form control412, as illustrated in field-based layout401and table-based layout402. Import data control411may be operative to initiate an import of customer information211from text-based user interface210into intermediate user interface220, which may be implemented using field-based layout401or table-based layout402. Populate form control412may be operative to initiate an export of customer information211from intermediate user interface220to graphical user interface230. The import and export of customer information211according to embodiments is discussed further below in regard toFIGS. 7 and 8.

In some embodiments, intermediate user interface may contain additional controls such as select source control and select destination control (not shown). Select source control may prompt a user to select a data source or other application as the first user interface. Select source control may further determine an appropriate first mapping in order to import customer information from the selected data source to intermediate user interface220. Select destination control may prompt a user to select a destination application or web site as the graphical user interface230. Select destination control may further determine an appropriate second mapping in order to populate fields of the selected destination with imported customer information211from intermediate interface220.

FIG. 4Cillustrates an illustrative embodiment of intermediate user interface220utilizing field-based layout401to display customer information211that has been imported from text-based user interface210in response to operation of import data control411. Fields431contain portions of imported customer information211.

FIG. 4Dillustrates an illustrative embodiment of intermediate user interface220utilizing a table-based layout402. Table432contains customer information211as well as additional customer information corresponding to a related customer. Embodiments may provide customer information related to more than one customer, and the related information may be transferred to a third user interface230according to the methods disclosed herein.

Intermediate user interface220may allow a user to review imported customer information211to ensure its accuracy and to make any necessary changes. For example, fields431of field-based layout401could be editable text fields containing portions of imported customer information211. A user may review the information contained in fields431and edit the text as appropriate. For example, a user may correct a misspelled name or any errors during the import of customer information211. Similarly, cells of table432may be editable by a user to make corrections to the customer information211contained therein. Other editing techniques may be utilized to enable a user to correct imported customer information211, such as user prompts, dialogs, spell checking, automatic comparison to other sources of customer information, and the like.

Intermediate user interface220may be associated with intermediate data221. Intermediate data221may be a data structure or file storing imported customer information211. In some embodiments, imported customer information211may be stored in intermediate data221and then used to construct intermediate user interface220. In other embodiments, imported customer information211may be stored in intermediate data221before export to graphical user interface230. Corrections made to imported customer information211made using intermediate user interface220may be communicated to and stored within intermediate data211. Intermediate data221may store information relating to more than one customer, and may contain customer information from other sources besides text-based user interface210. Intermediate data221may be a temporary file, existing during operation of intermediate user interface220, or it may be a permanent file, persisting even after operation of intermediate user interface220ceases. In some embodiments, intermediate data221may be created by intermediate user interface220. Intermediate user interface220may directly access data stored in intermediate data221or may utilize functions associated with intermediate data221to access data stored therein.

In some embodiments, intermediate data221may be a spreadsheet.FIG. 5Aillustrates a portion of an exemplary spreadsheet501having stored therein customer information records relating to multiple customers. Spreadsheet501may contain a different row for each customer information record. Spreadsheet501may contain a header row which identifies the type of information contained in each column. In some embodiments, intermediate user interface220may be generated by a spreadsheet application program associated with spreadsheet501. In such a case, intermediate user interface220may be generated using a scripting language associated with the spreadsheet application. In other embodiments, intermediate user interface220may utilize system or application APIs to access spreadsheet501.

In other embodiments, intermediate data221may be a markup language document.FIG. 5Billustrates a portion of an illustrative markup document502having stored therein customer information records relating to multiple customers. Markup document502may be an Extensible Markup Language (XML) document. Markup document502may utilize a hierarchical tag structure to define a customer information record and the associated data. Markup document502may be associated with a schema which defines a specific tag structure for customer information records stored therein.

Methods according to some embodiments transfer data to a third user interface from a first user-interface by way of a second user interface. The third user interface may be graphical user interface230(FIG. 2). Graphical user interface230may provide a form231. Form231may be made up of fields232a-n, collectively fields232. Through form231, graphical user interface230may provide access to a remote database or external customer information system. In some embodiments, graphical user interface230may be presented by an application associated with form231. In some embodiments, graphical user interface230may be a user interface generated from a markup language document. For example, the markup language document may be a Hypertext Markup Language (HTML) document. In some embodiments graphical user interface230may be a browser-based user interface presented in a web browser. However, browser-based user interface need not be presented in a web browser. As used herein, browser-based user interface is intended to cover both user interfaces presented in a web browser as well as web-based user interfaces implemented outside of a web browser but rendered from a markup language document. For example, a web-based user interface may be generated from a markup language document in a custom application program, rather than a web browser. In some embodiments, graphical user interface230is a credit report dispute resolution system and form231is a credit report dispute form.

FIG. 6illustrates an illustrative embodiment of graphical user interface230, which in some embodiments may be browser-based user interface601. Browser-based user interface may present a web page located at a third party website. The web page located at the third party website may be available over the internet and addressable by a uniform resource locator (URL). The third party website may be accessed using any appropriate protocol including HTTP and HTTPS. Browser-based user interface601may comprise form231which may be made up of fields232. Browser-based user interface601may further comprise submit control611and cancel control612. Submit control611may be operative to submit information contained in fields232to a server or other system associated with form231. Cancel control612may discard any information contained in fields232and reset the form or return the user to a different web page. AlthoughFIG. 6illustrates the browser-based user interface601as a web page from a third party website, in other embodiments browser-based user interface601may be a website provided by an organization of the user (a first party website), a local website, an intranet website, a custom application for accessing form231, or any web-based user interface for processing customer information. Graphical user interface230may be a browser-based user interface such as browser-based user interface601in some embodiments, and in others graphical user interface230may be any appropriate graphical user interface for processing or receiving customer information.

Having described illustrative user interfaces that may be used in a method of transferring data from a first user interface to a third user interface by way of an intermediate user interface, an example of such a method will now be discussed in greater detail with respect toFIG. 7.FIG. 7illustrates a flowchart that depicts a method of transferring data from a first user interface to a third user interface by way of a second user interface.

In some embodiments, the example method illustrated inFIG. 7may be performed by one or more computing devices, which may include and/or implement one or more aspects of computing device101. In additional and/or alternative embodiments, the example method illustrated inFIG. 7may be performed by a computer system, such as system200. In other embodiments, the example method illustrated inFIG. 7may be implemented in and/or may otherwise be embodied in computer-readable instructions that may be stored in a computer-readable medium, such as a memory.

In step705, customer information is identified in a first user interface. The first user interface may be, for example, text-based user interface210. The first user interface may be provided by a local machine implementing the method or by a remote machine to which the local machine has access. The first user interface may be provided in a window, or it may be full screen. The first user interface may be visible to the user, or it may be hidden, minimized, or otherwise occluded. In some embodiments, step705may include initializing the first user interface. Initializing the first user interface may comprise opening an application associated with the first user interface and logging in to said application. Step705may further comprise receiving an indication of the customer information being sought, such as a particular customer ID, account number, name, or other criteria related to the customer information.

In step710, at least a portion of the customer information is imported into a second user interface. The second user interface may be, for example, intermediate user interface220. Step710may be preceded by or may include a step of initiating the import in response to operation of an import data control presented by the second user interface, such as import data control411. The customer information may be automatically imported according to a first mapping201. First mapping201may associate each of one or more portions of the second user interface with a corresponding portion of the first user interface.

For example, first mapping201may associate portions of text-based user interface210with portions of intermediate user interface220. In some embodiments, first mapping201may identify portions of text-based user interface210using a referential coordinate system. The coordinate system may allow the mapping to identify a particular location on the text-based user interface210, such as by using (x,y) coordinate pairs. In other embodiments, the coordinate system may use rows and columns of a display region of the text-based user interface. The mapping may further utilize a text run length, specifying how many characters to retrieve starting from a specified location. In some embodiments, customer information211may be extracted from text-based user interface210using screen scraping techniques which capture information available on a user interface. In other embodiments, customer information211may be extracted using OCR techniques based on image captures of text-based user interface210. In still other embodiments, customer information211may be extracted using application APIs, system APIs, or other related functions. In addition to or as an alternate embodiment, the mapping may utilize key words or tokens for locating the mapped portion of the text-based user interface210. For example, the mapping may indicate that a portion of the customer information begins with “CustomerID” and use this to identify the mapped portion of the text-based user interface210. Additionally or alternatively, first mapping201may include additional instructions to access portions of customer information211, such as instructions to cause text-based user interface210to present a different page or retrieve additional customer information. In some embodiments, the additional instructions may comprise virtual keystrokes corresponding to commands of text-based user interface210.

Each portion of text-based user interface210identified in first mapping201may be associated with a portion of intermediate user interface220. In some embodiments where the intermediate user interface220utilizes field-based layout401, first mapping201may identify fields431of the intermediate user interface220which correspond to a mapped portion of the text-based user interface210. In other embodiments where the intermediate user interface220utilizes table-based layout402, first mapping201may identify a cell of table432.

In some embodiments, intermediate user interface220may be associated with intermediate data221. Intermediate data221may be, for example, a spreadsheet such as spreadsheet501. First mapping201may further associate portions of text-based user interface210with portions of intermediate data221. Where intermediate data221is implemented as a spreadsheet, first mapping201may identify a row, column, or cell of the spreadsheet to be associated with the corresponding portion of text-based user interface210. First mapping201may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to the portion of text-based user interface210. In other embodiments, intermediate data221may be, for example, a markup language document such as markup language document502. In such a case, first mapping201may associate an element of the markup language document with a corresponding portion of text-based user interface210. In some embodiments, first mapping201may identify the element according to a hierarchical structure of the markup language document including parent and grandparent tags or elements. The hierarchical structure may be defined according to a schema associated with the markup language document.

In some embodiments, first mapping201may associate more than one portion of text-based user interface210with a particular portion of intermediate user interface220. Additionally or alternatively, first mapping201may associate more than one portion of intermediate user interface220with a particular portion of text-based user interface210. Further, first mapping201may incorporate logic to split, concatenate, remove special characters, or otherwise modify customer information211. For example, text-based user interface210may contain a field “Full Name” which is parsed, split, and mapped to both “First Name” and “Last Name” in intermediate interface220.

In step715, the method receives user input approving the imported customer information211. Step715may include presenting intermediate user interface220containing imported customer information211to the user for review. In some embodiments, the intermediate user interface is updated to include the imported customer information211from intermediate data221. As part of step715, a user may be provided a display of the imported customer information211for review and correction. If a user identifies any mistakes in the data or otherwise wishes to make modifications, the user may edit the imported customer information211. In some embodiments, the edits to the imported customer information211may be communicated to and stored in intermediate data221. The user approves or validates the edited customer information211which is then used to populate the third user interface in step720. In some embodiments, the user indicates approval of the edited customer information211by operating a populate form control412. Some embodiments may omit step715, and in others the user's approval may be implicit based on user preferences or settings.

In step720, the third user interface is populated using the approved customer information211. The third user interface may be, for example, graphical user interface230. Step720may be performed in response to receiving user input approving the customer information211, such as through operation of populate form control412. The approved customer information211may be used to automatically populate a form231presented by graphical user interface230according to a second mapping202. Second mapping202may associate each of one or more portions of the third user interface with a corresponding portion of the second user interface. In some embodiments, second mapping202may associate each of one or more fields232of graphical user interface230with a corresponding portion of the second user interface. In some embodiments, the populated form231may be automatically submitted on behalf of the user. This may be accomplished by programmatically operating submit control611.

In some embodiments, second mapping201may specify fields232of form231by a tag name or other ID used to identify a particular field. In some embodiments, a markup language document associated with graphical user interface230may be parsed to identify elements corresponding to the specified field. For example, as part of step720a markup language document may be parsed to identify a field with an ID of “CustomerID”. In other embodiments, APIs or other functions provided by an application associated with graphical user interface230may be used to identify a particular field. Second mapping201may specify the appropriate functions to call or arguments to be used to identify a particular field. In other embodiments, column headers or other identifiers associated with imported customer data211may be used to automatically locate the corresponding field in graphical user interface230.

In some embodiments, second mapping202may associate portions of intermediate data221with fields231, similar to first mapping201. Where intermediate data221is implemented as a spreadsheet, second mapping202may identify a row, column, or cell of the spreadsheet to be associated with one or more corresponding fields232of graphical user interface230. For example, a “CustomerID” column in spreadsheet501may be mapped to a field having an ID tag “CustomerID”. Second mapping202may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to field232of graphical user interface230. In other embodiments, intermediate data221may be, for example, a markup language document such as markup language document502. In such a case, second mapping202may associate an element of the markup language document with a corresponding portion of graphical user interface230. In some embodiments, second mapping202may identify the element according to a hierarchical structure of the markup language document including parent and grandparent tags or elements. The hierarchical structure may be defined according to a schema associated with the markup language document.

In some embodiments, second mapping202may associate more than one portion of intermediate user interface220with a particular portion of graphical user interface230. Additionally or alternatively, second mapping202may associate more than one portion of graphical user interface230with a particular portion of intermediate user interface220. Further, second mapping202may incorporate logic to split, concatenate, remove special characters, or otherwise modify imported customer information211. For example, intermediate user interface220may contain fields “First Name” and “Last Name” which are parsed, concatenated, and mapped to “Full Name” in graphical user interface230.

FIG. 8illustrates a flowchart presenting an embodiment of the method illustrated inFIG. 7. In some embodiments, the example method illustrated inFIG. 8may be performed by one or more computing devices, which may include and/or implement one or more aspects of computing device101. In additional and/or alternative embodiments, the example method illustrated inFIG. 8may be performed by a computer system, such as system200. In other embodiments, the example method illustrated inFIG. 8may be implemented in and/or may otherwise be embodied in computer-readable instructions that may be stored in a computer-readable medium, such as a memory.

In step805, customer information211is identified in a text-based user interface210. As discussed above in regard to step705, text-based user interface210may be provided in a window, or it may be full screen. Text-based user interface210may be visible to the user, or it may be hidden, minimized, or otherwise occluded. Text-based user interface210may be initialized, such as by opening an application associated with text-based user interface210and logging in to said application. Step805may further comprise a user providing an indication of the customer information being sought, such as a customer ID, account number, name, or other criteria related to customer information211.

In step810, at least a portion of customer information211is imported into a spreadsheet associated with intermediate user interface220. Step810may be preceded by or may include a step of initiating the import in response to operation of an import data control presented by intermediate user interface220, such as import data control411. Customer information211may be automatically imported according to a first mapping201. First mapping201may associate each of one or more portions of the spreadsheet with a corresponding portion of text-based user interface210. As discussed above in regard to step710, first mapping201may utilize a referential coordinate system or key terms to identify portions of text-based user interface210. Each portion of text-based user interface210identified in first mapping201may be associated with a portion of the spreadsheet. First mapping201may identify a row, column, or cell of the spreadsheet to be associated with the corresponding portion of text-based user interface210. First mapping201may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to the portion of text-based user interface210.

In step815, the method presents imported customer information211to a user for correction and approval. Imported customer information211stored in the spreadsheet may be used to generate a display of imported customer information211in intermediate user interface220. If a user identifies any mistakes in the data or otherwise wishes to make modifications, the user may edit imported customer information211. In some embodiments, the edits to imported customer information211may be communicated to and stored in the spreadsheet.

In step820, user input is received approving or validating the edited customer information211. In some embodiments, the user indicates approval of the edited data by operating a populate form control412. In some embodiments, the user's approval may be implicit based on user preferences or settings.

In step825, a browser-based user interface is populated using the approved customer information211. As noted above, in some embodiments graphical user interface230may be implemented as a browser-based user interface, such as illustrative browser-based user interface601. The approved customer information may be used to automatically populate a form231presented by browser-based user interface601according to a second mapping202. Second mapping202may associate each of one or more portions of browser-based user interface601with a corresponding portion of intermediate user interface220. In some embodiments, second mapping202may associate each of one or more fields232of browser-based user interface601with a corresponding portion of the spreadsheet, as discussed above in regard to step720. In some embodiments, second mapping202may specify fields232of form231by a tag name or other ID used to identify a particular field. A markup language document associated with browser-based user interface601may be parsed to identify elements corresponding to the specified field. Second mapping202may identify a row, column, or cell of the spreadsheet to be associated with one or more corresponding fields232of browser-based user interface601. For example, a “CustomerID” column in spreadsheet501may be mapped to a field having an ID tag “CustomerID”. Second mapping202may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to field232of browser-based user interface601.

Having discussed two exemplary methods according to some embodiments, a system for transferring customer information from a first user interface to a third user interface by way of a second user interface as shown inFIG. 9will be described.

FIG. 9illustrates an example of a system900for transferring customer information from a first user interface to a third user interface by way of a second user interface. In some embodiments, system900may be implemented in one or more computing devices, which may include and/or incorporate one or more processors, one or more memories, and/or one or more aspects of the computing device101discussed above. In some instances, system900may include a number of different modules, subsystems, databases, and/or libraries. In some arrangements, all of the modules and subsystems included in system900may be included in and/or incorporated into a single computing device, while in other arrangements, each module or subsystem included in system900(and/or combinations thereof) may be included in and/or incorporated into a distinct and/or dedicated computing device. In addition, each of the databases and/or libraries included in system900may be included in and/or incorporated into the same computing device as one or more other subsystems of system900, or, in other arrangements, may be included in and/or incorporated into distinct and/or dedicated computing devices (which, e.g., are communicatively coupled to and/or otherwise accessible to system900and/or its various subsystems).

As seen inFIG. 9, in some embodiments, system900may include a processor103, a memory115, a data source module910, an import module920, a prefill module930, and an export module940. This arrangement represents one illustrative configuration of system900. In other embodiments, one or more elements of system900may be combined and/or additional and/or alternative subsystems may be included in addition to and/or instead of those shown inFIG. 9.

In some embodiments, data source module910may be configured to identify customer information associated with a first customer in a first user interface. The first user interface may be text-based user interface220. As discussed above, text-based user interface210may be provided in a window, or it may be full screen. Text-based user interface210may be visible to the user, or it may be hidden, minimized, or otherwise occluded. Text-based user interface210may be initialized, such as by opening an application associated with text-based user interface210and logging in to said application. Data source module may receive an indication of the customer information being sought, such as a customer ID, account number, name, or other criteria related to customer information211.

In some embodiments, import module920may be configured to import at least a portion of customer information211into a spreadsheet associated with intermediate user interface220. Import module920may initiate the import in response to operation of an import data control presented by intermediate user interface220, such as import data control411. Customer information211may be automatically imported according to a first mapping201. First mapping201may associate each of one or more portions of the spreadsheet with a corresponding portion of text-based user interface210. As discussed above, first mapping201may utilize a referential coordinate system or key terms to identify portions of text-based user interface210. Each portion of text-based user interface210identified in first mapping201may be associated with a portion of the spreadsheet. First mapping201may identify a row, column, or cell of the spreadsheet to be associated with the corresponding portion of text-based user interface210. First mapping201may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to the portion of text-based user interface210.

In some embodiments, prefill module930may receive user input approving or validating the imported customer information211. Prefill module930may cause intermediate user interface220to be presented to the user such that the user may review and approve imported customer information211. In some embodiments, the user indicates approval of the edited data by operating a populate form control412. In some embodiments, the user's approval may be implicit based on user preferences or settings.

In some embodiments, export module940populates a graphical user interface230using the approved customer information211. The approved customer information may be used to automatically populate a form231presented by graphical user interface230according to a second mapping202. Second mapping202may associate each of one or more portions of the third user interface with a corresponding portion of the second user interface. In some embodiments, second mapping202may associate each of one or more fields232of graphical user interface230with a corresponding portion of the spreadsheet, as discussed above. In some embodiments, second mapping201may specify fields232of form231by a tag name or other ID used to identify a particular field. In some embodiments, a markup language document associated with graphical user interface230may be parsed to identify elements corresponding to the specified field. Second mapping202may identify a row, column, or cell of the spreadsheet to be associated with one or more corresponding fields232of graphical user interface230. For example, a “CustomerID” column in spreadsheet501may be mapped to a field having an ID tag “CustomerID”. Second mapping202may further utilize a lookup table to identify the proper portion of the spreadsheet corresponding to field232of graphical user interface230.

As indicated above, these are examples of the modules, subsystems, databases, and/or other elements that may be included in system900in some embodiments, as well as some of the functions that may be performed (e.g., by system900and its various subsystems). In other embodiments, additional and/or alternative modules, subsystems, databases, and/or other elements may similarly be included, and/or other functions may be performed, in addition to and/or instead of those discussed above.

In some embodiments, techniques described herein may be utilized to automate various steps of resolving disputes related to information contained in a credit history report. More particularly, intermediate user interface220may be a credit report prefill tool according to some embodiments and may facilitate the automatic transfer of information from a text-based customer information application to a browser-based credit report dispute resolution system.

The credit report prefill tool may include a first mapping between the text-based customer information application and portions or fields of the credit report prefill tool. The credit report prefill tool may further include a second mapping between portions or fields of the credit report prefill tool and a form provided by the credit report dispute resolution system. The credit report prefill tool may thus automatically populate the fields of the browser-based user interface with the customer information items retrieved from the credit report prefill form.

The credit report dispute resolution system may be a subscription-based and web-based automated system that enables data furnishers and credit reporting agencies to create and respond to consumer credit history disputes. The credit report dispute resolution system may support automated credit dispute verification and automated universal dataform processing as well as a number of related processes that handle registration, subscriber code management, and reporting. An automated credit dispute verification may be initiated by a credit reporting agency on behalf of a customer and routed to the appropriate data furnisher based on the credit reporting agency and subscriber code affiliations indicated by the data furnisher. The automated credit dispute verification may be returned to the initiating credit reporting agency with any updated information relating to the customer's credit history. Automated universal dataforms may be initiated by a data furnisher to process out-of-cycle credit history updates. The credit report dispute resolution system may be used to create the automated universal dataform and route it to the appropriate credit reporting agencies based on subscriber codes specified by the data furnisher in the automated universal dataform record.

Various aspects described herein may be embodied as a method, an apparatus, or as one or more computer-readable media storing computer-executable instructions. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Any and/or all of the method steps described herein may be embodied in computer-executable instructions stored on a computer-readable medium, such as a non-transitory computer readable memory. Additionally or alternatively, any and/or all of the method steps described herein may be embodied in computer-readable instructions stored in the memory of an apparatus that includes one or more processors, such that the apparatus is caused to perform such method steps when the one or more processors execute the computer-readable instructions. In addition, various signals representing data or events as described herein may be transferred between a source and a destination in the form of light and/or electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).