2
0
mirror of https://github.com/inventree/inventree-website.git synced 2025-04-29 14:06:45 +00:00
inventree-website/blog/2023/10/29/barcodes.html
2025-02-22 00:18:52 +00:00

251 lines
12 KiB
HTML

<!DOCTYPE html>
<html lang=" en-US ">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/assets/splide/css/splide.min.css">
<link rel="stylesheet" href="/assets/index.css">
<link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.ico">
<script src="/assets/splide/js/splide.min.js"></script>
<!-- Fontawesome integration -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
<title>InvenTree - New Barcode Features</title>
<meta itemprop="description" name="description"
content="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 a..." />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>New Barcode Features | InvenTree</title>
<meta name="generator" content="Jekyll v4.3.3" />
<meta property="og:title" content="New Barcode Features" />
<meta name="author" content="SchrodingersGat" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="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." />
<meta property="og:description" content="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." />
<link rel="canonical" href="/blog/2023/10/29/barcodes" />
<meta property="og:url" content="/blog/2023/10/29/barcodes" />
<meta property="og:site_name" content="InvenTree" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2023-10-29T00:00:00+00:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="New Barcode Features" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2023-10-29T00:00:00+00:00","datePublished":"2023-10-29T00:00:00+00:00","description":"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.","headline":"New Barcode Features","mainEntityOfPage":{"@type":"WebPage","@id":"/blog/2023/10/29/barcodes"},"url":"/blog/2023/10/29/barcodes"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body class="flex flex-col antialiased cm-gray-1 min-h-screen">
<div class="flex-none">
<header class="cm-gray-2 body-font sticky top-0 z-50 bg-gradient-to-r from-white to-secondary">
<div class="container mx-auto flex flex-wrap p-5 flex-row items-center">
<a class="flex title-font font-medium items-center cm-gray-1 mb-0 mr-2" href="/">
<img src="/assets/logo.png" alt="logo" height="32" width="32" class="h-8">
<span class="ml-3 text-xl">InvenTree</span>
</a>
<div class="flex-grow xs:flex-none"></div>
<nav class="md:mr-auto md:py-1 xs:ml-4 xs:pl-4 xs:border-l xs:border-gray-400 flex flex-wrap items-center text-base justify-center">
<a class="mr-5 hover:cm-gray-1" href="/deploy.html">Deploy</a>
<a class="mr-5 hover:cm-gray-1" href="https://docs.inventree.org/en/stable/">Docs</a>
<a class="mr-5 hover:cm-gray-1" href="/blog">Blog</a>
</nav>
</div>
</header> <header>
<a href="/blog" class="flex items-center m-5 text-xl hover:underline">
<img class="w-6 h-6" alt="go back" src="/assets/back.svg">
<span>Back</span>
</a>
</header>
<article>
<h1>New Barcode Features</h1>
<p>
29 Oct 2023
<a href="/schrodingersgat">Oliver</a>
</p>
<p>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.</p>
<h3 id="barcode-workflows">Barcode Workflows</h3>
<p>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.</p>
<p>Recent updates (such as <a href="https://github.com/inventree/InvenTree/pull/5509">this pull request</a>) have started to introduce more complex barcode workflows, which will allow for context sensitive barcode actions.</p>
<h3 id="ecia-barcodes-for-purchase-orders">ECIA Barcodes for Purchase Orders</h3>
<p>Many electronics manufacturers provide data-rich barcodes on items received against incoming purchase orders. The <em>Electronics Component Industry Association</em> (ECIA) has developed a <a href="https://ecia.identificationlabs.com">2D barcode standard</a> which is now implemented by a number of major electronics suppliers.</p>
<p>Purchase orders line items received from these suppliers are often provided with comprehensive barcodes, such as the example below, from Digikey:</p>
<p><img src="/assets/blog/digikey-barcode.png" alt="Digikey Barcode"></p>
<p>This 2D barcode contains the following data fields (and other information):</p>
<ul>
<li>Purchase order reference</li>
<li>Manufacturer part number (MPN)</li>
<li>Digikey part number</li>
<li>Item quantity</li>
</ul>
<p>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 <em>received</em> without any manual data entry on the part of the user. A data-driven automated barcode workflow can also reduce data entry errors.</p>
<p>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.</p>
<p>Currently, the following suppliers are supported:</p>
<ul>
<li>Digikey</li>
<li>Mouser</li>
<li>LCSC</li>
<li>TME</li>
</ul>
<p>This functionality will be available in the upcoming <code class="language-plaintext highlighter-rouge">0.13.0</code> stable release.</p>
<h4 id="app-integration">App Integration</h4>
<p>The new purchase order barcode functionality is supported by the <a href="/extend/app.html">InvenTree mobile app</a>:</p>
<p><img src="/assets/blog/barcode_po_actions.png" alt="App barcode support"></p>
<h4 id="web-integration">Web Integration</h4>
<p>We are working on integration into the web interface as part of our <a href="https://github.com/inventree/InvenTree/issues/5212">move to react</a></p>
<h4 id="further-workflows">Further Workflows</h4>
<p>Other advanced barcode workflows are also planned for future development, particularly around build orders and sales orders.</p>
<p>Note that barcodes functionality can also be extended by plugins as required, for custom integrations or features.</p>
<h3 id="app-barcode-scanner-support">App Barcode Scanner Support</h3>
<p>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 <a href="https://github.com/inventree/inventree-app/pull/437">keyboard wedge scanning</a>, which means that it can interface with any barcode scanners which act as virtual keyboards.</p>
<p>In addition to working with external bluetooth scanners, this means that the app is now supported on barcode scanners which natively run android:</p>
<p><img src="/assets/blog/barcode_scanner.jpeg" alt="Barcode scanner"></p>
<p>Any scanner which supports <em>wedge</em> or <em>keyboard</em> mode should now be able to integrate seamlessly with the InvenTree app.</p>
<h3 id="acknowledgements">Acknowledgements</h3>
<p>We would particularly like to acknowledge the superb contributions of <a href="https://github.com/30350n">Bobbe</a> 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!</p>
</article>
</div>
<div class="flex-grow"></div>
<div class="flex-none">
<footer class="cm-gray-2 body-font">
<div class="container px-5 pt-8 mx-auto flex md:flex-row md:flex-nowrap flex-wrap flex-col">
<div class="w-64 flex-shrink-0 md:mx-0 mx-auto text-center md:text-left">
<div class="flex title-font font-medium items-center md:justify-start justify-center cm-gray-1">
<img src="/assets/logo.png" alt="logo" height="32" width="32" class="h-8">
<span class="ml-3 text-xl">InvenTree</span>
</div>
<p class="mt-2 text-sm cm-gray-3">Intuitive Inventory Management</p>
</div>
<div class="flex-grow flex flex-wrap md:pl-10 mb-1 md:mt-0 mt-10 md:text-left text-center md:justify-left justify-center">
<div class="md:w-1/4 px-4">
<h2 class="footer-categorie title-font">
Quick
</h2>
<nav class="list-none mb-10"><ul>
<li><a href="/demo.html" class="footer-link">Demo</a></li>
<li><a href="/deploy.html" class="footer-link">Deploy</a></li>
<li><a href="https://docs.inventree.org/en/stable/" class="footer-link">Docs</a></li>
<li><a href="/news" class="footer-link">News</a></li>
<li><a href="/plugins" class="footer-link">Plugin List</a></li>
</ul></nav>
</div>
<div class="md:w-1/4 px-4">
<h2 class="footer-categorie title-font">
<a href="/extend/">Ecosystem</a>
</h2>
<nav class="list-none mb-10"><ul>
<li><a href="/extend/api.html" class="footer-link">API</a></li>
<li><a href="/extend/app.html" class="footer-link">App</a></li>
<li><a href="/extend/plugin/" class="footer-link">Plugins</a></li>
<li><a href="/extend/integrate/" class="footer-link">Integrations</a></li>
</ul></nav>
</div>
<div class="md:w-1/4 px-4">
<h2 class="footer-categorie title-font">
Sitemap
</h2>
<nav class="list-none mb-10"><ul>
<li><a href="/about/" class="footer-link">About</a></li>
<li><a href="/alternatives/" class="footer-link">Alternatives</a></li>
<li><a href="/blog" class="footer-link">Blog</a></li>
<li><a href="/contribute.html" class="footer-link">Contribute</a></li>
<li><a href="/support.html" class="footer-link">Support</a></li>
</ul></nav>
</div>
</div>
</div>
<div class="bg-gray-100">
<div class="container mx-auto py-4 px-5 flex flex-wrap flex-col sm:flex-row">
<p class="cm-gray-2 text-sm text-center sm:text-left">© 2021-now InvenTree by<a href="https://github.com/inventree" rel="noopener" class="cm-gray-2 ml-1" target="_blank">@inventree</a>— website made with ♥ by<a href="https://github.com/matmair" rel="noopener" class="cm-gray-2 ml-1" target="_blank">@matmair</a></p>
<span class="inline-flex sm:ml-auto sm:mt-0 mt-2 justify-center sm:justify-start">
<a href="https://github.com/inventree/inventree" alt="github repo" class="ml-3 cm-gray-3">
<img class="h-5 w-5" alt="GitHub logo" src="/assets/github.svg">
</a>
<a href="https://reddit.com/r/inventree" alt="Reddit" class="ml-3 cm-gray-3">
<img class="h-5 w-5" alt="Reddit logo" src="/assets/reddit.svg">
</a>
<a href="https://twitter.com/inventreedb" alt="Twitter" class="ml-3 cm-gray-3">
<img class="h-5 w-5" alt="Twitter logo" src="/assets/twitter.svg">
</a>
<a href="https://chaos.social/@InvenTree" rel="me" alt="Mastodon" class="ml-3 cm-gray-3">
<img class="h-5 w-5" alt="Mastodon logo" src="/assets/mastodon.svg">
</a>
</span>
</div>
</div>
</footer>
</div>
</body>
</html>