XCentium launches Avalara plugin for Sitecore OrderCloud
Taxes made easy
OrderCloud by four51, now Sitecore OrderCloud , is a cloud-based offering. Being built on headless architecture and API-first focused design means integrations with 3rd party platforms are pretty flexible and straight-forward. OrderCloud is designed to be extensible to suit the needs of individual client/project requirements. Xcentium has been a leader in developing extensions and customizations for Sitecore solutions and now for Sitecore OrderCloud . To this end, Xcentium has developed a plugin for Sitecore OrderCloud with Avalara, one of industry-leading tax calculation SaaS solution that should be familiar to all types of developers. Avalara s easy sandbox account creation, tax compliance and extensive documentation make it a perfect choice for integrating with Sitecore OrderCloud .
Avalara Integration Highlights
- Cloud-based tax calculation system with built-in rate changes assessment.
- Maps OrderCloud cart, line item and address entities to Avalara transactions
- Uses OrderCloud integration events to enable auto tax calculation for cart.
To develop this integration, I had to take care of some prerequisites
- Get a free Avalara Sandbox Account
- Get an OrderCloud Account + populate it with commerce data.
- Create a free ngrok Account
- Fork the OrderCloud Headstart or Catalyst SDK
- If the requirement is to completely separate integration, Catalyst should be used.
Then I performed the following steps,
- First, I installed the Avalara AvaTax SDK on the Catalyst middleware application
- Create a class to configure endpoint and update settings to pass in the license key, end-point URL, and account ID.
- Convert OrderCloud OrderWorkSheet to AvaTax s CreateTransactionModel and use the configured class from the step above to create a transaction to get back the total tax amount.
- Note: Avalara/AvaTax checks for address validation. Make sure to supply the correct address.
- Added a Avalara integration project modeled and built out the required functionality
- Avalara config model
- Create Transaction model
- Create Transaction method
- Configured ngrok to route integration event requests to my local machine for testing purposes
- Create an integration event of type OrderCheckout in the Sitecore OrderCloud portal that calls my middleware service after the order is filled with shipping information.
Testing can also be done through OrderCloud portal as seen below:
This integration event can also be used to commit, uncommit and void tax transactions in Avalara based on customer requirements.
References: