Improved database queries in ordering processes

WO2026201233A1PCT designated stage Publication Date: 2026-10-01EPLAN SOFTWARE & SERVICE GMBH & CO KG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/DE2026/100195
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-24
Filing Date
2026-02-19
Publication Date
2026-10-01

Smart Images

  • Figure DE2026100195_01102026_PF_FP_ABST
    Figure DE2026100195_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented method for supporting an ordering process, involving: receiving a digital list of items, the list including, for each item, a description of the item and / or one or more attributes; comparing the list with a database of a first provider using the description and / or attributes, each list entry for which an item has been found in the database being supplemented with descriptions and / or attributes which are contained in the database but not in the list for said item; comparing the supplemented list with a database of a second provider, wherein for each list item found in the database, information regarding orders of the item is read out; and displaying the information that has been read out.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Improved database queries in order processes

[0002] TECHNICAL AREA

[0003] The invention lies in the technical field of querying databases, particularly in the context of ordering processes.

[0004] BACKGROUND

[0005] Technically supported ordering processes are known in the prior art, initiated via an interactive user interface, such as a website. The user selects from a list of available items, specifies quantities, and orders the goods with the click of a button. The technical infrastructure of such ordering processes includes a web browser running on the user's device and a connection to the supplier of the items, who typically operates a web server that enables the website to be displayed on the user's device and communicates with it. The technical infrastructure also includes a database operated by the supplier containing information about the items, and a warehouse where the items are stored and from which they are shipped.

[0006] In an industrial context, users typically place very large orders. For example, they might create lists of items to place a bulk order. Such lists are sometimes reused and updated over time. Using such a list requires entering each individual item into a supplier's database to place the order. Ordering processes with large item lists are not easily automated because the list entries often contain different item specifications than the supplier databases, and / or because they are incomplete compared to the supplier database. Interacting with databases via websites is primarily designed for user interaction, not for use by software that would first need to identify the specific item.If providers allow direct access to their databases, further difficulties arise because the articles in these databases are displayed differently and have slightly different attributes that are incompatible with those of other databases. For example, users often use article identifiers that are only used locally and are unknown to the supplier.

[0007] US Patent 2021 / 0342920 A1 discloses the following: The embodiments described herein can provide functions for data collection from multiple sources, adaptive cross-linking of items, data preparation, and data extraction. These functions enable the creation of item master records that provide more comprehensive information than a single data source. Additional functions that can be provided in some embodiments include, for example, the provision of commodity-based forecast prices and / or a visual overview of expenditures.

[0008] US 2023 / 0281572 A1 discloses systems and methods for an e-commerce-enabled digital whiteboard. The system receives initialization information from a mobile device via a network. This information includes a description of an initial vehicle and an initial repair for that vehicle. This initialization information is stored in an initial context. The system then receives an initial request to map the initial context to an online workspace. The initial context is mapped to an online marker associated with the online workspace. Based on the initial context, the system generates an initial user interface. This initial user interface comprises the interactive online workspace with an initial repair scheme and instructions for the initial repair of the initial vehicle. Finally, the system receives a second request from the mobile device via the network, which is also processed based on the initial context.SUMMARY.

[0009] Embodiments of the invention comprise a computer-implemented method for supporting an ordering process, comprising: receiving a digital list of items, wherein the list contains for each item a designation of the item and / or one or more attributes; matching the list with a database of a first supplier based on the identifiers and / or attributes, wherein each entry in the list for which an item was found in the database is supplemented with identifiers and / or attributes that are contained for this item in the database but not in the list; matching the supplemented list with a database of a second supplier, wherein for each item from the list that is found in the database, information on orders of this item is read out; and displaying the read out information.

[0010] Embodiments of the invention further comprise a computer-readable medium with instructions stored thereon which, when executed on a processor, perform one of the methods disclosed herein.

[0011] BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 shows a method according to a first embodiment of the invention.

[0013] Figure 2 shows a possible implementation of one of the steps of the method according to the invention.

