计算加州销售税

时间:2008-11-19 17:47:43

标签: shipping sales-tax

我正在开发的一个网络应用程序有一个相当小的网上商店/购物车。由于客户公司实际位于加利福尼亚州并且在那里有实际位置,因此他们需要对运往加利福尼亚州所有地点的订单征收CA销售税。

对于那些不知道的人,CA有一些相当复杂的销售税规则,基本上,任何本地集团都可以创建一个“税区”,并在全州范围内利用额外的几美分销售税基数为7.25%。 (通常少于1%的额外费用。)这些地区不必映射到任何其他立法边界,因此最终可能会有半个城市支付额外的.25%销售税。

从技术上讲,法律只要求您作为卖方向您所在地点征收销售税率 - 因此,如果我在萨克拉门托有一家商店,我只需要对所有已发货的订单征收萨克拉门托销售税。

但是,出于各种会计和纳税申报的原因,实际上更容易对订单所在地点的销售税收取 。 (这意味着可能会对每个订单征收不同的销售税。)

所以 - 我的问题。是否有人知道任何光滑的方法来计算这个?实际工作所需的数据在州均衡委员会网站上以各种半有用的格式提供,我们正在将一个小部件组合在一起,试图根据城市名称和城市名称来计算销售税。邮政编码。但是,我想知道是否有人遇到任何很酷的工具来解决这个问题。 (或者根本就是任何工具。)

(我们正在使用VB和ASP.net,但我对任何语言的解决方案感兴趣,主要是因为我很着迷于看到其他人如何解决这个问题。)

附录 - 回答以下问题:

蒂姆问这怎么可能“更容易”。我被告知以这种方式缴纳销售税可以简化您的纳税申报表。我对细节很不满意,但据我了解,如果你不收取运费地点的费率,你必须证明为什么你没有在年底的每一个订单 - 即你必须证明不,我们在这里而不是那里,所以我们在这里收取费率

然而,如果你总是收取目的地费率,你可以(显然)在一行中记下你在一年内收集的销售税总额,并说“销售税是这么多。

看起来国家并不关心你做了什么。因此,通过“更容易”,我的意思是“会计师更容易” - 这对我们编程团队来说当然不容易。

此外,Schnapple的德克萨斯故事是一个潜在的解决方案。 (事实上​​,我今天上午提出了这个想法。)CA真的不在乎你是否多收了销售税,只要你不收取任何费用并交出你收集的所有东西。这里的问题是,与德克萨斯州(显然)不同,大部分的CA都不在特殊的税区。因此,虽然我们可以为每个人收取最高级别​​(我认为目前为8.75),但大多数客户会介意不按正常率7.25播放。我想我不能责怪他们。

9 个答案:

答案 0 :(得分:3)

德克萨斯州做了类似的事情 - 州税是6.25%,然后是1%的地方税(如县特定的税)和1%的额外“公共交通”税。实际效果是,当你去德克萨斯州的某个地方时,你要支付8.25%的销售税。最高为8.25%。从理论上讲,可能会有一些地区不收取地方税,但我从来没有碰到过任何地方税。理论上,地方税也可能超过1%,导致公共交通税低于1%,但我再也没见过。

多年前,当我是一个小型企业的共同所有者,我们在线销售东西(可下载的数据文件)时,我参加了一个由州政府提出的小型研讨会,向我们解释税收。由于这是我当时所在的一个小镇,当地的电视新闻报道了这个事件(那是一个无聊的小镇)。

无论是我或其他人在某一点上问过“你知道,因为弄清楚所有这些税收是很复杂的,而且它往往是8.25%,我们不能只收取8.25%的所有费用并发送给你吗?

参加研讨会的人问电影摄制组,“那是拍摄的东西吗?”

一旦摄制组说不,他说“是的,你可以这样做,我们不会有任何问题”

当时提交销售税的表格并不具体,足以说明该项目在该州的所在地,因此我们向德克萨斯州的每个人收取8.25%的费用,对德克萨斯州以外的所有人都没有收费,每个人都很高兴。

因此,无论如何,你可能会对加州并不真正关心的事情做出反击......

答案 1 :(得分:1)

