Industry guide · ERP

Chemical Manufacturing Software: Fixing the Formula-to-SDS Gap

The short answer

Build if you are running more than roughly 40 batches a month across two or more plants, blending to spec rather than to a fixed recipe, and shipping into regulated channels where an SDS error is a recall. A focused first release covering formula versioning, batch genealogy and SDS generation typically runs $60k to $130k and ships in 12 to 16 weeks. A full platform spanning QC, lot traceability, DOT and IATA shipping documents, customer-specific COAs and regulatory reporting runs $150k to $400k phased over 6 to 12 months. If you run one plant, under 15 SKUs, and buy your SDS authoring as a service, stay on the off-the-shelf stack and spend the money on people instead.

Why formula and batch software makes or breaks a chemical manufacturer

Walk the office of a $40M specialty chemical blender and you will find the same stack every time. QuickBooks or Sage 100 for the money. Some version of an inventory module that was never meant to hold a bill of materials with a potency-adjusted quantity. SDS authoring in SAP EHS, Sphera, or a Chemwatch or MSDSonline subscription. Batch tickets printed from a Word template. And underneath all of it, the actual formulas: an Excel workbook on a shared drive that the technical director built in 2014, with tabs named things like MASTER_v3_USE_THIS.

The workbook is the company. It holds the raw material substitution notes, the yield factors, the pH adjustment logic, and the one comment cell that says "do not use Supplier B lot after Feb, chelation issue." None of that lives in the ERP (Enterprise Resource Planning). So when a batch runs, the operator reads the printed ticket, weighs to it, writes actuals in pen, and hands the sheet to QC. QC runs the panel, writes results on a second sheet, and someone in the office types both into the system three days later. By then the drums have shipped.

The expensive version of this happens about once a month. A customer calls about drum lot 24-0817. They want the COA and they want to know which lot of the surfactant went in, because their own downstream customer flagged something. Your quality manager now opens four things: the batch ticket PDF folder, the receiving log, the Excel workbook to find which formula version was active on August 17, and the SDS system to check whether the classification on file matches what actually got blended. That reconstruction takes four to six hours. We have watched it take two days when the batch used a substituted raw material and nobody wrote down the substitution reason. At 40 batches a month with even three trace requests, that is a full-time person doing archaeology instead of quality.

Problem: your formulas live in Excel and your ERP does not know it

The specific failure: a formula changes and nothing downstream knows. Your technical director drops the amine loading from 4.2% to 3.9% because a supplier changed assay. He updates the workbook. The ERP still has the old BOM, so the MRP run buys the wrong quantity. The SDS still shows the old composition, so the hazard percentage band is now wrong. The COA template still calls out the old spec range.

Why the off-the-shelf tools cannot fix this: NetSuite and Sage X3 model a bill of materials as a fixed quantity list. Chemical formulas are not that. They are percentage-based, they scale to a batch size, they carry potency and assay adjustments, they have theoretical yield versus actual yield, and they have substitution rules that are conditional on incoming lot properties. Process-oriented systems like BatchMaster or Deacom get closer, but you are then buying their opinion of your formula model, and every blender we have worked with has at least three formula behaviors the vendor did not anticipate. Chemwatch and Sphera do not touch your BOM at all; they are authoring tools that consume a composition you hand them.

What a custom build does: one formula record with real versioning. Every version is immutable once released, carries an effective date, an approver, and a change reason. The version is what gets stamped onto the batch, not a copy of it. The formula engine holds percentage-by-weight lines, potency-adjusted actual quantities computed at batch release from the specific lot assay on hand, and substitution rules expressed as conditions the system evaluates rather than notes a human reads. When a version releases, the system fires downstream: it recalculates the hazard composition bands, flags the SDS for regeneration, updates the COA spec template, and pushes the new consumption factors to whatever holds your purchasing. One change, one place, everything propagates. In our experience that single data flow is around 60% of the value of the whole build.

Problem: SDS authoring is disconnected from what you actually made

The specific failure: you subscribe to an authoring tool. Someone in EHS types the composition in. When the formula moves, nobody retypes it, because retyping is a 20-minute job across 40 SKUs in three languages and it never makes it to the top of anyone's list. Six months later your SDS says 1 to 5% of a component that is now 6.5%, which moves the classification band, which means the label is wrong, which means the shipping papers are wrong.

