BrickSync is a piece of software meant to run on a LEGO seller's computer to synchronize inventories between the BrickLink and BrickOwl marketplaces, with many feature beyond this. All incoming orders (and backups) are stored as BrickStore/BrickStock compatible BSX files, and the software can merge in new inventory (or update prices, and so on) from files in that same BSX format.
BrickSync is free and donation supported. If your inventory holds more than 250000 parts, you'll be kindly invited to support BrickSync or you'll be asked a small mathematical question/puzzle to check for new orders.
- Robust handling of all orders from both BrickLink and BrickOwl. Changes are instantly propagated to the other service.
- If any inventory update fails with ambiguous results (i.e. we never had a reply to a query sent), the code automatically peforms a deep synchronization to detect and resolve any issue.
- All incoming orders are saved as BrickStore/BrickStock BSX files.
- Many commands to manipulate inventory, merge in new inventory, assist part sorting, evaluate sets for part-out, and more.
- A BrickLink Master mode, where all external inventory changes made on BrickLink are incorporated back into the tracked inventory.
- Automated management of BrickLink's limit of 5000 API calls per day, with optional output of XML files for manual upload.
- Can recover from any interruption, including power cuts, through file journaling bypassing hard drive internal caches.
- BrickSync can always be closed or interrupted, execution can later resume with no consequence.
How To Get Started
- Unpack the package somewhere accessible, there's no special installation step.
- Open the file data/bricksync.conf.txt in a text editor and enter the API keys for both BrickLink and BrickOwl.
- Run bricksync, it will fetch and compare your inventories on BrickLink and BrickOwl.
- Linux and OSX users: Run ./bricksync from its own directory, it expects to find ./data/ in the current working directory.
- BrickSync will ask your permission to apply all changes required to make the BrickOwl inventory match the BrickLink one exactly. You can review the detailed list of changes in the log file.
- You are done! All new incoming orders will be properly propagated between the services.
- The BrickLink Master Mode lets you edit your inventory on BrickLink and incorporate back the changes into BrickSync. Note that all order checks are paused while in this mode. Use blmaster on and blmaster off to hop in and out.
- You can update all your prices at once on both BrickLink and BrickOwl with the loadprices command. It updates every item from the specified BSX file that is found in your inventory, matching by ID, color and condition. Example: loadprices NewPrices.bsx
- For sellers who part out new sets, try out the evalset command to evaluate a set's potential. Example: evalset 10224
- When an order is cancelled, avoid returning the items to your inventory on BrickLink or BrickOwl. Use the add command using the stored BSX file for that order. For example: add data/orders/brickowl-6682398.bsx If you have already added the items back through a web interface, type sync to fix everything (before or after the add).
- Use the sort command to prepare a BSX file for sorting into your physical inventory. It updates the file by copying all comments and remarks from your tracked inventory for matching lots, and it sorts items in an efficient way to locate items in BrickStore/BrickStock. Example: sort MyFileAboutToBeSorted.bsx
- A sync command will verify your entire inventory on BrickLink and BrickOwl to ensure they match the one being tracked locally. The slightest difference will be corrected.
- Do you have items that you don't want synchronized, that you want to manage yourself on either BrickLink or BrickOwl? Just add the ~ character anywhere in the remarks or private notes for these items, and BrickSync won't see them.
- The owlresolve command lets you see all BLIDs from your inventory that are unknown to BrickOwl. Now go edit the database and fill in the gaps. :)
- To update BrickSync, you just need to replace the executable file. BrickSync will always be able to read files generated by a previous version.
The BrickSync source code is not presently available. The software will become open source under the General Public License v2.0 when the total of donations and registrations reach a certain amount (a small fraction of what the work hours would have paid at the day job). The software is entirely written in portable C99, with no dependencies besides libssl for HTTPS encryption.
- BrickFeverParts for being the biggest supporter of BrickSync!
- budgetkids for the beta testing, numerous bug reports and support!
- DadsAFOL for the bug reports and being the very first supporter of BrickSync!
- BadLove for the recurrent and well appreciated support!
- PSBricks/Bugsy for the beta testing and the many useful bug reports!
- Brick Machine Shop for their fantastic aluminum Technic parts! (Okay, that's totally unrelated to BrickSync, but I love their products :) )
- Many others who have supported the software through their donations, thanks all!