Naar de inhoud
SyncMyShop

Systemen

Exact Globe koppeling met je webshop: orders, voorraad en staffels uit je eigen server

Een Exact Globe koppeling zet webshoporders en debiteuren in Exact Globe+ en haalt artikelen, voorraad per magazijn en staffelprijzen terug. Globe draait op je eigen server; de koppeling praat met de REST-services van Exact op poort 8020, met een Windows-account en de naam van je administratie in elke aanroep.

Wat is Exact Globe en wie gebruikt het?

Exact Globe+ is het ERP-pakket van Exact dat op een eigen server draait, met een eigen SQL Server-database per administratie. Het heette eerder Exact Globe Next. Het bevat financieel, handel, magazijn, productie, projecten, CRM en HR in één systeem, en Exact levert het voor meer dan 30 landen met de lokale regels, talen en valuta. In Nederland staat het bij groothandels, producenten en bedrijven met vestigingen in het buitenland, vaak al jaren, met maatwerk en vrije velden die in die jaren zijn gegroeid.

Voor een koppeling is Globe iets anders dan Exact Online. Er is geen cloud-API met OAuth. De gegevens staan op jouw server, en de koppeling komt erbij via services die Exact naast Globe installeert.

Wat je met Exact Globe koppelt

In de meeste koppelingen is Globe leidend voor artikelen, voorraad, prijzen en debiteuren, en de webshop voor de order. Per stroom ligt vast welke kant de waarheid heeft; zie ERP koppeling met je webshop.

Stroom Richting Tabel in de Globe-database
Orders en orderregels webshop naar Globe Orkrg en Orsrg
Debiteuren webshop naar Globe Cicmpy
Artikelen Globe naar webshop Items
Voorraad per magazijn Globe naar webshop Voorrd
Staffels per artikel Globe naar webshop Staffl
Assortimenten, de artikelgroepen Globe naar webshop ItemAssortment
Gefactureerde orders Globe naar webshop Frhkrg en Frhsrg

De tabelnamen komen uit de databasedocumentatie die Exact per product update publiceert. Schrijven doet de koppeling nooit rechtstreeks in die tabellen: orders en debiteuren gaan via de services van Exact, zodat Globe zijn eigen controles uitvoert. Lezen mag wel uit de database, en voor voorraad en staffels is dat vaak de snelste weg. Welke velden per order meegaan staat op orders, klanten en verzending.

Hoe Exact Globe data vrijgeeft

REST-services op poort 8020

Exact levert bij Globe Windows-services: de entity services met SOAP, en sinds versie 405 van Globe Next ook REST-services. Ze draaien standaard op poort 8020, onder het pad /services/Exact.Entity.REST.EG/. Exact beschrijft ze in de handleiding Exact Globe Next REST services. De gegevens gaan als OData, in Atom XML of JSON.

Inloggen gaat met NTLM, dus met een Windows-account. Daarnaast noemt elke aanroep in de header de server en de database van de administratie:

GET /services/Exact.Entity.REST.EG/Account/?$top=10&$filter=DebtorCode eq '               60089' HTTP/1.1
Host: globe01:8020
ServerName: GLOBE01\SQL2019
DatabaseName: BAKKER_500
Accept: application/json

Een verkeerde DatabaseName leest of schrijft in een andere administratie op dezelfde server. De koppeling legt server en database per koppeling vast en controleert ze bij elke start.

Lezen, filteren en doorbladeren

Lezen gaat met GET en de OData-opties $top, $filter, $select en $orderby. Is er meer dan één pagina, dan staat in het antwoord een next-link met een $skiptoken; de koppeling volgt die tot hij op is. Wijzigen gaat met MERGE op de sleutel van het record, bijvoorbeeld Account(guid'...'). De lijst met beschikbare entiteiten komt uit $metadata, zonder inloggen op te vragen.

Exact publiceert voor deze services geen limiet in aanroepen per minuut. De grens is je eigen server, en die wordt overdag ook door je medewerkers gebruikt. Zware leesrondes, zoals een volledige artikelronde, plannen we daarom buiten kantoortijd, en overdag halen we alleen wijzigingen op.

Orders: eerst de regels, dan de kop

Een order aanmaken in Exact Globe met een TransactionKey De koppeling maakt eerst orderregel 1 aan en krijgt een TransactionKey terug. Regel 2 en 3 gaan met dezelfde sleutel, daarna de orderkop. Pas bij de kop valideert Globe de hele order en schrijft hem in de database. Een order met 3 regels kost 4 aanroepen. Koppeling bij ons REST-service poort 8020, NTLM Exact Globe+ SQL-database orderregel 1, artikel 10482 TransactionKey 7F3A orderregel 2, TransactionKey 7F3A orderregel 3, TransactionKey 7F3A Nog niets in de database: de regels wachten op de kop. orderkop, TransactionKey 7F3A regels en kop samen gevalideerd order aangemaakt 3 regels plus 1 kop is 4 aanroepen. Valt de verbinding weg voor de kop, dan begint de koppeling opnieuw met een nieuwe sleutel.
Een order in Exact Globe ontstaat in twee stappen: eerst alle regels, dan de kop. De TransactionKey houdt ze bij elkaar.

Een order of een boeking maak je in Globe niet in één aanroep. Eerst maakt de koppeling de eerste regel aan en krijgt een TransactionKey terug. Elke volgende regel gaat met die sleutel, en daarna de kop. Pas bij de kop valideert Globe de regels en de kop samen en schrijft de order in de database.

Dat bepaalt het aantal aanroepen. Een order met 3 regels is 3 + 1 = 4 aanroepen. Bij 300 orders per dag met gemiddeld 6 regels is dat 300 x (6 + 1) = 2.100 aanroepen voor het aanmaken, plus het opzoeken van debiteur en artikelen. Hoe je zo'n som maakt staat in doorvoer berekenen.

