✓ Accepted answer
There are two ways really to go about it.
The first is to make the second button only appear as a result of buying the first item. A really, really simple way to do that is to just make it part of the purchase that appears (this could get messy). A slightly cleaner way would be to just do a second procedure separate from the purchase which makes it visible or moves it to a certain place, etcetera.
The second way is to make the second button check whether or not the first has been bought, in addition to checking if you have enough money.
This could be done simply by searching for whether or not the purchase exists (if MyTycoon:FindFirstChild("LowLevelPurchase") and EnoughMoneyCheckHere then). You could also specifically track the existence of the purchase using Boolean Value objects either in the tycoon, or in either button, or by doing an equivalent storage in _G.
The second way overall is much cleaner and easier to debug since you do not have new things being introduced midway through playthrough. On the other hand it does require some form of communication between things; using the child-existence check would require no new infrastructure though, so if that is the problem you can go in that direction.