Skip to main content

· 6 min read
Oliver Walters

2023 in Review

Once again, the InvenTree development team has had a very busy year! In 2023, we have released 3 major stable versions of the InvenTree software, with a significant number of new features and improvements. It is also worth noting that we have had a huge number of new contributors to the project, and we would like to thank everyone who has helped make this possible!

Release Milestones

This was a very active year for the project, especially in terms of core software development. A huge array of new features have been implemented, and significant performance improvements have been made across the board.

0.10.0

In February, we released version 0.10.0, with over 100 commits from 6 contributors (including 3 new contributors).

0.11.0

In April, we released version 0.11.0. Again, this release included contributions from 3 new developers, which was very exciting! With 142 commits to the project, this was again a significant release milestone.

0.12.0

In June, we released version 0.12.0. Once again, this release included contributions from 3 new developers, and included a huge number of new features and improvements. The 0.12.0 release included 237 commits from 14 contributors, making it the most significant release of InvenTree to date!

Developers

We now have over 75 developers who have contributed to the project, with many new developers making their first contribution in 2023. We would like to thank everyone who has contributed to the project, and we hope to see many more developers getting involved in the future!

Translation Effort

The language translation effort continues to build momentum, with over 30 languages now supported by the project. There are also over 300 contributors to the translation effort, which is incredible! It is very exciting to see InvenTree being used by people all over the world, and working to translate it into their native language.

Thanks to the crowdin project which makes this possible!

Digital Ocean Sponsorship

In 2023 we were honoured to receive a sponsorship from Digital Ocean. This sponsorship funds hosting for the InvenTree demo server instance, and we are very grateful for their support! If you are looking for a cloud hosting provider, consider using Digital Ocean.

KiCad Integration

In September 2023, we were happy to announce that InvenTree can now be used as a KiCad symbol library, using a custom plugin developed by one of our users. This is a huge step forward for the project, and allows InvenTree to be used as a first-class symbol library for KiCad.

Chaos Computer Club Talk

In December, Matthias, one of our lead developers, presented a lightning talk on InvenTree at the Chaos Communication Congress, which received a lot of positive feedback. It was a great opportunity to showcase the project to a wider audience, and we hope to see more people getting involved in the project as a result.

You can view the talk online here.

Upcoming in 2024

It is hard to believe that we are already in 2024! We have a lot of exciting plans for the project this year, and we are looking forward to seeing what the year brings.

Outstanding Issues

At the time of writing this blog, there are over 180 outstanding issues in the project. This is largely due to an influx of new users, who have been reporting bugs and requesting new features. We are working hard to address these issues, and we hope to see the number of outstanding issues decrease over the coming months.

Attracting new developer talent to the project is a key goal for 2024, and we hope to see many new developers getting involved in the project. If you use InvenTree and would like to help out, please read our contribution guide and get in touch!

Issue Funding

In an effort to focus developer attention, and also potentially attract new developers to the project, we will be experimenting with a new funding model for the project. This would allow users to fund the development of specific issues, and would allow us to focus our efforts on the most important issues.

Moving forward, we will be tagging specific issues with a funding label, which will indicate that the issue is available for funding. If you would like to see a specific issue addressed, please consider funding it!

Funds allocated to a specific issue will be shared between the developers who work on the issue, as well as the maintainers of the InvenTree project.

We are making use of the polar.sh platform to manage the funding process. Please note that we are not affiliated with polar.sh, we are simply using it as a tool to manage the funding process.

We will not be asking for funding for every issue, and we will continue to work on issues which are not funded!

User Interface Refactor

We are continuing to work towards the goal of refactoring the user interface. This is a major project and will take some time to complete.

While the new frontend is progressing well, we would love to see more developers getting involved in the project. In particular, we are looking for support from front-end developers who have experience with React. If you would like to help out, please get in touch!

Plugin System

The plugin system has been a major focus of development in 2023, and we hope to see this continue in 2024. We are working towards a more flexible plugin system, which will allow for more complex plugins to be developed.

As more users (both individuals and businesses) start to use InvenTree, we have seen a significant increase in demand for custom plugins. In particular, we have received a lot of interest in plugins providing integration with other business / enterprise software systems. To allow this, the plugin system does need further development, and we hope to see this happen in 2024.

