1

(1 replies, posted in Reporting)

I am trying to override some report files:  /reporting/includes/doctext.inc, header2.inc, and report_classes.inc.
I have placed them in /company/0/reporting/includes
but they do not seem to override the core files.

Is this supposed to work?  I know reports override ok in company/0/reporting.

Thanks

I am fine with there being some audit trail.  I just have no idea where the outstanding records are coming from:
- Where/how are unallocated balances calculated/stored?  I have customers that have no outstanding transactions, yet show up as having unallocated payments.

- when I first set up frontaccounting, from our paper system, there was one vendor payment (by check) that was made in the previous year.....but the vendor took 6 months to cash, so it wasn't withdrawn from the bank until the next fiscal year.  This bank account, when reconciling, has always defaulted to the wrong starting/ending balances.  Where/how are those default balances calculated/stored.

This is really more about cleaning up errors caused by bugs (I have updated FA many times on the same database), or just simple mistakes I made and couldn't properly resolve before I had to close out a year.

Thanks

I have been using FA for about 10 years now.  As I have upgraded, learned what the hell I was doing, changed my procedures, and generally used the system, there has been a slow accumulation of errors that I would like to somehow purge. 

Off the top of my head:
- Unallocated payments
- unreconciled bank transactions
- default bank reconciling starting balances

I have items that are up to 10 years old that still show up (but are locked because the years are long closed) that I would like to make go away.
Any ideas?
Thanks

When I try to delete an item, it throws an error about a missing function:

Unhandled exception [0]: Call to undefined function delete_image(). in file: /xxx/xxx/fa/inventory/manage/items.php at line 338

It will still remove the item while throwing this error.
Thanks

I can no longer download the module repo index.  It seems that url_get_contents()'s attempt to request the file (http://anonymous:password@repo.frontaccounting.eu/2.4/Release.gz works manually) is responded with a 403 error and a reCAPTCHA form:

HTTP/1.0 403 Forbidden Content-Type: text/html Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0 Server: BitNinja Captcha Server Date: Thu, 16 Dec 2021 12:59:07 GMT Content-Length: 57793

English
Dear visitor
To continue browsing and help us fight cybercrime, please solve the CAPTCHA you see below.
Your IP address: XX.XX.XX.XX

Security check by BitNinja.IO


Any ideas?

6

(1 replies, posted in Report Bugs here)

dashboard.inc:

function customer_top($today, $limit=10, $width="33", &$pg=null)...
~line 198:
changed:
$name = $myrow["debtor_no"]." ".$myrow["name"]

to

$name = $myrow["debtor_no"]." ".htmlspecialchars_decode($myrow["name"])

Allows "&" to display as "&" and not "&"

7

(2 replies, posted in Report Bugs here)

If I search for something, such as Journal Inquiry and I put in a date range and get results, when I drill down a result and then close the popup, the dates will reset.

Can it NOT do that....but act like the search wasn't reset when returning?

Thanks
BK

We have a situation where people purchase items from our vendors, pay the vendor invoice, and then need to be reimbursed.

I currently create the vendor invoice and then put a note in the vendor payment about the reimbursement.  Not easy to follow the payment path or search.

I need some way of allocating payment to a vendor against another vendor’s invoice:
I would like to create the vendor invoice, make a payment to the purchaser (setup as a vendor), and then allocate that payment to the actual vendor’s invoice.

This would record all parties involved in the transaction in a searchable way.
Is there any better way to do third party payments?
Thanks

9

(2 replies, posted in Accounts Receivable)

It was a journal entry from the wrong to the correct account.  But somehow, the customers effected all show balances from that journal entry that need payments allocated to them.
The problem is that it is from a closed year, so I cant correct it.

10

(2 replies, posted in Accounts Receivable)

In a previous year, there were some errors made where some customers' payments were posted to the wrong sales accounts.  These were fixed with a journal entry.

Now, the effected customers all show un-allocated amounts due from the journal entry, yet have no other open transactions.
Whenever a new customer payment is received, FA attempts to credit the payment against the journal entries.

How can I correct/zero out these orphaned allocation amounts?  They are from a closed year, so I cant correct them by normal means.
Thanks
Bruce

Can downloaded pdf reports have more meaningful file names?

Such as the report title + date/time stamp?
Thanks
Bruce

I just discovered that a sales item was set up using the wrong sales account.  There are now about 30 completed transactions (sales invoice - payment received and applied) with this item posting to the wrong sales account.

What is the best way to fix this?
I have already corrected the wrong sales account in the item.

I could make a bunch of journal entries to correct them, but I think that would still leave the errors in any sales reports, etc.

