Wie zoekt naar ontwikkeling voor SAP Business One denkt meestal meteen aan programmeren. In de praktijk is code de laatste stap van een trap met vier treden: instellen, uitbreiden met eigen velden, een bestaande extensie kiezen en pas dan iets op maat laten bouwen. Hoe lager u op de trap blijft, hoe goedkoper het project en hoe rustiger de volgende update verloopt.
Deze pagina legt uit hoe de personalisatie van SAP Business One in elkaar zit, wat een module op maat voor SAP Business One inhoudt, welke gevolgen dat heeft voor updates en hoe u een ontwikkelaar of integrator beoordeelt. We zijn niet verbonden aan SAP: wij brengen u gratis in contact met een integrator, die het project uitvoert. Hoe zo’n kennismaking verloopt, leest u op hoe de mise en relation werkt.
De vier lagen van maatwerk in SAP Business One
Een maatwerkvraag uit een Vlaams kmo-bedrijf klinkt vaak als: "Onze verkoper wil bij elke offerte een extra veld voor de leveringsvoorwaarden, en de directie wil een goedkeuring boven een bepaald orderbedrag." Dat is geen programmeerwerk. Het is de eerste of tweede laag.
| Laag | Wat het is | Voor wie | Invloed op updates |
|---|---|---|---|
| 1. Parametrering | Instellingen, nummeringen, rechten, belastingcodes, documentlay-outs | Key-user met begeleiding | Geen |
| 2. Eigen definities | Eigen velden, tabellen, objecten en waarden, query’s, waarschuwingen, goedkeuringsworkflows | Key-user of consultant | Zeer beperkt |
| 3. Bestaande extensie | Add-on van een softwareleverancier, vaak voor een sector of land | Integrator | Afhankelijk van de leverancier |
| 4. Ontwikkeling op maat | Eigen add-on, koppeling of module via API’s | Ontwikkelaar | Te testen bij elke release |
Laag 1 en 2: alles wat zonder code kan
Het implementatiecursusmateriaal van SAP noemt als aanpassingsinstrumenten de door de gebruiker gedefinieerde velden (UDF), tabellen (UDT), objecten (UDO) en waarden (UDV), aangevuld met SQL-query’s, waarschuwingen en goedkeuringsworkflows. Daarmee dekt u opvallend veel af:
- een extra veld op een verkooporder, artikel of relatie;
- een eigen tabel voor gegevens die het standaardpakket niet kent, bijvoorbeeld keuringsresultaten of machinegegevens van een klant;
- een query die per afdeling de openstaande leveringen toont;
- een waarschuwing wanneer een kredietlimiet bijna bereikt is;
- een goedkeuringsstap voor aankopen of kortingen boven een drempel.
Het voordeel van deze laag is dat ze deel uitmaakt van het pakket zelf. Een goede consultant start hier altijd. Wie daar al een afwijkend verhaal hoort ("dat kan niet, dat moet geprogrammeerd worden"), mag gerust een tweede mening vragen.
Laag 3: een bestaande extensie
SAP meldt dat Business One via een uitgebreid partnernetwerk wordt verdeeld en dat er meer dan 500 sector- en landenextensies bestaan. Dat cijfer vertelt u iets nuttigs: voor veel specifieke vragen is al een oplossing op de markt. Voor een productiebedrijf kan dat een planningsmodule zijn, voor een groothandel een uitgebreid pickingscherm.
Controleer bij een extensie telkens vier punten:
- Wordt ze nog actief onderhouden voor de versie die u gebruikt of wilt gebruiken?
- Is ze compatibel met uw versie of editie van SAP Business One?
- Wie biedt ondersteuning, en tegen welke afspraken?
- Wat gebeurt er als de leverancier stopt?
Dat laatste punt wordt vaak vergeten. Een afhankelijkheid van één kleine ontwikkelaar is een bedrijfsrisico, ook al werkt alles vandaag perfect.
Wat gebeurt er in laag 4: echte ontwikkeling
Wanneer een proces bij u echt uniek is, komt er code aan te pas. Volgens de documentatie van SAP rust die ontwikkeling op drie bouwstenen rond het ERP-hart: het Software Development Kit (SDK), de Service Layer en het Integration Framework.
De Service Layer
De Service Layer is een extensie-API van het type REST, gebaseerd op HTTP en OData, met uitwisseling in JSON. Volgens SAP ondersteunt ze zowel OData versie 3 als versie 4. Ze draait op SUSE Linux Enterprise en op Microsoft Windows, gebruikt de Apache-server als load balancer en kan geïntegreerd of verspreid worden ingezet. Ze deelt met de DI API dezelfde objectdefinities via het onderdeel DI Core. Voor de beveiliging noemt SAP Learning de authenticatieschema’s Basic en OAuth. De bedoeling is het ontwikkelen van web- en mobiele toepassingen voor Business One te vergemakkelijken.
Voor u als directie betekent dit: een ontwikkelaar die webtechnologie beheerst, kan een klantenportaal, een mobiele app voor technici of een koppeling met uw webwinkel bouwen, zonder dat de kern van uw ERP wordt aangepast.
Het Integration Framework en SAP BTP
SAP beschrijft het Integration Framework als onderdeel van Business One, bruikbaar op eigen servers en in de cloud, en bedoeld als ontwikkel- en uitvoeringsomgeving voor integratiescenario’s: dashboards, mobiele toepassingen, uitbestede loonadministratie, automatische prijsaanvragen, SAP Customer Checkout, webdiensten en koppelingen met SAP- en niet-SAP-toepassingen. Meer over de praktijk van koppelingen vindt u op onze pagina over integraties met SAP Business One.
Daarnaast positioneert SAP Learning het pakket als een ERP-kern die bedoeld is om uitgebreid te worden met AI, machine learning en clouddiensten van SAP Business Technology Platform, met automatiseringsmodellen via de Business Accelerator Hub en SAP Build. Dat is nuttig om te weten, maar het is geen reden om van die route uw eerste keuze te maken: begin bij het probleem, niet bij de technologie.
Wat zit al in de licentie?
Volgens de licentiegids van SAP omvatten de gebruikerslicenties automatisch, zonder aparte aanvraag, het Software Development Kit (implementatieversie), de SDK Tools, de SAP AddOns, de compatibiliteitslicentie voor add-ons en de Workflow. Het gereedschap zelf is dus geen aparte aankoop; wat u betaalt, is de tijd van de ontwikkelaar en het beheer achteraf. Welke kosten verder meespelen, leest u bij de prijzen van SAP Business One.
Gevolgen voor updates en upgrades
De belangrijkste vraag is niet "kan het?", maar "wat gebeurt er bij de volgende versie?". Een bruikbare vuistregel: hoe meer uw aanpassing via de gedocumenteerde lagen verloopt, hoe voorspelbaarder de upgrade.
| Type aanpassing | Risico bij een update | Wat u moet doen |
|---|---|---|
| Eigen velden, tabellen en objecten | Laag | Testen op een kopie van uw omgeving |
| Query’s, waarschuwingen en workflows | Laag tot matig | Na de update controleren of ze nog hetzelfde resultaat geven |
| Add-on via SDK of Service Layer | Matig | Compatibiliteit met de nieuwe versie bevestigen vóór de upgrade |
| Ingrepen die standaardgedrag omzeilen | Hoog | Vermijden, of de afwijking schriftelijk motiveren |
Praktische aandachtspunten voor een Belgisch bedrijf:
- Wettelijke aanpassingen. De Belgische context verandert: BTW-aangiften, verplichte e-facturatie via Peppol en BTW in België vragen soms nieuwe velden of formaten. Een maatwerk dat dit zelf nabootst, moet u zelf mee onderhouden. Vraag eerst wat het standaardpakket of een lokale extensie al biedt. Een overzicht vindt u op de pagina SAP Business One in België.
- Uw boekhouder. Raadpleeg uw externe boekhouder of uw financieel verantwoordelijke vóór u de boekingslogica wijzigt. Zij moeten de gevolgen voor jaarrekening en BTW kunnen volgen. Uitleg over het financiële luik staat bij boekhouding en financiën in SAP Business One.
- Meertalige gebruikers. In een bedrijf waar Nederlands, Frans en soms Engels door elkaar gebruikt worden, moeten eigen velden en documentlay-outs in alle werktalen kloppen. Dat wordt bij maatwerk vaak vergeten.
Bonnes pratiques: standaard houden, documenteren, testen
Blijf zo dicht mogelijk bij het standaardpakket
Elke afwijking is een erfenis. Vraag bij elke wens: lost dit een echt probleem op, of kopiëren we een gewoonte uit het oude systeem? Een goed opgesteld programma van eisen helpt om de onmisbare wensen van de wenselijke te scheiden. In veel projecten blijkt dat een proces beter aangepast wordt dan de software.
Leg alles vast
Elke aanpassing hoort minstens vier zaken te hebben: het doel, de technische beschrijving, de betrokken tabellen of API’s en de naam van wie ze onderhoudt. Zonder dat dossier staat u na het vertrek van een ontwikkelaar voor een gesloten doos. Eist u dit contractueel, dan blijft de kennis in uw bedrijf.
Test op een aparte omgeving
Ontwikkelingen horen eerst in een testomgeving, met representatieve gegevens, te worden uitgeprobeerd door de mensen die er dagelijks mee werken: de magazijnier, de verkoopbinnendienst, de boekhouder. Plan bij elke versiewissel een testronde in en laat de ontwikkelaar bevestigen dat zijn code de nieuwe versie ondersteunt.
Houd het eigendom helder
Spreek af wie eigenaar is van de broncode, wie toegang heeft tot de documentatie en wat er gebeurt als de samenwerking stopt. Dit is geen juridische finesse maar een continuïteitsvraag.
Wat kost maatwerk, en wat bepaalt de inspanning?
Wij noemen hier geen bedragen of duurtijden: die zijn afhankelijk van het werk. Wat de inspanning vooral bepaalt:
- het aantal processen dat afwijkt van de standaard;
- het aantal koppelingen met andere systemen, zoals een webwinkel, een transportpartner of een Peppol-toegangspunt;
- de kwaliteit van uw gegevens vóór de start;
- het aantal gebruikers en vestigingen die moeten meedraaien;
- de eisen aan rapportage en goedkeuringen.
Tijdens een implementatie van SAP Business One is het verstandig maatwerk in fasen te plannen: eerst het standaardpakket live, dan pas de uitbreidingen die in de praktijk echt blijken te ontbreken. Ook de modules van SAP Business One vindt u beter eerst in detail door, zodat u niet bouwt wat al bestaat.
Een ontwikkelaar of integrator voor SAP Business One beoordelen
Een goede partner herkent u minder aan zijn technische jargon dan aan zijn vragen. Gebruik deze checklist bij een gesprek of offerte:
- Begint hij bij het proces of bij de code? Een goede partner vraagt eerst naar uw werkwijze en toont daarna de laagste oplossing.
- Kent hij de vier lagen? Hij moet zonder aarzelen kunnen uitleggen waarom een eigen veld, een workflow of een extensie in uw geval volstaat of juist niet.
- Hoe documenteert hij? Vraag een voorbeeld van opleveringsdocumentatie, zonder klantgegevens.
- Hoe test hij? Een werkwijze met testomgeving, acceptatietest en een plan voor elke nieuwe versie is een minimum.
- Wie onderhoudt later? Vraag naar afspraken voor ondersteuning en onderhoud en naar vervanging bij afwezigheid.
- Wat weet hij van de Belgische context? Peppol, BTW, sociale en fiscale rapportering: de partner moet de Vlaamse en Brusselse praktijk kennen, niet alleen de internationale productfuncties.
- Welke referenties zijn er? Vraag naar vergelijkbare projecten in uw sector en naar de mogelijkheid om met een klant te spreken.
Meer criteria en vragen vindt u in onze gids een ERP-integrator kiezen en op de pagina over een integrator voor SAP Business One kiezen. Twijfelt u tussen twee offertes? Dan zijn de verschillen in aanpak vaak veelzeggender dan de prijs.
Wanneer is maatwerk de verkeerde keuze?
Maatwerk loont niet wanneer:
- de wens uit een gewoonte voortkomt en niet uit een bedrijfsbehoefte;
- een standaardfunctie of extensie dezelfde uitkomst geeft met wat aanpassing van het proces;
- niemand in uw organisatie eigenaar wil zijn van het resultaat;
- u de nieuwe module niet kunt laten testen door de eigenlijke gebruikers.
Als blijkt dat de wensen steeds verder van het pakket afdrijven, kan het zinvol zijn een tweede blik te vragen. Dat kan met een onafhankelijke audit van uw SAP Business One-omgeving, of met een vergelijking met een alternatief voor SAP Business One.
Hoe verder?
Schrijf in twee of drie zinnen op wat u wilt bereiken, welke processen afwijken en welke koppelingen nodig zijn. Met die korte beschrijving kunnen wij u in contact brengen met een integrator die SAP Business One kent en past bij uw sector en regio. Het is gratis en vrijblijvend; de offerte en het project blijven tussen u en de integrator.
Veelgestelde vragen
Wanneer is ontwikkeling in SAP Business One echt nodig?
Pas wanneer instellingen, eigen velden, query’s, waarschuwingen, goedkeuringsworkflows en een bestaande extensie uw proces niet afdekken. Een goede ontwikkelaar toont eerst waarom die lagen tekortschieten, en pas daarna waarom code nodig is. Zo blijft de oplossing klein en beheersbaar.
Welke technieken gebruikt een ontwikkelaar voor een module op maat in SAP Business One?
Volgens SAP zelf draait het rond het Software Development Kit, de Service Layer en het Integration Framework. De Service Layer is een REST-API op basis van HTTP en OData met JSON-uitwisseling. Voor extra koppelingen en slimme scenario’s bestaat ook SAP Business Technology Platform.
Blokkeert maatwerk de updates van SAP Business One?
Niet als het via de ondersteunde lagen gebeurt: eigen velden, tabellen en objecten, of een extensie die de gedocumenteerde API’s gebruikt. Risico ontstaat bij ingrepen die het standaardgedrag omzeilen. Laat bij elke release testen in een afgescheiden omgeving voor u in productie gaat.
Moet ik eigen ontwikkeling betalen of zit er al iets in de licentie?
Volgens de licentiegids van SAP bevatten de gebruikerslicenties automatisch het Software Development Kit, de SDK Tools, de SAP AddOns, de compatibiliteitslicentie voor add-ons en de Workflow. De uren van de ontwikkelaar blijven uiteraard een apart bedrag, dat afhangt van de omvang van het werk.
Hoe beoordeel ik een ontwikkelaar of integrator voor SAP Business One?
Vraag hoe hij of zij eerst het standaardpakket benut, hoe documentatie en tests worden opgeleverd en wie de code na oplevering onderhoudt. Laat een referentieproject uitleggen zonder dat u namen van klanten hoeft te horen. Een partner die altijd meteen code voorstelt, is een waarschuwingssignaal.
Bronnen
- SAP Learning – Implementing SAP Business One
- SAP Business One – licentiegids
- SAP Help – Working with SAP Business One Service Layer
- SAP Learning – Leveraging the SAP Business One Service Layer
- SAP Help – Integration Framework for SAP Business One
- SAP Learning – Introducing SAP Business One
- SAP News – Global success of SAP Business One
De genoemde softwarenamen zijn handelsmerken van hun respectievelijke eigenaren en worden uitsluitend ter informatie vermeld. Deze site is onafhankelijk en niet verbonden aan een softwareleverancier.