Koppelingen / ERP / Exact
Handleiding voor de Exact Online-koppeling voor productieplanning met SkyPlanner APS
Deze handleiding laat Exact-partners en IT-teams zien hoe ze Exact Online Manufacturing aan SkyPlanner APS koppelen. De koppeling tussen SkyPlanner en Exact Online werkt in beide richtingen:
- Productieorders, bewerkingsstappen, materiaalplannen, werkcentra, bewerkingen en stuklijsten worden via de Exact Online REST API ingelezen.
- Artikelen, voorraadposities, inkooporders en verkooporders worden ingelezen. Wijzigingen worden via webhooks van Exact Online doorgegeven.
- Geplande begin- en einddatums worden teruggeschreven naar elke bewerkingsstap en naar de productieorder.
- Tijdregistraties van operators worden geboekt als urentransacties en gereedgemelde aantallen als ontvangsten op productieorders.
Het SkyPlanner-team stemt de koppeling tijdens de ingebruikname af op uw Exact Online-inrichting en blijft deze na de livegang ondersteunen. Deze handleiding is bedoeld voor partners en ontwikkelaars die daaraan willen meewerken of zelf willen voortbouwen op de gedocumenteerde REST API van SkyPlanner (API-documentatie). Aan het einde volgt een korte sectie over Exact Globe+.
De Exact Online REST API voor productie
Exact Online stelt gegevens beschikbaar via één REST API, met resources gegroepeerd per service. Het basispad is /api/v1/{division}/<service>/<resource>, waarbij division de administratie in Exact Online is. De REST API-documentatie vermeldt voor de service manufacturing de volgende resources voor de planning:
| Resource | Inhoud | Methoden |
|---|---|---|
manufacturing/ShopOrders | Productieordernummer, artikel, PlannedQuantity, PlannedStartDate, PlannedDate, status, vrijgave-indicator | GET, POST, PUT, DELETE |
manufacturing/ShopOrderRoutingStepPlans | Bewerkingsstap per productieorder: bewerking, Workcenter, LineNumber, PlannedStartDate, PlannedEndDate, PlannedSetupHours, PlannedRunHours | GET, POST, PUT, DELETE |
manufacturing/ShopOrderMaterialPlans | Materiaalregels per productieorder | GET, POST, PUT, DELETE |
manufacturing/Workcenters | Code, type, productieafdeling, capaciteitswaarde, tarieven | GET, POST, PUT, DELETE |
manufacturing/Operations, OperationResources | Bewerkingen met het bijbehorende werkcentrum, insteltijden en bewerkingstijden | GET, POST, PUT, DELETE |
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutings | Stuklijstversies, componenten en bewerkingsvolgorde | GET, POST, PUT, DELETE |
manufacturing/TimeTransactions | Geboekte uren per productieorder en bewerkingsstap | GET, POST, PUT, DELETE |
manufacturing/ShopOrderReceipts | Gereedgemelde aantallen die uit een productieorder zijn ontvangen | GET, POST |
manufacturing/MaterialIssues | Materiaal dat aan een productieorder is uitgegeven | GET, POST |
manufacturing/ShopOrderPriorities | Prioriteitsmodus per productieorder | GET, PUT |
Uit de overige services:
| Resource | Inhoud |
|---|---|
logistics/Items | Artikelstamgegevens |
inventory/ItemWarehouses | Voorraad per artikel en magazijn |
purchaseorder/PurchaseOrders, PurchaseOrderLines | Openstaande inkooporders en ontvangstdatums |
salesorder/SalesOrders, SalesOrderLines | Klantvraag en leverdatums |
Authenticatie en toegang
Exact Online gebruikt OAuth 2.0 met de authorization code flow en refresh tokens. Exact: “Before you can start integration with Exact Online, you must first register your app in the App Store.” (Voordat u met Exact Online kunt koppelen, moet u uw app eerst registreren in de App Store.) (Exact Online-help) Voor het registreren van apps is een Exact Online Developer-abonnement nodig (Exact App Store).
- De koppeling wordt geregistreerd als app met een redirect URI.
- Een Exact Online-gebruiker met toegang tot productie, voorraad en inkoop geeft eenmalig toestemming.
- Elk verzoek bevat
Authorization: Bearer <access_token>en de administratie in het pad. - Access tokens worden vernieuwd met het refresh token. Exact beperkt hoe vaak een nieuw token mag worden aangevraagd. Bewaar het token daarom in de cache totdat het verloopt.
Exact stelt ook per app en administratie limieten aan het aantal aanroepen per minuut en per dag, en vraagt om opeenvolgende in plaats van parallelle aanroepen. De actuele limieten staan in het artikel over API-limieten van Exact. De koppeling houdt hier rekening mee: gegevens worden gefilterd opgehaald met $filter en $select, en voor bulkwijzigingen wordt de Sync API gebruikt.
Aan de kant van SkyPlanner gebruikt de REST API voor authenticatie een API-token in de header Authorization-Token (SkyPlanner Settings > API). De API is gedocumenteerd in Swagger/OpenAPI. De integratiehandleiding leidt u door de eerste aanroepen.
Webhooks en polling
Webhooks van Exact Online sturen een POST naar uw callback-URL wanneer een topic waarop u bent geabonneerd verandert. Dit verzoek wordt ondertekend met een HMAC SHA256-hash (webhooks). Tot de topics behoren Items, StockPosition, PurchaseOrders, PurchaseOrderLines, SalesOrders en SalesOrderLines. Hiermee worden wijzigingen in voorraad, inkoop en vraag direct aan SkyPlanner doorgegeven.
Productieorders en bewerkingsstappen worden periodiek ingelezen. Filter ShopOrders en ShopOrderRoutingStepPlans op Modified en gebruik de Sync API om gegevens in bulk op te halen (API-beperkingen).
SkyPlanner verstuurt zelf webhooks wanneer de planning verandert. Het terugschrijven naar Exact Online wordt dus door gebeurtenissen aangestuurd.
Gegevensmapping
| Exact Online-resource | SkyPlanner-object | Richting | Frequentie |
|---|---|---|---|
Items | Producten en materialen | Exact Online → SkyPlanner | Eerst inlezen, daarna via webhook |
BillOfMaterialVersions, BillOfMaterialMaterials | Productstructuur, deelproducten, materialen per product | Exact Online → SkyPlanner | Bij wijziging |
Workcenters, OperationResources | Werkcentra, werkcentrumgroepen | Exact Online → SkyPlanner | Eerste inlezing |
Operations, BillOfMaterialRoutings | Processtappen met instel- en bewerkingstijden | Exact Online → SkyPlanner | Bij wijziging |
ShopOrders | Orders met aantal en uiterste gereeddatum | Exact Online → SkyPlanner | Om de paar minuten |
ShopOrderRoutingStepPlans | Taken met volgorde, werkcentrum, insteluren en bewerkingsuren | Exact Online → SkyPlanner | Om de paar minuten |
ShopOrderMaterialPlans | Materialen per taak | Exact Online → SkyPlanner | Om de paar minuten |
ItemWarehouses, StockPosition | Voorraadsaldi | Exact Online → SkyPlanner | Webhook |
PurchaseOrderLines | Inkooporders met verwachte leverdatum | Exact Online → SkyPlanner | Webhook |
SalesOrderLines | Leverdatums en prioriteit van klantorders | Exact Online → SkyPlanner | Webhook |
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT) | Geplande begin- en einddatum en werkcentrum per stap | SkyPlanner → Exact Online | Bij wijzigingen, via webhook |
ShopOrders: PlannedStartDate, PlannedDate (PUT) | Start en einde van de order | SkyPlanner → Exact Online | Bij wijzigingen, via webhook |
TimeTransactions (POST) | Tijdregistraties en bevestigingen door operators | SkyPlanner → Exact Online | Per bevestiging of per ploegendienst |
ShopOrderReceipts (POST) | Gereedgemelde hoeveelheid bij de laatste bewerking | SkyPlanner → Exact Online | Per bevestiging |
| Niet vastgelegd in Exact Online | Omsteltijdenmatrix, gereedschappen met beperkte beschikbaarheid, operators per taak, alternatieve werkcentra, ploegendiensten | Beheerd in SkyPlanner | Inrichting |
Opzet van de koppeling
1. Stamgegevens voor het eerst inlezen. Lees Workcenters, Operations en OperationResources in, gevolgd door artikelen en BOM-versies met hun bewerkingsvolgorden. Een werkcentrum met drie machines wordt in SkyPlanner drie werkcentra of één groep werkcentra. Ploegendiensten, afwezigheid en overwerk stelt u in SkyPlanner in, omdat een werkcentrum in Exact maar één capaciteitswaarde heeft.
2. Orders synchroniseren. Lees openstaande ShopOrders in met de bijbehorende ShopOrderRoutingStepPlans en ShopOrderMaterialPlans, plus voorraad en inkooporderregels. Bij het plannen wordt zowel de voorraad als de verwachte inkoop meegenomen. MRP blijft orderadviezen geven in Exact Online. SkyPlanner plant de productieorders die u aanmaakt.
3. Planning terugschrijven. Voor elke bewerking die de engine heeft ingepland of verplaatst, stuurt SkyPlanner een PUT naar ShopOrderRoutingStepPlans met PlannedStartDate, PlannedEndDate en het Workcenter. De PlannedStartDate en PlannedDate van de productieorder volgen de eerste en laatste bewerking. Hoeveelheden, materiaalplannen en kostencalculatie blijven in Exact Online.
4. Bevestigingen vanaf de productievloer. Operators registreren hun werk met SkyPlanner Mobile Confirmations of de Production Timer. Die tijdregistraties houden de planning actueel. Geregistreerde uren worden als TimeTransactions geboekt op de productieorder en bewerking, als instel- of productietijd. De laatste bevestiging boekt een ShopOrderReceipts-record voor de gereedgemelde hoeveelheid. Registreert uw fabriek al tijd in Shop Floor Control? Kies dan één kanaal voor de boekingen.
5. Gegevenseigenaarschap en conflictregels. Leg vóór de ingebruikname vast welk systeem leidend is en hoe u conflicten afhandelt:
| Gegevens | Leidend systeem |
|---|---|
| Artikelen, BOM’s, productieorderhoeveelheden, materiaalplannen, kosten | Exact Online |
| Volgorde van bewerkingen, start- en eindtijden, toewijzing aan werkcentra | SkyPlanner |
| Omsteltijdenmatrix, gereedschappen, operators per taak, alternatieve productiemiddelen, ploegendiensten | SkyPlanner |
| Urenboekingen en ontvangsten | Exact Online, met gegevens uit SkyPlanner |
Handmatige datumwijzigingen zijn de belangrijkste bron van conflicten. Als planners de datums van productieorders in Exact Online blijven wijzigen, bepalen twee systemen de datums. Laat SkyPlanner leidend zijn voor de datums van bewerkingen. Met Autopilot past SkyPlanner de planning automatisch aan wanneer de productie verandert.
Gebruikelijke projectstappen
De implementatie is doorgaans binnen enkele weken na de start van de inrichting afgerond. Valideer daarvoor de planning tijdens de gratis proefperiode van 30 dagen, met een CSV- of Excel-export van openstaande productieorders en bewerkingen. Daarna verloopt het project als volgt:
- Scopebepaling. Leg de editie, administraties, synchronisatiefrequenties, het kanaal voor urenboekingen en de boeking van ontvangsten vast.
- App en toestemming. Registreer de app. Vervolgens verleent een Exact Online-gebruiker per administratie OAuth-toestemming.
- Eerste gegevensimport. Werkcentra, bewerkingen, artikelen, BOM-versies en bewerkingsvolgorden.
- Orders synchroniseren. Productieorders, bewerkingsplannen en materiaalplannen op vaste momenten; voorraad en inkoop via webhooks.
- Randvoorwaarden instellen in SkyPlanner. Ploegendiensten, omsteltijdenmatrix, gereedschappen, aantallen operators per taak en alternatieve machines of medewerkers.
- Planning terugschrijven. Geplande bewerkingsdatums naar Exact Online, gevolgd door urenboekingen en ontvangsten.
- Parallel testen en ingebruikname. Vergelijk de datums met de huidige planning, corrigeer de stamgegevens en schakel daarna het terugschrijven in.
Aandachtspunten bij een Exact Online-koppeling
- Bewerkingstijden.
PlannedSetupHoursenPlannedRunHourskomen uit de bewerkingsvolgorde van de BOM. Vergelijk deze eerst met de werkelijke bewerkingstijden. - Werkcentra groeperen. Exact legt per werkcentrum één capaciteitswaarde vast. Bepaal per werkcentrum of u dit in SkyPlanner als één werkcentrum, meerdere werkcentra of een groep inricht.
- Kalenders. Ploegendiensten, feestdagen en afwezigheid beheert u in SkyPlanner. Stel ze in voordat u de eerste planning maakt.
- Limiet voor API-aanroepen. Exact beperkt het aantal aanroepen per app en bedrijf en verwacht dat aanroepen na elkaar worden uitgevoerd. Gebruik webhooks waar topics beschikbaar zijn,
$filteropModifieden de Sync API om grote hoeveelheden gegevens in te lezen. - Meerdere administraties. Elke Exact Online-administratie is een bedrijf met een eigen pad en afzonderlijke toestemming. Koppel elke fabriek aan de bijbehorende administratie.
- Vrijgegeven productieorders. Spreek af voor welke statussen SkyPlanner de datums mag wijzigen: openstaande en vrijgegeven orders, of alleen openstaande orders.
- Eén leidend systeem voor datums. Wijzig datums niet meer handmatig in Exact Online zodra SkyPlanner de datums van bewerkingen beheert.
Exact Globe+
Exact Globe+ is het ERP-systeem van Exact dat via Exact Globe+-partners wordt verkocht en geïmplementeerd. Exact zegt hierover: “koppelt eenvoudig en snel met andere systemen”, oftewel: het maakt eenvoudig en snel verbinding met andere systemen (Exact Globe+). SkyPlanner plant productieorders uit Exact Globe+ op dezelfde manier: productieorders, bewerkingsvolgorden, productiemiddelen en voorraad worden ingelezen; geplande datums en geregistreerde uren worden teruggestuurd. Uw Exact Globe+-partner en het SkyPlanner-team spreken tijdens de scopebepaling af welke interface en objecten voor het terugschrijven worden gebruikt.
De Exact Online-koppeling: wie verzorgt de inrichting en ondersteuning?
- Het SkyPlanner-team configureert de koppeling tijdens de inrichting en biedt ondersteuning na de ingebruikname.
- Uw Exact-partner kan meewerken. De partner kent uw edities, administraties en productie-inrichting.
- Uw eigen ontwikkelaars kunnen erop voortbouwen met de gedocumenteerde REST API van SkyPlanner. Een API-token is genoeg om te beginnen. Het SkyPlanner-team helpt waar nodig.
Zodra de koppeling actief is, plant de Arcturus-engine op basis van actuele productieorders uit Exact Online en krijgt elke bewerking geplande datums. SkyPlanner is beschikbaar vanaf 199 € per maand, inclusief 5 werkcentra, met maandelijkse facturatie. U ontvangt vooraf een offerte voor de koppeling, afgestemd op uw proces en behoeften, samen met uw abonnement. Zo kent u de totale kosten voordat u begint. Bekijk de prijzen en functies, en lees hoe de eigen planning van Exact Online zich verhoudt tot SkyPlanner op de pagina Capaciteitsplanning in Exact Online. Het overzicht vindt u op de Exact Online-pagina. Andere ERP-systemen staan in het overzicht van ERP-koppelingen.
Ervaringen van productiebedrijven met SkyPlanner
Minder stilstand door materiaaltekorten
“De waarde van SkyPlanner is voor ons dat het een hulpmiddel is dat in de dagelijkse praktijk werkt, vooral bij het bepalen van leverdatums.”
Tommi Männistö, manager productieplanning
Eskomatic · Verspaning in opdracht
Automatische capaciteitsplanning levert nauwkeurigere leverdatums op. De productiestilstand door materiaaltekorten is sterk afgenomen.
1.000’en werkorders automatisch ingepland
“We hebben de productie op een andere manier onder controle en ons inzicht in de capaciteit ligt op een heel ander niveau.”
Hannu Ryynänen, CEO
Mamec · Industriële mengers, pompen en hightech productie in opdracht
Duizenden werkorders worden automatisch ingepland, met realtime inzicht in de productie voor de hele organisatie.
Veelgestelde vragen
Ondersteunt de Exact Online API productieorders en bewerkingsstappen?
Ja. De manufacturing-service biedt ShopOrders, ShopOrderRoutingStepPlans, ShopOrderMaterialPlans, Workcenters, Operations en BOM-resources. Deze kunnen allemaal worden gelezen en geschreven. Uren worden geboekt via TimeTransactions en gereedgemelde aantallen via ShopOrderReceipts.
Hoe worden geplande datums teruggeschreven naar Exact Online?
Voor elke stap die SkyPlanner inplant of verplaatst, stuurt het een PUT naar ShopOrderRoutingStepPlans met PlannedStartDate, PlannedEndDate en het bijbehorende Workcenter. De velden PlannedStartDate en PlannedDate van de productieorder worden hierop afgestemd.
Wie bouwt de koppeling met Exact Online?
Het SkyPlanner-team stemt de tweerichtingskoppeling tijdens de onboarding af op uw Exact Online-inrichting en biedt ook na de ingebruikname ondersteuning. Uw Exact-partner kan hierbij betrokken worden. Uw eigen ontwikkelaars kunnen ook een koppeling bouwen met de gedocumenteerde REST API van SkyPlanner. Een API-token is voldoende om te beginnen.
Kan Exact Online wijzigingen in realtime doorgeven?
De webhooks van Exact Online geven wijzigingen in artikelen, voorraadposities, inkooporders en verkooporders door. Productieorders en bewerkingsstappen worden met korte tussenpozen uitgelezen via gefilterde verzoeken. In de andere richting geven de webhooks van SkyPlanner wijzigingen in de planning direct door.
Kunnen we SkyPlanner testen voordat we de koppeling bouwen?
Ja. Tijdens de gratis proefperiode van 30 dagen kunt u tot 20 werkcentra gebruiken en uw productieorders importeren via CSV of Excel. Een creditcard is niet nodig. Start de proefperiode of neem contact op met sales voor de scopebepaling van de koppeling.