Package: audit-tools
Cova Dispensary POS Audit ToolsAn inventory audit tool for speeding up inventory and avoiding errors that occur during processing. This tool will allow
users to complete inventory counts with a simple workflow that remedies user error.Installation and Usage$pypiinstallaudit-toolsfromaudit_tools.sessionmanagerimportSessionManagerwithSessionManager()assession:# invokes the session managersession.import_data("/path/to/file.xlsx")# imports data from an excel, json or csv filesession.count_product('F7X6A7',20)# Counts 20 F7X6A7's to the inventorysession.increase_product('F7X6A7',10)# Increases F7X6A7 to 30 in the inventorysession.reduce_product('F7X6A7',3)# Reduces F7X6A7 to 27 in the inventoryprint(session.get_product('F7X6A7'))# Returns the row of product with SKU 'F7X6A7'session.parse_session_data()# Updates session dataframes with accurate contentSession ManagerThe session manager is the main class that manages the session. It is responsible for importing data,
counting products, and updating the session dataframes. It will take products whenSessionManager()is
called or when theimport_data()method is called.Testing - will make sure that there is no output filefromaudit_tools.sessionmanagerimportSessionManagerwithSessionManager('/path/to/file.xlsx',testing=True)assession:session.import_data('/path/to/file.xlsx')ScannerNot working on it, do not use just there for testing and proof of conceptfromaudit_tools.sessionmanagerimportSessionManagerfromaudit_tools.core.utils.scannerimportScannerwithSessionManager('/path/to/file.xlsx')assession:# Usage of the scanner is discouraged as it is not thread safe or efficient# Scanner is mostly for testing purposes# I do not update the code often in the scannerscanner=Scanner(session)# Creates a scanner objectscanner.start_count()# Starts the count processscanner.shutdown()# processes and saves session data to diskProblemsAll the problems that we encounter while processing inventory data during an audit.Extremely slowMiscounts often occurRedundant item checksManual data entryUser errorSolutionsOur ideas for solution implementations for fixing these problems so that an Audit can be completed successfully with
accuracy and speed.Session ManagerAllows users to start a new session with a products csv or xlsx file. The session manager will process all incoming
products and append them to the sessions DataFrame, when you shut down the session manager will parse all the data in the session, complete variance calculations, raise any alerts, and save the session to the updated csv
or xlsx file.Scan & CountAllows users to scan a SKU and count the number of products to update the session file.Scan & EditAllows user to scan a SKU adn manage the data entry for a specified product in the session.Receipt ParserAllows user to upload scan a receipt and the system will parse the receipt and update the session file.Feature ListThis list will include all the features, current and future.FeaturesWorking StatusSession ManagerWorking*Scan & CountIn DevelopmentScan & EditPlannedReceipt ParserPlannedDev notes:If you come across this project, I am a newish developer, and I am not familiar with the
python ecosystem especially poetry. If you are confused on the namings in this project, keep in mind
this package was created for a sole reason to help the creator at work, and will be used in tandem with
a handheld scanner.