我同意这很复杂。 Sabrix是另一个第三方资源,为中小型公司提供托管税务服务以及大型企业解决方案。不确定定价模型是什么。

答案 2 :(得分:1)

我的需求是针对零售销售点,但它可以适应基于zip的解决方案。由于回报和返回的可能性来自其他税区,销售点登记册必须具有完整的税收规则定义。

我们的交易支持无限数量的征税司法管辖区。每个税收管辖区都提供了一种基于表概念计算税收的方法,就像所得税一样。该软件将识别所有发挥作用的司法管辖区并计算适当的税收。

例如,纽约州对每件价格超过110美元的个别商品征收奢侈税(这是第一个109.99美元的退税费用),当地县有税,所以我们可以定义:

Auth  Start$  End$    Rate  Base    
NY    0       109.99  0%    $0.00
NY    110.00  -       4%    $4.40
NYALB 0       -       4%    $0.00

因此,在奥尔巴尼出售50美元的物品导致4%的税收为2美元 - NYALB税率为4%,纽约税率为0%。 120.00美元的出售导致8%的有效税收9.60美元 - NYALB税率为4%,纽约税率为4%,超过110美元+ 4.40美元。

科罗拉多州有一个单独的乡镇,有PIF税,除州和县税外,本身也要征税。

爱达荷州根据.002规则轮次 - 如果计算的税额为4.002,那么应纳税额为4.01。一些司法管辖区总是围捕。对于每个司法管辖区,我们附加一个舍入规则来进一步处理税:Up,Down,.005和.002。

如果您有兴趣维护自己的税收规则,我发现在这个时代组织税务数据是最灵活的。

但是有几个人已经提到过,有些服务可以为您提供税务数据。你只需要弄清楚如何整合它。

编辑:税务假期...... 我们也支持这一点,只是添加了一个单独的表格,其中包含一个司法管辖区假期的开始和结束日期。在这些日期,税务机构只会吐出零。

答案 3 :(得分:1)

我今天一直在为我最近开始在线销售的公司调查这个问题。 CA BOE按城市列出税率,而不是邮政编码。税区是城市/县,所以它是有道理的。

从编程的角度来看,如果任何州根据邮政编码征税,我会感到惊讶,因为邮政编码可以包括多个城市/县甚至州。但是,如果你想要获得可能性,那么我会创建一个表格,列出城市,县,州,邮政编码和税率。然后按城市,州和邮政编码查看该表。您可能会获得一个,但在多个结果的情况下使用最高的速率。使城市,州和税率必填字段,其余可选。

您还需要能够导入数据文件。

答案 4 :(得分:0)

对于这些不断变化的规则,第三方资源几乎是不可或缺的。

Here's one.这就是SaaS。

答案 5 :(得分:0)

我在以前的工作中使用Vertex来处理iSeries上托管的邮件订单操作。我们将它挂钩到我们的订购系统中。

Vertex使用geocoding来确定销售税。五位数的邮政编码不够精确,无法在加利福尼亚等地区找到销售税。有一些特殊的经济发展区域(如新的商场)可以有自己的税收。因此,税收可能只适用于一个特定地址(对于商场)。

随着税收的颁布或更改,Vertex会定期更新。此外,如果有免税期,您可能需要进入顶点表格以关闭一段时间的税收。

Alram,该公司通过所有销售渠道销售额达3亿美元。没有关于价格的线索。

答案 6 :(得分:0)

“从技术上讲,法律只要求您作为卖家在您所在地点征收销售税率 - 所以,如果我在萨克拉门托有一家商店,我只需要对所有发货的订单征收萨克拉门托销售税。

但是,出于各种会计和纳税申报的原因,实际上更容易对订单运送到的地点征收销售税。 (这意味着可能对每一个订单征收不同的销售税。)“

有没有人在这看到矛盾?对我而言,仅仅使用卖家的位置并完成它是微不足道的 - 特别是如果这满足了状态为什么要麻烦。你对“它实际上更容易收费......”的评论不是真的 - 如果它更容易你就不会问这个问题。

只是我的意见

此外 - 如果这是礼品,该怎么办?购买者不是船舶地址,也不是购买地点。在我看来(仍然)如果满足状态那么只使用一个已知位置会更好。

