---
title: MRPeasy API Integration on Truto
slug: mrpeasy
category: ERP
canonical: "https://truto.one/integrations/detail/mrpeasy/"
---

# MRPeasy API Integration on Truto



**Category:** ERP  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 90 tools for MRPeasy that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's MRPeasy account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach MRPeasy.** The Proxy API is a 1-to-1 mapping of the MRPeasy API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect MRPeasy to ChatGPT: Manage Manufacturing and Inventory](https://truto.one/blog/connect-mrpeasy-to-chatgpt-manage-manufacturing-and-inventory/) — A complete architectural guide to building a secure MRPeasy ChatGPT integration using auto-generated MCP tools. Learn how to expose manufacturing APIs to LLMs.
- [Connect MRPeasy to Claude: Automate Sales Orders and Shipments](https://truto.one/blog/connect-mrpeasy-to-claude-automate-sales-orders-and-shipments/) — Learn how to build and configure a managed MCP server to connect MRPeasy to Claude. Automate sales orders, inventory tracking, and shipments using AI agents.
- [Connect MRPeasy to AI Agents: Streamline Procurement & Ops](https://truto.one/blog/connect-mrpeasy-to-ai-agents-streamline-procurement-and-operations/) — Learn how to connect MRPeasy to AI Agents using Truto's unified tools API. Build autonomous workflows for manufacturing, procurement, and inventory ops.
