Skip to content

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 us
MRPeasy

Use Cases

Why integrate with MRPeasy

Common scenarios for SaaS companies building MRPeasy integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.