Kies een koppeling als het systeem waar de gegevens heen moeten een bruikbare, gedocumenteerde API heeft: die is meestal stabieler, sneller en beter te controleren dan een software-robot. Kies een software-robot (RPA) als er geen API is, als API-toegang te duur is of te laat komt, of als de oplossing maar tijdelijk nodig is. Vaak is een combinatie het beste: een koppeling waar het kan en een robot alleen voor de stap zonder andere ingang. En soms is een eenvoudige uitwisseling van bestanden al genoeg.

Wat een software-robot doet, en wat een koppeling doet

Een software-robot werkt via het scherm, zoals een medewerker. Hij opent het ERP-pakket (het bedrijfssysteem voor orders en administratie), logt in, zoekt de klant op, vult de velden in en klikt op Opslaan. Het ERP ziet geen verschil met een mens: de robot krijgt dezelfde controles en meldingen. Dit heet RPA (robotic process automation). De robot volgt vaste regels en denkt niet zelf na. Een software-robot is geen industriële robot: hij werkt alleen in software, niet op de werkvloer.

Een koppeling laat systemen rechtstreeks gegevens uitwisselen, zonder scherm. Meestal gaat dat via een API (application programming interface): een vaste ingang die de leverancier van een systeem aanbiedt voor andere software. De koppeling stuurt bijvoorbeeld het bericht "maak deze verkooporder aan, met deze regels", en het ERP antwoordt met een ordernummer of een foutmelding.

De robot gebruikt dus de ingang voor mensen, de koppeling de ingang voor software. Microsoft schrijft in de licentiedocumentatie van Power Automate dat RPA nodig is voor toepassingen zonder kant-en-klare connector en zonder API waarmee u er zelf een kunt bouwen. De robot is de route voor als de directe weg ontbreekt.

Het voorbeeld: orders uit e-mail in het ERP

Rekenvoorbeeld orderverwerking (aannames: 80 orders van 4 minuten, 230 werkdagen, 15% afwijkingen, 15 minuten controle per dag)
OnderdeelPer dagPer jaar
Handwerk nu: 80 × 4 minuten320 minutenca. 1.227 uur
Afwijkingen blijven handwerk: 12 × 4 minuten−48 minutenca. −184 uur
Dagelijkse controle van de automatisering−15 minutenca. −58 uur
Werkelijk vrijgemaakte tijd257 minutenca. 985 uur

De volle 320 minuten tellen nooit als besparing, want de afwijkingen en de controle blijven mensenwerk. Ontwikkeling, licenties en onderhoud zijn kosten die u apart rekent; zie wat het automatiseren van een bedrijfsproces kost. Belangrijk voor de keuze: een robot en een koppeling maken ongeveer dezelfde tijd vrij. Het verschil zit in de kosten, het onderhoud en hoe vaak de oplossing stilvalt.

De vergelijking op elf punten

De tabel geeft onze afweging per punt. De onderbouwing, met bronnen, staat in de paragrafen eronder.

Software-robot en koppeling vergeleken
CriteriumSoftware-robot (RPA)Koppeling (API)
Beschikbaarheid van een APINiet nodig: werkt met elk scherm waar een medewerker bij kanNodig: een gedocumenteerde API die de juiste gegevens kan lezen én schrijven
OntwikkelkostenVaak lager bij de start, want de leverancier hoeft niet mee te werkenLaag bij goede documentatie, hoger bij weinig documentatie of een extra module
OnderhoudHoger: een schermwijziging kan aanpassing en een nieuwe test vragenLager: vooral bij een nieuwe API-versie of gewijzigde velden
BetrouwbaarheidHangt af van schermen, laadtijden, venstergrootte en schermresolutieMeestal hoger: een vaste afspraak tussen systemen, wel binnen de limieten van de API
FoutafhandelingDe robot moet zelf zien dat iets misgingHet systeem geeft per verzoek een status of foutcode terug
DatakwaliteitDezelfde veldcontroles als bij een mens; risico op invoer in het verkeerde veldHet systeem weigert ongeldige velden met een melding; welke controles de API doet, verschilt per pakket
SchaalbaarheidZo snel als de schermen; meer volume vraagt meer robots en licentiesVeel sneller per order, binnen de limieten van de API
BeveiligingEen gebruikersaccount met alle rechten die dat account in de schermen heeftEen eigen toegangssleutel, vaak met rechten per onderdeel
Veranderende applicatiesGevoelig: een update van het scherm kan de robot laten vastlopenMinder gevoelig: een API is een afspraak met andere software, vaak met versienummers
Complexiteit van uitzonderingenMoet afwijkingen in het proces én schermproblemen opvangenMoet afwijkingen in het proces opvangen; technische fouten zijn duidelijker
Toekomstige uitbreidingenElke extra stap is extra schermwerk en onderhoudNieuwe gegevens of meldingen zijn meestal eenvoudiger toe te voegen

