3,476

(1 replies, posted in FA Modifications)

TCPDF is for reporting only.
FA uses it's own framework.

3,477

(0 replies, posted in Modules Add-on's)

Adminer can be used effectively for FrontAccounting. The Adminer Editor can be leveraged to getting data into specific FA tables. It is available in GitHub.

phpLeaveManager is my example/tutorial for Adminer Editor that can be used as a template for managing FA Tables.

3,478

(1 replies, posted in Accounts Payable)

You have asked many questions to which you may find answers by consulting the wiki. Also search the forums here. Take support from consultants for implementation.

3,479

(3 replies, posted in Banking and General Ledger)

Refer this commit.

When a direct invoice has been voided what policy do you expect for any payments received for that invoice till then?

Actually any payments received from the customer for that invoice should be either voided or re-assigned to be advances received on account before voiding any associated direct invoice.

Check the customer ledger account to see if the customer payment is still there and void it there if necessary.

@joe: What is the policy on treating customer payments received on voiding associated direct invoice?

If there is an error in the opening balance of one account where did the contra entry go? The Balance Sheet should balance out and the difference might get into Cash on Hand. Pass a Journal Voucher to correct the error as on the first day of 2015.

Alternatively, re-open the previous year, make corrections there and then close the previous year and see what gives.

Anything in the error logs?

Pass a Journal Voucher correcting it.

How did you get the opening balance - by closing the previous year or by entering a JV in the current year?

Make a separate clean install of FA v2.3.25 and take a backup of the sql schema.
Compare the sql with that of your pre-upgrade v2.3.22 and see if there are any settings change.
Compare the sql/en_US-new.sql in FA v2.3.25+ with your Singapore CoA and see what differs.

Provide an ERD schema of the new tables your module has introduced along with a workflow diagram.
Where is the GitHub repo for others to take it forward?
What licence does it come with?

In plain vanilla FA, there is no cheque number field. It must exist only in the Memo / Description field. You can make a module extension for yourself for the new field in the forms / reports with new tables in a 1:1 relationship with existing ones or extend the table schema for a new field. Such changed will break your upgradeability unless you also upgrade your module extension.

Attempting to live within the Memo / Description field can be done using the Inventory Bin hack listed in the wiki.

Is there anyone facing this issue?

If there is a customer payment or bank deposit involved the amount should not be 0 (!=0). So where is the problem?

Then treat the payment as on Account and pay by allocation with check number which would be searchable. For reporting by cheque number, you will have to parse it out into a custom report.

@joe: what parts need to make it to the core?

Best way:
1. Take sql backup.
2. Manually make 1 entry.
3. Take another sql backup
4. Compare the backups and see what changed
5. Generate and execute MySQL statements (in phpMyAdmin, SQLyog, etc) to simulate these changes (Inserts / Updates) for all other entries to be imported.

Which version of FA are you using?
The current stable one is v2.3.25+.
Which Chart of Account are you using?

Since it is related to another post, it is best if posted in that thread itself.

3,492

(3 replies, posted in Setup)

In the Charts itself?

Use the Memo box with wordings being "Part of Ch No...."

Does the client use FrontAccounting or do they intend to do so?
This is not a general employment forum but specific to FA related work.

Kindly provide code changes that worked.
It may be necessary to make the storage in the tables proper so that they do not get encoded multiple times like & => & amp; => & amp;amp; etc.

There is some code in FA where Polish characters are spared. Checkout includes/session.inc lines 312-332 in FA 2.3:

function html_cleanup(&$parms)
{
    foreach($parms as $name => $value) {
//        $value = @html_entity_decode($value, ENT_QUOTES, $_SESSION['language']->encoding);
        if (is_array($value))
            html_cleanup($parms[$name]);
        else
            $parms[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding=='iso-8859-2' ? 'ISO-8859-1' : $_SESSION['language']->encoding);
    }
    reset($parms); // needed for direct key() usage later throughout the sources
}

A full list is here.

A complete search and replace in the database is in order for such fields.
This is a known issue atleast in FA 2.3.

3,498

(1 replies, posted in Announcements)

@Digger: Thanks a ton!
@joe: This should be a sticky!

Please state the steps with screenshots if possible to replicate the issue preferably in the Training demo company.

3,500

(10 replies, posted in Report Bugs here)

In FA 2.3 only some tables are InnoDB by default. You can try to first use the option of one-file-per-table so that the tables are moved away from the heap.

What version of MySQL are you using?
It is also possible you may have hit the limit of max_input_vars.

The MySQL will go away only when it does not have sufficient resources to continue to run.

Which tables in FA are you referring to?
What indexes are present for them and whether you have some additional index for optimisation from here.

1. Manually take backup of FA db.
2. Before deleting fiscal year from table, note it's id.
3. Check the entity relationship diagrams for all references to the fiscal year id.
4. The fiscal_year table's id field is related to fiscal_year field in audit_trail table.
5. In all other tables, the date is compared to check whether it is within the fiscal_year's date range.
6. In the sys_prefs table, there is a record for name= 'f_year'.

You might want to copy over the records you want to retain to a new table and delete the current table and then rename the newly created table to the original table's name.

The function delete_this_fiscalyear($selected_id) in admin/db/fiscalyears_db.inc does the fiscal_year deletion.