---
author: SchrodingersGat
title: New Barcode Features
---

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](https://github.com/inventree/InvenTree/pull/5509)) 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](https://ecia.identificationlabs.com) 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](/assets/blog/digikey-barcode.png)

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]({% link extend/app.md %}):

![App barcode support](/assets/blog/barcode_po_actions.png)

#### Web Integration

We are working on integration into the web interface as part of our [move to react](https://github.com/inventree/InvenTree/issues/5212)

#### 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](https://github.com/inventree/inventree-app/pull/437), 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](/assets/blog/barcode_scanner.jpeg)

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](https://github.com/30350n) 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!
