Topic: varying sales tax for a supplier/customer

Hello and congratulations for this great software.

Here in Canada, our shipping company (Canada Post) charges us sales tax based on the destination of the items we ship. So if we ship within our province, both provincial (PST) and federal (GST) sales taxes are charged. If we ship to another province, only the federal sales tax applies. If we ship to a customer outside Canada, our shipper charges us no sales tax.

Therefore, every invoice we get from Canada Post has a different percentage of cost for GST and PST. Is there a way to specify tax amounts by directly entering them in the "Purchase Order Entry" or "Supplier Invoices"?

This would also be very handy for processing sales to "one-time" customers in the "Direct Delivery" and "Direct Invoice" areas.

-------

Also we would like to keep track of costs for our projects. From what I read, I think dimensions could do it. Is it possible to specify which dimension to apply costs to when entering entering sales or purchases? We would need this because each of our suppliers usually performs services for more than one project. Specifying a dimension for the supplier isn't useful here because that supplier usually work on several projects at the same time. Normally, one invoice from a supplier contains amounts from more than one project.

If anything is unclear, please let me know and I'll explain further.

Thank you and have a good day.

Re: varying sales tax for a supplier/customer

If supplier invoice tax is unique beyond tax on items, what we've done to pay utilities, bills, etc through creating an invoice is by adding "GL Items for this Invoice", then you just choose your Tax Accounts (GST / PST) and manually put the amounts in.

3 (edited by MozMan 11/11/2008 06:47:33 am)

Re: varying sales tax for a supplier/customer

Thanks for the reply.

Maybe I'm doing something wrong but I was unable to get the taxes to show up in the "Tax Report" under "Output Tax" and "Input Tax" when entering the taxes manually using the "GL Items for this Invoice". Nor does it display in the tax report when entering the purchase and GST/PST as a transaction (journal entry or payment) under "Banking and General Ledger".

Maybe I'm missing something but is there a way to display the total tax outputs and inputs when entering the tax amounts manually as GL lines? This would be handy when reporting to the government.

Cheers and thanks again.

Re: varying sales tax for a supplier/customer

Ya I think FA has it ready for GL accounts to be able to tie in with the tax somehow, but has not been implemented yet. If you put it as GL Items for this Invoice for Tax it should show up at the bottom under General Ledger no? Maybe you have to specify the Tax Groups first or something, did you set it under Tax Types?

Re: varying sales tax for a supplier/customer

At the end of the Tax Report, there is an accumulation of the GL Lines where the different taxes have been posted.

Regarding projects (dimensions) on the invoice etc., we are developing an option to select dimension(s) on the Sales Delivery and Sales Invoice/credit note pages. We do not need it on the Supplier side, because this side only affect the stock/inventory postings. Non items for the supplier can be entered under GL items and you can select dimensions here as well.
First when a delivery note is created the COGS accounts are involved. And ev. selected dimension(s) will go with these COGS lines.
When the invoice or a credit note is created adn dimension(s) are selected, the Sales accounts will include these dimension(s).
These selected dimension(s) will steer over ev. set dimension(s) on the item/cust.branch.
What I mean with the (s) in the dimensions is that you can set the company to have 0, 1 or 2 levels of dimensions. Se in dimension forum how this works.

If you have any opinion about this, please let us know.

/Joe

6 (edited by MozMan 11/14/2008 09:26:40 pm)

Re: varying sales tax for a supplier/customer

Many thanks for the replies.

Regarding project cost tracking with dimensions, basically what would be needed is to be able to select a dimension for any revenue or expense transaction entered. It's less important for us to associate a dimension to an Item or Inventory, because costs on any given product or service won't always be incurred on the same project (dimension). Anyway, I'll look at it further to see, maybe everything will work for us as is.

Regarding the tax reports. I understand that the accumulation of the tax GL Lines are shown on the report but we need to be able to show the GST/PST breakdown, rather just one sum.

It seems all of the tax transactions are included in the "0_gl_trans" table in the database. I was able to write a script that parses the database for sales tax transactions and add up the taxes separately as GST & PST. I'd like to share it because it might help other Canadian companies out there. To use it you would need to enter your own tax accounts as per your chart of accounts on lines 33 and 34. If you upload it to a location other than the main FA directory, you'll have to change the path to the include files on lines 3 and 4 to match.

