AdvancedAptean Made2ManageSQL data access / AI architecture

Made2Manage AI Integration Without Cloud: A Private On-Prem Architecture

Question
Made2Manage AI integration without cloud

Also searched as

  • how to add AI to Made2Manage ERP
  • Made2Manage on-prem LLM
  • M2M ERP chatbot SQL Server
  • private AI for Aptean Made2Manage

Short answer

Made2Manage stores jobs, sales orders, purchasing and inventory in SQL Server tables that a reporting copy can expose through approved views. Pair that with a retrieval index over job travelers and quality documents and an open-weight model on a local GPU, and users can ask about jobs, shortages and orders without any data leaving the plant.

Applies to: Aptean Made2Manage releases running on SQL Server. Very old releases on legacy file-based storage need an export step first.

Reference build for a private AI layer on Made2Manage

  1. 1Confirm your Made2Manage release and database edition, and list every database and company the assistant should cover. Ask your administrator which tables carry local customisations.
  2. 2Create a read-only reporting copy on a separate SQL Server instance using a readable secondary, log shipping or a scheduled restore. Do not query production.
  3. 3Define an ai schema on the copy with views over the tables you approve: item master, sales orders and items, purchase orders and items, job master, job routing and job BOM, customers and vendors, shipments.
  4. 4Create one SQL login with SELECT on the ai schema only. Exclude payroll, bank and user-credential data.
  5. 5Index the documents that sit around the ERP: job travelers, drawings, inspection records, supplier certs, quotes and SOPs. Tag each chunk with the job, part or order number so retrieval can be scoped.
  6. 6Expose a few parameterised read tools through an MCP or REST tool server, such as job status, parts short for a job, open sales orders for a customer, and PO receipts due this week.
  7. 7Serve an open-weight model with vLLM or Ollama on a local GPU and block outbound traffic from the model host.
  8. 8Record every question, tool call and returned row set in an append-only audit store, and review it with the plant controller during the pilot.

Reading Made2Manage data in SQL Server

Made2Manage names its core tables with short lowercase identifiers that map to modules, for example inmastx for the inventory part master, somast and soitem for sales orders, pomast and poitem for purchase orders, jomast for jobs, jodrtg for job routing, jodbom for the job bill of material and slcdpm for customers. Columns are typically prefixed with the letter f. Your release and customisations may differ, so inspect your own schema before building views.

Wrap each approved table in a view with readable names and fixed filters. A tool called job_status(job_no) is easier to audit, faster and safer than letting a model compose joins across jobs, routings and BOMs itself.

Writes belong in the vendor's own transaction screens or documented import tools, not in SQL updates.

-- Illustrative. Verify table and column names in your Made2Manage database.
CREATE VIEW ai.open_jobs AS
SELECT fjobno AS job_no, fpartno AS part_no, fstatus AS status
FROM dbo.jomast
WHERE fstatus NOT IN ('CLOSED','CANCELLED');
GO
GRANT SELECT ON SCHEMA::ai TO ai_reader;

Architecture and the air-gapped variant

The shape is the same as any private layer: reporting copy, ai views, refresh job, vector index, tool server, model server and audit log. Made2Manage shops tend to be job-shop and discrete manufacturers, so the high-value questions are job status, material shortages, delivery dates and quality history across documents.

For an air-gapped plant, carry model weights, an embedding model and dependencies in on controlled media and keep the whole stack on an isolated VLAN. Refresh the reporting copy from a backup restored inside the enclave.

A single GPU is normally enough. Plan separate storage for the document index and keep the model host free of any route to the internet.

Permissions and write-back

Made2Manage security lives in the application's user and group settings. A SQL login can see everything in the views, so the tool layer must apply the same rules: map the signed-in person to their Made2Manage group and filter tools by what that group may see. Costing, margin and pricing are the usual fields to restrict.

Document chunks inherit an access label from the folder or record they came from, and the retriever drops anything the caller is not allowed to read before prompting the model.

When you add actions, keep them as drafts first: a suggested PO expedite note, a draft customer email, a proposed job priority change. Execution goes through Made2Manage itself or a vendor-supported import with a named approver.

Sizing, rollout and limits

Assume a minority of named users ask a few questions a day. That is a light load for one GPU. The cost drivers are document volume, refresh frequency and the effort of mapping your customisations.

Phase 1 is read-only questions on jobs, orders and stock. Phase 2 adds drafts. Phase 3 adds approved actions through supported routes.

Limits: heavily customised schemas need extra mapping, older releases may not support the replication options above, and if the plant only needs a handful of fixed reports then standard reporting is cheaper. A model helps when people ask ad-hoc, cross-module or document-based questions.