Why the incumbents cannot fix this: Chemwatch, MSDSonline, SAP EHS, and Sphera are all downstream of a composition you supply manually. They have excellent hazard rule engines and excellent regulatory content libraries. They have no idea what you blended yesterday. The integration they offer is usually a file drop or an API you still have to feed, and feeding it correctly requires exactly the formula model you do not have.

What a custom build does: the SDS becomes a generated artifact, not a maintained document. Composition flows from the released formula version. You keep the hazard content subscription, because writing your own GHS rule engine is a bad idea and their regulatory library is worth the money, but you drive it through their API from your formula data instead of by hand. The build wires the classification call, receives the phrases back, renders your Section 1 through 16 with your company data, and versions the output against the formula version that produced it. Change the formula, the SDS regenerates and lands in an approval queue. Section 3 can no longer drift from reality, because there is no human retyping step to skip.

The one place AI earns its keep here is incoming supplier SDS extraction. You receive PDFs from 60 suppliers in 20 formats. Someone types the hazard data, the CAS numbers, the exposure limits, and the transport classification into your raw material master. A document extraction model reads the PDF, pulls Section 2, 3, 9, and 14, maps CAS to your material record, and drops anything it is unsure about into a human review queue rather than guessing. We build this with confidence thresholds and a mandatory review step for anything that changes a classification. It is not glamorous. It removes about 15 hours a month of typing and, more importantly, removes the transcription errors that were silently propagating into your own documents.

Problem: batch genealogy exists on paper, so traceability is archaeology

The specific failure: the recall drill. Your customer, or worse your auditor, asks which finished lots contain raw material lot RM-7741. You need forward trace, backward trace, and you need it in hours. What you have is a paper batch ticket in a banker's box, a receiving log in one system, and shipment records in another, joined by a human reading lot numbers.

Why the incumbents cannot fix this: your accounting-first ERP records that you consumed 400 kg of surfactant. It does not record that 250 kg came from lot A and 150 from lot B because the first tote ran out mid-charge. That split is the entire trace, and it only exists in the operator's handwriting.

What a custom build does: capture consumption at the charge, not at the batch. The operator scans the lot barcode on the tote before charging, the scale integration writes actual weight against that specific lot, and when they switch totes mid-charge the system records two consumption lines automatically. Genealogy becomes a graph the database walks, not a story a person reconstructs. Forward trace from RM lot to every drum shipped, backward trace from a customer complaint to every input, both under 10 seconds. Build this on tablets in the plant with a rugged case and offline queueing, because your blending floor Wi-Fi will drop and an operator will not wait for it. We size this at roughly 3 to 4 weeks of the first release when scales are already networked, and closer to 6 to 8 when we are integrating Mettler Toledo or Rice Lake indicators over serial.

Problem: QC results and COAs are a bottleneck, not a control

The specific failure: batch completes Tuesday, QC runs the panel Wednesday, the COA gets typed Thursday, the truck was supposed to leave Wednesday. So it left Wednesday and the COA got emailed Friday, which means you shipped without release. Everyone knows. Nobody says it.

Why the incumbents cannot fix this: a generic ERP has a QC hold flag. It does not model your spec ranges per customer, and it does not know that Customer A wants viscosity reported at 25C and Customer B wants it at 40C off the same drum, or that Customer C's contract specs are tighter than your internal spec so the same result passes internally and fails for them.

What a custom build does: specs are records with customer overrides, and results entry is on a tablet at the lab bench with instrument capture where the instrument supports it. The system evaluates against the internal spec and every customer spec the batch is allocated to, and it does this the moment a result is entered. Fail against a customer spec, the allocation blocks and the sales rep gets notified before the truck is loaded. COAs generate per customer per lot with the right test set, right units, right conditions, and go out automatically at release. This is also where forecasting is honest AI rather than decorative: with two years of batch results, a model flags a batch as at-risk of failing spec based on the incoming lot assays and the process parameters, before the panel runs. Not to make the release decision, but to tell the plant manager on Monday which of this week's batches deserve a second look. On high-volume commodity blending we have seen that surface a real signal. On low-volume specialty work with 30 batches a year per SKU, there is not enough data and we tell clients to skip it.

