I have worked at German companies with union pay (IG Metall, same as BMW). You are right that there is a table, but where you are on the table is still very negotiable. Maybe people think this can't be negotiated but in reality it is. I got bumped up several levels after I complained that my colleagues were much higher while doing the same work.
Only few engineers in leading position and with larger responsibilty are paid based on an individually negotiated contract.