Hiểu về các config tax trên Magento 2

Tax là một lĩnh vực phức tạp của business. Trong Magento, tax cũng được xây dựng đầy đủ tính năng và tương đối phức tạp đối với người dùng, nhất là đội ngũ phát triển (chưa có kinh nghiệm run business thực tế, nhất là business của các vùng khác nhau trên thế giới).
Vậy chúng ta hãy cùng tìm hiểu tax được config như thế nào trong Magento 2. Mong nhận được nhiều phản hồi, đóng góp để nội dung chính xác và đầy đủ hơn.

Truy cập General configuration cho Tax: Store > Configuration > Sales > Tax.

1. Tax Calculation Method Based On

  • Tota|

  • Row Total

    • Tính tax và làm tròn (rounding) trên từng row item của đơn hàng
  • Unit Price

    • Tính tax và làm tròn (rounding) trên từng unit price của đơn hàng
    • Sử dụng cho giao dich B2B thị trường UK

2. Tax Calculation Based On

  • Shipping Address

    • Tính tax theo địa chỉ shipping (chọn tax rule theo shipping address của order)
    • Phổ biến cho các thị trường EU (UK, FR, GER)
  • Billing Address

    • Tính tax theo địa chỉ billing (chọn tax rule theo billing address của order)
    • Chưa thấy có thị trường nào sử dụng
  • Shipping Origin

3. Catalog Prices

  • Excluding Tax

    • Giá sản phẩm trong catalog chưa bao gồm tax
    • Phổ biến tại US, Canada, UK
  • Including Tax

    • Giá sản phẩm trong catalog đã bao gồm tax
    • Phổ biến tại EU (Pháp, Đức, Hà Lan), tuy nhiên ko bắt buộc.

4.Shipping Prices

  • Excluding Tax

    • Phí ship chưa bao gồm tax
    • Riêng US ko tính tax cho shipping
  • Including Tax

    • Phí ship đã bao gồm tax
    • Riêng US ko tính tax cho shipping

5. Apply Customer Tax

  • After Discount
    • Tax được tính trên giá trị đã được discounted (discounted price)
    • Phổ biến cho hầu hết các thị trường US, Canada, EU

Example:

  • tax_rate = 8.25%
  • subtotal = $32
  • discount = $10
    => tax = ([subtotal] - [discount]) * [tax_rate] = (32 - 10) * 8.25% = 1.82
  • Before Discount
    • Tax được tính trên giá gốc (original price)

Example:

  • tax_rate = 8.25%
  • subtotal = $32
  • discount = $10
    => tax = [subtotal] * [tax_rate] = 32 * 8.25% = 2.64

6. Apply Discount On Prices

  • Excluding Tax
    • Discount trên giá sản phẩm chưa bao gồm tax
    • Chỉ tác dụng khi discount theo %

Example:

  • tax_rate = 10%
  • product_price_excl_tax = $45
  • discount = 10%
  • tax after discount
    => discount_value = [product_price_excl_tax] * [discount] = 45 * 10% = 4.5
    => tax = ([subtotal] - [discount])* [tax_rate] = (45 - 4.5) * 10% = 4.05
  • Including Tax
    • Discount trên giá sản phẩm đã bao gồm tax
    • Chỉ tác dụng khi discount theo %

Example:

  • tax_rate = 10%
  • product_price_excl_tax = $45
  • discount = 10%
  • tax after discount
    ==> discount_value = [product_price_excl_tax] * (1 + [tax_rate]) * [discount] = 45 * (1+10%) * 10%= 4.95
    => tax = ([subtotal] - [discount])* [tax_rate] = (45 - 4.95) * 10% = 4.015

7. Apply Tax On

  • Custom Price

    • Tax được tính trên giá custom của item
    • Work trên Magento 1 và Magento 2
  • Origin Price

    • Tax được tính trên giá gốc của item
    • Work trên Magento 1
    • Trên Magento 2, tax luôn được tính theo giá custom (nếu có)

8. Enable Cross Border Trade

  • Yes:
    • Chỉ có ý nghĩa khi Catalog Price including tax.
    • Giá sản phẩm including tax ko thay đổi với các vùng có tax rate khác nhau.
    • Giá sản phẩm excluding tax thay đổi với các vùng có tax rate khác nhau.

If cross-border trade is enabled, the profit margin changes by tax rate. Profit is determined by the formula (Revenue - CustomerVAT - CostOfGoodsSold). To enable cross-border trade, prices must be set to include tax.

Example:

  • product_price_incl_tax = $120
  • default_tax_rate = 8.25%
  • tax_rate_current = 5.5%

=> product_price_excl_tax = [product_price_incl_tax] / (1+ [tax_rate_current]) = 120 / (1+5.5%) = 113.74
=> tax = [product_price_excl_tax] * [tax_rate_current] = 113.74 * 5.5 = 6.26

  • No
    • Chỉ có ý nghĩa khi Catalog Price including tax.

    • Magento 1:

      • Giá sản phẩm including tax thay đổi với các vùng có tax rate khác nhau.
      • Giá sản phẩm excluding tax ko thay đổi với các vùng có tax rate khác nhau.
    • Magento 2

      • Giá sản phẩm trong catalog luôn được tính là excluding tax
      • Tax được tính theo giá sản phẩm trong catalog (luôn coi là excluding tax)

Example:
#Magento 1

  • product_price_incl_tax = $120
  • default_tax_rate = 9%
  • tax_rate_current = 5.5%

=> product_price_excl_tax = [product_price_incl_tax] / (1+ [default_tax_rate]) = 120 / (1+9%) = 110.09
=> tax = [product_price_excl_tax] * [tax_rate_current] = 110.09 * 5.5 = 6.06

#Magento 2:

  • product_price_incl_tax = $45
  • default_tax_rate = 8.25%
  • tax_rate_current = 10%

=> product_price_excl_tax = [product_price_incl_tax] = 45
=> tax = [product_price_excl_tax] * [tax_rate_current] = 45 * 10% = 4.5

9. Fixed Product Taxes

9.1. Apply Tax To FPT

  • Yes:
    • Có tính tax cho fixed_product_tax
    • Công thức: tax = [fixed_product_tax_value] * [tax_rate]

Example:

  • tax_rate = 8.25%
  • fixed_product_tax = 10
  • product_price_excl_tax = $45
  • tax = [product_price_excl_tax] * [tax_rate] + [fixed_product_tax] * [tax_rate] = 45 * 8.25% + 10 * 8.25% = 4.54
  • No:
    • Ko tính tax cho fixed_product_tax

9.2 Include FPT In Subtotal

  • Yes:

    • Subtotal có bao gồm FPT
    • Công thức:
      • subtotal = ([unit_price] - [discount] + [fixed_product_tax]) * [qty]
      • tax: ko thay đổi
  • No:

    • Subtotal ko bao gồm FPT
    • subtotal: ko thay đổi
    • tax: ko thay đổi
4 Likes