There are some, I think that integrate with Quickbooks
You might want to look at this very closely before making the jump, and here is why. It may be different in other versions but . . .
Scenario: custom built cart that manages product inventory perfectly. Wanted to integrate with QB, full blown retail edition.
Managed to get the data downloaded to the IIF files, get it imported to QB but totally failed on at least three major points.
The first is that in QB, you have an "Items list." The "Items list" consists of various account items, some examples are bank accounts, billing items (ex: types of billable items, etc.) and other "items" tied to your company. On import of the IIF files, the entire inventory dumped into the general items list. I found this absolutely ridiculous, I must be making a mistake, for a
retail edition program not to have a list dedicated to store inventory. So I manually added an item and sure enough, it dumped it into the items list.
OK, let's try to make it work. Second problem: these products have many variations of sub options. AES1234 is a dress, for example, it comes in 6 colors with two variations of trim. But it's one item with options. QB has no way of dealing with it that way, the only way to "get it in" is to add it as 12 unique items, further bloating the items list.
Ok, let's forge onward . . . when you manually adjust inventory in QB, it affects various other account areas. When an item is sold or added, it not only increments/decrements the inventory, it adjusts the money in/money out accounts. I worked on this for about a month, and found no way to automate these account adjustments when importing site data to update inventory.
The whole thing is hinky, and cost us (I think) $700+. So now we just add sales to "daily cash" in QB (it's named something like that) and let the site do what it does 10x better than QB. We added inventory reporting to the site, and it's a much easier way to track inventory.
To address the original question, I found no solution that gracefully managed inventory, like you are looking for (but doesn't mean it's not out there.) Like your situation, this project required very special options that can be named "anything" at any time, required grouping of items in some cases, had various other variable requirements, and the inventory had to keep track of it everywhere - which also affected how the public pages displayed. I had to code it myself, which is where you may need to go, custom.