Problem: shipping documents and regulatory reporting are a second manual system

The specific failure: DOT and IATA classification gets decided at the shipping desk by someone reading the SDS. Tier II reporting in March means someone exports a year of transactions and hand-builds a spreadsheet by threshold. TSCA and, if you export, REACH volume tracking is a separate annual scramble.

Why the incumbents cannot fix this: your shipping software knows weights and addresses. Your SDS tool knows hazards. Neither knows your inventory positions over time, which is what threshold reporting actually needs.

What a custom build does: transport classification derives from the same formula-linked hazard data that drives the SDS, so the shipping paper, the label, and the SDS cannot disagree. Threshold reporting becomes a query, because you have daily on-hand positions per material per location already sitting in the database. March becomes an afternoon.

What this actually costs and how long it takes

These are Digital Heroes numbers, from delivery across 2,000-plus projects, not a market survey. A focused first release for a chemical manufacturer runs $60k to $130k and ships in 12 to 16 weeks. That release is: formula master with versioning and approval, batch execution with lot-level genealogy capture, QC results and customer-spec COA generation, and SDS generation driven off formula composition through your existing hazard content subscription. A full platform, adding scale and instrument integration, DOT and IATA document generation, Tier II and TSCA reporting, customer portal, and ERP or accounting sync, runs $150k to $400k phased over 6 to 12 months.

What pushes price up in this category specifically. Instrument and scale integration is the big one: networked scales with a clean protocol are cheap, serial indicators bolted to a 1990s mixer are not, and every one is bespoke. Multi-jurisdiction SDS, meaning you ship into the EU or Canada or Latin America and need language variants and jurisdiction-specific classification, adds meaningfully. Any 21 CFR Part 11 requirement, which applies if you touch pharma intermediates or FDA-regulated food contact, adds validation work: IQ, OQ, PQ documentation, audit trail rigor, and electronic signature controls. That is typically a 25 to 40% adder on the affected modules, and it is not optional if it applies. Continuous or semi-continuous process, as opposed to discrete batch, changes the data model and the genealogy math. And the quiet one: if your formula workbook has undocumented logic in it, and it does, discovery takes longer than anyone budgets. We front-load that with two weeks of working directly with your technical director before writing anything.

Build versus buy: take a position

Buy is the correct call if you run one plant, under 15 to 20 active SKUs, blend to fixed recipes rather than to spec, and ship domestically into unregulated or lightly regulated channels. In the quotes our clients have shown us, BatchMaster, Deacom, or Datacor Chempax land in the $40k to $120k range for year one and get you 80% of the way, and that 80% is enough at that size. Fighting a vendor for a $200k build to serve 15 SKUs is ego, not economics. Do not do it.

The signals it is time to build, and any two of these is enough. First, you have a person whose actual job is reconciling systems: they take QC results and type them somewhere, they take batch tickets and type them somewhere. That person costs you $60k a year and is a walking error rate. Second, your formula workbook has logic that no commercial system models, and every demo you sit through ends with the vendor saying "you could handle that with a custom field." Third, a trace request takes more than an hour. Fourth, you have modified your off-the-shelf system so heavily that you are afraid to upgrade it, which means you are already paying to maintain custom software, just badly and on someone else's platform. Fifth, and this is the one that closes the argument: your formulas are your competitive position and they are sitting in a file that a departing employee could email to himself in nine seconds.

The version we recommend most often is neither pure. Keep your accounting where it is. Keep your hazard content subscription. Build the formula, batch, QC, and SDS-generation layer as your own, and integrate outward. That is the $60k to $130k first release, and it puts the custom money exactly where the off-the-shelf market has no good answer.

How to choose a developer for chemical manufacturing software

Ask them to model a formula on a whiteboard, cold, before you sign anything. If they draw a parent record with child quantity lines, they have built inventory software and not chemical software. You want to hear percentage-by-weight, potency and assay adjustment, theoretical versus actual yield, and immutable released versions unprompted. This one question filters most of the market in ten minutes.

