diff --git a/duniterpy/documents/block.py b/duniterpy/documents/block.py
index 276575c5fcecd42a95a073f26bae2e7eaced3cd3..e020abf495e033205d7b9ef1226ce6013dbcd7c6 100644
--- a/duniterpy/documents/block.py
+++ b/duniterpy/documents/block.py
@@ -362,7 +362,7 @@ The class Block handles Block documents.
                 sup_lines = 2
                 tx_max = n + sup_lines + issuers_num * 2 + inputs_num + unlocks_num + outputs_num + has_comment
                 for index in range(n, tx_max):
-                    tx_lines += lines[n + index]
+                    tx_lines += lines[index]
                 n += (tx_max - n)
                 transaction = Transaction.from_compact(currency, tx_lines)
                 transactions.append(transaction)
diff --git a/duniterpy/documents/transaction.py b/duniterpy/documents/transaction.py
index 0ab2c2316f9129207f56f64a545c9d08f51a480e..bb3cefd920c46c05e04af72b48c82d98a5f4a993 100644
--- a/duniterpy/documents/transaction.py
+++ b/duniterpy/documents/transaction.py
@@ -623,7 +623,7 @@ Comment: {comment}
         for index in range(0, outputs_num):
             output_source = OutputSource.from_inline(lines[n + index])
             outputs.append(output_source)
-        n += 1
+        n += outputs_num
 
         comment = ""
         if has_comment == 1:
diff --git a/duniterpy/grammars/output.py b/duniterpy/grammars/output.py
index ef4b7f5bfc0985271e13ce5fad048ea3d91baaef..dea06e7980de2449630a691fad7a2013741a62e9 100644
--- a/duniterpy/grammars/output.py
+++ b/duniterpy/grammars/output.py
@@ -132,7 +132,7 @@ class CSV:
         csv.time = str(time)
         return csv
 
-    def compose(self, parser: Any = None, grammar: Any = None, attr_of: str = None):
+    def compose(self, parser: Any = None, grammar: Any = None, attr_of: str = None) -> str:
         """
         Return the CSV(time) expression as string format
 
@@ -190,7 +190,7 @@ class CLTV:
         cltv.timestamp = str(timestamp)
         return cltv
 
-    def compose(self, parser: Any = None, grammar: Any = None, attr_of: str = None):
+    def compose(self, parser: Any = None, grammar: Any = None, attr_of: str = None) -> str:
         """
         Return the CLTV(timestamp) expression as string format