0

製品の税金を格納する最も適切な方法を決定しようとしています。

TABLE products (
    id
    name
    description
)

TABLE tax_zones (
    id
    code
)

TABLE tax_rates (
    id
    zone_id
    rate
)

TABLE tax (
    id
    rate_id
)

TABLE product_tax (
    id
    product_id
    tax_id
)

私もこの構造に少し混乱していることを認めます。そのため、単純化または明確化、あるいはその両方を行うために何らかの助けが必要です。

私のショップは国際的なので、カナダとアメリカ向けです...商品は世界中で購入できます。

4

2 に答える 2

2

テーブルの目的は何product_taxですか? 各製品の税情報を保存することは、適切な方法ではありません。

米国 (およびおそらくカナダ) の税金は州ごとに異なり、通常は郵便番号レベルまで下がります (場合によっては準郵便番号まで!)。税金を処理する適切な方法は、個々の商品ではなく、ショッピング カート全体 (つまり、パーセンテージから計算) に適用することです。

税金の扱いについては... 楽しいオンライン ショッピングの世界へようこそ。Web サービスを提供するサービスがいくつかあります (税金は頻繁に変更されるため)。そのような製品の 1 つがAvaTaxです。

コメントで言ったことを繰り返します。多くのショッピング カートを作成してきました (そしてその過程で火傷を負いました!) 私はこの分野でかなりの経験を積んできました。

税金に「地方」は関係ありません。税金は、商品が「発送される」国、州、地域、郡、町などに応じて適用する必要があります。つまり、適用されるのは受取人の税規則です。製品が購入者以外の地域の誰かへの贈り物である場合、適用されるのはその国の税規則です。言い換えれば、買い手は贈り物を受け取る人に適用される税金を支払います!

さらに、以下のコメントをもう少し詳しく説明します...

税金は当該商品とは完全に別です。税金は、個々のアイテムではなく、費用の全額に適用する必要があります。唯一の例外は、製品が「非課税」とみなされた場合です。これは主に、「必需品」と見なされる特定の食品に当てはまります。どうやら、それ以外はぜいたく品と見なされているようです。

したがって、1 ドルの商品が 3 つカートに入っている場合、税率 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
}

最後の表は、多くの製品を 1 つのカテゴリに分類する方法、または 1 つの製品を複数のカテゴリに分類する方法を示しています。

于 2013-05-28T20:57:16.557 に答える
1

税金は、法的状況に応じて、非常に異なるものに依存する可能性があります。

  • 販売者の所在地
  • バイヤーの場所
  • 製品タイプ)

任意の組み合わせが可能です。たとえば、ドイツでは、売り手と買い手の両方がヨーロッパにいる場合、(単純化して) 食品に 7%、非食品に 19% が適用されます。

他のルールが来るかもしれません。たとえば、税金は時間ベースにすることができます。

したがって、最終的には、製品 (または製品グループ) に対応する税キーと、tax_key、seller_location、およびbuyer_location によってインデックス付けされた税テーブルが必要になります。後者の 2 つでワイルドカードを使用すると、必要なレコードの数を減らすことができます。

于 2013-05-29T11:28:28.150 に答える