Skip to content

Commit 1784a85

Browse files
committed
Add some stubs and updated information about tax handling
1 parent 836161d commit 1784a85

File tree

6 files changed

+45
-6
lines changed

6 files changed

+45
-6
lines changed

en/01_Commerce/v1/Developer/98_SimpleCart_or_Commerce.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ If your shop has grown beyond what SimpleCart can offer, moving it over to Comme
2222

2323
There's a few high level requirements that will lead you to either products.
2424

25+
### Product Prices inclusive of Taxes/VAT
26+
27+
If you need to configure your products to have prices including taxes or VAT, then Commerce is the way to go. Commerce, like SimpleCart, defaults to prices exclusive of taxes, however Commerce offers a setting to toggle to an inclusive calculation instead. [Read more about taxes in Commerce](../Taxes).
28+
2529
### Dynamic shipping costs
2630

2731
If you need to calculate shipping costs based on an integration with a postal service, or based on custom business logic involving product weight, size, or quantity, then you'll need to use Commerce.
@@ -30,7 +34,7 @@ SimpleCart is rather restricted in how it allows shipping methods to be priced.
3034

3135
The flexibility of Commerce will allow you to manage shipping costs in various ways.
3236

33-
1. For each shipping method you can provide a fixed or percentage price out of the box. Each method also has restrictions on the order total you can set, making sure shipping methods are only available as an option until, between, or after a certain order total. Simple business rules like "€5 shipping under €25, €3 from €25-50, free from €50+" can be implemented with these options.
37+
1. For each shipping method you can provide a fixed or percentage price out of the box. Each method also has restrictions on the order total you can set, making sure shipping methods are only available as an option until, between, or after a certain order total. Simple business rules like "€5 shipping under €25, €3 from €25-50, free from €50+" can be easily implemented with these options.
3438
2. You can use an existing [Module](Modules) to integrate with a third party postal service. These modules can be configured on a module and shipping method level with various options to automatically offer the right rates to your customers.
3539
3. If no existing module is available for your use case, you can build one or contract a developer to build it for you. When building a custom shipping method module, you have full control over the calculation, making it possible to implement any business rule.
3640

@@ -53,10 +57,7 @@ For a current list of the supported payment methods in Commerce see [Modules](..
5357
- PaymentSense
5458
- Stripe
5559

56-
If the payment provider you need is not on either lists, Commerce is the better option. Implementing gateways is a lot easier in Commerce thanks to the use of the OmniPay library. If a _driver_ exists for the Payment Provider you need, we'll be able of integrating it with Commerce much quicker.
57-
58-
Let us know which payment provider you need, and we might try to squeeze an integration into our normal release cycle.
59-
60-
To commission a payment provider because you need it right now, please contact Mark via [email protected] for an estimate.
60+
If the payment provider you need is not on either lists, Commerce is the better option. Implementing gateways is a lot easier in Commerce thanks to the use of the OmniPay library. If a "driver" exists for the Payment Provider you need, we'll be able of integrating it with Commerce much quicker.
6161

62+
Be sure to request the payment provider you need well ahead of time, and we might be able of adding it in our regular release cycle if there is sufficient demand. To commission a payment provider because you need it short term, please contact Mark via [email protected] for an estimate.
6263

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This section contains annotated code examples for custom modules. For the modules that are available with Commerce, see [Modules](../../Modules) instead.
2+
3+
The modules in this section will often be more about showing a concept rather than being fully functional.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
The EUVat Module is shipped with the Commerce core. It needs to be enabled and configured before use via Configuration > Modules.
2+
3+
The EU VAT Module is used to apply the standard VAT rate for the customer's country to all items in the cart. It retrieves the current VAT rates from euvatrates.com and caches them for 3 days.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
The EUVat Module is shipped with the Commerce core. It needs to be enabled before use via Configuration > Modules.
2+
3+
The CombineProducts module runs when products are added to the cart, and makes sure that there is only ever a single row of a specific product (based on SKU and price) in the cart. Additional products are combined into a single cart row.
4+
5+
To give an example.
6+
7+
1. Bob adds Awesome Product to the cart. His cart now has 1x Awesome Product in it.
8+
2. Bob also adds Great Product to the cart. His cart now has 1x Awesome Product and 1x Great Product in it.
9+
3. Bob adds another Awesome Product to the cart.
10+
- Without the CombineProducts module, the cart will contain 1x Awesome Product, 1x Great Product, and 1x Awesome Product.
11+
- With the CombineProducts module, the cart will contain 2x Awesome Product and 1x Great Product.
12+
13+
Not all types of products are suitable for use with this module. For example if you sell red carpets, the quantity of a product might be the length in meter or inch. If a customer requires one carpet of 4 meters, and one carpet of 3 meters, with this module enabled you would only see an order of 7 meters without the length of each carpet the customer wanted.

en/01_Commerce/v1/Modules/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Choose one of the following categories to see the matching modules:
99
- Payments
1010
- Shipping
1111
- Communication
12+
- Taxes
1213
- Other
1314

1415
**Note**: not all the modules are actually be exposed as modules in the Commerce admin area. For example payment providers and shipping integrations that are provided with the Commerce package are not shown as modules, instead they are just available when creating a payment or shipping method.

en/01_Commerce/v1/Taxes.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Taxes in Commerce are usually handled automatically. For example the EUVat module will automatically apply the proper tax rate to an order. It's possible to create your own modules that handle tax rates.
2+
3+
Taxes are always handled with the following in mind. This is a fairly technical list of considerations.
4+
5+
- Modules provide tax **rates**, not the actual calculation of how much tax is on an order.
6+
- Taxes are applied for each item in the cart individually. This is then summed up for the total tax on the order.
7+
- Different tax rates can be stacked on top of each other, for example in the USA where there are State taxes and County or City taxes. Each of these tax rates is applied individually, while Commerce will handle the calculation. Each tax rate has its own key, provided by the tax module.
8+
- While different tax rates stack, applying a tax rate that has the same key as a rate that was already added will instead overwrite the old rate.
9+
10+
## Prices Exclusive vs Inclusive
11+
12+
Commerce defaults to treating product prices as exclusive of taxes. Any tax rate provided will be added on top of the product price. This is most commonly used in business-to-business sales, or if the tax rates vary so much depending on customer location that it's not realistically possible to provide the inclusive price up-front.
13+
14+
By configuring the `commerce.tax_calculation` system setting to `inclusive`, this behaviour can be changed to treat product prices as inclusive of taxes. In this case the product price is what the customer will pay, and the tax percentage is taken as a cut from that.
15+
16+
Prices including taxes are most commonly used in business-to-consumer shops.
17+
18+
**Note:** changing the `tax_calculation` setting will only affect new orders. Existing orders remain unchanged. If you're in the cart/checkout process and want to see the result of changing the setting, you can append `_commerce_recalculate=1` to force a recalculation. It is possible to get caching issues in this scenario, so manually removing the contents of `core/cache/commerce/` can be necessary.

0 commit comments

Comments
 (0)