1.Inleiding
Dit is de handleiding voor de koppeling tussen Magento en Eenvoudigfactureren.
De koppeling is werkend voor deze versies van Magento: FAQ - Magento versies. De koppeling is een basis koppeling. Magento heeft veel opties in de standaard versie zitten die de koppeling niet ondersteunt. In het bijzonder zijn dat:
- Het uitlezen van verzendadressen. We hebben hier wel een optie voor, maar dat dient aan de Magento webwinkelzijde geprogrammeerd te worden.
- Het uitlezen van betaalkosten. We hebben hier wel een optie voor, maar dat dient aan de Magento webwinkelzijde geprogrammeerd te worden.
- Het toevoegen van kortingen excl BTW. De koppeling ondersteunt dit niet.
- Het toevoegen van creditbedragen - adjustments - in credit-facturen. De koppeling kan dit niet doorzetten omdat de BTW informatie ontbreekt.
- In sommige situaties kan de BTW van gratis artikelen niet correct bepaald worden.
- In sommige situaties komt het BTW percentage niet goed door uit de Magento webwinkel. Dit gebeurt vaak bij kleinere bedragen en/of grote aantallen. Magento webwinkels geven bedragen door in 2 decimalen, niet in 4. Hierdoor ontstaan afrondingsverschillen. Deze facturen zullen handmatig geboekt moeten worden in Eenvoudigfactureren.
- We zullen dit lijstje aanvullen als we merken dat er meer zaken ontbreken.
Deze koppeling vervangt niet het werk van de boekhouder. Deze koppeling bespaart tijd omdat je niet meer hoeft over te tikken. De boekhouder is nog steeds nodig voor advies, kennis en controle.
Tip: Andere klanten met deze koppeling hebben veel gehad aan de tips in de FAQ voor Magento en in de FAQ voor Eenvoudigfactureren.
Lees meer Inleiding .... Lees minder Inleiding ....Het installeren van de koppeling begint met het aanmelden voor een proefperiode, via onze koppelingen-pagina. Na aanmelding, ontvang je een e-mail met daarin een installatie-url en inloggegevens. Met deze installatie-url, start je de installatie van de koppeling.
De installatie is voltooid als beide bolletjes van de verbinding op groen staan, en de instellingen in tabblad Configuratie ingevuld en opgeslagen zijn.
Er is een proefperiode van 30 dagen.
Wil je nog een koppeling installeren, dan kan dat op dezelfde manier. Zorg er wel voor dat je uit het dashboard van koppeling bent uitgelogd, en start de nieuwe installatie bij voorkeur in een incognito browser.
Aan het einde van de proefperiode danwel abonnementsperiode, wordt de koppeling niet automatisch verlengd. Het aanbod voor een 1-jarig abonnement danwel verlenging ervan, ontvang je aan het einde van deze periode per e-mail. Je kunt de verlenging bevestigen door gebruik te maken van de betaallink in die mail.
Wil je tussentijds de koppeling beeindigen? Stuur ons dan een e-mail met daarin het verzoek en de licentiesleutel. Wij kunnen koppelingen alleen per huidige datum voor u stopzetten, niet op een toekomstige datum.
Stap je over naar een ander webwinkel-/boekhoudsysteem, en wil je daarmee opnieuw een koppeling? In deze faq leggen we dat uit.
We adviseren je bij de-installatie van de koppeling de OAuth-sleutels van de koppeling in je Magento webwinkel te de-activeren.
2.Hoe de koppeling werkt
Facturen worden eenmaal per uur opgehaald uit de Magento webwinkel. Deze koppeling zet Magento facturen door, geen Magento bestellingen. De koppeling werkt zowel voor Magento 1.9 als voor Magento 2.x webwinkels, vanaf Magento 2.1. Magento 2.0 ondersteunen wij dus niet.
Lees meer Hoe de koppeling werkt .... Lees minder Hoe de koppeling werkt ....
Aan het begin van de verwerking van een factuur voeren we een aantal controles op de Magento factuur uit:
- Er wordt gecontroleerd of het totaal van de Magento factuur gelijk is aan de som van de bedragen in de factuurregels.
- Is de factuur een ICP factuur dan wordt het BTW nummer gecontroleerd.
- Er wordt gecontroleerd of voor de BTW in iedere regel een overeenkomstige BTW code in Eenvoudigfactureren bestaat.
- Er wordt gecontroleerd of de factuur niet eerder is doorgezet.
Bij een succesvolle controle wordt de Eenvoudigfactureren factuur wordt aangemaakt en doorgezet naar Eenvoudigfactureren. De debiteurgegevens worden in de Eenvoudigfactureren factuur gezet. Eenvoudigfactureren controleert zelf of de debiteur al aanwezig is.
Nadat de factuur is doorgestuurd en een succesmelding van Eenvoudigfactureren is ontvangen wordt de factuur als afgehandeld aangemerkt. De Magento factuur verschijnt bij tab Rapportage op het dashboard.
Geeft Eenvoudigfactureren een foutmelding terug bij het verwerken van de factuur dan verschijnt de factuur bij tab Fouten op het dashboard. Via de gele knop Meer info is meer informatie over het probleem te vinden. Via de rode knop Meld probleem kan de factuur met alle noodzakelijke gegevens heel gemakkelijk bij ons aangemeld worden nadat je zelf het probleem hebt proberen op te lossen. Is het probleem opgelost dan kan in sommige situaties de facturen opnieuw worden doorgezet met de blauwe Verwerk knop.
Gegevens
Informatie over de gegevens die doorgezet worden is te vinden in de sectie Day-to-day: Naar Eenvoudigfactureren verderop in de handleiding.
3.Nodig: Magento sleutels - alleen Magento 1.x
Deze stap is alleen nodig voor Magento 1.x. Indien je een Magento 2.x webwinkel hebt kun je dit hoofdstuk overslaan!
3.1 Installeren extensie
Het installeren en configureren van de extensie voor Magento 1.x bestaat uit de volgende stappen:
Controleer eerst of je Magento webwinkelomgeving het gebruik van de REST API toestaat. Deze controle bestaat uit de volgende stappen. We gebruiken www.jouwwebwinkel.nl als de url van jouw webwinkel.
(i) Is de REST API toegankelijk? Dit test je met de url http://www.jouwwebwinkel.nl/api/rest/products. Zie je een 403 op je scherm verschijnen? Prima. Maar …
(ii) … zie je een 404-scherm? Dan wordt de url doorgeleid naar een foutpagina. Dit kan een probleem zijn van de .htaccess-file. In deze file moet de regel RewriteRule ^api/rest api.php?type=rest [QSA,L] aanwezig zijn. Zo niet, dan dien je deze toe te voegen.
Het probleem kan ook veroorzaakt worden door een instelling in de Apache webserver. Zie deze link voor meer informatie: http://magento.stackexchange.com/questions/29936/rest-api-returns-404.
(iii) Heeft de gebruikersnaam waarmee je de OAUTH sleutels hebt aangemaakt admin-rechten? Dat moet namelijk wel, anders kunnen de gegevens niet opgehaald worden uit de webwinkel.
(iv) Gebruik je in de hostingomgeving php-fpm fast-cgi? Dan kan het zijn dat de autorisatie-sleutels niet correct doorkomen. Deze link bevat meer informatie: http://www.magentogeek.com/magento-rest-api-solution-for-400-bad-request/. Voor webwinkels die gehost zijn bij byte.nl- shared hosting - speelt dit onder andere. Zij hebben een goede uitleg om dit op te lossen.
(v) In alle gevallen: Neem contact met ons op als je er niet uitkomt. Wij zien soms details in onze log-files staan die jullie mogelijk kunnen helpen om de problemen op te lossen.
1. Zet de caching in je webwinkel uit. Dit kun je doen via System > Cache Management. Na de installatie van de extensie kun je de caching weer aanzetten.
2. Installeren extensie. Pak de zipfile uit en installeer de bestanden onder je Magento root. Je kunt aan de structuur van de zipfile zien welke bestanden je waar moet plaatsen. Er worden geen bestanden overschreven.
3. Definieer de REST Role. Je definieert nu eerst een zgn Role die de factuurgegevens, inclusief belastingtarieven en betaalmethoden uit je webwinkel kan lezen. Hiervoor gan je naar System > Web Services > REST Roles. Om gebruik te maken van de extensie dien je een Role aan te maken van type Administrator. Je maakt deze door op Add Admin Role te klikken. Als je die al hebt kun je die Role hergebruiken.
Aan de linkerkant van het scherm staat een scherm met als titel Role Information. Klik op de sub-menu-link Role API Resources. Je ziet de optie REST API Calls to read invoices verschijnen. Vink alle blokjes onder deze optie aan en sla de gegevens op.
Je hebt nu ingesteld dat de koppeling recht heeft om de entiteiten facturen, belastingtarieven en betaalmethoden te lezen uit Magento, maar je hebt nog niet aangegeven welke gegevens per entiteit hij op mag halen.
4. Wijs de velden toe die gelezen mogen worden. Ga naar System > Web Services > REST Attributes. Open de User Type Admin. Je ziet hier wederom de optie REST API Calls to read invoices verschijnen. Vink weer alle opties aan en sla de gegevens op.
5. Koppel de administrator aan de REST role. Tot slot dien je de administrator toe te wijzen aan de REST role. Ga naar System > Permissies > Users. Klik de administrator aan van de webwinkel. Ga naar REST Role, de onderste optie in het menu links. Wijs de administrator van de webwinkel toe aan de Administrator REST Role.
3.2 Magento consumerkey en consumersecret
De stappen voor het aanmaken van een Magento consumerkey en consumersecret zijn als volgt:
1. Log in als admin bij je Magento 1.x webwinkel.
2. Ga naar System > Web Services > REST OAuth Consumers.
3. Klik op Add new om de Magento sleutels aan te maken. De key en de secret zijn al ingevuld. Vul zelf de naam voor de koppeling in en de callback url. De waarde van de callback url moet zijn: https://interface.cloudinvoice.company/api/v1/servlet/magento/callback.php
4. Vul je administrator wachtwoord in Klik op Save / Opslaan. De key en secret van dit scherm vul je in een later hoofdstuk in bij de velden Consumerkey en Consumersecret van het instellingenscherm van de koppeling.
4.Nodig: EenvoudigFactureren
- Log in bij EenvoudigFactureren
- Ga naar Profiel (rechtsboven) > Toegangsbeheer
- Klik op toevoegen API-sleutel
- Qua beheer kun je of Alles selecteren of een beperkte set. Bij een beperkte set heeft de koppeling toegang nodig tot Facturen, Klanten, Artikelen en Layouts.
- Maak een copy van de gegenereerde API sleutel. Deze sleutel heb je nodig in de volgende sectie Installatie.
6.Installatie
Het installeren van de koppeling begint met het aanmelden voor een proefperiode, via onze koppelingen-pagina. Na aanmelding, ontvang je een e-mail met daarin een installatie-url en inloggegevens. Met deze installatie-url, start je de installatie van de koppeling.
Het activeren van de koppeling bestaat uit drie stappen:
1. Het leggen van de connectie met de Magento webwinkel. Voor Magento 2.x webwinkels heb je dit al in de vorige stap gedaan. Voor Magento 1.9 webwinkels dien je hier nog extra gegevens in te vullen.
2. Het leggen van de connectie met Eenvoudigfactureren. Hiermee autoriseer je de koppeling transacties naar jullie Eenvoudigfactureren administratie te schrijven en informatie te lezen.
3. Het configureren van extra gegevens, zoals de BTW instellingen. Let op: De koppeling gebruikt de bedragen uit de webwinkel om de BTW percentages te berekenen. Zorg dat afrondingsverschillen geen probleem geven met de BTW percentages.
Authenticatie Magento webwinkel:
Deze stap hoeft alleen uitgevoerd te worden voor Magento 1.9 webwinkels. Voor Magento 2.x webwinkels is de authenticatie al in de vorige stap gedaan. Het authenticeren van de Magento 1.9 webwinkel doe je als volgt:
- Eerst vul je de admin-url van de webwinkel in met de consumerkey en consumersecret uit de voorgaande stap.
- Daarna klik je op de gele Connect knop om de koppeling de juiste autorisatie te geven. Pas na het uitvoeren van deze twee stappen is een geldige connectie met de Magento webwinkel gelegd. Je ziet dit omdat het bolletje dan groen is.
Authenticatie Eenvoudigfactureren
De authenticatie met Eenvoudigfactureren loopt via het token dat je in de vorige sectie hebt aangemaakt. Je klikt op de rode Connect knop naast de Connectie Eenvoudigfactureren. Er verschijnt automatisch een popupwaar je het token kunt invullen.
Wil je op een later moment de connectie opnieuw wil leggen dan kan dat altijd door op de ReConnect knop te klikken.
Bij het doorzetten naar de Eenvoudigfactureren boekhouding worden de BTW percentages rechtstreeks doorgezet. Er is daardoor geen mogelijkheid om op aparte BTW codes of grootboekrekeningen te boeken.
7.Day-to-day: Vanuit Magento
In deze sectie laten we zien hoe we de facturen ophalen uit de webwinkel.
BTW nummers Voor zakelijke bestellingen binnen de EU, buiten Nederland, is een BTW nummer verplicht. De koppeling controleert hier op en controleert ook dat het BTW nummer een geldig BTW nummer is.
BTW berekening: De koppeling gebruikt altijd de prijzen in de [base_] velden, zoals [base_grand_total] en [base_row_total].
Het BTW bedrag in de factuurregels wordt als volgt bepaald:
BTW bedrag = ['base_row_total_incl_tax'] - ['base_row_total']
Het BTW percentage wordt als volgt bepaald:
BTW bedrag/ ['base_row_total']
Indien het bedrag excl BTW 0 is dan staat het BTW percentage default op 21%. Dit is helaas niet aan te passen.
Op basis van het BTW percentage wordt de BTW code en de grootboekrekening in Eenvoudigfactureren bepaald. Wij zien bij sommige Magento webwinkels dat zij zelf correcties doen op de BTW in hun facturen. De BTW komt dan net niet overeen met de BTW van de producten. Dit resulteert in verkeerde BTW percentages, zoals bijv 8% ipv 9% en 22% ipv 21%. De koppeling kan dit niet herstellen en zal een foutmelding geven als 8% en 22% niet in de BTW instellingen voorkomen van de webwinkel. We zien dit probleem over het algemeen optreden bij het gebruik van kleine bedragen. Helaas heeft de koppeling hier geen afdoende oplossing voor.
Uitwerking veldniveau facturen
Hieronder een uitwerking op veld-niveau bij het ophalen van facturen uit Magento 2.x webwinkels. | |
Naam veld | Waarden uit Magento bestelling |
Factor voor vermenigvuldiging bedragen | In de Magento credit facturen staan de bedragen als positieve bedragen. Dit omdat debeit-facturen en credit-facturen aparte entiteiten zijn. Je hebt in Magento dus twee soorten facturen, debet en credit, en beide soorten hebben een positief bedrag. Daarom gebruikt de koppeling een factor = 1 voor debet-facturen en een factor = -1 voor credit-facturen. |
Factuur-identifier | [entity_id] Let op, om die id's tussen debet en credit-facturen uniek te houden zet de koppeling een 1 voor het factuur-id van de credit-factuur. Daarom zie je een vermenigvuldiging met de factor. |
Factuurnummer | [increment_id] uit de Magento factuur |
Orderid | [order_id] |
Bestelnummer | [increment_id] uit de Magento bestelling. Als voor de merchant is ingesteld dat het bestelnummer leidend is dan wordt voor het bestelnummer een C_ geplaatst. |
Affiliatenummer |
Wordt bepaald op basis van de onderliggende bestelling
|
Bestel-identifier | Deze wordt bepaald op basis van de url in het veld [order] |
Factuurdatum | [created_at] |
ICP aanduiding |
Een factuur is een ICP factuur als:
|
Internationale aanduiding |
Een factuur is een internationale factuur als:
|
Betaalmethode |
De betaalmethode wordt als volgt bepaalt op basis van het veld [paymethod]:
|
Betaalmethode-id | [paymethod_id] |
Totaalbedragen incl of excl BTW | De bedragen in de bestelling kunnen incl of excl BTW zijn. Dit wordt bepaald door het veld [taxes_included]. Deze waarde is belangrijk voor het bepalen van het Totaal incl en het Totaal excl, zie hieronder. |
Totaal incl | [base_grand_total]. Het deel base_ zorgt er voor dat het bedrag in de webwinkel-basis valuta wordt genomen. |
Totaal BTW | [base_tax_amount] |
Totaal excl | Totaal incl BTW - Totaal BTW |
Waarden winkelwagentje | Deze waarden worden wel uitgelezen via [base_subtotal] en [base_subtotal_inc_tax] |
Naam veld | Waarden uit Magento bestelling |
Naam product | [name], vreemde tekens worden zoveel mogelijk verwijderd |
Aantal | [qty] |
Bedrag incl BTW | [base_row_total_incl_tax]; voor het eenheidsbedrag delen we door het aantal |
Bedrag excl BTW | [base_row_total]; voor het eenheidsbedrag delen we door het aantal |
BTW Bedrag met korting | [base_row_total_incl_tax] - [base_row_total]; voor het eenheidsbedrag delen we door het aantal |
BTW percentage |
Het BTW percentage is lastig bij de Magento-facturen omdat de Magento API deze prijzen in 2 decimalen geeft waardoor bij kleine bedragen snel een percentage van 20%, 22%, 8% of 10% ontstaat. Er is een workaround maar dat vraagt programmeer-werk aan de kant van de Magento webwinkel.
|
Korting | [base_discount_amount] voor het kortingsbedrag incl BTW. Voor de korting excl BTW [base_discount_amount] - [base_discount_tax_compensation_amount]. |
Regelprijzen incl en excl korting | Deze worden berekend uit de korting en de eenheidsprijzen. De eenheidsprijzen worden vermenigvuldigd met het aantal. |
De verzendkosten worden toegevoegd als aparte factuurregel | De bedragen worden bepaald op basis van [total_shipping], [shipping_tax_percentage] en [invoice_row_taxes_included] zoals ook in andere regels. Deze regel wordt alleen toegevoegd bij een bedrag ongelijk 0. |
De betaalkosten worden toegevoegd als aparte factuurregel | De bedragen worden bepaald op basis van [paymethod_costs], [extra_payment_option_price] en [invoice_row_taxes_included] zoals ook in andere regels. Deze regel wordt alleen toegevoegd bij een bedrag ongelijk 0. |
De toeslagen worden toegevoegd als aparte regels aan de factuur | De bedragen worden bepaald op basis van [extra_costs],[credit_point_discount], [invoice_row_taxes_included] zoals ook in andere regels. Alleen bij een bedrag ongelijk aan 0 wordt het bedrag toegevoegd. Dit leidt tot max 2 extra regels. |
Rekeningen en BTW codes uit Eenvoudigfactureren | Deze worden bepaald op basis van de instellingen in de koppeling, het leverland van de factuur en de BTW percentages. Het type voor factuurregels is turnover / omzet, voor de regel verzendkosten shipping / verzendkosten en betaalkosten payment / betaalkosten. |
8.Day-to-day: Naar EenvoudigFactureren
Aanmaken facturen
Bij het aanmaken van facturen wordt default een factuur aangemaakt met de bedragen incl BTW en het bestelnummer in het veld reference. Het factuurnummer is default leeg, zodat binnen Eenvoudigfactureren het factuurnummer bepaald wordt. Wij adviseren deze werkwijze.
Het is echter mogelijk om de bedragen excl BTW door te zetten. Ook zijn er in sommige situaties mogelijkheden om een bestel- of factuurnummer aan de referentie toe te voegen en het factuurnummer van de Eenvoudigfactureren wel te vullen.
Bij het doorzetten van klantinformatie wordt eerst gecontroleerd of de klant al eens eerder is doorgezet. Zo ja, dan wordt deze Eenvoudigfactureren debiteur gebruikt als debiteur van de Eenvoudigfactureren transactie. Is de klant nog niet bekend, dan wordt deze toegevoegd aan Eenvoudigfactureren. Matching gebeurt op basis van e-mailadres. Let op: De koppeling maakt alleen debiteuren aan. De koppeling wijzigt geen debiteuren.
Het is vooralsnog niet mogelijk om te boeken op producten.
Uitwerking veldniveau Eenvoudigfactureren
Naam | Voorbeeld | Opmerking |
Klant-identifier | 1234567 | Identifier klant binnen Eenvoudigfactureren |
Factuurnummer | Default leeg | Op verzoek te vullen met factuur- of bestelnummer |
Betaalperiode | 14 | Niet aan te passen |
Referentie | bestelnummer | Aanpasbaar |
Datum | 2024-05-23 | Datum verkoop - let op, dit is de Factuurdatum in Magento |
Bedragen incl BTW | yes | Op verzoek kunnen bedragen excl BTW worden doorgezet |
Factuur-regels | ||
Productnaam | Fiets | Zoals op de regel in de verkoop |
BTW percentage | 21 | Afhankelijk van het BTW percentage in de verkoopregel |
Aantal | 2 | |
Eenheidsprijs | 19.99 |
Naam | Voorbeeld | Opmerking |
Naam | Bakkerij De Witte | Als de bedrijfsnaam niet gevuld is dan komt hier de voornaam plus achternaam te staan |
Ter attentie van | Karin de Wit | Als de bedrijfsnaam niet gevuld is dan is dit veld leeg |
Adresregel 1 | Stationstraat 12 | |
Postcode | 1000 AA | |
Plaats | Amsterdam | |
info@sponiza.nl | ||
Telnr | 0632281625 | |
Contacten | ||
Contactnaam | Karin de Wit | |
info@sponiza.nl | ||
Telnr | Karin de Wit | 0632281625 |
9.Support
Lees meer Support .... Lees minder Support ....