diff --git a/web/org.openbravo.mobile.core/source/data/ob-dal.js b/web/org.openbravo.mobile.core/source/data/ob-dal.js
--- a/web/org.openbravo.mobile.core/source/data/ob-dal.js
+++ b/web/org.openbravo.mobile.core/source/data/ob-dal.js
@@ -85,14 +85,6 @@
     };
   }
 
-  function handleTransactionError(transactionName, trxExists) {
-    if (trxExists) {
-      OB.error(OB.I18N.getLabel('OBMOBC_TransactionExistsError', [transactionName]));
-    } else {
-      OB.error(OB.I18N.getLabel('OBMOBC_TransactionNotExistsError', [transactionName]));
-    }
-  }
-
   /*
    * initialize the WebSQL dababase
    */
@@ -318,18 +310,8 @@
     return null;
   };
 
-  OB.Dal.doInTransaction = function (trxName, callback) {
-    OB.Dal.currentTransactions = OB.Dal.currentTransactions || {};
-    if (OB.Dal.currentTransactions[trxName]) {
-      handleTransactionError(trxName, true);
-    } else {
-      OB.Data.localDB.transaction(function (tx) {
-        OB.Dal.currentTransactions[trxName] = tx;
-        callback(function () {
-          OB.Dal.currentTransactions[trxName] = null;
-        });
-      });
-    }
+  OB.Dal.transaction = function(callback, errorCallback, successCallback) {
+    OB.Data.localDB.transaction(callback, errorCallback, successCallback);
   };
 
   OB.Dal.findUsingCache = function (cacheName, model, whereClause, success, error, args) {
@@ -351,12 +333,8 @@
 
   };
 
-  OB.Dal.findInTransaction = function (trxName, model, whereClause, success, error, args) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.find(model, whereClause, success, error, args, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.findInTransaction = function (tx, model, whereClause, success, error, args) {
+    OB.Dal.find(model, whereClause, success, error, args, tx);
   };
 
   OB.Dal.find = function (model, whereClause, success, error, args, currentTransaction) {
@@ -529,12 +507,8 @@
     }
   };
 
-  OB.Dal.queryInTransaction = function (trxName, model, sql, params, success, error, args) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.query(model, sql, params, success, error, args, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.queryInTransaction = function (tx, model, sql, params, success, error, args) {
+    OB.Dal.query(model, sql, params, success, error, args, tx);
   };
 
   OB.Dal.query = function (model, sql, params, success, error, args, currentTransaction) {
@@ -576,12 +550,8 @@
     }
   };
 
-  OB.Dal.saveInTransaction = function (trxName, model, success, error, forceInsert) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.save(model, success, error, forceInsert, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.saveInTransaction = function (tx, model, success, error, forceInsert) {
+    OB.Dal.save(model, success, error, forceInsert, tx);
   };
 
   OB.Dal.save = function (model, success, error, forceInsert, currentTransaction) {
@@ -777,12 +747,8 @@
     }
   };
 
-  OB.Dal.removeInTransaction = function (trxName, model, success, error) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.remove(model, success, error, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.removeInTransaction = function (tx, model, success, error) {
+    OB.Dal.remove(model, success, error, tx);
   };
 
 
@@ -846,12 +812,8 @@
     }
   };
 
-  OB.Dal.removeAllInTransaction = function (trxName, model, criteria, success, error) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.removeAll(model, criteria, success, error, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.removeAllInTransaction = function (tx, model, criteria, success, error) {
+      OB.Dal.removeAll(model, criteria, success, error, tx);
   };
 
   OB.Dal.removeAll = function (model, criteria, success, error, currentTransaction) {
@@ -892,12 +854,8 @@
     }
   };
 
-  OB.Dal.getInTransaction = function (trxName, model, id, success, error, empty) {
-    if (OB.Dal.currentTransactions && OB.Dal.currentTransactions[trxName]) {
-      OB.Dal.get(model, id, success, error, empty, OB.Dal.currentTransactions[trxName]);
-    } else {
-      handleTransactionError(trxName, false);
-    }
+  OB.Dal.getInTransaction = function (tx, model, id, success, error, empty) {
+    OB.Dal.get(model, id, success, error, empty, tx);
   };
 
   OB.Dal.get = function (model, id, success, error, empty, currentTransaction) {