[0014] Figure 3 shows a possible implementation of a further step of the method according to the invention.

[0015] DETAILED DESCRIPTION Figure 1 shows a method 100 according to an embodiment of the invention. The method 100 is implemented on a computer. In a first step 110, the method 100 receives a list of articles. This list comprises a series of entries in any order. Each entry specifies an article and, for this purpose, contains one or more attributes of the article, for example, a name, a manufacturer, and / or an article number. The list may, for example, have been compiled by a user using a word processor; alternatively, the list may have been compiled by a user interacting with software, wherein the software displays articles from a database and adds the articles to the list after selection by the user.In the simplest case, the entries in the list can be stored without any special formatting, with each line containing exactly one entry and the attributes separated by a space or other predefined character. Alternatively, familiar formats can be used directly or in a modified form, such as HTML, XML, CSV, XLS.

[0016] In step 120, procedure 100 accesses a first database that provides information about articles. Access can be via a suitable interface, such as ODBC or JDBC. Procedure 100 compares each article from the article list with the database by comparing the existing attributes of the corresponding entry in the article list with the attributes of the entries in the first database. If procedure 100 finds a database entry for a list entry that contains an identical attribute, it next checks whether the database entry contains further attributes for which no value is stored in the corresponding entry in the article list. The values ​​of these attributes are then copied into the entry in the article list.In one embodiment, an item entry in the item list can lead to matches with multiple entries in the database, for example, if different attributes of the item list entry match corresponding attributes of different items in the database. In this case, the user can be notified accordingly, for example, via a dialog box or an email containing the item list entry(s) and the database entry(s). This prevents an unintended item from being included in a subsequent order, or allows errors in the database and / or the item list to be detected and addressed. Step 120 can include storing a positive result for each item entry in the list if exactly one matching entry was found for that entry in the first database.If multiple or no matching entries were found in the first database, a negative result can be stored. In the simplest case, a positive or negative result can be represented by a flag set to one or zero, respectively. Additionally or alternatively, a positive result can include a reference to the entry in the database, such as an identifier (ID) that is valid within the database and allows direct access to the entry later. For a negative result, the reference or corresponding field remains empty or, in the case of multiple database entries matching due to the same attribute, contains a list of these database entries, for example, as a list of database IDs.

[0017] Step 120 can be repeated with multiple databases to complete the article list entries as much as possible. For example, the user can select the databases to be used for completing / supplementing the article list from a list of displayed databases via a graphical interface. In step 120, the article list entries are then systematically compared with each of the selected databases and supplemented as necessary. The order of the selected databases is arbitrary. In one embodiment, each article list entry is compared with each of the selected databases until a first match of an article attribute is found in one of the databases. In this way, the invention enables a particularly efficient and complete supplementation of the article entries in the article list.

[0018] In step 130, method 100 compares the supplemented article list with a second database. This second database serves to further prepare an order process and preferably contains information on suppliers of articles. In one embodiment, the second database contains a larger number of attributes per article than the first database; in particular, the attributes of the first database can comprise a (true) subset of the attributes of the second database. The attributes of the entries in the article list are compared with corresponding attributes in the second database. In one embodiment, only those articles in the list for which a positive result has been stored are compared with the second database. If a corresponding entry is found in the second database in this way, step 130 stores this as a positive result in the article list or in a separate list.Conversely, a negative result can be saved if an article was not found in the second database. A positive result can include a link to the corresponding entry in the database. Similar to step 120, step 130 can include saving a positive result only if exactly one match was found, and can save a negative result for entries in the article list whose attributes resulted in multiple matches, but for which no match was found at all.

[0019] The attributes from the second database, which are used to supplement the article list, can include, among other things, price information, suppliers, globally unique article identifiers and / or delivery times.

