Cài đặt thuế qua biên giới cho khách hàng doanh nghiệp


8

Tình huống như sau: Chúng tôi đã kích hoạt "giao dịch xuyên biên giới" và nó hoạt động tốt (chúng tôi có các sản phẩm có giá gộp được xác định và VAT được tính dựa trên quốc gia của khách hàng. Đối với mỗi quốc gia, mỗi khách hàng đều nhìn thấy giá cuối cùng).

Vấn đề là với khách hàng B2B của chúng tôi, cần tính thuế VAT, nhưng họ không nên trả.

Ví dụ:

  • Khách hàng bán lẻ: Tổng giá 100 EUR, VAT cho quốc gia của anh ta là 25%, vì vậy VAT là 20 EUR.
  • Đối với khách hàng B2B thì phải như vậy, nhưng tổng cộng đối với anh ta nên không bao gồm thuế (80 tỷ đồng).

Có cách nào để thiết lập nó không (ví dụ với nhóm khách hàng + nhóm thuế). Chúng tôi đang chiến đấu với điều này trong một thời gian và không thể tìm ra bất kỳ giải pháp nào. Ngoài ra tôi không thể tin rằng chúng tôi là những người duy nhất gặp vấn đề đó. Làm thế nào để bạn giải quyết nó?

Câu trả lời:


6

Tôi biết chính xác ý nghĩa của @Meta. Chúng tôi có cùng một vấn đề. Tôi sẽ cố gắng giải thích để làm cho tình hình rõ ràng hơn.

Chúng tôi bán một sản phẩm với giá 79,95 € bao gồm thuế. Không có vấn đề gì về thuế suất đối với một quốc gia.

Vì vậy, hãy xem hai ví dụ:

  • Hà Lan: € 79,95 bao gồm thuế 21% (thuế € 13,88)
  • Đức: € 79,95 bao gồm thuế 19% (thuế € 12,77)

Khi một khách hàng B2B đặt hàng, chúng tôi cần loại trừ thuế. Nhưng các thiết lập thương mại xuyên biên giới xử lý nó giống như bất kỳ tỷ lệ khác. Có thể hiểu được nhưng đó không phải là những gì chúng ta muốn.

Vì vậy, với giao dịch xuyên biên giới được kích hoạt, nó thực hiện:

  • Hà Lan: € 79,95 chưa bao gồm thuế (thuế € 0,00)
  • Đức: € 79,95 chưa bao gồm thuế (€ 0,00 thuế)

Trong khi những gì @Meta muốn là:

  • Hà Lan: € 66,07 chưa bao gồm thuế 21% (thuế € 13,88)
  • Đức: € 67,18 không bao gồm thuế 19% (thuế € 12,77)

Trong khi điều tôi muốn là:

  • Hà Lan: € 66,07 chưa bao gồm thuế 21% (thuế € 13,88)
  • Đức: € 66,07 không bao gồm thuế 21% (thuế € 13,88)

Bạn đã giải quyết điều này?
snh_nl

Có tôi đã làm. Đối với tôi đây là giải pháp: Tôi đã tạo một tiện ích mở rộng nhỏ, vô hiệu hóa cài đặt xuyên biên giới cho các đơn hàng có thuế 0%. Ngay cả khi cài đặt xuyên biên giới được bật.
Jeffrey

2

Đúng. Tôi đoán bạn đã thiết lập tất cả các quốc gia EU với mức thuế thích hợp cho bit bạn đã làm việc. Bạn cần ít nhất một Lớp thuế khách hàng nữa, ví dụ 'EU B2B'. Sau đó, bạn cần phải đi đến configuration/customers/customer configurationvà thay đổi create new account optionsđể cho phép chuyển nhượng tự động của nhóm trên id vat hợp lệ, và thiết lập Group for Valid VAT ID - Intra-Unionđể EU B2B. Hãy xem các cài đặt khác xem bạn muốn sử dụng cái gì, nhưng sự kết hợp của hai cài đặt này có nghĩa là khi khách hàng nhập số vat hợp lệ (theo VIES), magento sẽ lấy thùng từ giao dịch.

Lưu ý rằng cách magento mong đợi số VAT là không có tiền tố mã quốc gia, nó kết hợp số với mã quốc gia cho địa chỉ khi xác thực số đó. Chúng tôi đã viết một số mã để loại bỏ mã quốc gia nếu có, vì hầu hết mọi người bao gồm nó. Điều này không hiệu quả với Hy Lạp vào lúc này, vì bất cứ ai viết mã đều không nhận ra rằng mã VAT của Hy Lạp có tiền tố EL không phải là GR