Documentation

The InvenTree development team is very small, and we are always looking for help with documentation. If you are able to contribute to the project by helping us with documentation, please reach out to us. Writing good quality documentation is a real skill, and just as crucial to a software project as the code itself. If you have any experience or interest in technical writing, please consider helping us out!

There are now many businesses (small and large) using InvenTree to support their operations. If you are using InvenTree in your business, please consider sponsoring the project. The InvenTree project is maintained by developers in their "spare" time, and financial sponsorship allows us to dedicate more time to the project.

You can provide a one-off or monthly sponsorship, or sponsor a specific feature or plugin!

· 6 min read
Oliver Walters

The InvenTree development team is very excited to announce the latest stable release of InvenTree - v0.13.0. This represents the largest release of InvenTree to date, with over 450 pull requests since the 0.12.0 stable release.

New Contributors

This release has been enhanced by the contributions of many developers, and we would like to thank everyone who has contributed to the project!

We have 18 developers who have made their first contribution to the project in this release! Thanks goes to:

New Languages

InvenTree is used by people all over the world, and we would love to see more translations of the project! If you would like to help translate InvenTree into your language, please read our translation guide. We currently support over 30 languages, but there are many more that we would like to support!

In this release, we have added support for 4 new languages:

  • Bulgarian
  • Hindi
  • Serbian
  • Traditional Chinese

Additionally, we have had a huge surge in community contributions for translations! There are now multiple languages with almost 100% translation coverage. Thanks to everyone who has contributed to the translation effort!

New Features

This release includes a number of major new features. Some of the highlights include:

Plugin Improvements

Multiple improvements have been made to the InvenTree plugin system:

Auto Reload

The plugin registry is now automatically reloaded when a new plugin is installed or updated. This means that new plugins can be installed without restarting the server. Additionally, the new reloading system ensures that the background worker thread is always running the same plugin version as the web server.

Auto Migration

Adds the ability to automatically run database migrations when a new plugin is installed. This allows plugins to add new database models, and automatically migrate the database when the plugin is installed.

Improved Installation

The plugin installation process has been improved, with handling for a number of edge cases.

Exchange Rate Plugin

Exchange rate support has now been exposed to the plugin interface. This allows plugins to provide exchange rate data to the InvenTree system. The default exchange rate backend can now be overridden by a custom plugin if required.

Label Printing

The label printing system has been improved, allowing for greater flexibility in label design. The label printing system now supports:

Multi Label Printing

The label printing system now allows for multiple labels to printed at once onto a single page. PR #5833 adds a builtin label printing plugin for printing an array of labels to PDF.

Printing Options

PR #5873 adds the ability to specify printing options at "print time", with the options set based on the selected plugin. Extending the label printing API with dynamic options allows printing plugins to be more flexible.

Barcode Scanning

Barcode scanning support received some significant improvements in this release:

Vendor Barcode Scanning

PR #5509 presents major new functionality for barcode scanning. InvenTree now supports a number of vendor barcodes. Incoming goods can be scanned directly into stock, and received against a purchase order. Read our blog post for a more detailed overview of the new barcode scanning features.

Allocate Items to Sales Order

In PR #6072 we added the ability to allocate stock items to a sales order via barcode scanning. This allows for a more streamlined workflow when picking stock items for a sales order.

Token Authentication

We have improved support for token based authentication. Each user can now have multiple authentication tokens, which can be used to authenticate with the InvenTree API. This allows for more fine-grained control over API access. Tokens can be revoked at any time, and have an expiry date.

Bug Fixes

As well as new features, this release includes a number of bug fixes and improvements. We would like to thank everyone who has contributed to the project, and helped to identify and fix bugs! A key part of keeping InvenTree stable is the help of our users, who report bugs and help us to fix them. Please refer to GitHub for a complete list of bugs we have squashed

User Interface Refactor

We have continued to work towards the goal of refactoring the user interface. The new frontend is progressing well, and we hope to have it fully available for the next release. The new frontend is written in React, and will provide a more modern user interface for InvenTree.

