Home > SimpleInventory

SimpleInventory

SimpleInventory is a project mainly written in PERL and JAVASCRIPT, based on the View license.

Set of scripts to help manage a small business inventory

SimepleInventory - Perl scripts to track inventory for a small business

Inventory items are tracked in a SQLite database, and stores information like:

  • UPC barcode
  • SKU number
  • Free-form description
  • Dates and times orders were received or shipped
  • Items and counts included in those shipments

Most interaction with the command-line programs is intended to be through a barcode scanner.

Programs included:

The main program is bin/inv and has several subcommands: sale - Record that a sale has occurred. It will ask for an order number, which must be unique. After that, it will accept UPC numbers until you hit Control-D. At the end, if there were any unknown numbers or if the database thinks the count of an item would fall below 0, it will complain, but let the transaction go through. You can fix the problems later.

receive-purchase - Run this to record receiving items into your inventory. It will ask for an order number, which must be unique. After that, it will accept UPC numbers (probably from a barcode scanner). When you're done, hit Control-D. If there were any items not known to the database, it will prompt for SKU numbers and description for each unknown item.

expire - Run this to remove items from the inventory if they are expired or broken. It works just like ship, except that the order is not recorded as a sale, but as an expiration. That way the inventory count is decremented, but sales reports will not show them.

physical-inventory - Run this to perform adjustments for a physical inventory. After all the barcodes are scanned, it will print a list of adjustments it should make to the item counts. You can accept or reject the changes.

lookup - Looks up items in the inventory by UPC number, SKU, or as a partial match on the description field.

list ... - Do a DB query for order and item objects

And others. Try 'bin/inv --help' to get a list.

Prerequsites: The big prerequsite is the UR Objects ORM. http://www.urobject.org/ or through CPAN. It has a number of prerequsites of its own.

WWW::Mechanize is used by some of the ZenCart interface commands.

PDF::API2, PDF::API2::Simple, GD and GD::Barcode, PDF::Reuse and PDF::Reuse::Barcode are used by the PDF picklist printer command (inv print pick-list --type pdf)

Previous:spa2011