diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingModule_checkTransactionReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingModule_checkTransactionReference.xml
new file mode 100644
index 0000000000000000000000000000000000000000..815f3d3cc5cc41e7df7b9387721042e02d6c3ffc
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingModule_checkTransactionReference.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.PythonScripts.PythonScript</string>
+          <string>PythonScript</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Python_magic</string> </key>
+            <value> <string encoding="base64">O/INCg==</string> </value>
+        </item>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+AUTO_UPDATE = False\n
+STATE_LIST = [ \'confirmed\'\n
+             , \'delivered\'\n
+             , \'stopped\'\n
+             ]\n
+\n
+print """<html>\n
+<head>\n
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>\n
+<style>\n
+body, h1, h2 {\n
+  font-size: 70%;\n
+}\n
+</style>\n
+</head>\n
+<body>\n
+<h1>Accounting Transaction Reference Number Checking</h1>"""\n
+\n
+for transaction in context.accounting_module.objectValues():\n
+  state = transaction.getSimulationState()\n
+  pt    = transaction.getPortalType()\n
+  if state in STATE_LIST:\n
+    bad_reference         = False\n
+    reference             = None\n
+    source_reference      = None\n
+    destination_reference = None\n
+    if pt == \'Sale Invoice Transaction\':\n
+      reference = transaction.getReference()\n
+      if reference in (None, \'\'):\n
+        bad_reference = True\n
+    else:\n
+      source_reference      = transaction.getSourceReference()\n
+      destination_reference = transaction.getDestinationReference()\n
+      if source_reference in (None, \'\'):\n
+        bad_reference = True\n
+      if destination_reference in (None, \'\'):\n
+        bad_reference = True\n
+\n
+    if bad_reference:\n
+      print "<br/>"\n
+      print "<h2><a href=\'%s\'>%s - %s</a> [%s]</h2>" % ( transaction.absolute_url()\n
+                                                       , transaction.getTitle()\n
+                                                       , transaction.getStartDate()\n
+                                                       , transaction.getSimulationState()\n
+                                                       )\n
+      print "<font color=\'#f00\'>Bad Reference !</font><br/>"\n
+      print "portal type: %s<br/>" % (pt)\n
+      print "reference: %s<br/>" % (repr(reference))\n
+      print "source reference: %s<br/>" % (repr(source_reference))\n
+      print "destination reference: %s<br/>" % (repr(destination_reference))\n
+      \n
+    if AUTO_UPDATE == True:\n
+      if bad_reference and pt==\'Pay Sheet Transaction\':\n
+        # Get sections.\n
+        source_section = transaction.getSourceSection()\n
+        destination_section = transaction.getDestinationSection()\n
+        # Invoice Reference is automatically filled only for Sale Invoice Transaction.\n
+        if transaction.getPortalType() == \'Sale Invoice Transaction\':\n
+          if transaction.getReference() in (None, \'\'):\n
+            invoice_id_group = (\'accounting\', \'invoice\', source_section)\n
+            invoice_reference = transaction.generateNewId(id_group = invoice_id_group)\n
+            transaction.setReference(invoice_reference)\n
+        # Generate new values for Source Reference and Destination Reference.\n
+        if transaction.getSourceReference() in (None, \'\'):\n
+          source_id_group = (\'accounting\', \'section\', source_section)\n
+          source_reference = transaction.generateNewId(id_group = source_id_group)\n
+          transaction.setSourceReference(source_reference)\n
+        if transaction.getDestinationReference() in (None, \'\'):\n
+          destination_id_group = (\'accounting\', \'section\', destination_section)\n
+          destination_reference = transaction.generateNewId(id_group = destination_id_group)\n
+          transaction.setDestinationReference(destination_reference)\n
+\n
+print "</body></html>"\n
+return printed\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_filepath</string> </key>
+            <value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/AccountingModule_checkTransactionReference</string> </value>
+        </item>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>False</string>
+                            <string>AUTO_UPDATE</string>
+                            <string>STATE_LIST</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+<string>context</string>
+                            <string>transaction</string>
+                            <string>state</string>
+                            <string>pt</string>
+                            <string>bad_reference</string>
+                            <string>None</string>
+                            <string>reference</string>
+                            <string>source_reference</string>
+                            <string>destination_reference</string>
+                            <string>True</string>
+                            <string>repr</string>
+                            <string>source_section</string>
+                            <string>destination_section</string>
+                            <string>invoice_id_group</string>
+                            <string>invoice_reference</string>
+                            <string>source_id_group</string>
+                            <string>destination_id_group</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountingModule_checkTransactionReference</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>