Generally, citizens of the European Union (EU), the European Economic Area (EEA), and Switzerland may enter, stay, and work in Germany without any visa. They only have to register at the local registration office (Einwohnermeldeamt), which issues a declaratory residence permit if their stay in Germany exceeds 90 days.
EU citizens from the new Eastern European EU member states Bulgaria and Romania still require a work permit for taking up employment in Germany, issued by the Federal Employment Agency (Bundesagentur für Arbeit). This transitional rule will cease by the end of 2013. However, the labor market is open to university graduates from Bulgaria and Romania if they are employed in Germany according to their qualification.
Citizens of non-EU countries generally require a visa to enter, stay, and work in Germany.
For short-term stays in Germany (stays not exceeding 90 days per six-month period starting from the inital date of arrival) a Schengen visa is needed for entry into Germany. A schengen visa is generally sufficient for most steps required to establish a business in Germany.
Is the duration of the stay exceeding 90 days (per six-month period) or is a (self-employed or gainful) occupation taken up, all non-EU citizens require a residence permit (Aufenthaltserlaubnis) or settlement permit (Niederlassungserlaubnis). For this purpose, the German embassies or consulates issue a national visa for entering Germany which is "transferred" into a residence or settlement permit in Germany.
Nationals of certain countries do not require a visa for entry into or short-term stays in Germany. The Federal Foreign Office (Auswärtiges Amt) provides detailed information on entry requirements into Germany for different countries.