Koppeling met Exact Online
Exact Online heeft een uitgebreide API, met een paar regels die het ontwerp van uw koppeling bepalen.
Hoe u toegang krijgt
Een koppeling met Exact Online begint met een app. Die registreert u in het App Center, onder Beheer en Apps, en u kiest daarbij of hij openbaar is of alleen voor uzelf. Exact geeft u dan een client-id en een client secret, en u legt vast naar welk adres Exact de bezoeker terugstuurt na het inloggen.
Daarna loopt de aanmelding via OAuth 2.0. Uw software stuurt de gebruiker naar Exact, de gebruiker logt daar in en geeft toestemming, en uw software krijgt een sleutel terug die na verloop van tijd vernieuwd moet worden. Uw software ziet het wachtwoord van de gebruiker dus nooit.
Eén ding verrast bijna iedereen de eerste keer. Zolang Exact uw app niet heeft beoordeeld, werkt hij alleen met gebruikers uit dezelfde Exact-omgeving als waarin hij is aangemaakt. Bouwt u voor een klant, dan maakt u de app dus aan in de omgeving van die klant, of u rekent op de beoordeling voordat u kunt testen bij anderen.
Exact draait per land een eigen adres. Een Nederlandse administratie benadert u op het Nederlandse adres, en dat is een ander adres dan het Belgische of het Duitse. Werkt uw klant in meerdere landen, dan is dat geen detail maar een ontwerpkeuze.
De limieten die het ontwerp bepalen
Exact Online staat 60 aanroepen per minuut toe, en 5.000 per dag per app per administratie. Die dagteller loopt weer vol na middernacht in de tijdzone van de administratie. Zit u aan de limiet, dan weigert Exact verdere verzoeken met een 429.
Vijfduizend klinkt als veel en is het niet. Een koppeling die elk kwartier vraagt of er iets veranderd is, zit op 96 aanroepen per dag voor die ene vraag; haalt hij daarna per gevonden factuur ook de klant en de regels op, dan is het plafond bij een paar honderd facturen in zicht.
De uitweg zit in het ontwerp. Laat Exact vertellen wat er veranderd is in plaats van er zelf naar te blijven vragen, haal meerdere records in één verzoek op, en bewaar wat niet elke keer opnieuw hoeft. Wie dat pas bedenkt als de koppeling al draait, bouwt hem twee keer.
Waar koppelingen op vastlopen
Vier eigenaardigheden komen bij vrijwel elk Exact-project terug. Ze zijn geen van alle een probleem, zolang ze in de planning staan.
- Elke aanroep hoort bij een divisie, het administratienummer binnen Exact. Heeft uw klant meerdere administraties, dan moet uw software weten welke het betreft en moet de gebruiker die kunnen kiezen
- Gerelateerde gegevens komen niet in één verzoek mee. Een factuur met zijn klant en zijn regels kost meerdere aanroepen, en die tellen alle mee voor het dagplafond
- Per verzoek krijgt u een beperkt aantal records terug, waarna u de volgende pagina opvraagt. Grote uitdraaien zijn dus altijd een reeks verzoeken
- Het afletteren van betalingen tegen facturen heeft geen eigen ingang in de REST-API. Wilt u dat automatiseren, dan bouwt u die logica zelf uit de onderliggende gegevens
Wat wij hier bouwen
Wij bouwen koppelingen met Exact Online als onderdeel van maatwerksoftware, een webshop of een klantportaal, en ook los daarvan. Denk aan orders die als verkoopfactuur in Exact belanden, aan uren die per periode als factuurregels doorgaan, of aan een portaal dat de openstaande posten van een klant toont.
In de kennismaking kijken we eerst naar uw administratie, uw abonnement en het aantal boekingen per dag. Daaruit volgt of het dagplafond een rol speelt en wie de app moet aanmaken. Daarna krijgt u een voorstel met één prijs en één opleverdatum.
Bronnen
Veelgestelde vragen
Zit API-toegang bij elk Exact Online-abonnement?
Niet vanzelfsprekend. Exact biedt de API breed aan, maar wat u mag benaderen hangt samen met de modules in uw abonnement: staat de module niet aan, dan bestaan die gegevens ook niet voor de koppeling. Controleer dat samen met uw Exact-beheerder of uw accountant voordat er iets gebouwd wordt.
Wie moet de app aanmaken, wij of jullie?
Dat kan allebei, en het hangt af van wie de koppeling later beheert. Maakt u hem zelf aan, dan blijft de sleutel van u en kunt u de toegang op elk moment intrekken. Dat heeft onze voorkeur, en wij lopen de stappen met u door.
Hoe lang duurt de beoordeling door Exact?
Die termijn ligt bij Exact en wij kunnen er niets over beloven. Reken erop dat hij op de planning staat zodra de koppeling bij meerdere klanten moet werken, en niet pas bij oplevering.
Wat gebeurt er als we het dagplafond raken?
Exact weigert dan verdere verzoeken tot middernacht. Een koppeling die daarop gebouwd is zet het werk in een wachtrij en gaat de volgende dag verder, zonder dat er iets verdwijnt. Een koppeling die daar geen rekening mee houdt, laat boekingen stil vallen.
Werkt dit ook met Exact Globe of Exact Compact?
Dat zijn andere producten, die op uw eigen server draaien in plaats van in de cloud. Koppelen kan, maar via een andere weg dan hier beschreven. Noem het in de kennismaking, dan zoeken we het uit.
Verder lezen
- De toegankelijkheidswet
- Valt mijn webshop eronder?
- Toegankelijkheidsverklaring
- Heb ik uitstel tot 2030?
- Wat de ACM tot nu toe deed
- Toegankelijkheidsoverlay
- WCAG 2.2 uitgelegd
- Wat bepaalt de prijs?
- Freelancer of bureau?
- Koppeling met uw boekhouding
- Koppelingen per pakket
- Koppeling met Moneybird
- Koppeling met e-Boekhouden.nl
- Koppeling met AFAS Profit
- Koppelingen