Ask what they have integrated. Not "do you do integrations," but specifically: have you pulled from a Mettler Toledo indicator, have you driven the Chemwatch or Sphera API, have you written to Sage or NetSuite. The answers should come with a story about what broke. Chemical builds live or die at the integration boundaries, and the boundaries in this industry are old, serial, and undocumented.

Ask about compliance scope up front and make them tell you what does not apply to you. A firm that reflexively quotes Part 11 validation for a lubricant blender who never touches FDA product is either padding or does not know the regulations. The right answer names your actual exposure: GHS and SDS accuracy, DOT and IATA, Tier II thresholds, TSCA inventory, and Part 11 only if you touch regulated intermediates.

Get the code ownership and escrow terms in writing before the kickoff, not at the end. You are encoding the formulas that are the company. The contract should say you own the repository, you get the deployment, and you can walk. Any firm that hesitates on this is telling you what their retention strategy is.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The Standish Group 1995 CHAOS Report found only 16.2% of software projects fully succeeded; success varied sharply by size, with large-company projects succeeding about 9% of the time versus far higher rates for small projects - best treated as an industry survey, not an audited dataset. Source: Standish Group (1995) →
  2. The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
  3. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
  4. Companies in the top quartile of McKinsey's Developer Velocity Index had 2014-18 revenue growth four to five times faster than bottom-quartile peers, showing that software-building capability is a driver of business performance, not just a support function. Source: McKinsey & Company (2020) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom chemical manufacturing software cost for a mid-size blender?
