The tax system in FA is somewhat complex, but flexible enough to accommodate nearly all tax rules. The system contains the following configurable elements:

Definitions of all used tax rates/types used in Item Tax Types and/or Tax Groups.
Tax Groups
Tax rates sets for various groups of customers. More commonly some group for domestic customer and another for export sales is defined.
Item Tax Types
Groups of all tax rates (types) appropriate for some kind of goods sold. For historical reasons Item Tax Types are defined in reverse way i.e. the item tax type contains all tax rates which are not explicitly exempted.

Basically the tax calculated is selected as intersection of set of taxes applicable to item and set of taxes applicable to customer/supplier.

Important: Tax Groups are not accessible by default prior to FA v2.3.12. In order to access this field, you will need to go the Setup tab and select Access Setup. Enable Tax Groups under the Banking & GL Config heading.

Note: Forum Post: The switch $auto_create_branch in config.php decides whether the branch record is created automatically for new customer or you manually enter it. At least one branch record must be created for each customer, otherwise the customer is unusable for tax purposes. This is because the taxation does not depend on the legal company registration address, but on where the real business activity is performed. Therefore it has to be selected at the branch, not customer level.

Note: Tax Inclusion in rate: Sales => Sales Types - If the box marked Tax included is checked, FrontAccounting seems to assume that the tax is already included in the item price. Therefore, tax will not show on the sales order or invoice.


Hypothetical VAT system with 2 rates for domestic trade and special single 1% export tax will have following settings:

  1. Taxes:
    • VAT 19%
    • VAT 5%
    • Export tax 1%
  2. Tax Groups:
    • 'VAT' - includes types VAT 19% and VAT 5%. Set for domestic customers
    • 'Export' - only Export tax 1%. Set for foreign sale.
  3. Item Tax Type:
    • 'Regular' goods: VAT 19% and Export tax 1% (5%VAT is exempt)
    • 'Preferenced' goods: VAT 5% and Export tax 1% (19%VAT is exempt)

Now, if you sell preferenced goods with lower VAT rate (say food) for domestic customers the result VAT is 5%:

   (5% VAT, 1% Exp) X (5% VAT, 19% VAT) => 5% VAT

For items taxed with regular rate:

   (19% VAT, 1% Exp) X (5% VAT, 19% VAT) => 19% VAT

If you sell regular goods with regular VAT rate to foreign customer the result tax is always 1%:

   (19% VAT, 1% Exp) X (1% Exp) => 1% Exp


   (5% VAT, 1% Exp) X (1% Exp) => 1% Exp

This method works correctly for any customer/supplier/items tax arrangements, providing correct tax setup. Maybe this is not straight forward, but it works correctly for most local tax systems.

Using Tax on already added Tax (Some Canadian Regions use this)

Certain regions in Canada have a Federal Tax of 5% and a Provincial tax of 7.5% on already taxed items. Here is how you can handle that.

  1. First create 2 Tax Types:
    • Federal Tax 5%, rate 5. Remember to include the 5% in the name.
    • Provincial Tax 7.5%, rate 7.875. (7.5 * 1.05). Remember to include the 7.5% in the name. You may need to increase the percent decimals in preferences. The value 1.05 is the value of Federal Tax + 1. If the Federal Tax was 6% this value would be 1.06.
  2. Combine these two Tax Types into a Tax Group.
  3. Find the variable, $suppress_tax_rates, in config.php about line 193. Change the value to 1. This will suppress the internal tax rate when printing.
  4. That's it.

