diff --git a/README.md b/README.md
index 5a008679e549994d9587b60690a510f712558400..c6290e7896d5477b3b80c9cf70843021d2f1b880 100644
--- a/README.md
+++ b/README.md
@@ -67,4 +67,13 @@ snakemake -j 1 -s rewrite-taxonomy.snakefile
 
 This will write the merged taxonomy in a format suitable for text projection.
 
+## Resulting taxonomy
 
+### Namespace prefixes
+
+| Prefix | Domain | URL construct |
+|--------|--------|---------------|
+| `ncbi` | NCBI Taxonomy | `https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id={ID}` |
+| | | `https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id={ID}` |
+| `bd`   | BacDive | `https://bacdive.dsmz.de/strain/{ID} |
+| | | `https://api.bacdive.dsmz.de/example/fetch/{ID}` (authentication required) |
diff --git a/dsmz-match.py b/dsmz-match.py
index db0a2744e8876b4659c848f03d82c95f6aa78477..0c06a343e1a302e43792d185e70c5b31b51d5082 100755
--- a/dsmz-match.py
+++ b/dsmz-match.py
@@ -102,12 +102,7 @@ class BacDiveEntry:
         self.domain = tax.findtext('./domain')
 
     def _get_strain_taxid(self):
-        for sn in self.strain_number:
-            if sn.startswith('DSM'):
-                return sn.lower().replace(' ', ':')
-        if len(self.strain_number) > 0:
-            return self.strain_number[0].lower().replace(' ', ':')
-        return 'bacdive:%s' % os.path.basename(self.filename).replace('.xml', '')
+        return 'bd:' + self.bacdive_id
 
     def _get_canonical(self):
         for sn in self.strain_number: