Rossum How we created a connector to SAP ERP for the successful startup Rossum

We helped the Rossum startup with their SaaS platform for automating the processing of accounting documents that saves companies time. We developed a connector for the SAP ERP. We formed a blended development team with Rossum, making them the first ever external developers Rossum started working with.

erp sap connectorstartup rossumagile developmentdocument automation
Rossum helps companies automate document processing with the help of artificial intelligence.
Rossum helps companies automate document processing with the help of artificial intelligence.

Client wants to create another connector for their product but lacks capacity

Demand for a new connector between Rossum and SAP ERP has been growing among customers of successful Czech startup Rossum. However, the company did not have enough spare capacity for development. Rossum did not have much experience with external collaboration, and was therefore initially hesitant to find a quality and experienced development team.

Rossum is one of the most successful Czech startups. They are developing a cloud platform that helps companies automate document processing using elements of artificial intelligence. They have previously developed a connector to, for example, Oracle Netsuite ERP.

Rossum's product team came up with an idea to create a connector to SAP ERP. However, the in-house developers had no spare capacity, so the company started looking around for an external vendor that was at least as good as its own team. And we believe we fulfilled that requirement.

What is SAP ERP

ERP (Enterprise Resource Planning) is an information system for businesses. Some of the most popular ERPs include SAP , ABRA, Oracle NetSuite, Helios, MS Dynamics and K2.

The Rossum platform offers connectors to the systems that companies use most often.
The Rossum platform offers connectors to the systems that companies use most often.

About Rossum

Czech AI startup that has been automating processing of invoices and similar documents since 2017. Their vision is to save people time so they no longer have to manually enter data into the computer. Through AI, Rossum reduces the error rate of the automation and the system will learn and improve the accuracy of recognizing individual elements in the document.

In 2021, Rossum have raised an investment of $100 million and is backed by investors who have contributed to the development of apps like Airbnb, HubSpot and Revolut.

Rossum
faster data entry
−90 %
of human work
$100M
invested in 2021

We were the first external development team that Rossum worked with

In the second round of the selection process, Rossum decided to choose us based on the positive references of our clients, which they checked with all the participants in the selection process. Phone calls with clients assured them that we are a fair partner, we deal with things openly, communicate proactively, meet deadlines and come up with ideas to improve the assignment and therefore the final work.

They also liked the fact that we have a lot of experience with external cooperation and have long been working with partners such as:

We shared with Rossum our best practices regarding work with external suppliers. We helped them set up the collaboration, which made their job easier right from the start.

Jan Tezner,
Project manager COex

We came up with ideas based on analysis

When we start working as a team with a client, we don't want to revamp their established practices. And it was the same at Rossum. We listened well to the client and then set up the way we work together to be in a state of synergy.

First, we started with an analysis. Then we gave the client an estimate of the project's complexity, we continued with consultation of the process and development.

  • The analysis was done with the client and their SAP consultant, we addressed what documents and data needed to be transferred.
  • We gave the client an estimate in an hourly range so they knew how much it would cost them.
  • At the beginning of development, we familiarized ourselves with Rossum's practices. After discussion with client, we also refined some parts of the process.
  • During the first code commits, we fine-tuned our shared vision of the final code through code reviews from Rossum.
  • We also thoroughly addressed the aspect of working with personal data and Rossum data. We concluded an NDA and made a detailed analysis in order to make sure that we would not work with any personal and sensitive client data during development. This is because the connector is hosted on Rossum's servers, which manages the client data itself, and we as developers do not have access to it.
  • Agile development allowed us to respond to newly identified needs from both a product and technical perspective.
  • We were available to each other every day on Slack and worked in our project tool ClickUp.

Timeline of the collaboration

We worked with Rossum on a project basis. Meaning that we were given a brief for a specific project and we have been working on it from the initial preparations to the launch.

2021

August

Start of analysis

2021

November

Acceptance of the analysis

2021

November

Start of development

2022

Fabruary

MVP in production environment

2022

March

Completion of connector development

Connector and Rossum save accountants 90% of their time

Connector receives the data from the scanned invoice and validates it in real time directly on the SAP ERP (Connector checks e.g. the existence of the supplier and the correctness of their bank account, the existence of the order or if there is a duplicate record). The invoice is parked in SAP and waits for the check from the accountant. The accountant saves most of the time because he does not have to enter the data manually, but only verifies and accounts for it.

The connector transfers the necessary data from invoices as:

  • Customer identification,
  • the date the order was created,
  • order numbers,
  • order items from the invoice,,
  • total price,
  • due date of the document, etc.

By working together we gained new experience with SAP ERP. We were familiar with the system, but we learned more about its business API called SAP BAPI. With BAPI we can enter new documents from Rossum and match them with customers in real time.

Jan Tezner,
Project manager COex

We used proven technology

After learning about Rossum's technologies and processes in detail, we proposed replacing the older Flask version 1 Python framework with the modern FastAPI. And we also agreed on another improvement - using Sentry, which has long been proven to monitor application traffic at COex.

  • FastAPI – a web framework specialized for creating APIs,
  • PostgreSQL – one of the most widely used relational databases,
  • React – a frontend framework developed by Facebook and now being developed by the community,
  • Sentry – tool used for monitoring of the application performance and non-standard behavior,
  • Kubernetes – a system originally developed by Google for running containerized applications.

You can find out more about the tools and technologies we use at COex on the web technologies page.

fastapi PostgreSQL react sentry kubernetes

We brought Rossum the ability to integrate with another information system

With the connector we developed, larger companies can process hundreds of documents a day and the result saves their employees a lot of time.

We also consider it a success that we convinced Rossum that cooperation with external vendors works. They verified that we are a reliable partner with a lot of experience and that the references from our customers did not exaggerate.

What I really appreciate about COex is the flexible and human approach. They are always quick to agree on everything and the work is also always fast. It's great that they don't shy away from anything and that their experience on many projects has also led us to some good ideas, which we have then implemented outside of the project with them.

Petr Baudiš, Founder Rossum
Petr Baudiš,
Founder Rossum

Would you like a non-binding consultation or just want to ask something?