There are still a number of features which are not yet available in the new frontend, and we are working hard to ensure that the new frontend is feature complete before we release it. Please consider contributing to the frontend development effort if you would like to help out!

Support for InvenTree

InvenTree is an open-source project, and we welcome contributions of all kinds! If you would like to support the project, please consider:

You can provide support to InvenTree by sponsoring the project. If you use InvenTree in your business, please consider sponsoring the project to help us continue development.

Code

Please consider contributing to the project by submitting a pull request. The InvenTree project has been receiving a lot of attention from users, and we would love to see more developers contributing to the project! There are a large number of open issues - if you would like to help out, please get in touch!

Release Notes

For a full list of changes, please see the release notes on GitHub

Release Cycle

Moving forward, we will be releasing stable versions on a quicker release cycle. We hope to release a new stable version every 3 months, to keep up with the rapid development of the project. This will allow us to get new features into the hands of our users more quickly, and will also allow us to release bug fixes more quickly. Thanks to the efforts of our contributors, we have been able to significantly increase the pace of development, and we hope to continue this trend!

Deploying InvenTree

If you are new to the InvenTree project, there are multiple ways to deploy InvenTree for your own use. Please refer to the deployment guide for more information.

· 3 min read
Oliver Walters

Label Printing Updates

Available in the upcoming 0.13.0 stable release are some significant enhancements for label printing functionality. The label printing code has received a major overhaul to allow greater flexibility for label printing plugins, and enabling new features which were not previously possible.

Label Printing Plugins

Previously, we had separate concepts for "native label printing" and "printing via plugins", with different software pipelines for each. This meant that:

  • We had a lot of duplicated or inefficient code
  • External printing plugins did not have the same available features

In #5251 we refactored the label printing codebase entirely, and now all label printing is handled via plugins. A builtin plugin is provided which simply renders a single label as a .pdf file (maintaining previous behavior).

The refactor also provided a number of significant improvements and new functionality:

Background Printing

Printing plugins can run in the foreground - and return a .pdf object - or in the background. Background printing plugins return a response immediately (to prevent blocking of the web application) and the printing is offloaded to the background worker process. This allows flexibility to (for example) communicate with an external physical printing device.

Multiple Labels

Before this refactor, plugins received each label individually, with a single "print job" being sent to the printing plugin for each selected label. This was inefficient, and also meant that the printing plugin did not have the flexibility to handle simultaneous printing of multiple labels.

Now, printing plugins have access to the print_labels method, which receives all labels to be printed. If desired, multiple labels could be printed together onto a single paper sheet (an example of this is below).

The default implementation of print_labels simply calls the existing print_label method in sequence for each separate label - maintaining backwards compatibility for existing plugins.

Printing Options

In PR #5786 we introduced the concept of "printing options". Each printing plugin can provide a set of printing options which are presented to the user before initiating label printing. This allows for greater flexibility for label printing plugins.

For example, these run-time options could be used to:

  • Select paper size
  • Switch between multiple connected printers
  • Specify the number of copies of each label to print
  • etc

Label Sheets

In PR #5883, a builtin plugin was developed to print multiple labels to a single "sheet". This could be used to print a set of labels onto a specialized label sheet with peelable labels, or just a sheet of paper where the individual labels can be cut from the sheet.

This plugin also provides an example of how the printing options can be used to customize printing behavior at runtime.

Example

The images below demonstrate how the new label sheet plugin works.

Select Items to Print

Select a number of individual stock items, for which labels will be printed:

Select items

Label Printing Dialog

Select the InvenTree Sheet Label Printer plugin:

Select printer

Print Labels

Labels are printed in a regular grid on the resulting sheet. Note that the first three cells have been skipped, as per the selected option in the printing dialog:

Print labels

Available Soon

The new label printing features will be available in the upcoming 0.13.0 stable release. Or, available now in the master code branch!

· 3 min read
Oliver Walters

Barcode Integration

Integrating barcode scanning into your InvenTree workflow can provide major efficiency improvements. To help streamline inventory management processes, the InvenTree development community has recently introduced some major new barcode features.

Barcode Workflows

To date, InvenTree has provided relatively simple "workflows" for barcode scanning. Scanning a barcode returns information about the database item associated with that barcode - such as a stock item, supplier part, purchase order, etc. This already allows users to perform many stock operations using barcode scanning - and is integrated into the native mobile app.

Recent updates (such as this pull request) have started to introduce more complex barcode workflows, which will allow for context sensitive barcode actions.

ECIA Barcodes for Purchase Orders

Many electronics manufacturers provide data-rich barcodes on items received against incoming purchase orders. The Electronics Component Industry Association (ECIA) has developed a 2D barcode standard which is now implemented by a number of major electronics suppliers.

Purchase orders line items received from these suppliers are often provided with comprehensive barcodes, such as the example below, from Digikey:

Digikey barcode

This 2D barcode contains the following data fields (and other information):

  • Purchase order reference
  • Manufacturer part number (MPN)
  • Digikey part number
  • Item quantity

These data are sufficient to receive stock items into the InvenTree database with a simple barcode scan. By matching against an open purchase order, and finding the right line item, the item can be marked as received without any manual data entry on the part of the user. A data-driven automated barcode workflow can also reduce data entry errors.

To capitalize on this available data, InvenTree now supports scan-in of items received against purchase orders, from suppliers who support ECIA barcodes. A new barcode scan API endpoint is provided which handles all of the back-end operations.

Currently, the following suppliers are supported:

  • Digikey
  • Mouser
  • LCSC
  • TME

This functionality will be available in the upcoming 0.13.0 stable release.

App Integration

The new purchase order barcode functionality is supported by the InvenTree mobile app:

App barcode support

Web Integration

We are working on integration into the web interface as part of our move to react

Further Workflows

Other advanced barcode workflows are also planned for future development, particularly around build orders and sales orders.

Note that barcodes functionality can also be extended by plugins as required, for custom integrations or features.

App Barcode Scanner Support

To further improve barcode support, the mobile app has been updated to work with external barcode scanners (in addition to providing barcode scanning using the internal camera). The new scanner support provides keyboard wedge scanning, which means that it can interface with any barcode scanners which act as virtual keyboards.

In addition to working with external bluetooth scanners, this means that the app is now supported on barcode scanners which natively run android:

Barcode scanner

Any scanner which supports wedge or keyboard mode should now be able to integrate seamlessly with the InvenTree app.

Acknowledgements

We would particularly like to acknowledge the superb contributions of Bobbe who was instrumental in developing these new barcode features and mobile app integration. The InvenTree community continues to help us develop the software into a more functional and feature-packed product!

· 2 min read
Oliver Walters

The InvenTree development team is proud to announce the release of version 0.12.8, which provides fixes for a number of bugs reported by our community of users.

Currency Exchange

One key issue addressed in this release is a fix for fetching exchange rate information from the internet.

To date, InvenTree has made use of the exchangerate.host service for updating currency exchange rate data. This has (until now) been provided as a free service which did not require authentication.

However recent changes to the exchangerate backend have broken our exchange rate implementation, and required an immediate fix.

frankfurter.app

For now, the quick approach to get everyone up and running again is to migrate to using the frankfurter.app API. This provides a near-identical API, without needing an API key or paid subscription.

Future Improvements

Future work on supporting exchange rates will involve supporting different backend APIs, including the ability for users to provide their own API keys. We will also implement the ability for custom plugins to provide exchange rate data - allowing users to define their own exchange rate interface if required.

Other Improvements

For a full description of other issues addressed in this release, refer to the release notes

Maintaining and continuously improving a software project requires time, effort, and resources. We are committed to patching critical bugs in a timely manner, to ensure that everyone who is using InvenTree has the best possible experience with our software.

If you would like to financially support the project, please refer to the contribution guide.

· 3 min read
Oliver Walters

KiCad Integration

In the world of electronics design and PCB (Printed Circuit Board) development, KiCad has been a go-to tool for engineers and hobbyists alike. KiCad is a very popular and capable tool, and has continually evolved to meet the changing needs of its users.

Ever since InvenTree was first shamelessly cross-promoted on the KiCad forums, I have been searching for a clean way to connect KiCad and InvenTree together. This has been a popular topic of discussion with other InvenTree users too!

InvenTree contains all of my part definition data and inventory management information, such as part parameters, supplier data, etc. If only there was a simply way to get all of that information directly out of InvenTree and into KiCad.

Well now, with great excitement, there is! InvenTree data can now be used as a first-class symbol library - with full support of all of InvenTree's internal data!

HTTP Library Support

In September 2023, HTTP Library Support was added to the KiCad application.

This feature allows KiCad library data to be retrieved from an external API endpoint, rather than a library file on the local filesystem. This is a groundbreaking change which allows us to leverage InvenTree's existing capabilities to provide a fully-featured integration between the two software packages.

InvenTree Plugin

The same author who implemented the HTTP library support in KiCad has also released a plugin for InvenTree which provides an API wrapper for the InvenTree database that conforms to the KiCad HTTP library standard.

What does this mean? Simply put, it means that you can now use your InvenTree database as a native KiCad library, and pull your InvenTree data directly in to your KiCad schematic.

Configuration File

Once the plugin is installed, a simple configuration file on the local computer is all that is required to connect to the InvenTree database. All that is required is the URL to the remote server (with the correct plugin extension) and an API token for authentication:

{
"meta": {
"version": 1.0
},
"name": "InvenTree",
"description": "InvenTree Library",
"source": {
"type": "REST_API",
"api_version": "v1",
"root_url": "http://my.inventree.server/plugin/kicad-library-plugin",
"token": "usertokendatastring"
}
}

Categories as Libraries

InvenTree categories can be used as separate libraries in the KiCad application. The InvenTree plugin allows the user to select which part categories are exposed to KiCad.

Parameters as Fields

Part parameters are exposed to the KiCad symbol as fields. This means that any extra part information (stored as part parameters in InvenTree) is available to the KiCad symbols.

Default Values

Where certain KiCad values are not defined for a particular part, each library category can optionally specify attributes such as Default Symbol or Default Footprint. This allows a category to be defined where all parts may share a common symbol and/or footprint within KiCad.

Further Reading

Check out the inventree-kicad-plugin page on GitHub for further details, including installation instructions!

· 6 min read
Oliver Walters

User Interface Refactor

The InvenTree development team is thrilled to share some exciting news about the ongoing efforts to significantly overhaul our user interface. To provide a major facelift to InvenTree, we are migrating our entire user interface to the React framework.

A Brief History

The InvenTree software project started as a pure server-side app, with the pages rendered on the server using html template files, via the Django template engine. As the amount of data handled by InvenTree increased, this approach very quickly became untenable, with page loading times slowing noticeably.

A significant milestone came with the introduction of the REST API (we use the Django Rest Framework). Now, the user interface could be separated from the data, which allowed some great improvements to the user experience. Now, content could be loaded dynamically via the API, and rendered on the client side using javascript.

While various improvements have been made, and new features implemented, this has been how the InvenTree user interface has functioned for a number of years. Functionality (and code) has grown somewhat organically, and without much in the way of an overarching design strategy.

A lot of the user interface is still dynamically rendered on the server, with the "gaps" filled in by the client (via API calls). This approach has some drawbacks:

  • Inconsistent: There is no real guiding strategy as to which parts are rendered by the server or the client
  • Inefficient: Rendering UI elements on the server via templates is very slow, and we cannot make use of modern design patterns
  • Inscrutable: With a mix of server-side html and client-side javascript, it is very difficult to work out how a certain function works, and how to implement changes.

So, it's time for a clean break! Moving to a modern UI framework is a daunting task, but with some very clear benefits and provides a path into the future.

Design Goals

The primary design goal for our refactor is to render the entire user interface dynamically, using React. To achieve this, we have to implement the following:

  • Update the API
  • Reimplement the UI
  • Test everything

Update API

As it stands, the API currently provides the majority of required data to various interfaces, including the web interface, mobile app, and any third party integrations. However there are some data which are not currently accessible via the API, and rendered on-demand by the server. So, we need to ensure that all displayed data are available via API endpoints.

Reimplement UI

Every single page / view needs to be rewritten in React. While this is a lot of work, it will be significantly less work than it took to originally write it all in javascript. We can leverage the reusable components and design patterns provided by React to significantly reduce code duplication. Additionally, there are already a lot of "common" interface patterns (such as data tabulation) used in InvenTree which should cut down the required work.

