Accounting data at your fingertips, whether you’re working at home, the office, or a beach somewhere.
Sage 50 is an accounting and payments desktop application with a cloud sync, meaning it can be used anywhere via secure remote access.
Integrating to this application is at the top of the to-do list for companies that seek to offer quick, on-demand financial insights within their product. With the criticality of real-time financial data, this is likely an integration you’ll want to onboard quickly. Here’s what you’ll need to know before/during/after building.
The Sage 50 API is a .NET API with a REST connector on top. To use it, you’ll need to download Visual Studio with a C# extension. Additionally, you’ll need to create a desktop client that users download to connect securely to the Sage 50 app when the user is online (like our Ground2Cloud desktop agent.)
Sage 50 Authentication
Sage 50 uses custom authentication where each instance of Sage 50 can only connect to one connection instance, so users have to download the agent multiple times if they have multiple instances on their machine.
Once the service has started, you’ll need to launch the Visual Studio app. The service will then make a call to the app for authorization. This means you’ll need to reauthorize whenever you close or shut down the machine. Quite a pain.
Enhanced Capabilities For Sage 50
Sage 50 lacks some important capabilities that you’ll need to implement to make sure your integration to the app is effective/optimized. The API doesn’t offer bulk operations, discovery APIs, or eventing.
Further, the API documentation is poor compared to what we see from other providers. They only offer reference documentation with no “how-to” examples or ordering of dependencies - basically, it’s just a list of classes/objects. This makes building a full-featured integration and monitoring/maintaining it difficult.
Yikes - Make Life Easier
Sage 50 is a tough integration to build on your own. Cloud Elements’ new feature-packed API for Sage 50 offers all of the capabilities it natively lacks (bulk, discovery, eventing, etc.) so developers don’t have to spend time wading through the (abysmal) documentation and can instead focus on adding any custom objects or data mappings they need based on the product use case.