diff --git a/src/libs/routes/school.js b/src/libs/routes/school.js
index 0d6ab5598d498186016e02e2300bba7a2c299ce8..3ac701b03550a5e2cbd1d8c8024b98904ebd48a7 100644
--- a/src/libs/routes/school.js
+++ b/src/libs/routes/school.js
@@ -469,18 +469,34 @@ schoolApp.get('/count', cache('15 day'), rqfCount.parse(), rqfCount.build(), (re
     next();
 }, query, id2str.transform(), response('school'));
 
-schoolApp.get('/count/download', rqfCount.parse(), rqfCount.build(), (req, res, next) => {
+schoolApp.get('/count/download', (req, res, next) => {
+    // first, query the mapping
+    req.sql.from('mapping_escola')
+        .field('target_name')
+        .field('name');
+    next();
+}, query, (req, res, next) => {
+    req.resetSql();
+    next();
+}, rqfCount.parse(), rqfCount.build(), (req, res, next) => {
     let username = req.query.user;
     let email = req.query.email;
 
-    req.sql.from('escola')
-    .field('*');
+    req.sql.from('escola');
+    let header = '';
+    req.result.forEach((result) => {
+        req.sql.field(result.name, result.target_name);
+        if(header === '') header += result.target_name;
+        else header = header + ';' + result.target_name;
+    });
+
     let form = {
         query: req.sql.toString(),
         table: req.sql.tableFrom,
         name: req.sql.tableFrom,
         username,
-        email
+        email,
+        header
     };
     request.post(config.cdn.url + '/api/v1/file', {form}, (err, response, body) => {
         if(err) {