[0020] In step 140, procedure 100 displays to the user the items found in the second database from the item list, for example, those items for which a positive result was recorded in step 130. Items with a negative result can also be displayed with a note indicating that they were not found. This note can include, for example, color highlighting of the items and / or displaying the items in a separate list or other user element. The user can configure their order and ultimately place it using appropriate graphical controls, such as checkboxes, quantity input fields, etc. In the simplest case, only a single confirmation action is required to place the order. Configuring the order can include providing the user with information about items, quantities, and / or specific suppliers.To simplify this input process for the user, suggestions for selections can be made based on the displayed list of items. For example, each time the user selects another item, the system can automatically determine which of several suppliers offers the shortest delivery time, and / or which supplier should be selected to order as many items as possible from as few suppliers as possible. The invention employs an optimization method for this purpose, which is adapted to each change in the selection. Using relevant user controls, the user can also weight and / or activate or deactivate individual attributes, such as stock level and delivery time, to exclude or include them in the optimization. The user can then accept the suggested selection and place the actual order. When placing the order, the user has two options.In the first case, the software, which executes the steps described here, contacts an API of one or more suppliers and places the order. In the second case, the item list is exported in a neutral format (CSV, XLS) and automatically sent to an in-house ordering system.

[0021] This method can be advantageous when users compile their item lists using identifiers or other attributes that are only used locally, for example, within the user's company, or that are only contained in specific databases. Using globally used or even globally unique identifiers is often cumbersome or less intuitive. In such a use case, the first database includes both locally used and globally used identifiers / attributes. By adding to the item list in step 120, the entries in this list are automatically expanded and made applicable to the second database, allowing the order to be further configured using that second database.At the same time, the ordering process remains largely unchanged for the user; the user can enter or upload their item list and then sees the entries from the second database to configure their order. At least the processing of the list based on the first database is invisible to the user. Additional actions are only required in the case of multiple matches or missing matches.

[0022] Figure 2 shows an example of a possible implementation 200 of step 120 and / or step 130 of procedure 100. This implementation 200 first includes a step 210, in which an article entry is matched from a list with entries in a database. As already explained, this matching involves comparing the attributes of the article entry with corresponding attributes in the database. An attribute of an article entry "matches" an attribute of a database entry if it has the same name (attribute name, field name). Alternatively, an article entry can match an attribute of a database entry if both attributes are located in the same position. Step 210 creates a set of the entries in the database that match the article entry, i.e., that they match in at least one attribute. Two attributes match if their values ​​are identical. The elements of this set are referred to here as matches.

[0023] Implementation 200, shown in Figure 2, is executed for each item entry in the list. In step 210, after comparing the item entry with the database, the number of database entries that match the item entry in at least one attribute is determined. In step 220, a case distinction is made: If exactly one matching entry was found for the item in the database, implementation 200 stores this match as a positive result in step 222. If no matching entry was found, implementation 200 stores this as a negative result. In this sense, the item entry from the list matches an entry in the database if at least one attribute of both entries is identical. After step 222 or step 225, implementation 200 continues with the next item entry in the list at step 210, provided that not all item entries have yet been examined.

[0024] If more than one match is found in step 220, implementation 200 continues to step 230. Here, all matches that can be traced back to the same attribute (and only to that one attribute) are removed from the set created in step 210. Implementation 200 then continues with the remaining set at step 220, provided this set is not empty. If the set is empty, step 225 is executed instead, and a negative result is stored for the relevant item entry.

