Release 1.1. Enabled module addons and all the below bugfixes. No changes in database...
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Wed, 2 May 2007 08:58:20 +0000 (08:58 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Wed, 2 May 2007 08:58:20 +0000 (08:58 +0000)
20 files changed:
CHANGELOG.txt
admin/inst_module.php [new file with mode: 0644]
applications/customers.php
applications/dimensions.php
applications/generalledger.php
applications/inventory.php
applications/manufacturing.php
applications/setup.php
applications/suppliers.php
config.php
install.html
install/index.php
install/save.php
modules/index.php [new file with mode: 0644]
modules/installed_modules.php [new file with mode: 0644]
sql/en_US-demo.sql
sql/en_US-new.sql
themes/default/images/next.gif [deleted file]
themes/default/images/prev.gif [deleted file]
update.html [new file with mode: 0644]

index d641d38513c6b9b693557e8da31c50a9ff3523f1..89d88b012a6fa65e3ad99f5ed687e7dd48155327 100644 (file)
@@ -19,6 +19,31 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+-------------------- 1.1 Stable Released ----------------------
+02-May-2007 Joe Hunt
+ + Enabled module addons and all the below bugfixes. No changes in database structure.
+ - Removed /sql/basic.sql (included in the other sql files)
+ - Removed /themes/default/images/left.gif and /themes/default/images/right.gif 
+   (not needed anymore).
+ + Addition of update.html  
+ $ /admin/inst_module.php (New file!)
+   /applications/customers.php
+   /applications/dimensions.php
+   /applications/generalledger.php
+   /applications/inventory.php
+   /applications/manufacturing.php
+   /applications/setup.php
+   /applications/suppliers.php
+   /install/index.php
+   /install/save.php
+   /modules/inst_modules.php (New folder and new file!)
+   /modules/index.php (New file!)
+   /sql/en_US-demo.sql
+   /sql/en_US-new.sql
+   install.html
+   update.html (New file!)
+   
+
 01-May-2007 Joe Hunt
  # Missing measure of units when printing sales orders
  # Update of Sales People caused a database error
diff --git a/admin/inst_module.php b/admin/inst_module.php
new file mode 100644 (file)
index 0000000..5f8e236
--- /dev/null
@@ -0,0 +1,354 @@
+<?php
+
+$page_security = 15;
+$path_to_root="..";
+include_once($path_to_root . "/includes/session.inc");
+
+page(_("Install/Update Modules"));
+
+include_once($path_to_root . "/includes/date_functions.inc");
+include_once($path_to_root . "/admin/db/company_db.inc");
+include_once($path_to_root . "/modules/installed_modules.php");
+include_once($path_to_root . "/includes/ui.inc");
+
+$tabs = array('orders', 'AP', 'stock', 'manuf', 'proj', 'GL', 'system');
+$names = array(_("Sales"), _("Purchases"), _("Items and Inventory"), _("Manufacturing"), 
+       _("Dimensions"), _("Banking and General Ledger"), _("Setup"));
+       
+//---------------------------------------------------------------------------------------------
+
+if (isset($_GET['selected_id']))
+{
+       $selected_id = $_GET['selected_id'];
+} 
+elseif (isset($_POST['selected_id']))
+{
+       $selected_id = $_POST['selected_id'];
+}
+else
+       $selected_id = -1;
+
+//---------------------------------------------------------------------------------------------
+
+function get_tab_title($tab)
+{
+       global $tabs, $names;
+       for ($i = 0; $i < count($tabs); $i++)
+       {
+               if ($tabs[$i] == $tab)
+                       return $names[$i];
+       }
+       return "";
+}
+
+function tab_list_row($label, $name, $selected)
+{
+       global $tabs, $names;
+       echo "<tr>\n";
+       if ($label != null)
+               echo "<td>$label</td>\n";
+       if ($selected == null)
+               $selected = (!isset($_POST[$name]) ? "orders" : $_POST[$name]);
+       echo "<td><select name='$name'>";
+       for ($i = 0; $i < count($tabs); $i++)
+       {
+               if ($selected == $tabs[$i])
+                       echo "<option selected value='".$tabs[$i]."'>" . $names[$i]. "</option>\n";
+               else    
+                       echo "<option value='".$tabs[$i]."'>" . $names[$i]. "</option>\n";
+       }               
+       echo "</select></td>\n";
+       echo "</tr>\n";
+}
+
+//---------------------------------------------------------------------------------------------
+
+function check_data()
+{
+       return true;
+}
+
+/**
+ * @return Returns the array sorted as required
+ * @param $aryData Array containing data to sort
+ * @param $strIndex name of column to use as an index
+ * @param $strSortBy Column to sort the array by
+ * @param $strSortType String containing either asc or desc [default to asc]
+ * @desc Naturally sorts an array using by the column $strSortBy
+ */
+function array_natsort($aryData, $strIndex, $strSortBy, $strSortType=false)
+{
+   //    if the parameters are invalid
+   if (!is_array($aryData) || !$strIndex || !$strSortBy)
+       //    return the array
+       return $aryData;
+       
+   //    create our temporary arrays
+   $arySort = $aryResult = array();
+   
+   //    loop through the array
+   foreach ($aryData as $aryRow)
+       //    set up the value in the array
+       $arySort[$aryRow[$strIndex]] = $aryRow[$strSortBy];
+       
+   //    apply the natural sort
+   natsort($arySort);
+
+   //    if the sort type is descending
+   if ($strSortType=="desc")
+       //    reverse the array
+       arsort($arySort);
+       
+   //    loop through the sorted and original data
+   foreach ($arySort as $arySortKey => $arySorted)
+       foreach ($aryData as $aryOriginal)
+           //    if the key matches
+           if ($aryOriginal[$strIndex]==$arySortKey)
+               //    add it to the output array
+               array_push($aryResult, $aryOriginal);
+
+   //    return the return
+   return $aryResult;
+} 
+
+function write_modules()
+{
+       global $path_to_root, $installed_modules;
+
+       $mods = array_natsort($installed_modules, 'tab', 'tab');
+       $installed_modules = $mods;
+       //reset($installed_languages);
+       $n = count($installed_modules); 
+       $msg = "<?php\n\n";
+       
+       $msg .= "/*****************************************************************\n";
+       $msg .= "External modules for FrontAccounting\n";
+       $msg .= "******************************************************************/\n";
+       $msg .= "\n\n";
+
+       $msg .= "\$installed_modules = array (\n";
+       $msg .= "\t0 => ";
+       for ($i = 0; $i < $n; $i++)
+       {
+               if ($i > 0)
+                       $msg .= "\t\tarray ";
+               else
+                       $msg .= "array ";
+               $msg .= "('tab' => '" . $installed_modules[$i]['tab'] . "', ";
+               $msg .= "'name' => '" . $installed_modules[$i]['name'] . "', ";
+               $msg .= "'path' => '" . $installed_modules[$i]['path'] . "', ";
+               $msg .= "'filename' => '" . $installed_modules[$i]['filename'] . "'";
+               $msg .= "),\n";
+       }
+       $msg .= "\t);\n?>";
+
+       $filename = $path_to_root . "/modules/installed_modules.php";
+       // Check if the file exists and is writable first.
+       if (file_exists($filename) && is_writable($filename)) 
+       {
+               if (!$zp = fopen($filename, 'w')) 
+               {
+                       display_error(_("Cannot open the modules file - ") . $filename);
+                       return false;
+               } 
+               else 
+               {
+                       if (!fwrite($zp, $msg)) 
+                       {
+                               display_error(_("Cannot write to the modules file - ") . $filename);
+                               fclose($zp);
+                               return false;
+                       }
+                       // Close file
+                       fclose($zp);
+               }
+       } 
+       else 
+       {
+               display_error(_("The modules file ") . $filename . _(" is not writable. Change its permissions so it is, then re-run the operation."));
+               return false;
+       }
+       return true;
+}
+
+//---------------------------------------------------------------------------------------------
+
+function handle_submit()
+{
+       global $path_to_root, $installed_modules;
+
+       if (!check_data())
+               return false;
+
+       $id = $_GET['id'];
+
+       $installed_modules[$id]['tab'] = $_POST['tab'];
+       $installed_modules[$id]['name'] = $_POST['name'];
+       $installed_modules[$id]['path'] = $_POST['path'];
+       $directory = $path_to_root . "/modules/" . $_POST['path'];      
+       if (!file_exists($directory))
+       {
+               mkdir($directory);
+       }       
+       if (is_uploaded_file($_FILES['uploadfile']['tmp_name']))
+       {
+               $installed_modules[$id]['filename'] = $_FILES['uploadfile']['name'];
+               $file1 = $_FILES['uploadfile']['tmp_name'];
+               $file2 = $directory . "/".$_FILES['uploadfile']['name'];
+               if (file_exists($file2))
+                       unlink($file2);
+               move_uploaded_file($file1, $file2);
+       }
+       else
+               $installed_modules[$id]['filename'] = $_POST['filename'];
+       if (!write_modules())
+               return false;
+       return true;
+}
+
+//---------------------------------------------------------------------------------------------
+
+function handle_delete()
+{
+       global  $path_to_root, $installed_modules;
+
+       $id = $_GET['id'];      
+
+       $path = $installed_modules[$id]['path'];
+       $filename = "$path_to_root/modules/$path";      
+       if ($h = opendir($filename)) 
+       {
+               while (($file = readdir($h)) !== false) 
+               {
+                       if (is_file("$filename/$file"))
+                       unlink("$filename/$file");
+               }
+               closedir($h);
+       }
+       rmdir($filename);
+
+       unset($installed_modules[$id]);
+       $mods = array_values($installed_modules);
+       $installed_modules = $mods;
+
+       if (!write_modules())
+               return;
+       meta_forward($_SERVER['PHP_SELF']);
+}
+
+//---------------------------------------------------------------------------------------------
+
+function display_modules()
+{
+       global $table_style, $installed_modules;
+
+       echo "
+               <script language='javascript'>
+               function deleteModule(id, name) {
+                       if (!confirm('" . _("Are you sure you want to delete module: ") . "'+name))
+                               return
+                       document.location.replace('inst_module.php?c=df&id='+id)
+               }
+               </script>";
+       start_table($table_style);
+       $th = array(_("Tab"), _("Name"), _("Folder"), _("Filename"), "", "");
+       table_header($th);
+
+       $k = 0;
+       $mods = $installed_modules;
+       $n = count($mods);
+       for ($i = 0; $i < $n; $i++)
+       {
+               alt_table_row_color($k);
+
+               label_cell(get_tab_title($mods[$i]['tab']));
+               label_cell($mods[$i]['name']);
+               label_cell($mods[$i]['path']);
+               label_cell($mods[$i]['filename']);
+               edit_link_cell("selected_id=" . $i);
+               label_cell("<a href='javascript:deleteModule(".$i.", \"" . $mods[$i]['name'] . "\")'>" . _("Delete") . "</a>");
+               end_row();
+       }
+
+       end_table();
+}
+
+//---------------------------------------------------------------------------------------------
+
+function display_module_edit($selected_id)
+{
+       global $installed_modules, $table_style2;
+
+       if ($selected_id != -1)
+               $n = $selected_id;
+       else
+               $n = count($installed_modules);
+       
+       start_form(true, true);
+
+       echo "
+               <script language='javascript'>
+               function updateModule() {
+                       document.forms[0].action='inst_module.php?c=u&id=" . $n . "'
+                       document.forms[0].submit()
+               }
+               </script>";
+       
+       start_table($table_style2);
+
+       if ($selected_id != -1) 
+       {
+               $mod = $installed_modules[$selected_id];
+               $_POST['tab']  = $mod['tab'];
+               $_POST['name'] = $mod['name'];
+               $_POST['path'] = $mod['path'];
+               $_POST['filename'] = $mod['filename'];
+               hidden('selected_id', $selected_id);
+               hidden('filename', $_POST['filename']);
+       } 
+       tab_list_row(_("Menu Tab"), 'tab', null);
+       text_row_ex(_("Name"), 'name', 30);
+       text_row_ex(_("Folder"), 'path', 20);
+
+       label_row(_("Module File"), "<input name='uploadfile' type='file'>");
+
+       end_table(0);
+       display_note(_("Select your module PHP file from your local harddisk."), 0, 1);
+       echo "<center><input onclick='javascript:updateModule()' type='button' style='width:150' value='". _("Save"). "'>";
+
+
+       end_form();
+}
+
+
+//---------------------------------------------------------------------------------------------
+
+if (isset($_GET['c']))
+{
+       if ($_GET['c'] == 'df') 
+       {
+               handle_delete();
+       }
+
+       if ($_GET['c'] == 'u') 
+       {
+               if (handle_submit()) 
+               {
+                       //meta_forward($_SERVER['PHP_SELF']);
+               }
+       }       
+}
+
+//---------------------------------------------------------------------------------------------
+
+display_modules();
+
+hyperlink_no_params($_SERVER['PHP_SELF'], _("Create a new module"));
+
+display_module_edit($selected_id);
+
+//---------------------------------------------------------------------------------------------
+
+end_page();
+
+?>
\ No newline at end of file
index dbc0fa8644a2b7bb347acd26fd29018f78987661..0fa8eba93aacb48f4b8732ce6c8ad7aa65166d32 100644 (file)
@@ -1,37 +1,47 @@
-<?php\r
-       \r
-       class customers_app extends application \r
-       {\r
-               function customers_app() \r
-               {\r
-                       $this->application("orders",_("Sales"));\r
-               \r
-                       $this->add_module(_("Transactions"));\r
-                       $this->add_lapp_function(0, _("Sales Order Entry"),"sales/sales_order_entry.php?NewOrder=Yes");\r
-                       $this->add_lapp_function(0, _("Select a Sales Order to Invoice"),"sales/inquiry/sales_orders_view.php?&OutstandingOnly=1");\r
-                       $this->add_rapp_function(0, _("Customer Payments"),"sales/customer_payments.php?");\r
-                       $this->add_rapp_function(0, "","");                     \r
-                       $this->add_rapp_function(0, _("Sales Invoices"),"sales/sales_order_entry.php?NewInvoice=Yes");                  \r
-                       $this->add_rapp_function(0, _("Customer Credit Notes"),"sales/credit_note_entry.php?&NewCredit=Yes");\r
-                       $this->add_rapp_function(0, _("Allocate Customer Payments or Credit Notes"),"sales/allocations/customer_allocation_main.php?");\r
-\r
-                       $this->add_module(_("Inquiries and Reports"));\r
-                       $this->add_lapp_function(1, _("Sales Order Inquiry"),"sales/inquiry/sales_orders_view.php?");                   \r
-                       $this->add_lapp_function(1, _("Customer Transaction Inquiry"),"sales/inquiry/customer_inquiry.php?");\r
-                       $this->add_lapp_function(1, "","");\r
-                       $this->add_lapp_function(1, _("Customer Allocation Inquiry"),"sales/inquiry/customer_allocation_inquiry.php?");\r
-                       \r
-                       $this->add_rapp_function(1, _("Customer and Sales Reports"),"reporting/reports_main.php?Class=0");\r
-                       \r
-                       $this->add_module(_("Maintenance"));\r
-                       $this->add_lapp_function(2, _("Add and Manage Customers"),"sales/manage/customers.php?");\r
-                       $this->add_lapp_function(2, _("Customer Branches"),"sales/manage/customer_branches.php?");\r
-                       $this->add_rapp_function(2, _("Sales Types"),"sales/manage/sales_types.php?");\r
-                       $this->add_rapp_function(2, _("Sales Persons"),"sales/manage/sales_people.php?");\r
-                       $this->add_rapp_function(2, _("Sales Areas"),"sales/manage/sales_areas.php?");\r
-                       $this->add_rapp_function(2, _("Credit Status Setup"),"sales/manage/credit_status.php?");\r
-               }\r
-       }\r
-       \r
-\r
+<?php
+       
+       include_once("./modules/installed_modules.php");
+       class customers_app extends application 
+       {
+               function customers_app() 
+               {
+                       global $installed_modules;
+                       $this->application("orders",_("Sales"));
+               
+                       $this->add_module(_("Transactions"));
+                       $this->add_lapp_function(0, _("Sales Order Entry"),"sales/sales_order_entry.php?NewOrder=Yes");
+                       $this->add_lapp_function(0, _("Select a Sales Order to Invoice"),"sales/inquiry/sales_orders_view.php?&OutstandingOnly=1");
+                       $this->add_rapp_function(0, _("Customer Payments"),"sales/customer_payments.php?");
+                       $this->add_rapp_function(0, "","");                     
+                       $this->add_rapp_function(0, _("Sales Invoices"),"sales/sales_order_entry.php?NewInvoice=Yes");                  
+                       $this->add_rapp_function(0, _("Customer Credit Notes"),"sales/credit_note_entry.php?&NewCredit=Yes");
+                       $this->add_rapp_function(0, _("Allocate Customer Payments or Credit Notes"),"sales/allocations/customer_allocation_main.php?");
+
+                       $this->add_module(_("Inquiries and Reports"));
+                       $this->add_lapp_function(1, _("Sales Order Inquiry"),"sales/inquiry/sales_orders_view.php?");                   
+                       $this->add_lapp_function(1, _("Customer Transaction Inquiry"),"sales/inquiry/customer_inquiry.php?");
+                       $this->add_lapp_function(1, "","");
+                       $this->add_lapp_function(1, _("Customer Allocation Inquiry"),"sales/inquiry/customer_allocation_inquiry.php?");
+                       
+                       $this->add_rapp_function(1, _("Customer and Sales Reports"),"reporting/reports_main.php?Class=0");
+                       
+                       $this->add_module(_("Maintenance"));
+                       $this->add_lapp_function(2, _("Add and Manage Customers"),"sales/manage/customers.php?");
+                       $this->add_lapp_function(2, _("Customer Branches"),"sales/manage/customer_branches.php?");
+                       $this->add_rapp_function(2, _("Sales Types"),"sales/manage/sales_types.php?");
+                       $this->add_rapp_function(2, _("Sales Persons"),"sales/manage/sales_people.php?");
+                       $this->add_rapp_function(2, _("Sales Areas"),"sales/manage/sales_areas.php?");
+                       $this->add_rapp_function(2, _("Credit Status Setup"),"sales/manage/credit_status.php?");
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "orders")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
+               }
+       }
+       
+
 ?>
