diff --git a/product/ERP5Type/TM.py b/product/ERP5Type/TM.py
deleted file mode 100644
index 3f367093967c4c04c9eaa5aa1a07c6062ed1691a..0000000000000000000000000000000000000000
--- a/product/ERP5Type/TM.py
+++ /dev/null
@@ -1,90 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-"""Provide support for linking an external transaction manager with Zope's
-"""
-
-
-class VTM:
-    """Mix-in class that provides transaction management support
-
-    A sub class should call self._register() whenever it performs any
-    transaction-dependent operations (e.g. sql statements).
-
-    The sub class will need to override _finish, to finalize work,
-    _abort, to roll-back work, and perhaps _begin, if any work is
-    needed at the start of a transaction.
-
-    A subclass that uses locking during transaction commit must
-    defined a sortKey() method.
-
-    The VTM variety can be mixed-in with persistent classes.
-    """
-
-    _v_registered=0
-    _v_finalize=0
-
-    def _begin(self): pass
-
-    def _register(self):
-        if not self._v_registered:
-            try:
-                get_transaction().register(Surrogate(self))
-                self._begin()
-                self._v_registered = 1
-                self._v_finalize = 0
-            except: 
-                pass
-
-    def tpc_begin(self, *ignored): pass
-    commit=tpc_begin
-
-    def _finish(self):
-        raise NotImplementedError
-
-    def _abort(self):
-        raise NotImplementedError
-
-    def tpc_vote(self, *ignored):
-        self._v_finalize = 1
-
-    def tpc_finish(self, *ignored):
-        if self._v_finalize:
-            try: 
-                self._finish()
-            finally: 
-                self._v_registered=0
-                self._v_finalize=0
-
-    def abort(self, *ignored):
-        try: 
-            self._abort()
-        finally: 
-            self._v_registered=0
-            self._v_finalize=0
-
-    tpc_abort = abort
-
-    def sortKey(self, *ignored):
-        """ The sortKey method is used for recent ZODB compatibility which
-            needs to have a known commit order for lock acquisition.  Most
-            DA's talking to RDBMS systems do not care about commit order, so
-            return the constant 1
-        """
-        return 1
-
-class Surrogate:
-
-    def __init__(self, db):
-        self._p_jar=db
-        self.__inform_commit__=db.tpc_finish
-        self.__inform_abort__=db.tpc_abort