Het tweede gevolg: valt de verbinding weg na regel 2 en voor de kop, dan staat er nog geen order in Globe. De koppeling begint dan opnieuw met een nieuwe sleutel en maakt alle regels nog eens aan. Een order komt er dus nooit half in.

Waar het bij Exact Globe op vastloopt

Debiteurcodes met spaties ervoor

In Globe is een debiteurcode tekst, rechts uitgelijnd met spaties ervoor. In het voorbeeld van Exact zelf staat debiteur 60089 in het filter als vijftien spaties gevolgd door 60089, 20 posities in totaal. Een koppeling die filtert op '60089' vindt niets en maakt een tweede debiteur aan. Dagboekcodes werken net zo: dagboek 70 staat in Exact's voorbeeld als ' 70'.

Veld Wat Globe verwacht Wat de webshop levert
DebtorCode ' 60089', 20 posities een e-mailadres of klantnummer 60089
Journal ' 70' geen dagboek
VATCode een btw-code uit jouw administratie een percentage, 21%
PaymentCondition een code uit jouw administratie een betaalmethode, iDEAL
GLAccount grootboekrekening, bijvoorbeeld 8000 geen

De koppeling houdt een vertaaltabel bij van e-mailadres naar debiteurcode, vult de code aan tot de lengte die Globe gebruikt, en zoekt eerst op btw-nummer en e-mail voordat er een nieuwe debiteur ontstaat. Meer in dubbele klanten en debiteuren.

Btw-codes en betalingscondities

Een regel in Globe krijgt een VATCode en een grootboekrekening, geen percentage. Exact schrijft in zijn eigen handleiding dat je de btw-code van het nultarief opgeeft als de btw in een aparte regel staat. Welke code bij 21%, 9%, een EU-levering of btw verlegd hoort, verschilt per administratie. Hetzelfde geldt voor de betalingsconditie: de webshop kent iDEAL of op rekening, Globe een code met een betaaltermijn. Beide gaan via een vaste tabel in de mapping, en een regel zonder bekende code gaat naar de controlelijst in plaats van naar Globe.

Voorraad per magazijn

Globe houdt voorraad bij per artikel en per magazijn, in de tabel Voorrd. Welke magazijnen meetellen voor de webshop leg je per koppeling vast: een hoofdmagazijn van 120 en een showroom van 8 is 128 als je alles meetelt, en 120 als de showroom niet mee mag. Een vergeten magazijn verkoopt voorraad die er niet is. Zie meerdere magazijnen en welke voorraad toon je in je webshop.

Maatwerk en vrije velden

Een Globe-installatie die al tien jaar draait heeft vrije velden, zoals TextFreeField1 op de debiteur, en vaak eigen tabellen of maatwerk van een partner. Voor de bouw lezen we daarom $metadata van jouw installatie uit, en leggen we per vrij veld vast wat erin staat en of de webshop het nodig heeft.

Platformen die we aan Exact Globe koppelen

De koppeling wordt gebouwd op jouw Globe-installatie: je versie, je administraties, je vrije velden en je netwerk. De platformen staan op WooCommerce koppeling, Shopify koppeling en Magento koppeling. Andere ERP-systemen met een eigen server staan op SAP Business One koppeling en Business Central koppeling. Het overzicht van alle stromen staat op koppelingen.

Wij bouwen de koppeling voor een vaste prijs, en hosten, draaien en bewaken hem daarna voor een vast bedrag per maand. Voor de livegang draait hij als dry run: je ziet per order welke debiteur, welke regels en welke btw-code er in Globe zouden ontstaan, zonder dat er iets wordt aangemaakt. Vertel welke versie van Globe je draait en welke webshop je hebt, dan hoor je hoe de koppeling bij je server komt en welke stromen er kunnen.

Veelgestelde vragen

Werkt de koppeling met Exact Globe Next en met Exact Globe+?

Ja. Exact Globe+ is de huidige naam van het pakket. De REST-services bestaan sinds versie 405 van Globe Next; daarvoor waren er alleen de SOAP entity services. Draai je een versie onder 405, dan bouwen we op de SOAP-services of lezen we uit de database.

Moet Exact Globe vanaf internet bereikbaar zijn?

De koppeling moet de REST-service op poort 8020 kunnen bereiken, en die staat standaard in je eigen netwerk. Dat gaat via een VPN-verbinding of een afgeschermd adres met alleen ons IP-adres, nooit door de poort open te zetten voor iedereen. Dat regelen we samen met wie je server beheert.

Met welk account logt de koppeling in?

Met een Windows-account via NTLM. De REST-services van Globe vallen niet onder de inlog van IIS, dus de koppeling stuurt zelf de inloggegevens mee, plus in de header de naam van de SQL Server en de database van je administratie. We vragen een eigen account voor de koppeling, zodat in Globe zichtbaar is wat hij heeft gedaan.

Kunnen staffelprijzen en prijsafspraken naar de webshop?

Ja. Staffels per artikel staan in Globe in de tabel Staffl. De koppeling leest ze en zet ze om naar klantgroepen, staffels of prijslijsten in je webshop. Zie staffelprijzen en klantspecifieke prijzen.

Wat is het verschil met een koppeling op Exact Online?

Exact Online is een ander product met een cloud-API, OAuth en vaste limieten van 60 verzoeken per minuut en 5.000 per dag. Exact Globe draait op je eigen server, zonder gepubliceerde limiet; de grens is wat je server aankan. Ook de velden en de manier van aanmaken verschillen. Zie Exact Online koppeling.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com