\ No newline at end of file
index 304df321cfdcd4d8105be7467a7fa63ad1d33a00..0d26953b45aac140c21a16989db921e0de79395c 100644 (file)
@@ -1,25 +1,40 @@
-<?php\r
-\r
-       class dimensions_app extends application \r
-       {\r
-               function dimensions_app() \r
-               {\r
-                       $dim = get_company_pref('use_dimension');\r
-                       $this->application("proj",_("Dimensions"));\r
-\r
-                       if ($dim > 0)\r
-                       {\r
-                               $this->add_module(_("Transactions"));\r
-                               $this->add_lapp_function(0, _("Dimension Entry"),"dimensions/dimension_entry.php?");\r
-                               $this->add_lapp_function(0, _("Outstanding Dimensions"),"dimensions/inquiry/search_dimensions.php?OutstandingOnly=1");\r
-\r
-                               $this->add_module(_("Inquiries and Reports"));\r
-                               $this->add_lapp_function(1, _("Dimension Inquiry"),"dimensions/inquiry/search_dimensions.php?");\r
-\r
-                               $this->add_rapp_function(1, _("Dimension Reports"),"reporting/reports_main.php?Class=4");\r
-                       }\r
-               }\r
-       }\r
-\r
-\r
+<?php
+
+       include_once("./modules/installed_modules.php");
+       class dimensions_app extends application 
+       {
+               function dimensions_app() 
+               {
+                       global $installed_modules;
+                       $dim = get_company_pref('use_dimension');
+                       $this->application("proj",_("Dimensions"));
+
+                       if ($dim > 0)
+                       {
+                               $this->add_module(_("Transactions"));
+                               $this->add_lapp_function(0, _("Dimension Entry"),"dimensions/dimension_entry.php?");
+                               $this->add_lapp_function(0, _("Outstanding Dimensions"),"dimensions/inquiry/search_dimensions.php?OutstandingOnly=1");
+
+                               $this->add_module(_("Inquiries and Reports"));
+                               $this->add_lapp_function(1, _("Dimension Inquiry"),"dimensions/inquiry/search_dimensions.php?");
+
+                               $this->add_rapp_function(1, _("Dimension Reports"),"reporting/reports_main.php?Class=4");
+                               if (count($installed_modules) > 0)
+                               {
+                                       $i = 0;
+                                       foreach ($installed_modules as $mod)
+                                       {
+                                               if ($mod["tab"] == "proj")
+                                               {
+                                                       if ($i++ == 0)
+                                                               $this->add_module(_("Maintenance"));
+                                                       $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                                               }       
+                                       }
+                               }       
+                       }
+               }
+       }
+
+
 ?>
\ No newline at end of file
index 58409c8cd688449c995f015ee30e697557b9cd88..8c3cc731da0bcaa78b2de24a783b827e1eb087bb 100644 (file)
@@ -1,9 +1,11 @@
 <?php
 
+       include_once("./modules/installed_modules.php");
        class general_ledger_app extends application 
        {
                function general_ledger_app() 
                {
+                       global $installed_modules;
                        $this->application("GL",_("Banking and General Ledger"));
 
                        $this->add_module(_("Transactions"));
                        $this->add_rapp_function(2, _("GL Accounts"),"gl/manage/gl_accounts.php?");
                        $this->add_rapp_function(2, _("GL Account Groups"),"gl/manage/gl_account_types.php?");
                        $this->add_rapp_function(2, _("GL Account Classes"),"gl/manage/gl_account_classes.php?");
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "GL")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
                }
        }
 
index 2f7d8eb6e5fcafed4c202f7e7eb989ebd4a3fa1f..620e1bc4d79acd010dd72bce5df2e42b9b82be82 100644 (file)
@@ -1,35 +1,45 @@
-<?php\r
-\r
-       class inventory_app extends application \r
-       {\r
-               function inventory_app() \r
-               {\r
-                       $this->application("stock",_("Items and Inventory"));\r
-\r
-                       $this->add_module(_("Transactions"));\r
-                       $this->add_lapp_function(0, _("Inventory Location Transfers"),"inventory/transfers.php?NewTransfer=1");\r
-                       $this->add_lapp_function(0, _("Inventory Adjustments"),"inventory/adjustments.php?NewAdjustment=1");\r
-\r
-                       $this->add_module(_("Inquiries and Reports"));\r
-                       $this->add_lapp_function(1, _("Inventory Item Movements"),"inventory/inquiry/stock_movements.php?");\r
-                       $this->add_lapp_function(1, _("Inventory Item Status"),"inventory/inquiry/stock_status.php?");\r
-                       $this->add_rapp_function(1, _("Inventory Reports"),"reporting/reports_main.php?Class=2");\r
-\r
-                       $this->add_module(_("Maintenance"));\r
-                       $this->add_lapp_function(2, _("Items"),"inventory/manage/items.php?");\r
-                       $this->add_lapp_function(2, _("Item Categories"),"inventory/manage/item_categories.php?");\r
-                       $this->add_lapp_function(2, _("Inventory Locations"),"inventory/manage/locations.php?");\r
-                       $this->add_rapp_function(2, _("Inventory Movement Types"),"inventory/manage/movement_types.php?");\r
-                       $this->add_rapp_function(2, _("Item Tax Types"),"taxes/item_tax_types.php?");\r
-                       $this->add_rapp_function(2, "","");\r
-                       $this->add_rapp_function(2, _("Reorder Levels"),"inventory/reorder_level.php?");\r
-\r
-                       $this->add_module(_("Pricing and Costs"));\r
-                       $this->add_lapp_function(3, _("Sales Pricing"),"inventory/prices.php?");\r
-                       $this->add_lapp_function(3, _("Purchasing Pricing"),"inventory/purchasing_data.php?");\r
-                       $this->add_rapp_function(3, _("Standard Costs"),"inventory/cost_update.php?");\r
-               }\r
-       }\r
-\r
-\r
+<?php
+
+       include_once("./modules/installed_modules.php");
+       class inventory_app extends application 
+       {
+               function inventory_app() 
+               {
+                       global $installed_modules;
+                       $this->application("stock",_("Items and Inventory"));
+
+                       $this->add_module(_("Transactions"));
+                       $this->add_lapp_function(0, _("Inventory Location Transfers"),"inventory/transfers.php?NewTransfer=1");
+                       $this->add_lapp_function(0, _("Inventory Adjustments"),"inventory/adjustments.php?NewAdjustment=1");
+
+                       $this->add_module(_("Inquiries and Reports"));
+                       $this->add_lapp_function(1, _("Inventory Item Movements"),"inventory/inquiry/stock_movements.php?");
+                       $this->add_lapp_function(1, _("Inventory Item Status"),"inventory/inquiry/stock_status.php?");
+                       $this->add_rapp_function(1, _("Inventory Reports"),"reporting/reports_main.php?Class=2");
+
+                       $this->add_module(_("Maintenance"));
+                       $this->add_lapp_function(2, _("Items"),"inventory/manage/items.php?");
+                       $this->add_lapp_function(2, _("Item Categories"),"inventory/manage/item_categories.php?");
+                       $this->add_lapp_function(2, _("Inventory Locations"),"inventory/manage/locations.php?");
+                       $this->add_rapp_function(2, _("Inventory Movement Types"),"inventory/manage/movement_types.php?");
+                       $this->add_rapp_function(2, _("Item Tax Types"),"taxes/item_tax_types.php?");
+                       $this->add_rapp_function(2, "","");
+                       $this->add_rapp_function(2, _("Reorder Levels"),"inventory/reorder_level.php?");
+
+                       $this->add_module(_("Pricing and Costs"));
+                       $this->add_lapp_function(3, _("Sales Pricing"),"inventory/prices.php?");
+                       $this->add_lapp_function(3, _("Purchasing Pricing"),"inventory/purchasing_data.php?");
+                       $this->add_rapp_function(3, _("Standard Costs"),"inventory/cost_update.php?");
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "stock")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
+               }
+       }
+
+
 ?>
