Exact Online - Opencart
Technische documentatie

Redundant uitgevoerd

De middleware servers voor het APIcenter zijn redundant in meerdere datacenters.

AVG proof

Alle logs worden een maximale termijn opgeslagen en kunnen desgewenst verwijderd of niet opgeslagen worden.

Toegang tot APIcenter

Je hebt toegang tot ons APIcenter om de status van de koppeling te monitoren

Technische informatie

In deze documentatie wordt beschreven wat de koppeling tussen Opencart en Exact Online inhoudt, welke gegevens worden uitgewisseld en hoe dit ongeveer tot stand komt. In de basis is de koppeling zelf een tussenlaag, welke met behulp van instellingen en parameters, verzoeken doet aan zowel Exact Online als Opencart voor bepaalde informatie. De koppeling slaat daarbij zelf geen informatie op, deze wordt alleen verwerkt, voornamelijk relevant in verband met de AVG wetgeving.

Instelling verbinding

Informatie uit Exact Online verkrijgen gaat met behulp van een Private App. Deze wordt in de klantomgeving aangemaakt. Dit gebeurt op basis van een redirect URL die wij leveren.

Deze App wordt dan vervolgens gebruikt om verbinding met Exact Online tot stand te brengen. Dit gebeurt door een eenmalige klant verificatie.
Zodra verbinding is gemaakt wordt uit de volgende informatiesets, de benodigde informatie verkregen uit Exact Online.

  • FinancialsExactItem
  • FinancialsExactSalesItemPrice
  • FinancialsExactSalesOrder
  • FinancialsExactWarehouse
  • FinancialsExactAccount
  • FinancialsExactSalesOrderLine
  • FinancialsExactSalesInvoice

Informatie vanuit Opencart wordt verkregen via de webAPI (REST) en is toegangelijk via een reguliere admin gebruiker in Opencart. Voor de koppeling wordt hier een aparte Administrator voor gemaakt waardoor deze herkenbaar is, als zijnde essentieel voor de koppeling.

Zodra beide verbindingen tot stand zijn gekomen worden deze configuratie opgeslagen op het Dashboard. Dit wordt aangeduid met “APIcenter”. Deze tussenlaag verwerkt alle aanvragen of versturingen van informatie. Afhankelijk van de gekozen oplossing zijn op het dashboard ook de overige instellingen terug te vinden.

Functionaliteiten

De koppeling bestaat uit 4 onderdelen/modules. Dit zijn;

  • het exporteren van bestellingen
  • het importeren van producten
  • het importeren van klanten
  • het synchroniseren van voorraad.

Daarbij is het financiële systeem Exact Online altijd leidend, met uitzondering van de bestellingen natuurlijk. Deze komen binnen op Opencart.

Exporteren van Bestellingen

Zodra in Opencart een bestelling binnenkomt wordt de bestelling naar Exact Online gestuurd. Periodiek wordt er via een cronjob gecheckt of er nieuwe bestellingen zijn binnengekomen. De gemiddelde snelheid van het verwerken van bestellingen bedraagt 10 bestellingen per 15-30 minuten. Als de server van Opencart snel genoeg is kan dit opgeschaald worden naar een maximum van 10 bestellingen per 5 minuten. Hieronder een opsomming van de belangrijkste functionaliteiten.

  • Periodieke controle op nieuwe bestellingen via een cronjob.
  • Bestellingen kunnen naar Exact Online gestuurd worden als verkooporder of als verkoopfactuur.
    Producten dienen in Exact Online aanwezig te zijn. Match wordt gemaakt met SKU / Artikelnummer.
    Deze worden als orderregels toegevoegd aan de verkooporder.
  • BTW instellingen worden veelal intern door Exact Online geregeld. Alleen de Opencart instelling inclusief/exclusief kan van invloed zijn.
  • Kortingen worden vanuit Opencart op de verkooporder meegenomen, de kortingen hoeven niet in Exact Online bekend te zijn. (Bijv. bij Kort-daagse kortingsacties). Prijzen op de bestelling van Opencart zijn leidend en worden door Exact overgenomen.
  • Bij sprake van verzendkosten worden deze kosten op een product in Exact Online geboekt. Ofwel het SKU of het GUID van dit Verzend product kan worden ingesteld op het dashboard. Ook hier is het bedrag vanuit Opencart leidend.
  • De klant die de bestelling plaatst wordt aan de hand van het emailadres gematched in Exact Online. Als de debiteur al bestaat wordt de verkooporder hieraan toegewezen, zo niet, word er een nieuwe debiteur aangemaakt met de bekende gegevens.
  • Ondersteuning voor zowel factuur- als verzendadres.
  • Ondersteuning voor filteren op status bestelling (Bijv. alleen betaalde bestelling naar Exact Online)

