Inventory management software development company or an ERP
A custom inventory quote is often a first release. As of October 2026, one shop's published ranges put a basic build at USD 35,000 to 70,000 and 10 to 14 weeks, without barcode scanning…
A custom inventory quote is often a first release. As of October 2026, one shop's published ranges put a basic build at USD 35,000 to 70,000 and 10 to 14 weeks, without barcode scanning, a second warehouse, lot or serial tracking, or an accounting link. The same page prices those additions at USD 10,000 to 35,000 each. Business Central Essentials is USD 80 per user per month, paid yearly, and includes inventory, warehouse management, and a path to the general ledger. Odoo Standard is USD 31.10 per user per month for the first 12 months on the US pricing page, and it includes Inventory and Accounting.
For a distributor that needs stock and the ledger together, an ERP inventory module is usually the smaller project. The enterprise tier on the RaftLabs cost page, the one that includes ERP integration, is USD 150,000 to 250,000 or more and 24 to 40 weeks. Stacking barcode, lots, two to five warehouses, and a Dynamics 365 link onto the basic tier is USD 95,000 to 185,000, before maintenance.
What an inventory software development quote usually prices
Development-company pages sell the build. The useful comparison is what the first invoice buys, and what your warehouse still cannot do on the Monday after go-live. Read any quote as a scope list. Then match it to the two published planning ranges below. They are vendor write-ups of project experience. Treat them as planning ranges, and keep them separate from our fees.
Tiers one shop published from its own projects
RaftLabs lists three tiers as of October 2026.
- Basic (Published price: USD 35,000 to 70,000 · Published time: 10 to 14 weeks · What that tier contains: Stock and purchase orders. One location, under 2,000 SKUs. No barcode, multi-warehouse, lot tracking, or ERP integration.)
- Mid (Published price: USD 70,000 to 150,000 · Published time: 16 to 24 weeks · What that tier contains: Adds barcode, multi-warehouse, and either lot or serial tracking.)
- Enterprise (Published price: USD 150,000 to 250,000 or more · Published time: 24 to 40 weeks · What that tier contains: ERP integration and heavier features.)
The basic row is the number many owners hear when the conversation starts from spreadsheets. It is a stock ledger for one building. The mid row is the first tier that looks like warehouse work. It adds barcode, multi-warehouse, and either lot tracking or serial tracking. The accounting connection sits in the enterprise row, or as a later integration project.
A second vendor's planning band
Devtechnosys publishes a wider custom range of USD 30,000 to 150,000, with a US band of USD 60,000 to 150,000, a Canada band of USD 45,000 to 120,000, and a timeline of 15 to 25 weeks. Inside that, basic is USD 30,000 to 50,000 for stock, purchasing, and simple reports. Medium is USD 50,000 to 90,000 once barcode, warehouse features, and alerts are in. Advanced is USD 90,000 to 150,000 for multi-warehouse, forecasting, and ERP integration. Maintenance is often estimated at 10 to 20 percent of build cost.
Do not average these two pages into a market price. The US band on the second page starts at USD 60,000, which already sits above the bottom of the first shop's basic tier. Use them as a bracket. If your quote is under USD 60,000 and the seller is a US team, ask which of those excluded items sit in the statement of work. A low number can be a tight scope, a thin design, or both.
Your existing quote may already include barcode, lots, and a second warehouse. The way to tell is the line items, not the title on the proposal. If a capability is described as phase two, it is not in the price you are comparing today.
What Business Central and Odoo inventory include at list price
Both products treat inventory as part of the operational system, with a posted value the finance team can tie out. The license is the right to use that product. Implementation is a separate check. List prices below are as of October 2026.
Business Central licenses and what inventory can do
On the US pricing page, Essentials is USD 80 per user per month and Premium is USD 110, both paid yearly. Essentials includes inventory and warehouse management. Premium adds manufacturing and service order management. Team Members is USD 8 per user per month, paid yearly. Team Members is not a warehouse scanner license. Have the bidder name the license each person uses to post a pick, a put-away, or an adjustment.
The Canada pricing page lists Essentials at CAD 108.50 per user per month, Premium at CAD 149.20, and Team Members at CAD 10.90, paid yearly, plus applicable tax. Inventory and warehouse management are marked on both Essentials and Premium. Manufacturing is marked on Premium only. Those are Canadian dollar list prices. They are not a conversion of the US figures.
Item tracking covers serial, lot, and package numbers, including a trace of where a tracked item was used. The same inventory area covers item cards, locations, transfers between locations, reservation, and physical inventory documents. Locations model separate warehouses. Bins model shelves inside a location.
Warehouse activity scales in steps: post directly on orders, then inventory put-aways and picks, then warehouse receipts and shipments, then directed put-away and pick with mandatory bins. A distributor with one room and a pick list can start lower on that scale. A building that needs staff told which bin to open is the directed setup. Adding a second warehouse is another location, plus the activity level you choose for it. That is configuration and training. It is a different kind of work from commissioning a new development phase.
Inventory value reaches the books when you turn posting on. With Automatic Cost Posting enabled, cost changes post to inventory, adjustment, and COGS accounts. If that box is off, costs stay in item value entries until someone runs Post Inventory Cost to G/L, after Adjust Cost - Item Entries. Decide that setting in design. A warehouse that looks accurate while the general ledger is a month behind will fail the first close.
For a single-entity distributor that buys, stocks, and sells, Essentials is the license. Move to Premium when you need manufacturing or service orders.
Odoo plans, the free-app limit, and inventory features
On the US pricing page, with the yearly toggle, Standard shows USD 31.10 per user per month, discounted from USD 38.90, and Custom shows USD 61.00, discounted from USD 76.20. The discount lasts 12 months for the initial users ordered. Both plans include all apps, including Inventory and Accounting, plus hosting, maintenance of the standard product, and upgrades. A light user is USD 8.90 and includes the Inventory Barcode Operator role.
Odoo One App Free is one app and unlimited users on Odoo Online. Choosing Inventory as that single app does not include Accounting. Installing more apps moves the database to Standard. Studio, multi-company past the free-plan allowance, the external API, and custom developments require Custom. Odoo.sh hosting and maintenance of custom code are excluded from the subscription.
The Inventory feature list includes multi-warehouse transfers, locations and putaway, lots and serial numbers, expiration and FEFO, barcode scanning with GS1, EAN-13, and EAN-14, cycle counts, FIFO, average, and standard costing, perpetual valuation into accounting, landed costs, and carrier labels. In Odoo 18, lot tracking is a setting plus a choice on each product. Validating a receipt of a lot-tracked product without a lot number raises an error. The removal strategy, FIFO, LIFO, or FEFO, is what proposes which lot goes on a delivery. A buyer on the Odoo inventory page put the operational change in one line: "Odoo Inventory replaced our legacy spreadsheets which were unable to keep up with our growing business."
Perpetual valuation is the piece a standalone stock app usually postpones. Receipts, deliveries, and adjustments move inventory value into accounting. Landed costs let you spread freight onto the items that rode on the truck, which matters when your margin is the spread between a landed unit cost and the invoice price.
What year one costs a 40-person distributor
Assume a single US legal entity with 40 employees. Twelve people post orders, receipts, or journals and need a full user. Eight people only scan. One warehouse is live, a second is likely inside 18 months, some items need lots, and inventory value has to hit the same ledger as purchasing. The figures are list prices and published service ranges as of October 2026. They are not a bid.
Odoo on the Standard plan
Twelve full users at the first-year Standard price: 12 times USD 31.10 times 12 months is USD 4,478.40. Eight light users at USD 8.90: 8 times USD 8.90 times 12 is USD 854.40. Year-one licenses are USD 5,332.80. The price printed beside the discount is USD 38.90, so a later year of those twelve seats is 12 times USD 38.90 times 12, which is USD 5,601.60, plus USD 854.40 for the light users, which is USD 6,456.00. Two later years are USD 12,912.00. Three years of licenses, if those printed prices hold, are USD 18,244.80.
Success Packs for new customers list a Standard pack at USD 5,950 for 50 hours. That pack does not include custom development. Adding it once brings this assumption to USD 24,194.80 over three years. The new-customer prices already reflect the first-pack discount shown on that page. Returning-customer prices are higher (USD 7,000 for the Standard pack). Companies under 50 employees usually buy these packs from Odoo. This assumption is under that line. A company above 50 is pointed to a partner, and the pack is then a reference for Odoo's own hours, not a cap on a partner statement of work.
Odoo on the Custom plan
Use Custom if you need custom developments or the external API. Twelve users at USD 61.00 for year one are USD 8,784. At the USD 76.20 figure printed beside it, a later year is USD 10,972.80. Light users stay USD 854.40 a year in this assumption. The new-customer Custom pack is USD 10,625 for 100 hours and is one of the packs that include customization and developments. Year-one licenses plus that pack are USD 20,263.40. Three years of licenses plus that one pack are USD 43,917.80 if the later-year list price holds.
That total still excludes two items the pricing pages call out. Hosting and maintenance of custom code on Odoo.sh are outside the subscription. Extra monthly charges apply for maintenance of extra modules. Ask the seller to write that monthly charge on its own line before you compare three-year totals. Odoo also states that performance problems are often in custom modules, and that performance work requires a Success Pack of at least 50 hours.
Business Central Essentials plus a published services band
Twelve Essentials users at USD 80 are USD 11,520 a year, or USD 34,560 over three years if the list price holds. The eight scanning roles are not priced here. Put a license name next to each of those logins on the quote before you treat USD 11,520 as the whole subscription.
A partner article on MSDynamicsWorld, published by Dynamics Square, puts a standard Business Central implementation for an SMB at USD 25,000 to 80,000 and a year-one total for a 10 to 50 user project at USD 40,000 to 120,000. The same article lists light customization at USD 5,000 to 20,000, moderate customization at USD 20,000 to 75,000, and data migration at USD 10,000 to 50,000. It cites US partner rates of USD 150 to 300 or more per hour. Those are that publisher's estimates, not a Microsoft price list. The publisher does not itemize the year-one total. Do not add USD 40,000 to 120,000 on top of USD 25,000 to 80,000. Price the twelve Essentials seats from Microsoft's list beside either figure.
Twelve Premium users, if you need manufacturing, are 12 times USD 110 times 12, which is USD 15,840 a year.
Set the custom invoice next to those totals
On the assumptions above, three years of Odoo Standard licenses plus one new-customer Standard pack are about USD 24,195. Three years of Business Central Essentials licenses for the twelve full users are USD 34,560 before services. A mid-tier custom build is USD 70,000 to 150,000 before a retainer, and the accounting link is described on the enterprise tier (USD 150,000 to 250,000 or more, 24 to 40 weeks) or as a separate integration.
Change the seat assumption and the license side moves fast. Forty Essentials users are USD 38,400 a year, which is USD 115,200 over three years if the list price holds, before implementation. Forty Odoo Standard users are USD 14,928 in the discount year and USD 18,672 in a later year at USD 38.90, or USD 52,272 over three years before light users and packs. A high Business Central seat count can pass a low custom invoice. It still has to be compared with maintenance and with whether the custom scope posts to the ledger.
Services for an Odoo database you intend to customize belong on the Custom plan and a pack that includes developments, or on a partner statement of work if you are above the 50-employee line. Our ERP implementation for companies in this size range prices that first phase as configuration, migration, and training against a named scope. Our target for a first usable phase is 8 to 12 weeks.
What a basic custom build still leaves you to buy
The basic tier is explicit about the holes. On that project-range page, the additions buyers usually fund next are separate developments.
- Lot or serial tracking: USD 10,000 to 25,000
- Standard barcode scanning, software only: USD 15,000 to 25,000
- Support for 2 to 5 warehouses: USD 20,000 to 35,000
- Microsoft Dynamics 365 integration, if inventory is built separately and then connected: USD 15,000 to 30,000
Scanners are budgeted separately at USD 200 to 800 per device. Stacking the four software lines onto the basic tier is USD 35,000 plus USD 10,000 plus USD 15,000 plus USD 20,000 plus USD 15,000 at the low ends, which is USD 95,000, and USD 70,000 plus USD 25,000 plus USD 25,000 plus USD 35,000 plus USD 30,000 at the high ends, which is USD 185,000. That stack double-counts nothing inside the basic tier, because the basic tier includes none of the four. It also is not a quote. A mid-tier project already includes barcode, multi-warehouse, and lot or serial, so you would not add those three again. You might still add the integration line, which moves a mid-tier invoice to about USD 85,000 to 180,000.
Each line is a workflow your team feels in a given week. Barcode is the difference between a picker typing a SKU and a picker confirming the bin in front of them. Lots are what you hand a customer, or an auditor, when a batch is recalled. A second warehouse means transfers: in-transit quantity, and a receiving door that can be short. The ledger link is whether margin on the income statement uses the same quantities the warehouse shipped.
The page that published the add-on prices also describes where the overruns come from: "The companies that blow their inventory system budgets almost always do so on two things: underestimated ERP integration complexity and a data migration they thought they could do themselves." Ask for data migration as its own line, with a row count and a named owner, on whichever path you choose. A custom build does not escape that work. Someone still has to map items, units, on-hand balances, and open purchase orders into the new tables.
What changes after go-live if you add a warehouse or the books
The quarter you open a second building, or the month finance refuses to close on a stock figure that never hits the general ledger, is when the original scope gets tested.
On a custom codebase that started as one location, support for 2 to 5 warehouses is the USD 20,000 to 35,000 addition above. Connecting that system to Dynamics 365 afterward is another USD 15,000 to 30,000 on the same page. Those are new development ranges, with their own design and test cycle, on code you already paid to write. Lead time sits on top of the original 10 to 14 weeks, or the 15 to 25 weeks in the second vendor's band.
Business Central models the new building as a location. You choose whether that location posts from orders, uses inventory picks, or runs warehouse documents and bins. Transfers between locations are part of inventory management. Budget time for bin design, who may post, and a weekend of counting. The product already has locations and transfers. You are setting them up.
Odoo Standard and Custom already include the Inventory app's multi-warehouse transfers and perpetual valuation into accounting. If the only reason to hire developers was a second building later, that need is already covered by configuration. Custom modules are a different budget. Maintenance of that code is excluded from the subscription, extra modules carry a monthly charge, and performance work on custom modules needs a pack of at least 50 hours.
Apply the 10 to 20 percent maintenance estimate to a mid-tier invoice and the retainer is concrete. Ten to 20 percent of USD 70,000 is USD 7,000 to 14,000 a year. Ten to 20 percent of USD 150,000 is USD 15,000 to 30,000 a year. Over three years that is USD 21,000 to 42,000 on the low build, and USD 45,000 to 90,000 on the high build, before the next feature project. The estimate is a planning rule from one vendor, so replace it with the retainer in your contract as soon as you have one.
Key-person risk sits in that retainer. Ask who is allowed to change the repository, what the code license lets you do, and whether another firm can pick up the work if the original developers leave. Ask for a named rate and a yearly hour cap. On the packaged side, upgrades of the standard Odoo product are part of the subscription you are already paying. Business Central inventory posting and locations ship with the license. The residual risk in both products is the custom code you still choose to write, which is why a small adjustment is cheaper than a private inventory platform.
While you compare a one-time build with subscriptions and a retainer, use an ERP total cost of ownership frame: licenses, implementation, migration, and the yearly cost of whatever code is yours alone.
When a custom inventory build is the right call
Custom is a sound purchase in a few situations. Hire a development company for those situations, with a written spec.
The same project-range page says a custom inventory build is the wrong default under about 1,000 SKUs, one location, and no unusual traceability. It says custom makes sense when workflows do not fit a packaged system, or when the subscription would cost more than the build over three years. It also marks the point where simpler tools stop fitting: "Somewhere around 2,000 SKUs, five warehouse locations, or industry-specific traceability requirements, they stop fitting."
Apply that to the arithmetic above before you treat "custom" as the ambitious choice. On the 12-user assumption, three years of Odoo Standard plus a 50-hour pack stays near USD 24,195, and three years of Essentials licenses stay at USD 34,560 before services. Neither exceeds a USD 70,000 mid-tier build. USD 115,200 of Essentials licenses overlaps the low end of a full custom stack (the USD 95,000 to 185,000 add-on total, or mid-tier plus integration at about USD 85,000 to 180,000) and sits below the enterprise floor of USD 150,000. The three-year test needs Business Central services and the custom retainer added before either side wins. If lots, scanning, warehouses, or the ledger are phase two, you are comparing a full ERP price with a partial build price.
Unusual traceability is the other case that justifies custom work. A serial record that has to carry a test certificate, a calibration date, and a customer-specific code may not fit the lot and serial fields as they ship. People ask for that kind of extension in day-to-day use, including "How to Add a Custom Field (e.g. Tracking Code) to Serial Numbers in Odoo (Cloud, Inventory Module)". That request can be a small, reviewed customization on Odoo Custom. It can also be a sign the whole warehouse transaction model is special to your plant. The test is whether the odd rule is a field and a check, or a different way of receiving, transforming, and shipping. A field is a customization. A different transaction model is a build.
Buyers who are shopping a full operational system tend to name more than stock. One comment on the r/ERP thread about how well Odoo scales reads: "We are mainly looking at odoo for accounting/finance, raws inventory control, demand planning, manufacturing and shop floor modules." Once the list includes the ledger, demand, and the shop floor, a standalone inventory build recreates modules the ERP license already contains, then integrates them back. For a manufacturer, Business Central Premium is the license that adds manufacturing. For a distributor, Essentials plus a clean item master is the usual start.
When the workflow does not fit, hire the development company with a specification that names the exception, the volume, and the acceptance test. Keep accounting, lots, and transfers in a product that already posts them, and put the unusual slice in custom code that a consultant reviews. That split is how you avoid paying enterprise-tier rates to recreate receipts and the general ledger.
Wholesale distributors at 20 to 100 people usually land on the configure-first side of this test: more than one location over time, lots on some items, and a controller who will not close on an export. Supply chain work for that profile phases purchasing, warehousing, and fulfillment with finance.
How to mark up the statement of work
Print the quote. On each capability below, mark it in this price, later phase, or not offered. Do this before you compare the total with a license plus implementation.
- Posting inventory value to the general ledger, including which accounts, and whether it happens when the receipt posts or through a batch someone must remember to run.
- Lot numbers, serial numbers, and expiration, including what the system does when a receiver tries to validate a blank lot.
- Barcode scanning on receipt, pick, and count, and whose license the scanner login uses. Hardware is its own budget.
- A second warehouse or a second bin-controlled room: transfers, in-transit stock, and who may post at each site.
- Data migration: item master, open orders, on-hand quantity, and cost, with a row count and a named owner. The overrun pattern called out above is integration complexity and a migration the buyer hoped to run alone.
- What happens after go-live: hourly rate, yearly hours, code repository, license on the code, and the path if the original developers are gone.
- For an Odoo proposal, the plan name. Standard if you are configuring apps. Custom if anyone is writing modules or calling the external API. A one-app Inventory database leaves Accounting out.
- For a Business Central proposal, Essentials or Premium per user, the warehouse activity level per location, and whether Automatic Cost Posting is on.
Then ask for one phased cut you could go live on: items, one or two locations, the posting path, and the documents staff will use in the first week of that phase. Extra warehouses, unusual traceability, and manufacturing can follow once the first close ties out. How Odoo inventory and stock accuracy holds up once lots and locations are configured is a useful read while you decide which products are tracked.
If several rows come back as later phases, you are looking at a second project. That is the moment to price an ERP inventory phase beside the build, with your own user counts and your own warehouses, and to bring the marked-up quote to a call.
How Flectic can help
Flectic replaces spreadsheets and disconnected tools with one ERP on Odoo or Dynamics 365 for companies of 20 to 100 people in the US and Canada, with stock, supplier lead times and reorder points together on one screen. When you compare a build quote with an ERP, price the warehouse and the books as well as the stock screen. Each phase has a defined scope and price before it starts, and the first one delivers a working part of the system. Book a free discovery call with Flectic to price your first phase against a build quote, using the ERP implementation service as your scope reference.
Sources
- Dynamics 365 Business Central pricing (US), Microsoft, October 2026
- Dynamics 365 Business Central pricing (Canada), Microsoft, October 2026
- Managing inventory, Microsoft Learn, October 2026
- Reconcile inventory costs with the general ledger, Microsoft Learn, October 2026
- Manage warehouse activities, Microsoft Learn, October 2026
- Odoo Pricing, Odoo, October 2026
- Odoo Success Packs, Odoo, October 2026
- Odoo Inventory features, Odoo, October 2026
- Odoo Inventory, Odoo, October 2026
- Inventory management software development cost in 2026, RaftLabs, October 2026
- Inventory Management Software Development Cost Guide, Devtechnosys, October 2026
- How much a Microsoft Dynamics 365 implementation costs in 2026, MSDynamicsWorld, October 2026
- How well does Odoo scale?, Reddit, October 2026
- How to add a custom field to serial numbers in Odoo, Odoo Forum, October 2026
- Lot numbers, Odoo 18.0, Odoo, October 2026
Frequently asked questions
How do I track products by lot or serial number, and what happens if I validate a receipt without a lot?
In Odoo 18, lot tracking is a setting plus a per-product choice, and the same idea of item tracking covers lots, serials, and packages in Business Central. On a lot-tracked Odoo product, validating a receipt with no lot number raises an error, so the receipt does not finish blank. The removal strategy, FIFO, LIFO, or FEFO, proposes which lot to ship. Turn tracking on before you load opening balances, and test one receipt and one delivery on a tracked item.
What is the difference between the Odoo Standard plan and the Custom plan?
Both plans include all apps, including Inventory and Accounting, plus hosting and maintenance of the standard product. Custom is the plan that allows Studio, the external API, and custom developments. Maintenance of that custom code is not part of the subscription, and Odoo.sh hosting of custom code is excluded. If you are only configuring Inventory, Accounting, and barcodes, Standard is the plan to price. Move to Custom when a developer will write modules.
Is maintenance of custom code included in the Odoo subscription?
Maintenance and upgrades of the standard Odoo product are included. Maintenance of custom code is excluded, and extra modules carry an additional monthly charge. Performance problems are often in those custom modules, and Odoo says performance work requires a Success Pack of at least 50 hours. Budget a retainer for any module you commission, with a named rate, instead of assuming the user subscription covers it.
How much does a Microsoft Dynamics 365 Business Central implementation cost for a small business?
One partner-published article, not a Microsoft price list, puts a standard Business Central implementation for an SMB at USD 25,000 to 80,000 and a year-one total for a 10 to 50 user project at USD 40,000 to 120,000. The publisher does not itemize the year-one total. Do not add USD 40,000 to 120,000 on top of USD 25,000 to 80,000. Price Essentials seats from Microsoft's list beside either figure. The same article lists customization, data migration, and US partner rates of USD 150 to 300 or more per hour.
Where can I get Odoo implementation services, and how much do the hour packs cost?
Odoo says companies under 50 employees usually buy Success Packs from Odoo, and companies above 50 usually use a partner. New-customer packs run from a 4-hour Starter through 25, 50, 100, and 200 hours, with the 100-hour and 200-hour packs as the ones that include customization and developments. Those pack prices are Odoo's own services. They are not a ceiling on a partner-led rollout across several warehouses.
When does custom inventory software make sense instead of configuring an ERP inventory module?
A published project range treats custom as the wrong default under about 1,000 SKUs, one location, and no unusual traceability. Custom fits when the workflow does not match a packaged receipt, transfer, and posting path, or when three years of subscriptions would cost more than the build and its retainer. Unusual or industry-specific traceability is the case that page names. A test certificate on a serial is an example of a rule that may not fit standard lot and serial fields.
What is still missing after a basic custom inventory build?
On one shop's published basic tier, the first release is stock and purchase orders for a single location under 2,000 SKUs. Barcode scanning, lot or serial tracking, support for two to five warehouses, and an accounting or ERP connection are priced as later additions. Check your own statement of work before you assume your quote matches that basic tier. If those four items are phase two, you are funding a second project after go-live.