\ No newline at end of file
index 46b95fe655f58e62fa8cc0211e0a5dfae6b66930..3864ca6039db83d0c2cb98d1ab60bcdb45021f1a 100644 (file)
@@ -1,26 +1,36 @@
-<?php\r
-\r
-       class manufacturing_app extends application \r
-       {\r
-               function manufacturing_app() \r
-               {\r
-                       $this->application("manuf",_("Manufacturing"));\r
-\r
-                       $this->add_module(_("Transactions"));\r
-                       $this->add_lapp_function(0, _("Work Order Entry"),"manufacturing/work_order_entry.php?");\r
-                       $this->add_lapp_function(0, _("Outstanding Work Orders"),"manufacturing/search_work_orders.php?OutstandingOnly=1");\r
-\r
-                       $this->add_module(_("Inquiries and Reports"));\r
-                       //$this->add_lapp_function(1, _("Costed Bill Of Material Inquiry"),"manufacturing/inquiry/bom_cost_inquiry.php?");\r
-                       $this->add_lapp_function(1, _("Inventory Item Where Used Inquiry"),"manufacturing/inquiry/where_used_inquiry.php?");\r
-                       $this->add_lapp_function(1, _("Work Order Inquiry"),"manufacturing/search_work_orders.php?");\r
-                       $this->add_rapp_function(1, _("Manufactoring Reports"),"reporting/reports_main.php?Class=3");\r
-\r
-                       $this->add_module(_("Maintenance"));\r
-                       $this->add_lapp_function(2, _("Bills Of Material"),"manufacturing/manage/bom_edit.php?");\r
-                       $this->add_lapp_function(2, _("Work Centres"),"manufacturing/manage/work_centres.php?");\r
-               }\r
-       }\r
-\r
-\r
+<?php
+
+       include_once("./modules/installed_modules.php");
+       class manufacturing_app extends application 
+       {
+               function manufacturing_app() 
+               {
+                       global $installed_modules;
+                       $this->application("manuf",_("Manufacturing"));
+
+                       $this->add_module(_("Transactions"));
+                       $this->add_lapp_function(0, _("Work Order Entry"),"manufacturing/work_order_entry.php?");
+                       $this->add_lapp_function(0, _("Outstanding Work Orders"),"manufacturing/search_work_orders.php?OutstandingOnly=1");
+
+                       $this->add_module(_("Inquiries and Reports"));
+                       //$this->add_lapp_function(1, _("Costed Bill Of Material Inquiry"),"manufacturing/inquiry/bom_cost_inquiry.php?");
+                       $this->add_lapp_function(1, _("Inventory Item Where Used Inquiry"),"manufacturing/inquiry/where_used_inquiry.php?");
+                       $this->add_lapp_function(1, _("Work Order Inquiry"),"manufacturing/search_work_orders.php?");
+                       $this->add_rapp_function(1, _("Manufactoring Reports"),"reporting/reports_main.php?Class=3");
+
+                       $this->add_module(_("Maintenance"));
+                       $this->add_lapp_function(2, _("Bills Of Material"),"manufacturing/manage/bom_edit.php?");
+                       $this->add_lapp_function(2, _("Work Centres"),"manufacturing/manage/work_centres.php?");
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "manuf")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
+               }
+       }
+
+
 ?>
\ No newline at end of file
index e8b3403172da82056af0eafc63ac397dafad14f4..b3b0436e06e488e5866392adcc6ced312414cc9e 100644 (file)
@@ -1,9 +1,11 @@
 <?php
 
+       include_once("./modules/installed_modules.php");
        class setup_app extends application 
        {
                function setup_app() 
                {
+                       global $installed_modules;
                        $this->application("system",_("Setup"));
 
                        $this->add_module(_("Company Setup"));
                        $this->add_rapp_function(2, _("Backup and Restore"),"admin/backups.php?", 15);
                        $this->add_rapp_function(2, _("Create/Update Companies"),"admin/create_coy.php?", 14);
                        $this->add_rapp_function(2, _("Install/Update Languages"),"admin/inst_lang.php?", 14);
+                       $this->add_rapp_function(2, _("Install/Update Modules"),"admin/inst_module.php?", 15);
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "system")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
                }
        }
 
index 9f7213ba4250b20378c2b2aaf3b9f9ff0b64ae39..83c6d5279fec4d9f790ce5b13a6de68b3dae0bba 100644 (file)
@@ -1,32 +1,42 @@
-<?php\r
-       \r
-       class suppliers_app extends application \r
-       {\r
-               function suppliers_app() \r
-               {\r
-                       $this->application("AP",_("Purchases"));\r
-                       \r
-                       $this->add_module(_("Transactions"));\r
-                       $this->add_lapp_function(0, _("Purchase Order Entry"),"purchasing/po_entry_items.php?NewOrder=Yes");\r
-                       $this->add_lapp_function(0, _("Outstanding Purchase Orders Maintenance"),"purchasing/inquiry/po_search.php?");\r
-                       $this->add_rapp_function(0, _("Payments to Suppliers"),"purchasing/supplier_payment.php?");\r
-                       $this->add_rapp_function(0, "","");\r
-                       $this->add_rapp_function(0, _("Supplier Invoices"),"purchasing/supplier_invoice.php?New=1");                    \r
-                       $this->add_rapp_function(0, _("Supplier Credit Notes"),"purchasing/supplier_credit.php?New=1");\r
-                       $this->add_rapp_function(0, _("Allocate Supplier Payments or Credit Notes"),"purchasing/allocations/supplier_allocation_main.php?");\r
-                       \r
-                       $this->add_module(_("Inquiries and Reports"));\r
-                       $this->add_lapp_function(1, _("Purchase Orders Inquiry"),"purchasing/inquiry/po_search_completed.php?");\r
-                       $this->add_lapp_function(1, _("Supplier Transaction Inquiry"),"purchasing/inquiry/supplier_inquiry.php?");\r
-                       $this->add_lapp_function(1, "","");\r
-                       $this->add_lapp_function(1, _("Supplier Allocation Inquiry"),"purchasing/inquiry/supplier_allocation_inquiry.php?");\r
-                       \r
-                       $this->add_rapp_function(1, _("Supplier and Purchasing Reports"),"reporting/reports_main.php?Class=1");\r
-                       \r
-                       $this->add_module(_("Maintenance"));\r
-                       $this->add_lapp_function(2, _("Suppliers"),"purchasing/manage/suppliers.php?");\r
-               }\r
-       }\r
-       \r
-\r
+<?php
+       
+       include_once("./modules/installed_modules.php");
+       class suppliers_app extends application 
+       {
+               function suppliers_app() 
+               {
+                       global $installed_modules;
+                       $this->application("AP",_("Purchases"));
+                       
+                       $this->add_module(_("Transactions"));
+                       $this->add_lapp_function(0, _("Purchase Order Entry"),"purchasing/po_entry_items.php?NewOrder=Yes");
+                       $this->add_lapp_function(0, _("Outstanding Purchase Orders Maintenance"),"purchasing/inquiry/po_search.php?");
+                       $this->add_rapp_function(0, _("Payments to Suppliers"),"purchasing/supplier_payment.php?");
+                       $this->add_rapp_function(0, "","");
+                       $this->add_rapp_function(0, _("Supplier Invoices"),"purchasing/supplier_invoice.php?New=1");                    
+                       $this->add_rapp_function(0, _("Supplier Credit Notes"),"purchasing/supplier_credit.php?New=1");
+                       $this->add_rapp_function(0, _("Allocate Supplier Payments or Credit Notes"),"purchasing/allocations/supplier_allocation_main.php?");
+                       
+                       $this->add_module(_("Inquiries and Reports"));
+                       $this->add_lapp_function(1, _("Purchase Orders Inquiry"),"purchasing/inquiry/po_search_completed.php?");
+                       $this->add_lapp_function(1, _("Supplier Transaction Inquiry"),"purchasing/inquiry/supplier_inquiry.php?");
+                       $this->add_lapp_function(1, "","");
+                       $this->add_lapp_function(1, _("Supplier Allocation Inquiry"),"purchasing/inquiry/supplier_allocation_inquiry.php?");
+                       
+                       $this->add_rapp_function(1, _("Supplier and Purchasing Reports"),"reporting/reports_main.php?Class=1");
+                       
+                       $this->add_module(_("Maintenance"));
+                       $this->add_lapp_function(2, _("Suppliers"),"purchasing/manage/suppliers.php?");
+                       if (count($installed_modules) > 0)
+                       {
+                               foreach ($installed_modules as $mod)
+                               {
+                                       if ($mod["tab"] == "AP")
+                                               $this->add_rapp_function(2, $mod["name"], "modules/".$mod["path"]."/".$mod["filename"]."?");
+                               }
+                       }       
+               }
+       }
+       
+
 ?>
\ No newline at end of file
index 3c4a026d9007ff5b44f3189cc2fdc95f63c42258..dc69f59f24a41880d73fc1ff73521c0047ef7cfa 100644 (file)
        // Main Title
        $app_title = "FrontAccounting";
     // application version
-    $version           = "1.0.1";
+    $version           = "1.1";
 
     // Build for development purposes
-    $build_version     = "15";
+    $build_version     = "21";
 
        // Powered by
        $power_by               = "FrontAccounting";
index 5984d404c0abf381c2409983599ac91eae215316..15bdd2ecb8de2ceee3a64e97592b5d4313a0c7fd 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
 <head>
 
-  
+
   <title>FrontAccounting</title>
 </head>
 
@@ -10,7 +10,7 @@
 
 <body>
 
-<div><strong><span style="font-size: 20pt;"><span style="color: rgb(204, 102, 0); font-style: italic;">Front</span>Accounting 1.0 Installation</span></strong></div>
+<div><strong><span style="font-size: 20pt;"><span style="color: rgb(204, 102, 0); font-style: italic;">Front</span>Accounting Installation</span></strong></div>
 
 <h2>Pre-requisites</h2>
 
@@ -115,11 +115,11 @@ the system before starting your own company.&nbsp;</li>
 
 
   <li>
-    
+
     <h3>Creating the Database</h3>
 
 
-    
+
     <ol>
 
 
@@ -139,7 +139,7 @@ Please delete any old databases before proceeding. </li>
       <li>Populate the database you have created. There are two scripts
 are provided to populate the database (both inside the folder /sql) :
 
-        
+
         <ol>
 
 
@@ -152,7 +152,7 @@ wish to set up your company on FrontAccounting then this is the script
 to use. </li>
 
 
-        
+
         </ol>
 
 
@@ -167,7 +167,7 @@ privileges over the database &lsquo;frontacc&rsquo;.</li>
 whatever directory you entered) for safety reasons. You don't need it any more.</li>
 
 
-    
+
     </ol>
 
 
@@ -175,11 +175,11 @@ whatever directory you entered) for safety reasons. You don't need it any more.<
 
 
   <li>
-    
+
     <h3>Editing config_db.php</h3>
 
 
-    
+
     <ol>
 
 
@@ -221,7 +221,7 @@ prefix to separate the companies. Table prefix is set by a table prefix
 counter inside config_db.php, fi. 0_ for the first company.</li>
 
 
-    
+
     </ol>
 
 
@@ -250,7 +250,7 @@ counter inside config_db.php, fi. 0_ for the first company.</li>
 
 
   <li>
-    
+
     <div>You can set up additional user accounts from the System Setup
 tab. Be careful not to delete the demonstration user until a new user
 has been set up. If there are no users defined the next time you try to
