表product_tax的用途是什么?存储每种产品的税务信息不是您应该采用的方式。
美国(可能还有加拿大)的税费因州而异,通常低至邮政编码级别(有时甚至低于邮政编码!)。处理税收的正确方法是将它们应用于整个购物车(即从百分比计算),而不是单个产品。
关于您如何处理税收...欢迎来到有趣的在线购物世界。有一些提供网络服务的服务(因为税收变化非常频繁)。一个这样的产品是AvaTax。
我会重申我在评论中所说的话。我制造了许多购物车(并在此过程中被烧毁!)我在该领域拥有丰富的经验。
“本地”与税收无关。应征税
根据国家、州、地区、县、镇等
项目正在“运送”到。换句话说,这是收件人的税
适用的规则。如果产品是送给某人的礼物
购买者所在地区以外的地区,这是他们的税收规则
申请。换句话说,买方支付适用于
收到礼物的人!
另外,我将在下面进一步阐明我的评论......
税收与相关产品完全分开。税收应适用于全部成本金额,而不是单个项目。唯一的例外是产品被视为“免税”。这主要适用于某些被认为是“必需品”的食品。显然,其他一切都被视为奢侈品!
因此,如果购物车中有 3 件 1 美元的商品,则适用 8.00% 的税率,使总价达到 3.24 美元。任何运费都将在税后添加。运费不包含在产品价格中,因此不征税(运费已由 FedEx、UPS 等预先征税)。
由于税率因地域而异,因此尝试将“税”值附加到数据库中的产品是没有意义的。该数据应单独应用于每笔交易。从 Web 服务获取正确的税额可以减少出错的可能性。重要的是要注意税收经常变化。如果您被审计并被证明收取了不正确的税款,您可能需要自己支付差额。税法很少关心谁纳税,只关心纳税。
好的,关于表结构的一些想法......
product table {
id
sku [manufacturer or made up]
related_items
brand
description
features
specifications
keywords
price
weight
width
height
length
packaging_type
shipping_info
flatrate_shipping
taxable
discountable
insured
featured
status [enum('outofstock','instock','specialorder','calltoorder','comingsoon','onorder','sold','onhold','hide')]
stock
}
category table {
id
category_id
category_name
category_description
}
product_category table {
id
category_id
product_id
}
最后一个表格提供了一种将多个产品归入一个类别或将一个产品归入多个类别的方法。