Skip to main content

Lazy Inventory 0.4 Released

LAZY INVENTORY RELEASE 0.4 OVERVIEW


I am proud to announce the 0.4 release of Lazy Inventory, the amazing inventory management system that nobody currently uses ;) It can be downloaded via clicking this link.

In the last few months I have made quite a bit of progress on adding new features and debugging existing ones, as well as moving to a numbered release system for easier tracking. We are a long ways away from even a 1.0 release, but Lazy Inventory 0.4 now is fully capable of not only managing inventory for a small business, but also picking orders. I would say it's an even bigger jump from trying to use Google Sheets or Excel than the retroactively renamed version 0.1 was.

My very basic features and bug tracking spreadsheet is shown at the right, its pretty basic but it gets the job done and keeps me on track.

Currently there are forty-four features on my to-do list, a version 1.0 release will require somewhere around  thirty-five of them to be completed and polished.

Right now twelve features have been implemented in a useable fashion, with three more in buggy-but-marginal shape.

Some of the remaining items are features that I have implemented before (such as Walmart integration for price and inventory levels) while others are entirely new to me (Shopify integration). I am mostly focusing on getting the main features required for full use implemented, with features like marketplace integrations coming in at a lower priority due to them being nice to have, but not necessary.

I also keep thinking of new features to add to the list (I added one as I was writing this post actually) which is fun but also keeps extending development time. Fortunately this is a hobby project that is mostly for my own enjoyment so timeframes don't really matter :) I would be excited if anybody ever started using Lazy Inventory for their online business, but I don't really expect it. I do expect that eventually I will be using it as the basis for custom development work for clients down the road, as having something that just needs to be customized to the client's needs as opposed to developed from scratch can really help me be competitive in bidding for jobs. This could be a while though as I just accepted a new full time developer job that promises to take up all of my time and energy for the foreseeable future.

This is a major upgrade and brings with it a lot of new functionality, so I am very excited to go through some of the new features.

MAJOR FEATURES

Below is a quick overview of the current features that Lazy Inventory 0.4 gives you.

  1. Unlimited bins
  2. All transactions are tracked
  3. Orders can be picked by scanning or entering a UPC
  4. Inventory can be adjusted on a per bin basis (for doing physical inventory)
  5. Live search for products 
  6. Employee section with access levels and pay 
  7. Basic USPS tracking
  8. Remove inventory transaction
  9. Sum the total inventory level across all bins for a product 
  10. Create an FBA shipment and record it
  11. Scan out orders for shipment and record tracking number
  12. Pick orders and show picture of item being picked
  13. Fractional inventory
  14. Orders CRM

FEATURES GUIDE 

