diff --git a/app/scodoc/sco_formations.py b/app/scodoc/sco_formations.py
index b9cb6f2c1a662042cb4090dbec6db0e261ecb8c0..019d7833df7373785101a2dc253e638ad2a50898 100644
--- a/app/scodoc/sco_formations.py
+++ b/app/scodoc/sco_formations.py
@@ -130,7 +130,7 @@ def formation_export(formation_id, export_ids=False, export_tags=True, format=No
                 if mod["ects"] is None:
                     del mod["ects"]
 
-    return scu.sendResult(F, name="formation", format=format, force_outer_xml_tag=False)
+    return scu.sendResult(F, name="formation", format=format, force_outer_xml_tag=False, attached=True)
 
 
 def formation_import_xml(doc: str, import_tags=True):
diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py
index ec4e2dd512eb1a2291de936602f65f1866b8bf83..4862714c4975cad2fedc3a965cbeb6e75d50ba2c 100644
--- a/app/scodoc/sco_utils.py
+++ b/app/scodoc/sco_utils.py
@@ -562,28 +562,28 @@ class ScoDocJSONEncoder(json.JSONEncoder):
             return json.JSONEncoder.default(self, o)
 
 
-def sendJSON(data):
+def sendJSON(data, attached=False):
     js = json.dumps(data, indent=1, cls=ScoDocJSONEncoder)
-    return send_file(js, filename="sco_data.json", mime=JSON_MIMETYPE, attached=False)
+    return send_file(js, filename="sco_data.json", mime=JSON_MIMETYPE, attached=attached)
 
 
-def sendXML(data, tagname=None, force_outer_xml_tag=True):
+def sendXML(data, tagname=None, force_outer_xml_tag=True, attached=False):
     if type(data) != list:
         data = [data]  # always list-of-dicts
     if force_outer_xml_tag:
         data = [{tagname: data}]
         tagname += "_list"
     doc = sco_xml.simple_dictlist2xml(data, tagname=tagname)
-    return send_file(doc, filename="sco_data.xml", mime=XML_MIMETYPE, attached=False)
+    return send_file(doc, filename="sco_data.xml", mime=XML_MIMETYPE, attached=attached)
 
 
-def sendResult(data, name=None, format=None, force_outer_xml_tag=True):
+def sendResult(data, name=None, format=None, force_outer_xml_tag=True, attached=False):
     if (format is None) or (format == "html"):
         return data
     elif format == "xml":  # name is outer tagname
-        return sendXML(data, tagname=name, force_outer_xml_tag=force_outer_xml_tag)
+        return sendXML(data, tagname=name, force_outer_xml_tag=force_outer_xml_tag, attached=attached)
     elif format == "json":
-        return sendJSON(data)
+        return sendJSON(data, attached=attached)
     else:
         raise ValueError("invalid format: %s" % format)