index 786dde60633669cdb5e24bd2def8c7c4743eb220..65ce6668a7dcc74a18f9b6a51c2898729b485c8d 100644 (file)
@@ -138,6 +138,8 @@ function change_os(type) {
                        <td><?php if(is_writable($path_to_root.'/reporting/pdf_files/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists($path_to_root.'/reporting/pdf_files/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
                </tr>
                <tr>
+                       <td style="color: #666666;">modules/</td>
+                       <td><?php if(is_writable($path_to_root.'/modules/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists($path_to_root.'/lang/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
                        <td style="color: #666666;">admin/backup/</td>
                        <td><?php if(is_writable($path_to_root.'/admin/backup/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists($path_to_root.'/admin/backup/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
                </tr>
index 74403dd02bbf96cc933ccca45333b6092aae332e..860e1d67a647430b296c12dbfa1e07a728a5cf16 100644 (file)
@@ -185,8 +185,8 @@ elseif (isset($_POST['world_writeable']) && $_POST['world_writeable'] == 'true')
 } 
 else 
 {
-       $file_mode = default_file_mode('../temp');
-       $dir_mode = default_dir_mode('../temp');
+       $file_mode = default_file_mode('../includes');
+       $dir_mode = default_dir_mode('../includes');
 }
 // End operating system specific code
 
@@ -340,9 +340,6 @@ if($install_tables == true)
                mysql_query('CREATE DATABASE '.$database_name);
                mysql_select_db($database_name, $db);
        }       
-       $import_filename = $path_to_root."/sql/basic.sql";
-       if (!db_import($import_filename, $db_connections[$id]))
-               set_error("Import error, try to import $import_filename and $path_to_root/en_US-demo.sql manually via phpMyAdmin");
        $import_filename = $path_to_root."/sql/en_US-demo.sql";
        if (!db_import($import_filename, $db_connections[$id]))
                set_error("Import error, try to import $import_filename manually via phpMyAdmin");
diff --git a/modules/index.php b/modules/index.php
new file mode 100644 (file)
index 0000000..763940a
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+header("Location: ../index.php");
+?>
diff --git a/modules/installed_modules.php b/modules/installed_modules.php
new file mode 100644 (file)
index 0000000..bc13fe9
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+
+/*****************************************************************
+External modules for FrontAccounting
+******************************************************************/
+
+
+$installed_modules = array ();
+?>
\ No newline at end of file
index 527912b0ba487b69096b101077667b35fd64c69e..fbaf94b8744cdf5ccd9c873f72561df6c92f8953 100644 (file)
 -- Database: `en_US-demo`
 -- 
 
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `areas`
+-- 
+
+DROP TABLE IF EXISTS `0_areas`;
+CREATE TABLE IF NOT EXISTS `0_areas` (
+  `area_code` int(11) NOT NULL auto_increment,
+  `description` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`area_code`),
+  UNIQUE KEY `description` (`description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_accounts`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_accounts`;
+CREATE TABLE IF NOT EXISTS `0_bank_accounts` (
+  `account_code` varchar(11) NOT NULL default '',
+  `account_type` smallint(6) NOT NULL default '0',
+  `bank_account_name` varchar(60) NOT NULL default '',
+  `bank_account_number` varchar(100) NOT NULL default '',
+  `bank_name` varchar(60) NOT NULL default '',
+  `bank_address` tinytext,
+  `bank_curr_code` char(3) NOT NULL default '',
+  PRIMARY KEY  (`account_code`),
+  KEY `bank_account_name` (`bank_account_name`),
+  KEY `bank_account_number` (`bank_account_number`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_trans`;
+CREATE TABLE IF NOT EXISTS `0_bank_trans` (
+  `id` int(11) NOT NULL auto_increment,
+  `type` smallint(6) default NULL,
+  `trans_no` int(11) default NULL,
+  `bank_act` varchar(11) default NULL,
+  `ref` varchar(40) default NULL,
+  `trans_date` date NOT NULL default '0000-00-00',
+  `bank_trans_type_id` int(10) unsigned default NULL,
+  `amount` double default NULL,
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `person_type_id` int(11) NOT NULL default '0',
+  `person_id` tinyblob,
+  PRIMARY KEY  (`id`),
+  KEY `bank_act` (`bank_act`,`ref`),
+  KEY `type` (`type`,`trans_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_trans_types`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_trans_types`;
+CREATE TABLE IF NOT EXISTS `0_bank_trans_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bom`
+-- 
+
+DROP TABLE IF EXISTS `0_bom`;
+CREATE TABLE IF NOT EXISTS `0_bom` (
+  `id` int(11) NOT NULL auto_increment,
+  `parent` char(20) NOT NULL default '',
+  `component` char(20) NOT NULL default '',
+  `workcentre_added` char(5) NOT NULL default '',
+  `loc_code` char(5) NOT NULL default '',
+  `quantity` double NOT NULL default '1',
+  PRIMARY KEY  (`parent`,`component`,`workcentre_added`,`loc_code`),
+  KEY `component` (`component`),
+  KEY `id` (`id`),
+  KEY `loc_code` (`loc_code`),
+  KEY `parent` (`parent`,`loc_code`),
+  KEY `Parent_2` (`parent`),
+  KEY `workcentre_added` (`workcentre_added`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `budget_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_budget_trans`;
+CREATE TABLE IF NOT EXISTS `0_budget_trans` (
+  `counter` int(11) NOT NULL auto_increment,
+  `type` smallint(6) NOT NULL default '0',
+  `type_no` bigint(16) NOT NULL default '1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `account` varchar(11) NOT NULL default '',
+  `memo_` tinytext NOT NULL,
+  `amount` double NOT NULL default '0',
+  `dimension_id` int(11) default '0',
+  `dimension2_id` int(11) default '0',
+  `person_type_id` int(11) default NULL,
+  `person_id` tinyblob,
+  PRIMARY KEY  (`counter`),
+  KEY `Type_and_Number` (`type`,`type_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_class`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_class`;
+CREATE TABLE IF NOT EXISTS `0_chart_class` (
+  `cid` int(11) NOT NULL default '0',
+  `class_name` varchar(60) NOT NULL default '',
+  `balance_sheet` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`cid`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_master`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_master`;
+CREATE TABLE IF NOT EXISTS `0_chart_master` (
+  `account_code` varchar(11) NOT NULL default '',
+  `account_code2` varchar(11) default '',
+  `account_name` varchar(60) NOT NULL default '',
+  `account_type` int(11) NOT NULL default '0',
+  `tax_code` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`account_code`),
+  KEY `account_code` (`account_code`),
+  KEY `account_name` (`account_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_types`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_types`;
+CREATE TABLE IF NOT EXISTS `0_chart_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `class_id` tinyint(1) NOT NULL default '0',
+  `parent` int(11) NOT NULL default '-1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `comments`
+-- 
+
+DROP TABLE IF EXISTS `0_comments`;
+CREATE TABLE IF NOT EXISTS `0_comments` (
+  `type` int(11) NOT NULL default '0',
+  `id` int(11) NOT NULL default '0',
+  `date_` date default '0000-00-00',
+  `memo_` tinytext
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `company`
+-- 
+
+DROP TABLE IF EXISTS `0_company`;
+CREATE TABLE IF NOT EXISTS `0_company` (
+  `coy_code` int(11) NOT NULL default '1',
+  `coy_name` varchar(60) NOT NULL default '',
+  `gst_no` varchar(25) NOT NULL default '',
+  `coy_no` varchar(25) NOT NULL default '0',
+  `tax_prd` int(11) NOT NULL default '1',
+  `tax_last` int(11) NOT NULL default '1',
+  `postal_address` tinytext NOT NULL,
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `coy_logo` varchar(100) NOT NULL default '',
+  `domicile` varchar(55) NOT NULL default '',
+  `curr_default` char(3) NOT NULL default '',
+  `debtors_act` varchar(11) NOT NULL default '',
+  `pyt_discount_act` varchar(11) NOT NULL default '',
+  `creditors_act` varchar(11) NOT NULL default '',
+  `grn_act` varchar(11) NOT NULL default '',
+  `exchange_diff_act` varchar(11) NOT NULL default '',
+  `purch_exchange_diff_act` varchar(11) NOT NULL default '',
+  `retained_earnings_act` varchar(11) NOT NULL default '',
+  `freight_act` varchar(11) NOT NULL default '',
+  `default_sales_act` varchar(11) NOT NULL default '',
+  `default_sales_discount_act` varchar(11) NOT NULL default '',
+  `default_prompt_payment_act` varchar(11) NOT NULL default '',
+  `default_inventory_act` varchar(11) NOT NULL default '',
+  `default_cogs_act` varchar(11) NOT NULL default '',
+  `default_adj_act` varchar(11) NOT NULL default '',
+  `default_inv_sales_act` varchar(11) NOT NULL default '',
+  `default_assembly_act` varchar(11) NOT NULL default '',
+  `payroll_act` varchar(11) NOT NULL default '',
+  `custom1_name` varchar(60) NOT NULL default '',
+  `custom2_name` varchar(60) NOT NULL default '',
+  `custom3_name` varchar(60) NOT NULL default '',
+  `custom1_value` varchar(100) NOT NULL default '',
+  `custom2_value` varchar(100) NOT NULL default '',
+  `custom3_value` varchar(100) NOT NULL default '',
+  `allow_negative_stock` tinyint(1) NOT NULL default '0',
+  `po_over_receive` int(11) NOT NULL default '10',
+  `po_over_charge` int(11) NOT NULL default '10',
+  `default_credit_limit` int(11) NOT NULL default '1000',
+  `default_workorder_required` int(11) NOT NULL default '20',
+  `default_dim_required` int(11) NOT NULL default '20',
+  `past_due_days` int(11) NOT NULL default '30',
+  `use_dimension` tinyint(1) default '0',
+  `f_year` int(11) NOT NULL default '1',
+  PRIMARY KEY  (`coy_code`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `credit_status`
+-- 
+
+DROP TABLE IF EXISTS `0_credit_status`;
+CREATE TABLE IF NOT EXISTS `0_credit_status` (
+  `id` int(11) NOT NULL auto_increment,
+  `reason_description` char(100) NOT NULL default '',
+  `dissallow_invoices` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `reason_description` (`reason_description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `currencies`
+-- 
+
+DROP TABLE IF EXISTS `0_currencies`;
+CREATE TABLE IF NOT EXISTS `0_currencies` (
+  `currency` varchar(60) NOT NULL default '',
+  `curr_abrev` char(3) NOT NULL default '',
+  `curr_symbol` varchar(10) NOT NULL default '',
+  `country` varchar(100) NOT NULL default '',
+  `hundreds_name` varchar(15) NOT NULL default '',
+  PRIMARY KEY  (`curr_abrev`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `cust_allocations`
+-- 
+
+DROP TABLE IF EXISTS `0_cust_allocations`;
+CREATE TABLE IF NOT EXISTS `0_cust_allocations` (
+  `id` int(11) NOT NULL auto_increment,
+  `amt` double unsigned default NULL,
+  `date_alloc` date NOT NULL default '0000-00-00',
+  `trans_no_from` int(11) default NULL,
+  `trans_type_from` int(11) default NULL,
+  `trans_no_to` int(11) default NULL,
+  `trans_type_to` int(11) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `cust_branch`
+-- 
+
+DROP TABLE IF EXISTS `0_cust_branch`;
+CREATE TABLE IF NOT EXISTS `0_cust_branch` (
+  `branch_code` int(11) NOT NULL auto_increment,
+  `debtor_no` int(11) NOT NULL default '0',
+  `br_name` varchar(60) NOT NULL default '',
+  `br_address` tinytext NOT NULL,
+  `area` int(11) default NULL,
+  `salesman` int(11) NOT NULL default '0',
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `contact_name` varchar(60) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `default_location` varchar(5) NOT NULL default '',
+  `tax_group_id` int(11) default NULL,
+  `sales_account` varchar(11) default NULL,
+  `sales_discount_account` varchar(11) default NULL,
+  `receivables_account` varchar(11) default NULL,
+  `payment_discount_account` varchar(11) default NULL,
+  `default_ship_via` int(11) NOT NULL default '1',
+  `disable_trans` tinyint(4) NOT NULL default '0',
+  `br_post_address` tinytext NOT NULL,
+  PRIMARY KEY  (`branch_code`,`debtor_no`),
+  KEY `branch_code` (`branch_code`),
+  KEY `br_name` (`br_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans` (
+  `trans_no` int(11) unsigned NOT NULL default '0',
+  `type` smallint(6) unsigned NOT NULL default '0',
+  `debtor_no` int(11) unsigned default NULL,
+  `branch_code` int(11) NOT NULL default '-1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  `reference` varchar(60) NOT NULL default '',
+  `tpe` int(11) NOT NULL default '0',
+  `order_` int(11) NOT NULL default '0',
+  `ov_amount` double NOT NULL default '0',
+  `ov_gst` double NOT NULL default '0',
+  `ov_freight` double NOT NULL default '0',
+  `ov_discount` double NOT NULL default '0',
+  `alloc` double NOT NULL default '0',
+  `rate` double NOT NULL default '1',
+  `ship_via` int(11) default NULL,
+  PRIMARY KEY  (`trans_no`,`type`),
+  KEY `debtor_no` (`debtor_no`,`branch_code`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans_details`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans_details`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans_details` (
+  `id` int(11) NOT NULL auto_increment,
+  `debtor_trans_no` int(11) default NULL,
+  `debtor_trans_type` int(11) default NULL,
+  `stock_id` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `unit_price` double NOT NULL default '0',
+  `unit_tax` double NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `discount_percent` double NOT NULL default '0',
+  `standard_cost` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans_tax_details`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans_tax_details`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans_tax_details` (
+  `id` int(11) NOT NULL auto_increment,
+  `debtor_trans_no` int(11) default NULL,
+  `debtor_trans_type` int(11) default NULL,
+  `tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_name` varchar(60) default NULL,
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  `amount` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtors_master`
+-- 
+
+DROP TABLE IF EXISTS `0_debtors_master`;
+CREATE TABLE IF NOT EXISTS `0_debtors_master` (
+  `debtor_no` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `address` tinytext,
+  `email` varchar(100) NOT NULL default '',
+  `tax_id` varchar(55) NOT NULL default '',
+  `curr_code` char(3) NOT NULL default '',
+  `sales_type` int(11) NOT NULL default '1',
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `credit_status` int(11) NOT NULL default '0',
+  `payment_terms` int(11) default NULL,
+  `discount` double NOT NULL default '0',
+  `pymt_discount` double NOT NULL default '0',
+  `credit_limit` float NOT NULL default '1000',
+  PRIMARY KEY  (`debtor_no`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `dimensions`
+-- 
+
+DROP TABLE IF EXISTS `0_dimensions`;
+CREATE TABLE IF NOT EXISTS `0_dimensions` (
+  `id` int(11) NOT NULL auto_increment,
+  `reference` varchar(60) NOT NULL default '',
+  `name` varchar(60) NOT NULL default '',
+  `type_` tinyint(1) NOT NULL default '1',
+  `closed` tinyint(1) NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `reference` (`reference`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `exchange_rates`
+-- 
+
+DROP TABLE IF EXISTS `0_exchange_rates`;
+CREATE TABLE IF NOT EXISTS `0_exchange_rates` (
+  `id` int(11) NOT NULL auto_increment,
+  `curr_code` char(3) NOT NULL default '',
+  `rate_buy` double NOT NULL default '0',
+  `rate_sell` double NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `curr_code` (`curr_code`,`date_`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `fiscal_year`
+-- 
+
+DROP TABLE IF EXISTS `0_fiscal_year`;
+CREATE TABLE IF NOT EXISTS `0_fiscal_year` (
+  `id` int(11) NOT NULL auto_increment,
+  `begin` date default '0000-00-00',
+  `end` date default '0000-00-00',
+  `closed` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `form_items`
+-- 
+
+DROP TABLE IF EXISTS `0_form_items`;
+CREATE TABLE IF NOT EXISTS `0_form_items` (
+  `form_id` int(11) NOT NULL default '0',
+  `form_type` int(11) NOT NULL default '0',
+  `trans_type` int(11) NOT NULL default '0',
+  `trans_id` int(11) NOT NULL default '0',
+  `param1` varchar(100) NOT NULL default '',
+  `param2` varchar(100) default NULL,
+  PRIMARY KEY  (`form_id`,`form_type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `gl_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_gl_trans`;
+CREATE TABLE IF NOT EXISTS `0_gl_trans` (
+  `counter` int(11) NOT NULL auto_increment,
+  `type` smallint(6) NOT NULL default '0',
+  `type_no` bigint(16) NOT NULL default '1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `account` varchar(11) NOT NULL default '',
+  `memo_` tinytext NOT NULL,
+  `amount` double NOT NULL default '0',
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `person_type_id` int(11) default NULL,
+  `person_id` tinyblob,
+  PRIMARY KEY  (`counter`),
+  KEY `Type_and_Number` (`type`,`type_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `grn_batch`
+-- 
+
+DROP TABLE IF EXISTS `0_grn_batch`;
+CREATE TABLE IF NOT EXISTS `0_grn_batch` (
+  `id` int(11) NOT NULL auto_increment,
+  `supplier_id` int(11) NOT NULL default '0',
+  `purch_order_no` int(11) default NULL,
+  `reference` varchar(60) NOT NULL default '',
+  `delivery_date` date NOT NULL default '0000-00-00',
+  `loc_code` varchar(5) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `grn_items`
+-- 
+
+DROP TABLE IF EXISTS `0_grn_items`;
+CREATE TABLE IF NOT EXISTS `0_grn_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `grn_batch_id` int(11) default NULL,
+  `po_detail_item` int(11) NOT NULL default '0',
+  `item_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `qty_recd` double NOT NULL default '0',
+  `quantity_inv` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `item_tax_type_exemptions`
+-- 
+
+DROP TABLE IF EXISTS `0_item_tax_type_exemptions`;
+CREATE TABLE IF NOT EXISTS `0_item_tax_type_exemptions` (
+  `item_tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`item_tax_type_id`,`tax_type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `item_tax_types`
+-- 
+
+DROP TABLE IF EXISTS `0_item_tax_types`;
+CREATE TABLE IF NOT EXISTS `0_item_tax_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `exempt` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `loc_stock`
+-- 
+
+DROP TABLE IF EXISTS `0_loc_stock`;
+CREATE TABLE IF NOT EXISTS `0_loc_stock` (
+  `loc_code` char(5) NOT NULL default '',
+  `stock_id` char(20) NOT NULL default '',
+  `reorder_level` bigint(20) NOT NULL default '0',
+  PRIMARY KEY  (`loc_code`,`stock_id`),
+  KEY `stock_id` (`stock_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `locations`
+-- 
+
+DROP TABLE IF EXISTS `0_locations`;
+CREATE TABLE IF NOT EXISTS `0_locations` (
+  `loc_code` varchar(5) NOT NULL default '',
+  `location_name` varchar(60) NOT NULL default '',
+  `delivery_address` tinytext NOT NULL,
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `contact` varchar(30) NOT NULL default '',
+  PRIMARY KEY  (`loc_code`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `movement_types`
+-- 
+
+DROP TABLE IF EXISTS `0_movement_types`;
+CREATE TABLE IF NOT EXISTS `0_movement_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `payment_terms`
+-- 
+
+DROP TABLE IF EXISTS `0_payment_terms`;
+CREATE TABLE IF NOT EXISTS `0_payment_terms` (
+  `terms_indicator` int(11) NOT NULL auto_increment,
+  `terms` char(80) NOT NULL default '',
+  `days_before_due` smallint(6) NOT NULL default '0',
+  `day_in_following_month` smallint(6) NOT NULL default '0',
+  PRIMARY KEY  (`terms_indicator`),
+  UNIQUE KEY `terms` (`terms`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `prices`
+-- 
+
+DROP TABLE IF EXISTS `0_prices`;
+CREATE TABLE IF NOT EXISTS `0_prices` (
+  `id` int(11) NOT NULL auto_increment,
+  `stock_id` varchar(20) NOT NULL default '',
+  `sales_type_id` int(11) NOT NULL default '0',
+  `curr_abrev` char(3) NOT NULL default '',
+  `price` double NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `price` (`stock_id`,`sales_type_id`,`curr_abrev`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_data`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_data`;
+CREATE TABLE IF NOT EXISTS `0_purch_data` (
+  `supplier_id` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `price` double NOT NULL default '0',
+  `suppliers_uom` char(50) NOT NULL default '',
+  `conversion_factor` double NOT NULL default '1',
+  `supplier_description` char(50) NOT NULL default '',
+  PRIMARY KEY  (`supplier_id`,`stock_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_order_details`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_order_details`;
+CREATE TABLE IF NOT EXISTS `0_purch_order_details` (
+  `po_detail_item` int(11) NOT NULL auto_increment,
+  `order_no` int(11) NOT NULL default '0',
+  `item_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `delivery_date` date NOT NULL default '0000-00-00',
+  `qty_invoiced` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `act_price` double NOT NULL default '0',
+  `std_cost_unit` double NOT NULL default '0',
+  `quantity_ordered` double NOT NULL default '0',
+  `quantity_received` double NOT NULL default '0',
+  PRIMARY KEY  (`po_detail_item`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_orders`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_orders`;
+CREATE TABLE IF NOT EXISTS `0_purch_orders` (
+  `order_no` int(11) NOT NULL auto_increment,
+  `supplier_id` int(11) NOT NULL default '0',
+  `comments` tinytext,
+  `ord_date` date NOT NULL default '0000-00-00',
+  `reference` tinytext NOT NULL,
+  `requisition_no` tinytext,
+  `into_stock_location` varchar(5) NOT NULL default '',
+  `delivery_address` tinytext NOT NULL,
+  PRIMARY KEY  (`order_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `refs`
+-- 
+
+DROP TABLE IF EXISTS `0_refs`;
+CREATE TABLE IF NOT EXISTS `0_refs` (
+  `id` int(11) NOT NULL default '0',
+  `type` int(11) NOT NULL default '0',
+  `reference` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`id`,`type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_order_details`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_order_details`;
+CREATE TABLE IF NOT EXISTS `0_sales_order_details` (
+  `order_no` int(11) NOT NULL default '0',
+  `stk_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `qty_invoiced` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `discount_percent` double NOT NULL default '0',
+  PRIMARY KEY  (`order_no`,`stk_code`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_orders`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_orders`;
+CREATE TABLE IF NOT EXISTS `0_sales_orders` (
+  `order_no` int(11) NOT NULL auto_increment,
+  `debtor_no` int(11) NOT NULL default '0',
+  `branch_code` int(11) NOT NULL default '0',
+  `customer_ref` tinytext NOT NULL,
+  `comments` tinytext,
+  `ord_date` date NOT NULL default '0000-00-00',
+  `order_type` int(11) NOT NULL default '0',
+  `ship_via` int(11) NOT NULL default '0',
+  `delivery_address` tinytext NOT NULL,
+  `contact_phone` varchar(30) default NULL,
+  `contact_email` varchar(100) default NULL,
+  `deliver_to` tinytext NOT NULL,
+  `freight_cost` double NOT NULL default '0',
+  `from_stk_loc` varchar(5) NOT NULL default '',
+  `delivery_date` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`order_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_types`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_types`;
+CREATE TABLE IF NOT EXISTS `0_sales_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `sales_type` char(50) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `sales_type` (`sales_type`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `salesman`
+-- 
+
+DROP TABLE IF EXISTS `0_salesman`;
+CREATE TABLE IF NOT EXISTS `0_salesman` (
+  `salesman_code` int(11) NOT NULL auto_increment,
+  `salesman_name` char(60) NOT NULL default '',
+  `salesman_phone` char(30) NOT NULL default '',
+  `salesman_fax` char(30) NOT NULL default '',
+  `salesman_email` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`salesman_code`),
+  UNIQUE KEY `salesman_name` (`salesman_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `shippers`
+-- 
+
+DROP TABLE IF EXISTS `0_shippers`;
+CREATE TABLE IF NOT EXISTS `0_shippers` (
+  `shipper_id` int(11) NOT NULL auto_increment,
+  `shipper_name` varchar(60) NOT NULL default '',
+  `phone` varchar(30) NOT NULL default '',
+  `contact` tinytext NOT NULL,
+  `address` tinytext NOT NULL,
+  PRIMARY KEY  (`shipper_id`),
+  UNIQUE KEY `name` (`shipper_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_category`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_category`;
+CREATE TABLE IF NOT EXISTS `0_stock_category` (
+  `category_id` int(11) NOT NULL auto_increment,
+  `description` varchar(60) NOT NULL default '',
+  `stock_act` varchar(11) default NULL,
+  `cogs_act` varchar(11) default NULL,
+  `adj_gl_act` varchar(11) default NULL,
+  `purch_price_var_act` varchar(11) default NULL,
+  PRIMARY KEY  (`category_id`),
+  UNIQUE KEY `description` (`description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_master`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_master`;
+CREATE TABLE IF NOT EXISTS `0_stock_master` (
+  `stock_id` varchar(20) NOT NULL default '',
+  `category_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  `description` varchar(200) NOT NULL default '',
+  `long_description` tinytext NOT NULL,
+  `units` varchar(20) NOT NULL default 'each',
+  `mb_flag` char(1) NOT NULL default 'B',
+  `sales_account` varchar(11) NOT NULL default '',
+  `cogs_account` varchar(11) NOT NULL default '',
+  `inventory_account` varchar(11) NOT NULL default '',
+  `adjustment_account` varchar(11) NOT NULL default '',
+  `assembly_account` varchar(11) NOT NULL default '',
+  `dimension_id` int(11) default NULL,
+  `dimension2_id` int(11) default NULL,
+  `actual_cost` double NOT NULL default '0',
+  `last_cost` double NOT NULL default '0',
+  `material_cost` double NOT NULL default '0',
+  `labour_cost` double NOT NULL default '0',
+  `overhead_cost` double NOT NULL default '0',
+  PRIMARY KEY  (`stock_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_moves`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_moves`;
+CREATE TABLE IF NOT EXISTS `0_stock_moves` (
+  `trans_id` int(11) NOT NULL auto_increment,
+  `trans_no` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `type` smallint(6) NOT NULL default '0',
+  `loc_code` char(5) NOT NULL default '',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `person_id` int(11) default NULL,
+  `price` double NOT NULL default '0',
+  `reference` char(40) NOT NULL default '',
+  `qty` double NOT NULL default '1',
+  `discount_percent` double NOT NULL default '0',
+  `standard_cost` double NOT NULL default '0',
+  `visible` tinyint(1) NOT NULL default '1',
+  PRIMARY KEY  (`trans_id`),
+  KEY `type` (`type`,`trans_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_allocations`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_allocations`;
+CREATE TABLE IF NOT EXISTS `0_supp_allocations` (
+  `id` int(11) NOT NULL auto_increment,
+  `amt` double unsigned default NULL,
+  `date_alloc` date NOT NULL default '0000-00-00',
+  `trans_no_from` int(11) default NULL,
+  `trans_type_from` int(11) default NULL,
+  `trans_no_to` int(11) default NULL,
+  `trans_type_to` int(11) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_invoice_items`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_invoice_items`;
+CREATE TABLE IF NOT EXISTS `0_supp_invoice_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `supp_trans_no` int(11) default NULL,
+  `supp_trans_type` int(11) default NULL,
+  `gl_code` int(11) NOT NULL default '0',
+  `grn_item_id` int(11) default NULL,
+  `po_detail_item_id` int(11) default NULL,
+  `stock_id` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `quantity` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `unit_tax` double NOT NULL default '0',
+  `memo_` tinytext,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_invoice_tax_items`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_invoice_tax_items`;
+CREATE TABLE IF NOT EXISTS `0_supp_invoice_tax_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `supp_trans_no` int(11) default NULL,
+  `supp_trans_type` int(11) default NULL,
+  `tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_name` varchar(60) default NULL,
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  `amount` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_trans`;
+CREATE TABLE IF NOT EXISTS `0_supp_trans` (
+  `trans_no` int(11) unsigned NOT NULL default '0',
+  `type` smallint(6) unsigned NOT NULL default '0',
+  `supplier_id` int(11) unsigned default NULL,
+  `reference` tinytext NOT NULL,
+  `supp_reference` varchar(60) NOT NULL default '',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  `ov_amount` double NOT NULL default '0',
+  `ov_discount` double NOT NULL default '0',
+  `ov_gst` double NOT NULL default '0',
+  `rate` double NOT NULL default '1',
+  `alloc` double NOT NULL default '0',
+  PRIMARY KEY  (`trans_no`,`type`),
+  KEY `supplier_id` (`supplier_id`),
+  KEY `SupplierID_2` (`supplier_id`,`supp_reference`),
+  KEY `type` (`type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `suppliers`
+-- 
+
+DROP TABLE IF EXISTS `0_suppliers`;
+CREATE TABLE IF NOT EXISTS `0_suppliers` (
+  `supplier_id` int(11) NOT NULL auto_increment,
+  `supp_name` varchar(60) NOT NULL default '',
+  `address` tinytext NOT NULL,
+  `email` varchar(100) NOT NULL default '',
+  `bank_account` varchar(60) NOT NULL default '',
+  `curr_code` char(3) default NULL,
+  `payment_terms` int(11) default NULL,
+  `dimension_id` int(11) default '0',
+  `dimension2_id` int(11) default '0',
+  `tax_group_id` int(11) default NULL,
+  `purchase_account` varchar(11) default NULL,
+  `payable_account` varchar(11) default NULL,
+  `payment_discount_account` varchar(11) default NULL,
+  PRIMARY KEY  (`supplier_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sys_types`
+-- 
+
+DROP TABLE IF EXISTS `0_sys_types`;
+CREATE TABLE IF NOT EXISTS `0_sys_types` (
+  `type_id` smallint(6) NOT NULL default '0',
+  `type_name` varchar(60) NOT NULL default '',
+  `type_no` int(11) NOT NULL default '1',
+  `next_reference` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_group_items`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_group_items`;
+CREATE TABLE IF NOT EXISTS `0_tax_group_items` (
+  `tax_group_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`tax_group_id`,`tax_type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_groups`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_groups`;
+CREATE TABLE IF NOT EXISTS `0_tax_groups` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `tax_shipping` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_types`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_types`;
+CREATE TABLE IF NOT EXISTS `0_tax_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `rate` double NOT NULL default '0',
+  `sales_gl_code` varchar(11) NOT NULL default '',
+  `purchasing_gl_code` varchar(11) NOT NULL default '',
+  `name` varchar(60) NOT NULL default '',
+  `out` tinyint(1) NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `users`
+-- 
+
+DROP TABLE IF EXISTS `0_users`;
+CREATE TABLE IF NOT EXISTS `0_users` (
+  `user_id` varchar(60) NOT NULL default '',
+  `password` varchar(100) NOT NULL default '',
+  `real_name` varchar(100) NOT NULL default '',
+  `full_access` int(11) NOT NULL default '1',
+  `phone` varchar(30) NOT NULL default '',
+  `email` varchar(100) default NULL,
+  `language` varchar(20) default NULL,
+  `date_format` tinyint(1) NOT NULL default '0',
+  `date_sep` tinyint(1) NOT NULL default '0',
+  `tho_sep` tinyint(1) NOT NULL default '0',
+  `dec_sep` tinyint(1) NOT NULL default '0',
+  `theme` varchar(20) NOT NULL default 'default',
+  `page_size` varchar(20) NOT NULL default 'A4',
+  `prices_dec` smallint(6) NOT NULL default '2',
+  `qty_dec` smallint(6) NOT NULL default '2',
+  `rates_dec` smallint(6) NOT NULL default '4',
+  `percent_dec` smallint(6) NOT NULL default '1',
+  `show_gl` tinyint(1) NOT NULL default '1',
+  `show_codes` tinyint(1) NOT NULL default '0',
+  `last_visit_date` datetime default NULL,
+  PRIMARY KEY  (`user_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `voided`
+-- 
+
+DROP TABLE IF EXISTS `0_voided`;
+CREATE TABLE IF NOT EXISTS `0_voided` (
+  `type` int(11) NOT NULL default '0',
+  `id` int(11) NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  `memo_` tinytext NOT NULL,
+  UNIQUE KEY `id` (`type`,`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_issue_items`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_issue_items`;
+CREATE TABLE IF NOT EXISTS `0_wo_issue_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `stock_id` varchar(40) default NULL,
+  `issue_id` int(11) default NULL,
+  `qty_issued` double default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_issues`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_issues`;
+CREATE TABLE IF NOT EXISTS `0_wo_issues` (
+  `issue_no` int(11) NOT NULL auto_increment,
+  `workorder_id` int(11) NOT NULL default '0',
+  `reference` varchar(100) default NULL,
+  `issue_date` date default NULL,
+  `loc_code` varchar(5) default NULL,
+  `workcentre_id` int(11) default NULL,
+  PRIMARY KEY  (`issue_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_manufacture`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_manufacture`;
+CREATE TABLE IF NOT EXISTS `0_wo_manufacture` (
+  `id` int(11) NOT NULL auto_increment,
+  `reference` varchar(100) default NULL,
+  `workorder_id` int(11) NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_requirements`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_requirements`;
+CREATE TABLE IF NOT EXISTS `0_wo_requirements` (
+  `id` int(11) NOT NULL auto_increment,
+  `workorder_id` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `workcentre` char(5) NOT NULL default '',
+  `units_req` double NOT NULL default '1',
+  `std_cost` double NOT NULL default '0',
+  `loc_code` char(5) NOT NULL default '',
+  `units_issued` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `workcentres`
+-- 
+
+DROP TABLE IF EXISTS `0_workcentres`;
+CREATE TABLE IF NOT EXISTS `0_workcentres` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` char(40) NOT NULL default '',
+  `description` char(50) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `workorders`
+-- 
+
+DROP TABLE IF EXISTS `0_workorders`;
+CREATE TABLE IF NOT EXISTS `0_workorders` (
+  `id` int(11) NOT NULL auto_increment,
+  `wo_ref` varchar(60) NOT NULL default '',
+  `loc_code` varchar(5) NOT NULL default '',
+  `units_reqd` double NOT NULL default '1',
+  `stock_id` varchar(20) NOT NULL default '',
+  `date_` date NOT NULL default '0000-00-00',
+  `type` tinyint(4) NOT NULL default '0',
+  `required_by` date NOT NULL default '0000-00-00',
+  `released_date` date NOT NULL default '0000-00-00',
+  `units_issued` double NOT NULL default '0',
+  `closed` tinyint(1) NOT NULL default '0',
+  `released` tinyint(1) NOT NULL default '0',
+  `additional_costs` double NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `wo_ref` (`wo_ref`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
 -- 
 -- Data in table `areas`
 -- 
index 2af10ac6e51652dccacc598d241de76528461e66..0b3914825a808c54aced406fcd5c3c7c6e2f6ec8 100644 (file)
 -- Database: `en_US-new`
 -- 
 
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `areas`
+-- 
+
+DROP TABLE IF EXISTS `0_areas`;
+CREATE TABLE IF NOT EXISTS `0_areas` (
+  `area_code` int(11) NOT NULL auto_increment,
+  `description` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`area_code`),
+  UNIQUE KEY `description` (`description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_accounts`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_accounts`;
+CREATE TABLE IF NOT EXISTS `0_bank_accounts` (
+  `account_code` varchar(11) NOT NULL default '',
+  `account_type` smallint(6) NOT NULL default '0',
+  `bank_account_name` varchar(60) NOT NULL default '',
+  `bank_account_number` varchar(100) NOT NULL default '',
+  `bank_name` varchar(60) NOT NULL default '',
+  `bank_address` tinytext,
+  `bank_curr_code` char(3) NOT NULL default '',
+  PRIMARY KEY  (`account_code`),
+  KEY `bank_account_name` (`bank_account_name`),
+  KEY `bank_account_number` (`bank_account_number`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_trans`;
+CREATE TABLE IF NOT EXISTS `0_bank_trans` (
+  `id` int(11) NOT NULL auto_increment,
+  `type` smallint(6) default NULL,
+  `trans_no` int(11) default NULL,
+  `bank_act` varchar(11) default NULL,
+  `ref` varchar(40) default NULL,
+  `trans_date` date NOT NULL default '0000-00-00',
+  `bank_trans_type_id` int(10) unsigned default NULL,
+  `amount` double default NULL,
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `person_type_id` int(11) NOT NULL default '0',
+  `person_id` tinyblob,
+  PRIMARY KEY  (`id`),
+  KEY `bank_act` (`bank_act`,`ref`),
+  KEY `type` (`type`,`trans_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bank_trans_types`
+-- 
+
+DROP TABLE IF EXISTS `0_bank_trans_types`;
+CREATE TABLE IF NOT EXISTS `0_bank_trans_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `bom`
+-- 
+
+DROP TABLE IF EXISTS `0_bom`;
+CREATE TABLE IF NOT EXISTS `0_bom` (
+  `id` int(11) NOT NULL auto_increment,
+  `parent` char(20) NOT NULL default '',
+  `component` char(20) NOT NULL default '',
+  `workcentre_added` char(5) NOT NULL default '',
+  `loc_code` char(5) NOT NULL default '',
+  `quantity` double NOT NULL default '1',
+  PRIMARY KEY  (`parent`,`component`,`workcentre_added`,`loc_code`),
+  KEY `component` (`component`),
+  KEY `id` (`id`),
+  KEY `loc_code` (`loc_code`),
+  KEY `parent` (`parent`,`loc_code`),
+  KEY `Parent_2` (`parent`),
+  KEY `workcentre_added` (`workcentre_added`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `budget_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_budget_trans`;
+CREATE TABLE IF NOT EXISTS `0_budget_trans` (
+  `counter` int(11) NOT NULL auto_increment,
+  `type` smallint(6) NOT NULL default '0',
+  `type_no` bigint(16) NOT NULL default '1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `account` varchar(11) NOT NULL default '',
+  `memo_` tinytext NOT NULL,
+  `amount` double NOT NULL default '0',
+  `dimension_id` int(11) default '0',
+  `dimension2_id` int(11) default '0',
+  `person_type_id` int(11) default NULL,
+  `person_id` tinyblob,
+  PRIMARY KEY  (`counter`),
+  KEY `Type_and_Number` (`type`,`type_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_class`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_class`;
+CREATE TABLE IF NOT EXISTS `0_chart_class` (
+  `cid` int(11) NOT NULL default '0',
+  `class_name` varchar(60) NOT NULL default '',
+  `balance_sheet` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`cid`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_master`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_master`;
+CREATE TABLE IF NOT EXISTS `0_chart_master` (
+  `account_code` varchar(11) NOT NULL default '',
+  `account_code2` varchar(11) default '',
+  `account_name` varchar(60) NOT NULL default '',
+  `account_type` int(11) NOT NULL default '0',
+  `tax_code` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`account_code`),
+  KEY `account_code` (`account_code`),
+  KEY `account_name` (`account_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `chart_types`
+-- 
+
+DROP TABLE IF EXISTS `0_chart_types`;
+CREATE TABLE IF NOT EXISTS `0_chart_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `class_id` tinyint(1) NOT NULL default '0',
+  `parent` int(11) NOT NULL default '-1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `comments`
+-- 
+
+DROP TABLE IF EXISTS `0_comments`;
+CREATE TABLE IF NOT EXISTS `0_comments` (
+  `type` int(11) NOT NULL default '0',
+  `id` int(11) NOT NULL default '0',
+  `date_` date default '0000-00-00',
+  `memo_` tinytext
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `company`
+-- 
+
+DROP TABLE IF EXISTS `0_company`;
+CREATE TABLE IF NOT EXISTS `0_company` (
+  `coy_code` int(11) NOT NULL default '1',
+  `coy_name` varchar(60) NOT NULL default '',
+  `gst_no` varchar(25) NOT NULL default '',
+  `coy_no` varchar(25) NOT NULL default '0',
+  `tax_prd` int(11) NOT NULL default '1',
+  `tax_last` int(11) NOT NULL default '1',
+  `postal_address` tinytext NOT NULL,
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `coy_logo` varchar(100) NOT NULL default '',
+  `domicile` varchar(55) NOT NULL default '',
+  `curr_default` char(3) NOT NULL default '',
+  `debtors_act` varchar(11) NOT NULL default '',
+  `pyt_discount_act` varchar(11) NOT NULL default '',
+  `creditors_act` varchar(11) NOT NULL default '',
+  `grn_act` varchar(11) NOT NULL default '',
+  `exchange_diff_act` varchar(11) NOT NULL default '',
+  `purch_exchange_diff_act` varchar(11) NOT NULL default '',
+  `retained_earnings_act` varchar(11) NOT NULL default '',
+  `freight_act` varchar(11) NOT NULL default '',
+  `default_sales_act` varchar(11) NOT NULL default '',
+  `default_sales_discount_act` varchar(11) NOT NULL default '',
+  `default_prompt_payment_act` varchar(11) NOT NULL default '',
+  `default_inventory_act` varchar(11) NOT NULL default '',
+  `default_cogs_act` varchar(11) NOT NULL default '',
+  `default_adj_act` varchar(11) NOT NULL default '',
+  `default_inv_sales_act` varchar(11) NOT NULL default '',
+  `default_assembly_act` varchar(11) NOT NULL default '',
+  `payroll_act` varchar(11) NOT NULL default '',
+  `custom1_name` varchar(60) NOT NULL default '',
+  `custom2_name` varchar(60) NOT NULL default '',
+  `custom3_name` varchar(60) NOT NULL default '',
+  `custom1_value` varchar(100) NOT NULL default '',
+  `custom2_value` varchar(100) NOT NULL default '',
+  `custom3_value` varchar(100) NOT NULL default '',
+  `allow_negative_stock` tinyint(1) NOT NULL default '0',
+  `po_over_receive` int(11) NOT NULL default '10',
+  `po_over_charge` int(11) NOT NULL default '10',
+  `default_credit_limit` int(11) NOT NULL default '1000',
+  `default_workorder_required` int(11) NOT NULL default '20',
+  `default_dim_required` int(11) NOT NULL default '20',
+  `past_due_days` int(11) NOT NULL default '30',
+  `use_dimension` tinyint(1) default '0',
+  `f_year` int(11) NOT NULL default '1',
+  PRIMARY KEY  (`coy_code`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `credit_status`
+-- 
+
+DROP TABLE IF EXISTS `0_credit_status`;
+CREATE TABLE IF NOT EXISTS `0_credit_status` (
+  `id` int(11) NOT NULL auto_increment,
+  `reason_description` char(100) NOT NULL default '',
+  `dissallow_invoices` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `reason_description` (`reason_description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `currencies`
+-- 
+
+DROP TABLE IF EXISTS `0_currencies`;
+CREATE TABLE IF NOT EXISTS `0_currencies` (
+  `currency` varchar(60) NOT NULL default '',
+  `curr_abrev` char(3) NOT NULL default '',
+  `curr_symbol` varchar(10) NOT NULL default '',
+  `country` varchar(100) NOT NULL default '',
+  `hundreds_name` varchar(15) NOT NULL default '',
+  PRIMARY KEY  (`curr_abrev`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `cust_allocations`
+-- 
+
+DROP TABLE IF EXISTS `0_cust_allocations`;
+CREATE TABLE IF NOT EXISTS `0_cust_allocations` (
+  `id` int(11) NOT NULL auto_increment,
+  `amt` double unsigned default NULL,
+  `date_alloc` date NOT NULL default '0000-00-00',
+  `trans_no_from` int(11) default NULL,
+  `trans_type_from` int(11) default NULL,
+  `trans_no_to` int(11) default NULL,
+  `trans_type_to` int(11) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `cust_branch`
+-- 
+
+DROP TABLE IF EXISTS `0_cust_branch`;
+CREATE TABLE IF NOT EXISTS `0_cust_branch` (
+  `branch_code` int(11) NOT NULL auto_increment,
+  `debtor_no` int(11) NOT NULL default '0',
+  `br_name` varchar(60) NOT NULL default '',
+  `br_address` tinytext NOT NULL,
+  `area` int(11) default NULL,
+  `salesman` int(11) NOT NULL default '0',
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `contact_name` varchar(60) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `default_location` varchar(5) NOT NULL default '',
+  `tax_group_id` int(11) default NULL,
+  `sales_account` varchar(11) default NULL,
+  `sales_discount_account` varchar(11) default NULL,
+  `receivables_account` varchar(11) default NULL,
+  `payment_discount_account` varchar(11) default NULL,
+  `default_ship_via` int(11) NOT NULL default '1',
+  `disable_trans` tinyint(4) NOT NULL default '0',
+  `br_post_address` tinytext NOT NULL,
+  PRIMARY KEY  (`branch_code`,`debtor_no`),
+  KEY `branch_code` (`branch_code`),
+  KEY `br_name` (`br_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans` (
+  `trans_no` int(11) unsigned NOT NULL default '0',
+  `type` smallint(6) unsigned NOT NULL default '0',
+  `debtor_no` int(11) unsigned default NULL,
+  `branch_code` int(11) NOT NULL default '-1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  `reference` varchar(60) NOT NULL default '',
+  `tpe` int(11) NOT NULL default '0',
+  `order_` int(11) NOT NULL default '0',
+  `ov_amount` double NOT NULL default '0',
+  `ov_gst` double NOT NULL default '0',
+  `ov_freight` double NOT NULL default '0',
+  `ov_discount` double NOT NULL default '0',
+  `alloc` double NOT NULL default '0',
+  `rate` double NOT NULL default '1',
+  `ship_via` int(11) default NULL,
+  PRIMARY KEY  (`trans_no`,`type`),
+  KEY `debtor_no` (`debtor_no`,`branch_code`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans_details`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans_details`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans_details` (
+  `id` int(11) NOT NULL auto_increment,
+  `debtor_trans_no` int(11) default NULL,
+  `debtor_trans_type` int(11) default NULL,
+  `stock_id` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `unit_price` double NOT NULL default '0',
+  `unit_tax` double NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `discount_percent` double NOT NULL default '0',
+  `standard_cost` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtor_trans_tax_details`
+-- 
+
+DROP TABLE IF EXISTS `0_debtor_trans_tax_details`;
+CREATE TABLE IF NOT EXISTS `0_debtor_trans_tax_details` (
+  `id` int(11) NOT NULL auto_increment,
+  `debtor_trans_no` int(11) default NULL,
+  `debtor_trans_type` int(11) default NULL,
+  `tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_name` varchar(60) default NULL,
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  `amount` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `debtors_master`
+-- 
+
+DROP TABLE IF EXISTS `0_debtors_master`;
+CREATE TABLE IF NOT EXISTS `0_debtors_master` (
+  `debtor_no` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `address` tinytext,
+  `email` varchar(100) NOT NULL default '',
+  `tax_id` varchar(55) NOT NULL default '',
+  `curr_code` char(3) NOT NULL default '',
+  `sales_type` int(11) NOT NULL default '1',
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `credit_status` int(11) NOT NULL default '0',
+  `payment_terms` int(11) default NULL,
+  `discount` double NOT NULL default '0',
+  `pymt_discount` double NOT NULL default '0',
+  `credit_limit` float NOT NULL default '1000',
+  PRIMARY KEY  (`debtor_no`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `dimensions`
+-- 
+
+DROP TABLE IF EXISTS `0_dimensions`;
+CREATE TABLE IF NOT EXISTS `0_dimensions` (
+  `id` int(11) NOT NULL auto_increment,
+  `reference` varchar(60) NOT NULL default '',
+  `name` varchar(60) NOT NULL default '',
+  `type_` tinyint(1) NOT NULL default '1',
+  `closed` tinyint(1) NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `reference` (`reference`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `exchange_rates`
+-- 
+
+DROP TABLE IF EXISTS `0_exchange_rates`;
+CREATE TABLE IF NOT EXISTS `0_exchange_rates` (
+  `id` int(11) NOT NULL auto_increment,
+  `curr_code` char(3) NOT NULL default '',
+  `rate_buy` double NOT NULL default '0',
+  `rate_sell` double NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `curr_code` (`curr_code`,`date_`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `fiscal_year`
+-- 
+
+DROP TABLE IF EXISTS `0_fiscal_year`;
+CREATE TABLE IF NOT EXISTS `0_fiscal_year` (
+  `id` int(11) NOT NULL auto_increment,
+  `begin` date default '0000-00-00',
+  `end` date default '0000-00-00',
+  `closed` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `form_items`
+-- 
+
+DROP TABLE IF EXISTS `0_form_items`;
+CREATE TABLE IF NOT EXISTS `0_form_items` (
+  `form_id` int(11) NOT NULL default '0',
+  `form_type` int(11) NOT NULL default '0',
+  `trans_type` int(11) NOT NULL default '0',
+  `trans_id` int(11) NOT NULL default '0',
+  `param1` varchar(100) NOT NULL default '',
+  `param2` varchar(100) default NULL,
+  PRIMARY KEY  (`form_id`,`form_type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `gl_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_gl_trans`;
+CREATE TABLE IF NOT EXISTS `0_gl_trans` (
+  `counter` int(11) NOT NULL auto_increment,
+  `type` smallint(6) NOT NULL default '0',
+  `type_no` bigint(16) NOT NULL default '1',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `account` varchar(11) NOT NULL default '',
+  `memo_` tinytext NOT NULL,
+  `amount` double NOT NULL default '0',
+  `dimension_id` int(11) NOT NULL default '0',
+  `dimension2_id` int(11) NOT NULL default '0',
+  `person_type_id` int(11) default NULL,
+  `person_id` tinyblob,
+  PRIMARY KEY  (`counter`),
+  KEY `Type_and_Number` (`type`,`type_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `grn_batch`
+-- 
+
+DROP TABLE IF EXISTS `0_grn_batch`;
+CREATE TABLE IF NOT EXISTS `0_grn_batch` (
+  `id` int(11) NOT NULL auto_increment,
+  `supplier_id` int(11) NOT NULL default '0',
+  `purch_order_no` int(11) default NULL,
+  `reference` varchar(60) NOT NULL default '',
+  `delivery_date` date NOT NULL default '0000-00-00',
+  `loc_code` varchar(5) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `grn_items`
+-- 
+
+DROP TABLE IF EXISTS `0_grn_items`;
+CREATE TABLE IF NOT EXISTS `0_grn_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `grn_batch_id` int(11) default NULL,
+  `po_detail_item` int(11) NOT NULL default '0',
+  `item_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `qty_recd` double NOT NULL default '0',
+  `quantity_inv` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `item_tax_type_exemptions`
+-- 
+
+DROP TABLE IF EXISTS `0_item_tax_type_exemptions`;
+CREATE TABLE IF NOT EXISTS `0_item_tax_type_exemptions` (
+  `item_tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`item_tax_type_id`,`tax_type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `item_tax_types`
+-- 
+
+DROP TABLE IF EXISTS `0_item_tax_types`;
+CREATE TABLE IF NOT EXISTS `0_item_tax_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `exempt` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `loc_stock`
+-- 
+
+DROP TABLE IF EXISTS `0_loc_stock`;
+CREATE TABLE IF NOT EXISTS `0_loc_stock` (
+  `loc_code` char(5) NOT NULL default '',
+  `stock_id` char(20) NOT NULL default '',
+  `reorder_level` bigint(20) NOT NULL default '0',
+  PRIMARY KEY  (`loc_code`,`stock_id`),
+  KEY `stock_id` (`stock_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `locations`
+-- 
+
+DROP TABLE IF EXISTS `0_locations`;
+CREATE TABLE IF NOT EXISTS `0_locations` (
+  `loc_code` varchar(5) NOT NULL default '',
+  `location_name` varchar(60) NOT NULL default '',
+  `delivery_address` tinytext NOT NULL,
+  `phone` varchar(30) NOT NULL default '',
+  `fax` varchar(30) NOT NULL default '',
+  `email` varchar(100) NOT NULL default '',
+  `contact` varchar(30) NOT NULL default '',
+  PRIMARY KEY  (`loc_code`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `movement_types`
+-- 
+
+DROP TABLE IF EXISTS `0_movement_types`;
+CREATE TABLE IF NOT EXISTS `0_movement_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `payment_terms`
+-- 
+
+DROP TABLE IF EXISTS `0_payment_terms`;
+CREATE TABLE IF NOT EXISTS `0_payment_terms` (
+  `terms_indicator` int(11) NOT NULL auto_increment,
+  `terms` char(80) NOT NULL default '',
+  `days_before_due` smallint(6) NOT NULL default '0',
+  `day_in_following_month` smallint(6) NOT NULL default '0',
+  PRIMARY KEY  (`terms_indicator`),
+  UNIQUE KEY `terms` (`terms`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `prices`
+-- 
+
+DROP TABLE IF EXISTS `0_prices`;
+CREATE TABLE IF NOT EXISTS `0_prices` (
+  `id` int(11) NOT NULL auto_increment,
+  `stock_id` varchar(20) NOT NULL default '',
+  `sales_type_id` int(11) NOT NULL default '0',
+  `curr_abrev` char(3) NOT NULL default '',
+  `price` double NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `price` (`stock_id`,`sales_type_id`,`curr_abrev`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_data`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_data`;
+CREATE TABLE IF NOT EXISTS `0_purch_data` (
+  `supplier_id` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `price` double NOT NULL default '0',
+  `suppliers_uom` char(50) NOT NULL default '',
+  `conversion_factor` double NOT NULL default '1',
+  `supplier_description` char(50) NOT NULL default '',
+  PRIMARY KEY  (`supplier_id`,`stock_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_order_details`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_order_details`;
+CREATE TABLE IF NOT EXISTS `0_purch_order_details` (
+  `po_detail_item` int(11) NOT NULL auto_increment,
+  `order_no` int(11) NOT NULL default '0',
+  `item_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `delivery_date` date NOT NULL default '0000-00-00',
+  `qty_invoiced` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `act_price` double NOT NULL default '0',
+  `std_cost_unit` double NOT NULL default '0',
+  `quantity_ordered` double NOT NULL default '0',
+  `quantity_received` double NOT NULL default '0',
+  PRIMARY KEY  (`po_detail_item`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `purch_orders`
+-- 
+
+DROP TABLE IF EXISTS `0_purch_orders`;
+CREATE TABLE IF NOT EXISTS `0_purch_orders` (
+  `order_no` int(11) NOT NULL auto_increment,
+  `supplier_id` int(11) NOT NULL default '0',
+  `comments` tinytext,
+  `ord_date` date NOT NULL default '0000-00-00',
+  `reference` tinytext NOT NULL,
+  `requisition_no` tinytext,
+  `into_stock_location` varchar(5) NOT NULL default '',
+  `delivery_address` tinytext NOT NULL,
+  PRIMARY KEY  (`order_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `refs`
+-- 
+
+DROP TABLE IF EXISTS `0_refs`;
+CREATE TABLE IF NOT EXISTS `0_refs` (
+  `id` int(11) NOT NULL default '0',
+  `type` int(11) NOT NULL default '0',
+  `reference` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`id`,`type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_order_details`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_order_details`;
+CREATE TABLE IF NOT EXISTS `0_sales_order_details` (
+  `order_no` int(11) NOT NULL default '0',
+  `stk_code` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `qty_invoiced` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `discount_percent` double NOT NULL default '0',
+  PRIMARY KEY  (`order_no`,`stk_code`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_orders`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_orders`;
+CREATE TABLE IF NOT EXISTS `0_sales_orders` (
+  `order_no` int(11) NOT NULL auto_increment,
+  `debtor_no` int(11) NOT NULL default '0',
+  `branch_code` int(11) NOT NULL default '0',
+  `customer_ref` tinytext NOT NULL,
+  `comments` tinytext,
+  `ord_date` date NOT NULL default '0000-00-00',
+  `order_type` int(11) NOT NULL default '0',
+  `ship_via` int(11) NOT NULL default '0',
+  `delivery_address` tinytext NOT NULL,
+  `contact_phone` varchar(30) default NULL,
+  `contact_email` varchar(100) default NULL,
+  `deliver_to` tinytext NOT NULL,
+  `freight_cost` double NOT NULL default '0',
+  `from_stk_loc` varchar(5) NOT NULL default '',
+  `delivery_date` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`order_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sales_types`
+-- 
+
+DROP TABLE IF EXISTS `0_sales_types`;
+CREATE TABLE IF NOT EXISTS `0_sales_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `sales_type` char(50) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `sales_type` (`sales_type`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `salesman`
+-- 
+
+DROP TABLE IF EXISTS `0_salesman`;
+CREATE TABLE IF NOT EXISTS `0_salesman` (
+  `salesman_code` int(11) NOT NULL auto_increment,
+  `salesman_name` char(60) NOT NULL default '',
+  `salesman_phone` char(30) NOT NULL default '',
+  `salesman_fax` char(30) NOT NULL default '',
+  `salesman_email` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`salesman_code`),
+  UNIQUE KEY `salesman_name` (`salesman_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `shippers`
+-- 
+
+DROP TABLE IF EXISTS `0_shippers`;
+CREATE TABLE IF NOT EXISTS `0_shippers` (
+  `shipper_id` int(11) NOT NULL auto_increment,
+  `shipper_name` varchar(60) NOT NULL default '',
+  `phone` varchar(30) NOT NULL default '',
+  `contact` tinytext NOT NULL,
+  `address` tinytext NOT NULL,
+  PRIMARY KEY  (`shipper_id`),
+  UNIQUE KEY `name` (`shipper_name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_category`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_category`;
+CREATE TABLE IF NOT EXISTS `0_stock_category` (
+  `category_id` int(11) NOT NULL auto_increment,
+  `description` varchar(60) NOT NULL default '',
+  `stock_act` varchar(11) default NULL,
+  `cogs_act` varchar(11) default NULL,
+  `adj_gl_act` varchar(11) default NULL,
+  `purch_price_var_act` varchar(11) default NULL,
+  PRIMARY KEY  (`category_id`),
+  UNIQUE KEY `description` (`description`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_master`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_master`;
+CREATE TABLE IF NOT EXISTS `0_stock_master` (
+  `stock_id` varchar(20) NOT NULL default '',
+  `category_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  `description` varchar(200) NOT NULL default '',
+  `long_description` tinytext NOT NULL,
+  `units` varchar(20) NOT NULL default 'each',
+  `mb_flag` char(1) NOT NULL default 'B',
+  `sales_account` varchar(11) NOT NULL default '',
+  `cogs_account` varchar(11) NOT NULL default '',
+  `inventory_account` varchar(11) NOT NULL default '',
+  `adjustment_account` varchar(11) NOT NULL default '',
+  `assembly_account` varchar(11) NOT NULL default '',
+  `dimension_id` int(11) default NULL,
+  `dimension2_id` int(11) default NULL,
+  `actual_cost` double NOT NULL default '0',
+  `last_cost` double NOT NULL default '0',
+  `material_cost` double NOT NULL default '0',
+  `labour_cost` double NOT NULL default '0',
+  `overhead_cost` double NOT NULL default '0',
+  PRIMARY KEY  (`stock_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `stock_moves`
+-- 
+
+DROP TABLE IF EXISTS `0_stock_moves`;
+CREATE TABLE IF NOT EXISTS `0_stock_moves` (
+  `trans_id` int(11) NOT NULL auto_increment,
+  `trans_no` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `type` smallint(6) NOT NULL default '0',
+  `loc_code` char(5) NOT NULL default '',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `person_id` int(11) default NULL,
+  `price` double NOT NULL default '0',
+  `reference` char(40) NOT NULL default '',
+  `qty` double NOT NULL default '1',
+  `discount_percent` double NOT NULL default '0',
+  `standard_cost` double NOT NULL default '0',
+  `visible` tinyint(1) NOT NULL default '1',
+  PRIMARY KEY  (`trans_id`),
+  KEY `type` (`type`,`trans_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_allocations`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_allocations`;
+CREATE TABLE IF NOT EXISTS `0_supp_allocations` (
+  `id` int(11) NOT NULL auto_increment,
+  `amt` double unsigned default NULL,
+  `date_alloc` date NOT NULL default '0000-00-00',
+  `trans_no_from` int(11) default NULL,
+  `trans_type_from` int(11) default NULL,
+  `trans_no_to` int(11) default NULL,
+  `trans_type_to` int(11) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_invoice_items`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_invoice_items`;
+CREATE TABLE IF NOT EXISTS `0_supp_invoice_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `supp_trans_no` int(11) default NULL,
+  `supp_trans_type` int(11) default NULL,
+  `gl_code` int(11) NOT NULL default '0',
+  `grn_item_id` int(11) default NULL,
+  `po_detail_item_id` int(11) default NULL,
+  `stock_id` varchar(20) NOT NULL default '',
+  `description` tinytext,
+  `quantity` double NOT NULL default '0',
+  `unit_price` double NOT NULL default '0',
+  `unit_tax` double NOT NULL default '0',
+  `memo_` tinytext,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_invoice_tax_items`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_invoice_tax_items`;
+CREATE TABLE IF NOT EXISTS `0_supp_invoice_tax_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `supp_trans_no` int(11) default NULL,
+  `supp_trans_type` int(11) default NULL,
+  `tax_type_id` int(11) NOT NULL default '0',
+  `tax_type_name` varchar(60) default NULL,
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  `amount` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `supp_trans`
+-- 
+
+DROP TABLE IF EXISTS `0_supp_trans`;
+CREATE TABLE IF NOT EXISTS `0_supp_trans` (
+  `trans_no` int(11) unsigned NOT NULL default '0',
+  `type` smallint(6) unsigned NOT NULL default '0',
+  `supplier_id` int(11) unsigned default NULL,
+  `reference` tinytext NOT NULL,
+  `supp_reference` varchar(60) NOT NULL default '',
+  `tran_date` date NOT NULL default '0000-00-00',
+  `due_date` date NOT NULL default '0000-00-00',
+  `ov_amount` double NOT NULL default '0',
+  `ov_discount` double NOT NULL default '0',
+  `ov_gst` double NOT NULL default '0',
+  `rate` double NOT NULL default '1',
+  `alloc` double NOT NULL default '0',
+  PRIMARY KEY  (`trans_no`,`type`),
+  KEY `supplier_id` (`supplier_id`),
+  KEY `SupplierID_2` (`supplier_id`,`supp_reference`),
+  KEY `type` (`type`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `suppliers`
+-- 
+
+DROP TABLE IF EXISTS `0_suppliers`;
+CREATE TABLE IF NOT EXISTS `0_suppliers` (
+  `supplier_id` int(11) NOT NULL auto_increment,
+  `supp_name` varchar(60) NOT NULL default '',
+  `address` tinytext NOT NULL,
+  `email` varchar(100) NOT NULL default '',
+  `bank_account` varchar(60) NOT NULL default '',
+  `curr_code` char(3) default NULL,
+  `payment_terms` int(11) default NULL,
+  `dimension_id` int(11) default '0',
+  `dimension2_id` int(11) default '0',
+  `tax_group_id` int(11) default NULL,
+  `purchase_account` varchar(11) default NULL,
+  `payable_account` varchar(11) default NULL,
+  `payment_discount_account` varchar(11) default NULL,
+  PRIMARY KEY  (`supplier_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `sys_types`
+-- 
+
+DROP TABLE IF EXISTS `0_sys_types`;
+CREATE TABLE IF NOT EXISTS `0_sys_types` (
+  `type_id` smallint(6) NOT NULL default '0',
+  `type_name` varchar(60) NOT NULL default '',
+  `type_no` int(11) NOT NULL default '1',
+  `next_reference` varchar(100) NOT NULL default '',
+  PRIMARY KEY  (`type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_group_items`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_group_items`;
+CREATE TABLE IF NOT EXISTS `0_tax_group_items` (
+  `tax_group_id` int(11) NOT NULL default '0',
+  `tax_type_id` int(11) NOT NULL default '0',
+  `rate` double NOT NULL default '0',
+  `included_in_price` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`tax_group_id`,`tax_type_id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_groups`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_groups`;
+CREATE TABLE IF NOT EXISTS `0_tax_groups` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` varchar(60) NOT NULL default '',
+  `tax_shipping` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `tax_types`
+-- 
+
+DROP TABLE IF EXISTS `0_tax_types`;
+CREATE TABLE IF NOT EXISTS `0_tax_types` (
+  `id` int(11) NOT NULL auto_increment,
+  `rate` double NOT NULL default '0',
+  `sales_gl_code` varchar(11) NOT NULL default '',
+  `purchasing_gl_code` varchar(11) NOT NULL default '',
+  `name` varchar(60) NOT NULL default '',
+  `out` tinyint(1) NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `users`
+-- 
+
+DROP TABLE IF EXISTS `0_users`;
+CREATE TABLE IF NOT EXISTS `0_users` (
+  `user_id` varchar(60) NOT NULL default '',
+  `password` varchar(100) NOT NULL default '',
+  `real_name` varchar(100) NOT NULL default '',
+  `full_access` int(11) NOT NULL default '1',
+  `phone` varchar(30) NOT NULL default '',
+  `email` varchar(100) default NULL,
+  `language` varchar(20) default NULL,
+  `date_format` tinyint(1) NOT NULL default '0',
+  `date_sep` tinyint(1) NOT NULL default '0',
+  `tho_sep` tinyint(1) NOT NULL default '0',
+  `dec_sep` tinyint(1) NOT NULL default '0',
+  `theme` varchar(20) NOT NULL default 'default',
+  `page_size` varchar(20) NOT NULL default 'A4',
+  `prices_dec` smallint(6) NOT NULL default '2',
+  `qty_dec` smallint(6) NOT NULL default '2',
+  `rates_dec` smallint(6) NOT NULL default '4',
+  `percent_dec` smallint(6) NOT NULL default '1',
+  `show_gl` tinyint(1) NOT NULL default '1',
+  `show_codes` tinyint(1) NOT NULL default '0',
+  `last_visit_date` datetime default NULL,
+  PRIMARY KEY  (`user_id`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `voided`
+-- 
+
+DROP TABLE IF EXISTS `0_voided`;
+CREATE TABLE IF NOT EXISTS `0_voided` (
+  `type` int(11) NOT NULL default '0',
+  `id` int(11) NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  `memo_` tinytext NOT NULL,
+  UNIQUE KEY `id` (`type`,`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_issue_items`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_issue_items`;
+CREATE TABLE IF NOT EXISTS `0_wo_issue_items` (
+  `id` int(11) NOT NULL auto_increment,
+  `stock_id` varchar(40) default NULL,
+  `issue_id` int(11) default NULL,
+  `qty_issued` double default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_issues`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_issues`;
+CREATE TABLE IF NOT EXISTS `0_wo_issues` (
+  `issue_no` int(11) NOT NULL auto_increment,
+  `workorder_id` int(11) NOT NULL default '0',
+  `reference` varchar(100) default NULL,
+  `issue_date` date default NULL,
+  `loc_code` varchar(5) default NULL,
+  `workcentre_id` int(11) default NULL,
+  PRIMARY KEY  (`issue_no`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_manufacture`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_manufacture`;
+CREATE TABLE IF NOT EXISTS `0_wo_manufacture` (
+  `id` int(11) NOT NULL auto_increment,
+  `reference` varchar(100) default NULL,
+  `workorder_id` int(11) NOT NULL default '0',
+  `quantity` double NOT NULL default '0',
+  `date_` date NOT NULL default '0000-00-00',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `wo_requirements`
+-- 
+
+DROP TABLE IF EXISTS `0_wo_requirements`;
+CREATE TABLE IF NOT EXISTS `0_wo_requirements` (
+  `id` int(11) NOT NULL auto_increment,
+  `workorder_id` int(11) NOT NULL default '0',
+  `stock_id` char(20) NOT NULL default '',
+  `workcentre` char(5) NOT NULL default '',
+  `units_req` double NOT NULL default '1',
+  `std_cost` double NOT NULL default '0',
+  `loc_code` char(5) NOT NULL default '',
+  `units_issued` double NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `workcentres`
+-- 
+
+DROP TABLE IF EXISTS `0_workcentres`;
+CREATE TABLE IF NOT EXISTS `0_workcentres` (
+  `id` int(11) NOT NULL auto_increment,
+  `name` char(40) NOT NULL default '',
+  `description` char(50) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) TYPE=MyISAM;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure for table `workorders`
+-- 
+
+DROP TABLE IF EXISTS `0_workorders`;
+CREATE TABLE IF NOT EXISTS `0_workorders` (
+  `id` int(11) NOT NULL auto_increment,
+  `wo_ref` varchar(60) NOT NULL default '',
+  `loc_code` varchar(5) NOT NULL default '',
+  `units_reqd` double NOT NULL default '1',
+  `stock_id` varchar(20) NOT NULL default '',
+  `date_` date NOT NULL default '0000-00-00',
+  `type` tinyint(4) NOT NULL default '0',
+  `required_by` date NOT NULL default '0000-00-00',
+  `released_date` date NOT NULL default '0000-00-00',
+  `units_issued` double NOT NULL default '0',
+  `closed` tinyint(1) NOT NULL default '0',
+  `released` tinyint(1) NOT NULL default '0',
+  `additional_costs` double NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `wo_ref` (`wo_ref`)
+) TYPE=InnoDB;
+
+-- --------------------------------------------------------
+
 -- 
 -- Data in table `bank_accounts`
 -- 
diff --git a/themes/default/images/next.gif b/themes/default/images/next.gif
deleted file mode 100644 (file)
index bf02152..0000000
Binary files a/themes/default/images/next.gif and /dev/null differ
diff --git a/themes/default/images/prev.gif b/themes/default/images/prev.gif
deleted file mode 100644 (file)
index 211e1fa..0000000
Binary files a/themes/default/images/prev.gif and /dev/null differ
diff --git a/update.html b/update.html
new file mode 100644 (file)
index 0000000..e6114b0
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+
+<head>
+  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
+
+  
+  <title>FrontAccounting Update</title>
+
+</head>
+
+<body>
+<div><strong><span style="font-size: 20pt;"><span style="color: rgb(204, 102, 0); font-style: italic;">Front</span>Accounting&nbsp;Update</span></strong></div>
+<br />
+<br />
+
+<h2>Important Notes</h2>
+
+<ul>
+  <li>You can easily upload all the files to your installation folder on the 
+server overwriting the existing files, <strong><em>if you take these important 
+steps</em></strong>: 
+    <ol>
+      <li>Backup&nbsp; (download) the following files to another folder: 
+        <ol>
+          <li><strong>config_db.php</strong> (contains information about the&nbsp;companies and 
+connection info). 
+          </li>
+          <li><strong>config.php</strong> (contains various settings. You only need to 
+backup this file if you have done manually changes to it. 
+          </li>
+          <li><strong>/lang/installed_languages.inc</strong> (contains information about the 
+installed languages) 
+          </li>
+          <li><strong>/modules/installed_modules.php</strong> (contains information about 
+installed modules, <strong>only vers. 1.1</strong>) 
+          </li>
+          <li>if you have made <em>changes to other files</em>, like themes or so, backup 
+these files too. </li>
+        </ol>
+
+      </li>
+      <li>Upload all the new files. 
+      </li>
+      <li>Restore the files mentioned in #1. Be <strong>careful</strong> with 
+        <strong>config.db</strong>. Look into variances. There might be new variables in 
+the new version. It might be easier to <em>manually change your former values in 
+the new file</em>. 
+      </li>
+      <li>Rename or remove the /install folder (you have already performed the install 
+process earlier). </li>
+    </ol>
+  </li>
+</ul>
+
+<p>&nbsp;</p>
+</body>
+
+</html>