Since a year or so, we are doing multiple projects on integration of wordpress with MYOB Accountright Live API. The projects were difficult in the beginning, because the API docs do not give much details about problems encountered in interacting with API using PHP.
The first project we did was integrating Membermouse plugin with Accountright API. Our custom MYOB plugin created invoice for every new Membership and a renewal. Since the memberships were subscriptions, we had to keep a track of dates and billing period. Dealing with Membermouse was a pain, it has a lot encrypted code in it, which makes it close to impossible for a developer to see its workflow. Working on it with dedication, we were able to complete and deliver the integration to client. It worked perfectly 🙂
After this project we had several others, where we integrated Woocommerce with Accountright API. This was overall a very good and smooth experience. Woocommerce is open-source and has lots and lots of documentation which makes it easy to work with its API and functions. Whenever a customer ordered a product from the website, Our custom MYOB plugin could create beautifully formatted invoices/orders in MYOB . The plugin also updated all products and their custom fields, prices, categories from MYOB to website once a day automatically, so the website owner does not have to update the products in two places. The plugin also updates customers, their credits, credit limits and any change in their address from MYOB to wordpress website. On the website the customers do not get to know anything about the background process, all they see is standard woocommerce pages. Our client was very happy with integration because they literally had to do nothing on website now, all they did was in MYOB and our custom plugin updated wordpress data automatically. We ran a cron once a day for these updates and sent error reports to the website owner. Work for them was reduced by many folds.
The challenge in this integration came from characters in product/customer names which were allowed in MYOB but not in WordPress/Woocommerce. Another thing we had to take care of was updating customers and products in batches to make sure all of them are updated. Last but not the least, when searching for customer names in MYOB, names with apostrophe were a pain. With no help from MYOB support, we were able to solve this problem on our own too.
So if you are working on MYOB integration with wordpress, be sure to use a plugin like woocommerce or any other other open-source ecommerce plugin. Don’t use the premium ones, because they might not have the amount of documentation and community help you need for completing your project.