Jump to content

Texas Sales Tax


Troy

Recommended Posts

I'm getting ready to set up a second company in Dallas. (Current one is outside of Texas and I haven't had to deal with sales tax.)

As I understand it, a Texas based company must charge sales tax for hosting services, (only to clients who are also located in Texas), but 20% of the charge is exempt.

Texas sales tax is 6.25%, and Dallas city sales tax is 2.00%, for a total of 8.25%

Two questions for anyone who is already in this situation:

1. Do you separate the two taxes (Level 1 and Level 2) or charge a single rate? I assume separating them would make it easier to report the amounts one should remit to each agency? (I haven't formed the company yet so am just assuming there would be two separate payouts, one to the state and one to the city?)

2. To accommodate the 20% exemption do you charge 5.00% state sales tax  (80% of 6.25) and 1.60% (80% of 2.00) city sales tax? Reducing the tax rate by 20% is functionally equivalent to making 20% of the entire charge exempt, so I assume this would work out okay, but I'd like to get it right from the get-go.

Link to comment
Share on other sites

  • 5 weeks later...

In case anyone else has these questions, here are the answers now that I'm set up in Texas:

1. Sales tax is remitted solely to the Texas Comptroller of Public Accounts, which then remits to the separate taxing locales as necessary. No need for level 1/2 taxes to separate state from local sales tax.

2. 20% of digital services / data processing is exempt from sales tax, so you should only collect 80% of the sales tax for which you will be liable. In my case 8.25% (State of Texas + Dallas City) * 0.8 = 6.6%.

Edited by Troy
Link to comment
Share on other sites

  • 4 years later...

To be clear, this is the response I got from my legal:

Texas doesn’t reduce the rate — they reduce the taxable portion of the charge.  Texas Rule §3.330: Data processing services are taxed at the full rate (8.25%), but only on 80% of the charge.  So the rate is always 8.25%. The law explicitly states you’re not allowed to lower the tax rate to account for the 20% exemption.

From the Texas Comptroller:  Do not reduce the tax rate. Instead, apply the full rate (8.25%) to 80% of the total charge.

Link to comment
Share on other sites

3 hours ago, Well Water Design said:

From the Texas Comptroller:  Do not reduce the tax rate. Instead, apply the full rate (8.25%) to 80% of the total charge.

This is not something WHMCS would be capable of. 

You could create some custom code that would help solve this issue. Maybe like this:
 

<?php

use WHMCS\Database\Capsule;

add_hook('InvoiceCreationPreEmail', 1, function($vars) {
    $invoiceId = $vars['invoiceid'];

    // get the invoice details
    $invoice = Capsule::table('tblinvoices')->where('id', $invoiceId)->first();
    $clientId = $invoice->userid;

    // get client details
    $client = Capsule::table('tblclients')->where('id', $clientId)->first();

    if ($client->state != 'TX') {
        // not a Texas customer, do nothing
        return;
    }

    // get invoice line items
    $items = Capsule::table('tblinvoiceitems')->where('invoiceid', $invoiceId)->get();

    foreach ($items as $item) {
        if ($item->taxed) {
            $originalAmount = $item->amount;
            
            // 80% of amount should be taxed
            $taxableAmount = round($originalAmount * 0.8, 2);
            $nonTaxableAmount = $originalAmount - $taxableAmount;
            
            // update the existing line to taxable on 80% of its amount
            Capsule::table('tblinvoiceitems')
                ->where('id', $item->id)
                ->update([
                    'amount' => $taxableAmount
                ]);
            
            // create a new non-taxable line item for the other 20%
            Capsule::table('tblinvoiceitems')->insert([
                'invoiceid' => $invoiceId,
                'userid'    => $clientId,
                'description' => $item->description . ' (Non-taxable portion)',
                'amount'    => $nonTaxableAmount,
                'taxed'     => 0
            ]);
        }
    }
});

I have not tested the above code, but it should solve the issue by splitting the taxable items into 2 - first item would be 80% of the price (at full tax rate), and the new line item would be the remaining 20% at 0% tax.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated