Zapier
Zapier is a powerful workflow automation system that allows you to integrate MRPeasy with numerous applications available on this platform.
MRPeasy integration with Zapier provides flexible and powerful access to Customer Orders in MRPeasy from the programs of your choice via Zapier.
By making a Zap in Zapier, it is possible to:
- Create Customer Orders in MRPeasy.
- Update Customer Orders in MRPeasy.
- Search for Customer Orders in MRPeasy.
- Catch the event when a Customer Order status changes in MRPeasy.
- Troubleshooting.
Creating a Zap to send a Customer Order to MRPeasy
For sending a Customer Order from an app to MRPeasy via Zapier, please create a Zap as follows:
- Configure the trigger:
- Find the source app.
- Choose the trigger event.
- Select your account (if needed, sign in).
- Set up trigger details.
- Test the trigger.
- Configure the action:
- Find the MRPeasy app.
- Choose the action "Create Customer Order".
- Select your account (if needed, sign in).
- Map the source information from the source app to the MRPeasy Customer Order data (find the data structure below).
- Optionally, in the "Status" field, set the desired Customer Order status in MRPeasy.
- If the status is "Confirmed" or greater, MRPeasy will try to book products.
- If the status is "Shipped" or greater, MRPeasy will try to create a shipment and pick all products.
- If omitted, the "Confirmed" status is used by default. - Optionally, choose if the order should be marked as paid in MRPeasy. If yes,
- A new invoice for all products has been created in MRPeasy. The invoice is created with tax included.
- Full payment is added to the invoice. - Test the action.
- Enable the zap.
Data structure for mapping MRPeasy Customer Order data
The Customer Order data in MRPeasy consists of three structures, which all need to be mapped to the data from your source app:
1. Data structure of a Customer Order in MRPeasy
Field name | Field type | Comments |
Customer name* | String | Required. If you do not want to import customers' information to MRPeasy, please type a generic description, for example, "E-shop buyer". |
Products (Lines)* | Structure | Required. Contains the list of ordered products. The structure is described in the table below. |
Customer Order number | String | Optional. It must be unique in MRPeasy to identify the specific Customer Order. If no order with this number exists, a new Customer Order is created with this number. If not provided, MRPeasy generates a unique CO number automatically. |
Reference | String | Optional. Use this field to save the original order (or customer's PO) number without a uniqueness check. |
Internal notes | String | Optional. Any notes for your company's internal use. |
Currency | String | Optional. 3-character currency code (according to the standard ISO 4217). The currency must be defined in MRPeasy -> Settings -> System settings -> Regional settings or Settings -> System settings -> Additional currencies. If omitted, customer's default currency is used. |
Pricelist | Number or string | Optional. Available if the Professional function Tiered Pricing is enabled. The price list of the customer order. Price list number or database ID can be provided. If omitted, customer's default price list is used. |
Delivery date | Timestamp | Optional. If provided, must be a valid Unix timestamp. If omitted, CO will have no expected delivery date. |
Shipping address | Structure | Optional. The structure contains a shipping address. Described in the table below. |
2. Data structure of ordered products in MRPeasy
Field name | Field type | Comments |
SKU* | String | Required. SKU must match the part number of the product in MRPeasy. |
Quantity* | Number | Required. Quantity must be greater than 0. |
Price per item | Number | Optional. Price per item without discount. |
Total price | Number | Optional. Total price after discount. |
Discount percentage | Number | Optional. |
Delivery date | Timestamp | Optional. If provided, must be a valid Unix timestamp. The expected delivery date for this item. |
Important notes:
- If the product structure contains invalid information (for example, the SKU does not exist in MRPeasy), only this order line is skipped.
- The Customer Order can be successfully created if it contains at least one product line.
- If the total price is provided, it has the highest priority.
If the total price is omitted, the price per item is used.
If the price per item is omitted, the price from the price list is used (if the Professional function Tiered Pricing is enabled).
The default selling price is used if there is no price in the price list.
3. Data structure of the shipping address in MRPeasy
Field name | Field type | Comments |
Street line 1* | String | Required, only if the shipping address needs to be imported. |
City* | String | Required, only if the shipping address needs to be imported. |
State* | String | Required, only if the shipping address needs to be imported. |
Postal code* | String | Required, only if the shipping address needs to be imported. |
Country code* | String | Required, only if the shipping address needs to be imported. A 2-character ISO country code (ISO 3166). |
First name | String | Optional. |
Last name | String | Optional. |
Company | String | Optional. |
Street line 2 | String | Optional. |
Phone | String | Optional. |
Important notes:
- The address is not mandatory for the Customer Order. However, if it is provided and valid, it will be saved for the customer and used for this Customer Order.
Testing the Zap
After the mapping is completed, you must test the Customer Order input to ensure that the mapping is correct and that the resulting Customer Order in MRPeasy contains the information that was passed from the Zap.
The response contains the following fields:
Field name | Field type | Comments |
result_code | Number | Result code.
|
result_txt | String | Description of the result. |
result_error | String | Additional error messages. |
- Also, if a Customer Order is created successfully, the response contains full CO information in a structure, as defined here.
Finding a Customer Order in MRPeasy
To find Customer Orders in MRPeasy, please use the "Search Customer Order" action when configuring a Zap.
The following search parameters are available:
Field name | Field type | Comments |
Source | Dropdown |
Two options to choose from:
|
Customer Order number | String | |
Reference | String | |
Customer name | String | |
Status | Dropdown | Several statuses can be selected. |
Important notes:
- If successful, the "Search Customer Order" action returns a list of CO information in a structure, as defined here.
Getting notified when a Customer Order status changes in MRPeasy
MRPeasy can notify Zapier when the status of a customer order changes in MRPeasy.
When configuring MRPeasy as a trigger, please select the event "Customer Order status changed" when configuring a Zap.
Several options are available:
Field name | Field type | Comments |
Customer Order source | Dropdown | Customer Orders which are observed:
If left empty, all orders are observed. |
Status from | Dropdown | If CO status before the change was one of the selected, the event can be triggered. If no statuses are selected here, CO in any status can trigger an event. Several statuses can be selected. |
Status to | Dropdown | If CO status after the change is one of the selected, the event can be triggered. If no statuses are selected here, CO in any status can trigger an event. Several statuses can be selected. |
Important notes:
- When the trigger generates an event, it returns full CO information in a structure, as defined here.
Troubleshooting
- A Customer Order in MRPeasy is not created at all, even though some lines have SKUs with matching part numbers in MRPeasy.
- If the order contains a line without any SKU (empty/undefined/missing), Zapier will completely skip this order, and it will not be sent to MRPeasy.
- All line items must have at least some SKU; if it does not match the MRPeasy part number, only that line will be skipped. For Zapier, both fields, SKU and Quantity, are mandatory.