Shop floor (MES)
- ERP sends released work orders and bills of materials
- MES returns actual quantities, consumption and scrap
- Interface shaped on the ISA-95 level 3 to level 4 boundary
- No direct writes from machines into ERP tables

Your packaged ERP fits the standard order and invoice, but not the way you plan production, price contracts or move stock, so the real work runs in spreadsheets. Agnotic Technologies builds the ERP modules your process needs, beside or instead of a packaged system, and connects them to the shop floor, the warehouse and your trading partners.
Trusted by global innovators
























Custom ERP development is building or extending the enterprise resource planning software that runs orders, inventory, purchasing, production and finance postings, so it follows how your business actually works. Agnotic Technologies builds custom ERP modules, extensions and integrations for companies whose processes do not fit a packaged ERP's standard setup.
It rarely means rewriting everything. A packaged system can often keep the general ledger, payroll and tax, while the custom build covers the parts where your process is the reason you win business.
Testing an ERP through vendor updates is covered on our ERP testing page. This page is about deciding what to build, in what order, and how it connects.
Decision table
Four routes, from least to most code you own. Pick the first row that removes the spreadsheets.
| Route | Choose it when | What you own and maintain | Main risk | Effect on vendor upgrades |
|---|---|---|---|---|
| Configure a packaged ERP as shipped | Your processes match the vendor's standard flows, or you are willing to change them to match | Configuration, master data and reports | Work that does not fit moves back into spreadsheets | Lowest: upgrades follow the vendor's schedule |
| Extend a packaged ERP | The core fits, but a few processes such as pricing, quoting or approvals need custom logic | Extensions built on the vendor's supported extension points and APIs | Extensions written against internal tables break on upgrade | Medium: each update needs regression testing of the extensions |
| Build custom modules beside a packaged core | Finance and payroll fit a packaged system, but operations such as production planning or field service do not | The custom modules and the integration that posts into the packaged ledger | Two systems disagree about the same record if ownership is not agreed | Medium: the integration contract has to survive both release cycles |
| Build a full custom ERP | The business model has no packaged equivalent, or licence and change constraints rule packaged systems out | Everything, including finance postings, audit trail and reporting | Rebuilding commodity accounting that adds no advantage | None from a vendor, but every regulatory and tax change becomes your team's work |
We recommend the least custom route that removes the spreadsheets. If configuration alone does it, we say so on the scoping call.
Build order
Start with the records every other module depends on, then the module that is the reason for building at all.
Products, variants, units and conversions, lot and serial rules. Every later module reads these, so mistakes here spread everywhere.
Parties, sites, warehouses and bins, with the identifiers your partners already use so EDI and CRM data can be matched.
Receipts, transfers, adjustments and the valuation method finance has agreed, with every movement traceable to a document.
Production planning, contract pricing, rental, field service or whatever process is the reason you are building. This is the first release your users will notice.
Sales orders, shipments and invoices, then purchase orders, receipts and supplier invoices, built around the modules above.
Journal postings to your general ledger, whether that ledger is in the custom ERP or stays in an accounting package.
Integration map
The ERP sits at the business level. Each connection is a contract that says which system sends what, when, and which one wins in a conflict.
System of record
We agree this list before writing any integration. Two systems that both think they own a record is the most common cause of ERP data drift.
EDI documents
Supplier and retail partners commonly exchange these X12 transaction sets. Each one maps to a document in the ERP and needs a defined response when it fails validation.
| Code | Name | Typical use |
|---|---|---|
| 850 | Purchase Order | Customer orders received into the ERP as sales orders, or your orders sent to suppliers |
| 855 | Purchase Order Acknowledgment | Confirms, changes or rejects order lines before anything ships |
| 856 | Ship Notice/Manifest | Tells the receiver what is on each shipment, down to cartons and lots |
| 810 | Invoice | Bills the partner from the shipped quantities, not the ordered ones |
| 846 | Inventory Inquiry/Advice | Shares stock availability with partners that sell your products |
Failure points
The problems we plan around from the first sprint.
Challenge
The team rebuilds the general ledger, tax and payroll that a packaged system already does well.
Agnotic approach
We keep commodity finance in a packaged system unless there is a clear reason not to, and build only where your process differs.
Challenge
The same customer or item exists in three systems with three codes.
Agnotic approach
One system of record per entity, agreed in writing, with cross-reference tables for partner and legacy codes.
Challenge
An integration retries and posts the same receipt or invoice twice.
Agnotic approach
Every message carries a business key, and the ERP rejects or merges duplicates instead of posting them again.
Challenge
Inventory value in the new ERP does not match finance's figures after go-live.
Agnotic approach
The valuation method is agreed with finance first, and opening balances are reconciled line by line before cutover.
Challenge
Cutover happens with open orders, part shipments and unreceived purchase orders in flight.
Agnotic approach
A cutover plan lists every open document type and how it is closed, migrated or recreated, rehearsed on a copy of production data.
Challenge
Custom code for one customer's process spreads into every module.
Agnotic approach
Customer-specific rules live in configuration or a rules module, not scattered through order, pricing and invoice code.
Modules we design and build, alone or around a packaged core.
Stock by location, lot and serial number, with movements traceable from receipt to shipment.
Quotes, sales orders, allocations, back orders and returns, with your pricing and approval rules.
Requisitions, purchase orders, receipts and three-way match with supplier invoices.
Bills of materials, routings, work orders and capacity, connected to the MES on the line.
Role-based access, approval limits and segregation of duties between ordering, receiving and paying.
Journal entries for every stock and invoice movement, with a record of who changed what and when.
Data migration
Most custom ERP work replaces something older. These are the rules we follow when we move the data.
What sizes this build
We do not publish prices or offer an ERP calculator. These are the inputs we size a custom ERP build from on the scoping call.
Extending a packaged ERP, building modules beside it, or building a full custom ERP.
Which modules are in the first release and which wait for later ones.
MES, WMS, CRM, ecommerce, banks and EDI partners, and how clean their APIs or file formats are.
How many legacy systems, how much history and how much cleaning the data needs.
Warehouses, plants, legal entities, currencies and languages to support.
Approval rules, segregation of duties and audit requirements from your finance team or auditors.
Who it is for
Companies whose operations have outgrown spreadsheets around a packaged system.
Make-to-order and engineer-to-order plants whose planning does not fit standard production modules.
Businesses with contract pricing, rebates and EDI partners that expect exact documents.
Companies tracking assets out on hire or technicians in the field, alongside stock and invoices.
Teams moving off an entry-level accounting package and spreadsheets onto something they own.
Groups running several ERPs that need one operational layer while ledgers are consolidated.
From the processes that hurt today to modules your team runs.
We hear which processes run outside the ERP today and why, and which systems are involved.
ScopeWe map the processes, agree the system of record for each entity and pick the route from the decision table.
MapMaster data plus the one module that differs, connected to the systems it needs and tested with real users.
BuildFurther modules, migration and cutover, then code, runbooks and support to your team or ours.
ExtendStandards
Public standards that shape how the ERP talks to the shop floor and to trading partners.
Standards and rules behind the integration and migration decisions on this page, each linked to its primary source.
ISA-95, also published as IEC 62264, is an international set of standards for integrating enterprise logistics systems with manufacturing control systems, and it outlines how an enterprise can set up an interface to communicate between those layers.
Source: ISA, ISA-95 Standard: Enterprise-Control System IntegrationISA-95 Part 2 specifies the interface content exchanged between manufacturing control functions and other enterprise functions, meaning the interface between level 3 manufacturing systems and level 4 business systems.
Source: ISA, ISA-95 Standard: Enterprise-Control System Integration (Part 2)ASC X12 publishes the Purchase Order (850), Ship Notice/Manifest (856) and Invoice (810) transaction sets, each of which establishes the format and data contents of that business document for use in electronic data interchange.
Source: X12, Transaction SetsThe IRS says records that support an item of income, deduction or credit on a tax return must generally be kept until the period of limitations for that return runs out, and employment tax records for at least 4 years after the tax becomes due or is paid, whichever is later.
Source: IRS, How long should I keep records?