diff --git a/ucoinpy/documents/transaction.py b/ucoinpy/documents/transaction.py
index e5fd76ed6ca3cc6dbc9cc4717c66d8bf3788b281..2cbdb7000d6be0b16dafe15884968004470ee4c0 100644
--- a/ucoinpy/documents/transaction.py
+++ b/ucoinpy/documents/transaction.py
@@ -262,6 +262,15 @@ class InputSource():
         amount = int(data.group(5))
         return cls(index, source, number, txhash, amount)
 
+    @classmethod
+    def from_bma(cls, bma_data):
+        index = None
+        source = bma_data['source']
+        number = bma_data['number']
+        txhash = bma_data['fingerprint']
+        amount = bma_data['amount']
+        return cls(index, source, number, txhash, amount)
+
     def inline(self):
         return "{0}:{1}:{2}:{3}:{4}".format(self.index,
                                             self.source,