@Rob, sort command takes a bsx and updates it with the remarks and comments of stuff in your current inventory. So, if you're parting out say 10218, you take the inventory bsx for it, and process it through bricksync, it will then spit out 10218's inventory bsx but updated with the stuff you have in your inventory (remarks, etc).
So, @stragus, is it possible in any way for the sort function to update them for stockroom items? Or maybe I'm the only one that doesn't want to change locations of OOS items!
@Brick_Top It would be possible to optionally fetch the stockrooms for the sort command, yes... but I'm awfully busy with non-Lego matters these days. It may take a while, unfortunately.
If i had modified all my BL inventory's prices, how can update BO inventory's prices? The lots are the same, so BS doesn't update anything. Thanks a lot to everyone
I still cant get prices to update. Ive tried editing prices on BL using blmaster and without using it and the prices never sync to bo. Just gives perfect inventory match and does no item updates.
Just been looking at this, still not sure I want to hand over control of inventory just yet So I have a question, all my inventory is on BrickOwl, BrickLink has next to nothing. Is there a simple way of just exporting my Brickowl Inventory and uploading to BrickLink as a one off process for now?
With the BSX file, you can then make BL match BrickOwl manually before launching BrickSync. Make sure to check owl2bsx's messages and/or log file in case it couldn't convert some items.
@Stragus is it possible to create a command that syncronize the sale percentages in the future versions of this amazing program? So you can decide if sync them or not. Thanks a lot
@Razer, As far as I know, this is not a BS issue, it is simply BL *not* pitching through 'sales' through their API. As long as they don't, it will not be possible to 'sync' sales %-wise.
@Razer, As far as I know, this is not a BS issue, it is simply BL *not* pitching through 'sales' through their API. As long as they don't, it will not be possible to 'sync' sales %-wise.
I've been running Bricksync for several days now, and for the most part it's working great. One issue I did have though, it does not appear to be transferring the "My Weight" field from Bricklink to BrickOwl. I had to manually update over 400 lots in BrickOwl with the weight data. I know that every one of my Bricklink lots has weight data b/c my inventory control program does not allow lots to be uploaded without weights.
@drh Unfortunately, the "My weight" fields aren't exposed through the BL API, so the information can't be retrieved. (Did that change? The documentation still says "Upcoming.")
BrickOwl's API also appears to be missing a way to update "My weight" fields in the /inventory/update endpoint, unless it's undocumented. I'm sure Lawrence could add that quickly though.
In any case, if you can successfully lobby BL to expose the "My weight" fields, I'll gladly add that feature to BrickSync!
@marshallcomputers At the moment, I have no intention to add support for Magneto, eBay or other services (the donations so far wouldn't quite justify spending days/weeks to work on features I wouldn't use myself...).
Hi, i used "owlforceblid" command to link a BOID with a BLID, but it was the wrong BLID. How can i change it? If i use owlforceblid command agin, it gives me an error that BLID was already linked with another BOID.
@Razer So the BLID/BOID match you specified already exists in the local cache. If you type "owlqueryblid frnd061", it will tell you the matching BLID is already 437990.
Type "sync brickowl" if you want to fix the inventory after changing BOIDs.
Note to all BrickSync users -- I've reported this issue. Sometimes when BS recovers from an API outage, it adds phantom inventory. You can pull your log file for today and scan in a text editor for any quantity increases. If you find BS increasing your inventory, do a hard count and manually correct your inventory if needed.
Someone once reported a similar issue and I had investigated their log...
Somehow, a BL order was not reported by the BL API but the parts had been removed from the BL inventory. BrickSync didn't understand why some parts were missing, and so it added them back. Later on, the order became visible through the API and BrickSync removed the parts.
I suspect we are facing a similar scenario, investigating now.
While the BL API server was down, it didn't receive information about new orders. When the BL API server went back up, some users fetched an order list that was incomplete (but not empty), and BrickSync noted the time stamp of the most recent order. From that point, BrickSync will only verify the content of orders created/modified after that reference time stamp.
Then the missing orders were later propagated to the BL API server, but with a time stamp older than the reference time stamp (the most recent order). Therefore, BrickSync didn't see them.
If my theory is correct, then just changing the status of these orders (from "Pending" to "Processing") will allow BrickSync to see them. As soon as it sees them, it will subtract the inventory.
And now, it appears I must also figure out a good way to work around yet another BL API bug. ~X( :-q
Bricksync 1.6.6 will now detect orders that may have been missed due to BL API bugs during the BL API server downtime.
As @DadsAFOL mentioned, if a manual or automated sync was executed, BrickSync will have added back the missing parts to BL. After fetching any missing order (and subtracting from the inventory), typing sync will fix any issue (sync makes sure that both BL and BO match BrickSync).
If the blmaster mode was used, then BrickSync will already have the deducted inventory since it was imported from BL. After fetching any missing order (which subtract from the inventory again), another blmaster on followed by blmaster off should resolve any problem.
Remember that BrickSync tracks the "master" inventory. Type verify to check if both BL and BO are matching the inventory that BrickSync is tracking.
Sorry for this mess, anticipating all BL API bugs is troublesome.
@cuboidGUY It's the sum of 6 months SalesQuantity/CurrentInventory ratios, where each part is weighted by its "average quantity sell price" compared to the "average quantity sell price" of the whole inventory.
Very high ratios for some parts are also clamped to always present a meaningful value (rather than, for example, infinity if the current inventory of any one part happens to be zero).
After updating, it's unclear if BrickSync is working normally. Seeing this: INFO: Fetching the BrickLink Order List... WARNING: Unusual situation detected, forcing a deep order check due to possible API bug. INFO: We encountered an update, confirming changes now. INFO: Fetching the BrickLink Order List...
And then nothing. The next update occurs when checking the BrickOwl Order list.
I think something is wrong as well. After having trouble with the BL API yesterday, my stock in BO has gone down about 40%. BS tries to update the BO inventory, but seems to be stuck: 10661 lots to create, about 5 million times now
@monochrome Apparently, the code detected a symptom of the BL API downtime bug, and the check figured out it was nothing to worry about (printing "We encountered an update, confirming changes now" is somewhat misleading). Send me the log if you want to be sure.
@BrickItOn Edit: I understand what it's doing. After your inventory clean up, it needs to recreate all the BrickOwl lots to update the External ID. The BrickOwl API doesn't let us update ExtIDs of existing lots.
Using the checkprices and loadprice commands, is it possible to correct the price of items falling outside the defined boundaries? For instance, if I input "checkprices 0.75 2" and it returns to me a list of lots that fall outside that range, can I then get that list as a .bsx and input it with the loadprices command? Or maybe I could take the list and put it in a runfile full of setprice commands.
It seems like BrickSync can very nearly do the pricing that I need but I can't figure it out. Any advice appreciated!
The checkprices command is an odd one, it was added in a few minutes based on someone's request... but I agree optionally outputting these lots to a file would be more useful.
Personally, I think it's more reasonable to update all prices at once. Pricing strategies fall outside BrickSync's intended scope though, by my assumption was that people would do: Command backup mystuff.bsx Update prices in mystuff.bsx with BrickStore or by any other mean Command loadprices mystuff.bsx
I have added a note about checkprices in the to-do list though, thanks.
My issue is that I run Bricksync, and it asks me if my BL store is closed. I just don't have any inventory on that site. I thought I could run the program and it would add my BO inventory to BL, Then it wants to delete all my inventory in BO because it seems to copy my BL inventory which is zero and bring it over to BO. Is there a way to the opposite? Thanks
@MeanGeek Your findings are correct, you cannot run BS if one of your stores is closed, particulary the one on BL as it usually serves as 'master inventory'. Read BS 'how to get started':
1.Run bricksync, it will fetch and compare your inventories on BrickLink and BrickOwl. 2.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.
If you fully read line 2, then you will understand 'BL' is main inventory.
How to solve your problem: You need to import your data in BL: Use Owl2bsx (search the forum with that keyword) to take a backup of your BO store. Then use Brickstock to open the file and to import it in BL. After that, you can do 2 things: either run the sync and BS will make a match for each lot between the 2 sites (non matching items might be deleted). Either you close your BL store, sync, BO will be emptied (delete all lot's to avoid duplicates and 'zero' lot's), open your BL store sync again and all lot's will be recreated on BO. Both options work, but the advantage with the second method, your lotID's will be generated as well on BO, the famous 'external lotID's'. This will help you to 'match' things (manually) between BO and BL in case of need, I don't think with the first method the match is 'visible' (except in the BS logs), as I'm not sure the external ID's would get generated on the existing BO lot's while syncing.
Once you've done that, you'll always need to use BL as 'master' to load items for sale, allthough there are options to exclude syncing between the 2 in case of need...
I believe that this is the right place to post an experience regarding Bricksync or just call it....
DON`T DO IT! :-)
What happend?
Before I´ve started selling on BO if tested a lot with Bricksync to be sure that all works well. It did, I´ve installed BS on my Laptop and run it temporary to synchronise BO and BL:
A few days after running my BO Shop I get tired of switching BO on and off, because my Laptop is not online all day. I bought a Micro PC to be able to run Bricksync 24/7.
Everything was running well and I enjoyed the advantage of running two stores together.
Last Sunday I´ve decided to upgrade the Micro PC from WIndows 7 to Windows 10. Here started the failure. ;-)
I thought: "Hey Klaus, it´s easy, just shutdown BS at the micro PC and activate the Laptop Version again for the update time."
My eyes couldn´t believe what I saw, BS was killing a huge part of my inventory on BL and BO, because BS on my Laptop used the 4 week old backup.
Since these 4 weeks I got a lot of sales at both plattforms and got a lot of new uploads. All new and all sales were gone! I thought I´ve to jump from the bridge. ;-)
After the shock moment I found the solution to be back in the present.
I closed both stores, deleted all of my inventory at BL and used the BS Backup from the Micro PC to load it into Brickstock. After the mass upload function of Brickstock I got my inventory back and Bricksync did what it supposed to be, it synchronizes everything to the actual status.
So dear Bricksync users, never, I say NEVER use two different versions of this tool. Next time I will copy the complete Bricksync folder to avoid such desasters.
This just as small hint to new Bricksync Users like me.
@BobBongo Hi Klaus, sorry to hear you had to learn the hard way in discovering the fact you cannot run Bricksync on more then one device. BUT: the only thing you need to do if you wanna switch the device you have been running on towards another device, is to copy the bsx file from one to the other (or the whole folder as you did), or in worst case, just delete the older bsx file in the Bricksync directory (I accidently did so not so long ago) and it will simply be recreated without messing up your stores ;-)
@BobBongo Oh, you made my day. Ok, not really, because what happened to you is soo not funny, but I did the EXACT same thing about 3 days ago. Actually my 3 year old son clicked on the icon for an older version of BS that was still on my desktop. He was being baby sat at the time, and the program ran until it had reduced my 153,000 pieces down to 88,000 at which time I saw what was going on, and shut the old version of BS down. So insane! I actually had the old and new version running at the same time. I thought about doing a delete on BL and uploading from BS like you did. I tried to update from a current backup, as all my lots were still there just many of them were now in stockroom, but updating from BS wouldn't work, only uploading. So, what I ended up doing was taking most of a full day, and manually verifying and re-entering the quantities on all of my 4,000 lots. I chose to do it this way so I could preserve the lot ids, and the my cost info. Lesson learned a very hard way. So, nice to know that someone shares my pain. But I'm not going to knock BS. That program still saves me a ton of time and frustration. The day I lost is still nothing compared to the hours it took before to manually adjust each order that came in. Have a great day, Katie
If you run an old copy of BrickSync, it's going to process all the "new" orders from its last known inventory, and that's obviously going to make a mess. It does make a backup of the live inventory and prints warnings when the state file is too old.
If you ever need to restore a backup: - Shutdown BrickSync - Replace data/bricksync.inventory.bsx with some desired BSX backup - Launch BrickSync - Type sync
If you ever run an old copy of BrickSync but you still have the correct, up-to-date, good copy of BrickSync... just type sync in there. Let the software fix the inventory, it's only going to fix what needs to be fixed (without deleting everything, which is brutal).
But yes, don't keep old copies of BrickSync around, that's just waiting for an accident to happen.
Comments
So, @stragus, is it possible in any way for the sort function to update them for stockroom items? Or maybe I'm the only one that doesn't want to change locations of OOS items!
The lots are the same, so BS doesn't update anything.
Thanks a lot to everyone
http://www.bricksync.net/guidefaq.html#faqpriceupdate
Prices are synchronized, sale percentages aren't.
The first one is synchronized, the second one is not, so that you can run different sales on each marketplace.
So I have a question, all my inventory is on BrickOwl, BrickLink has next to nothing. Is there a simple way of just exporting my Brickowl Inventory and uploading to BrickLink as a one off process for now?
http://www.bricksync.net/owl2bsx/
With the BSX file, you can then make BL match BrickOwl manually before launching BrickSync. Make sure to check owl2bsx's messages and/or log file in case it couldn't convert some items.
http://www.bricksync.net/guidecommands.html#cmdrunfile
You type all the commands you want to run in a text file, then run that file.
I answered to your private message, your IP address probably changed and your BL API key was generated for a restricted IP submask:
http://www.bricksync.net/guidefaq.html#faqblapikey
Thanks a lot
As far as I know, this is not a BS issue, it is simply BL *not* pitching through 'sales' through their API. As long as they don't, it will not be possible to 'sync' sales %-wise.
BrickOwl's API also appears to be missing a way to update "My weight" fields in the /inventory/update endpoint, unless it's undocumented. I'm sure Lawrence could add that quickly though.
In any case, if you can successfully lobby BL to expose the "My weight" fields, I'll gladly add that feature to BrickSync!
@marshallcomputers At the moment, I have no intention to add support for Magneto, eBay or other services (the donations so far wouldn't quite justify spending days/weeks to work on features I wouldn't use myself...).
How can i change it?
If i use owlforceblid command agin, it gives me an error that BLID was already linked with another BOID.
Thanks a lot, Stragus!
COMMAND: owlforceblid -f 437990 frnd061
ERROR: The BLID frnd061 already resolves to the BOID 437990 (item type: 'M').
Type "sync brickowl" if you want to fix the inventory after changing BOIDs.
Somehow, a BL order was not reported by the BL API but the parts had been removed from the BL inventory. BrickSync didn't understand why some parts were missing, and so it added them back. Later on, the order became visible through the API and BrickSync removed the parts.
I suspect we are facing a similar scenario, investigating now.
While the BL API server was down, it didn't receive information about new orders. When the BL API server went back up, some users fetched an order list that was incomplete (but not empty), and BrickSync noted the time stamp of the most recent order. From that point, BrickSync will only verify the content of orders created/modified after that reference time stamp.
Then the missing orders were later propagated to the BL API server, but with a time stamp older than the reference time stamp (the most recent order). Therefore, BrickSync didn't see them.
If my theory is correct, then just changing the status of these orders (from "Pending" to "Processing") will allow BrickSync to see them. As soon as it sees them, it will subtract the inventory.
And now, it appears I must also figure out a good way to work around yet another BL API bug. ~X( :-q
As @DadsAFOL mentioned, if a manual or automated sync was executed, BrickSync will have added back the missing parts to BL. After fetching any missing order (and subtracting from the inventory), typing sync will fix any issue (sync makes sure that both BL and BO match BrickSync).
If the blmaster mode was used, then BrickSync will already have the deducted inventory since it was imported from BL. After fetching any missing order (which subtract from the inventory again), another blmaster on followed by blmaster off should resolve any problem.
Remember that BrickSync tracks the "master" inventory. Type verify to check if both BL and BO are matching the inventory that BrickSync is tracking.
Sorry for this mess, anticipating all BL API bugs is troublesome.
Very high ratios for some parts are also clamped to always present a meaningful value (rather than, for example, infinity if the current inventory of any one part happens to be zero).
INFO: Fetching the BrickLink Order List...
WARNING: Unusual situation detected, forcing a deep order check due to possible API bug.
INFO: We encountered an update, confirming changes now.
INFO: Fetching the BrickLink Order List...
And then nothing. The next update occurs when checking the BrickOwl Order list.
--
Marc.
@BrickItOn Edit: I understand what it's doing. After your inventory clean up, it needs to recreate all the BrickOwl lots to update the External ID. The BrickOwl API doesn't let us update ExtIDs of existing lots.
It seems like BrickSync can very nearly do the pricing that I need but I can't figure it out. Any advice appreciated!
Personally, I think it's more reasonable to update all prices at once. Pricing strategies fall outside BrickSync's intended scope though, by my assumption was that people would do:
Command backup mystuff.bsx
Update prices in mystuff.bsx with BrickStore or by any other mean
Command loadprices mystuff.bsx
I have added a note about checkprices in the to-do list though, thanks.
Your findings are correct, you cannot run BS if one of your stores is closed, particulary the one on BL as it usually serves as 'master inventory'.
Read BS 'how to get started':
1.Run bricksync, it will fetch and compare your inventories on BrickLink and BrickOwl.
2.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.
If you fully read line 2, then you will understand 'BL' is main inventory.
How to solve your problem:
You need to import your data in BL: Use Owl2bsx (search the forum with that keyword) to take a backup of your BO store. Then use Brickstock to open the file and to import it in BL.
After that, you can do 2 things: either run the sync and BS will make a match for each lot between the 2 sites (non matching items might be deleted). Either you close your BL store, sync, BO will be emptied (delete all lot's to avoid duplicates and 'zero' lot's), open your BL store sync again and all lot's will be recreated on BO.
Both options work, but the advantage with the second method, your lotID's will be generated as well on BO, the famous 'external lotID's'. This will help you to 'match' things (manually) between BO and BL in case of need, I don't think with the first method the match is 'visible' (except in the BS logs), as I'm not sure the external ID's would get generated on the existing BO lot's while syncing.
Once you've done that, you'll always need to use BL as 'master' to load items for sale, allthough there are options to exclude syncing between the 2 in case of need...
I believe that this is the right place to post an experience regarding Bricksync or just call it....
DON`T DO IT! :-)
What happend?
Before I´ve started selling on BO if tested a lot with Bricksync to be sure that all works well.
It did, I´ve installed BS on my Laptop and run it temporary to synchronise BO and BL:
A few days after running my BO Shop I get tired of switching BO on and off, because my Laptop is not online all day.
I bought a Micro PC to be able to run Bricksync 24/7.
Everything was running well and I enjoyed the advantage of running two stores together.
Last Sunday I´ve decided to upgrade the Micro PC from WIndows 7 to Windows 10.
Here started the failure. ;-)
I thought: "Hey Klaus, it´s easy, just shutdown BS at the micro PC and activate the Laptop Version again for the update time."
My eyes couldn´t believe what I saw, BS was killing a huge part of my inventory on BL and BO, because BS on my Laptop used the 4 week old backup.
Since these 4 weeks I got a lot of sales at both plattforms and got a lot of new uploads.
All new and all sales were gone! I thought I´ve to jump from the bridge. ;-)
After the shock moment I found the solution to be back in the present.
I closed both stores, deleted all of my inventory at BL and used the BS Backup from the Micro PC to load it into Brickstock. After the mass upload function of Brickstock I got my inventory back and Bricksync did what it supposed to be, it synchronizes everything to the actual status.
So dear Bricksync users, never, I say NEVER use two different versions of this tool.
Next time I will copy the complete Bricksync folder to avoid such desasters.
This just as small hint to new Bricksync Users like me.
May the force and Bricksync be with you.
:-)
Hi Klaus, sorry to hear you had to learn the hard way in discovering the fact you cannot run Bricksync on more then one device.
BUT: the only thing you need to do if you wanna switch the device you have been running on towards another device, is to copy the bsx file from one to the other (or the whole folder as you did), or in worst case, just delete the older bsx file in the Bricksync directory (I accidently did so not so long ago) and it will simply be recreated without messing up your stores ;-)
Oh, you made my day. Ok, not really, because what happened to you is soo not funny, but I did the EXACT same thing about 3 days ago. Actually my 3 year old son clicked on the icon for an older version of BS that was still on my desktop. He was being baby sat at the time, and the program ran until it had reduced my 153,000 pieces down to 88,000 at which time I saw what was going on, and shut the old version of BS down.
So insane! I actually had the old and new version running at the same time. I thought about doing a delete on BL and uploading from BS like you did. I tried to update from a current backup, as all my lots were still there just many of them were now in stockroom, but updating from BS wouldn't work, only uploading.
So, what I ended up doing was taking most of a full day, and manually verifying and re-entering the quantities on all of my 4,000 lots.
I chose to do it this way so I could preserve the lot ids, and the my cost info.
Lesson learned a very hard way.
So, nice to know that someone shares my pain.
But I'm not going to knock BS. That program still saves me a ton of time and frustration. The day I lost is still nothing compared to the hours it took before to manually adjust each order that came in.
Have a great day,
Katie
If you ever need to restore a backup:
- Shutdown BrickSync
- Replace data/bricksync.inventory.bsx with some desired BSX backup
- Launch BrickSync
- Type sync
If you ever run an old copy of BrickSync but you still have the correct, up-to-date, good copy of BrickSync... just type sync in there. Let the software fix the inventory, it's only going to fix what needs to be fixed (without deleting everything, which is brutal).
But yes, don't keep old copies of BrickSync around, that's just waiting for an accident to happen.
@MeanGeek Let me update owl2bsx later today, the database requires regular updates:
http://www.bricksync.net/owl2bsx/