Skip to main content

Cova Dispensary POS Audit Tools

PyPI - Python Version PyPI Testing 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.sessionmanager import SessionManager

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.sessionmanager 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.sessionmanager import SessionManager
from audit_tools.core.utils.scanner import 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 Working*
Scan & Count In Development
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.

Metadata

Release files for audit-tools 0.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for audit-tools 0.1.14
File Size Uploaded
audit-tools-0.1.14.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for audit-tools 0.1.14
File Interpreter ABI Platform
audit_tools-0.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 23.4 kB

Release files / audit-tools-0.1.14.tar.gz

Download URL audit-tools-0.1.14.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3be6b415ffc95e0422ac8e5c8b3e288169e32fcf9d5c9245aeaf0bd3a76df6bf
BLAKE2b-256 checksum
How to use checksums
08475ec4ea953fab3844aca6a129913a0bf94ee429caae630d0db69f91ff2cc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.8 Darwin/21.4.0

Release files / audit_tools-0.1.14-py3-none-any.whl

Download URL audit_tools-0.1.14-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6b5621ba2abea205a9cd9daeb95da5fe5bbf743ad31f9e7722ca9cb1a35093d
BLAKE2b-256 checksum
How to use checksums
029994e73a74b10157c2143573f7197953755b2553fc65aeb436ecdd44fd7428
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.8 Darwin/21.4.0

Release history Release notifications | RSS feed

This release

0.1.14 This release

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page