diff --git a/TableParser.py b/TableParser.py
index 76eefd5..311f7b9 100644
--- a/TableParser.py
+++ b/TableParser.py
@@ -12,7 +12,7 @@
     def __init__(self, baseUrl):
         self.baseUrl = baseUrl
 
-    def parse(self, year, month, day, area, db):
+    def parse(self, year, month, day, area, db = None):
         url = self.baseUrl
         params = {
             'year': year,
@@ -56,23 +56,25 @@
                     begins = pytz.timezone(self.TIMEZONE).localize(begins)
                     ends = begins + timedelta(minutes=durada)
 
-                    print("Afegint " + assignaturaRaw
+                    print(("Afegint " if db != None else "") + assignaturaRaw
                             + ", " + hora
                             + ", " + str(durada) + "mins"
                             + ", " + aula)
 
-                    cursor1 = db.cursor()
-                    cursor1.execute("SELECT id FROM classes WHERE calendar_name = ? AND room = ? AND begins = ? AND ends = ?",
-                            assignatura, aula, begins, ends)
-                    row = cursor1.fetchone()
-                    if row:
-                        print("[WARNING] Ja estava a la DB (id " + str(row.id) + ")")
-                    else:
-                        cursor2 = db.cursor()
-                        cursor2.execute("INSERT INTO classes (calendar_name, room, begins, ends) VALUES (?, ?, ?, ?)",
+                    if db != None:
+                        cursor1 = db.cursor()
+                        cursor1.execute("SELECT id FROM classes WHERE calendar_name = ? AND room = ? AND begins = ? AND ends = ?",
                                 assignatura, aula, begins, ends)
+                        row = cursor1.fetchone()
+                        if row:
+                            print("[WARNING] Ja estava a la DB (id " + str(row.id) + ")")
+                        else:
+                            cursor2 = db.cursor()
+                            cursor2.execute("INSERT INTO classes (calendar_name, room, begins, ends) VALUES (?, ?, ?, ?)",
+                                    assignatura, aula, begins, ends)
 
                 td_hora = td_hora.findNext('td')
                 column = column + 1
 
-        db.commit()
+        if db != None:
+            db.commit()
diff --git a/table_parser_docs.md b/table_parser_docs.md
new file mode 100644
index 0000000..4088cf9
--- /dev/null
+++ b/table_parser_docs.md
@@ -0,0 +1,19 @@
+# Com utilitzar la classe TableParser?
+1. Instal·lar Python 3 i PIP3
+2. Instal·lar les següents llibreries: configparser, datetime, bs4, pytz, requests
+
+Per parsejar les classes per un dia concret, es pot utilitzar el següent codi Python:
+
+```
+from TableParser import TableParser
+parser = TableParser('https://fme-intranet.upc.edu/appsext/mrbs/web/day.php')
+parser.parse(2020, 09, 28, 2)
+```
+
+## Com configurar el cron script?
+Per poder escriure a la base de dades les classes del dia següent s'ha de fer el següent addicionalment:
+1. Instal·lar la llibreria pyodbc
+2. Instal·lar el connector MySQL ODBC (https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html)
+3. Copiar l'arxiu `config.ini.default` a `config.ini` i introduir les credencials i informació de la base de dades.
+4. Configurar cron perquè s'executi l'script `cron_table_parser.py` un cop cada dia.
+
