Skip to main content

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.


For now, install with

pip install

to get the latest master. There are no named releases yet, and the package isn’t yet on PyPI.


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/ module, and update your Selector to use it when appropriate:

# partner/

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/

from oscar_vat_moss.partner.strategy import *

Applying VAT on checkout

Add oscar_vat_moss.checkout.session.CheckoutSessionMixin to your checkout/ module:

# checkout/

from oscar_vat_moss.checkout.session import CheckoutSessionMixin

Project details

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page