Test Everything

A big advantage of moving to a modern UI framework is the ability to enhance our unit testing. Currently, while the server code has good code coverage, the front-end code has very little. Our move to React will include a focus on test driven development, to ensure that our front-end is as bug free as is reasonably possible.

Advantages

There are a number of significant advantages that this refactor will afford:

  • User Experience: A major driver here is a better user experience. The interface will be more "user friendly", pages will load more smoothly, and the interface flow (should) feel more intuitive
  • Efficiency Gains: As the django server no longer has to render front-end code, it should me much more responsive for API requests
  • Improved API: As a necessary requirement, our API will be enhanced. Data availability and response times will be improved.
  • Reduce Served Load: By only loading data when necessary, we will drastically reduce the load on the server
  • Code Separation: Good separation of code between the server (API) and front-end (UI) will result in cleaner code
  • Better for Developers: By moving to a well-known modern framework, we will make it much easier for other developers to contribute to our codebase.
  • Future Development: We will have a clear path forward for development of modern, responsive interface features which are not possible with our current toolchain.
  • Easier Integrations: Developers can implement responsive integrations with external services or plugins

Release Timeline

Currently, the "master" branch of InvenTree ships with the "legacy" interface, and the new interface (which we have codenamed "platform"). We will be shipping both interfaces side-by-side while we work on the development.

When the new interface is ready to be released, we will have a clean break, with the old interface removed entirely.

Our aim is to have the entire user interface rewritten by the end of the year. Ideally, with developer assistance we could have it done sooner!

You can track the progress of these tasks here - https://github.com/inventree/InvenTree/issues/5212

Distributing the Interface

The intent for distributing the UI is to bundle a set of compiled javascript files with the installer. This means that the install / upgrade process is seamless for users:

  • End users will not need to install node / npm / yarn / etc on their system
  • UI files are compiled and minified, to reduce download size

Developers will need to install the required development packages to build the user interface on their machine. This is managed by our requirements files.

Interface Preview

The new interface is currently shipping in the "master" branch of InvenTree, and can be accessed at the /platform/ URL. This is very much a work in progress, but is useful for users or developers who wish to see the progress of the overhaul, or (even better) help us develop it.

You can see the latest version on the demo site, at https://demo.inventree.org/platform/

Development Assistance

One major goal of the refactor is to attract more developers by using a well-established modern framework. If you would like to contribute to the new interface, please raise a PR over on our GitHub page.

· 7 min read
Oliver Walters

0.12.0 Stable Release

Once again, it's time to announce a new stable release! The InvenTree development team, aided by a number of new contributors, are pleased to announce a new stable release version - 0.12.0.

Deploying InvenTree

InvenTree deployment is supported with multiple approaches. Refer to our deployment guide for more information!

New Features

In today's fast-paced business environment, effective inventory management plays a vital role in the success of any organization. Keeping track of stock, orders, and projects is essential for efficient operations and customer satisfaction. To address the evolving needs of businesses, we are excited to announce the release of InvenTree, our advanced inventory management software. This latest version of InvenTree introduces several key features and enhancements, focusing on improving business functionality and reliability. Let's explore the major highlights of this release:

Units of Measurement

InvenTree now supports physical units for parts, allowing you to define and track different units of measurement for your inventory items. With seamless conversion between compatible types, you can manage your stock in a way that aligns with your specific requirements and industry standards.

Physical unit management is provided via the pint library. Units of measure can be defined for internal parts, and for parts supplied by external companies. In the case of supplier parts, different units of measure can be specified, and converted to internal units on point of purchase.

Additionally, part parameters can now also specify real world units!

For more information on this new feature, refer to the documentation:

Project Codes

To streamline project management and order tracking, InvenTree now offers configurable project codes. These codes can be created and assigned to orders, providing a convenient way to organize and categorize your inventory based on specific projects. This enhancement enhances overall visibility and enables efficient project-based inventory management.

Read more about project code support in the documentation

Parameter Types

Part parameters in InvenTree now support dynamic typing, empowering you to define and validate various parameter types. With this flexibility, you can customize and validate part parameters to suit your specific needs. Furthermore, the addition of plugin support ensures seamless integration of third-party validation mechanisms, enhancing the reliability of your inventory data.

