diff --git a/src/output/ods/spectrasheet.cpp b/src/output/ods/spectrasheet.cpp
index 3a815e4c92e81c9bbfe82121f0374d8dab5dc9f6..9fa49b21cace2a796bd1d1b6fadc22754c7ee679 100644
--- a/src/output/ods/spectrasheet.cpp
+++ b/src/output/ods/spectrasheet.cpp
@@ -66,8 +66,12 @@ void SpectraSheet::writeHeaders(IdentificationGroup * p_ident)  {
     _p_writer->writeCell("Scan");
     _p_writer->setCellAnnotation("retention time in seconds");
     _p_writer->writeCell("Rt (seconds)");
+    _p_writer->setCellAnnotation("experimental precursor m/z");
+    _p_writer->writeCell("Precursor m/z");
     _p_writer->setCellAnnotation("peptide sequence (best match)");
     _p_writer->writeCell("Sequence (top)");
+    _p_writer->setCellAnnotation("peptide charge (best match)");
+    _p_writer->writeCell("Charge (top)");
     _p_writer->setCellAnnotation("peptide modifications (best match)");
     _p_writer->writeCell("Modifs (top)");
     if (_p_project->getLabelingMethodSp().get() != nullptr) {
@@ -95,7 +99,9 @@ void SpectraSheet::writeBestPeptideEvidence(const GroupingGroup * p_group,const
     _p_writer->writeCell(p_peptide_evidence->getMsRunP()->getSampleName());
     _p_writer->writeCell(p_peptide_evidence->getScan());
     _p_writer->writeCell(p_peptide_evidence->getRetentionTime());
+    _p_writer->writeCell(p_peptide_evidence->getExperimentalMz());
     _p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getSequence());
+    _p_writer->writeCell(p_peptide_evidence->getCharge());
     _p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getModifString());
     if (_p_project->getLabelingMethodSp().get() != nullptr) {
         const Label * p_label = p_peptide_evidence->getPeptideXtpSp().get()->getLabel();