Beschikbaarheid van een API

"Er is een API" betekent nog niet dat de API kan wat u nodig hebt. Controleer drie dingen. Kan de API de gegevens lezen én schrijven die uw proces nodig heeft, bijvoorbeeld een verkooporder met regels aanmaken, of een stuklijst (de onderdelen van een product) met de juiste revisie? Zit API-toegang in uw abonnement, of vraagt de leverancier er een module, licentie of partnertraject voor? En is het systeem bereikbaar? Een ERP op een eigen server vraagt een veilige verbinding voor software van buiten. Klantportalen en leveranciersportalen hebben niet altijd een API die u mag gebruiken; dan blijft het scherm de enige ingang.

Ontwikkelkosten en onderhoud

Een robot kan snel starten, omdat u niets van de leverancier nodig hebt. Daar staan doorlopende kosten tegenover: een licentie per robot die tegelijk draait, een machine en meer beheeruren. Bij Power Automate geeft één Process-licentie bijvoorbeeld één automatisch draaiende robot (unattended RPA), die één desktopstroom (een automatisering die schermen bedient) tegelijk uitvoert. Zo'n robot start automatisch en voert het werk uit zonder dat een medewerker erbij hoeft te zijn. Hij volgt vooraf vastgelegde regels. Bij een fout of uitzondering kan hij stoppen, een melding sturen of de situatie aan een medewerker voorleggen. De uitvoering blijft controleerbaar. Het tegenovergestelde is een robot die een medewerker zelf start op de eigen computer (attended RPA). Een koppeling vraagt soms meer werk vooraf. Ook zij heeft doorlopende kosten, zoals beheer en soms een API-module van de leverancier, maar die zijn meestal lager. Lees ook wat het onderhoud van een software-robot kost.

Betrouwbaarheid en veranderende applicaties

Een robot herkent een veld of knop aan kenmerken van het scherm. UiPath noemt zo'n beschrijving een selector. De documentatie van UiPath noemt de positie op het scherm onbetrouwbaar, en een kenmerk dat bij elke start verandert, maakt het element onvindbaar. Microsoft waarschuwt dat een automatisch draaiende robot in Power Automate een andere schermresolutie kan krijgen dan tijdens het bouwen. Dan vindt hij een element niet, of bedient hij zelfs het verkeerde. Elke update van een systeem dat de robot bedient, is dus een moment om te testen.

Een gedocumenteerde API is een afspraak tussen de leverancier en andere software. Een scherm is gemaakt voor mensen, en de leverancier mag het veranderen. Ook een API verandert, maar leveranciers werken daarvoor vaak met versienummers, zoals de v2.0 in de API van Business Central.

Foutafhandeling en uitzonderingen

Een API geeft bij elk verzoek een statuscode terug. Microsoft Dynamics 365 Business Central geeft bijvoorbeeld foutcode 429 (Too Many Requests) bij te veel verzoeken, en Microsoft schrijft dat de koppeling dan moet wachten en opnieuw moet proberen. Een robot moet zelf afleiden dat iets misging, bijvoorbeeld omdat een verwacht scherm niet verschijnt. Hij krijgt ook problemen die niets met het proces te maken hebben: een update van de toepassing, een ander formaat van het venster, een scherm dat trager laadt dan verwacht. Microsoft noemt zulke oorzaken en adviseert onder meer ruimere wachttijden en een nieuwe poging bij een fout.

Afwijkingen in het proces, zoals een onbekend artikel, lost geen van beide vanzelf op. U legt regels vast: wat verwerkt de automatisering zelf, en wat gaat naar een mens? Hoe dat vaak misgaat, leest u in waarom RPA-projecten mislukken.

Datakwaliteit

Het ERP controleert of iets technisch mag, niet of het klopt. Een order met een verkeerde prijs is voor het ERP gewoon geldig, bij een robot en bij een koppeling. Bouw daarom zelf controles in: bestaat de klant, ligt de prijs binnen een marge, en is dit klantordernummer niet al verwerkt? Die laatste controle voorkomt een dubbele order als de automatisering halverwege stopt en opnieuw begint. Laat een robot na het opslaan ook teruglezen wat er in het systeem staat.

Schaalbaarheid