More information about part parameters is available in the documentation.

Parameter Sorting

To enhance the usability and efficiency of InvenTree's part parameters, the latest release introduces the ability to sort parameters by value. This functionality enables you to quickly identify and analyze specific parameter values across your inventory. Moreover, the conversion between real unit values of compatible types allows for seamless comparison and analysis. By easily sorting parts based on parameter values, you gain deeper insights into your inventory, facilitating better decision-making and process optimization.

Report Plugins

InvenTree introduces a new plugin mixin class that allows for custom context variables to be injected into reports. This enhancement provides extensive customization options when generating reports, enabling you to include additional information relevant to your business processes. With improved report functionality, you can present inventory data in a more comprehensive and meaningful way.

Build Orders Consume Stock

The build order interface in InvenTree has received a major overhaul, resulting in a significantly improved API interface. This update simplifies the process of managing build orders and ensures a smoother workflow. Additionally, build orders now track stock consumption, allowing for lifecycle tracking of consumed stock. This feature enables better monitoring of stock usage and enhances traceability.

Scrap Build Order Outputs

InvenTree's latest release introduces a valuable feature that allows users to scrap partially completed or failed build outputs while retaining traceability. In real-world manufacturing scenarios, it is common for builds to encounter challenges or errors, resulting in the need to discard certain outputs. With the new scrap build outputs functionality, you can easily identify and remove faulty or incomplete build outputs from your inventory. This feature ensures accurate stock tracking and maintains a clear audit trail, improving reliability and efficiency in your manufacturing processes.

Image Uploads

To enrich documentation and enhance visual representation, InvenTree now supports image uploads. Images can be uploaded and seamlessly integrated into markdown notes fields, providing a more comprehensive overview of inventory items. With the ability to include images, you can easily document and visualize important aspects of your inventory, increasing reliability and improving communication.

Address Management

InvenTree now offers increased support for address management with a more complex address database model. This enhancement enables businesses to manage addresses more effectively, accommodating various scenarios such as multiple shipping locations, customer addresses, and supplier information. With improved address management, you can maintain accurate records and ensure smooth logistics operations.

SVG Support

With the growing importance of visual data representation, InvenTree now supports the embedding of SVG images into generated reports. By incorporating SVG images into your reports, you can create visually appealing and informative documentation, making it easier for stakeholders to understand and engage with your inventory data.

Read more about SVG support in generated reports in the documentation.

Update to OpenAPI

InvenTree's API documentation has been updated to utilize OpenAPI, resulting in improved readability and enhanced functionality. The transition to OpenAPI brings a standardized and user-friendly interface for developers, enabling easier integration with other systems and applications. This update enhances the reliability and compatibility of InvenTree within your existing software ecosystem.

Bug Fixes

As always, we have worked hard to address any identified bugs or inconsistencies in system performance. These bug fixes and usability improvements represent our commitment to delivering a robust, reliable, and user-friendly inventory management solution. We value user feedback and continuously strive to enhance the software based on user needs and industry best practices. With each iteration, InvenTree becomes more refined, reliable, and user-centric, empowering businesses to efficiently manage their inventory and drive success.

And More!

With over 175 merged requests, this new stable release represents a major step forward in the InvenTree project. Please refer to the release notes for a full listing of new features, bug fixes, and other updates.

Support for InvenTree

We believe in the power of open-source software and its ability to drive innovation and empower businesses worldwide. InvenTree has always been developed with a community-driven approach, with contributors and users collaborating to make it a robust and reliable inventory management solution. To continue providing high-quality software and ensure its long-term sustainability, we rely on the support of the community.

Maintaining and continuously improving a software project requires time, effort, and resources. We are committed to dedicating our expertise and energy to enhancing InvenTree, but we also need your support to sustain its development at the highest standards. By contributing financially to the project, you can play a crucial role in ensuring that InvenTree remains a cutting-edge, reliable, and feature-rich inventory management solution.

Your financial support will help us in several ways:

Continued Development

Funds raised through your contributions will enable us to allocate more resources to the ongoing development of InvenTree. This means that we can invest in additional development hours, hire talented developers, and accelerate the implementation of new features, bug fixes, and usability improvements.

