Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The Canadian tax laws are clear that all taxation should be based on the SHIPPING ADDRESS jurisdiction.
Yet all rules for this module are currently set to the BILLING address on our installation. This is wrong
Unless I am missing something, that default is wrong on the installation.
Any way of setting this correctly?
Comments
Comment #1
MastaP CreditAttribution: MastaP commentedIf anyone is looking for a solution to this issue, we did it this way:
1-Modify the commerce_canadian_taxes.rules_defaults.inc file
replace "commerce_customer_billing" with "commerce_customer_shipping"
2-Went to /admin/config/workflow/rules/components
Revert all components that were modified
EG: Calculate GST CA, Calculate QST QC, etc
Comment #2
george esper CreditAttribution: george esper commentedHi MastaP,
To confirm, I just called the Canada Business Network at 1-888-576-4444.
The person confirmed that sales taxes should be collected on the BILLING address, not the shipping one.
--
George
Comment #3
MastaP CreditAttribution: MastaP commentedhi George Esper,
I just called them and they said they don't have the authority to answer these kind of questions. They ask me to Contact Revenue Quebec at 1-800-567-4692.
In any case, the Canada Revenue Agency is the authority in this case and does have an article about it here:
http://www.cra-arc.gc.ca/tx/bsnss/tpcs/gst-tps/gnrl/hst-tvh/menu-eng.html
"The rate of tax to charge for a supply is determined by the province or territory in which the supply is made"
Then on this page:
http://www.cra-arc.gc.ca/tx/bsnss/tpcs/gst-tps/gnrl/hst-tvh/gds-eng.html
"..this place of supply rule is generally based on the province in which legal delivery of the goods to the recipient occurs"
In any case, you can try this on all major shopping carts. Set your billing to Quebec, and shipping to Ontario... you will not get the Quebec Sales Tax applied...
The sales taxes are always determined based on the shipping location
the module defaults should be fixed
Comment #4
MastaP CreditAttribution: MastaP commentedCheck the video on the right hand side of his page.
http://www.cra-arc.gc.ca/tx/bsnss/tpcs/gst-tps/gnrl/hst-tvh/menu-eng.html
No doubt...
Comment #5
george esper CreditAttribution: george esper commentedAccording to the references you've provided, you are correct that taxes should apply to the SHIPPING address.
We'll update the module.
Thanks for pointing this out.
Comment #6
MastaP CreditAttribution: MastaP commentedPleasure. thanks to you!!
Just in case we missed something... Could you confirm this procedure was ok:
https://www.drupal.org/node/2385187#comment-9393113
Comment #7
joelpittet@MastaP you are correct in your change. One thing you may want to check though is that if it's a digital product. If so the billing address is the one to use because there is no shipping.
Maybe module_exists('commerce_shipping') check would help?
Comment #8
joelpittetActually the canada post module uses:
$field_name = commerce_physical_order_shipping_field_name($order);
To get the field name from the commerce_physical_order module. So you could check if that module is enabled and pass in an order to get the field name.
So maybe:
Comment #9
gregoryshearer CreditAttribution: gregoryshearer commentedThe procedure in comment #1 worked for me and this change should be committed. Without it the module does not work correctly.
I downloaded the file and did a find/replace in a text editor locally. I uploaded the edited file and just flushed caches and it updated the tax to apply to the shipping address. I had modified the rule with some Conditions and I did not seem to need to revert the Rule. I am not versed in Rules enough to know if other changes might need to be reverted and reapplied.
Comment #10
Dadaisme CreditAttribution: Dadaisme commentedWill the module be updated?
Thx