Installing this plugin enables the automatic generation if Internal Part Numbers (IPN) for parts.
+
+
Installation
+
To automatically install the plugin when running invoke install:
+Add inventree-ipn-generator to your plugins.txt file.
+
+
Or, install the plugin manually:
+
+
pip install inventree-ipn-generator
+
+
+
For the plugin to be listed as available, you need to enable “Event Integration” in your plugin settings.
+This setting is located with the Plugin Settings on the settings page.
+
+
Settings
+
+
+
Active - Enables toggling of plugin without having to disable it
+
On Create - If on, the plugin will assign IPNs to newly created parts
+
On Change - If on, the plugin will assign IPNs to parts after a change has been made.
+Enabling this setting will remove the ability to have parts without IPNs.
+
+
+
Pattern
+
Part Number patterns follow three basic groups. Literals, Numerics, and characters.
+When incrementing a part number, the rightmost group that is mutable will be incremented.
+All groups can be combined in any order.
+
+
A pattern cannot consist of only Literals.
+
+
For any pattern, only the rightmost non-literal group will be incremented.
+When this group rolls over its max, the next non-literal group to the left will be incremented.
+Example: Given the groups (named for demo): L1C1N1C2L2
+Incrementing follows this order: C2, N1, C1.
+
+
+
NOTE: When C1 in the above example rolls over, the plugin will loop back to the first IPN.
+This will cause duplicate IPNs if your InvenTree allows duplicate IPNs.
+If your InvenTree does not allow duplicate IPNs, this will cause an error at the moment!
+This will be addressed in an upcoming update.
+
+
+
Literals (Immutable)
+
Anything encased in () will be rendered as-is. no change will be made to anything within.
+
+
Example: (A6C) will always render as “A6C”, regardless of other groups
+
+
Numeric
+
Numbers that should change over time should be encased in {}
+
+
+{5} respresents a number with max 5 digits
+
+{25+} represents a number 25-99
+
+
+
Example: {5+}{3} will result in this range: 5000-9999
+
+
Characters
+
Characters that change should be encased in []
+
+
+[abc] represents looping through the letters a, b, c in order.
+
+[a-f] represents looping through the letters from a to f alphabetaically
+
+
+
diff --git a/SchrodingersGat/inventree-brother-plugin.html b/SchrodingersGat/inventree-brother-plugin.html
index 76fc8c70..3e198507 100644
--- a/SchrodingersGat/inventree-brother-plugin.html
+++ b/SchrodingersGat/inventree-brother-plugin.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Brother label printer plugin for InvenTree","headline":"Inventree Brother Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-brother-plugin"},"url":"/SchrodingersGat/inventree-brother-plugin"}
diff --git a/SchrodingersGat/inventree-wireviz.html b/SchrodingersGat/inventree-wireviz.html
index 05d36477..9a80bc83 100644
--- a/SchrodingersGat/inventree-wireviz.html
+++ b/SchrodingersGat/inventree-wireviz.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Wireviz Extension for InvenTree","headline":"Inventree Wireviz","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-wireviz"},"url":"/SchrodingersGat/inventree-wireviz"}
diff --git a/SergeoLacruz.html b/SergeoLacruz.html
index d26a1f67..38decc12 100644
--- a/SergeoLacruz.html
+++ b/SergeoLacruz.html
@@ -30,11 +30,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Hardware engineer in Germany and vintage fan.","headline":"Sergeolacruz","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz"},"url":"/SergeoLacruz"}
diff --git a/SergeoLacruz/inventree-supplier-panel.html b/SergeoLacruz/inventree-supplier-panel.html
index 9855df47..497ba64b 100644
--- a/SergeoLacruz/inventree-supplier-panel.html
+++ b/SergeoLacruz/inventree-supplier-panel.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SergeoLacruz"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Create Mouser shopping cart from purchase order","headline":"Inventree Supplier Panel","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz/inventree-supplier-panel"},"url":"/SergeoLacruz/inventree-supplier-panel"}
diff --git a/SergeoLacruz/inventree-zebra-plugin.html b/SergeoLacruz/inventree-zebra-plugin.html
index e3a73d9f..766c13d2 100644
--- a/SergeoLacruz/inventree-zebra-plugin.html
+++ b/SergeoLacruz/inventree-zebra-plugin.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SergeoLacruz"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Zebra Label Printer Plugin for Inventree","headline":"Inventree Zebra Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz/inventree-zebra-plugin"},"url":"/SergeoLacruz/inventree-zebra-plugin"}
diff --git a/afkiwers/inventree-kicad.html b/afkiwers/inventree-kicad.html
index 1a2d3193..f2289c98 100644
--- a/afkiwers/inventree-kicad.html
+++ b/afkiwers/inventree-kicad.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"afkiwers"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"KiCad Integration for InvenTree","headline":"Inventree Kicad","mainEntityOfPage":{"@type":"WebPage","@id":"/afkiwers/inventree-kicad"},"url":"/afkiwers/inventree-kicad"}
diff --git a/afwkiers.html b/afwkiers.html
index b71a51a4..4d6fb0eb 100644
--- a/afwkiers.html
+++ b/afwkiers.html
@@ -30,11 +30,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"InvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.","headline":"Afwkiers","mainEntityOfPage":{"@type":"WebPage","@id":"/afwkiers"},"url":"/afwkiers"}
diff --git a/blog/feed.atom b/blog/feed.atom
index 78c937fc..bc737635 100644
--- a/blog/feed.atom
+++ b/blog/feed.atom
@@ -1,4 +1,4 @@
-Jekyll2024-03-21T00:58:57+00:00/blog/feed.atomInvenTreeInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.Docker Setup Guide2024-03-13T00:00:00+00:002024-03-13T00:00:00+00:00/blog/2024/03/13/dockerIn this post, we will run though a tutorial for setting up InvenTree in a Docker container. We are installing a stable version of InvenTree, which (at the time of posting) is version 0.14.2.
+Jekyll2024-03-21T22:09:44+00:00/blog/feed.atomInvenTreeInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.Docker Setup Guide2024-03-13T00:00:00+00:002024-03-13T00:00:00+00:00/blog/2024/03/13/dockerIn this post, we will run though a tutorial for setting up InvenTree in a Docker container. We are installing a stable version of InvenTree, which (at the time of posting) is version 0.14.2.
Digital Ocean
diff --git a/lippoliv.html b/lippoliv.html
index 32dc65b3..91c497e4 100644
--- a/lippoliv.html
+++ b/lippoliv.html
@@ -30,11 +30,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"With over 15 years of experience and big big passion I learned to take care about the details. They build up to the big picture we have in mind. I’m planning ahead & act early to prevent a big bang.","headline":"Lippoliv","mainEntityOfPage":{"@type":"WebPage","@id":"/lippoliv"},"url":"/lippoliv"}
diff --git a/lippoliv/inventree-default-salesorder-items.html b/lippoliv/inventree-default-salesorder-items.html
index a9c8a776..3ed40f53 100644
--- a/lippoliv/inventree-default-salesorder-items.html
+++ b/lippoliv/inventree-default-salesorder-items.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"lippoliv"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Add default parts (configurable) to every newly created sales order automatically.","headline":"Inventree Default Salesorder Items","mainEntityOfPage":{"@type":"WebPage","@id":"/lippoliv/inventree-default-salesorder-items"},"url":"/lippoliv/inventree-default-salesorder-items"}
diff --git a/matmair.html b/matmair.html
index 6cdf975d..78e79ef9 100644
--- a/matmair.html
+++ b/matmair.html
@@ -30,11 +30,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"I try to build an ecosystem of reusable plugins and integrations for InvenTree. Code once and KISS!","headline":"Matmair","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair"},"url":"/matmair"}
diff --git a/matmair/inventree-apprise.html b/matmair/inventree-apprise.html
index c4811cb4..9dc78a35 100644
--- a/matmair/inventree-apprise.html
+++ b/matmair/inventree-apprise.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Send notifications from InvenTree via Apprise","headline":"Inventree Apprise","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-apprise"},"url":"/matmair/inventree-apprise"}
diff --git a/matmair/inventree-rapidoc.html b/matmair/inventree-rapidoc.html
index 3a9f7e3f..3d81bca0 100644
--- a/matmair/inventree-rapidoc.html
+++ b/matmair/inventree-rapidoc.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Use RapiDoc for Inventree API docs.","headline":"Inventree Rapidoc","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-rapidoc"},"url":"/matmair/inventree-rapidoc"}
diff --git a/matmair/inventree-zapier.html b/matmair/inventree-zapier.html
index 14718281..5f25dad4 100644
--- a/matmair/inventree-zapier.html
+++ b/matmair/inventree-zapier.html
@@ -31,11 +31,11 @@
-
+
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2024-03-21T22:09:44+00:00","datePublished":"2024-03-21T22:09:44+00:00","description":"Integrate Zapier into InvenTree","headline":"Inventree Zapier","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-zapier"},"url":"/matmair/inventree-zapier"}
diff --git a/news/feed.atom b/news/feed.atom
index 91d5830a..e0637261 100644
--- a/news/feed.atom
+++ b/news/feed.atom
@@ -1,4 +1,4 @@
-Jekyll2024-03-21T00:58:57+00:00/news/feed.atomInvenTree | NewsInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.0.14.2 Release2024-03-13T00:00:00+00:002024-03-13T00:00:00+00:00/news/2024/03/13/0.14.20.14.2 Release
+Jekyll2024-03-21T22:09:44+00:00/news/feed.atomInvenTree | NewsInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.0.14.2 Release2024-03-13T00:00:00+00:002024-03-13T00:00:00+00:00/news/2024/03/13/0.14.20.14.2 Release
We are pleased to announce the 0.14.2 bug fix release, which represents a number of small bug fixes and stability improvements to the software