Can I directly edit the 0_gl_trans table to correct the posted account #?  Are there other tables that would have to be manually corrected?  Is this a can of worms?

Thank you
Bruce

13

(20 replies, posted in Banking and General Ledger)

I modified `0_budget_trans` moving the fields into the correct order.  The other tables are OK.
I'm wondering how important the column order is?  Aren't all fields referred to by name so the order doesn't matter?

BTW, from Company setup: Database Scheme Version    2.4.1

Bruce

14

(20 replies, posted in Banking and General Ledger)

OK, there is something funny about the output of "Online MySQL Schema Compare" - It looks like much of its output is altering tables to already existing conditions.  I may have to manually compare them table by table.

15

(20 replies, posted in Banking and General Ledger)

I dont really remember what the first version installed was - I first installed around 2015, so whatever was current at the time.  Initially I used the "US COA for a nonprofit company" and modified it as needed.

I just plugged the above sql/en_US-new.sql and a structure dump of my working database into the above Online MySQL Schema Compare and this is what it returned.
Do I want to run this SQL to update my schema?  Is this safe?
Thanks
Bruce

DROP TABLE `0_amortisation`;
ALTER TABLE `0_areas` MODIFY `description` varchar(60) NOT NULL;
DROP TABLE `0_asset_types`;
DROP TABLE `0_asset_valuations`;
DROP TABLE `0_assets`;
ALTER TABLE `0_attachments` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_attachments` MODIFY `filename` varchar(60) NOT NULL;
ALTER TABLE `0_attachments` MODIFY `filetype` varchar(60) NOT NULL;
ALTER TABLE `0_attachments` MODIFY `unique_name` varchar(60) NOT NULL;
ALTER TABLE `0_audit_trail` MODIFY `description` varchar(60) default NULL;
ALTER TABLE `0_audit_trail` MODIFY `fiscal_year` int(11) NOT NULL default 0;
ALTER TABLE `0_audit_trail` MODIFY `stamp` timestamp NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `account_code` varchar(15) NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `bank_account_name` varchar(60) NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `bank_account_number` varchar(100) NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `bank_address` tinytext;
ALTER TABLE `0_bank_accounts` MODIFY `bank_charge_act` varchar(15) NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `bank_curr_code` char(3) NOT NULL;
ALTER TABLE `0_bank_accounts` MODIFY `bank_name` varchar(60) NOT NULL;
ALTER TABLE `0_bank_trans` MODIFY `bank_act` varchar(15) NOT NULL;
ALTER TABLE `0_bank_trans` MODIFY `ref` varchar(40) default NULL;
ALTER TABLE `0_bom` MODIFY `component` char(20) NOT NULL;
ALTER TABLE `0_bom` MODIFY `loc_code` char(5) NOT NULL;
ALTER TABLE `0_bom` MODIFY `parent` char(20) NOT NULL;
ALTER TABLE `0_budget_trans` MODIFY `account` varchar(15) NOT NULL;
ALTER TABLE `0_budget_trans` MODIFY `memo_` tinytext NOT NULL;
ALTER TABLE `0_chart_class` MODIFY `cid` varchar(3) NOT NULL;
ALTER TABLE `0_chart_class` MODIFY `class_name` varchar(60) NOT NULL;
ALTER TABLE `0_chart_master` MODIFY `account_code2` varchar(15) NOT NULL;
ALTER TABLE `0_chart_master` MODIFY `account_code` varchar(15) NOT NULL;
ALTER TABLE `0_chart_master` MODIFY `account_name` varchar(60) NOT NULL;
ALTER TABLE `0_chart_master` MODIFY `account_type` varchar(10) NOT NULL default '0';
ALTER TABLE `0_chart_types` MODIFY `class_id` varchar(3) NOT NULL;
ALTER TABLE `0_chart_types` MODIFY `id` varchar(10) NOT NULL;
ALTER TABLE `0_chart_types` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_chart_types` MODIFY `parent` varchar(10) NOT NULL default '-1';
ALTER TABLE `0_comments` MODIFY `memo_` tinytext;
ALTER TABLE `0_credit_status` MODIFY `reason_description` char(100) NOT NULL;
ALTER TABLE `0_crm_categories` MODIFY `action` varchar(20) NOT NULL COMMENT 'detailed usage e.g. department';
ALTER TABLE `0_crm_categories` MODIFY `description` tinytext NOT NULL COMMENT 'usage description';
ALTER TABLE `0_crm_categories` MODIFY `name` varchar(30) NOT NULL COMMENT 'for category selector';
ALTER TABLE `0_crm_categories` MODIFY `type` varchar(20) NOT NULL COMMENT 'contact type e.g. customer';
ALTER TABLE `0_crm_contacts` DROP `action`;
ALTER TABLE `0_crm_contacts` MODIFY `entity_id` varchar(11) default NULL COMMENT 'entity id in related class table';
ALTER TABLE `0_crm_contacts` DROP `type`;
ALTER TABLE `0_crm_contacts` MODIFY `action` varchar(20) NOT NULL COMMENT 'foreign key to crm_categories';
ALTER TABLE `0_crm_persons` MODIFY `address` tinytext;
ALTER TABLE `0_crm_persons` MODIFY `email` varchar(100) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `fax` varchar(30) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `lang` char(5) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `name2` varchar(60) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_crm_persons` MODIFY `notes` tinytext NOT NULL;
ALTER TABLE `0_crm_persons` MODIFY `phone2` varchar(30) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `phone` varchar(30) default NULL;
ALTER TABLE `0_crm_persons` MODIFY `ref` varchar(30) NOT NULL;
ALTER TABLE `0_currencies` MODIFY `country` varchar(100) NOT NULL;
ALTER TABLE `0_currencies` MODIFY `curr_abrev` char(3) NOT NULL;
ALTER TABLE `0_currencies` MODIFY `curr_symbol` varchar(10) NOT NULL;
ALTER TABLE `0_currencies` MODIFY `currency` varchar(60) NOT NULL;
ALTER TABLE `0_currencies` MODIFY `hundreds_name` varchar(15) NOT NULL;
ALTER TABLE `0_cust_allocations` DROP INDEX `person_id`;
ALTER TABLE `0_cust_allocations` ADD UNIQUE `trans_type_from` (`person_id`,`trans_type_from`,`trans_no_from`,`trans_type_to`,`trans_no_to`);
ALTER TABLE `0_cust_branch` MODIFY `bank_account` varchar(60) DEFAULT NULL;
ALTER TABLE `0_cust_branch` MODIFY `br_address` tinytext NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `br_name` varchar(60) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `br_post_address` tinytext NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `branch_ref` varchar(30) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `default_location` varchar(5) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `notes` tinytext NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `payment_discount_account` varchar(15) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `receivables_account` varchar(15) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `sales_account` varchar(15) NOT NULL;
ALTER TABLE `0_cust_branch` MODIFY `sales_discount_account` varchar(15) NOT NULL;
DROP TABLE `0_dashboard_reminders`;
DROP TABLE `0_dashboard_widgets`;
ALTER TABLE `0_debtor_trans` MODIFY `reference` varchar(60) NOT NULL;
ALTER TABLE `0_debtor_trans` MODIFY PRIMARY KEY (`type`,`trans_no`,`debtor_no`);
ALTER TABLE `0_debtor_trans_details` MODIFY `description` tinytext;
ALTER TABLE `0_debtor_trans_details` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_debtor_trans_details` ADD KEY (`src_id`);
ALTER TABLE `0_debtor_trans_details` DROP INDEX `src_id`;
ALTER TABLE `0_debtors_master` MODIFY `address` tinytext;
ALTER TABLE `0_debtors_master` MODIFY `curr_code` char(3) NOT NULL;
ALTER TABLE `0_debtors_master` MODIFY `debtor_ref` varchar(30) NOT NULL;
ALTER TABLE `0_debtors_master` MODIFY `name` varchar(100) NOT NULL;
ALTER TABLE `0_debtors_master` MODIFY `notes` tinytext NOT NULL;
ALTER TABLE `0_debtors_master` MODIFY `tax_id` varchar(55) NOT NULL;
ALTER TABLE `0_dimensions` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_dimensions` MODIFY `reference` varchar(60) NOT NULL;
ALTER TABLE `0_exchange_rates` MODIFY `curr_code` char(3) NOT NULL;
ALTER TABLE `0_gl_trans` MODIFY `account` varchar(15) NOT NULL;
ALTER TABLE `0_gl_trans` MODIFY `memo_` tinytext NOT NULL;
ALTER TABLE `0_grn_batch` MODIFY `loc_code` varchar(5) default NULL;
ALTER TABLE `0_grn_batch` MODIFY `rate` double NULL default '1';
ALTER TABLE `0_grn_batch` MODIFY `reference` varchar(60) NOT NULL;
ALTER TABLE `0_grn_items` MODIFY `description` tinytext;
ALTER TABLE `0_grn_items` MODIFY `item_code` varchar(20) NOT NULL;
ALTER TABLE `0_groups` MODIFY `description` varchar(60) NOT NULL;
DROP TABLE `0_import_paypal`;
DROP TABLE `0_import_paypal_accounts`;
ALTER TABLE `0_item_codes` MODIFY `description` varchar(200) NOT NULL;
ALTER TABLE `0_item_codes` MODIFY `item_code` varchar(20) NOT NULL;
ALTER TABLE `0_item_codes` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_item_tax_types` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_item_units` MODIFY `abbr` varchar(20) NOT NULL;
ALTER TABLE `0_item_units` MODIFY `name` varchar(40) NOT NULL;
ALTER TABLE `0_journal` MODIFY `currency` char(3) NOT NULL;
ALTER TABLE `0_journal` MODIFY `reference` varchar(60) NOT NULL;
ALTER TABLE `0_journal` MODIFY `source_ref` varchar(60) NOT NULL;
ALTER TABLE `0_loc_stock` MODIFY `loc_code` char(5) NOT NULL;
ALTER TABLE `0_loc_stock` MODIFY `stock_id` char(20) NOT NULL;
ALTER TABLE `0_locations` MODIFY `contact` varchar(30) NOT NULL;
ALTER TABLE `0_locations` MODIFY `delivery_address` tinytext NOT NULL;
ALTER TABLE `0_locations` MODIFY `email` varchar(100) NOT NULL;
ALTER TABLE `0_locations` MODIFY `fax` varchar(30) NOT NULL;
ALTER TABLE `0_locations` MODIFY `loc_code` varchar(5) NOT NULL;
ALTER TABLE `0_locations` MODIFY `location_name` varchar(60) NOT NULL;
ALTER TABLE `0_locations` MODIFY `phone2` varchar(30) NOT NULL;
ALTER TABLE `0_locations` MODIFY `phone` varchar(30) NOT NULL;
ALTER TABLE `0_payment_terms` MODIFY `terms` char(80) NOT NULL;
ALTER TABLE `0_prices` MODIFY `curr_abrev` char(3) NOT NULL;
ALTER TABLE `0_prices` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_print_profiles` MODIFY `profile` varchar(30) NOT NULL;
ALTER TABLE `0_print_profiles` MODIFY `report` varchar(5) default NULL;
ALTER TABLE `0_printers` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_printers` MODIFY `host` varchar(40) NOT NULL;
ALTER TABLE `0_printers` MODIFY `name` varchar(20) NOT NULL;
ALTER TABLE `0_printers` MODIFY `queue` varchar(20) NOT NULL;
ALTER TABLE `0_purch_data` MODIFY `stock_id` char(20) NOT NULL;
ALTER TABLE `0_purch_data` MODIFY `supplier_description` char(50) NOT NULL;
ALTER TABLE `0_purch_data` MODIFY `suppliers_uom` char(50) NOT NULL;
ALTER TABLE `0_purch_order_details` MODIFY `description` tinytext;
ALTER TABLE `0_purch_order_details` MODIFY `item_code` varchar(20) NOT NULL;
ALTER TABLE `0_purch_orders` MODIFY `comments` tinytext;
ALTER TABLE `0_purch_orders` MODIFY `delivery_address` tinytext NOT NULL;
ALTER TABLE `0_purch_orders` MODIFY `into_stock_location` varchar(5) NOT NULL;
ALTER TABLE `0_purch_orders` MODIFY `reference` tinytext NOT NULL;
ALTER TABLE `0_purch_orders` MODIFY `requisition_no` tinytext;
ALTER TABLE `0_quick_entries` MODIFY `base_desc` varchar(60) default NULL;
ALTER TABLE `0_quick_entries` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_quick_entries` MODIFY `usage` varchar(120) NULL;
ALTER TABLE `0_quick_entry_lines` MODIFY `action` varchar(2) NOT NULL;
ALTER TABLE `0_quick_entry_lines` MODIFY `dest_id` varchar(15) NOT NULL;
ALTER TABLE `0_quick_entry_lines` MODIFY `memo` tinytext NOT NULL;
ALTER TABLE `0_recurrent_invoices` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_reflines` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_reflines` MODIFY `pattern` varchar(35) NOT NULL DEFAULT '1';
ALTER TABLE `0_reflines` MODIFY `prefix` char(5) NOT NULL;
ALTER TABLE `0_reflines` DROP INDEX `prefix`, ADD UNIQUE `prefix` (`trans_type`, `prefix`);
ALTER TABLE `0_refs` MODIFY `reference` varchar(100) NOT NULL;
DROP TABLE `0_requisition_details`;
DROP TABLE `0_requisitions`;
ALTER TABLE `0_sales_order_details` MODIFY `description` tinytext;
ALTER TABLE `0_sales_order_details` MODIFY `stk_code` varchar(20) NOT NULL;
ALTER TABLE `0_sales_orders` MODIFY `comments` tinytext;
ALTER TABLE `0_sales_orders` MODIFY `contact_email` varchar(100) default NULL;
ALTER TABLE `0_sales_orders` MODIFY `contact_phone` varchar(30) default NULL;
ALTER TABLE `0_sales_orders` MODIFY `customer_ref` tinytext NOT NULL;
ALTER TABLE `0_sales_orders` MODIFY `deliver_to` tinytext NOT NULL;
ALTER TABLE `0_sales_orders` MODIFY `delivery_address` tinytext NOT NULL;
ALTER TABLE `0_sales_orders` MODIFY `from_stk_loc` varchar(5) NOT NULL;
ALTER TABLE `0_sales_orders` MODIFY `reference` varchar(100) NOT NULL;
ALTER TABLE `0_sales_pos` MODIFY `pos_location` varchar(5) NOT NULL;
ALTER TABLE `0_sales_pos` MODIFY `pos_name` varchar(30) NOT NULL;
ALTER TABLE `0_sales_types` MODIFY `sales_type` char(50) NOT NULL;
ALTER TABLE `0_salesman` MODIFY `salesman_email` varchar(100) NOT NULL;
ALTER TABLE `0_salesman` MODIFY `salesman_fax` char(30) NOT NULL;
ALTER TABLE `0_salesman` MODIFY `salesman_name` char(60) NOT NULL;
ALTER TABLE `0_salesman` MODIFY `salesman_phone` char(30) NOT NULL;
ALTER TABLE `0_security_roles` MODIFY `areas` text;
ALTER TABLE `0_security_roles` MODIFY `description` varchar(50) default NULL;
ALTER TABLE `0_security_roles` MODIFY `role` varchar(30) NOT NULL;
ALTER TABLE `0_security_roles` MODIFY `sections` text;
ALTER TABLE `0_shippers` MODIFY `address` tinytext NOT NULL;
ALTER TABLE `0_shippers` MODIFY `contact` tinytext NOT NULL;
ALTER TABLE `0_shippers` MODIFY `phone2` varchar(30) NOT NULL;
ALTER TABLE `0_shippers` MODIFY `phone` varchar(30) NOT NULL;
ALTER TABLE `0_shippers` MODIFY `shipper_name` varchar(60) NOT NULL;
ALTER TABLE `0_sql_trail` MODIFY `msg` varchar(255) NOT NULL;
ALTER TABLE `0_sql_trail` MODIFY `sql` text NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `dflt_adjustment_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `dflt_cogs_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `dflt_inventory_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `dflt_mb_flag` char(1) NOT NULL default 'B';
ALTER TABLE `0_stock_category` MODIFY `dflt_sales_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_category` MODIFY `dflt_units` varchar(20) NOT NULL default 'each';
ALTER TABLE `0_stock_category` MODIFY `dflt_wip_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `description` varchar(200) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `fa_class_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `long_description` tinytext NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `parent_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `adjustment_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `cogs_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `depreciation_factor` double NOT NULL DEFAULT '1';
ALTER TABLE `0_stock_master` MODIFY `depreciation_method` char(1) NOT NULL DEFAULT 'S';
ALTER TABLE `0_stock_master` MODIFY `description` varchar(200) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `fa_class_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `inventory_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `long_description` tinytext NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `mb_flag` char(1) NOT NULL default 'B';
ALTER TABLE `0_stock_master` MODIFY `sales_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_master` MODIFY `units` varchar(20) NOT NULL default 'each';
ALTER TABLE `0_stock_master` MODIFY `wip_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_moves` MODIFY `loc_code` char(5) NOT NULL;
ALTER TABLE `0_stock_moves` MODIFY `reference` char(40) NOT NULL;
ALTER TABLE `0_stock_moves` MODIFY `stock_id` char(20) NOT NULL;
ALTER TABLE `0_supp_allocations` DROP INDEX `person_id`;
ALTER TABLE `0_supp_allocations` ADD UNIQUE `trans_type_from` (`person_id`,`trans_type_from`,`trans_no_from`,`trans_type_to`,`trans_no_to`);
ALTER TABLE `0_supp_invoice_items` MODIFY `description` tinytext;
ALTER TABLE `0_supp_invoice_items` MODIFY `gl_code` varchar(15) NOT NULL;
ALTER TABLE `0_supp_invoice_items` MODIFY `memo_` tinytext;
ALTER TABLE `0_supp_invoice_items` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_supp_trans` MODIFY `reference` tinytext NOT NULL;
ALTER TABLE `0_supp_trans` MODIFY `supp_reference` varchar(60) NOT NULL;
ALTER TABLE `0_supp_trans` MODIFY PRIMARY KEY (`type`,`trans_no`,`supplier_id`);
ALTER TABLE `0_suppliers` MODIFY `address` tinytext NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `bank_account` varchar(60) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `contact` varchar(60) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `curr_code` char(3) default NULL;
ALTER TABLE `0_suppliers` MODIFY `gst_no` varchar(25) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `notes` tinytext NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `payable_account` varchar(15) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `payment_discount_account` varchar(15) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `purchase_account` varchar(15) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `supp_account_no` varchar(40) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `supp_address` tinytext NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `supp_name` varchar(60) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `supp_ref` varchar(30) NOT NULL;
ALTER TABLE `0_suppliers` MODIFY `website` varchar(100) NOT NULL;
ALTER TABLE `0_sys_prefs` MODIFY `category` varchar(30) default NULL;
ALTER TABLE `0_sys_prefs` MODIFY `name` varchar(35) NOT NULL;
ALTER TABLE `0_sys_prefs` MODIFY `type` varchar(20) NOT NULL;
ALTER TABLE `0_sys_prefs` MODIFY `value` TEXT NOT NULL DEFAULT '';
DROP TABLE `0_sys_types`;
ALTER TABLE `0_tag_associations` MODIFY `record_id` varchar(15) NOT NULL;
ALTER TABLE `0_tags` MODIFY `description` varchar(60) default NULL;
ALTER TABLE `0_tags` MODIFY `name` varchar(30) NOT NULL;
ALTER TABLE `0_tax_groups` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_tax_types` MODIFY `name` varchar(60) NOT NULL;
ALTER TABLE `0_tax_types` MODIFY `purchasing_gl_code` varchar(15) NOT NULL;
ALTER TABLE `0_tax_types` MODIFY `sales_gl_code` varchar(15) NOT NULL;
ALTER TABLE `0_trans_tax_details` MODIFY `memo` tinytext;
ALTER TABLE `0_useronline` MODIFY `file` varchar(100) NOT NULL;
ALTER TABLE `0_useronline` MODIFY `ip` varchar(40) NOT NULL;
ALTER TABLE `0_users` MODIFY `def_print_destination` tinyint(1) NOT NULL;
ALTER TABLE `0_users` MODIFY `def_print_orientation` tinyint(1) NOT NULL;
ALTER TABLE `0_users` MODIFY `email` varchar(100) default NULL;
ALTER TABLE `0_users` MODIFY `language` varchar(20) default NULL;
ALTER TABLE `0_users` MODIFY `page_size` varchar(20) NOT NULL default 'A4';
ALTER TABLE `0_users` MODIFY `password` varchar(100) NOT NULL;
ALTER TABLE `0_users` MODIFY `phone` varchar(30) NOT NULL;
ALTER TABLE `0_users` MODIFY `print_profile` varchar(30) NOT NULL;
ALTER TABLE `0_users` MODIFY `real_name` varchar(100) NOT NULL;
ALTER TABLE `0_users` MODIFY `save_report_selections` smallint(6) NOT NULL;
ALTER TABLE `0_users` MODIFY `startup_tab` varchar(20) NOT NULL;
ALTER TABLE `0_users` MODIFY `theme` varchar(20) NOT NULL default 'default';
ALTER TABLE `0_users` MODIFY `transaction_days` smallint(6) NOT NULL default '30';
ALTER TABLE `0_users` MODIFY `use_date_picker` tinyint(1) NOT NULL default '1';
ALTER TABLE `0_users` MODIFY `user_id` varchar(60) NOT NULL;
ALTER TABLE `0_voided` MODIFY `memo_` tinytext NOT NULL;
ALTER TABLE `0_wo_issue_items` MODIFY `stock_id` varchar(40) default NULL;
ALTER TABLE `0_wo_issues` MODIFY `loc_code` varchar(5) default NULL;
ALTER TABLE `0_wo_issues` MODIFY `reference` varchar(100) default NULL;
ALTER TABLE `0_wo_manufacture` MODIFY `reference` varchar(100) default NULL;
ALTER TABLE `0_wo_requirements` MODIFY `loc_code` char(5) NOT NULL;
ALTER TABLE `0_wo_requirements` MODIFY `stock_id` char(20) NOT NULL;
ALTER TABLE `0_workcentres` MODIFY `description` char(50) NOT NULL;
ALTER TABLE `0_workcentres` MODIFY `name` char(40) NOT NULL;
ALTER TABLE `0_workorders` MODIFY `loc_code` varchar(5) NOT NULL;
ALTER TABLE `0_workorders` MODIFY `stock_id` varchar(20) NOT NULL;
ALTER TABLE `0_workorders` MODIFY `wo_ref` varchar(60) NOT NULL;
DROP TABLE `xx_reports`;

