Skip to main content

vatlayer.com support for Django

Project description

django-prices-vatlayer: Vatlayer API support for prices

codecov PyPI - Version PyPI - Downloads PyPI - Python Version

from prices import Money, TaxedMoney
from django_prices_vatlayer.utils import (
    get_tax_for_rate, get_tax_rates_for_country)

de_tax_rates = get_tax_rates_for_country('DE')
books_tax = get_tax_for_rate(de_tax_rates, 'books')

price_with_vat = books_tax(Money(10, 'EUR'))
print(price_with_vat)
# TaxedMoney(net=Money('10', 'EUR'), gross=Money('11', 'EUR'))

price_with_vat = books_tax(
    TaxedMoney(net=Money(10, 'EUR'), gross=Money(10, 'EUR')))
print(price_with_vat)
# TaxedMoney(net=Money('10', 'EUR'), gross=Money('11', 'EUR'))

Installation

The package can easily be installed via pip:

pip install django-prices-vatlayer

After installation, you'll also need to setup your site to use it. To do that, open your settings.py and do the following:

  1. Add 'django_prices_vatlayer', to your INSTALLED_APPS
  2. Add VATLAYER_ACCESS_KEY = 'YOUR_API_KEY_HERE' line
  3. Replace YOUR_API_KEY_HERE with the API key that you have obtained from vatlayer API

Lastly, run manage.py migrate to create new tables in your database and manage.py get_vat_rates to populate them with initial data.

Forcing secure API connection in production

Because HTTPS is unavailable in the free vatlayer plan, django-prices-vatlayer uses the unsafe HTTP connection by default.

If you are using a paid plan, you can force the secure HTTP on your site by adding following line to your settings.py:

VATLAYER_USE_HTTPS = True

Remember that not using HTTPS may expose you to DNS poisoning and man-in-the-middle attacks; we recommend enabling VATLAYER_USE_HTTPS in production sites.

Updating VAT rates

To get current VAT rates from the API run the get_vat_rates management command.

You may also set cron job for running this task daily to always be up to date with current tax rates.


Crafted with ❤️ by Mirumee Software

hello@mirumee.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_prices_vatlayer-1.2.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_prices_vatlayer-1.2.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file django_prices_vatlayer-1.2.0.tar.gz.

File metadata

  • Download URL: django_prices_vatlayer-1.2.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_prices_vatlayer-1.2.0.tar.gz
Algorithm Hash digest
SHA256 1cfda20da69c2c27a747019010ac53e1a83e444f5fbbf9e41120084468ac0436
MD5 f3108ca95daa2930f945022cbe128bce
BLAKE2b-256 43d9e52874c9887c406b4fd4e59d4dcd55b5dd9db01d31251891b20bba042aa5

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_prices_vatlayer-1.2.0.tar.gz:

Publisher: publish.yml on mirumee/django-prices-vatlayer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_prices_vatlayer-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_prices_vatlayer-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5396ccb094e49e4fb083d7d88ec6de2c9e871dce32e458bc15e4590aa0958d26
MD5 eed5182c565651ebdb556ef4ee037bcc
BLAKE2b-256 f2c6763d41275c60ecb6faa8b772dd720ff083d1ad1762dbb2ca2b217312e39d

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_prices_vatlayer-1.2.0-py3-none-any.whl:

Publisher: publish.yml on mirumee/django-prices-vatlayer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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