Multivaluta blijft schoon in Odoo wanneer de setup voorop gaat: winst-/verliesrekeningen op orde, de juiste valuta's actief met automatische koersen, facturen in de valuta van de klant, en de wisselkoersverschillen boeken zich dan vanzelf bij het afletteren.
Je stuurt een Britse klant een factuur voor 10.000 GBP. Een maand later betalen ze, en het bedrag dat op je bank binnenkomt komt niet overeen met het eurobedrag in je boeken. Nu vraagt je accountant waarom de klantreskontro niet afsluit op nul, en staar je naar een verschil van een paar honderd euro dat niemand ergens heeft geboekt.
Dit is het moment waarop de meeste mensen ontdekken dat factureren in vreemde valuta zijn regels heeft. Odoo handelt het goed af zodra het is ingesteld, maar in de setup gaat het mis. Zet eerst het dagboek en de winst-/verliesrekeningen op orde, en de wisselkoersverschillen boeken zichzelf. Sla dat over, en je bent bij het maandeinde afrondingsruis aan het najagen.
Waarom het gebeurt
Je bedrijf voert zijn boeken in één valuta. Voor een Nederlands bedrijf is dat de euro. Wanneer je factureert in GBP of USD, legt Odoo twee getallen vast op elke regel: het bedrag in de vreemde valuta (wat de klant verschuldigd is) en het bedrag in je bedrijfsvaluta (wat het jou waard is, tegen de koers op de factuurdatum).
De koers beweegt tussen de factuurdatum en de betaaldatum. Dus de eurowaarde van de factuur en de eurowaarde van de betaling zijn niet hetzelfde getal, ook al kwam het GBP-bedrag perfect overeen. Dat gat is een echte winst of verlies, en het moet ergens op een rekening landen. Odoo kan het automatisch boeken, maar alleen als je hebt aangegeven welk dagboek en welke rekeningen het moet gebruiken, en alleen zodra de factuur en de betaling zijn afgeletterd.
De oplossing, in stappen
Zet multivaluta aan en stel de wisselkoersverschilrekeningen in
Ga naar Boekhouding > Configuratie > Instellingen, zoek de sectie Valuta's en vink Multivaluta aan. Er verschijnt een blok voor "Boek wisselkoersverschillen in". Stel een Dagboek in (Odoo maakt standaard een dagboek "Wisselkoersverschil" aan), een Winstrekening en een Verliesrekening. Sla op.
Doe dit voordat je ook maar één factuur in vreemde valuta opstelt. Deze drie velden zijn wat Odoo later in staat stelt om het verschil zelf te boeken. Zonder die velden kan het dat niet, en loopt het afletteren vast.
Activeer de valuta's die je daadwerkelijk gebruikt
Open Boekhouding > Configuratie > Valuta's (of klik op "Andere valuta's activeren" vanuit de instellingen). Activeer alleen de valuta's waarin je factureert of betaald wordt. Laat de rest uit zodat je dropdowns kort blijven en je koerstabel schoon blijft.
Zet automatische koersupdates aan
Terug in Boekhouding > Configuratie > Instellingen > Valuta's vink je Automatische wisselkoersen aan. Kies een Service (Odoo gebruikt standaard de Europese Centrale Bank, andere providers zijn beschikbaar) en een Interval (dagelijks of wekelijks). Odoo haalt nu volgens dat schema verse koersen op, zodat je ze niet met de hand hoeft in te typen.
Dagelijks is de veilige standaard als je vaak in het buitenland factureert. Wekelijks is prima als buitenlandse facturen incidenteel zijn. Je kunt nog steeds een enkele koers handmatig overschrijven wanneer je een specifieke contractkoers moet aanhouden.
Factureer in de valuta van de klant
Op een klantfactuur stel je de valuta op de factuur in (die volgt de instelling van de klant als je daar er een hebt opgegeven). Voer de bedragen in die valuta in. Odoo toont het bedrag in vreemde valuta en rekent op de achtergrond om naar je bedrijfsvaluta met de koers van de factuurdatum. Je klant ziet GBP; je boeken dragen het euro-equivalent.
Registreer de betaling en letter daarna af
Wanneer de betaling binnenkomt, registreer je hem tegen de factuur. De betaling wordt vastgelegd tegen de koers op de betaaldatum, niet de factuurdatum. Match de betaling met de factuur in de bankafletteringen.
Op het moment dat de factuur en de betaling volledig zijn afgeletterd, boekt Odoo het verschil tussen de twee eurowaarden naar je dagboek Wisselkoersverschil: een winst of een verlies. Jij doet niets extra's. De klantreskontro sluit nu af op nul.
Het stuk waar mensen over struikelen
Een paar dingen overkomen vrijwel iedereen
Gerealiseerd versus ongerealiseerd is het ding dat je moet begrijpen. Een *gerealiseerd* verschil ligt vast: de factuur is betaald en afgeletterd, het geld is overgemaakt, en Odoo boekt het automatisch (stap 5). Een *ongerealiseerd* verschil staat alleen op papier: de factuur is bij periodeafsluiting nog open, en de koers is bewogen sinds je hem opstelde, dus de eurowaarde vandaag verschilt van de waarde in je boeken. Die wordt niet automatisch geboekt.
Gebruik voor ongerealiseerde verschillen het rapport. Ga naar Rapportage > Ongerealiseerde valutawinsten/-verliezen. Het toont elk openstaand saldo in vreemde valuta en wat het waard zou zijn tegen de koers van vandaag. Vanaf daar kun je een correctieboeking maken zodat je balans de actuele waarde toont bij periodeafsluiting. De meeste setups draaien die boeking terug op de eerste dag van de volgende periode, omdat het een momentopname is en geen afgewikkelde winst.
De koers moet bestaan voor die datum. Als er geen koers geladen is voor een factuur- of betaaldatum, valt Odoo terug op de dichtstbijzijnde eerdere koers die het heeft. Met automatische updates aan is dit zelden een probleem. Met handmatige koersen en een gat in de tabel kun je een verkeerde omrekening krijgen zonder het te merken. Controleer dat je koershistorie geen gaten heeft rond het maandeinde.
Elke transactie wordt geboekt in de bedrijfsvaluta. Op de boeking zie je het bedrag in de bedrijfsvaluta plus een kolom in de tweede valuta met het bedrag in vreemde valuta. Dat is normaal. Je rapporten, belastingen en overzichten draaien allemaal in je bedrijfsvaluta; het bedrag in vreemde valuta loopt ter referentie mee.
De webshop voegt een complicatie toe waar de boekhouding niet op rekent. Je toont de klant een prijs in zijn valuta, maar de betaalprovider achter de checkout wikkelt af in jouw basisvaluta, en nu zijn er twee wisselkoersen in het spel: die Odoo gebruikte toen de bestelling werd geplaatst en die de PSP gebruikte bij afwikkeling. Ze komen nooit helemaal overeen, dus het bedrag dat binnenkomt komt niet overeen met de factuur en het afletteren loopt vast op kleine verschillen. We lossen dat vooraf op, niet per betaling: een afboekrekening voor betalingsverschillen met een verstandige tolerantie, en een controle op welke koers je PSP daadwerkelijk toepast. Het verschil is structureel, dus bouw er de routine voor in plaats van elke cent als een raadsel te behandelen.
Snelle checklist
- Multivaluta aangevinkt, met dagboek + winstrekening + verliesrekening ingesteld
- Alleen de valuta's die je gebruikt zijn geactiveerd
- Automatische wisselkoersen aan, met een verstandig interval
- Facturen opgesteld in de valuta van de klant
- Betalingen afgeletterd zodat gerealiseerde verschillen zichzelf boeken
- Rapport Ongerealiseerde valutawinsten/-verliezen gecontroleerd bij elke periodeafsluiting
FAQ
Werkt Odoo wisselkoersen automatisch bij?
Ja. Ga in Boekhouding > Configuratie > Instellingen > Valuta's, zet Automatische wisselkoersen aan, kies een service (de Europese Centrale Bank is de standaard) en een interval (dagelijks of wekelijks). Odoo haalt dan koersen op volgens dat schema. Je kunt nog steeds met de hand een koers instellen wanneer je een specifieke nodig hebt.
Hoe gaat Odoo om met de winst of het verlies wanneer een buitenlandse factuur wordt betaald?
Wanneer de factuur en de betaling volledig zijn afgeletterd, boekt Odoo het verschil tussen de waarde op factuurdatum en de waarde op betaaldatum naar het dagboek Wisselkoersverschil, met de winst- of verliesrekening die je hebt geconfigureerd. Dit gebeurt automatisch; je boekt het niet zelf.
Wat is het verschil tussen gerealiseerde en ongerealiseerde wisselkoersverschillen?
Een gerealiseerd verschil komt van een betaalde en afgeletterde factuur. Het geld is overgemaakt en Odoo boekt het automatisch. Een ongerealiseerd verschil zit op een factuur die bij periodeafsluiting nog open staat, waar de koers is veranderd maar geen betaling heeft plaatsgevonden. Ongerealiseerde verschillen boek je handmatig vanuit het rapport Ongerealiseerde valutawinsten/-verliezen, meestal door de boeking de volgende periode terug te draaien.
Kan ik een klant factureren in een andere valuta dan mijn bedrijfsvaluta?
Ja. Stel de valuta in op de factuur (of op de klant). De klant ziet het bedrag in vreemde valuta; Odoo legt het equivalent in de bedrijfsvaluta op de achtergrond vast tegen de koers van de factuurdatum. Al je rapportage blijft in je bedrijfsvaluta.
Heb ik Odoo Enterprise nodig voor multivaluta?
Multivaluta is beschikbaar in zowel Community als Enterprise. De automatische koersupdate en het rapport Ongerealiseerde valutawinsten/-verliezen zitten in de Accounting-app, dat is de Enterprise-boekhoudmodule; Community gebruikt de Invoicing-app, waar sommige van de geavanceerde boekhoudrapporten niet aanwezig zijn.