A method for inventory management and an inventory management system
The inventory management system addresses the challenge of synchronizing offline and online store data by intercepting device inputs to classify inventory and update records, ensuring accurate stock levels and product information across platforms without disrupting existing POS systems.
Patent Information
- Application Number
- PCT/IB2024/060680
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-01
- Filing Date
- 2024-10-30
- Publication Date
- 2026-02-05
AI Technical Summary
The challenge of synchronizing inventory and catalog data between physical and online stores is cumbersome and prone to human error, with existing integration methods being costly or facing resistance from sellers due to interference with existing POS systems.
An inventory management system that intercepts data from input devices like barcode scanners, keyboards, and printers to classify and update inventory records without disrupting existing POS systems, using keystroke patterns and machine learning to determine inventory direction and perform data correlation with global and online store listings.
Efficiently synchronizes inventory and catalog data between offline and online stores, reducing human error and operational disruption while maintaining accurate stock levels and product information across platforms.
Smart Images

Figure IB2024060680_05022026_PF_FP_ABST
Abstract
Description
[0001] “A METHOD FOR INVENTORY MANAGEMENT AND AN INVENTORY MANAGEMENT SYSTEM”
[0002] TECHNICAL FIELD
[0003]
[0001] The present invention generally relates to the field of inventory management in commerce systems and more particularly relates to inventory and catalog management of a physical store with / without an online presence.
[0004] BACKGROUND OF INVENTION
[0005]
[0002] The following description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0006]
[0003] The Internet has become the leading marketplace for purchasing goods and services. Consumers can now purchase almost any product, from groceries to vacations, through the internet. Hence, many physical / offline retail stores are now having a corresponding online store as well in order to mark their presence in the world of online shopping and to provide the consumers with the opportunity of purchasing products from the comfort of their home.
[0007]
[0004] However, in order to provide the consumers with a satisfactory experience while shopping from the online store, it is essential that the online store mirrors the offline store. For instance, the products, the offers etc., available at the offline store should also be available at the online store.
[0008]
[0005] In order to facilitate this, it is highly essential for the seller to keep the inventory records and the catalog information pertaining to the offline store updated at all times, so that any changes in the inventory and / or the catalog at the offline store are also reflected at the corresponding online store. To update the inventory records and the catalog information pertaining to the offline store, the seller may utilize a seller application associated with the online store or a web console and may manually input information pertaining to products. In particular, activities like addition of new products to the online store, updation of prices of products at the online store, removing items from the online store which are out of stock at the offline store, deleting outdated items from the online store for which selling has stopped at the offline store etc., require the seller to constantly update the inventory records and the catalog information, while also performing the task of operating the offline store. Hence, this process is highly cumbersome and also susceptible to human error.
[0009]
[0006] To address these issues, one can think of few possible options. For instance, every offline store has a point of sale (POS) billing software installed on their billing terminals, and one way to bring the ever-evolving catalog and inventory data of an offline store into the online world, would be to integrate with the POS billing software that is installed at the offline store. But the POS billing software market is very federated and do not have standard specification. It is observed that even in a given geographic location, there may be different POS software available, each providing customized solutions for the offline stores that they cater to. Hence, it would be a mammoth investment to integrate with each one, and to maintain it in the long run. Another alternative is to develop and implement a new POS billing software in the offline stores. However, this technique is highly likely to face resistance from the sellers as the sellers and their employees are deeply entrenched in their current systems and may showcase resistant to change as this can cause delay in their operations due to the training and getting used to the new POS billing software.
[0010]
[0007] Hence, there is a need for a technique that allows the ever-evolving catalog and inventory data of an offline store into the online world, with minimal intervention from the seller and without interfering with the existent systems in place at the seller’ s offline store.
[0011] SUMMARY OF THE INVENTION
[0012]
[0008] The present disclosure overcomes one or more shortcomings of the prior art and provides additional advantages. Embodiments and aspects of the disclosure described in detail herein are considered a part of the claimed disclosure.
[0013]
[0009] In one non-limiting embodiment of the present disclosure, a method for inventory management is disclosed. The method comprises acquiring data associated with a plurality of inventory items. In one exemplary aspect, the data is acquired by intercepting one or more input capturing means associated with a computing device. The method further comprises determining whether the data intercepted from the one or more input capturing means comprises print data. Based on the determination, the method further comprises selectively classifying: the data as corresponding to an outward inventory when the data intercepted from the one or more input capturing means comprises print data, and selectively classifying the data as corresponding to one of: an outward inventory and an inward inventory based on at least one of: keystroke events associated with the data and a threshold associated with quantity of each of the plurality of inventory items, when the data intercepted from the one or more input capturing means does not comprise print data. Further, the method comprises updating inventory record for each item of the plurality of inventory items based on the classification.
[0014]
[0010] In another non-limiting embodiment of the present disclosure, the one or more input capturing means comprises at least one of: a barcode scanner, a printer, a keyboard, a mouse, and a display screen.
[0015] [Oil] In yet another non-limiting embodiment of the present disclosure, the data associated with one or more items of the plurality of inventory items comprises at least one of: scanned barcodes received from interception of a barcode scanner, print data received from interception of a printer, keystroke events received from interception of a keyboard, clicks received from the interception of a mouse, and taps received from the interception of a display screen.
[0016]
[0012] In yet another non-limiting embodiment of the present disclosure, the method further comprises mapping at least one of: the clicks received from the interception of a mouse and the taps received from the interception of a display screen to the corresponding keystroke events.
[0017]
[0013] In yet another non-limiting embodiment of the present disclosure, the method further comprises determining, a length of the keystroke events for selectively classifying the data as corresponding to the inward inventory when the length of the keystroke events is greater than or equal to a predefined length and selectively classifying the data as corresponding to the outward inventory when the length of the keystroke events is less than a predefined length.
[0018]
[0014] In yet another non-limiting embodiment of the present disclosure, the method further comprises determining, a pattern of the keystroke events for selectively classifying the data as corresponding to the inward inventory when the pattern of the keystroke events matches with at least one prestored pattern corresponding to inward inventory and selectively classifying the data as corresponding to the outward inventory when the pattern of the keystroke events does not match with at least one prestored pattern corresponding to inward inventory.
[0019]
[0015] In yet another non-limiting embodiment of the present disclosure, the method further comprises analysing the keystroke events for identifying a pattern associated with quantity and price of each of the plurality of inventory items.
[0020]
[0016] In yet another non-limiting embodiment of the present disclosure, the method further comprises performing data correlation on the data associated with the plurality of inventory items for determining analytical information associated with each of the plurality of inventory items.
[0021]
[0017] In yet another non-limiting embodiment of the present disclosure, for the data classified as corresponding to the outward inventory, performing data correlation further comprises identifying whether each of the scanned barcodes are present in at least one of: a global catalog and an online store listing. In one exemplary aspect, the online store listing comprises item information associated with a plurality of items available at the online store, and the global catalog comprises item information associated with a plurality of items available at a plurality of online stores. Based on the identification, the method further comprises selectively categorizing a first set of barcodes as unseen barcodes when the scanned barcodes associated with the first set of barcodes are not present in the global catalog. The method further comprises selectively categorizing a second set of barcodes as unlisted barcodes when the scanned barcodes associated with the second set of barcodes are present in the global catalog but not on online store listing. The method further comprises selectively categorizing a third set of barcodes as listed barcodes when the scanned barcodes associated with the third set of barcodes are present in the global catalog and on online store listing.
[0022]
[0018] In yet another non-limiting embodiment of the present disclosure, the method further comprises deriving, based on the item information present in the global catalog and the online store listing, suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes.
[0019] In yet another non-limiting embodiment of the present disclosure, the method further comprises extracting, from the print data, item-related attributes associated with one or more of the plurality of inventory items.
[0023]
[0020] In yet another non-limiting embodiment of the present disclosure, based on the derived suggestions and the extracted item-related attributes, the method further comprises mapping the print data associated with each item of the plurality of inventory items with the scanned barcodes for identifying at least one of: one or more items corresponding to the first set of barcodes as new items, one or more items corresponding to the second set of barcodes as unlisted items, one or more items corresponding to a first subset of the third set of barcodes as listed items with incorrect attributes, and one or more items corresponding to a second subset of the third set of barcodes as listed items with correct attributes.
[0024]
[0021] In yet another non-limiting embodiment of the present disclosure, the method further comprises performing one or more actions pertaining to the one or more items of the plurality of inventory items based on the identification.
[0025]
[0022] In yet another non-limiting embodiment of the present disclosure, an inventory management system, the inventory management system comprises a memory, and at least one processor operatively and communicatively coupled to the memory. In one exemplary aspect, the at least one processor is configured to acquire data associated with a plurality of inventory items. In one exemplary aspect, the data is acquired by intercepting one or more input capturing means associated with a computing device. The at least one processor is further configured to determine whether the data intercepted from the one or more input capturing means comprises print data. Based on the determination, the at least one processor is further configured to selectively classify the data as corresponding to an outward inventory when the data intercepted from the one or more input capturing means comprises print data, and selectively classify the data as corresponding to one of: an outward inventory and an inward inventory based on at least one of: keystroke events associated with the data and a threshold associated with quantity of each of the plurality of inventory items, when the data intercepted from the one or more input capturing means does not comprise print data. The at least one processor is further configured to update inventory record for each item of the plurality of inventory items based on the classification.
[0026]
[0023] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to map at least one of: the clicks received from the interception of a mouse and the taps received from the interception of a display screen to the corresponding keystroke events.
[0027]
[0024] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to determine, a length of the keystroke events to selectively classify the data as corresponding to the inward inventory when the length of the keystroke events is greater than or equal to a predefined length and selectively classify the data as corresponding to the outward inventory when the length of the keystroke events is less than a predefined length.
[0028]
[0025] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to determine, a pattern of the keystroke events to selectively classify the data as corresponding to the inward inventory when the pattern of the keystroke events matches with at least one prestored pattern corresponding to inward inventory and selectively classify the data as corresponding to the outward inventory when the pattern of the keystroke events does not match with at least one prestored pattern corresponding to inward inventory.
[0029]
[0026] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to analyse the keystroke events for identifying a pattern associated with quantity and price of each of the plurality of inventory items.
[0030]
[0027] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to perform data correlation on the data associated with the plurality of inventory items for determining analytical information associated with each of the plurality of inventory items.
[0031]
[0028] In yet another non-limiting embodiment of the present disclosure, for the data classified as corresponding to the outward inventory, to perform data correlation, the at least one processor is further configured to identify whether each of the scanned barcodes are present in at least one of: a global catalog and an online store listing. In one exemplary aspect, the online store listing comprises item information associated with a plurality of items available at the online store, and the global catalog comprises item information associated with a plurality of items available at a plurality of online stores. Based on the identification, the at least one processor is further configured to selectively categorize a first set of barcodes as unseen barcodes when the scanned barcodes associated with the first set of barcodes are not present in the global catalog. The at least one processor is further configured to selectively categorize a second set of barcodes as unlisted barcodes when the scanned barcodes associated with the second set of barcodes are present in the global catalog but not on online store listing. The at least one processor is further configured to selectively categorize a third set of barcodes as listed barcodes when the scanned barcodes associated with the third set of barcodes are present in the global catalog and on online store listing.
[0032]
[0029] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to derive, based on the item information present in the global catalog and the online store listing, suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes.
[0033]
[0030] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to extract, from the print data, item-related attributes associated with one or more of the plurality of inventory items.
[0034]
[0031] In yet another non-limiting embodiment of the present disclosure, based on the derived suggestions and the extracted item-related attributes, the at least one processor is further configured to map the print data associated with each item of the plurality of inventory items with the scanned barcodes to identify at least one of: one or more items corresponding to the first set of barcodes as new items, one or more items corresponding to the second set of barcodes as unlisted items, one or more items corresponding to a first subset of the third set of barcodes as listed items with incorrect attributes, and one or more items corresponding to a second subset of the third set of barcodes as listed items with correct attributes.
[0032] In yet another non-limiting embodiment of the present disclosure, the at least one processor is further configured to perform one or more actions pertaining to the one or more items of the plurality of inventory items based on the identification.
[0035] BRIEF DESCRIPTION OF DRAWINGS
[0036]
[0033] The features, nature, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout. Some embodiments of system and / or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying Figs., in which:
[0037]
[0034] Figure 1A depicts an exemplary environment 100A for implementation of an inventory management system in accordance with embodiments of the present disclosure,
[0038]
[0035] Figure IB depicts an exemplary environment 100B of a client application in accordance with some embodiments of the present disclosure,
[0039]
[0036] Figures 2A and 2B depict exemplary environments 200A and 200B respectively for printer interception in accordance with some embodiments of the present disclosure,
[0040]
[0037] Figure 3 depicts a block diagram 300 of an inventory management system in accordance with some embodiments of the present disclosure,
[0041]
[0038] Figure 4 depicts a logic flow diagram 400 for categorizing the scanned barcodes in accordance with some embodiments of the present disclosure,
[0042]
[0039] Figure 5 depicts a logic flow diagram 500 for mapping each of the scanned barcodes to the items present on the print data in accordance with some embodiments of the present disclosure,
[0043]
[0040] Figures 6 and 7 depict exemplary scenarios 600 and 700 respectively for mapping each of the scanned barcodes to the items present on the print data in accordance with some embodiments of the present disclosure,
[0041] Figure 8 depicts an exemplary scenario 800 for mapping multiple interception records in accordance with some embodiments of the present disclosure,
[0044]
[0042] Figure 9 depicts, by way of a flowchart, a method 900 for inventory management in accordance with some embodiments of the present disclosure, and
[0045]
[0043] Figure 9A depicts, by way of a flowchart, a method 900A for performing data correlation in accordance with some embodiments of the present disclosure.
[0046]
[0044] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in a computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0047] DETAILED DESCRIPTION
[0048]
[0045] The foregoing has broadly outlined the features and technical advantages of the present disclosure in order that the detailed description of the disclosure that follows may be better understood. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure.
[0049]
[0046] The novel features which are believed to be characteristic of the disclosure, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure.
[0050]
[0047] To address the challenges described in the background section, the present disclosure discloses an inventory management system that bridges the gap between the catalog and inventory data at the offline store and the corresponding online store. In particular, the present disclosure, provides a solution that is able to gather all necessary data from the offline store, without interfering with their current processes in any way. The gathered data is then transmitted to the inventory management system that performs various tasks such as inventory and catalog management and providing analytical information pertaining to the offline store. A detailed description of the proposed solution is explained in detail in the upcoming paragraphs in conjunction with figures 1-8.
[0051]
[0048] Figure 1A illustrates an exemplary environment 100A depicting implementation of an inventory management system in accordance with embodiments of the present disclosure. In particular, figure 1A depicts a computing device 102. In one exemplary embodiment, the computing device 102 may be a desktop, a laptop or a computer installed at an offline store for managing day-to-day operations such as processing sale orders, recording inward inventory etc., via a point of sale (POS) billing software 106 installed thereon. Further, the computing device 102 may be in communication with an inventory management system 104 via a client application 108 installed on the computing device 102. In one exemplary embodiment, the inventory management system 104 may be installed at a server.
[0052]
[0049] Further, the client application 108 may comprise a barcode interceptor 108a, a keyboard interceptor 108b, a printer interceptor 108c, a mouse interceptor 108d, a display screen interceptor 108e and a network and user session manager 108f as depicted in the exemplary environment 100B illustrated in figure IB and in one exemplary embodiment, the computing device 102 may communicate with the inventory management system 104 by means of the network and user session manager 108f of the client application 108. In particular, the client application 108, by way of the one or more interceptors 108a- 108e, may intercept data from one or more input capturing means 110 associated with the computing device 102. In one exemplary embodiment, the one or more input capturing means 110 may comprise a barcode scanner, a keyboard, a printer, a mouse and a display screen associated with the computing device 102. Further, in one exemplary embodiment, the intercepted data may comprise at least one of: scanned barcodes received from interception of a barcode scanner, print data received from interception of a printer, keystroke events received from interception of a keyboard, clicks received from the interception of a mouse and taps received from the interception of a display screen. A detailed description pertaining to interception of data is explained in the upcoming paragraphs in conjunction with figures IB, 2A and 2B. It may be noted by a skilled person that the intercepted data may be associated with a plurality of inventory items either arriving at the offline store or being sold by the offline store.
[0053]
[0050] Moving on, the intercepted data may be communicated to the inventory management system 104 by the network and user session manager 108f. Once the intercepted data is acquired by the inventory management system 104, the inventory management system 104 may process and analyse the data for inventory and catalog management and for providing analytical information pertaining to the offline store.
[0054]
[0051] Referring to figure IB and as described in the preceding paragraphs, scanned barcodes associated with one or more items are intercepted by the barcode interceptor 108a of the client application 108. In one exemplary embodiment, the barcode interceptor 108a may listen for a barcode scanner associated with the computing device 102 and may intercept the barcode scan events performed by the barcode scanner. It may be noted by a skilled person that said interception is done in a non-disruptive way, wherein the POS billing software 106 may still continue to get the barcode scan events, without any knowledge of the client application 108 intercepting the barcode scan events.
[0055]
[0052] On similar lines, keystroke events are intercepted by the keyboard interceptor 108b. In one exemplary embodiment, the keyboard interceptor 108b may listen for a keyboard associated with the computing device 102 and may intercept the keystroke events performed by the keyboard. It may be noted by a skilled person that said interception is done in a non-disruptive way, wherein the POS billing software 106 may still continue to get the keystroke events, without any knowledge of the client application 108 intercepting the keystroke events.
[0056]
[0053] Further, print data is intercepted by the printer interceptor 108c. In one exemplary embodiment, the printer interceptor 108c may listen for a printer associated with the computing device 102 and may intercept the print data. In particular, the print data is intercepted by the printer interceptor 108c based on an intercept and decode approach. As depicted in Figure 2A, the interception is performed on spool file 206 generated by a printer driver 204 pre-installed on the computing device 102, whenever a print job is sent by the computing device 102 to a printer 208 associated with it. Once the spool file is intercepted, the contents of the files are read, and the files are then parsed. Next, upon detecting that the spool file 206 is in a format compatible with the printer interceptor 108c, the spool file is decoded to extract text from it. For instance, if the print data is received as a bitmap image, an Optical Character Recognition (OCR) technique may be executed on the print data to extract the contents from the print data. However, if the print data is received as text itself, there would be no need to further decode it. Moving on, if the spool file 206 generated is not in a format compatible with the printer interceptor 108c, the printer interceptor 108c may include a custom driver 204 as depicted in Figure 2B such that the spool file 206 is generated in a format compatible with the printer interceptor 108c.
[0057]
[0054] Moving on, mouse clicks are intercepted by the mouse interceptor 108d. In one exemplary embodiment, the mouse interceptor 108d may listen for a mouse associated with the computing device 102 and may intercept the clicks performed on the mouse. It may be noted by a skilled person that said interception is done in a non-disruptive way, wherein the POS billing software 106 may still continue to get the clicks, without any knowledge of the client application 108 intercepting the clicks.
[0058]
[0055] Furthermore, taps on a display screen are intercepted by the display screen interceptor 108e. It may be noted by a skilled person display screen interceptor 108e may intercepts the taps on the display screen only when the display screen is configured to receive touch input from a user.
[0059]
[0056] The data intercepted by one or more interceptors 108a- 108e is then transmitted to the inventory management system 104 via the network and user session manager 108f. In one exemplary embodiment, if the computing device 102 is not able to communicate with the inventory management system 104 due to connectivity issues, the network and user session manager 108f may store the intercepted data on a data storage means, such as a disk, and may transmit the intercepted data once the connectivity is restored.
[0060]
[0057] Upon acquiring the intercepted data from the computing device 102, the inventory management system 104 may perform data processing as elaborated in detail in the upcoming paragraphs in conjunction with figures 3-8.
[0058] Figure 3 depicts a block diagram 300 of the inventory management system 104 (referred here after as IMS 104) in accordance with an embodiment of the present disclosure. The IMS 104 may comprise an I / O interface 302, a memory 304, at least one processor 310 and a data lake 314. The at least one processor 310 may be operatively coupled to the I / O interface 302 and the memory 304 and the data lake 314.
[0061]
[0059] Further, in one implementation, the at least one processor 310 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and / or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 310 may be configured to fetch and execute computer-readable instructions stored in the memory 304. The I / O interface 302 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I / O interface 302 may enable IMS 104 or specifically the at least one processor 310 to communicate with other components such as computing devices 312-1... 312-n and any other components (not shown in figures). The I / O interface 302 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite.
[0062]
[0060] As described in the preceding paragraph, the IMS 104 may be communicatively coupled to multiple computing devices 312-1... 312-n. In one exemplary embodiment, each computing device may be associated with a single offline store. However, in another exemplary embodiment, each computing device may be associated with distinct offline stores. Further, the memory 304 may store a global catalog 306 comprising item information associated with a plurality of items being sold at multiple online stores managed by the IMS 104. The memory 304 may store multiple online store listings 3O8-1...3O8-n comprising item information associated with a plurality of items being sold / available at each online store. For instance, in one exemplary embodiment, an offline store may have a computing device 312-1 as a billing terminal installed at their store. Further, the offline store also has its corresponding online store with the corresponding online store listing, say 308-1 stored in the memory 304. The computing device 312-1 would then communicate with the IMS 104 via the client application 108 installed on it as depicted in figure 1A to allow IMS 104 to manage the online store in such a manner that the online store mirrors the corresponding offline store. The functionality of the IMS 104 is explained in the upcoming paragraphs in connection to various use cases -
[0063] INVENTORY MANAGEMENT
[0064]
[0061] Under inventory management, the IMS 104 may perform inventory updation and catalog management.
[0065]
[0062] Now, considering the above example of a store X having both offline and online stores. In one exemplary embodiment, the store X may have an online presence via an online platform. Now, at the offline store, items would be coming in the store (i.e., inward inventory) and items would be going out of the store (i.e., outward inventory). Any inward or outward inventory at the offline store must also reflect at the corresponding online store. For this, the at least one processor 310 may analyse the data 309 intercepted from the one or more input capturing means 110 as depicted in figure 1A. In particular, the at least one processor 310 may first determine whether the data 309 contains print data or not. This is to judge whether the data 309 corresponds to inward inventory or outward inventory as generally whenever a sale order is processed at an offline store, an itemised bill is generated and physically handed over to the customer. Hence, presence or absence of print data is a first step in identifying whether the data 309 corresponds to outward inventory or inward inventory. Hence, if the at least one processor 310 determines the data 309 comprises print data, it may classify the data 309 as corresponding to outward inventory.
[0066]
[0063] However, if the at least one processor 310 determines that print data is not present in the data 309, it would not simply classify the data 309 as corresponding to inward inventory because there could be a scenario that the offline store doesn’t issue a physical print for every sale order and instead the bill is sent to the customer’s mobile device or there could be another scenario where due to some fault in the printer due to which the offline store was not able to issue a physical bill to the customer. Therefore, in case print data is not present in the data 309, the at least one processor 310 may perform further checks to determine whether the data 309 corresponds to inward inventory or outward inventory. The checks described above may be associated with keystroke events present in the data 309 and a threshold associated with quantity of each of the plurality of items present in the data 309.
[0064] In a first exemplary embodiment, the at least one processor 310 may determine a length of keystroke events and based on the determined length of the keystroke events, the at least processor 310 may classify the data 309 as corresponding to inward inventory or outward inventory. For example, if the length of the keystroke events is greater than or equal to a predefined length, the at least one processor 310 may classify the data 309 as inward inventory whereas the data 309 shall be classified as corresponding to outward inventory if the length of the keystroke events is less than the predefined length. The ideology behind analysing the length of keystroke events is based on the fact that when an inward inventory arrives at an offline store, it usually contains a large number of different types of items and hence, when the offline store enters the inventory in their records, a long keystroke pattern is usually seen. It may be appreciated that the data 309 keeps on updating in real-time and same can be used for classification of inward and outward inventory. In other scenario, if the data 309 is not updated in the real-time due to some reasons, then the at least one processor 310 based on the time of events may form clusters of data for classification of inventory.
[0067]
[0065] In a second exemplary embodiment, the at least one processor 310 may determine a pattern corresponding to the keystroke events and based on the pattern determination, the at least one processor 310 may classify the data 309 as corresponding to inward inventory or outward inventory. For example, if the determined pattern matches with at least one prestored pattern corresponding to inward inventory, then the data 309 associated with the pattern may be classified as inward inventory. However, in case the pattern does not match with any of the prestored patterns corresponding to inward inventory, the at least one processor 310 shall classify the data 309 as corresponding to outward inventory. In one exemplary aspect, the prestored patterns corresponding to inward inventory may be of the form “tab x5”, “tabxlO” etc, depending on the type of POS billing software being used by the offline stores. The prestored patterns may keep on updating periodically based on the historical information received from the particular store or the POS billing software installed on the computing device. The machine learning models associated with the at least one processor 310 may keep on analyzing the patterns used by a particular POS billing software for updating the records related to inward / outward inventory. For example, if the at least one processor 310 identifies that a specific pattern is used for updating the record as inward inventory and if the similar behaviour is observed for updating the records for a predefined period or frequency (i.e., number of times), then the at least one processor 310 may update the prestored patterns’ deck for the identified pattern as well, so that the same may be utilized for quick classification of inventory in future.
[0068]
[0066] In a third exemplary embodiment, the at least one processor 310 may determine a quantity of each of the plurality of inventory items present in the data 309 and based on the determination, the at least one processor 310 may classify the data 309 as corresponding to inward inventory or outward inventory. Particularly, if the quantity of each of the plurality of inventory items is greater than or equal to their corresponding thresholds then the at least one processor 310 may classify the data 309 as corresponding to inward inventory otherwise the data 309 may be classified as corresponding to outward inventory (if the quantity of each of the plurality of inventory items is less than their corresponding thresholds). The ideology behind determining the quantity of each of the plurality of inventory items is based on the fact that an offline store, based on the factors like type of item, item shelf life, item cost, orders for a specific quantity of that item. For instance, for an item like biscuit, the offline store may order 100 packets of the same biscuit. Further, for a particular electronic item like an air fryer, the offline store may order 10 units. However, the sale quantity of that biscuit may not exceed beyond 20 units in a single order and for the air fryer may not exceed 3 units in a single order. Hence, based on a threshold (that is decided based on item type, item shelf life and item cost, the quantity of each item in a sale order) one can judge whether the data 309 is related to inward inventory or outward inventory.
[0069]
[0067] Now, to determine the quantity of each of the plurality of items present in the data 309, the at least one processor 310 may analyse the keystroke events to determine a pattern. In another exemplary embodiment, the at least one processor 310 may analyse the clicks to determine a pattern, when the computing device 312-1 has a non-touch display screen. In yet another exemplary embodiment, the at least one processor 310 may analyse the taps on the display screen of the computing device 312-1 to determine a pattern. In one exemplary aspect, the pattern obtained from analysis of at least one of: keystroke events, clicks and taps may vary across POS billing software. However, if a particular type of POS billing software is used by multiple offline stores, the determined pattern would remain the same. To determine a pattern from keystroke events for identifying the quantity of each item, the at least one processor 310 may utilize one of the following two approaches - Rule-based approach and Machine Learning (ML) model-based approach.
[0070]
[0068] In the rule-based approach, the at least one processor 310 may extract relevant fields by splitting the keystroke events based on known delimiters (e.g., + TAB + KEY) and identify a pattern corresponding to quantity and price. The at least one processor 310 may then store the pattern as a rule corresponding to the POS billing software used at the offline store. The at least one processor 310 may then use predefined information pertaining to each of the plurality of inventory items and map the keystroke events to specific items to identify quantity of each item. In one exemplary aspect, the predefined information may be obtained from the item information present in the global catalog 306 and the online store listing 308-1 for each of the scanned barcode number present in the keystroke events. For better understanding, the same has been explained with the help of an example below -
[0071] Exemplary Keystroke event - SCAN(8901719120992) + TAB + TAB + KEY(14) + TAB + KEY(96) + SCAN(8901052008049) + TAB + TAB + KEY(6) + TAB + KEY(170)
[0072] Predefined information for each barcode number present in the keystroke event -
[0073] 1. 8901719120992 PARLE Monaco Classic | Maximum Retail Price: 120 | Selling Price:95
[0074] 2. 8901052008049 Tata Tea Gold Instant Liquid | Maximum Retail Price:200 | Selling Price: 170
[0075] By mapping the predefined information with the exemplary keystroke event, it may be determined by the at least one processor 310 that the last keystroke event for each item indicates the selling price (as for example, keys 9, 6 closely match the selling price 95 for the first item). Based on above, it may then be determined by the at least one processor 310 that the fourth key event corresponds to the quantity of the item and the same may be stored as a rule for the POS billing software in question for identifying quantity of an item.
[0069] In the ML model-based approach, the at least one processor 310 may extract features from the keystroke events. In one exemplary aspect, the features may comprise position of KEY events relative to SCAN events. The extracted features may be provided to a pre-trained ML model to predict quantity and price of an item based on event position and context. In one exemplary aspect, to train the ML model, a labelled data of a plurality of inventory items may be created that maps each barcode to its quantity and selling price. Further, in one exemplary aspect, the ML model may be supervisor model.
[0076]
[0070] Similar techniques may be applied to at least one of: the clicks and the taps to determine the quantity and selling price of each of the plurality of items. In an exemplary embodiment, the clicks of the mouse and taps on the display screen may be mapped and converted into corresponding keystroke events for ease of processing. In another embodiment, one can design separate processing steps for the clicks and taps in the similar way as defined for the keystroke events, thus the explanation provided for keystroke events should not be considered as a limitation.
[0077]
[0071] It may be noted by a skilled person that in order to classify the data as corresponding to either inward or outward inventory in the absence of print data, the at least one processor 310 may run all the checks as described in the first, second and third embodiments. However, when all the checks as described in the first, second and third embodiments are applied, the check described in the first embodiment and the check described in the second embodiment may either be applied simultaneously or based on a priority of these checks. In another exemplary aspect, any one of the checks as described in the first and the second embodiments may be applied along with the check described in the third embodiment.
[0078]
[0072] Further, upon classifying the data 309 as corresponding to one of: inward inventory and outward inventory, the at least one processor 310 may update, at the corresponding online store listing 308-1, an inventory record of each of the plurality of items present in the data 309 may be updated. This is particularly helpful to maintain a synchronization between the inventory available at the offline store and the online store. For instance, if an inward inventory is not updated at an online store listing, this may lead to certain items to be wrongly shown as out of stock. Similarly, if an outward inventory is not updated at an online store listing, this may lead to a consumer ordering an item from an online store that may have gone out of stock at the offline store, thus hampering user experience.
[0079]
[0073] As described in the preceding paragraphs, the IMS 104 may also perform catalog management under the purview of inventory management. In one exemplary embodiment, the catalog management shall be performed when the data 309 is classified as corresponding to outward inventory i.e., the data 309 corresponds to a sale order. Further, under the bracket of catalog management, the IMS 104 may be configured to perform various functionalities as discussed in the upcoming paragraphs to identify from the data 309 at least one of: one or more new items, one or more unlisted items, one or more listed items with incorrect attributes and one or more list items with correct attributes. In one exemplary aspect, the one or more new items may correspond to the items that are being sold by the offline store but are not present in the corresponding online store listing 308-1 nor present in the global catalog 306. For instance, the one or more new items may comprise certain non-standard products like cereals, pulses, rice, fruits, vegetables etc. or it may also comprise a standard product launched by a new brand that is newly introduced at the offline store and hence, was not the part of global catalog 306 or online store listing 308-1. In another exemplary aspect, the one or more unlisted items may correspond to the items that are being sold by the offline store but are not present in the online store listing 308-1. However, said items are present in the global catalog 306. In yet another exemplary aspect, the one or more listed items may correspond to the items that are being sold by the offline store, are present in the global catalog 306 and also present in the online store listing 308-1. However, it may happen that there exists a mismatch in attributes such as price of the items, stock of the items etc., associated with some items that are listed by the online store. For instance, for a particular packet of chips, the price at which the offline store sells it is different than the price at which it is listed in the online store listing 308-1 and such a mismatch may be identified by the IMS 104.
[0080]
[0074] Now, to identify from the data 309 at least one of: one or more new items, one or more unlisted items, one or more listed items with incorrect attributes and one or more list items with correct attributes, the at least one processor 310 of the IMS 104 may first determine whether each of the scanned barcodes present in the data 309 are there in the global catalog 306 and the online store listing 308-1 corresponding to the offline store as depicted in Figure 4. In particular, for a scanned barcode present in the data 309, the at least one processor 310 may first check whether the scanned barcode is present in the global catalog 306. If the scanned barcode is not present in the global catalog 306, the at least one processor 310 may add the barcode to a first set of barcodes. In one exemplary embodiment, the first set of barcodes may correspond to the barcodes that are not present in the global catalog 306. Upon adding the barcode to the first set of barcodes, the at least one processor 310 may then move onto a next barcode present in the data 309.
[0081]
[0075] However, if the scanned barcode is present in the global catalog 306, the at least one processor 310 may proceed to block 404. At block 404, the at least one processor 310 may determine whether the scanned barcode is present in the online store listing 308- 1. If the scanned barcode is not present in the online store listing 308-1, the at least one processor 310 may add the barcode to a second set of barcodes. In one exemplary embodiment, the second set of barcodes may correspond to the barcodes that are present in the global catalog 306 but not present in the online store listing 308-1. Upon adding the barcode to the second set of barcodes, the at least one processor 310 may then move onto a next barcode present in the data 309.
[0082]
[0076] On the other hand, if the scanned barcode is present in the online store listing 308-1, the at least one processor 310 may add the barcode to a third set of barcodes. In one exemplary embodiment, the second set of barcodes may correspond to the barcodes that are present in the global catalog 306 as well as in the online store listing 308-1. Upon adding the barcode to the third set of barcodes, the at least one processor 310 may then move onto a next barcode present in the data 309.
[0083]
[0077] Upon completion of said exercise, the IMS 104 shall have three sets of barcodes as illustrated in an exemplary scenario depicted in the table 1 below -
[0084] Table 1 - An exemplary list depicted bifurcation of barcodes present in the data 309
[0078] Now, based on the processing described above, the at least one processor 310 now has three sets of barcodes. However, there is still no knowledge of the items these barcodes correspond to. Therefore, at the next stage, the at least one processor 310 maps the item information present in the print data to the scanned barcodes. However, before proceeding with the mapping, the at least one processor 310 may perform the following two steps that may aid in mapping.
[0085]
[0079] Step 1 - The at least one processor 310 may derive, based on the item information present in the global catalog 306 and the online store listing 308-1, suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes, since the barcodes present in the second set and the third are present at least in one of: the global catalog 306 and the online store listing 308-1. These suggestions may be stored in the memory 304 and may be utilized later on by the at least one processor 310.
[0086]
[0080] Step 2 - The at least one processor 310 may extract, from the print data, item-related attributes associated with the items present in the print data. In one exemplary embodiment, the at least one processor 310 may implement a character recognition technique on the print data to extract item-related attributes. Further, in one exemplary aspect, the item-related attributes may include at least one of: name of an item, quantity of an item, maximum retail price of an item, selling price of an item and total bill amount.
[0087]
[0081] Upon performing the above-described steps 1 and 2, the at least one processor 310 may then start mapping each of the scanned barcodes to the items present on the print data. In order to perform said mapping, the at least one processor 310 may take help of the derived suggestions (from step 1) and the extracted item-related attributes (from step 2). Further, in one exemplary embodiment, the mapping may be performed based on an assumption that an order in which the items are scanned in an offline store is the order in which items appear on the bill and the mapping technique is explained in conjunction with figure 5.
[0088]
[0082] In particular, figure 5 depicts logic flow diagram 500 for mapping each of the scanned barcodes to the items present on the print data in accordance with an embodiment of the present disclosure. At block 502 of the logic flow diagram 500, the at least one processor 310 may first check whether the number of scanned barcodes is equal to number of entries present in the print data. If the number of scanned barcodes is equal to the number of entries present in the print data, the at least one processor 310 may perform a one-to-one mapping of each barcode with the corresponding entries present in the print data. An exemplary scenario to depict the same is illustrated in Figure 6. As depicted in figure 6, each scanned barcode is mapped by the at least one processor 310 to an entry in the print data. Therefore, based on the mapping, the at least one processor 310 may identify, for instance that the barcode “8901052008049” corresponds to “50 50 swt salt” which is sold at Rs 10. However, due to size limitation of a physical bill print, the complete name of the item is often abbreviated. Hence, in such a scenario, to correctly identify the name of the item, the at least one processor 310 may utilize the prestored suggestions.
[0089]
[0083] Referring back to figure 5, if the number of scanned barcodes is not equal to the number of entries present in the print data, the at least one processor 310 may check whether an entry in the print data matches to a particular barcode. For this, the at least one processor 310 may derive from the memory 304, suggestions associated with name and price of one or more barcodes present in the data 309. The at least one processor 310 may then implement a match function on the entry in the print data, the scanned barcode and the corresponding derived suggestions, if any. In one exemplary embodiment, by implementing the match function, the at least one processor 310 may calculate a similarity score between the suggestions associated with the scanned barcode and the entry on print data. If the calculated similarity score is greater than a threshold value, the at least one processor 310 may map the scanned barcode to the particular entry in the print data. However, if the calculated similarity score is less than a threshold value, the at least one processor 310 may move to the next entry in the print data and try to map it with the scanned barcode. An exemplary scenario to depict the same is illustrated in Figure 7.
[0090]
[0084] As depicted in figure 7, the number of scanned barcodes is 6 and there are 7 entries in print data. Therefore, in such a scenario, the at least one processor 310 may employ the process as described above to try and map each barcode with a corresponding entry on the print data. Once, the exercise is completed, the at least one processor 310 would be able to identify “tomato” as a non-standard item with no barcode associated with it.
[0091]
[0085] Therefore, as depicted in figures 5-7, through the techniques described herein the at least one processor 310 may be able to map each scanned barcode with a corresponding entry on the bill print and therefore, identify the item-related attributes such as item name, item quantity and item price associated with each item. Not only this, the at least one processor 310 may also identify non-standard items being sold by the offline store. Now, upon completion of said exercise, the at least one processor 310 would then be able to identify one or more new items corresponding to the first set of barcodes, one or more items not listed at the online store listing 308-1 corresponding to the second set of barcodes and one or more items listed at the online store listing 308-1 corresponding to the third set of barcodes. On similar lines, the at least one processor 310 may also check whether the said non-standard item is present in the global catalog 306 and the online store listing 308-1.
[0092]
[0086] For one or more new items, the at least one processor 310 may facilitate addition of said items in the global catalog 306. On the other hand, for the one or more items that are not present in the online store listing 308-1, the at least one processor 310 may notify the offline store to list said items on the corresponding online store. Further, for the one or more items that are present in the online store listing 308-1, the at least one processor 310 may check if there is a mismatch between any of the item-related attributes. For instance, the at least one processor 310 may check whether the selling price of an item at the online store is higher or lower than the selling price of the same item at the corresponding offline store, the at least one processor 310 may notify the offline store to correct the selling price for the particular item in corresponding position e.g., on the online store listing 308-1. On similar lines, the at least one processor 310 may also be able to identify that an item that is being sold by the offline store is shown as “out-of-stock” on the online store listing 308-1 and hence, the at least one processor 310 may notify the offline store to rectify the stock mismatch.
[0093]
[0087] Moving on, apart from inventory management, the IMS 104 may also help in validating the offline store’s operational hours. For instance, it may so happen that a consumer who is trying to place an order for certain items from the online store corresponding to offline store. However, he / she is not able to do so as it may be displayed that the offline store is not operational currently. To validate whether the offline store is actually not operational during certain hours or on a certain day, the at least one processor 310 may rely on whether intercepted data is being received or not. In particular, if the offline store is operational, a sale order would be processed at the store and the corresponding data as intercepted by the one or more input capturing means 110 will be transmitted to the IMS 104. This would thus help in validating whether the offline store is operational or not and if there is certain mismatch in the operational hours or offline store’s closing days, the same may be notified to the offline store for rectification.
[0094]
[0088] It may be noted by a skilled person that the task of inventory updation and catalog management continuously runs in real-time as an when items come into the offline store and move out of the offline store. However, apart from inventory management, the IMS 104 shall provide various insights pertaining to products, brands, distributors, etc., based on the intercepted data received from the computing device 312-1 over a predefined duration. In particular, all the intercepted data may be stored in a data lake 314 apart from being stored in the memory 304.
[0095]
[0089] The process of catalog updation as described in the preceding paragraphs is an everevolving process and its efficiency increases when the global catalog 306 comprises a comprehensive listing of items. However, in order to derive suggestions associated with one or more items, the at least one processor 310 may analyse intercepted data obtained at different instants of time, for instance, an interception record 1 and an interception record 2, and determine at least one item that is common in both the interception records to create a mapping for said at least one item as illustrated in figure 8 to serve as suggestions for any catalog management process that may happen in the future. For instance, as illustrated in figure 8, the at least one processor 310, upon analysis of the interception records 802 and 804, may identify “8901052008049 - 50 50 swt salt” as a common item in both the interception records and may map the barcode “8901052008049” to the associated item, i.e., 50 50 swt salt and may use this correlation as suggestions for future use.
[0096]
[0090] Additionally, the at least one processor 310 may also analyse the intercepted data obtained at different instants of time to draw insights pertaining to demand and supply chain of an offline store managed by the IMS 104. The insights may include at least one of:
[0091] Brand / Item Insights: the at least one processor 310 may analyse the print data received within a predefined duration, including but not limited to, a day, a week, a month etc., to determine for a given item, which brand was the most popular amongst consumers. In another exemplary embodiment, the at least one processor 310 may also determine which items have been sold the most within the predefined duration.
[0097]
[0092] Distributor / Supply Insights: the at least one processor 310 may also identify a frequency at which different items are sold at different offline stores to provide information associated with stocking of the items to the offline stores and their distributors.
[0098]
[0093] Therefore, the proposed Inventory Management System 104 provides a comprehensive solution for inventory and catalog management in scenarios where an offline store has an online presence via an online platform. However, it may be appreciated by a skilled person that the IMS 104 may be configured to help the manufacturers, distributors, store managers with updated information pertaining to brands, demand / supply products etc. However, such information should not be construed as a limitation for offline store having online presence. In other words, the information may be shared with offline store having online presence, or offline store with no online presence, manufacturers as well.
[0099]
[0094] Figure 9 depicts, by way of a flowchart, a method 900 for inventory management in accordance with an embodiment of the present disclosure. The method 900 may also be described in the general context of computer executable instructions. Generally, computer executable instructions may include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types.
[0100]
[0095] The order in which the method 900 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described.
[0101]
[0096] At step 902, the method 900 may include acquiring data 309 associated with a plurality of inventory items. In one exemplary aspect, the data 309 is acquired by the at least one processor 310 of the IMS 104. Further, the data acquired by the at least one processor 310 is intercepted by one or more input capturing means 110 associated with a computing device 102. Further, the one or more input capturing means 110 may comprise a barcode scanner, a keyboard, a printer, a mouse and a display screen associated with the computing device 102. Further, in one exemplary aspect, the data may comprise at least one of: scanned barcodes received from interception of a barcode scanner, print data received from interception of a printer, keystroke events received from interception of a keyboard, clicks received from the interception of a mouse, taps received from the interception of a display screen associated with the computing device 102.
[0102]
[0097] At step 904, the method 900 may include determining whether the data 309 comprises print data. In one exemplary embodiment, for said determination, the at least one processor 310 may be used. If the result of the determination is YES, the method 900 may proceed to step 906. However, if the result of the determination is NO, the method 900 may proceed to step 908.
[0103]
[0098] At step 906, the method 900 may include classifying the data 309 as corresponding to an outward inventory when the data 309 intercepted from the one or more input capturing means 110 comprises print data. In one exemplary aspect, said classification may be performed by the at least one processor 310.
[0104]
[0099] At step 908, the method 900 may include utilizing the keystroke events and a threshold associated with quantity of each of the plurality of inventory items for selectively classifying the data 309 as corresponding to one of: an inward inventory and an outward inventory. In particular, the at least one processor 310 may execute steps 908a, 908b, 908c to selectively classify the data 309 as corresponding to one of: an inward inventory and an outward inventory.
[0105]
[0100] At step 908a, the method 900 may include determining a length of the keystroke events. In one exemplary embodiment, the length of the keystroke events may be determined by the at least one processor 310. Upon determining the length of the keystroke events, the method 900 may proceed to step 908al.
[0101] At step 908al, the method 900 may include determining whether the length of the keystroke events is greater than or equal to a predefined length. If the result of the determination is YES, the method 900 may proceed to step 910 and classify the data 309 as corresponding to inward inventory. However, if the result of the determination is NO, the method 900 may proceed to step 906 and classify the data 309 as corresponding to outward inventory.
[0106]
[0102] At step 908b, the method 900 may include determining a pattern of the keystroke events. In one exemplary embodiment, the pattern of the keystroke events may be determined by the at least one processor 310. Upon determining the pattern of the keystroke events, the method 900 may proceed to step 908b 1.
[0107]
[0103] At step 908b 1, the method 900 may include determining whether the pattern of the keystroke events matches with at least one prestored pattern corresponding to inward inventory. If the result of the determination is YES, the method 900 may proceed to step 910 and classify the data 309 as corresponding to inward inventory. However, if the result of the determination is NO, the method 900 may proceed to step 906 and classify the data 309 as corresponding to outward inventory.
[0108]
[0104] At step 908c, the method 900 may include determining quantity of each of the plurality of inventory items. In one exemplary embodiment, the quantity of each of the plurality of inventory items may be determined by the at least one processor 310. Upon determining the quantity of each of the plurality of inventory items, the method 900 may proceed to step 908c 1.
[0109]
[0105] At step 908c 1, the method 900 may include determining whether the quantity of each of the plurality of inventory items is greater than or equal to a predefined threshold. If the result of the determination is YES, the method 900 may proceed to step 910 and classify the data 309 as corresponding to inward inventory. However, if the result of the determination is NO, the method 900 may proceed to step 906 and classify the data 309 as corresponding to outward inventory.
[0110]
[0106] It may be appreciated that the steps 908a 1, 908b 1 and 908c 1 may be performed simultaneously or may be performed based on the requirement. In an exemplary scenario, only one of the steps may be performed to classify the data as inward or outward inventory. In another exemplary scenario, two of the steps may be performed to classify the data as inward or outward inventory. In yet another scenario, all the three steps are performed to classify the data as inward inventory or outward inventory and based on the determination of results from the three steps, one can update the record for data as inward inventory or outward inventory.
[0111]
[0107] Upon completing classification of the data 309, the method 900 may proceed to step 912.
[0112]
[0108] At step 912, the method 900 may include updating an inventory record of each of the plurality of inventory items based on the classification. In one exemplary embodiment, if the data 309 is classified as corresponding to outward inventory, the inventory of each of the plurality of inventory items may be decreased by the at least one processor 310 by an amount that is equal to the quantity of each of the plurality of inventory items. On the other hand, if the data 309 is classified corresponding to inward inventory, the inventory of each of the plurality of inventory items may be increased by the at least one processor 310 by an amount that is equal to the quantity of each of the plurality of inventory items.
[0113]
[0109] Further, if the data 309 is classified as corresponding to outward inventory, the method 900 may further proceed to step 914 that includes performing data correlation on the data 309 associated with the plurality of inventory items that is further elaborated in Figure 9A.
[0114]
[0110] Figure 9A depicts, by way of a flowchart, a method 900A of performing data correlation on the data 309 classified as corresponding to outward inventory in accordance with an embodiment of the present disclosure. The method 900A may also be described in the general context of computer executable instructions. Generally, computer executable instructions may include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types.
[0115]
[0111] The order in which the method 900A is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described.
[0116]
[0112] At step 902A, the method 900A may include identifying whether each of the scanned barcodes are present in at least one of: a global catalog 306 and an online store listing. In one exemplary aspect, the online store listing comprises item information associated with a plurality of items available at the online store, and the global catalog 306 comprises item information associated with a plurality of items available at a plurality of online stores. Further, in one exemplary embodiment, for said identification, the at least one processor 310 may be used. Based on the identification, the method 900A may proceed to at least one of the steps 904A1, 904 A2 and 904 A3.
[0117]
[0113] At step 904A1, the method 900A may include categorizing a first set of barcodes as unseen barcodes when the scanned barcodes associated with the first set of barcodes are neither present in the global catalog 306 nor present in the online store listing 308- 1 as also depicted in figure 4.
[0118]
[0114] At step 904 A2, the method 900A may include categorizing a second set of barcodes as unlisted barcodes when the scanned barcodes associated with the second set of barcodes are present in the global catalog 306 but not on online store listing 308-1 as also depicted in figure 4.
[0119]
[0115] At step 904 A3, the method 900A may include categorizing a third set of barcodes as listed barcodes when the scanned barcodes associated with the third set of barcodes are present in the global catalog 306 and on online store listing 308-1 as also depicted in figure 4.
[0120]
[0116] At step 906A, the method 900A may include deriving, based on the item information present in the global catalog 306 and the online store listing, suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes. In one exemplary embodiment, for deriving suggestions, the at least one processor 310 may be used.
[0121]
[0117] At step 908A, the method 900A may include extracting, from the print data, item- related attributes associated with one or more of the plurality of inventory items. In one exemplary embodiment, the item-related attributes may comprise at least one of: name of an item, quantity of an item, maximum retail price of an item and selling price of an item. In one exemplary embodiment, for extracting item-related attributes, the at least one processor 310 may be used.
[0122]
[0118] At step 910A, the method 900A may include mapping, based on the derived suggestions and the extracted item-related attributes, the print data associated with each item of the plurality of inventory items with the scanned barcodes for identifying at least one of: one or more items corresponding to the first set of barcodes as new items; one or more items corresponding to the second set of barcodes as unlisted items; one or more items corresponding to a first subset of the third set of barcodes as listed items with incorrect attributes; and one or more items corresponding to a second subset of the third set of barcodes as listed items with correct attributes.
[0123] In one exemplary embodiment, said mapping may be performed by the at least one processor 310 as depicted in figures 5-7.
[0124]
[0119] At step 912A, the method 900A may include performing one or more actions pertaining to the one or more items of the plurality of inventory items based on the identification. In one exemplary aspect, for one or more new items, the at least one processor 310 may facilitate addition of said items in the global catalog 306. On the other hand, for the one or more items that are not present in the online store listing, the at least one processor 310 may notify the offline store to list said items on the corresponding online store. Further, for the one or more items that are present in the online store listing, the at least one processor 310 may check if there is a mismatch between any of the item-related attributes. For instance, the at least one processor 310 may check whether the selling price of an item at the online store is higher / lower than the selling price of the same item at the corresponding offline store, the at least one processor 310 may notify the offline store to correct the selling price on the online store listing. On similar lines, the at least one processor 310 may also be able to identify that an item that is being sold by the offline store is shown as “out-of-stock” on the online store listing 308-1 and hence, the at least one processor 310 may notify the offline store to rectify the stock mismatch.
[0120] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
[0125]
[0121] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer- readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer- readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., are non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[0126]
[0122] Suitable processors include, by way of example, a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a graphic processing unit (GPU), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and / or a state machine.
Claims
We Claim:
1. A method for inventory management, the method comprising: acquiring (902) data (309) associated with a plurality of inventory items, wherein the data (309) is acquired by intercepting one or more input capturing means (110) associated with a computing device (102, 312-1); determining (904) whether the data (309) intercepted from the one or more input capturing means (110) comprises print data; based on the determination, selectively classifying:(906) the data (309) as corresponding to an outward inventory when the data (309) intercepted from the one or more input capturing means (110) comprises print data, and(908, 910, 906) the data (309) as corresponding to one of: an outward inventory and an inward inventory based on at least one of: keystroke events associated with the data (309) and a threshold associated with quantity of each of the plurality of inventory items, when the data (309) intercepted from the one or more input capturing means (110) does not comprise print data; and updating (912) inventory record for each item of the plurality of inventory items based on the classification.
2. The method as claimed in claim 1, wherein the one or more input capturing means (110) comprises at least one of: a barcode scanner, a printer, a keyboard, a mouse, and a display screen.
3. The method as claimed in claim 1, wherein the data (309) associated with one or more items of the plurality of inventory items comprises at least one of: scanned barcodes received from interception of a barcode scanner; print data received from interception of a printer; keystroke events received from interception of a keyboard; clicks received from the interception of a mouse; and taps received from the interception of a display screen.
4. The method as claimed in claim 1, further comprising:mapping at least one of: the clicks received from the interception of a mouse and the taps received from the interception of a display screen to the corresponding keystroke events.
5. The method as claimed in claim 1, further comprising: determining (908a), a length of the keystroke events for selectively classifying:(908al, 910) the data (309) as corresponding to the inward inventory when the length of the keystroke events is greater than or equal to a predefined length; and(908al, 906) the data (309) as corresponding to the outward inventory when the length of the keystroke events is less than a predefined length.
6. The method as claimed in claim 1, further comprising: determining (908b), a pattern of the keystroke events for selectively classifying:(908b 1, 910) the data (309) as corresponding to the inward inventory when the pattern of the keystroke events matches with at least one prestored pattern corresponding to inward inventory; and(908b 1, 906) the data (309) as corresponding to the outward inventory when the pattern of the keystroke events does not match with at least one prestored pattern corresponding to inward inventory.
7. The method as claimed in claim 1, further comprising: analysing the keystroke events for identifying a pattern associated with quantity and price of each of the plurality of inventory items.
8. The method as claimed in claim 1, further comprising: performing (914) data correlation on the data (309) associated with the plurality of inventory items for determining analytical information associated with each of the plurality of inventory items.
9. The method as claimed in claim 8, wherein for the data classified as corresponding to the outward inventory, performing data correlation further comprises:identifying (902A) whether each of the scanned barcodes are present in at least one of: a global catalog (306) and an online store listing (308-1), wherein the online store listing (308-1) comprises item information associated with a plurality of items available at the online store, and wherein the global catalog (306) comprises item information associated with a plurality of items available at a plurality of online stores; based on the identification, selectively categorizing (904A1) a first set of barcodes as unseen barcodes when the scanned barcodes associated with the first set of barcodes are not present in the global catalog (306); selectively categorizing (904 A2) a second set of barcodes as unlisted barcodes when the scanned barcodes associated with the second set of barcodes are present in the global catalog (306) but not on the online store listing (308-1); and selectively categorizing (904 A3) a third set of barcodes as listed barcodes when the scanned barcodes associated with the third set of barcodes are present in the global catalog (306) and on the online store listing (308-1).
10. The method as claimed in claim 9, further comprising: deriving (906A), based on the item information present in the global catalog (306) and the online store listing (308-1), suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes.1 l.The method as claimed in claim 9, further comprising: extracting (908A), from the print data, item-related attributes associated with one or more of the plurality of inventory items.
12. The method as claimed in claims 10 and 11, further comprising: based on the derived suggestions and the extracted item-related attributes, mapping (910 A) the print data associated with each item of the plurality of inventory items with the scanned barcodes for identifying at least one of: one or more items corresponding to the first set of barcodes as new items; one or more items corresponding to the second set of barcodes as unlisted items; one or more items corresponding to a first subset of the third set of barcodes as listed items with incorrect attributes; andone or more items corresponding to a second subset of the third set of barcodes as listed items with correct attributes.
13. The method as claimed in claim 12, further comprising: performing (912 A) one or more actions pertaining to the one or more items of the plurality of inventory items based on the identification.
14. An inventory management system (104), the inventory management system (104) comprises: a memory (304); at least one processor (310) operatively and communicatively coupled to the memory (304), wherein the at least one processor (310) is configured to: acquire data (309) associated with a plurality of inventory items, wherein the data (309) is acquired by intercepting one or more input capturing means (110) associated with a computing device (102, 312-1); determine whether the data (309) intercepted from the one or more input capturing means (110) comprises print data; based on the determination, selectively classify: the data (309) as corresponding to an outward inventory when the data intercepted from the one or more input capturing means (110) comprises print data, and the data (309) as corresponding to one of: an outward inventory and an inward inventory based on at least one of: keystroke events associated with the data and a threshold associated with quantity of each of the plurality of inventory items, when the data (309) intercepted from the one or more input capturing means (110) does not comprise print data; and update inventory record for each item of the plurality of inventory items based on the classification.
15. The inventory management system (104) as claimed in claim 14, wherein the one or more input capturing means (110) comprises at least one of: a barcode scanner, a printer, a keyboard, a mouse and a display screen.
16. The inventory management system (104) as claimed in claim 14, wherein the data (309) associated with one or more items of the plurality of inventory items comprises at least one of: scanned barcodes received from interception of a barcode scanner; print data received from interception of a printer; keystroke events received from interception of a keyboard; clicks received from the interception of a mouse; and taps received from the interception of a display screen.
17. The inventory management system (104) as claimed in claim 14, wherein the at least one processor (310) is further configured to: map at least one of: the clicks received from the interception of a mouse and the taps received from the interception of a display screen to the corresponding keystroke events.
18. The inventory management system (104) as claimed in claim 14, wherein the at least one processor (310) is further configured to: determine, a length of the keystroke events to selectively classify: the data (309) as corresponding to the inward inventory when the length of the keystroke events is greater than or equal to a predefined length; and the data (309) as corresponding to the outward inventory when the length of the keystroke events is less than a predefined length.
19. The inventory management system (104) as claimed in claim 14, wherein the at least one processor (310) is further configured to: determine, a pattern of the keystroke events to selectively classify: the data (309) as corresponding to the inward inventory when the pattern of the keystroke events matches with at least one prestored pattern corresponding to inward inventory; and the data (309) as corresponding to the outward inventory when the pattern of the keystroke events does not match with at least one prestored pattern corresponding to inward inventory.
20. The inventory management system (104) as claimed in claim 14, wherein the at least one processor (310) is further configured to:analyse the keystroke events for identifying a pattern associated with quantity and price of each of the plurality of inventory items.
21. The inventory management system (104) as claimed in claim 14, wherein the at least one processor (310) is further configured to: perform data correlation on the data (309) associated with the plurality of inventory items to determine analytical information associated with each of the plurality of inventory items.
22. The inventory management system (104) as claimed in claim 21, wherein for the data classified as corresponding to the outward inventory, to perform data correlation the at least one processor (310) is further configured to: identify whether each of the scanned barcodes are present in at least one of: a global catalog (306) and an online store listing (308-1), wherein the online store listing (308-1) comprises item information associated with a plurality of items available at the online store, and wherein the global catalog (306) comprises item information associated with a plurality of items available at a plurality of online stores; based on the identification, selectively categorize a first set of barcodes as unseen barcodes when the scanned barcodes associated with the first set of barcodes are not present in the global catalog (306); selectively categorize a second set of barcodes as unlisted barcodes when the scanned barcodes associated with the second set of barcodes are present in the global catalog (306) but not on the online store listing (308-1); and selectively categorize a third set of barcodes as listed barcodes when the scanned barcodes associated with the third set of barcodes are present in the global catalog (306) and on the online store listing (308-1).
23. The inventory management system (104) as claimed in claim 22, wherein the at least one processor (310) is further configured to: derive, based on the item information present in the global catalog (306) and the online store listing, suggestions associated with at least one of: name of an item, quantity of an item and price of an item corresponding to each item associated with the second set of barcodes and the third set of barcodes.
24. The inventory management system (104) as claimed in claim 15, wherein the at least one processor (310) is further configured to: extract, from the print data, item-related attributes associated with one or more of the plurality of inventory items.
25. The inventory management system (104) as claimed in claims 23 and 24, wherein the at least one processor (310) is further configured to: based on the derived suggestions and the extracted item-related attributes, map the print data associated with each item of the plurality of inventory items with the scanned barcodes to identify at least one of: one or more items corresponding to the first set of barcodes as new items; one or more items corresponding to the second set of barcodes as unlisted items; one or more items corresponding to a first subset of the third set of barcodes as listed items with incorrect attributes; and one or more items corresponding to a second subset of the third set of barcodes as listed items with correct attributes.
26. The inventory management system (104) as claimed in claim 25, wherein the at least one processor (310) is further configured to: perform one or more actions pertaining to the one or more items of the plurality of inventory items based on the identification.
Citation Information
Patent Citations
Control System, Control Method of a Control System, and Recording Device
US20150002896A1
Recording Device and Control Method of a Recording Device
US20160062849A1
System and Method for Point of Sale Transaction Logging
US20210374704A1