Stel dat de robot via de schermen 2 minuten per order nodig heeft (een aanname; meet het in uw eigen systeem). Bij 80 orders is dat 160 minuten robottijd per dag: één robot kan dat makkelijk aan. Bij 800 orders per dag is het 1.600 minuten. Een dag heeft er 1.440, dus dan hebt u een tweede robot nodig, met een tweede licentie en machine.

Een koppeling heeft per order een paar verzoeken nodig. Business Central online accepteert per gebruiker maximaal 6.000 verzoeken binnen vijf minuten. Daar blijven 800 orders per dag ruim onder. Andere pakketten hebben andere limieten; zoek die van uw pakket op.

Beveiliging

Een automatisch draaiende robot logt zelf in, op een Windows-machine en in de toepassingen. Geef hem een eigen account met alleen de rechten die het proces nodig heeft, en bewaar de wachtwoorden in de kluis van het robotplatform. Tweestapsverificatie maakt automatisch inloggen lastig; spreek met uw IT-beheerder een oplossing af die de leverancier ondersteunt. Een koppeling krijgt een eigen toegangssleutel, die u vaak tot bepaalde onderdelen beperkt. Bij AFAS legt u bijvoorbeeld in de AppConnector vast welke connectoren een token (de toegangssleutel) mag gebruiken.

Toekomstige uitbreidingen

Sommige API's sturen zelf een bericht zodra er iets verandert (een webhook), zodat de koppeling niet steeds hoeft te kijken. Microsoft raadt dat voor Business Central ook aan. Bij een robot is elke extra stap extra schermwerk. Kiest u toch voor een robot, houd de bedrijfsregels dan los van de schermstappen. Dan vervangt u later alleen het deel dat gegevens invoert.

Andere opties dan een robot of een API

  • Bestanden uitwisselen. Het ene systeem zet een bestand in een vaste opbouw klaar, bijvoorbeeld CSV of XML, en het andere leest het in. Dat kan via een gedeelde map of via SFTP, een beveiligde manier om bestanden tussen servers te versturen. Deze route hangt niet af van schermen en past bij batches, zoals een prijslijst. U ziet fouten wel pas in het importverslag, en u maakt afspraken over scheidingsteken, datumnotatie en decimaalteken. Meer daarover in Excel koppelen aan ERP.
  • Een standaardconnector of workflowtool. Voor veel combinaties bestaat een kant-en-klare koppeling: in de appmarkt van uw ERP-leverancier, als connector in Power Automate, of in de Integration Service van UiPath. Zo'n connector is snel ingericht, en de leverancier houdt hem bij. Maar de veldtoewijzing ligt vast, en hij kent uw afwijkingen vaak niet. Vraag vooraf wat er gebeurt met een order die niet past.
  • Een koppeling en een robot samen. De robot haalt bijvoorbeeld bestellingen op uit het leveranciersportaal van een grote klant zonder API, en een koppeling zet ze in het ERP. Biedt de klant later een export of API aan, dan vervangt u alleen het robotdeel.
Alle aanpakken op een rij
AanpakSterk inBeperkingen
Handwerk houdenWeinig gevallen, veel oordeel per gevalKost elke dag tijd, foutgevoelig bij groei
Bestanden uitwisselenBatches, systemen met import en exportNiet direct, fouten pas in het importverslag
StandaardconnectorGangbare combinaties zonder bijzondere regelsVaste veldtoewijzing, kent uw afwijkingen niet
Koppeling via APIDagelijkse stromen, grote aantallen, snelle terugmeldingVraagt een bruikbare API en iemand die bouwt en beheert
Software-robotSystemen en portalen zonder andere ingangGevoelig voor schermwijzigingen, meer onderhoud
Koppeling en robot samenKetens waarin één systeem geen API heeftTwee technieken om te beheren

Wanneer een software-robot niet verstandig is

  • Er is een bruikbare API of standaardconnector. Een robot is dan een omweg met meer onderhoud.
  • Het volume is hoog of de tijd is krap. Meer tegelijk verwerken betekent meer robots, licenties en machines.
  • De schermen veranderen vaak. Een webtoepassing met elke paar weken een nieuwe versie betekent steeds opnieuw testen.
  • Automatisch inloggen kan of mag niet. Denk aan een captcha, of gebruiksvoorwaarden van een portaal die automatische toegang verbieden.
  • Twee systemen moeten steeds dezelfde gegevens hebben, zoals voorraad, prijzen, of artikelen en stuklijsten in het PDM-systeem (het tekeningenbeheer) en het ERP. Een koppeling past daar beter.
  • Het proces zelf is het probleem. Een robot maakt een omslachtig proces sneller, niet beter.
  • Niemand is eigenaar. Dan kan de robot bij de eerste schermwijziging stilvallen zonder dat iemand het merkt.

