Overview

ERP Integrations

This guide provides a comprehensive overview of how the ERP integrations operate and includes special considerations where applicable.

Contents

Customers
Orders
Order Fulfillment
Inventory
Payments

Customer Sync

Before a customer is synced, the customer must have placed an order with you. During a synchronization, MidwayPlus evaluates all customers who have placed an order with you where we do not yet have your ERP's internal Customer ID. First, the customer is searched for in your ERP. If the customer is not found, a customer record is created. After being found or created, the customer's internal ID is stored in MidwayPlus for future syncs. The internal Customer ID, also referred to as the Erp Customer Number, can also be viewed and managed manually in the Other Settings of customer, or provided in advance when inviting a customer. Setting the ID ahead of time can be useful to prevent the creation of duplicate customers in your ERP in cases where the customer's information does not match your ERP exactly.

Retail Customers

Retail customers are optionally synced to a single underlying customer in your ERP, synced individually. When created individually, the unique identifier depends on the underlying ERP. This is configured by MidwayPlus during setup.

Special Considerations

Order Sync

Before an order can be synced, the related customer must be synced. For some integrations, the related products must also be synced and have a known internal product ID. After the order is syncted, the order ID is stored in MidwayPlus to be queried late to determine when the order has been fulfilled.

Special Considerations

Order Fulfillment

MidwayPlus queries open orders with a known internal ERP ID to determine if the order has been fulfilled. Once fulfilled, MidwayPlus imports tracking information and ships the order in MidwayPlus. Fulfillment goes through the same logic as "Shipping Complete" or "Partially Shipping" an order from the orders page. In the event the order has "Pre-pay" terms and is shipping backordered lines that are not yet paid for, failure to collect payment will still ship and invoice the relevant lines, and begin the failed payment flow, sending a message to your customer allowing them to retry payment or use a different payment method.

Special Considerations

Inventory Sync

Inventory levels and internal IDs of products or services are synced to MidwayPlus for all items in MidwayPlus that are active. Where available, MidwayPlus uses the quantity on hand less the quantity on sales orders to determine the available quantity. Where reasonably supported, MidwayPlus will query only the items that exist in MidwayPlus. In some integrations, all products are pulled to compare to current MidwayPlus IDs or inventory levels.

Special Considerations

Payment Sync

MidwayPlus currently supports synchronizing payments made via Stripe to QuickBooks and is not enabled by default. Payments are synchronized after they have been paid out by Stripe.

  • Payments are synced to the Customer Payments section, also known as the Recieve Payments section.
  • The Stripe Payment Intent ID is put in both the RefNumber and Memo fields. Note that RefNumber is not long enough for the full payment intent ID.
  • If the related customer is not known, the transaction is sent without a customer reference ID, which will fail to be imported, and be listed as a synchronization error in your integration records.
  • Transactions are imported with IsAutoApply set to false.
  • Upon request, MidwayPlus can configure the Deposit to account ref globally for for synced payments.