Bug Fixing and Quality Assurance

With your financial support, we can dedicate more attention to addressing reported bugs promptly. By investing in rigorous quality assurance processes, we can ensure that InvenTree operates smoothly, minimizing disruptions and maximizing reliability for users like you.

Documentation and User Support

High-quality documentation and responsive user support are vital components of a successful software project. Your contributions will enable us to allocate resources to improving documentation, creating helpful tutorials, and providing timely assistance to users, enhancing their experience and understanding of InvenTree.

Infrastructure and Hosting Costs

Maintaining reliable infrastructure and hosting services is essential for ensuring the ongoing development and maintenance of the InvenTree project. Your support will help us cover the various ongoing costs associated with hosting.

To support InvenTree financially, please view the contribution page or contact our team for more information on how you can contribute. We extend our heartfelt gratitude to the entire InvenTree community for your ongoing support, contributions, and belief in the power of open-source software. Your involvement is invaluable, and we look forward to building a brighter future for InvenTree together.

· 4 min read
Oliver Walters

0.11.0 Stable Release

The InvenTree development team is proud to announce the 0.11.0 stable release!

New Features

We are thrilled to announce the latest stable release of Inventree, version 0.11.0, packed with exciting new features and improvements! This release has been made possible thanks to the hard work and dedication of our incredible community of contributors. With a wide range of new features, InvenTree 0.11.0 is a significant step forward in empowering businesses to streamline their inventory processes and optimize their workflows. We can't wait for you to try it out!

Return Orders

The addition of Return Orders is a significant new feature, which allows users to easily process and manage returned items, whether they are due to customer refunds or defective products. With the ability to track the status of return orders and the associated inventory movements, businesses can better manage their inventory levels, reduce waste, and improve their customer service.

Stocktake Reports

Another great new feature in the latest release of InvenTree is the ability to generate detailed stocktake reports. This feature enables businesses to conduct accurate and efficient inventory audits by providing periodic information on stock levels, locations, and movements. With this feature, businesses can view historical inventory levels, providing data for improved decision-making. The stocktake report feature also allows for customizations such as filtering by location, category, or supplier, providing a tailored view of inventory levels to meet specific business needs. Overall, the ability to generate stocktake reports is a significant enhancement to InvenTree, enabling businesses to take control of their inventory management and streamline their operations.

Improved Barcode Support

The latest release provides improved barcode support, with the ability to generate barcodes for all order types, in addition to assigning custom barcodes.

Report Templates

InvenTree's latest release includes improved report template functionality with better currency rendering support, enabling businesses to create professional and accurate reports. This feature allows for more detailed and customizable reports, including the ability to display currency symbols and automatically convert currency values to the appropriate format based on the user's settings, saving time and effort.

Refer to the reporting documentation for further details.

Search Results

Another feature of this release is the refactor and extension of the API search endpoint, adding new functionality such as regex and whole word search capabilities. With these improvements, users can conduct more powerful searches, returning more precise results and reducing the time and effort required to find the information they need.

Bug Fixes

Multiple bug fixes (ranging from minor to significant) have been implemented. Many of these bugs have been reported (and even fixed) by our users. Your feedback really helps improve the software and make it more useful for everyone!

Translation Updates

Our users have been working very hard to improve the translation support for the InvenTree software. The translation efforts are progressing really, well - check out the InvenTree project on crowdin. If you would like to see further work on the translation, or looking to see InvenTree translated into a new language, please consider contributing your time as a translator!

Release Notes

As always, the full set of release notes and changelogs is available on our GitHub Page.

Python Bindings

The InvenTree python bindings have also been updated - check out the release notes.

Support InvenTree

The InvenTree development team is committed to providing users with the best possible open source inventory management software. However, we rely on the support of our community to continue developing new features and improving our platform. If you find InvenTree valuable and want to support our ongoing development efforts, please consider making a financial contribution to help us continue developing the InvenTree software.

· One min read
Oliver Walters

0.10.1 Bugfix Release

The InvenTree development team is pleased to announce the 0.10.1 bugfix release.

This release fixes a small number of critical bugs, backported from the master branch. The complete release notes can be found on Github.