OpusFlow: Enterprise resource planning software brought to life fast with Hasura

  • Hasura generates all APIs used by OpusFlow
  • The reduced development workload got the product to market in half the time
  • Hasura Enterprise features ensure OpusFlow meets GDPR and other business requirements

From its beginning days, the software firm OpusFlow recognized that it needed to obey an old business adage: Do what you do best, outsource the rest.

So, the Dutch cloud-based enterprise resource planning (ERP) system uses Hasura to offload tedious backend development. With Hasura in its tech stack and handling so much of the backend, the OpusFlow team can focus on its core work of streamlining business operations for its clients.

OpusFlow is ERP software specifically for the sustainable installation market, which works with solar panels, heat pumps, charging stations, and similar infrastructure. The OpusFlow application provides an all-in-one ERP solution for sustainable installation firms, with a robust list of features including CRM, customer portal, calculation and quotation, invoicing, purchasing and stock, bill of materials, documentation, and more.

All of the APIs OpusFlow utilizes are created with Hasura, which frees up a significant amount of time for the OpusFlow team to focus on frontend development and business logic.

“Hasura makes the backend a lot easier to understand,” said OpusFlow CTO Joey Teunissen. “You press a button and you have everything set up. It helps the developers not only do it quicker, it helps them understand the process of it. If they do it later themselves, it makes more sense for them.”

Hasura brings OpusFlow to market fast

OpusFlow made conscious decisions about allocating its staff’s time as a lean startup firm. Teunissen estimates that OpusFlow was able to get to market in half the time, thanks to Hasura absorbing so much backend work.

“We needed a way to be quick, to build solid features fast,” said Teunissen. “But our employees are not seasoned experts at the backend. With Hasura, we offloaded the whole backend – the CRUD – and it saved us a lot of time. I would say we got to market about half the time.”

The OpusFlow ERP system is robust enough to handle any business process an installation company would have. But for these features to work the ERP has to integrate with multiple data sources, including external databases, legacy systems, and third-party services. Without Hasura, managing this would be complex and time-consuming.

Hasura provides a unified GraphQL API layer that connects to multiple databases and services. This simplifies integration and reduces the need for custom code. Hasura acts as a translator, converting GraphQL queries from the frontend into efficient SQL queries to fetch data from the database. It then structures the retrieved data into a GraphQL response, delivering only the requested data to the frontend.

Teunissen understood the benefits of GraphQL and opted to use it from the beginning with OpusFlow. “The only part where we do REST APIs is outside, mostly for the customers that want to connect to us,” he said. “A lot of them still use REST. But internally we use GraphQL for the benefits it gives. It's just very nice. It fits things together.”

OpusFlow has one schema that's replicated across every instance of Hasura it uses. So when an update rolls out, every instance gets the same update.

“Everyone gets the same schema and everything. Everything's the same but replicated,” Teunissen said. “Then on top of each of those instances, we have a wrapper that accesses our main gateway. So every customer and every client connects to that one, which is running on the edge, and that one on the backend will find the right place to go.”

Privacy, scalability, and permissions

Operating within the European Union’s strong data privacy environment, OpusFlow leverages the features of Hasura Enterprise to ensure they meet GDPR and other business requirements. One such requirement means that every customer must have its own Hasura instance, but it is not a roadblock.

“Hasura scales well. Some of our customers have 100 to 300 users,” Teunissen said. “We haven’t had any problems with it. We've done stress tests with it as well – no issues.”

OpusFlow also leverages Hasura’s robust role-based permissioning features to ensure data stays provisioned and business requirements are met.

“We use Hasura permissions to the fullest extent,” Teunissen said. “We have an administrator, which is us. We have a member, which is any client. Then we have a customer, which is the customer of our customer.

“And then, within the member role themselves, we have another system on top where the end user can make their own rules to define what everyone can see so that the mechanics don't see the invoices, they just go through the planning and that kind of stuff.”

What’s next for OpusFlow and Hasura

In the future, OpusFlow plans to continue to evolve and expects Hasura to evolve along with it.

Teunissen said they’re eager for Hasura v3 to roll out so they can configure one master instance and leverage the Secure Connect feature to securely connect Hasura with external services. Hasura will allow OpusFlow to securely access and manipulate data in third-party systems without exposing sensitive credentials.

“The thing that we love the most about Hasura is that you can just give it a database and there's the API,” Teunissen said. “So you basically offload the backend work and you have mostly frontend workers. That's the biggest part of Hasura for us. That makes it very nice.”

Sign up now for Hasura Cloud to get started!

22 Feb, 2024
Subscribe to stay up-to-date on all things Hasura. One newsletter, once a month.
Accelerate development and data access with radically reduced complexity.