[0025] In one embodiment, step 230 deletes all matches based on exactly one identical attribute. Additionally or alternatively, all matches that differ in one or more attributes are deleted. In another embodiment, step 220 is repeated only if the set of deleted matches is greater than zero. In a specific example for implementation 200, for an article entry "Barcode number: 123456789; Order number: 123'", step 210 identifies a set of matches that includes the elements "Barcode number: 111111111; Order number: 123'", "Barcode number: 222222222; Order number: 123'", "Barcode number: 333333333; Order number: 123'", and "Barcode number: 123456789; Order number: 123'". All the matches can be traced back to the attribute "order number".Since the number of matches is greater than one, the case distinction in step 220 leads to step 230. Here, the elements "Barcode number: 111111111; Order number: 123", "Barcode number: 222222222; Order number: 123" and "Barcode number: 333333333; Order number: 123" are removed from the set because they are based on the same attribute and do not contain any other attributes that match the item entry in the list. Only the element "Barcode number: 123456789;" remains in the set. Order number: 123”, since its match is based on two attributes. Because the set is not empty, implementation 200 continues at step 220. Since the set contains exactly one element in the mathematical sense, implementation 200 continues at step 222, where a positive result is stored for the relevant item entry.If there are still further article entries in the list, implementation 200 continues with the next article entry; otherwise, it ends and proceeds to the next step in procedure 100. For example, the article entries examined and saved with a positive result can be supplemented based on the matching database entries. Alternatively, the already supplemented article entries can be displayed to the user and configured by them for an order.

[0026] The identifiers and / or attributes of the article entries and / or database entries can include a Global Trade Item Number (GTIN), an internal unique identification number of a supplier of the respective database or of a supplier of the database, a supplier's article number, a manufacturer's name, an order number, and / or a type number. In one embodiment, the article list contains in each entry only an identifier of the respective article along with an internal unique identification number of a supplier of the first database and, optionally, further attributes, but not the GTIN. Furthermore, in this embodiment, the first database contains at least the unique identification number and the GTIN. In this way, all identification numbers can be added to the article list by applying Method 100, optionally including Implementation 200.The article list thus supplemented can subsequently be used to retrieve further data from the second database, such as information on available quantities, prices, etc., and to enable the user to order their articles in a further step, namely the communication via an API of one or more suppliers as already described. The invention is particularly efficient, however, when the articles in the list contain different attributes, for example, only an identifier for one article, only an identification number for another, and only a type number for yet another. In all cases, the invention supplements the article list so that it contains a uniform and complete specification of all articles.

[0027] In a specific embodiment, matching the article list with the first or second database includes comparing the internal unique identification numbers of the article list with the internal unique identification numbers of the database. Alternatively or additionally, the matching includes comparing the GTIN of the article list with the GTNs of the database. Alternatively or additionally, the matching includes comparing the article numbers, type numbers, and / or order numbers with the corresponding attributes of the database. If at least one attribute matches, this is recorded as a positive result or further investigated according to Implementation 200.

[0028] Storing a positive result for an article entry in the list can involve storing a direct reference to the matching entry in the (first or second) database. Such a reference can consist of a copy of the database entry and can subsequently be used to supplement the article entry. Alternatively, such a reference can include an internal database identifier (ID) under which the entry in the database can later be accessed directly. The reference can be stored directly in the respective entry in the list, for example, as a new attribute under a predefined identifier ("ID first database," etc.).

[0029] The invention requires interaction with different databases. This is preferably implemented using an Application Programming Interface (API), which is integrated into the (computer-implemented) invention via library functions and through which the databases are queried.

[0030] Figure 3 shows, as a further embodiment, an implementation 300 of steps 120 and / or 130 from Figure 1, and can also be combined with implementation 200. Implementation 300 extends step 140 to include explanations that provide the user with clues as to the cause of negative results for article entries. Implementation 300 begins with step 310, which, based on the (supplemented) article list including the respective positive and negative results, checks the role played by a predetermined attribute in the search. The predetermined attribute can be specified by the user via a user dialog or other graphical input option, for example, by selecting it from a list of available attributes. Alternatively, the attribute can be preset, for example, to the attribute "Manufacturer".

[0031] As previously explained, for an entry in the article list, one, no, or multiple matches can be found in the relevant database. The entry matches a database entry if and only if at least one of its attributes has an identical value. A positive result is stored for the entry if exactly one such match is found. In one embodiment, step 310 considers only the list entries with a negative result. Step 310 involves determining, for such an entry, the number of database entries that match the entry in at least one attribute, yet were stored with a negative result (multiple matches based on the same attribute), and also contain the predetermined attribute value ("manufacturer," etc.).