Try it here, free

Made2Manage AI Assistant Sizing and Value Calculator

Open full tool

Estimate GPU count, token volume, index size, hours saved and payback for a private on-prem AI assistant on Made2Manage.

Common pitfalls

  • !Running ad-hoc model-generated SQL against the live Made2Manage database during production hours.
  • !Ignoring custom fields and user-defined tables, so answers miss data the shop actually uses.
  • !Exposing cost and margin columns to everyone through a shared SQL login.
  • !Indexing traveler and quality PDFs without a job or part tag.
  • !Skipping a freshness note, so users trust numbers that are hours old.
  • !Treating the model as authoritative for due dates instead of showing the underlying rows.

How an ERP-grounded AI assistant handles this

ERPray can answer questions such as which jobs are short material this week by calling an approved view and showing the query it ran. Netray assembles the local model, retrieval layer and tool server around your Made2Manage copy, with your Made2Manage administrator confirming the table mapping.

Frequently asked questions

Can we use ChatGPT with Made2Manage?

You can, but job, customer and pricing data would leave your network. A private layer keeps an open-weight model on your own GPU and reads from a reporting copy, which suits shops with export-controlled or customer-confidential work.

Does it need changes to Made2Manage itself?

No. Reading happens through a SQL Server copy and views. You only touch Made2Manage if you later add approved write-back through its supported routes.

How fresh is the data?

That depends on how the copy is refreshed: near real time with a readable secondary, minutes with log shipping, a day with a nightly restore. The assistant should state the last refresh time in each answer.

Is a vendor AI feature enough?

If Aptean offers an AI feature for your release and your data policy allows its hosting, it may be enough. A private layer matters when data must stay on site or when you want questions across ERP data and documents.

Related

Advanced

How to Add AI to Macola ERP On-Prem Without Sending Data to a Cloud

Macola 10 runs on SQL Server, so the safest pattern is a read-only reporting copy of the Macola company database, a small set of approved views, a retrieval index over attached documents, and an open-weight model served on a local GPU. Writes stay out of the first phases and, when added, go through Macola's supported import or SDK routes with a person approving each one.

Advanced

Self-Hosted Odoo AI Assistant: Private Architecture With a Local Model

Self-hosted Odoo already exposes its data through an authenticated external API that enforces access rights and record rules, so a private assistant can call it as the signed-in user. Add a retrieval index over attachments and a local open-weight model, and nothing leaves your servers. Direct PostgreSQL access is for aggregates only, because it bypasses record rules.

Advanced

How to Add AI to MAPICS and Infor XA on IBM i Without Leaving Your Network

MAPICS and Infor XA keep their data in DB2 for i, which is readable over standard SQL through ODBC or JDBC. Capture changes from journals, copy them to a reporting database on x86, run the model on a separate GPU server, and the Power system stays untouched. Writes still go through the application's own programs.

How-to

How to Create a Generic Inquiry in Acumatica

Generic Inquiries (GI) are Acumatica's no-code query builder for joining tables, adding filters, and exposing the result as an inquiry screen, dashboard data source, or API endpoint. Open System > Customization > Generic Inquiry, add your base table, define joins and conditions, then run and save. No SQL or customization project is required.

Error fix

Fix Odoo AccessError: You Are Not Allowed to Access Records

Odoo raises AccessError when a user's security groups do not grant a CRUD right on a model through ir.model.access.csv, or when an ir.rule record rule filters the specific record out for that user or company. Fix it by adding the user to the group named in the error, editing the model's access rights, or reviewing the record rule's domain under Settings > Technical > Security.

How-to

How to Void a Check in Sage 100

Sage 100 voids checks through Accounts Payable > Main > Check and Payment Voiding. Select the bank code, choose the check number, and Sage reverses the Cash Disbursements Journal entry and reopens the invoice it paid. A check that already cleared in Bank Reconciliation or falls in a closed period needs an extra step before it can be voided cleanly.

AI for ERP

AI for Aptean Made2Manage: A Private Assistant on Top of Your M2M Data

Add AI to Aptean Made2Manage without a rip-and-replace: a private LLM grounded in your M2M SQL Server data for order, shop floor, and MRP questions.

AI for ERP

AI Agents for ERP, Running On-Prem

A practical guide to on-prem AI agents for ERP: what they can safely automate, where human approval belongs, and how to design the guardrails.

Stuck on Aptean Made2Manage?

Talk to engineers who work inside Aptean Made2Manage every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

AI on your ERP

Integrations

Software