I'm not a programmer and I'm sure there's a better way of coding it. For example, the tax types from the "0_tax_types" database table could be automatically obtained by the script instead of hard-coding the tax GL codes. The tax codes could then be used to sum up the different tax transactions. Also, the script doesn't PDF export, it just displays the amounts on the screen.

The script works for us because we have the same tax account set for "Sales GL Account" and "Purchase GL Account" for each of the taxes. Eg. GST Sales and Purchase GL account is 2310. PST Sales and Purchase GL is 2320

If anyone has suggestions or comments on how to improve the script, maybe I'll take another look at it when I have time. Feel free to improve and share it yourself.

Save the code in a file with a .php extension and upload it to your FA directory. Here it is:

<?php
$page_security = 8;
include_once("includes/session.inc");
include_once("includes/ui.inc");

$startdate=$_POST['startdate'];
$enddate=$_POST['enddate'];
$js = "";

if ($use_popup_windows)

    $js .= get_js_open_window(900, 500);

if ($use_date_picker)

    $js .= get_js_date_picker();
page(_("GST/PST sales report"), false, false, "", $js);


If ($startdate==NULL Or $enddate==NULL)
{
    start_form();
    start_table($table_style);
    table_section_title(_("Create a sales tax report"));
    start_row();
    date_cells(_("From:"), 'startdate', '', null, -30);
    end_row();
    start_row();

    date_cells(_("To:"), 'enddate');
    end_row();
    submit_row('submit', 'Generate');

    end_table();

    end_form();
}
Else
{
//configuration area
$GSTaccount="2310"; //GST chart of accounts number 
$PSTaccount="2320"; //PST chart of accounts number
//end of configuration area

$startdate=date2sql($startdate);
$enddate=date2sql($enddate);

$queryGST = "SELECT * FROM 0_gl_trans WHERE account='$GSTaccount' AND tran_date>='$startdate' AND tran_date<='$enddate'";
$resultGST = db_query($queryGST,"Error");

$GSTcollectible=0;
$GSTpayable=0;
$netGST=0;

    while($rowGST = mysql_fetch_array($resultGST, MYSQL_ASSOC))
    {
        If ($rowGST['amount'] > 0)
          {
              $GSTcollectible = $GSTcollectible + $rowGST['amount'];
          }
          elseif ($rowGST['amount'] < 0)
          {
              $GSTpayable = $GSTpayable + $rowGST['amount'];
          }
        $netGST=$netGST + $rowGST['amount'];
    } 

$PSTcollectible=0;
$PSTpayable=0;
$netPST=0;

$queryPST = "SELECT * FROM 0_gl_trans WHERE account='$PSTaccount' AND tran_date>='$startdate' AND tran_date<='$enddate'";
$resultPST = mysql_query($queryPST);
    while($rowPST = mysql_fetch_array($resultPST, MYSQL_ASSOC))
    {
        If ($rowPST['amount'] > 0)
          {
              $PSTcollectible = $PSTcollectible + $rowPST['amount'];
          }
          elseif ($rowPST['amount'] < 0)
          {
              $PSTpayable = $PSTpayable + $rowPST['amount'];
          }
        $netPST=$netPST + $rowPST['amount'];
    } 

$grandtotal=$netGST + $netPST;

$startdate=sql2date($startdate);
$enddate=sql2date($enddate);

start_table($table_style);    
table_section_title(_("Tax report ($startdate to $enddate)"));
start_row();
label_cell("GST charged on sales (Output Tax):");
amount_cell($GSTpayable, $bold=false);
end_row();
start_row();
label_cell("GST paid on purchases (Input Tax):");
amount_cell($GSTcollectible, $bold=false);
end_row();
start_row();
label_cell("Net GST payable or collectible:");
amount_cell($netGST, $bold=true);
end_row();

start_row();
label_cell();
label_cell();
end_row();

start_row();
label_cell("PST paid on purchases (Input Tax):");
amount_cell($PSTcollectible, $bold=false);
end_row();
start_row();
label_cell("PST charged on sales (Output Tax):");
amount_cell($PSTpayable, $bold=false);
end_row();
start_row();
label_cell("Net PST payable or collectible:");
amount_cell($netPST, $bold=true);
end_row();

start_row();
label_cell();
label_cell();
end_row();

start_row();
label_cell("Total payable or refund:");
amount_cell($grandtotal, $bold=true);
end_row();

end_table();

}
end_page();
?>