A focused first release covering formula versioning, batch genealogy, QC and COA generation, and SDS generation typically runs $60k to $130k and ships in 12 to 16 weeks. A full platform adding scale integration, DOT and IATA documents, regulatory reporting, and ERP sync runs $150k to $400k phased over 6 to 12 months. These are Digital Heroes delivery bands across 2,000-plus projects. Price drivers specific to chemical work are instrument integration, multi-jurisdiction SDS, and any 21 CFR Part 11 validation requirement, which adds roughly 25 to 40 percent to the affected modules.
Should we build custom software or just buy BatchMaster or Deacom?
Buy if you run one plant, under 15 to 20 active SKUs, blend to fixed recipes, and ship domestically. In the quotes our clients have shown us, those systems land in the $40k to $120k range for year one and get you most of the way, and a build at that scale is not worth it. Build when your formulas carry logic no vendor models, when a trace request takes more than an hour, or when you have already customized your ERP so heavily you are afraid to upgrade it. Most operators land on a hybrid: keep accounting off the shelf, build the formula, batch, and SDS layer.
Can custom software replace our Chemwatch or Sphera subscription?
Usually you should keep it. Their GHS rule engines and regulatory content libraries are worth the license fee, and writing your own is a bad use of budget. What a custom build changes is how they get fed: instead of someone retyping composition by hand, your released formula version drives their API automatically and the returned classification renders into your SDS. You keep the subscription and remove the manual step that causes the drift.
How long does it take to migrate our formulas out of Excel?
Plan two weeks of discovery before any code, working directly with whoever owns the workbook. The migration itself is fast; the hard part is surfacing the undocumented logic, the substitution notes in comment cells, and the yield factors that live in someone's head. Actual data load and validation typically takes 2 to 3 weeks inside the 12 to 16 week first release, run in parallel with the old workbook until both agree on a full batch cycle.
Do we own the code if we hire a firm to build this?
You should, and it needs to be in the contract before kickoff, not negotiated at the end. Digital Heroes hands over the repository, the deployment, and the documentation. Since the build encodes the formulas that are effectively the company, any developer who hesitates on ownership or source escrow is telling you something about their retention model. Ask the question in the first call.
Will this handle 21 CFR Part 11 if we make pharma intermediates?
Yes, but it changes the scope and cost. Part 11 requires audit trails on every record change, electronic signature controls with meaning and intent captured, and IQ, OQ, and PQ validation documentation. That adds roughly 25 to 40 percent to the affected modules and extends the timeline. If you do not touch FDA-regulated product, do not let a firm quote it at you: your real exposure is GHS, DOT and IATA, Tier II, and TSCA.
How does custom software actually cut recall trace time?
By capturing consumption at the charge instead of the batch. The operator scans the lot barcode on each tote before charging and the scale writes actual weight against that specific lot, so when a tote runs out mid-charge the system records two lines automatically. Genealogy becomes a graph the database walks rather than a person reconstructing from paper tickets. Forward and backward trace both return in seconds instead of the four to six hours it takes from banker's boxes.
Where does AI genuinely help a chemical manufacturer versus where is it hype?
Two places earn their keep: supplier SDS extraction, where a model reads incoming PDFs and pulls Sections 2, 3, 9, and 14 into your raw material master with a human review queue for anything uncertain, and batch spec-failure prediction if you have two-plus years of results at volume. The hype is anywhere it makes a release decision. Prediction should tell a plant manager which batches deserve a second look, never replace the panel.
Can it integrate with our existing QuickBooks or Sage without replacing it?
Yes, and that is usually the right architecture. Leave the general ledger, AR, and AP where they are and build the formula, batch, QC, and SDS layer on top, syncing inventory movements and finished goods costs outward. This is why the $60k to $130k first release is viable: it puts custom money only where the off-the-shelf market has no good answer, and does not pay to rebuild accounting that already works.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
Is SAP overkill for a mid-sized company?
For most companies under about 500 employees, yes. SAP S/4HANA is built for multi-entity, multi-country enterprises with implementations measured in years and seven figures, while SAP Business One, the mid-market product, still forces your processes into its mold. If your competitive edge lives in how you operate, a custom ERP scoped to your actual workflows ships faster and costs a fraction of an SAP program.
Is customizing Odoo cheaper than building an ERP from scratch?
Usually yes in year one, and often no by year three if your workflows sit far from Odoo's assumptions. Odoo's published pricing starts around $25 per user per month and the Community edition is free, but heavy customization means every version upgrade can break your modules and needs paid rework. If you expect to rewrite more than about a third of the core flows, a scratch build with clean ownership tends to cost less over the life of the system.
Should I pick Microsoft Dynamics 365 Business Central or build a custom ERP?
Pick Business Central if you already live in the Microsoft stack, your processes are close to standard, and around $80 per user per month for Business Central Essentials stays affordable at your headcount. Build custom when your revenue-driving workflow, such as custom manufacturing steps or unusual pricing logic, would need heavy extension work anyway. In our experience, once Dynamics customization quotes pass about $100,000 the custom option deserves a serious side-by-side.
Can we keep our current ERP and just build custom modules around it?
Often yes, and it is frequently the smartest first move. Digital Heroes regularly builds custom scheduling, quoting, or warehouse tools that sit on top of SAP, NetSuite, or Odoo through their APIs, which fixes the painful 20 percent without a risky replacement. The hybrid route costs a fraction of a full rebuild and tells you within months whether a bigger migration is even necessary.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
Who owns the source code if an agency builds my ERP?
You should, in full, and it must be written into the contract as work for hire with IP assignment on payment. At Digital Heroes every client receives the complete repository, database schemas, and deployment documentation, so they could hand the system to another team tomorrow. Walk away from any ERP proposal built on the agency's proprietary platform with ongoing license fees, because that recreates the vendor lock-in you were escaping.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
Is a custom ERP cheaper than NetSuite over five years?
Often yes once you pass roughly 20 to 30 users. NetSuite is commonly quoted at $999 per month for the base platform plus about $99 per user per month, so a 30-user company spends over $200,000 on licenses across five years before paying for implementation. A custom build in the $120,000 to $250,000 range is a one-time cost, and in Digital Heroes projects annual upkeep runs 15 to 20 percent of build cost with no per-seat fees as you hire.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
What tech stack should a custom ERP be built on?
A boring, hireable one: Digital Heroes most often ships ERPs on PostgreSQL with a Node.js or Python backend and a React frontend, hosted on AWS or Azure. The stack matters far less than the database design, because your ERP schema will outlive every framework choice. Be skeptical of any agency proposing a niche or proprietary framework, since your ability to hire maintainers later is part of the total cost.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?