[0032] If the predetermined attribute is not contained in any of the listed entries, the user can be notified accordingly in step 325. For example, if the predetermined attribute relates to the "manufacturer," the applicant can be informed, perhaps via a text message, display, or highlighting, that articles from this manufacturer are not present in the database or at least not in combination with other attributes of the article entries in the list. If the predetermined attribute is contained in exactly one entry in the database, the user can be notified in step 315, for example, with the indication that this is the only match and that at least one of the other attributes of the article entry differs from the entry in the database.Therefore, an incorrect entry may have been stored in the article list and / or the database, and the entry in the database may actually correspond to the entry in the article list.

[0033] If the predetermined attribute is contained in more than one database entry, the user can be notified of the number of entries in step 320. In this case, there is a similarity to database entries in that the latter, for example, stores articles from the specified manufacturer, but not the specific article indicated. The relevant entries in the database and / or the article list entry may contain errors. However, this case is less likely than the one described in step 315.

[0034] In this way, Implementation 300 enables the user to examine their article list more closely and correct possible errors.

[0035] The features shown in the description, the claims and the figures can be relevant individually or in any combination for the realization of embodiments of the invention, the scope of protection being determined solely by the patent claims.

Claims

Claims 1. Computer-implemented method to support an ordering process, comprising: Receiving a digital list of items, wherein the list contains for each item a label of the item and / or one or more attributes; Matching the list with a first-party database using identifiers and / or attributes, supplementing each entry in the list for which an item was found in the database with identifiers and / or attributes that are included for that item in the database but not in the list; Comparing the supplemented list with a database of a second supplier, whereby for each item from the list found in the database, information on orders for that item is retrieved; and Displaying the extracted data.

2. The method of claim 1, wherein the identifiers and / or attributes include a Global Trade Item Number (GTIN), an internal unique identification number of the first supplier, a first supplier article number, a manufacturer's name, a purchase order number and / or a type number.

3. A method according to claim 1 or 2, wherein the data is read via an Application Programming Interface (API) of the second provider.

4. A method according to claim 2, wherein comparing the list with the database of the first provider and / or comparing the supplemented list with the database of the second provider comprises, for each item in the list: Comparing the internal unique identification number of the article with the internal unique identification numbers of the articles in the relevant database and, if a match is found, storing a positive result for the article; Comparing the article's GTIN with the GTINs of articles in the relevant database and, if a match is found, saving a positive result for the article; and / or Comparing the article number, type number and order number of the article with the corresponding attributes of the articles in the relevant database and, if at least one match is found, saving a positive result for the article.

5. Method according to any of the preceding claims, wherein comparing the list with the database of the first supplier and / or comparing the supplemented list with the database of the second supplier comprises for each item in the list: If exactly one match is found for the article with an article from the relevant database, a positive result is saved for that article; If no match is found for the article with at least one article from the relevant database, a negative result is stored for that article; and if more than one match is found for the article with articles from the first supplier's database, it is determined whether the matches are solely due to attributes that appear multiple times in the relevant database, storing a positive result for the article in this case and a negative result otherwise.

6. Method according to one of claims 4 and 5, wherein the comparison of the list with the database of the first provider further comprises, when saving a positive result in the entry of the article in the list, storing a reference to an entry of the matching article from the database of the first provider and, on the basis of this reference, adding missing attributes to the entry of the article in the list.

7. Method according to one of claims 4 and 5, wherein comparing the supplementary list with the database of the second provider further comprises only considering those articles for which a positive result was stored when comparing the supplementary list when reading the information on articles.

8. Method according to one of the preceding claims, wherein the information includes availability, delivery time and / or price of the item.

9. Method according to one of the preceding claims, wherein the display of the extracted data comprises displaying each of the items in the list together with the associated data, in particular wherein furthermore, items are displayed for which a negative result was stored when comparing the supplemented list with the database of the second provider.

10. Computer-readable medium containing instructions stored thereon which, when executed on a processor, perform the method according to any one of the preceding claims 1 to 9.