Troy Posted December 23, 2020 Share Posted December 23, 2020 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. 0 Quote Link to comment Share on other sites More sharing options...
Troy Posted January 22, 2021 Author Share Posted January 22, 2021 (edited) 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 January 22, 2021 by Troy 1 Quote Link to comment Share on other sites More sharing options...
Well Water Design Posted Tuesday at 05:30 PM Share Posted Tuesday at 05:30 PM Can you clarify on this? I'm in a similar situation. How are you setting up your tax settings in the admin area to accommodate for the 80%? I was told NOT to use a different percentage rate (6.6%) in settings as that would not be legally correct and would be challenged. Want to get this right. Thanks! 0 Quote Link to comment Share on other sites More sharing options...
Well Water Design Posted Tuesday at 05:36 PM Share Posted Tuesday at 05:36 PM 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.” 0 Quote Link to comment Share on other sites More sharing options...
DennisHermannsen Posted Tuesday at 09:24 PM Share Posted Tuesday at 09:24 PM 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. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.