Archive

Archive for May, 2007

Tax on Tangible Goods

May 16th, 2007 No comments

1) Do you have to charge Retail Sales Tax (RST)?

Yes. RST must be charged on the sales of all tangible property, unless exempt. The Government of Ontario defines “tangible property” as “anything that can be seen, weighed, measured, felt, or touched; that is, anything that we can perceive with our senses.

also includes computer programs, natural gas and manufactured gas”. So every time you sell one of your stained glass pieces, you’ll charge PST as well as GST.
2) How do you do invoice RST?

In Ontario, the Retail Sales Tax owing is calculated based on the selling price of the article before GST has been applied. So let’s suppose that the price you’re charging for one particular stained glass ornament is $24.95. The GST is 7%, which is $1.75 and the PST is $2.00 (8% in Ontario). You will list these charges separately on your sales invoice, along with the total of $28.70.

3) But what if you ship your products out of the province?

You are responsible for collecting the Retail Sales Tax for sales within Ontario. So if you ship a stained glass ornament to someone in another province (or in the U.S.), you don’t charge them the Retail Sales Tax. (Be sure, though, that you keep all your bills of lading and other shipping documents to prove that this was an out-of-province sale.)

4) What do you do with the Retail Sales Tax you’ve collected?

Basically you remit it to the province. The first step is to register as a vendor. In Ontario, this means that you fill out an RST Vendor Permit. You can do this in person at an Ontario Ministry of Finance office, by phone, by mail, or through an Ontario Business Connects workstation. Registration as a vendor is free.

Then, just as you do with the GST, it’s a matter of keeping track of the Retail Sales Tax you collect and filling out and filing an RST return form. The form comes with line-by-line instructions. In Ontario, how often you have to file your RST returns (and pay what you owe) is determined by the amount of RST you charge your customers each month; the government will tell you how often you have to file when you register.

Note that unlike the GST, there is no ‘small supplier’ classification for the Retail Sales Tax. In other words, even if your sales are small, if you’re selling taxable goods and/or services, you must obtain a Vendor’s Permit and report your Retail Sales taxes.

5) What about the Retail Sales Tax you’ve paid for business supplies?

In Ontario, you have to pay RST on any equipment or supplies that you purchase for use in your business. In fact, if you buy equipment or supplies from a supplier outside of Ontario, you have to self-assess RST when you bring the goods into Ontario.

However, you can claim an exemption from RST for any taxable goods or taxable services that you purchase and intend to resell, such as your inventory. To do this, you give your supplier a Purchase Exemption Certificate (PEC) at the time of sale. Here are details of what a properly completed PEC must include and how to use it (from the Government of Ontario).

The same process of charging, collecting, and remitting provincial sales tax that I’ve outlined in the example above applies to businesses in BC, Saskatchewan and Manitoba (although the PST rates vary from province to province). For more information about applying PST (or RST), visit my Provincial Sales Tax Library. You may also want to visit my GST/HST Library to learn how the GST apples to your business.

Categories: Articles Tags:

Digital Graphic Artwork is NOT taxable

May 16th, 2007 No comments

If you produce and deliver your work in electronic format than it is NOT taxable and you cannot claim your equipment as tax excempt.

Here’s an excerpt:

This includes all artwork in hard copy format ie disks, CDs or paper copies. This does not include artwork transferred to a customer in electronic format, or placed directly on a server which is connected to the Internet. Althoug annual reports are classifed as a taxable book, digital artwork for these reports that aways remain in digital format is the provosion of a non-taxable service.

Graphic artists who only provide artwork in digital format (without the provision of a tangible hard copy format) are providing a non-taxable service. As the provider of a non-taxable service, the graphic designer should not charge RST to their customer. However, at the provider of a non-taxable service, the graphic designer MUST pay RST on ant taxable materials or services it requires in order to provide its non=taxable service.

BTW this applies to web designers and coders…

Categories: Articles Tags:

Allow register_globals ON and short_open_tag on virtual sites

May 16th, 2007 No comments

It is good practice to leave the default options for Register_Globals and short_open_tags as ‘OFF’ – for security reasons. However you may be hosting a site that wants to use code written by LAZY coders. (if you’re coding you shouldn’t be using sloppy super globals or short tags – don’t be so frakin lazy).

If you do need to host some sloppy PHP then you can set these options to ON in an .htaccess file.

First set the directive in the sites config in the tag to “AllowOverride” (and gracefully restart apache).

Second create an “.htaccess” file at the root directory of the virtual site and enter:
php_flag register_globals ON
php_flag short_open_tag ON

When apache reloads it will check every directory here for an .htaccess file and follow the directions. (you don’t need to reload if you reloaded when you added the AllowOverride)

Categories: code Tags:

Authenticating changes with MySQL 4

May 16th, 2007 No comments

If you get the error “Client does not support authentication protocol” it is because of a change in MySQL 4+’s password hashing…

here’s a function I wrote to determine the password’s length:

function password_length ($pass_field, $table, $field, $field_data) {
// figure out the length of the password (old is 16)
$sql = “SELECT “.$pass_field.” FROM “.$table.” WHERE “.$field.” = ‘”.$field_data.”‘”;
$result = mysql_query($sql);
list ($password) = mysql_fetch_array($result);
return strlen($password);
}

if the password length is 16 chars then you’ll need to add “old_password()” to log in:

function check_login ($email, $password) {

$password_length = (password_length(“password”, “users”, “email”, $email));

if ($password_length >= 17) {
$sql = “SELECT email, password, firstName, lastName, active, USER_ID FROM users WHERE email = ‘$email’ AND password = password(‘$password’)”;
//echo $sql;
$result = mysql_query($sql);
list($email, $password, $firstName, $lastName, $active, $user_id) = mysql_fetch_array($result);
} else {
$sql = “SELECT email, password, firstName, lastName, active, USER_ID FROM users WHERE email = ‘$email’ AND password = old_password(‘$password’)”;
$result = mysql_query($sql);
list($email, $password, $firstName, $lastName, $active, $user_id) = mysql_fetch_array($result);
}
$user[email]= $email;
$user[password] = $password;
$user[firstName] = $firstName;
$user[lastName] = $lastName;
$user[active] = $active;
$user[user_id] = $user_id;
return $user;
}

Here I stick the resulting user info into an array called “user”…

Categories: code Tags:

This site has been visited times since March 2000.