Importeren van producten:

Ook de producten worden geïmporteerd op basis van een periodiek proces. Afhankelijk van de server is de gemiddelde import snelheid rond de 200 producten per uur. Tot een maximum van 300 producten. Dit wordt echter in de praktijk vaak niet gehaald. De initiële import is dan ook een tijdrovend proces. Echter zodra dit voltooid is, worden alleen producten bijgewerkt die recentelijk zijn gewijzigd of recentelijk zijn toegevoegd. Bij de standaard configuratie zijn de volgende velden gemapped met elkaar. Verdere attributen zijn vrije keus, mits deze in de basis endpoints vallen van Exact Online.

Exact Online Attribuut Opencart attribuut Type
Code / Itemcode SKU / Artikelnummer Text
Description Product name (name) Text
Description Description Text
ItemGroupDescription Categorie (Speciale) dropdown
SalesVatCode Tax_class_id Handmatige mapping (niet standaard invulling)
Stock Quantity Numeriek
PictureName/PictureURL Image (base) Base64_string (image)

Uitbreidingen:

Product import is veruit het grootste onderdeel van de koppeling. Hierop zijn ook diverse uitbreidingen mogelijk. Denk bijvoorbeeld aan ondersteuning voor meerdere magazijnen in Exact Online of multistores in Opencart. Deze uitbreidingen zijn lastig te standaardiseren en hiervoor is dan ook geen kant-en-klare oplossing. Hiervoor dient een maatwerk module ontwikkeld te worden.

Importeren van klanten:

De koppeling biedt ook de mogelijkheid om klanten vanuit Exact Online te importeren naar Opencart. Hiervoor worden alleen de algemene gegevens gebruikt aangezien Opencart niet de velden heeft om alle informatie op te slaan. Denk aan; voornaam, achternaam, adresgegevens, eventueel bedrijfsnaam, emailadres, telefoonnummer. Dit is gebaseerd op de standaard FinancialsExactAccount endpoint.

  • Name
  • AddressLine1, Postcode, City, Country
  • Phone
  • Email
  • CreateDate
  • DateModified

Voorraadsynchronisatie:

Bij de initiële import van de producten wordt de voorraad van een product overgenomen vanuit Exact Online. Daarnaast wordt ook netjes de voorraad afgeboekt in Exact Online als er een order wordt geëxporteerd.

Extra instellingen Dashboard (APIcenter)
  • Importeren van producten (her)-uitvoeren vanaf een bepaalde datum.
    In de praktijk hebben servers (Opencart) en Exact Online om de zoveel tijd een storing. Mocht hierdoor een import niet helemaal goed lopen, is met deze instelling het mogelijk om producten vanaf een bepaalde datum opnieuw te laten importeren.
  • Bij het aanmaken van nieuwe debiteuren worden standaardvelden meegestuurd. Betaalconditie (default=14), Verzamelrekening (default=1400), administratie (default=2)
  • Orderoffset
    Het aantal orders dat in eerste instantie genegeerd moet worden.
  • E-mail ontvangen wanneer order niet goed verzonden kan worden.
    Wanneer een order vanuit Opencart naar Exact Online om wat voor reden niet goed in Exact Online gezet kan worden, dan ontvang je hiervan een e-mail.