Don't confuse budget with price. You set a price, but you build a budget.
A price is usually a number that reflects an amount of money you pay on some product. The price includes the cost of production for that product, eventual taxes (like VAT, for example), and a profit that the company expects to make from selling the product.
A budget is not a simply a number reflecting an amount of money. Although you often hear people say "we have a budget of $200,000 for such and such", that is an oversimplification. If, for example, you want to organize a Pizza Friday at the office, and your manager says you have a budget of $250, then that simply means you can spend $250 on pizza. But within a project management context, a budget means more of a financial plan, than just a simple amount of money. Yes, you can then say the budget for a project is $200,000, but you also need to include "the story" of how you got to that amount. When you read the PMBoK, the focus is on all the process groups and knowledge areas you will need in order to build a budget.
So, for a project, you need to build a budget by figuring out the activities needed to build the software, then estimating that work. You then figure out what people you need and based on the estimation and the hourly rate of your employees, you forecast how much you will need to pay on salaries. Maybe you also need to take into account Christmas bonuses for those people. You need to account for other costs too, like hardware equipment, software licenses, contingency reserves (for when things don't go smoothly), maybe traveling expenses if needed, other professional services (like lawyers for drafting contracts), etc. Adding all these things together will give you an image on what costs will be necessary to build the software, and now you can say an amount like $200,000. Once you have built the budget that tells you what is needed to build the thing, you can now set the price that you will ask for it, a price that also includes the profit. And of course, while you build the software, you have to monitor the costs and see if they match the budget you have built and financed for it, and make necessary adjustments if needed.
If you look at this from both the customer and contractor perspectives, then yes, you can say that there are two budgets:
- for the contractor building the software: the budget is all the above mentioned things that are needed to build the software. It's the financial plan and its conclusions of what it will cost, to know if you can finance such a project.
- for the customer buying the software: the budget contains the price they pay for the software, but can also be any extra costs from the above mentioned things. For example, they might pay just for software, so they need to include in their budget any hardware needed to run it. Maybe they have their own people overseeing things at the contractor, so they need to include the salaries in their plans. They might also have expenses with lawyers helping them on their side of the contract negotiations, etc. So the customer too needs to build their own budget, to see how much this project will cost them overall, not just what the custom software they ordered from someone else will cost.