Guide

RPA without an API: how to automate legacy systems, in-house software and government portals

This guide is for management and managers in companies that run an old ERP, a program written years ago, or a portal into which employees retype data every day. We explain what to check before ordering a robot, what automating such a system involves and what its limitations are. We also describe when a robot is a temporary fix and when it is a solution for years.

Author: Kacper Włodarczyk, CEO of ALGORCOMPPublished: May 24, 2026Reading time: 11 min readBusiness process automationFor: Universal
RPA without an API: how to automate legacy systems, in-house software and government portals

Why old systems stay in companies for years

In many companies that have been operating for more than a decade, an old ERP, HR module or in-house production program runs alongside Microsoft 365 and a new CRM. Replacing a core system is usually a costly, multi-year project, and migrating historical data can be harder than choosing the new software.

The effect shows in day-to-day work. Someone manually retypes data from email, the CRM or KSeF into the old system, and then back into Excel. We describe how to calculate what this costs in a separate article on manual data copying.

RPA (robotic process automation) is a program that performs the same clicks and entries in an application as an employee. It needs neither an API nor the vendor’s consent to integration, because it uses the program’s ordinary windows.

What to check before you order a robot

A robot that clicks through screens is effective, but it needs looking after. Any change in how a window looks can stop it. That is why it is worth checking simpler and more durable routes first.

If none of the routes below works or pays off, a robot is a sensible choice. You will find a comparison of robots and API integration in a separate article.

  • File import and export. Many old systems can load a CSV or XML file with invoices, orders or prices. Then you only need to prepare a file instead of clicking field by field.
  • A vendor module. Ask your supplier whether it has a paid connector, a KSeF module or a data exchange service. This can be cheaper than maintaining a robot for several years.
  • Reading from the database. Data can often be read safely straight from the system’s database. Avoid writing data while bypassing the program – it is easy to break data integrity or the terms of support.
  • KSeF. Invoices from domestic companies usually arrive as data, not PDFs. If the system has a KSeF module, you need neither scan recognition nor a robot.
  • Official APIs of public authorities and registers. The VAT white list, KRS and the National Bank of Poland (NBP) exchange rates have public APIs, so a robot on a website is unnecessary here.
RPA without an API: how to automate legacy systems, in-house software and government portals

Three typical situations in which a robot makes sense

Most often, a robot is used with an old accounting module or ERP, with in-house software no longer supported by its vendor, and with portals that offer no API. Each of these situations needs a slightly different approach.

In-house programs are the hardest, but they can be the most valuable, because there is no other way to connect them. Take a hypothetical production planning program written more than 20 years ago by a company that no longer exists. Every morning, a robot exports orders from it to Excel, where further automations pick them up.

Such a project takes longer, because every path through the program has to be described, and you have to decide what the robot will do if the application freezes. The table below sets out the main differences.

Typical situations and what to watch out for
SituationWhat the robot doesWhat to watch out for
Old ERP or accounting module with no connectorsEnters documents, downloads summaries, exports data to the bank or ExcelThe robot usually needs its own account in the system – check whether this requires an additional licence from the vendor
In-house program no longer supported by its vendorDownloads and enters data, connects the program with the rest of the companyNo documentation; freezes and unusual messages must be anticipated
Portal without an API, e.g. a carrier’s or business partner’sChecks statuses, downloads documents and reportsThe portal’s terms of use, protection against bots, the sign-in method

Is an old system a good environment for a robot?

Often, yes. An old system changes rarely, so a robot, once built, can run for a long time without fixes. Cloud applications change their appearance more often, and every change may require the robot to be adjusted.

There are, however, exceptions worth knowing about before you start. A robot still needs to be reviewed after every change in the system’s environment, even if the program itself has not changed.

  • The robot sees programs running over Remote Desktop or Citrix only as an image. It then has to recognise elements by their appearance, which is less reliable than working with ordinary windows.
  • Very old applications do not always give the robot information about fields and buttons. The robot then clicks on specific points on the screen and copes badly with a change of resolution.
  • A Windows update, a new version of Java, a different default printer or a new pop-up question can stop the robot, even though the system itself has not changed.
  • When the vendor has stopped developing the system, nobody will fix a bug that gets in the robot’s way. It has to be worked around.
A software robot moves data between modern tools and an old ERP system through its ordinary windows

A robot does not fix an old system – it buys time to decide calmly what to do with it.

Example: invoices from KSeF into an old ERP

Take a hypothetical manufacturing company whose ERP, more than ten years old, has no KSeF module. Purchase invoices arrive via KSeF as data, but the accountants download them and retype them manually. Each day that is 90 invoices at about 4 minutes each, or 6 hours of work.

The solution has two parts. An automated flow in Power Automate downloads new invoices from KSeF and checks whether the supplier is in the system and the order matches. A Power Automate for desktop robot logs into the ERP and enters the data field by field.

