Brick Wizard is the best way to save money shopping for LEGO parts at BrickLink.
Brick Wizard consolidates BrickLink orders by taking a BrickStore or BrickStock inventory file and determining the least expensive combination of BrickLink stores that contain all LEGO parts in the inventory in the desired quantities. For example, if you wish to find the least expensive combination of stores from which to buy 100 red 2x2 bricks and 200 1x4 blue plates you would use BrickStore to add those parts to an inventory file and open it in Brick Wizard. The Wizard can then search BrickLink and find a combination of stores that have all 300 pieces at the lowest available price. The idea is to save money on large orders!
While a few other apps exist that perform a similar function, Brick Wizard has a C++11 back end that is much, much faster than existing apps. It is feasible to process billions of possible combinations. In addition, it is the only app of its kind with a native UI on both Mac OS X and Windows. In the future, I hope to expand Brick Wizard and add features that LEGO fans have been clamoring for.
Please note that this is beta software and there may be bugs and there are certainly missing features. Bugs can be reported and features can be voted on at the Brick Wizard Trello board.
Exhaustively searching combinations of stores is a considerably large math problem and Brick Wizard can take a long time to find a solution. Please be patient. For performance reasons, only 64-bit versions of Windows are supported. Due to the extensive use of C++11, OS X Mavericks is required to run the Mac version. Enhancements in the future may improve on these requirements.
Brick Wizard does not yet have an installer available (or DMG on OS X). To use it, simply unzip to a folder of your choosing and run it from there. On OS X you may have to right-click (or Control-click) and select Open, depending on your security preferences.
Creating a Wanted List
Use BrickStore/BrickStock to create the wanted list. If you are on a Mac you may have issues running BrickStore. If so, I recommend using BrickStock to create the inventory file.
Run Brick Wizard and open the wanted list. Select the number of stores per combination. The lower the number, the faster combinations will be found. Shipping costs are generally lower with fewer stores. However, the more stores per combination, the greater the opportunity for a less expensive solution. Brick Wizard automatically chooses the number of threads to use so that solutions can be found quickly without using the entire CPU; however you may choose the number of threads based on your needs.
By default, Brick Wizard searches for stores that ship to the USA and are located in North America, and displays prices in USD. All of these options can be configured to tailor Brick Wizard to your regional preferences. Please note that multiple regions of store locations can be chosen. The regions available are the same as BrickLink uses for filtering available items for sale.
Using the Results
Once Brick Wizard has worked its magic, you will see a list of combinations and stores. The cost of each combination is displayed as well as buttons to create BrickLink wanted list XML. You will first need to create an empty wanted list in BrickLink for each store. Give it a name you can remember. Note the ID of the wanted list. For each store, click Create Wanted List... and enter the wanted list number given by BrickLink. Click Copy (or press Enter). Next, go to the BrickLink wanted list upload page. Paste the XML copied from Brick Wizard and click Verify Items. Next, click Upload File. Next, go to each store's page (Brick Wizard provides a link) and click Show All Items this store has on my Wanted List on the left side of the page. Select the wanted list you created before from the In: dropdown; click Go!. For each item, enter the quantity from the wanted list. Now you can click Add Selected Items to Shopping Cart. Finally, you can checkout!