I am a biomedical engineer; I was offered a PhD position in Germany. They already prepared my contract but never mentioned my salary. I was wondering if there is a polite way to ask how much will be my salary.
They will not tell you a number in Euro, as the person tasked with the hiring decision probably doesn't know the amount either. You need to ask for the paygrade and then use the calculator on this page to find the amount.
It is a very easy conversation, because neither you nor your supervisor can do anything about the payment. No negotiation, no decision making, nothing involved. You cannot say anything wrong (as in, reduce your chances for a good salary).
How to calculate the amount from the paygrade
First, you need to know which tarif applies to you. On the page I linked, choose "TVL West" if you will work in a state of former West Germany, and "TVL Ost" if you are in former East Germany. You will see a blue calculator form in the upper right corner.
The paygrade information your boss tells you will be of the form "E13, 50%". It may have been printed on the job ad, but not always.
E13 is the "level" determined by the job's difficulty, and is fixed for the position. The rules here are so firm, I don't know if it is even possible to have a PhD research job ("wissenschaftlicher Mitarbeiter") at any other level than E13.
The percentage is the worktime percentage paid. It is up to the institution to decide if they are going to pay you full time, half time, or some other fraction. Paid full time is practically unheard of outside of computer science departments, biomedical should be 50% or some more. The actual time your boss expects you to be present in the office may be different from what your contract says, and it is also up to your supervisor and work to know if you will need to put in some unpaid extra hours outside of fulltime work hours. If you have a cell culture which needs to be fed every day, you might find yourself coming back to the lab on weekends too. But the money you get depends on the number in the contract, and it is simply calculated as a proportion of the money for the full time.
The calculator also asks you for a Stufe. It refers to a pay "raise" based on years of work experience. If you are a freshly minted M. Sc., you start at "1", get upgraded to "2" after one year in 1, then to 3 after two years in 2, etc, up to 6. If you have worked somewhere else before and gained relevant experience (HR judges what is relevant), you can get into a higher group, but not higher than 3 when you are changing institutions, or when you are changing the E level within the same institution.
If you are single, your "Steuerklasse" (tax classification) is I. If you are married, try "IV" for the first calculation. If you are in a civil union with a same sex partner, that also counts, but I don't know how difficult it is to get a civil union or same sex marriage from another country recognized in Germany.
You will get some extra money if you have small children, but I don't know which ages count for how much.
If you are either Catholic or Protestant, you will also pay a church tax. For this, choose the link behind "Kirchensteuer" and enter the state in which you will be working.
Leave everything else at default for the calculation, and press "berechnen".
For example: in my institution, a biology PhD always gets a 50% E13 contract, and assuming he is single, atheist and has no previous work experience, this translates to 1758.68 €, of which he takes home 1208.12 €.
Beside the Stufe for years worked, your salary will rise a little bit every year, as the whole paygrade is adjusted in a negotiation on the highest level between the provinces' governments and the trade unions. You cannot get a pay raise by negotiating with your boss, nor could he give you one if he wanted. The exception would be giving you a few more percent worktime, if you are not already at 100% and if your institution's policy allows it. This is rare and will likely require you to take on one more project beside your PhD work.
An additional payment in December is customary, but it is not as high as a regular monthly salary.
Congrats on the position!
I'm not sure how it works in Germany (and perhaps I am wrong since other answers talk about "grades"), but in the UK we often call it "funding" rather than "salary" since the money typically comes from research councils rather than the university itself. Some PhD positions come with funding, some do not, so for me it is completely acceptable to ask.
As a PhD student myself, I would feel much more comfortable asking "will there be any funding available for this position?" rather than "what's my salary?". Hope this helps.