ERP · Beta
MRPeasy
API integration
Ship ERP features without building the integration. Full MRPeasy API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with MRPeasy
Common scenarios for SaaS companies building MRPeasy integrations for their customers.
Sync e-commerce orders into shop-floor production
E-commerce and B2B checkout platforms can push confirmed sales directly into MRPeasy as customer orders, automatically reserving stock and triggering manufacturing runs without manual re-entry by the factory team.
Power 3PL and WMS fulfillment workflows
Warehouse and shipping SaaS can pull open customer orders from MRPeasy, then push status updates back when goods ship — automatically deducting inventory and generating shipment records on the manufacturer's side.
Push PLM designs into the factory floor
CAD, PLM, and engineering tools can sync finalized items, bills of materials, and routings into MRPeasy so production teams always build against the latest revision without double-entry.
Feed BI dashboards with manufacturing KPIs
Financial and operational BI platforms can pull production orders, inventory sums, WIP valuation, and shipment data from MRPeasy to give manufacturing executives real-time dashboards instead of CSV exports.
Enable serialized RMA and field-service workflows
Hardware repair and field-service SaaS can verify serial numbers against MRPeasy and create RMAs when defective units come back from the field, linking returns to the original customer record.
What You Can Build
Ship these features with Truto + MRPeasy
Concrete product features your team can ship faster by leveraging Truto’s MRPeasy integration instead of building from scratch.
Two-way customer order sync
Create, update, and track MRPeasy customer orders from your app, with status transitions that automatically reserve stock, generate shipments, and update inventory.
Real-time inventory and WIP visibility
Surface live on-hand quantities, stock lots, and aggregated inventory valuation (including WIP cost) from MRPeasy inside your product's UI.
BOM and routing publisher
Let your users push items, multi-level BOMs, and routings from your tool into MRPeasy so production definitions stay in sync with engineering.
Manufacturing order automation
Trigger manufacturing orders in MRPeasy directly from demand signals in your app and monitor production progress through production orders, operations, and co-products.
Shipment and fulfillment tracker
Pull MRPeasy shipments and tie them back to the originating customer order so your users see fulfillment status without logging into MRPeasy.
Serial-level RMA workflow
Look up serials and lots to validate warranties, then create RMAs in MRPeasy from your support or field-service interface.
SuperAI
MRPeasy AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_mr_peasy_boms
List bills of materials in MRPeasy. Returns: bom_id, product_id, code, title, type, routings, components.
create_a_mr_peasy_bom
Create a BOM in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: product_id, title, components.
get_single_mr_peasy_bom_by_id
Get a BOM in MRPeasy by id. Returns: bom_id, product_id, code, title, type, routings, components. Required: id.
update_a_mr_peasy_bom_by_id
Update a BOM in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_bom_by_id
Delete a BOM in MRPeasy by id. Returns an empty 204 response on success. Required: id.
list_all_mr_peasy_customer_orders
List customer orders in MRPeasy. Returns: cust_ord_id, code, reference, customer_id, customer_code, customer_name, shipping_address_id, shipping_address, and 28 more fields.
create_a_mr_peasy_customer_order
Create a customer order in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: customer_id, products. Status Confirmed (30) or higher books available stock; Shipped (70) or Delivered (80) also creates a shipment.
get_single_mr_peasy_customer_order_by_id
Get a customer order in MRPeasy by id. Returns: cust_ord_id, code, reference, customer_id, customer_code, customer_name, shipping_address_id, shipping_address, and 28 more fields. Required: id.
update_a_mr_peasy_customer_order_by_id
Update a customer order in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id. Status Confirmed (30) or higher books available stock; Shipped (70) or Delivered (80) also creates a shipment.
delete_a_mr_peasy_customer_order_by_id
Delete (cancel) a customer order in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_customers
List customers in MRPeasy. Returns: customer_id, code, title, reg_nr, tax_nr, created, next_contact, status, and 5 more fields.
create_a_mr_peasy_customer
Create a customer in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
get_single_mr_peasy_customer_by_id
Get a customer in MRPeasy by id. Returns: customer_id, code, title, reg_nr, tax_nr, created, next_contact, status, and 5 more fields. Required: id.
update_a_mr_peasy_customer_by_id
Update a customer in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
list_all_mr_peasy_invoices
List invoices in MRPeasy. Returns: invoice_id, code, customer_id, customer_code, customer_name, cust_ord_id, customer_order_code, customer_orders, and 36 more fields.
create_a_mr_peasy_invoice
Create an invoice in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: customer_id, type, status, products.
get_single_mr_peasy_invoice_by_id
Get an invoice in MRPeasy by id. Returns: invoice_id, code, customer_id, customer_code, customer_name, cust_ord_id, customer_order_code, customer_orders, and 36 more fields. Required: id.
update_a_mr_peasy_invoice_by_id
Update an invoice in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_invoice_by_id
Delete (cancel) an invoice in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_items
List stock items in MRPeasy. Returns: article_id, product_id, code, title, icon, unit_id, group_id, group_code, and 22 more fields. Per-site default-location filters use the query name def_location_ plus the site ID, such as def_location_1.
create_a_mr_peasy_item
Create a stock item in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
get_single_mr_peasy_item_by_id
Get a stock item in MRPeasy by id. Returns: article_id, product_id, code, title, icon, unit_id, group_id, group_code, and 22 more fields. Required: id.
update_a_mr_peasy_item_by_id
Update a stock item in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_item_by_id
Delete a stock item in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_lots
List stock lots in MRPeasy. Returns: lot_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 24 more fields.
get_single_mr_peasy_lot_by_id
Get a lot in MRPeasy by id. Returns: lot_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 24 more fields. Required: id.
list_all_mr_peasy_manufacturing_orders
List manufacturing orders in MRPeasy. Returns: man_ord_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 22 more fields.
create_a_mr_peasy_manufacturing_order
Create a manufacturing order in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: article_id, quantity, assigned_id.
get_single_mr_peasy_manufacturing_order_by_id
Get a manufacturing order in MRPeasy by id. Returns: man_ord_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 25 more fields. Required: id.
update_a_mr_peasy_manufacturing_order_by_id
Update a manufacturing order in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_manufacturing_order_by_id
Delete (cancel) a manufacturing order in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_parameters
List parameters in MRPeasy. Returns: parameter_id, title, changes_quantity, values.
create_a_mr_peasy_parameter
Create a parameter in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title, values.
get_single_mr_peasy_parameter_by_id
Get a parameter in MRPeasy by id. Returns: parameter_id, title, changes_quantity, values. Required: id.
update_a_mr_peasy_parameter_by_id
Update a parameter in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_parameter_by_id
Delete a parameter in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_product_groups
List product groups in MRPeasy. Returns: group_id, code, title.
create_a_mr_peasy_product_group
Create a product group in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
get_single_mr_peasy_product_group_by_id
Get a product group in MRPeasy by id. Returns: group_id, code, title. Required: id.
update_a_mr_peasy_product_group_by_id
Update a product group in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_product_group_by_id
Delete a product group in MRPeasy by id. Returns an empty 204 response on success. Required: id.
list_all_mr_peasy_purchase_orders
List purchase orders in MRPeasy. Returns: pur_ord_id, code, vendor_id, vendor_code, vendor_title, status, total_price, total_price_cur, and 35 more fields.
get_single_mr_peasy_purchase_order_by_id
Get a purchase order in MRPeasy by id. Returns: pur_ord_id, code, vendor_id, vendor_code, vendor_title, status, total_price, total_price_cur, and 35 more fields. Required: id.
list_all_mr_peasy_relations
List relations in MRPeasy. Returns: relation_id, code, title, lines.
create_a_mr_peasy_relation
Create a relation in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title, lines.
get_single_mr_peasy_relation_by_id
Get a relation in MRPeasy by id. Returns: relation_id, code, title, lines. Required: id.
update_a_mr_peasy_relation_by_id
Update a relation in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id, lines.
delete_a_mr_peasy_relation_by_id
Delete a relation in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_crm_shippeds
List rows of the MRPeasy CRM "Goods shipped" report (CRM -> Statistics) for a period. Returns: article_id, product_id, item_code, item_title, unit_id, unit, group_id, group_code, and 11 more fields. The period defaults to the current month and cannot exceed one month.
list_all_mr_peasy_production_coproducts
List the co-products made during a period in MRPeasy (production co-products report). Returns: article_id, quantity, product_id, product_code, product_title. The period defaults to the current month and cannot exceed one month.
list_all_mr_peasy_production_operations
List the manufacturing operations planned for a period in MRPeasy, selected by planned finish date (production operations report). Returns: routing_id, routing_code, routing_title, operation, article_id, product_id, product_code, product_title, and 2 more fields. The period defaults to the current month and cannot exceed one month.
list_all_mr_peasy_production_orders
List production orders for a period in MRPeasy (production orders report). Returns: prod_ord_id, mo_code, quantity_planned, article_id, product_id, product_code, product_title, quantity_made. The period defaults to the current month and cannot exceed one month.
list_all_mr_peasy_production_products
List the MRPeasy production plan by product for a period, selected by planned finish date (production products report). Returns: article_id, product_id, product_code, product_title, quantity_planned, quantity_made. The period defaults to the current month and cannot exceed one month.
list_all_mr_peasy_rmas
List RMA orders in MRPeasy. Returns: rma_ord_id, code, reference, customer_id, customer_code, customer_name, status, status_txt, and 31 more fields.
create_a_mr_peasy_rma
Create an RMA order in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: customer_id.
get_single_mr_peasy_rma_by_id
Get an RMA order in MRPeasy by id. Returns: rma_ord_id, code, reference, customer_id, customer_code, customer_name, status, status_txt, and 31 more fields. Required: id.
update_a_mr_peasy_rma_by_id
Update an RMA order in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_rma_by_id
Delete (cancel) an RMA order in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_routings
List routings in MRPeasy. Returns: routing_id, product_id, code, title, boms, operations.
create_a_mr_peasy_routing
Create a routing in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: product_id, title, operations.
get_single_mr_peasy_routing_by_id
Get a routing in MRPeasy by id. Returns: routing_id, product_id, code, title, boms, operations. Required: id.
update_a_mr_peasy_routing_by_id
Update a routing in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_routing_by_id
Delete a routing in MRPeasy by id. Returns an empty 204 response on success. Required: id.
list_all_mr_peasy_serials
List serial numbers in MRPeasy. Returns: serial_id, serial, article_id, product_id, item_code, item_title, group_id, group_code, and 15 more fields.
get_single_mr_peasy_serial_by_id
Get a serial number in MRPeasy by id. Returns: serial_id, serial, article_id, product_id, item_code, item_title, group_id, group_code, and 15 more fields. Required: id.
list_all_mr_peasy_shipments
List shipments in MRPeasy. Returns: shipment_id, code, created, delivery_date, status, status_txt, customer_order_id, customer_order_code, and 10 more fields.
get_single_mr_peasy_shipment_by_id
Get a shipment in MRPeasy by id. Returns: shipment_id, code, created, delivery_date, status, status_txt, customer_order_id, customer_order_code, and 10 more fields. Required: id.
list_all_mr_peasy_stock_inventories
List stock items with their on-hand quantities and costs in MRPeasy. Returns: article_id, product_id, product_code, product_title, group_code, group_title, quantity, total_cost, and 3 more fields.
get_single_mr_peasy_stock_inventory_by_id
Get the on-hand quantity and cost of one stock item in MRPeasy. Returns: article_id, product_id, product_code, product_title, group_code, group_title, quantity, total_cost, and 3 more fields. Required: id (the stock item’s article_id).
list_all_mr_peasy_inventory_sums
Get the total inventory quantity and cost across MRPeasy stock. Returns: quantity, cost, wip_quantity, wip_cost.
list_all_mr_peasy_units
List units of measurement in MRPeasy. Returns: unit_id, title.
create_a_mr_peasy_unit
Create a unit in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
get_single_mr_peasy_unit_by_id
Get a unit in MRPeasy by id. Returns: unit_id, title. Required: id.
update_a_mr_peasy_unit_by_id
Update a unit in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_unit_by_id
Delete a unit in MRPeasy by id. Returns an empty 204 response on success. Required: id.
list_all_mr_peasy_users_actions
List user action logs in MRPeasy (read-only; only GET is supported). Returns: log_id, created, user_id, username, object_id, activity, description, comment.
get_single_mr_peasy_users_action_by_id
Get a user action log entry in MRPeasy by id. Returns: log_id, created, user_id, username, object_id, activity, description, comment. Required: id.
list_all_mr_peasy_vendors
List vendors in MRPeasy (read-only; only GET is supported). Returns: vendor_id, code, title, currency, tax_rate, payment_period, payment_period_type, lead_time, and 8 more fields.
get_single_mr_peasy_vendor_by_id
Get a vendor in MRPeasy by id. Returns: vendor_id, code, title, currency, tax_rate, payment_period, payment_period_type, lead_time, and 8 more fields. Required: id.
list_all_mr_peasy_work_center_types
List work station types in MRPeasy. Returns: type_id, code, title.
create_a_mr_peasy_work_center_type
Create a work station type in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
get_single_mr_peasy_work_center_type_by_id
Get a work station type in MRPeasy by id. Returns: type_id, code, title. Required: id.
update_a_mr_peasy_work_center_type_by_id
Update a work station type in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_work_center_type_by_id
Delete a work station type in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_work_centers
List work stations in MRPeasy. Returns: center_id, type_id, code, title.
create_a_mr_peasy_work_center
Create a work station in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: type_id, title.
get_single_mr_peasy_work_center_by_id
Get a work station in MRPeasy by id. Returns: center_id, type_id, code, title. Required: id.
update_a_mr_peasy_work_center_by_id
Update a work station in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
delete_a_mr_peasy_work_center_by_id
Delete a work station in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
list_all_mr_peasy_user_action_types
List all user action codes with their text descriptions in MRPeasy. Returns an object that maps each action code to its description; use the codes to filter user actions by activity.
Why Truto
Why use Truto’s MCP server for MRPeasy
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with MRPeasy in under an hour. No boilerplate, no maintenance burden.
Link your customer’s MRPeasy account
Use Truto’s frontend SDK to connect your customer’s MRPeasy account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call MRPeasy
Truto’s Proxy API is a 1-to-1 mapping of the MRPeasy API. You call us, we call MRPeasy, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate MRPeasy’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about MRPeasy on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for MRPeasy via Truto?
Your end users connect their MRPeasy account through Truto's managed auth flow. Truto handles credential storage, refresh, and account-level isolation so you don't need to build or maintain the connection layer per customer.
Which MRPeasy objects can I read and write today?
Truto exposes tools for customer orders, customers, items, BOMs, routings, manufacturing orders, production orders/operations/products/co-products, invoices, purchase orders, shipments, stock inventories, inventory sums, lots, serials, RMAs, vendors, relations, work centers and work center types, product groups, units, parameters, and user actions. Most core objects support list, get, create, update, and delete; a few (lots, serials, shipments, purchase orders, vendors, production reporting endpoints) are read-only in line with the MRPeasy API.
Can I automatically reserve stock or trigger shipments when creating an order?
Yes. MRPeasy drives these behaviors from the order status field — creating a customer order with status 'Confirmed' (30) books available stock, and setting 'Shipped' (70) or 'Delivered' (80) generates a shipment record and adjusts inventory. You pass the status through the standard create/update tools.
How fresh is the data — does Truto support webhooks or polling?
MRPeasy's API is polling-based, so Truto's integration retrieves data on demand or on a schedule you configure. For time-sensitive workflows like inventory checks or order status, most customers poll the relevant list endpoints (e.g. customer orders, stock inventories, shipments) at an interval that matches their freshness SLA.
How are pagination and rate limits handled?
Truto normalizes MRPeasy's pagination so you can iterate through list endpoints (orders, items, inventory, production records) without handling offsets yourself, and transparently manages retries and backoff against MRPeasy's rate limits.
Does the integration support MRPeasy custom parameters?
Yes. MRPeasy's custom fields are modeled as parameters, and Truto exposes list, get, create, update, and delete tools for parameters so you can read and write customer-specific extensions alongside standard objects.
From the Blog
MRPeasy integration guides
Deep dives, architecture guides, and practical tutorials for building MRPeasy integrations.
MRPeasy
Get MRPeasy integrated into your app
Our team understands what it takes to make a MRPeasy integration successful. A short, crisp 30 minute call with folks who understand the problem.