Next to the guest list, this will be difficult to do. Not so much in the sense that it is legitimately hard, but because it requires research, communication and time.
Sit down with your partner, either at the table or at the computer. Personally, I think the computer is a better option just because it is more organized and you can save it.
Open up either Microsoft Office or Excel, both work perfectly fine.
Make a list of all of the things you are including in your wedding. Remember, include EVERYTHING. Don't leave out bits and pieces that you think of as 'small'. Small things add up.
When writing out your budget, over-estimate what you are going to spend. That way, you aren't blindsided by surprise finances. Also, this works as a motivator because if you budgeted $1500 for catering and it ends up being more along the lines of $800, you can see the money you have saved. Imagine this happening with most of the items you've listed. Once you've paid them off, highlight them. When it gets down to the final month before your wedding, look back and make sure you didn't forget anything (obviously if something is not highlighted, you forgot about it).
During your research, if you find a vendor with rates that meet your budget, write them down on your list so that you don't forget about them later on.
Here is an example of a wedding budget:
Obviously there are flaws with this 'budget'. Not all areas are filled out, but hopefully it gets the point across.
The areas highlighted in blue are things that have already been taken care of.
A lot of times, this can be fun. Friends like to get involved and help out with things such as cake, photography, catering, etc.
Making a budget will really help you and your partner understand and keep track of where your money is going. Also, this helps you stop and think of where your money is being spent. If you just put $500 here and $3,000 there, at the end of all of this, you'll find yourself with no money and who knows, maybe you forgot the invitations and no one knew about the event.
Point is, you'll save yourself money and time.
After all, you don't want to look like this--
You want to look like this--