The Manu Online and Max Optra integration allows both sales orders and dispatches to be sent from Manu online and handled accordingly. It also closes dispatches when Max Optra has successfully delivered them.
Initial setup
- Once the Max Optra integration has been enabled for your account by the Manu Online team, it will appear in the Admin -> Integrations -> Public Apps area
- Inside the app you will find the settings screen, which includes the following options.
- Maxoptra API URL setting: Insert the URL of your MaxOptra system here, in the format: https://yourmaxoptraname.maxoptra.com/api/v6/order
See format below:
Maxoptra API Key setting: Insert the key from your Max Optra Settings page here: You can find the key from Max Optra in Settings -> Api Keys (must be account administrator role)
Distribution Centre: This is the distribution centre that is the Deliver From stock location in Manu Online. You will have set this up in Manu Online previously, and it should be entered exactly as the short name in Manu online. The same exact name needs to also be inserted into MaxOptra’s settings.
Planned date offset: This allows you to set a planned date for the delivery in Manu, to allow time for the dispatch preparation to happen. Once the date is planned in Max Optra, the system updates Manu online with the calculation of its date minus this setting.
Order type: This allows you to choose which types of orders are included in the collection and sending to Max Optra. Most businesses will use the “Dispatch order only” option. See Pro options for what the Sales and dispatch orders provide.
Resync Sales Order/Dispatch
This option is to be able to send an individual order to Max Optra manually. It is intended for if there was a break in service or an error occurring.
- Choose the type of order you wish to sync and enter the number.
- Press Resync. This will send the order to Max Optra in the same way that it would normally be sent on the activate button being used.
Pro Options
Delivery Methods: This option allows you to select the delivery methods that will be transported to Max Optra. Anything not selected here will not be sent for delivery, meaning it will have to be dealt with manually.
- Operation time window configuration: This option allows you to set the time windows for the delivery driver. It is one setting for all.
- Buffer: This gives the minimum amount of working days after the order is made for it to be scheduled for delivery. It its used for if a manufacturing lead time is needed.
- Window days: This option gives the amount of days that the order may be delivered. It is always calculated for working days only
- Promise date offset: This option allows you to set the delivery window to begin before or after the promise date. A negative number is allowed, which would make the window begin X number of days prior to the promise date on the order.
- Time Start/finish: This option sets the start and finish times allowed for the delivery to be made.
Hide Item cost in Max Optra: This option allows the cost of the product to be hidden, if it is not desired for the delivery team to be able to see this.
Operation Duration Add: Please see information under Sales and Dispatch orders option.
Update Delivery Method after Scheduling
This option is for when there is not enough own capacity in Max Optra, and orders need to be updated in Manu online to be sent with an alternate method and removed from Max Optra.
- The Update delivery method after scheduling checks Max Optra for unallocated orders that have a vehicle requirement exactly matching a delivery method in Manu Online. If such an order is found, then the delivery method in Manu Online will be updated to the one listed on the vehicle requirements.
- This requires there to be vehicle requirements in Max Optra set up to match delivery methods in Manu Online.
- [caption id="attachment_59933" align="alignnone" width="800"] Delivery Methods in Manu Online system settings[/caption]
- [caption id="attachment_59935" align="alignnone" width="800"] Delivery Methods in Max Optra Settings[/caption]
Once the delivery method has been updated, then the unallocated order will be deleted from Max Optra.
Notes:
- It is very important that you save the settings after you have made any changes, or reconnected. This will ensure the correct settings are used in all the places.
- Only 1 Distribution center is supported at this time.
- Capacity 1 = Weight, Capacity 2 = Quantity. These are set in the Max Optra settings. The unit of measure is settable in Manu settings.
- Max Optra needs to have the following 3 custom fields added:
- dispatchNumber (Dispatch Number)
- ManuOrderNo (Order No)
- ManuType (Type)
Admin Options
Usage
Dispatch Only Orders Option
- When a dispatch order is raised and activated, it will be sent to Max Optra and placed in the “New” orders queue.
- Max Optra then takes care of the order until it is complete and delivered.
- When an order is marked complete in Max Optra, the integration will ensure the related dispatch is also closed in Manu Online.
Pro Version
Sales and Dispatch Orders Option
- When a sales order is raised and activated, it will be sent to Max Optra and placed in the “New” orders queue.
- If a new version is made of the order, the integration will attempt to update it. If this fails because the order is already planned or for another reason, then the user will be provided an error message:
The order should be then manually updated in Max Optra, as Manu will not take any further action. If desired, the order can be unplanned and deleted in Max Optra then resubmitted through the resubmission option in Admin -> Integrations -> Public Apps -> Max Optra
- Once the order is allocated in Max Optra, then the planned arrival of the order is taken from Max Optra, and the planned date offset from the settings is applied. This is then updated to Manu Online, as the promise date on a line by line basis. The promise date will be updated only when the order is “allocated” or “locked” status.
- Once a dispatch is made and activated, the integration checks if it’s the whole order, or the first dispatch. If these conditions are met, it will add the dispatch number to the order, as the order is already in the system from a sales order.
- If it is only a part dispatch, the sales order gets market part delivered, and the remaining items will be sent to MaxOptra as a new order with the same sales order number but with a new datestamp. This will then work in the same manner as a new sales order (see section 1).
- Promise dates for these orders are NOT updated to Manu Online, as the sales order is marked part delivered or complete in Manu Online.
- When an order is marked complete in Max Optra, the integration will ensure the related dispatch is also closed in Manu Online.
Containers
Container settings are able to be added for delivery of “loose” ordered items – e.g. items ordered by the kilogram or liter.
This works by having 2 ways of changing the amounts – the first being a multiplication factor, the second by having containers/boxes/pallets that take up the same amount of room, regardless of being full or not. These will round up any number under them, to make sure the lease amount of containers/boxes/pallets are being used.
MaxOptra allows us 2 “Capacity Variables” (capacity1 and capacity2 – see table under Mappings). IN our integration, these are Mapped to weight and quantity.
We then have 2 variables per “capacity variable” - “~MaxOptra Capacity 1 Multiplication factor” or “~MaxOptra Capacity 2 Multiplication factor” and “~Max Optra Capacity 1 container step 1 or ~Max Optra Capacity 1 container step 2”.
~MaxOptra Capacity 1 Multiplication factor: This variable allows you to multiply the weight or quantity by whatever factor you like, to set it into a barrel or bottle size. E.g. to have units sold by the litre sent in 25L barrels, you would set the factor to 0.04, meaning 1000L of product would be contained in 40 barrels.
~Max Optra Capacity 1 container step 1: This variable is multi step, so it allows us to have smaller and larger versions. This like a pallet or larger container that the barrels from the outcome of the multiplication factor will fit into. The barrels above amounts will then be rounded to these pallet es. E.g. if the steps are set to 8 and 40, then 7 barrels from above will automatically be set to 8, or 23 barrels would be rounded to 40 – because this is the size that one pallet takes up, regardless of the number of barrels on it.
These variables are all item specific, so can be added to Manu Online via the “Item -> Custom” tab, where custom properties can be added. They should be added with “Numeric” type.
The container variable can have as many iterations (step 2, 3, 4 etc) as desired.
Operation windows
Operation windows are another variable that can be set against an item. Using the variable name “~MaxOptra Delivery Operation” a time window for how long a delivery takes (the stop itself) can be set.
This is done by adding times to the admin function:
The default times apply to all orders, except those that have the variable added to change them.
The initial operation duration is for the first item (line) on the sales order and the additional load duration is for adding time for additional lines if needed. These can be set to 0 if desired.
To add a product specific unload time, such as pumpover in the above example, click “Add” and add the details into the admin screen. Then move to the Item card, and add the variable “~MaxOptra Delivery Operation” to the Custom tab, with the field being the same as the Operation name set in admin. This will then apply the settings specified in that line to the item it appears on.
Vehicle Requirements
MaxOptra allows us to add vehicle requirements to the order, such as frozen transport or tail lift required. These are passed to MaxOptra by adding the variable ~MaxOptra Delivery Equipment to the Custom tab on the partner card.
These are comma separated and are passed to MaxOptra into the vehicleRquirements (Vehicle Requirements) field.
The items added to this variable MUST match the short reference of those inserted into MaxOptra settings!
General Notes
- When an order is marked complete in Max Optra, the integration will ensure the related dispatch is also closed in Manu Online.
- Partner Mapping: When an order is made, then the partner will be created in the system with a unique reference ID and that ID will be mapped back to the delivery partner of the order in Manu Online.
If the partner already has a mapping, then no new partner will be created, it will use the number in the mapping to send the order.
If the partner exists with that reference number in Max Optra, but is not mapped, the system will then map the partner in Manu Online.
- Public holidays are taken from https://www.gov.uk/bank-holidays.json and are set to England and Wales.
Troubleshooting
Problem | Solution |
Manu Online gives an error on sales order activation: 405 Not allowed. | Your Max Optra API key has expired. Create a new API key as per section 1 and insert it into your settings in Manu Online. |
Mappings
The following is a mappings table with each field that goes into Max Optra and where it is placed.
Sales Orders
Max Optra API | Max Optra Onscreen | Manu Online | Notes |
---|---|---|---|
referenceNumber | Order Reference | SalesOrderID+ "_" + orderDate | |
additionalInstructions | Additional Instructions | Delivery partner comments and Sales order comments | This field is limited to 255 characters |
clientName | Client Name | DeliverCompany.CompanyName | |
contactPerson | Contact person | DeliverCompanyPerson FirstName + DeliveryCompanyPerson SurName | |
contactNumber | Contact number | DeliverCompanyPerson.Phone | DeliverCompanyPerson.MobilePhone |
contactEmail | Contact E-mail | DeliverCompanyPerson.Email | |
customerLocation. referenceNumber | | DeliverCompany.PartnerId-OrderCompany.PartnerID | |
customerLocation. name | Location* | DeliveryCompany.ShortName “-“ OrderCompany.CompanyName | |
customerLocation.address | | DeliveryCompany.Address1 + " " + DeliveryCompany.Address2 + " " + DeliveryCompany.Address3 + DeliveryCompany.Postcode; | |
notificationPreferences.allowSMS | Allow notifications | “True” | |
notificationPreferences.allowEmail | Allow notifications | “True” | |
stopSequence | Stop sequence * | “any” | |
timeWindows | Operation time windows | See Manual for setup “Operation time window configuration“ | |
capacity1 | Weight | Item weight * Number of items | Label is user defined |
capacity2 | Quantity | Lines.qty | Label is user defined |
customFields.ManuType | Type | DeliveryMethod | |
customFields.dispatchNumber | Dispatch Number | Dispatches.DispatchNbr | Dispatch related to the sales order |
customFields.ManuOrderNo | Order No | CustomerPurchNbr | Purchase Order Number |
orderItems.itemReferenceNumber | | Lines.ItemID | |
orderItems.orderReferenceNumber | | SalesOrderNbr | |
orderItems.name | | Lines.ItemID | |
orderItems.description | | Lines.Description | |
orderItems.status | | “checked” | |
orderItems.pricePerUnit | | Lines.SalesPrice | |
orderItems.plannedQuantity | | Lines.ShippedQty | |
orderItems.factQuantity | | “null” | |
orderItems.totalAmount | | “0” | |
Dispatch Orders
Max Optra API | Max Optra Onscreen | Manu Online | Notes |
---|---|---|---|
referenceNumber | Order Reference | DispatchNumber | |
additionalInstructions | Additional Instructions | Delivery partner comments and Sales order comments | This field is limited to 255 characters |
clientName | Client Name | dispatch.DeliveryContact | |
contactPerson | Contact person | dispatch.DeliveryContact | |
contactNumber | Contact number | dispatch.DeliveryPhone | DeliverCompanyPerson.MobilePhone |
contactEmail | Contact E-mail | dispatch.DeliveryEmail | |
customerLocation. referenceNumber | | dispatch.lines.DeliverCompanyID | |
customerLocation. name | Location* | DeliveryCompany.ShortName “-“ OrderCompany.CompanyName | |
customerLocation.address | | DeliveryCompany.Address1 + " " + DeliveryCompany.Address2 + " " + DeliveryCompany.Address3 + DeliveryCompany.Postcode; | |
notificationPreferences.allowSMS | Allow notifications | “True” | |
notificationPreferences.allowEmail | Allow notifications | “True” | |
stopSequence | Stop sequence * | “any” | |
timeWindows | Operation time windows | See Manual for setup “Operation time window configuration“ | |
capacity1 | Weight | Item weight * Number of items | Label is user defined |
capacity2 | Quantity | Lines.qty | Label is user defined |
customFields.ManuType | Type | DeliveryMethod | |
customFields.dispatchNumber | Dispatch Number | Dispatches.DispatchNbr | Dispatch related to the sales order |
customFields.ManuOrderNo | Order No | CustomerPurchNbr | Purchase Order Number |
orderItems.itemReferenceNumber | | Lines.ItemID | |
orderItems.orderReferenceNumber | | dispatch.DispatchNumber | |
orderItems.name | | Lines.ItemID | |
orderItems.description | | | |
orderItems.status | | “checked” | |
orderItems.pricePerUnit | | Lines.SalesPrice | |
orderItems.plannedQuantity | | Lines.ShippedQty | |
orderItems.factQuantity | | “null” | |
orderItems.totalAmount | | “0” | |