diff --git a/misc-scripts/xref_mapping/XrefParser/VBCommunitySynonymParser.pm b/misc-scripts/xref_mapping/XrefParser/VBCommunitySynonymParser.pm
new file mode 100644
index 0000000000000000000000000000000000000000..6b9f118d38b826e478ef10f3e829d962e1061686
--- /dev/null
+++ b/misc-scripts/xref_mapping/XrefParser/VBCommunitySynonymParser.pm
@@ -0,0 +1,71 @@
+package XrefParser::VBCommunitySynonymParser;
+ 
+use strict;
+use warnings;
+use Carp;
+use POSIX qw(strftime);
+use File::Basename;
+ 
+use base qw( XrefParser::BaseParser );
+
+
+sub run {
+  my ($self, $ref_arg) = @_;
+  my $source_id    = $ref_arg->{source_id};
+  my $species_id   = $ref_arg->{species_id};
+  my $files        = $ref_arg->{files};
+  my $release_file = $ref_arg->{rel_file};
+  my $verbose      = $ref_arg->{verbose};
+
+  if ((!defined $source_id) or (!defined $species_id) or (!defined $files)) {
+    croak "Need to pass source_id, species_id, files and rel_file as pairs";
+  }
+  $verbose |=0;
+
+  my $file = @{$files}[0];
+  #The Synonyms are for gene symboles. Therefore using the source_id of symboels
+  my $symboel_source_id;
+  open IN,"<","source_id_file" or die "could not open source_id_file";
+  while(my $line = <IN>){
+  	  chomp $line;
+  	  my($organism_id,$source_id) = split /\t/ , $line;
+  	  if($organism_id eq $species_id){
+  	  	$symboel_source_id = $source_id;
+  	  }
+  }
+  close IN;
+  #my $symboel_source_id = $self->get_source_id_for_source_name("VB_Community_Annotation");
+  print "source_id = $symboel_source_id, species= $species_id, file = $file\n" if $verbose;
+
+  my $added = 0;
+  my $count = 0;
+
+  my $file_io = $self->get_filehandle($file);
+
+  if ( !defined $file_io ) {
+    print STDERR "ERROR: Could not open file $file\n";
+
+    return 1;
+  }
+
+  while ( my $line = $file_io->getline() ) {
+    next unless $line =~ /^\w+/;
+
+    chomp $line;
+    my ($stable_id,$synonym) = split "\t", $line;
+    $count++;
+
+    
+    #Add synonym for an xref given by accession and source_id
+    $self->add_to_syn($stable_id, $symboel_source_id,$synonym,$species_id);
+
+  }
+
+  $file_io->close();
+
+  print "Added $count synonyms to synonym  for VBCommunitySynonyms\n" if $verbose;
+
+  return 0;
+}
+
+1;