答案 7 :(得分:0)

efileSalesTax.com是一个基于网络的系统,用于提交加州销售纳税申报表。只需输入总销售额和非应税销售额(如果有的话),系统就会计算整个表格,然后通过电子方式归档返回州。每份申请价格为6.95美元,批量清理文件的折扣,或无限量申请/无限纳税人每年199美元。

他们还支持佛罗里达州,伊利诺伊州和科罗拉多州的销售税。

答案 8 :(得分:0)

我将讨论纽约税收以及我如何实施我的代码来处理通过POS收取的税款并跟踪税务报告。许多原则将适用于许多州。

首先是“税收管辖权”并猜测这不一定意味着“县”或“城市”,绝对不是“邮政编码”,但我很确定它总是包含“州”。所以我们需要一个用于'税收管辖权'的数据库表。报告在纽约州100指数上征收的销售税需要征税。所以,你必须跟踪它才能做到正确。如果我在罗切斯特和布法罗有一家商店,我需要跟踪在当地和州一级征收的税款,以便正确处理季度税表。因此,销售发票需要获得税收管辖区的ID。

例如,以下是纽约的税收管辖区,这是从销售税报告.pdf的nys-100中提取的,但实际上是有用的形式: http://embrasse-moi.com/exampleData/new_york_tax_jurisdictions.csv

我们社区需要的是所有50个州的相同数据。

因此,店内销售非常简单,我有州税,以及追踪的当地税。不幸的是,我们应该根据纽约的运输目的地征税,这意味着我们基本上需要在我们的数据库中的所有“税收管辖区”都是正确的。税率的差异通常不超过0.75%,但在考虑豁免时可能会增加,因此如果审计收取费用,则绕过添加我们将赌博的所有本地税率并使用4%的违约率很可能会低于全额税率实施和维护的成本,但这取决于你的数量。

接下来,费率可能会发生变化。因此,您需要一个数据库表来指定税率的起始日期以及税收管辖权。

接下来,有“免税”对应税种。我们出售服装,并且通常给予“服装和鞋类”豁免。所以你需要一个税表类别的数据库表。我在产品类别中添加了默认税类ID,然后在添加新产品时将默认税类别写入产品。

现在您可以添加税率。我有一个表单来添加状态速率,并将其保存在我的日期特定tax_rate数据库表中的唯一列中。我有另一种形式来添加本地费率,再次放入同一个tax_rate表。此税率特定于税收类别。

因此,例如我在纽约州增加了4%的税率,从1-1-1900开始,适用于所有税种。 然后我添加了所有税务管辖区,我编写了从上面的文件中提取数据,再次开始日期1-1-1900,上面的文件中的费率。适用于所有类别。

然后你需要对免税类别做同样的事,对州和所有地方税收管辖区都要做0%。

然后我们添加豁免。这实际上现在有点容易,因为豁免是在州一级,只有少数tax_jurisdictions支持豁免。 所以我添加了纽约,0%从2011年4月开始,服装类别最高价值55美元 然后我添加了纽约,2011年10月开始为服装类别增加4%(这取代了豁免) 然后我添加了纽约,0%从2012年4月开始,服装类别的最高价值为110美元。

现在我应该为每个地方税务管辖区做这件事,但就像我说的那样,只有少数人提供豁免,但功能就在那里。

最后在运输时,您需要进入税收管辖区。这是不可能发生的地方,但对于我的POS系统,我必须要求“县”,因为这将是最容易理解的选择。在纽约..当然..纽约市是布朗克斯县,皇后郡,布鲁克林(有时称为别的东西)县和其他县的税收管辖区,所以当有人提到其中一个Burroughs时你就知道了税收管辖权是“纽约市”,或者添加另一个数据库表来查询县税务管辖区,这说实话更正确,我可能应该这样做。

因此,当您计算产品税时,您将获取销售价格,产品税类别,州ID和税收管辖区ID(以及日期,假设现在不是)。您查询税率数据,按日期列出,然后查看每个项目,找到第一个有效的项目。如果没有找到任何结果,我会设置违约率,如果没有输入当地税收管辖权。要完成它会有很多if语句。