Best regards.

Re: varying sales tax for a supplier/customer

There is something similar at the end of the existing Tax Report. Maybe it should be replaced by your algorithm. I will have a closer look at it.
In release 2.1, the tax_code on account is changed from tax_type to tax_group to better handle the eventually multiple tax_types on an account.
You should also be glad waiting for this new release. You will be able to put dimension(s) on delivery notes, sales invoices and credit notes, so you can keep track of COGS and Sales for your dimensions.

/Joe

Re: varying sales tax for a supplier/customer

A Tax Inquiry, based partly on the above script has been added to release 2.1 unstable. It is placed in the Banking and General Ledger tab.
Committed to CVS 2.1 unstable.
Thanks for the contribution.

/Joe

Re: varying sales tax for a supplier/customer

Thank you Joe. Looking forward to 2.1

smile

Re: varying sales tax for a supplier/customer

Ok I am a programmer, not an accountant.

I am in the USA and I have to collect Sales Tax.

All of my sales are from my website running osCommerce.

It correctly collects sales tax based upon the delivery address.

I do not see how that can be implemented in FA.

I do see Addng a Customer Account and then Adding a Customer Branch, but there it seems I would need to know what the Tax rates is for each customer.

The tax collected is State (6%) and then an optional County (0% to 1.5% surcharge)

Since my long term goal is to have osCommerce feed sales and customer information to FA maybe my answer is to use the osc tax name (FL - Pasco) as a tax group name and be able to look that up when a customer is created. (Florida has 60+ counties!)

Are the Customer Branches basically SHIPPING Addresses that customer uses?

Re: varying sales tax for a supplier/customer

Yes, branch defines delivery address and tax group among others.

Tax system in FA is somewhat complex, but flexible enough to accommodate nearly every tax rules. The main idea behind this is using intersection of tax sets for given customer and item sold. So first you should define all used tax rates on Taxes page. Then make Tax Groups which define which tax rates are applicable to customers in given group. Next define Item Tax Types grouping all various rates applicable to given category of items. As far as I understand your description, what you need here is something like:
- Rates 6% state tax, 0% Surcharge, ..., 1,5% Surcharge
- Groups based on location of customer e.g.:
a) 6% State + 0% surcharge
b) 6% State + 1.5% surcharge
....
z) 0% export
- At least one item tax type e.g.
Standard Tax: 6% State + 0% surcharge +... +1,5% Surcharge +0% export

Now when you issue customer invoice  right taxes are selected for any item as intersection of Item Tax Group and customer Tax Group.

Hope it helps
Janusz

12 (edited by tom 03/27/2009 10:57:45 am)

Re: varying sales tax for a supplier/customer

So it seems I will have 6 Tax types
FL @ 6% and 5 for the various surcharges used within the state

and then 68 Tax Groups, one for each of the 67 counties
Pasco County (FL 6% + Surcharge 1%)
etc

and one for the rest of the world (Exempt)

And I see how I can link the Customer Branch to the proper Tax Group

ok and I see the Item Tax type can be used to tax different items at different rates (or exempt)

(I am enumerating al this in hopes of the example being useful to others)

Thanks
Tom

ps.

On
http://..../fa/index.php?application=system

I think 'Taxes' should be changed to 'Tax Yypes'

Re: varying sales tax for a supplier/customer

Hey

Where from sales tax invoice can be generated?

Re: varying sales tax for a supplier/customer

Someone please help me set this right;

I have 2 different items with 2 different tax rates.
ItemA – 4% VAT
ItemB – 12.5% VAT

One customer wants to buy both the items. My question is, can I create a direct invoice with both items in the same invoice? Will the taxes be calculated appropriately?
Before answering please look whether the settings I have is correct;
Tax Types:
TaxA – 4%
TaxB – 12.5%

Both the items have been configured with respective tax types.
With the above setting I am not able to get the tax calculated in the invoice when I try to create a direct invoice in the Sales module. Instead it shows 0.00 in the tax field.
PLEASE HELP!!!

Re: varying sales tax for a supplier/customer

You should also set tax group containing both tax types and apply it to your customer.
Janusz

Re: varying sales tax for a supplier/customer

Thank you :-)