! -> 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
--- /dev/null
+<?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
-<?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
-<?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
<?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"]."?");
+ }
+ }
}
}
-<?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
-<?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
<?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"]."?");
+ }
+ }
}
}
-<?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
// 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";
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
-
+
<title>FrontAccounting</title>
</head>
<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>
<li>
-
+
<h3>Creating the Database</h3>
-
+
<ol>
<li>Populate the database you have created. There are two scripts
are provided to populate the database (both inside the folder /sql) :
-
+
<ol>
to use. </li>
-
+
</ol>
whatever directory you entered) for safety reasons. You don't need it any more.</li>
-
+
</ol>
<li>
-
+
<h3>Editing config_db.php</h3>
-
+
<ol>
counter inside config_db.php, fi. 0_ for the first company.</li>
-
+
</ol>
<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
<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>
}
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
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");
--- /dev/null
+<?php
+header("Location: ../index.php");
+?>
--- /dev/null
+<?php
+
+/*****************************************************************
+External modules for FrontAccounting
+******************************************************************/
+
+
+$installed_modules = array ();
+?>
\ No newline at end of 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`
--
-- 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`
--
--- /dev/null
+<!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 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 (download) the following files to another folder:
+ <ol>
+ <li><strong>config_db.php</strong> (contains information about the 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> </p>
+</body>
+
+</html>