tl;dr: I’m wondering if GS 9 has the particular features in inventory/listing/report management I think I need for me to improve my workflow. So I spend a long time recording what I do now, and what I think I want to do, and end by asking questions that might help me progress.
I’m feeling the pressure to improve my inventory handling system, and if possible I’d like to stick with GarageSale 9 and possibly some self-written db systems I’ve been playing with. But (1) I’ve never really used the Inventory section of GarageSale, and (2) I’m concerned that I don’t immediately see features that would support changing what I already do, so there might be more change than I can afford to make now.
Let me summarize my workflow now, and then say what I am looking for.
- I sell books and other unique things, so there will never be more than one of any item, and it will probably never be “restocked”. I’ll call things “books” here, and we can assume it will almost always be sold on eBay as lots of 1 item each.
- I photograph a box of books at once, and then set them aside in that same box. Sometimes for months.
- I edit the photos, and once they’re cleaned up I create a very simple template GS listing for each book, drag the photos into those, and store those mostly-empty listings in GS big pile on a laptop that is not synced. Sometimes for months.
- I grab a box of books from the physical queue, and pick each one up and actually fill out its GS listing with the correct properties, category, price and so forth on the laptop. I work through a physical box over a few days, but it might not all get launched all at once. Usually I will do 5-10 books in a “bunch”; a box might have 3-50 “bunches” in it, depending on the size of thing.
- As I finish each bunch, I export them from GS on my laptop and import them into the “server” GS on a desktop machine which is always on. While it’s there I assign a random UUID as a SKU (see below), verify the listing and launch it.
- Whenever I finish listing a box, I take it back downstairs and shelve the contents. The shelving system is alphabetical by book title, so I will often have to re-shelve a lot of other inventory to make space on the bookshelves. But the books are inside (different) boxes, and those boxes are on shelves, so I can slide things around relatively easily.
- Every few days I “cycle” all my fixed-price listings. I stop some of them (a random selection based on SKU) and possibly change the prices, replace their SKU numbers with random UUID values and re-launch them.
- When items sell, I use the GS Orders to print all the packing slips first, and use those as pick lists. At this point I go to eBay infrastructure and print shipping labels and handle buyer messages there.
Problems:
- I don’t like using random SKU values, but that was the easiest way I could find to produce a random subset of running items in a folder, back in the GS7/8 days. I can sort on the SKU column in the Main window, and select the first 100 or 200 listings, and stop those. When I re-randomize the SKU values, the only real reason is because I will want to select a different random subset next time I do that.
- It’s difficult to manage the alphabetical order of books over ~3000 items I have listed now, and it will soon be impossible as I scale up. It is often hard to know where a particular thing is (is it small? oversized? a magazine? does it have a spine title or is it in the comic book/magazine box with the thin things? &c &c).
- I feel like I could do some of the work in the Inventory system as it already exists, but until the recent Javascript infrastructure I didn’t think it would be possible. Now I’m not sure, and hopeful.
- I do need to track costs, and the inventory system seems like the only correct way to do that. But my SKU-fiddling cycle (which I have not made a workaround for) means the SKU cannot be used to track the items.
What I would like to do:
- Photograph an item, edit the pictures, and put the pictures into a new inventory item in GS.
- Associate the location information (a string) with the item in inventory [Q: How can I do that, now?]
- Set a fixed SKU, forever, for that item, so I can track expenses for listing/re-listing.
- Take a folder/group of running listings, and create a selection which is a random subset (maybe something like “1/3”, or “some 100”) of those, which I can drag to a new folder. [Q: I could probably do this in JS or AppleScript, yes?]
- Create an Inventory item for each running listing I have now, so I can record the current locations. [Q: Is that possible, perhaps with scripting?]
- Change the title of the listings over time. [Q: Is the inventory item title === the listing title?]
- Print a pick list with item title and location when I sell things. [Q: is this feasible in a Report?]
- Possibly (don’t know, but suspect) add other User-defined info to the Inventory item. this would be sourcing notes, a max and min price I would sell it for, age, and so on. This would also be useful for consignment sales, which I am getting pressure to start again.
Things I don’t know yet:
- Can I record the arbitrary (undefined, still) “location” string in the Inventory item, but not in its description? Can I add notes? A min and max price value (could be an integer or float)? An acquisition date? A date at which I would want to discount? &c
- I would need to be able to search for all of these in Smart Groups too. I’m pretty sure GS would need to be extended for this to work. For instance for Consignment reports, if I had recorded the Consignor, I would periodically want to generate a report for them of costs and revenue.
- I am pretty sure I can select a bunch of listings, and programmatically deselect a random subset, so I’ll try that. This eliminates the stupid “random SKU” kludge I’ve been using for years.
- Can I import a Listing as an Inventory item somehow? Using JS or AS, maybe?
- Is the title of an Inventory item the same as the Listing, or are they different strings? I don’t have a sense of the Inventory/listing object models. Same with the description and images. It feels like the SKU is the key these tables are linked by?
- Related: If I change the title of a listing, does it change the title of the associated inventory item, or is the SKU the only foreign key linking them?
- Can I produce a list of sold inventory items with the [nonexistent] “location” string I will need? I only see five basic fields in the Inventory Smart Groups window, and this concerns me.
I know @ilja and others have in the past made it possible to programmatically read and write to User Properties, but it still looks like there is no way to associate them with the Inventory (even via a join to the Listings table). And I see that I can create a Smart Group (of Listings) that has contains
constraints. So arguably I could associate my “location” string with the listings, but that would not propagate back to the Inventory record. Which is where I really need it to be, because Listings don’t have a location, and get replaced frequently and many times.
At any rate, if you’ve read this, you’re probably in the same ¯\_(ツ)_/¯
state as me.