On the off chance that anybody downloads Lazy Inventory for use, I wanted to give a reasonably clear explanation of both what can be done with it, and what is currently not supported. Additionally I wanted to document some of the limitations of current features to avoid any possible confusion and give some insights into where the feature will eventually be going.

  • Shopify
    • The Shopify integration is very marginal right now, its really more of a proof of concept than anything else at the moment. The authentication for a free test Shopify store that I set up for testing purposes is hard coded into the scripts. Eventually I want the user to be able to create Shopify product listings directly from Lazy Inventory, with just the click of a button.
    • Additional supported features will be pushing inventory and pricing to Shopify along with pulling orders correctly (probably every 15 minutes). Right now the layout is really just a test layout with partially implemented scripts and I wouldn't recommend trying to use it. While it will retrieve orders from a Shopify store (assuming you changed the authentication information to your own store), it does no error checking and always imports all orders. This is also because I only wanted to create one test order in Shopify that I could pull down as many times as I needed. 
  • Transactions
    • All inventory transactions, whether bin adjustments, order picking and packaging, and FBA shipments are all tracked.
    • This is all done on a per product level, making it easy to see recent adjustments and who did them. 
    • Future updates will switch from manually entering the name when doing an adjustment, to scanning a badge, which will pull the employee's name from the Employee section, automatically entering it and tracking their productivity. 
  • Picking orders
    • Order picking is done via scanning or entering a UPC from a packing slip. Lazy Inventory expects a 12 digit UPC, with additional numbers afterward telling it how many items to subtract from inventory. For example 12345678901210 tells it to find the inventory item with a UPC of 123456789012, and tell the picker to pull 10 units. Lazy Inventory supports up to three digit numbers for quantity, so the maximum order quantity of any single item is 999 units.
    • The picker sees an image of the item to be pulled, together with a dialog box showing all bin locations. It is not possible to enter the wrong bin location as Lazy Inventory checks to make sure inventory is pulled from a valid bin for the selected item. 
  • Packaging orders 
    • This is designed to work in conjunction with an integration that pulls orders down. It asks for an order number, and then checks to make sure it's a valid order number. Since the integrations don't work right now, the only way to utilize this feature practically would be to either manually enter all orders as new records in the Order Information layout, or periodically export them from the marketplace as a flat file, and then import that file into the Order Information table. 
    • Once a valid order number is entered, a tracking number is requested, which can be Fedex, USPS, or UPS. However, the ability to click on a scanned tracking number and have it open a web
      browser with the tracking information will only work with USPS tracking numbers right now. 
    • Eventually I plan to add ShipStation integration as well, allowing for orders from every marketplace, not just Shopify, to sync down to Lazy Inventory. This will allow the packaging script to be far more useful without having to manually import orders. Additionally, the packaging script will show a photo of what is being packaged, just to further reduce possible errors.
  • Adjusting inventory
    • Bin adjustments are one of the things that haven't changed in this version from previous ones. You click the Adjust button next to the bin and you get a choice of three options, Adjust, Remove, and Add. Remove and Add are pretty self explanatory, they either remove or add items to the bin. Adjust is generally the one that would be used most often, and it sets the bin level to whatever you enter. Keep in mind that if you are using fractional inventory for a bin (see last point below), this may not adjust the bin correctly, and you may have to tweak the adjustment a bit to get the right number. For most physical inventory actions however, this should work just fine without any tweaking. The next version of Lazy Inventory should correctly account for fractional inventory in PI adjustments.
  • Deleting a transaction
    • Clicking the garbage can to the right of a transaction will delete it. Keep in mind that there is no error checking here and no way to get it back once its deleted. 
  • Update inventory levels across all bins
    • The Update Total Inventory button at the top left of a product listing will make sure that all bin quantities are totaled up for display in the "Total Quantity In Stock" field. Most stock transactions that change the inventory level (picking orders, creating FBA) automatically update the total inventory count, but you may need to trigger it manually (for example if you delete a stock transaction). 
  • Creating an FBA shipment
    • FBA shipments can be created for whatever item you are currently on. Lazy Inventory will ask for the quantity being sent in, the bin location it is coming out of, and the shipment ID. The quantity entered must evenly divide into the maximum FBA box quantity for that
      item, entering a number that does not (for example entering 9 for an item that can have boxes of 5) will give an error and the program will loop until it receives a valid number.
    • The program will also prevent shipments from being created that exceed inventory on hand. Right now there is no support for packaging an FBA, but I do plan to
      add that in the next release so the tracking number, weight, packager name etc can all be tracked. Additionally, there is no support right now for FBA shipments that need to come out of multiple bins, whatever bin you enter, the amount will be taken out of even if that throws the bin into negative numbers.
    • Also the shipment is recorded
      in the same tab as all other stock transactions. Given the additional information it would be useful to have for FBA shipments, the next build will most likely see more data being recorded from a separate FBA packaging flow (weight, time packaged, who packaged, etc) and be recorded in a separate transactions tab.
  • Bin locations
    • Unlimited bin locations, just click below a current one into the row below it and type the new bin location. You can use any system you like to number your bins. Personally I prefer the ones I am using to test Lazy Inventory with, which is a two letter prefix to give aisle name and side, then a five digit number, then a two digit checksum that is the sum of the preceding five numbers. I plan to include a bin generator in a future build that will generate bins in this manner.
  • Fractional inventory 
    • Lazy Inventory now supports a simple form of fractional inventory. You have the option to enter a number in the "How Inventoried" field for a bin location. For example, if you are selling two packs of a given item along with singles, you would have a bin for the two packs and a bin for the singles. The two pack bin would be set to ".5", meaning that for every item pulled from this bin would count for two. So pulling ten two packs would remove twenty items. 
And that about wraps it up for Lazy Inventory 0.4. If you think you might be able to use this, please shoot me an email to let me know how it works. Obviously this is still a work in progress so use at your own risk and I am not responsible for its effect on your business etc etc. 








Comments

Popular posts from this blog

Soviet Mainframe Computers

Ural-1 Control Unit The world of Soviet tech is an interesting one, they frequently were forced to resort to workarounds as they attempted to compensate for their lagging technological development when compared to the West. This does not detract from their very real accomplishments in areas such as the space race, where they led the West for years before finally irrevocably falling behind after the untimely death of their leading designer, Sergei Korolev in 1966. I recently purchased an entire book on eBay called The Technological Level of Soviet Industry, (archived 1978 review  here , there is no direct link to buy it as even Amazon doesn't seem to have it). This isn't a full book, rather it is a collection of different author's papers all bound together. I purchased the book specifically to get Chapter 8, Computer technology  which is an extremely good resource on the state of Soviet computing in the late 70s. At the time of publication in 1977, personal computers s

Python 3.8 and Pygame 2.0

One of my goals for the year has been to learn Python. I got started on it earlier this year, but a move to a different state got me out of my routine of studying it every day, so its been a couple months since I last looked at it. Now that I am all settled in here I decided to pick up where I left off, but change things up a bit.  I had been working my way through Christian Thompson's excellent series on creating a Space Invaders clone in Python and had successfully gotten a little spaceship moving around, and a couple enemies on screen that could be fired at, and register a hit. However this tutorial uses Python Turtle  and I decided that I wanted to learn with Pygame , since that is quite a bit more capable than Turtle and learning it would enable me to theoretically build games down the road. The chances of that happening are quite remote, as I am primarily interested in learning Python as a tool for data analysis to augment my FileMaker development skills, but I think it