Skip to main content

Auditing tools for Cova POS files

Project description

Cova Dispensary POS Audit Tools

PyPI - Python Version PyPI Python package

An 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

$ pypi install audit-tools
from audit_tools import SessionManager, Scanner

with SessionManager() as session: # invokes the session manager
  
    session.import_data("/path/to/file.xlsx") # imports data from an excel, json or csv file
    
    
    session.count_product('F7X6A7', 20) # Counts 20 F7X6A7's to the inventory
    session.increase_product('F7X6A7', 10) # Increases F7X6A7 to 30 in the inventory
    session.reduce_product('F7X6A7', 3) # Reduces F7X6A7 to 27 in the inventory
    
    print(session.get_product('F7X6A7')) # Returns the row of product with SKU 'F7X6A7'
    
    session.parse_session_data() # Updates session dataframes with accurate content

Session Manager

The 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 when SessionManager() is called or when the import_data() method is called.

Testing - will make sure that there is no output file

from audit_tools import SessionManager

with SessionManager('/path/to/file.xlsx', testing=True) as session:
  
    session.import_data('/path/to/file.xlsx')

Scanner

Not working on it, do not use just there for testing and proof of concept

from audit_tools import SessionManager, Scanner

with SessionManager('/path/to/file.xlsx') as session:
  
    # 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 scanner
    
    scanner = Scanner(session) # Creates a scanner object
    
    scanner.start_count() # Starts the count process
    
    scanner.shutdown() # processes and saves session data to disk

Problems

All the problems that we encounter while processing inventory data during an audit.

  • Extremely slow
  • Miscounts often occur
  • Redundant item checks
  • Manual data entry
  • User error

Solutions

Our ideas for solution implementations for fixing these problems so that an Audit can be completed successfully with accuracy and speed.

  • Session Manager

    • Allows 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 & Count

    • Allows users to scan a SKU and count the number of products to update the session file.
  • Scan & Edit

    • Allows user to scan a SKU adn manage the data entry for a specified product in the session.
  • Receipt Parser

    • Allows user to upload scan a receipt and the system will parse the receipt and update the session file.

Feature List

This list will include all the features, current and future.

Features Working Status
Session Manager In Development
Scan & Count Planned
Scan & Edit Planned
Receipt Parser Planned

Dev 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audit-tools-0.1.7.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

audit_tools-0.1.7-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file audit-tools-0.1.7.tar.gz.

File metadata

  • Download URL: audit-tools-0.1.7.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.8 Darwin/21.4.0

File hashes

Hashes for audit-tools-0.1.7.tar.gz
Algorithm Hash digest
SHA256 49bea48ea3d917a295765887c301df75c6a3e352b4aaaa0b4e2b270ef4daac16
MD5 3d08225a26e2e6cf3850502ecfe3807c
BLAKE2b-256 c6604329ecb07d34c881eb3f26551ac4834137b382ba7b074cf0fe1fe660c95b

See more details on using hashes here.

File details

Details for the file audit_tools-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: audit_tools-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.8 Darwin/21.4.0

File hashes

Hashes for audit_tools-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f200039a41d8fd0555e9f768f0ba0d54663f40a01e2d078a1d3037a2bea792e6
MD5 d165e5b74098ee1ff06ef4130eaf76c7
BLAKE2b-256 b26e78ee9857e6b1c1b8df0d2d08c649ab0a567c13cdc5c137db8cbb0d347c10

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page