ALTER TABLE `0_cust_allocations` ADD UNIQUE `trans_type_from` (`person_id`,`trans_type_from`,`trans_no_from`,`trans_type_to`,`trans_no_to`);
ALTER TABLE `0_cust_branch` ADD `bank_account` varchar(60) DEFAULT NULL;
ALTER TABLE `0_cust_branch` DROP `contact_name`;
ALTER TABLE `0_cust_branch` DROP `disable_trans`;
ALTER TABLE `0_cust_branch` DROP INDEX `branch_code`;
DROP TABLE `0_dashboard_reminders`;
DROP TABLE `0_dashboard_widgets`;
ALTER TABLE `0_debtor_trans` MODIFY `debtor_no` int(11) unsigned NOT NULL;
ALTER TABLE `0_debtor_trans` ADD `prep_amount` double NOT NULL DEFAULT '0';
ALTER TABLE `0_debtor_trans` ADD `tax_included` tinyint(1) unsigned NOT NULL default '0';
ALTER TABLE `0_debtor_trans` MODIFY PRIMARY KEY (`type`,`trans_no`,`debtor_no`);
ALTER TABLE `0_debtor_trans_details` ADD KEY (`src_id`);
ALTER TABLE `0_debtor_trans_details` DROP INDEX `src_id`;
ALTER TABLE `0_gl_trans` MODIFY `type_no` int(11) NOT NULL;
ALTER TABLE `0_grn_batch` ADD `rate` double NULL default '1';
DROP TABLE `0_import_paypal`;
DROP TABLE `0_import_paypal_accounts`;
ALTER TABLE `0_journal` MODIFY `currency` char(3) NOT NULL;
ALTER TABLE `0_journal` MODIFY `reference` varchar(60) NOT NULL;
ALTER TABLE `0_journal` MODIFY `source_ref` varchar(60) NOT NULL;
ALTER TABLE `0_loc_stock` MODIFY `reorder_level` double NOT NULL default '0';
ALTER TABLE `0_locations` ADD `fixed_asset` tinyint(1) NOT NULL;
DROP TABLE `0_movement_types`;
ALTER TABLE `0_purch_order_details` ADD INDEX `itemcode` (`item_code`);
ALTER TABLE `0_purch_orders` ADD `alloc` double NOT NULL DEFAULT '0';
ALTER TABLE `0_purch_orders` ADD `prep_amount` double NOT NULL DEFAULT '0';
ALTER TABLE `0_quick_entries` ADD `usage` varchar(120) NULL;
ALTER TABLE `0_quick_entry_lines` ADD `memo` tinytext NOT NULL;
ALTER TABLE `0_reflines` MODIFY `description` varchar(60) NOT NULL;
ALTER TABLE `0_reflines` MODIFY `pattern` varchar(35) NOT NULL DEFAULT '1';
ALTER TABLE `0_reflines` MODIFY `prefix` char(5) NOT NULL;
ALTER TABLE `0_reflines` DROP INDEX `prefix`, ADD UNIQUE `prefix` (`trans_type`, `prefix`);
DROP TABLE `0_requisition_details`;
DROP TABLE `0_requisitions`;
ALTER TABLE `0_sales_order_details` ADD `invoiced` double NOT NULL DEFAULT '0';
ALTER TABLE `0_sales_order_details` ADD INDEX `stkcode` (`stk_code`);
ALTER TABLE `0_sales_orders` ADD `alloc` double NOT NULL DEFAULT '0';
ALTER TABLE `0_sales_orders` ADD `prep_amount` double NOT NULL DEFAULT '0';
ALTER TABLE `0_stock_category` DROP `dflt_assembly_act`;
ALTER TABLE `0_stock_category` ADD `dflt_no_purchase` tinyint(1) NOT NULL;
ALTER TABLE `0_stock_category` ADD `dflt_wip_act` varchar(15) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `description` varchar(200) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `fa_class_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `long_description` tinytext NOT NULL;
ALTER TABLE `0_stock_fa_class` MODIFY `parent_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_master` DROP `actual_cost`;
ALTER TABLE `0_stock_master` DROP `assembly_account`;
ALTER TABLE `0_stock_master` ADD `depreciation_date` date NOT NULL DEFAULT '0000-00-00';
ALTER TABLE `0_stock_master` ADD `depreciation_factor` double NOT NULL DEFAULT '1';
ALTER TABLE `0_stock_master` ADD `depreciation_method` char(1) NOT NULL DEFAULT 'S';
ALTER TABLE `0_stock_master` ADD `depreciation_rate` double NOT NULL DEFAULT '0';
ALTER TABLE `0_stock_master` ADD `depreciation_start` date NOT NULL DEFAULT '0000-00-00';
ALTER TABLE `0_stock_master` ADD `fa_class_id` varchar(20) NOT NULL;
ALTER TABLE `0_stock_master` DROP `last_cost`;
ALTER TABLE `0_stock_master` ADD `no_purchase` tinyint(1) NOT NULL;
ALTER TABLE `0_stock_master` ADD `purchase_cost` double NOT NULL default '0';
ALTER TABLE `0_stock_master` ADD `wip_account` varchar(15) NOT NULL;
ALTER TABLE `0_stock_moves` DROP `discount_percent`;
ALTER TABLE `0_stock_moves` DROP `person_id`;
ALTER TABLE `0_stock_moves` DROP `visible`;
ALTER TABLE `0_supp_allocations` ADD `person_id` int(11) DEFAULT NULL;
ALTER TABLE `0_supp_allocations` ADD UNIQUE `trans_type_from` (`person_id`,`trans_type_from`,`trans_no_from`,`trans_type_to`,`trans_no_to`);
ALTER TABLE `0_supp_invoice_items` ADD `dimension2_id` int(11) NOT NULL;
ALTER TABLE `0_supp_invoice_items` ADD `dimension_id` int(11) NOT NULL;
ALTER TABLE `0_supp_trans` MODIFY `supplier_id` int(11) unsigned NOT NULL;
ALTER TABLE `0_supp_trans` DROP INDEX `SupplierID_2`;
ALTER TABLE `0_supp_trans` DROP INDEX `type`;
ALTER TABLE `0_supp_trans` MODIFY PRIMARY KEY (`type`,`trans_no`,`supplier_id`);
ALTER TABLE `0_sys_prefs` MODIFY `value` TEXT NOT NULL DEFAULT '';
DROP TABLE `0_sys_types`;
ALTER TABLE `0_tax_group_items` DROP `rate`;
ALTER TABLE `0_tax_group_items` ADD `tax_shipping` tinyint(1) NOT NULL;
ALTER TABLE `0_tax_groups` DROP `tax_shipping`;
ALTER TABLE `0_trans_tax_details` ADD `reg_type` tinyint(1) default NULL;
ALTER TABLE `0_users` ADD `def_print_destination` tinyint(1) NOT NULL;
ALTER TABLE `0_users` ADD `def_print_orientation` tinyint(1) NOT NULL;
ALTER TABLE `0_users` ADD `save_report_selections` smallint(6) NOT NULL;
ALTER TABLE `0_users` ADD `transaction_days` smallint(6) NOT NULL default '30';
ALTER TABLE `0_users` ADD `use_date_picker` tinyint(1) NOT NULL default '1';
ALTER TABLE `0_wo_issue_items` ADD `unit_cost` double NOT NULL default '0';
ALTER TABLE `0_wo_requirements` DROP `std_cost`;
ALTER TABLE `0_wo_requirements` ADD `unit_cost` double NOT NULL default '0';
DROP TABLE `xx_reports`;

16

(20 replies, posted in Banking and General Ledger)

Nope, Nothing added to the table.

But...After poking around, it looks like things are failing because of a missing memo_ field:

DATABASE ERROR : The GL budget transaction could not be saved
error code : 1054
error message : Unknown column 'memo_' in 'field list'
sql that failed was : INSERT INTO 0_budget_trans (tran_date, account, dimension_id, dimension2_id, amount, memo_) VALUES ('2018-01-01', '0010', '0', '0', '0', '')

I just added the new field to the table (I just copied the field structure from 0_comments.memo_) and it now seems to save.

17

(20 replies, posted in Banking and General Ledger)

v2.4.3
No mater what I do, Budget Entry does not seem to save. 0_budget_trans always remains empty. No error log.
Any ideas?

I'm not sure I understand your answer.  My issue is that the item SHOULD be NON-taxable, but wasn't (it is corrected now).  It isnt a wrong type of tax... I do not believe I would need to create any new tax types...would I?

This is just to correct past mistakes.
I would like the tax amounts to be returned (or never removed from) the full payment amounts. 

I can see all of the wrong transaction with in the table: _trans_tax_details. 

Does this make better sense?
Thank You,
Bruce

I just noticed an item was incorrectly listed as taxable with the tax included.  There are now a number of payment transactions that have had tax set aside. 

Is there a way to correct the existing transactions?  Is it more than just editing the entries in _trans_tax_details?

Otherwise I could make a journal entry to move the tax, but the invoices would still show the tax.
Bruce