Wees ook voorzichtig als de robot een toepassing alleen als beeld ziet, bijvoorbeeld via een extern bureaublad. Hij werkt dan met beeldherkenning of schermcoördinaten, en een verschoven venster kan al genoeg zijn om te missen. Meer signalen leest u in wanneer u een proces beter niet automatiseert.

Wanneer een API-koppeling niet de beste keuze is

  • Er is geen API, of de API mist de functie. Soms kan de API alleen lezen, of ontbreekt het veld dat u nodig hebt.
  • API-toegang kost te veel. Vergelijk de kosten van een extra module of licentie met de licentie en het onderhoud van een robot over een paar jaar.
  • API-toegang komt te laat. Een traject bij de leverancier kan lang duren, terwijl het handwerk nu tijd kost. Een robot kan die periode overbruggen.
  • De situatie is tijdelijk. Wordt het systeem binnen een jaar vervangen, dan loont een koppeling zelden.
  • Het gaat om weinig gevallen. Bij een paar orders per week loont een koppeling vaak niet, en een robot ook niet. Reken het door met de methode voor rendement.

Beslisschema

Loop deze vragen per processtap in volgorde door. Stop bij de eerste vraag die een duidelijk antwoord geeft.

  1. Is de stap nodig? Nee: schrap de stap of verander het proces.
  2. Heeft een van de systemen een standaardfunctie of connector die deze uitwisseling doet, ook met uw afwijkingen? Ja: gebruik die.
  3. Heeft het doelsysteem een gedocumenteerde API die de gegevens kan lezen en schrijven, tegen acceptabele kosten? Ja: kies een koppeling.
  4. Kunnen beide systemen een bestand in een vaste opbouw exporteren en importeren, en is verwerken per batch snel genoeg? Ja: wissel bestanden uit.
  5. Is er alleen een scherm, en is dat stabiel? Stabiel betekent: geen nieuwe versie elke paar weken, geen captcha en een eigen account voor de robot. Ja: kies een software-robot.
  6. Is er alleen een scherm, maar verandert het vaak of blokkeert het automatische toegang? Vraag de leverancier of klant om een export of API, of houd deze stap handmatig.

Bij elke route gelden twee extra vragen. Vragen veel gevallen een inhoudelijk oordeel dat u niet in vaste regels kunt vangen? Leg de regels dan eerst vast waar dat kan, en laat de rest bij een medewerker. Is de robot tijdelijk? Leg dan nu vast wanneer u overstapt.

Wat het zwaarst weegt en wat u intern vraagt

Wat het doelsysteem aanbiedt (API, import of connector) bepaalt de keuze meestal al. Daarna wegen het meest: hoe vaak de schermen veranderen, het volume over een paar jaar, hoe lang de oplossing mee moet en wie het beheert. Stel intern deze vragen:

  • Hebben ons ERP en ons PDM een API of importfunctie, en zit die in ons abonnement? Vraag het de leverancier.
  • Hoeveel gevallen per dag zijn er nu, en over drie jaar?
  • Hoe vaak krijgen het ERP en de portalen een update?
  • Wordt een van de systemen binnen twee jaar vervangen?
  • Wie handelt de afwijkingen af, en wie ziet een melding als het misgaat?

Wanneer externe hulp zinvol is

Een eenvoudige import of standaardconnector richt u vaak zelf in. Externe hulp is zinvol als de API-documentatie onduidelijk is, als er meer dan twee systemen meedoen, als een fout direct geld kost, of als niemand intern de oplossing kan onderhouden. Kies dan iemand die zowel koppelingen als robots bouwt, zodat de techniek niet vooraf vastligt. Wilt u eerst zelf nagaan of uw proces geschikt is, loop dan de vier vragen op de oplossingenpagina langs: vier korte vragen, zonder invultool of berekening. Meer over koppelingen leest u op dezelfde pagina, bij ERP-koppelingen.

Het voorbeeld door het schema

Conclusie

De echte vraag is niet "RPA of API", maar: welke ingang biedt elk systeem, en hoe lang moet de oplossing mee? Een koppeling is de standaardkeuze waar een bruikbare API is. Een robot is een bewuste keuze voor de stap zonder andere ingang, met een eigenaar en een test na elke update. De techniek verandert de vrijgemaakte tijd nauwelijks, maar bepaalt wel de kosten en hoe vaak u verrast wordt. Moet u daarna een platform kiezen, lees dan UiPath of Power Automate.

Bronnen