Ngoài ra, trong khi tôi không phải là kế toán viên và không sử dụng tùy chọn giao dịch xuyên biên giới và giá của chúng tôi dựa trên giá cũ: Nếu bạn không đăng ký VAT ở tất cả các quốc gia khác, bạn nên thu VAT trên số VAT của riêng bạn theo thuế suất VAT gốc của bạn. Nếu doanh thu của bạn ở một trong những quốc gia đó vượt quá giới hạn của họ (€ 33000 hoặc € 100000 tùy thuộc vào quốc gia), bạn cần phải đăng ký VAT ở quốc gia đó, sau đó thu thuế VAT theo tỷ lệ của quốc gia đó.


Có - giải pháp của bạn sẽ hoạt động với "vô hiệu hóa" có nghĩa là giá VAT của bạn là VAT cũ (như bạn đã mô tả). Giá của chúng tôi phải là VAT VAT (vì vậy người dùng sẽ thấy tổng giá tương tự, nhưng bao gồm VAT sẽ thay đổi dựa trên quốc gia người dùng). Phần khó khăn là: làm thế nào để nói với Magento (đối với khách hàng b2b) tính thuế VAT cho quốc gia khách hàng và sau đó bỏ áp dụng nó. Chúng tôi hiện đang nghiên cứu một số giải pháp hack / mã - nhưng tôi đã hỏi vì tôi không thể tin rằng chúng tôi là những người duy nhất gặp phải vấn đề này ngay bây giờ (bán bot cho b2b và khách hàng bán lẻ)
Grzegorz

Bạn có nói rằng khi loại thuế B2B được áp dụng, nó chỉ tính thuế VAT của cửa hàng, thay vì điều chỉnh giá cho quốc gia đích, sau đó lấy thuế VAT ra không?
Richard

Không chắc chắn nếu tôi làm theo. Theo quy định mới của EU bán cho các quốc gia khác, bạn bí ẩn áp dụng thuế VAT của quốc gia khách hàng. Vì vậy, có hai sự lựa chọn: 1. Cửa hàng của bạn có giá VAT cũ. Sau đó, đối với các khách hàng khác nhau, tổng giá là khác nhau và tùy thuộc vào thuế suất VAT. Đối với b2b thật dễ dàng - bạn chỉ cần áp dụng loại thuế 0%. 2. Giá của bạn là inc-VAT. Mọi khách hàng đều nhìn thấy cùng một mức giá, chỉ cần VAT được tính "ngược" và khác nhau. Kịch bản của chúng tôi là # 2 vì vậy tôi không biết cách định cấu hình Magento để tính VAT cho khách hàng b2b và sau đó loại trừ nó khỏi tổng giá. Bây giờ thì rõ hơn chưa?
Grzegorz

Không, nó không rõ ràng hơn. Tôi đã hỏi nếu bạn đã thử những gì tôi nói, và nó không hoạt động, hoặc nếu bạn không thử vì bạn không nghĩ rằng nó sẽ hoạt động. Ngoài ra, các nhận xét ở đây không phải là nơi tốt nhất để tranh luận, điều này và tôi cho rằng bạn đang bán sản phẩm vật chất, nhưng các quy tắc hiện hành về mức thuế VAT mà bạn tính là ở đây: europa.eu/youreurope/business/vat -customs / xuyên biên giới / Có nghĩa là bạn tính thuế VAT theo tỷ lệ của riêng bạn trừ khi bạn đã đăng ký VAT tại quốc gia đó.
Richard

0

Cuối cùng chúng tôi đã tạo ra một người trợ giúp đặc biệt cho việc này (chúng tôi gọi đó là hỗn hợp giá trị).

Bạn cần ghi đè getprice và get Specialprice cho Catalog_Model_Sản phẩm:

public function getPrice()
{
    return Mage::helper('catalog/mixedprice')
        ->getProductPrice($this);
}

public function getSpecialPrice()
{
    return Mage::helper('catalog/mixedprice')
        ->getProductSpecialPrice($this);
}

