Daniel M, 54, was arrested in Frankfurt in April on espionage charges after he compiled information on officials tasked by the German state of North Rhine-Westphalia with ferreting out stashes of wealth hidden at Swiss banks.
He is also believed to have placed a mole inside the German tax office, though this person's identity is still unknown.
Switzerland had been seeking the identities of three German tax officers, hoping to build a case against them for illegally obtaining banking data, which is protected under the country's strict secrecy laws.
The country's banks had come under intense pressure in recent years as several German states started buying CDs or USB memory sticks allegedly containing data on German taxpayers who had parked their fortunes across the border.
German investigators say they believe that Daniel M. was in the employ of Bern's spymasters by July 2011 at the latest.
Along with an associate working for a security firm in Frankfurt, he allegedly collected birthdates, telephone numbers and private addresses of German tax officials.
The spying claims sparked outrage in Germany, with Foreign Minister Sigmar Gabriel rebuking Switzerland over the scandal and summoning Bern's envoy for clarification.
The case was especially embarrassing for Switzerland, which in 2015 had signed a deal with the European Union to exchange bank data starting in 2018 as part of an international pledge to clamp down on tax cheats.
Big risks, at what gain?
Amid the uproar, German and Swiss media reported that the accused's operation had unravelled by chance, possibly because he had walked into a trap set by Werner Mauss, a former top spy dubbed Germany's James Bond.
Daniel M, a former policeman and a high-ranking security officer at Swiss banking giant UBS, reportedly passed on a CD containing banking data to a German contact — who had in fact been working for Mauss.
The data turned out to be erroneous, but Mauss reported the exchange to UBS, which in turn passed it on to Swiss authorities who arrested M in February 2015 for breaching banking secrecy.
During the investigation, M apparently told Swiss investigators that he had been working for Bern to spy on German authorities.
But a copy of a summary of the interrogation ended up in the hands of German authorities through Mauss, leading eventually to M's arrest in Frankfurt.
German prosecutors say he was paid 3,000 euros ($3,500) a month over half a year by his Swiss handlers.
He also received 13,000 euros for the personal details of tax officials, of which 10,000 euros he gave to his associate.
Separately, for the mission to place a mole in the tax office, M was promised 90,000 euros.
He received 60,000 euros of the sum but passed on most of it to unknown individuals, according to German prosecutors.
He risks up to five years in jail.