Skip to main content

Contract management plugin for Netbox

Project description

Contract pluggin


The pluggin adds contracts and invoices model to Netbox.
It allows to register contract with objects.
Add invoices to contracts.


Activate venv

To ensure our plugin is accessible to the NetBox installation, we first need to activate the Python virtual environment that was created when we installed NetBox. To do this, determine the virtual environment's path (this will be /opt/netbox/venv/ if you use the documentation's defaults) and activate it:

$ source /opt/netbox/venv/bin/activate

Install the package

$ python3 -m pip install netbox-contract

Configure NetBox

Finally, we need to configure NetBox to enable our new plugin. Over in the NetBox installation path, open netbox/netbox/ and look for the PLUGINS parameter; this should be an empty list. (If it's not yet defined, go ahead and create it.) Add the name of our plugin to this list:


Customize the location of the plugin's menu:

    'netbox_contract': {
        'top_level_menu': True

Customize the internal partie field.
Internal partie reference the legal entity of your organization that is a partie to the contract.

    'netbox_contract.Contract.internal_partie': (
        ('Nagravision SARL', 'Nagravision SARL', 'green'),
        ('Nagra USA', 'Nagra USA', 'green'),
        ('Nagra India', 'Nagra India', 'green'),
    'netbox_contract.Contract.currency': (
        ('usd', 'USD'),
        ('eur', 'EUR'),
        ('chf', 'CHF'),
        ('pln', 'PLN'),
    'netbox_contract.Contract.status': (
        ('Active', 'Active', 'green'),
        ('Cancled', 'Canceled', 'red'),

Run database migrations

(venv) $ cd /opt/netbox/netbox/
(venv) $ python3 migrate

release notes

version 2.0.0

Add a new contract asignement model to allow the assignement of contract not only to Circuits. The support for the direct Contract to Circuit relation will be removed in version 2.1.0 . In Order to migrate existing relations script is provided and can be run from the django shell.

version 2.0.1

Add support contract assignement panel to devices.

version 2.0.2

Add support for Netbox 3.5 which become the minimum version supported to accomodate the removal of NetBoxModelCSVForm class (replaced by NetBoxModelImportForm) .

version 2.0.3

  • #60 Update contract quick search to also filter on fields "External reference" and "Comments".
  • #49 Manage permissions.

version 2.0.4

  • Add bulk update capability for contract assignement
  • #63 Correct an API issue on the invoice object.
  • #64 Add hierarchy to contract; New parent field created.
  • #65 Add end date to contact import form.
  • Removed the possibility of add or modify circuits to contracts. The field becomes read only and will be removed in next major release.
  • Make accounting dimensions optional.

version 2.0.5

  • #75 Fix contract assignement for service providers.
  • #73 Add comment field to contract import form
  • #72 Add fields to the contract assignement bottom tables
  • Remove the 'add' actions from the contract assignment list view

version 2.0.6

  • #80 Fix missing fields in the API.

version 2.0.7

  • #85 Fix missing fields contract and invoice import and export forms.

version 2.0.8

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

netbox-contract-2.0.8.tar.gz (18.8 kB view hashes)

Uploaded source

Built Distribution

netbox_contract-2.0.8-py3-none-any.whl (30.2 kB view hashes)

Uploaded py3

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