Using the Tax System

  1. After you have setup your Tax System it is time to explain how to use the Tax System in practice.
  2. Let us say, that you have a Tax Reporting Period of 1 month and you have to report this per the 15th of the following month.
  3. Then you will run The Tax Report somewhere between the 1st and the 15th of the following month.
  4. Let us say that you have to report the Tax on Feb, 15. You run a Tax Report, and if you have set the period value and the months back value to 1 in the Company Setup, FA will suggest the period 01/01/2010 to 01/31/2010. Print out this report.
  5. Before we go any further, it is time to consider how the Tax Transaction Details are collected. They are kept inside a table, called trans_tax_details. This table also holds the tax details for all documents and quick entries.
  6. To avoid booking The Payment directly against the Tax Accounts, we should create or use an Accrued Account for our Tax collection.
  7. So per 01/31/2010 we would enter a JE where we empty the Tax Accounts and counter book them on the Accrued Tax Account.
  8. Now, when you pay the Tax via Bank Payment, you debit this Accrued Tax Account and your bank account is credited.
  9. If you should have a Tax collect, you would of course use the Bank Deposit instead, and book the other way round.
  10. So you see, it is mandatory to use an accrued Tax Account, if you pay later than the Reporting Period. If you pay later using the Tax Accounts directly, you will destroy the Tax Information for the next period (month).
  11. Next period (month), when you run the next Tax Report, FA will suggest the period from 02/01/2010 to 02/28/2010 and the transactions from January (where you emptied the tax accounts) are NOT included in the report.

Import Tax.

If you need the possibility to enter Purchase Invoices from another country with Import Tax (so called zero'ed tax), you can do that the following way:

  1. Create a new account near the Sales Tax, e.g. 2151 and name it Import Tax and place it in Current Liabilities.
  2. Create a new Tax Type. Call it Import Tax. Give it the same rate as you use for normal tax, e.g. 23%. Select the newly created account for both sales and purchases.
  3. Don't include this Import Tax in any Tax Group.
  4. Create a Quick Entry. Call it Import. Select Supplier Invoice/Credit as type. Enter 'Invoice amount' as base amount description.
  5. Create a line, choose '% amount of base'. Select the newly created account, 2151. Enter -23 % (The same rate as the Import Tax Type with a minus sign). Create another line, choose '% amount of base'. Select the normal account for Purchase tax (maybe the same as Sales tax). Enter 23 % (the same rate as your normal Tax Type).

You are now ready for entering an Import Supplier Invoice.

  1. Your foreign supplier must be Tax Exempt. If NOT, the purchase tax is already calculated and you should omit the last line of the Quick Entries.
  2. Enter the supplier lines as normal in Supplier Invoice (right pane).
  3. Finally select The Quick Entry 'Import' that we already created. Select the same amount as on the invoice.
  4. Your Import tax linex will now show up in the GL Items.
  5. Enter a Supplier Reference and save your invoice.

Non VATable Shipping Workaround

Reference: Forum Post

Issue: FA is not posting any invoices with zero/nil tax supplier invoices to trans_tax_details table. Some countries (like UK) need total amount of all purchases and sales within the tax period to be part of their tax return.

Feedback: What the system should post in its database is what is inserted on the form. By inserting a background calculated value into the database table without notifying the user is very misleading. A suggestion is to bring tax code assignment to each GL account in next upgrade.


  • Create a Shipping Service Item in Items and Inventory
  • Set the initial price to 0
  • When entering Supplier Invoice, first fill in the real price
  • It now ensures correct Tax Report

Service Tax Item Type

Reference: Forum Post

  1. Create one service item of type service. Let the text be editable. Set no price on this item.
  2. Use this item every time you want to put it on the invoice. Change the description and price.
  3. If the same item is used on several lines, ignore the warning that arises.
  4. Setup normal GST (Tax) in Tax Types and Tax Groups.

Changing Tax Percent

Example: In the Netherlands, after 30th Sep 2012, the Tax changed from 19% to 21%.

  1. First see that all invoices etc in the period ending 30th Sep 2012 are finalized and booked in the correct period.
  2. Change the tax rate and name of the 19% vat charge in the settings screen to 21%.
  3. All works fine now - No automatic corrections in previous periods.

Multiple Taxes (India)!!!!

  • Forum Post
  • Create multiple taxes and define their respective percentages(12, 0.24 etc) in settings module
  • Go to tax group and select the default customer tax group and click the check boxes in tax section to include multiple tax in a single invoice.
  • Now go to Sales module and create invoice