Invoices the robot cannot match, for example from a new supplier or without an order number, go onto an exceptions list each morning. An accountant resolves them manually instead of retyping everything from scratch.

You can estimate the benefit using your own data: 6 hours × 21 working days = 126 hours a month. At a labour cost of PLN 70 per hour, that is PLN 8,820 a month, from which you need to deduct licences, robot maintenance and the time spent handling exceptions.

Government portals – official APIs first

A lot of official data can be retrieved without a robot. The register of VAT taxpayers has an official API with a limit of 100 queries a day, each covering up to 30 entities. It shows, among other things, whether a company is an active or exempt VAT taxpayer, and its bank account numbers. For larger checks, the Ministry of Finance provides a file that can be downloaded once a day.

A current KRS extract is returned by a free Ministry of Justice API. The personal data in it is partly anonymised, so for full details of board members you need a regular extract. Exchange rates are published via an API by the National Bank of Poland.

A robot on a portal only makes sense where there is no API. Before you launch one, read the terms of use – some services prohibit automated access. Nor may a robot circumvent anti-bot safeguards, such as typing in a code from an image.

Signing in carries the most risk. A robot that signs in with a specific person’s Trusted Profile (profil zaufany, the Polish government e-ID) or qualified signature acts on that person’s behalf. Such a solution requires legal analysis and the person’s consent; company accounts and powers of attorney work better.

Which licences are needed, and what about maintenance

In the Microsoft ecosystem, robots are built in Power Automate for desktop. The program itself is free for Windows, but running a robot on a schedule or overnight requires the paid licences in the table below.

On top of the licences, add maintenance. Someone has to check the robot’s work report every day, handle exceptions and fix the robot after changes in the systems. Decide before you start who does this – your employee or the supplier.

Power Automate licences for robots (Microsoft list prices, October 2026, annual payment)
LicenceWhat it allowsPrice
Microsoft work account without a premium licenceBuilding a robot and running it manually on your own computerNo extra charge
Power Automate PremiumRunning a robot alongside the employee from automated flows; premium connectorsUSD 15 per user per month
Power Automate ProcessAn unattended robot on a designated computer, e.g. overnightUSD 150 per robot per month
Power Automate Hosted ProcessAn unattended robot on a machine in Microsoft’s cloudUSD 215 per robot per month

A robot as a bridge to replacing the system

A robot on an old system takes the most tedious work off the team and gives you time for a well-considered decision on replacement. Provided it is not forgotten.

Keep a simple register: which robots run on which system, which processes depend on them and who is responsible for them. When choosing a new system, include an API and a KSeF module in the requirements, so that the robots can be switched off rather than migrated.

If the cost of maintaining the robots starts to exceed the benefit, that is a sign the old system needs replacing. It is worth doing this calculation once a year.

Related topics in the knowledge base

Read next

FAQ

RPA on legacy systems – frequently asked questions

Questions companies ask before their first robot in an old ERP or unsupported program.

Can a robot work at night, when employees’ computers are switched off?
Yes, but it needs its own computer or virtual machine and a Process or Hosted Process licence. A robot run on an employee’s computer only works while that employee is logged in.
Could the vendor of the old system object to a robot?
It could. Check the licence agreement: whether it allows automated access and whether the robot’s account counts as an additional user. If the system is still under support, agree with the vendor that the robot does not breach its terms.
Will an AI agent that operates the computer by itself replace a classic robot?
Not yet, for repetitive processes at scale. An AI agent copes better with unexpected screens, but it works more slowly and less predictably. A classic robot performs exactly the same steps every time, which makes control and auditing easier.
What happens to the data if the robot stops halfway through its work?
This has to be designed before launch. A good robot records which documents it has already entered and, when restarted, picks up where it left off. Every stoppage should send a notification to the person responsible, for example in Microsoft Teams.
Is a robot on an old system secure?
It is as secure as the account it uses. Give the robot a separate account with permissions only for the functions it needs, and keep the password in a password vault, not in the robot’s code. Record all of the robot’s actions in a log.

About this page

About the author

Kacper Włodarczyk — CEO of ALGORCOMP

Kacper Włodarczyk

CEO of ALGORCOMP

Kacper specializes in implementing Microsoft 365 Copilot, Copilot Studio, Power Platform (Power Automate, Power Apps, SharePoint) and AI agents for mid-sized B2B companies in Poland. He leads dozens of projects covering AI strategy, Power Platform governance, document workflow automation and sales processes. In his writing he focuses on the practical side of AI adoption in organizations — from the first proof of concept to company-wide rollout — with particular attention to data security, compliance (GDPR, NIS2, the AI Act) and return on investment.

Meet the team

Do you have a system everyone retypes data into by hand?

In a free consultation, we will check whether it can be connected without a robot, and if not, how to plan a robot with a future system replacement in mind.

Featured

Related articles