If you've ever had the pleasure of building or configuring an integration, the one thing that you must do is plan for things to go wrong. Because its inevitable that you will run into integration issues that must be identified, troubleshooting, and resolved.
When choosing an integration platform, one of the most important features is the ability for that platform to isolate and quarantine out any issue that arises so that the integration does not come to a screeching halt.
Consider an integration that is moving orders from a web store to your ERP. Orders are flowing in smoothly, and then one day someone creates a new type of discount code for a special partner and they checkout with that code. The integration attempts to create the order in your ERP, but the ERP rejects the discount code for some unknown reason which you eventually discover at a later date.
If the integration does NOT support quarantine, the integration failure may prevent other orders from being created in the ERP, even if those orders are not using that discount code. All of the sudden, orders stop flowing into the ERP and you have no idea why. And worse, you may not realize it until later in the day that a problem actually exists. This causes someone to yell "fire" and people have to stop what they are doing to resolve the issue, because the longer you wait, the more likely you'll end up with dissatisfied customers. Not a great situation to be in.
If the integration DOES support quarantine, you are in much better shape. The integration failure occurs, but is isolated and placed off to the side. Ideally, you receive some sort of notification that the order failed to be created in your ERP, but at a bare minimum the order with the broken discount code does not prevent other orders from being processed. While you still have a situation to deal with, the severity is considerably lower and its not impacting the majority of your business operations. The quarantine helped you reduce the size of the "fire" and considerably reduced the impact on your employees and customers.
Integration platforms that support a quarantine should also provide a easy mechanism to retry the failed record. You don't want to have to go through hoops and hacks and workarounds, like having to delete and recreate the order to trigger the integration to reprocess it. A well-designed quarantine should allow you to take something out of quarantine, manipulate it easily, and then reprocess it after correcting the problem that caused it to be placed in quarantine in the first place. Take the same scenario of an order having a broken discount code. If that affected 20 orders in one day, you are not going to want to have to delete and recreate those orders to integrate them across. Instead, you want to be able to correct the issue with the broken discount code and then tell the system to pull those 20 orders out of quarantine and reprocess them. Simple, efficient, beautiful, and a huge time saver.
When we built the AcuSync Integration Platform for Acumatica, we knew that the platform needed the ability to quarantine and easily retry and correct quarantined records. Our goal was to minimize the impact an integration issue has on the business by identifying issues, allowing unaffected data to continue to flow, and provide means for users to correct and repair issues easily. The ability to quarantine records in one of AcuSync's greatest strengths.
Regardless if you use AcuSync or not, when choosing an integration platform, always make sure that you have the ability to quarantine and recover from quarantine. It'll minimize disruption in your business and will maximize the number of happy employees and happy customers even when issues do arise.