EU VATMOSS support for django-oscar
Project description
Enables EU VATMOSS processing for the Oscar e-commerce system
This package enables e-commerce application based on Django Oscar to assess and charge VAT (Value Added Tax) according to EU regulations.
It is based on django-oscar and vat_moss-python.
Installation
For now, install with
pip install https://github.com/hastexo/django-oscar-vat_moss/archive/master.zip
to get the latest master. There are no named releases yet, and the package isn’t yet on PyPI.
Use
To use, you must
Enable a pricing Strategy that uses the DeferredTax tax mixin
Add a CheckoutSessionMixin to your checkout session, so taxes can be applied when the customer’s shipping address is known
Optionally extend your data model with a field accommodating your customer’s VATIN (VAT Identification Number) if you want to enable VAT-free B2B transactions under the reverse charge system. If all your transactions are B2C, this last bit may be safely omitted.
Enabling a VAT-enabled pricing strategy
Add oscar_vat_moss.partner.strategy.VATStrategy to your partner/strategy.py module, and update your Selector to use it when appropriate:
# partner/strategy.py
from oscar_vat_moss.partner.strategy import VATStrategy
class Selector(object):
def strategy(self, request=None, user=None, **kwargs):
# Apply your strategy selection logic, where appropriate:
return VATStrategy(request)
If you only want one selector and you always want to apply VATStrategy, you may also simply use:
# partner/strategy.py
from oscar_vat_moss.partner.strategy import *
Applying VAT on checkout
Add oscar_vat_moss.checkout.session.CheckoutSessionMixin to your checkout/session.py module:
# checkout/session.py
from oscar_vat_moss.checkout.session import CheckoutSessionMixin