Ý tưởng đằng sau người trợ giúp này khá đơn giản, nhưng tôi cần đưa ra nhiều bối cảnh hơn. Chúng tôi bán phần mềm khách hàng của chúng tôi, không có sản phẩm vật lý. Chúng tôi cần một số sản phẩm để có giá cố định cho khách hàng B2B và một số sản phẩm có giá cố định cho khách hàng B2C (giá cuối cùng không đổi, thay đổi số lượng lớn cho từng quốc gia khách hàng). Bạn không thể có cả hai rõ ràng.

Chúng tôi đã thêm cột cho sản phẩm 'is_vat_included'. Đối với B2B đã sửa, chúng tôi hy vọng điều đó là sai, đối với B2C đã cố định, chúng tôi hy vọng điều đó là đúng. (vì vậy bất cứ ai duy trì danh mục sản phẩm phải chăm sóc nó).

Như bạn có thể biết: có cấu hình toàn cầu cho magento cho biết giá có hoặc không có thuế (\ Mage_Tax_Helper_Data :: priceIncludesTax). Chúng tôi đã giả định rằng cấu hình này phải đúng (bạn có thể giả sử ngược lại hoặc không đưa ra giả định nào và xem xét cấu hình này khi thao túng giá trong trình trợ giúp "hỗn hợp giá trị".

Phần còn lại khá đơn giản: * if 'is_vat_included' == true cho sản phẩm, không làm gì đặc biệt * if 'is_vat_included' == false, gửi nó qua TaxHelper của magento để tính giá bằng VAT

Vì vậy, đại khái mã sẽ trông như thế này cho Catalog_Model_ Productt:

public function getPrice()
{
    if($this->getIsVatIncluded()) { 
       return parent::getPrice();
    }

    return Mage::helper('tax')->getPrice(
       $this, // product
       parent::getPrice(), // excl. VAT
       true, // ask for price inclugin Tax
       null, // shipping address - we sell downloadable software, you may care more about this param
       $billingAddress, // you can get it from quote
       null, 
       null, 
       false, // price we're passing (parent::getPrice())doesn't include tax
       false, // do not round this price (it's too soon)
    )

}

Đây là logic chung mà chúng tôi đã rút ra cho người trợ giúp "hỗn hợp giá trị" của chúng tôi (tôi đã nêu nó ở đây cho rõ ràng).

Xin lưu ý: 1. Tôi không thể sao chép + dán mã chính xác cho bạn, vì vậy đây là ý tưởng sơ bộ. Nếu bạn muốn quản lý một số cửa hàng với các sản phẩm bao gồm VAT và một số cửa hàng nơi các sản phẩm loại trừ VAT theo mặc định - phương pháp này sẽ phức tạp hơn. 2. Bạn cần một thủ thuật tương tự cho sản phẩm :: get Specialprice 3. Bạn cần nhiều hơn nữa nếu bạn đang sử dụng các tùy chọn tùy chỉnh. 4. Kiểm tra đơn vị là bạn của bạn - chúng tôi đã sử dụng nó như điên (chúng tôi đã phải triển khai việc này vào ngày 1 tháng 1 năm 2015, nó đã hoạt động).

Cảm ơn đã làm rõ của @ Jeffrey - vui lòng bỏ phiếu trả lời: Cài đặt thuế qua biên giới cho khách hàng doanh nghiệp


0

Có thể không phải là giải pháp đẹp nhất nhưng nếu bạn thực sự muốn tránh mã hóa, bạn có thể giải quyết nó bằng cách thiết lập giá nhóm cho từng vùng VAT mà bạn đã đăng ký.

Giả sử bạn có trụ sở tại Thụy Điển (25% VAT) nhưng cũng đã đăng ký VAT Đức (19%). Bạn thiết lập hai nhóm sản phẩm: công ty EU và công ty Đức.

Đối với một sản phẩm có giá € 100, bạn đặt giá nhóm cho nhóm khách hàng của công ty EU là € 80 và đối với nhóm khách hàng của công ty Đức, bạn đặt nó là 84 €.

Đầu tiên, bạn, thêm các nhóm khách hàng theo khách hàng >> nhóm khách hàng và chỉ định khách hàng B2B của bạn cho nhóm phù hợp. Sau đó, bạn chỉnh sửa giá bằng cách đi tới chế độ xem chi tiết của từng sản phẩm, sau đó giá và sau đó thêm giá nhóm. Với rất nhiều sản phẩm, bạn sẽ muốn kịch bản thiết lập giá nhóm khá dễ dàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.