Odoo Barcode: scanner-driven warehouse operations explained
Odoo Barcode is the scanner-driven interface built into Odoo Inventory that turns a barcode scanner into a real-time warehouse controller for receipts, deliveries, transfers, cycle counts, and manufacturing — no separate app to buy. This guide covers what it does, how to run an inventory count for a specific warehouse, how it differs across Odoo 16 to 19, and how it compares to Dynamics 365 for SMEs.
TL;DR — Key takeaways
- Odoo Barcode is the scanner-first interface inside Odoo Inventory that lets warehouse teams trigger inventory processes by scanning barcodes instead of typing or clicking through desktop forms.
- Odoo Barcode supports three main classes of scanner: USB scanners, Bluetooth scanners, and mobile computer scanners.
- Odoo Barcode maps directly onto Odoo's operation types.
- This is the exact workflow behind the question 'how do I do a barcode inventory count for a specific warehouse in Odoo?' It works across Odoo Enterprise 16, 17, 18, and 19; only a few screen labels move between versions (covered in the next section).
What is Odoo Barcode?
Odoo Barcode is the scanner-first interface inside Odoo Inventory that lets warehouse teams trigger inventory processes by scanning barcodes instead of typing or clicking through desktop forms. It is not a separately purchased application. According to Odoo's official 19.0 documentation, enabling the Barcode Scanner checkbox installs the Barcode app in the database, and Odoo then allows users to assign barcodes to products and product packagings and track inventory movements using those barcodes. By connecting a barcode scanner, certain inventory processes can be triggered by scanning barcodes.
It is enabled from Inventory > Configuration > Settings using the Barcode Scanner checkbox, rather than installed as a standalone app from the Odoo Apps store. The Odoo Inventory features page confirms the same scope: barcode scanning streamlines any warehouse operation, including receipts, pickings, and inventory adjustments, and lets workers update and perform real-time warehouse actions anytime and anywhere.
For SMEs evaluating an Odoo stack, the practical takeaway is that the barcode capability is bundled with Odoo Enterprise Inventory. You do not need to budget for it as a separate module line item, and you do not need to install anything new once Inventory is set up.
In practice, once the Barcode app is on, a worker can: receive goods and confirm receipts at the dock; pick, pack, and validate deliveries in real time; create and process internal transfers by scanning a source and a destination location; run inventory adjustments and cycle counts scoped to a single warehouse or storage location; and confirm manufacturing work-order steps and component consumption on the shop floor. Each operation type — Receipts, Delivery Orders, Manufacturing, Internal Transfers, and Pick — carries a printable barcode that the app reads to open or create the right document, which is why the same scanner serves every warehouse process.
Supported barcode scanners and hardware
Odoo Barcode supports three main classes of scanner: USB scanners, Bluetooth scanners, and mobile computer scanners. Because most USB and Bluetooth barcode scanners emulate a keyboard, Odoo can read their output without dedicated drivers, which keeps procurement simple for SMEs.
For teams that want a purpose-built device, Odoo recommends the Zebra product line, specifically the Zebra TC21 (WiFi-only) and Zebra TC26 (WiFi/cellular) mobile computers, and references the broader Zebra TC2x and TC7x series. A compatible-hardware list, including label printers such as the Zebra ZD411, is maintained at odoo.com/app/inventory-hardware.
If you are coming from a manual or paper-based process, the lowest-friction path is usually a USB scanner paired with an existing workstation. If workers move through the warehouse, a Bluetooth scanner paired with a tablet, or a mobile computer like the TC21/TC26, gives you the real-time floor experience that is the whole point of enabling Odoo Barcode.
Warehouse operations Odoo Barcode covers
Odoo Barcode maps directly onto Odoo's operation types. Each operation type carries a printable barcode that, when scanned, creates or opens the relevant operation. By default the canonical codes are WHIN (Receipts), WHOUT (Delivery Orders), and WHMANUF (Manufacturing), with WHINT (Internal Transfers) and WHPICK (Pick) also available once their prerequisites are met.
Receipts and deliveries are processed in real time on the warehouse floor by scanning location, product, or packaging barcodes and validating, instead of validating transfers later from a desktop computer. Internal transfers can also be created from scratch via scanning, provided Storage Locations and Multi-Step Routes are enabled under Inventory > Configuration > Settings > Warehouse.
Batch, wave, and cluster transfers created in the Inventory app can be processed in the Barcode interface, which is particularly useful for high-volume picking. Inventory adjustments and cycle counts are similarly scanner-driven: workers can work through pre-assigned counts visible on the Barcode dashboard, count entire locations when Storage Locations is enabled, and optionally display expected quantities as a sanity check.
How to run an inventory count for a specific warehouse with Odoo Barcode
This is the exact workflow behind the question 'how do I do a barcode inventory count for a specific warehouse in Odoo?' It works across Odoo Enterprise 16, 17, 18, and 19; only a few screen labels move between versions (covered in the next section). The objective is a scoped count — counting one warehouse or one storage location at a time rather than the whole database — which is precisely what Odoo's location-based cycle counting is built for.
1. Enable Storage Locations (and Multi-Step Routes). Because cycle counts in Odoo are performed by location, Storage Locations must be switched on under Inventory app > Configuration > Settings. Enabling Multi-Step Routes activates Storage Locations automatically, so turning on either setting gives you the location-level scoping the count depends on.
2. Enable the Barcode app. Still in Inventory > Configuration > Settings, tick the Barcode Scanner checkbox; this installs the Barcode app in the database so a Count Inventory option (Odoo 18/19) or an Inventory Adjustments option (Odoo 16/17) appears inside it.
3. Assign barcodes to products and locations. Every product — and optionally each storage location — needs a barcode on its record before scanning can drive the count. Location barcodes are what let you scope the count to a single shelf, aisle, or warehouse zone rather than the whole stock.
4. Scope the count to one location or warehouse. Go to Inventory app > Operations > Physical Inventory to open the Inventory Adjustments list of all in-stock products. To narrow it to a single location, open the Filters and Group By menu (the down-arrow next to the search bar) and either group by Location or add a custom filter such as Location contains the warehouse or zone name. Only the matching products remain, and from here you can request the count and assign it to a user with a scheduled date.
5. Open the count in the Barcode app. On a scanner or mobile device, open the Barcode app and choose Count Inventory (Odoo 18/19) or Inventory Adjustments (Odoo 16/17). For a full location count in Odoo 19, tap the actions icon, scan or enter the location barcode, tick the Count Entire Locations check box, and apply; the app then lists every assigned product in that location.
6. Scan the location, then scan the products. Scan the source location barcode first (the current physical spot in the warehouse), then scan each product barcode. Scanning the same product repeatedly increases its counted quantity, or you can tap the quantity line and use the plus-one and minus-one buttons or the on-screen keypad. By default the expected quantity is hidden so counters record what they physically see rather than copying the system figure.
7. Validate. When the count is complete, tap Confirm (Odoo 18/19) or the green Apply button (Odoo 16/17). The Validate barcode can be scanned in place of tapping the button. A green banner confirms the adjustment has been posted, and Odoo updates the on-hand quantity for that warehouse or location.
Odoo version differences: 16, 17, 18, and 19
The Barcode app and the inventory-count workflow above are consistent across Odoo Enterprise 16, 17, 18, and 19. The underlying operation types, the Default GS1 Nomenclature, and the Storage Locations prerequisite have not changed, so a procedure written for Odoo 17 still applies on Odoo 19 with renamed buttons. What differs between versions is mostly labelling and how the count is surfaced inside the app.
Odoo 16 and 17 call the entry point Barcode Scanning with an Inventory Adjustments button; you scan a source location, then scan products, then press the green Apply button to validate. Odoo 18 introduced a dedicated progressive web app (PWA) for Barcode — alongside Point of Sale, Attendances, Kiosk, Registration Desk, and Shop Floor — which means the scanner interface can be installed on a device home screen and run like a native app rather than only inside a browser tab.
Odoo 19 renamed the entry point to Count Inventory and added an assignment flow: a manager requests a count from Inventory > Operations > Physical Inventory, assigns it to a user and a scheduled date, and can toggle Show Expected Quantity to control whether the counter sees the system's current figure. Odoo 19 also adds a Count Entire Locations check box for scanning one location and listing every product held in it. None of these changes alter the Storage Locations requirement or the scan-location-then-scan-product rhythm, which is why the same walkthrough serves a team on any of the four versions.
Manufacturing and work orders
Odoo Barcode extends into production through the WHMANUF operation type. Scanning a WHMANUF barcode creates a new manufacturing order, and scanning a product barcode adds that product to the Producing list on an active order.
For finer control, the Work Orders feature, enabled under Manufacturing > Configuration > Settings > Operations, exposes individual work-order steps and component consumption to the Barcode app, including printable barcode commands. This means a worker on the shop floor can confirm step completion and consume components by scanning rather than navigating the Manufacturing back office, which matters for SMEs running light discrete or assemble-to-order production alongside their warehouse.
GS1 barcodes, lots, and serial numbers
Odoo supports GS1 barcodes out of the box through the Default GS1 Nomenclature. Built-in rules map GS1 Application Identifiers to Odoo fields: SSCC (00) maps to the package name, GTIN (01) to the product barcode, GTIN of contained items (02) to packaging, batch or lot (10) to the lot, and serial (21) to the serial number. Quantity AIs are also mapped, including (30) for variable count of items, (37) for count of trade items, and the 310x range for net weight in kilograms. The Inventory features page also lists EAN13 and EAN14 support alongside GS1.
Two practical notes for SMEs. First, Odoo does not create GS1 identifiers for you; businesses must purchase a GTIN from GS1 themselves. Second, GS1 lot and serial-number barcodes require a 2D-capable scanner, so plan hardware accordingly if your products carry stacked or matrix codes.
Odoo's documented GS1 usage examples include combined GTIN-plus-quantity-plus-lot strings and GTIN-plus-weight-in-kilograms strings, which is the pattern most food, beverage, and pharmaceutical SMEs will need for traceability and catch-weight scenarios.
Barcode Lookup for auto-creating products
A less-advertised but useful capability is Barcode Lookup, which integrates an external lookup service to auto-create products with a name, description, and image by scanning UPC, EAN, or ISBN barcodes during operations such as receipts. For retailers and distributors that bring on new SKUs frequently, this reduces the manual data-entry step that otherwise slows down receiving.
It is worth noting that Barcode Lookup relies on a third-party service and is separate from the core scanning experience; treat it as an optional accelerator rather than a built-in product master.
Editions and pricing: Community vs Enterprise
The full Barcode app is an Enterprise-only feature. The official Odoo editions comparison lists Barcode under Supply Chain (a sub-item of Inventory) as available in Odoo Enterprise and not in Odoo Community. The 19.0 Barcode documentation pages themselves describe the checkbox and feature set without an edition qualifier, but the editions comparison is where the Enterprise restriction is stated.
There is no separate Barcode line item on the Odoo pricing page; the Barcode app is included with Inventory for Odoo Enterprise users, and Odoo's plans bundle Inventory and other apps for a single per-user fee.
For an SME choosing between Community and Enterprise, this matters: if scanner-driven warehouse workflows are a hard requirement, Enterprise is the supported path. Community users would need a third-party or custom module, which changes the total cost of ownership calculation.
The Dynamics 365 equivalent for SMEs
Microsoft Dynamics 365 splits barcode and mobile warehouse capability across two products, and which one is the right equivalent depends on which Dynamics 365 SKU you run.
Business Central, the SMB and mid-market ERP, provides barcode scanning through the Business Central mobile app on iOS and Android using the device camera, plus dedicated Android hardware scanners via intents (hardware-intent scanning requires Android 11 or later). Supported formats include QR Code, Data Matrix, UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, PDF 417, and AZTEC. Scanning is exposed three ways: a UI scan button on fields tagged ExtendedDatatype = Barcode, programmatic AL invocation via control add-ins such as CameraBarcodeScannerProviderAddIn, and dedicated Android hardware scanners using com.businesscentral.barcode.receive_barcode intents. Business Central also supports item cross-references and item tracking (Serial No., Lot No., Package No.) with scanning on journals, purchase and sales lines, and physical-inventory lines.
Dynamics 365 Supply Chain Management, the upper-mid-market and enterprise ERP, ships the dedicated Warehouse Management mobile app for Android 7.0+, iOS 13.0+, and Windows 10 (May 2020 update 1904.1+). It covers receiving and putaway, picking and shipping, movements, cycle counting, cluster picking, and cross-docking, with GS1 multi-element scans parsed into single or multiple fields per menu item via barcode data policies, hardware-scanner support with keyboard wedge and intent modes, and a global scanner listener from V4 onward.
For SME warehouse and retail back-of-house use, Odoo Barcode and Business Central mobile scanning occupy similar territory: both let a small team run receipts, picks, and counts from a handheld device. The SCM Warehouse Management mobile app sits above both for high-volume, directed warehouse flows with deep configuration around work templates, location directives, and waves.
| Capability | Odoo Barcode (Enterprise) | Business Central mobile | SCM Warehouse Management app |
|---|---|---|---|
| Delivery model | Bundled with Inventory, Enterprise-only | Included with Business Central | Included with SCM licensing |
| Scanner hardware | USB, Bluetooth, mobile computers (Zebra TC21/TC26) | Camera-based + Android hardware via intents (Android 11+) | Android, iOS, Windows hardware scanners |
| GS1 multi-element scans | Default GS1 Nomenclature (2D scanner needed for lot/serial) | Via item tracking and AL extensions | Native, with per-menu-item parsing policies |
| Scope | Receipts, deliveries, transfers, counts, manufacturing | Field-driven scanning across warehouse documents | Directed WMS: waves, clusters, cross-docking |
When Odoo Barcode fits an SME
Odoo Barcode is the right starting point when an SME is already running, or committing to, Odoo Inventory and wants to remove paper and desktop validation from the warehouse floor without buying a separate WMS product. Because the capability ships with Enterprise Inventory, the incremental cost is primarily the hardware.
The Dynamics 365 SCM Warehouse Management app becomes more attractive when an SME has outgrown scanner-triggered transactions and needs directed work, advanced slotting, containerization, or multi-site wave planning. Business Central mobile scanning is the natural fit for SMEs already on Business Central that need light in-warehouse scanning without standing up a full directed-WMS configuration.
Because Flectic implements both Odoo and Dynamics 365, we are platform-neutral on this choice. The right answer depends on your existing ERP, transaction volume, and whether your warehouse flows are best served by scanner-triggered operations (Odoo Barcode and BC mobile) or directed warehouse execution (SCM Warehouse Management).
Frequently asked questions
Is Odoo Barcode a separate app I have to buy?
No. Odoo Barcode is enabled from Inventory > Configuration > Settings using the Barcode Scanner checkbox (which installs the Barcode app in the database) and is included with Odoo Enterprise Inventory. The Odoo editions comparison lists Barcode as an Enterprise-only feature under Inventory, and there is no separate Barcode line item on the Odoo pricing page.
What barcode scanners work with Odoo Barcode?
Odoo supports USB, Bluetooth, and mobile computer scanners. Because USB and Bluetooth scanners emulate a keyboard, most work without dedicated drivers. For mobile computers, Odoo recommends the Zebra TC21 (WiFi) and TC26 (WiFi/cellular), with a broader compatible-hardware list at odoo.com/app/inventory-hardware.
Does Odoo Barcode support GS1 barcodes?
Yes, out of the box via the Default GS1 Nomenclature. Application Identifiers such as SSCC (00), GTIN (01), lot (10), and serial (21) are mapped to Odoo fields, along with quantity AIs like (30) and the 310x weight range. GS1 lot and serial barcodes require a 2D-capable scanner, and businesses must purchase their own GTIN from GS1 since Odoo does not create GS1 identifiers.
Can Odoo Barcode handle cycle counts and inventory adjustments?
Yes. Workers can complete pre-assigned counts from the Barcode dashboard, count entire locations when Storage Locations is enabled, and optionally see expected quantities as a check. Receipts, deliveries, internal transfers, and batch, wave, and cluster picking are also scanner-driven.
What is the Dynamics 365 equivalent of Odoo Barcode?
It depends on the SKU. Business Central offers camera-based and hardware-scanner barcode scanning through its mobile app for receipts, picks, and item tracking. Dynamics 365 Supply Chain Management ships the dedicated Warehouse Management mobile app, which is the closer equivalent to Odoo Barcode for directed, high-volume warehouse flows and supports GS1 multi-element scans parsed per menu item.
How do I count inventory for just one warehouse in Odoo?
Scope the count by location. Enable Storage Locations under Inventory > Configuration > Settings, then open Inventory > Operations > Physical Inventory and use the Filters and Group By menu to isolate one warehouse or storage location — group by Location, or add a custom filter such as 'Location contains' your zone name. Open that scoped count in the Barcode app under Count Inventory (Odoo 18/19) or Inventory Adjustments (Odoo 16/17), scan the location, scan each product, and validate. Because cycle counts in Odoo are performed by location, this is the supported way to count one warehouse at a time rather than the entire database.
Does the barcode inventory-count workflow work on Odoo 17, or only Odoo 19?
It works on Odoo Enterprise 16, 17, 18, and 19. The Storage Locations requirement, the scan-location-then-scan-product rhythm, and GS1 support are unchanged across versions. Odoo 16 and 17 label the screen 'Barcode Scanning > Inventory Adjustments' with a green Apply button; Odoo 18 added a dedicated installable progressive web app for Barcode; Odoo 19 renamed the entry point to 'Count Inventory' and added count assignment, 'Show Expected Quantity', and 'Count Entire Locations'. The same procedure applies on all four.
Why doesn't Odoo show the expected quantity when I count with the Barcode app?
By design. Odoo hides the expected (system) quantity during a count so counters record what they physically see instead of trusting the existing number — which is what makes a cycle count meaningful rather than a rubber stamp. In Odoo 19 a manager can override this when requesting a count from Inventory > Operations > Physical Inventory by ticking 'Show Expected Quantity' in the Inventory Request window; the figure then appears on the Barcode Count Inventory page for the assigned user.
Sources & methodology
22 citedEvery pricing figure and statistic on this page is traced to a primary or vendor source with a verification date. Where partner pages are cited, their platform bias is disclosed in-line.
- 01Odoo Barcode is enabled from Inventory > Configuration > Settings via the Barcode Scanner checkbox, which installs the Barcode app; scanner-triggered processes cover receipts, deliveries, transfers, adjustments, and manufacturing.↗odoo.com · verified Verified via grok against Odoo 19.0 documentation: 'tick the Barcode Scanner checkbox. Doing so installs the Barcode app in the database.'
- 02Odoo supports USB, Bluetooth, and mobile computer scanners; most USB and Bluetooth scanners work because they emulate a keyboard.↗odoo.com · verified Verified via grok against Odoo 19.0 device troubleshooting documentation.
- 03Odoo recommends the Zebra product line, specifically the Zebra TC21 (WiFi-only) and Zebra TC26 (WiFi/cellular) mobile computers.↗odoo.com · verified Verified via grok against Odoo 19.0 device troubleshooting documentation: 'The Zebra product line is recommended; specifically, the Zebra TC21 (WiFi-only), and Zebra TC26 (WiFi/cellular).'
- 04Operation types have printable barcodes: Receipts (WHIN), Delivery Orders (WHOUT), Manufacturing (WHMANUF) by default, with Internal Transfers (WHINT) and Pick (WHPICK) also available.↗odoo.com · verified Verified via grok against Odoo 19.0 operation types documentation.
- 05Receipts and deliveries are processed in real time on the floor by scanning location, product, or packaging barcodes.↗odoo.com · verified Verified via grok against Odoo 19.0 receipts and deliveries documentation.
- 06Internal transfers can be created from scratch via barcode scanning when Storage Locations and Multi-Step Routes are enabled.↗odoo.com · verified Verified via grok against Odoo 19.0 transfers-from-scratch documentation.
- 07Batch, wave, and cluster transfers created in Inventory can be processed in the Barcode app.↗odoo.com · verified Verified via grok against Odoo 19.0 process transfers documentation.
- 08Inventory adjustments and cycle counts are performed by scanning locations and products, with optional expected-quantity display.↗odoo.com · verified Verified via grok against Odoo 19.0 adjustments documentation.
- 09Odoo supports GS1 barcodes via the Default GS1 Nomenclature; businesses must purchase GTINs from GS1 themselves.↗odoo.com · verified Verified via grok against Odoo 19.0 GS1 nomenclature documentation, which lists AI mappings and references gs1.org/standards/barcodes/application-identifiers.
- 10GS1 lot and serial barcodes require a 2D-capable scanner.↗odoo.com · verified Verified via grok against Odoo 19.0 GS1 usage documentation.
- 11Barcode Lookup integrates an external service to auto-create products by scanning UPC/EAN/ISBN barcodes.↗odoo.com · verified Verified via grok against Odoo 19.0 Barcode Lookup documentation.
- 12Odoo Inventory features page states barcode scanning streamlines warehouse operations and supports GS1, EAN13, and EAN14 out of the box.↗odoo.com · verified Read directly from Odoo.com.
- 13Barcode is listed as an Enterprise-only feature under Inventory in the Odoo editions comparison.↗odoo.com · verified Verified via grok: the editions comparison lists Barcode under Supply Chain > Inventory as Enterprise-only (blank in Community column).
- 14Business Central mobile app supports camera-based barcode scanning on iOS/Android and dedicated Android hardware scanners (Android 11+) via intents; supported formats include QR Code, Data Matrix, UPC-A/E, EAN-8/13, Code 39/93/128, ITF, PDF 417, AZTEC; scanning is exposed via UI buttons on ExtendedDatatype=Barcode fields, AL control add-ins (CameraBarcodeScannerProviderAddIn), and com.businesscentral.barcode.receive_barcode intents.↗learn.microsoft.com · verified Verified via grok against learn.microsoft.com, which confirms all three scenarios, the format list, and the intent action/category names.
- 15Business Central supports item cross-references and item tracking (Serial, Lot, Package No.) with barcode scanning on journals and warehouse documents.↗learn.microsoft.com · verified Read directly from learn.microsoft.com.
- 16Dynamics 365 SCM Warehouse Management mobile app supports Android 7.0+, iOS 13.0+, and Windows 10 May 2020 update 1904.1+, covering receiving, putaway, picking, shipping, movements, cycle counting, cluster picking, and cross-docking.↗learn.microsoft.com · verified Verified via grok against learn.microsoft.com, which confirms the exact OS version requirements.
- 17The SCM Warehouse Management mobile app supports GS1 multi-element scans parsed into single or multiple fields per menu item via barcode data policies.↗learn.microsoft.com · verified Verified via grok against learn.microsoft.com, which confirms multi-element single-scan capture and multiple-field scanning.
- 18The SCM Warehouse Management app supports hardware scanners with intent output, keyboard wedge mode, and a global listener from V4 onward.↗learn.microsoft.com · verified Read directly from learn.microsoft.com.
- 19In Odoo 19, to count an entire location you go to Barcode app > Count Inventory, tap the actions icon, scan/enter a location barcode, tick 'Count Entire Locations', and apply; the expected quantity is hidden by default and can be shown via Inventory > Operations > Physical Inventory > Request a Count > 'Show Expected Quantity'; the count is finalized with Confirm or by scanning the Validate barcode.↗odoo.com · verified Read directly from the Odoo 19.0 'Adjust inventory with barcodes' documentation via web reader.
- 20Cycle counts in Odoo are performed by location, so Storage Locations must be enabled under Inventory > Configuration > Settings; to count a specific location go to Inventory > Operations > Physical Inventory and use the Filters and Group By menu to group or filter by Location (e.g. 'Location contains' a zone name).↗odoo.com · verified Read directly from the Odoo 19.0 'Cycle counts' documentation via web reader.
- 21In Odoo 16/17 the inventory adjustment is performed from the Barcode app > Barcode Scanning > Inventory Adjustments: scan the source location first (only required when multi-location is enabled), then scan product barcodes, and validate with the green Apply button.↗odoo.com · verified Read directly from the Odoo 17.0 'Apply inventory adjustments with barcodes' documentation via web reader.
- 22Odoo 18 introduced dedicated progressive web apps (PWAs) for Barcode, Point of Sale, Attendances, Kiosk, Registration Desk, and Shop Floor, allowing the Barcode scanner interface to be installed on a device and run like a native app.↗odoo.com · verified Verified via web search against the official Odoo 18 release notes on odoo.com.
Related services & solutions
Choosing between Odoo Barcode and Dynamics 365 warehouse scanning?
Flectic is an AI-driven ERP and CRM implementation partner for SMEs on both Odoo and Microsoft Dynamics 365. We are platform-neutral: we implement Odoo Barcode, Business Central mobile scanning, and the Dynamics 365 SCM Warehouse Management mobile app, and our AI-accelerated delivery is designed to deliver up to 3x faster. Book an ERP Readiness Call and we will map the right scanner-driven warehouse path for your volumes, your ERP, and your hardware budget.