Hoe u Business Central-tabellen kunt samenvoegen in Excel zonder het ingewikkelde handwerk

Hoe u Business Central-tabellen kunt samenvoegen in Excel zonder het ingewikkelde handwerk

Hoe u Business Central-tabellen kunt samenvoegen in Excel, van Cust. Ledger Entry naar Customer, met een uitgewerkt voorbeeld van openstaande posten en live draaitabellen. Zonder BI-laag.

Over

Thomas Werkhoven

Deel dit artikel

Over

Thomas Werkhoven

Deel dit artikel

U kunt Business Central-tabellen rechtstreeks in Excel koppelen zonder datawarehouse, Power BI-model of een kolom vol VERT.ZOEKEN-functies. In Exsion Reporting opent u de query builder bij een download, voegt u een tweede tabel toe, accepteert u de voorgestelde koppelingssleutel (bijvoorbeeld Cust. Ledger Entry "Customer No." aan Customer "No."), kiest u de gewenste velden uit de tweede tabel en vernieuwt u de gegevens. De koppeling (join) wordt als platte tekst in het werkmapbestand weggeschreven, werkt ook met extensietabellen en is beschikbaar in vier varianten: inner, outer, inner top 1 en not exists. In de rest van dit artikel laten we zien hoe dit in de praktijk werkt aan de hand van een ouderdomsanalyse van openstaande posten, waarbij we ook eerlijk kijken naar situaties waarin een koppeling beter binnen Business Central kan plaatsvinden dan in uw spreadsheet.

De belangrijkste reden waarom men bij Jet blijft

Tijdens een demo in september met een Amerikaanse Business Central-partner verwoordde een financieel directeur met 20 jaar ervaring met Jet Reports en 22 jaar met NAV en Business Central het heel helder: "De reden dat ik een groot Jet-gebruiker ben, is dat ik tabellen kan maken die tabellen koppelen. Andere rapportagetools laten dat eigenlijk niet toe."

Dat is de meest gehoorde reden om niet over te stappen, en het is een terechte reden. Als uw rapportagetool Cust. Ledger Entry (tabel 21) niet kan koppelen aan Customer (tabel 18), dan bent u niet aan het rapporteren. Dan bent u aan het exporteren om de rapportage vervolgens handmatig op te lossen.

Daarom nemen we die reden in dit artikel serieus. Dit is geen pleidooi dat koppelingen er niet toe doen. Het is een pleidooi dat ze geen ingewikkelde technische inrichting zouden moeten vereisen.

Waarom elk bruikbaar Business Central-rapport een koppeling is

Business Central is een genormaliseerde database, wat ideaal is voor het boeken van transacties maar een nadeel voor rapportages. Een klantpost (ledger entry) slaat het klantnummer op en vrijwel niets anders over de klant. De naam, plaats, verkoperscode, betalingscondities en klantboekingsgroep staan allemaal op de klantenkaart. Een verkoopregel slaat een artikelnummer op; de artikelcategorie, de leverancier en de kostprijs staan op de artikelkaart (tabel 27). Een grootboekpost slaat een grootboekrekeningnummer op; de naam van de rekening en de balans-/resultatenrekeningclassificatie staan op de grootboekrekening (tabel 15).

Een bruikbaar rapport koppelt dus twee tabellen. Een goed rapport koppelt er vier of vijf. Een ouderdomsanalyse van openstaande posten waar een creditcontroller daadwerkelijk mee aan de slag kan, heeft de openstaande posten nodig, de naam en het telefoonnummer van de klant, de verkoper die verantwoordelijk is voor het account en de betalingscondities die verklaren waarom de betaling te laat is. Dat zijn al drie tabellen nog voordat u ook maar één ouderdomscategorie heeft berekend.

De drie manieren waarop financiële teams tabellen tot nu toe koppelden

De eerste manier is VERT.ZOEKEN of X.ZOEKEN gebruiken op basis van een tweede export. Dit werkt bij een paar duizend regels, maar loopt bij grotere volumes spaak – zowel qua prestaties als qua betrouwbaarheid, omdat de twee exports op verschillende momenten zijn gemaakt en niemand meer weet welke export verouderd is.

De tweede manier is een BI-laag: een datawarehouse of een semantisch model in Power BI waarin de koppelingen eenmalig worden gedefinieerd door iemand die de tabellen kent. Dat is een legitieme architectuur, maar het plaatst wel een data-engineer tussen u en de cijfers, waardoor elk nieuw veld een supportticket wordt.

De derde manier is een tool zoals Jet Reports, waarmee u de koppeling in Excel bouwt via de Table Builder. Dit is de reden waarom de bovengenoemde financieel directeur twintig jaar bij Jet is gebleven, en het komt van de drie opties het dichtst in de buurt van wat een controller echt wil. De prijs die u hiervoor betaalt, is dat elke Jet-functie een afzonderlijk verzoek is aan Business Central, en dat de logica in de ontwerpversie van de werkmap zit; de uiteindelijke output die de meeste mensen ontvangen bevat deze logica niet (we bespreken de gevolgen hiervan in waarom een Excel-rapport van Business Central zichzelf moet verklaren).

Hoe een koppeling werkt in Exsion

Begin met een willekeurige download, bijvoorbeeld alle openstaande posten in de Cust. Ledger Entry. Open de query builder en voeg een tabel toe. Exsion analyseert de twee tabellen en stelt de koppelingssleutel voor, in dit geval het klantnummer (Customer No.) aan de kant van de posten en het nummer (No.) op de klantenkaart. Accepteer dit voorstel, of pas het aan als u op een minder voor de hand liggend veld wilt koppelen. Dubbelklik vervolgens op de velden die u uit de tweede tabel wilt overnemen: Plaats, Telefoonnummer, E-mail, Verkoperscode, Betalingsconditiecode. Klik op OK en vernieuw de gegevens.

Het resultaat verschijnt in Excel met de gekoppelde velden als gewone kolommen, en de tabel (grid) die de query beschrijft toont de koppeling in het blauw. Die tabel wordt in de werkmap opgeslagen als platte tekst: de basistabel, de gekoppelde tabel, de sleutel, de velden en de filters op elk daarvan. Iedereen die het bestand opent, kan precies zien hoe de klantnaam naast de post is komen te staan, en iedereen met een licentie kan de koppeling direct aanpassen.

Ook extensietabellen worden ondersteund. Als uw branchespecifieke add-on een projectcode of contractnummer in een eigen tabel opslaat, kunt u deze op exact dezelfde manier koppelen als een standaard Microsoft-tabel. Dat is belangrijker dan het klinkt, want het veld dat u nodig heeft voor de managementrapportage is meestal juist het veld dat door de extensie is toegevoegd.

Het vernieuwen haalt de hele dataset in één keer op in plaats van met één verzoek per cel. Hierdoor is een gekoppeld rapport van een paar honderdduizend regels in seconden in plaats van minuten geladen. De snelheid hebben we al behandeld in waarom Jet Reports traag aanvoelt en Excel vastloopt, dus dat herhalen we hier niet.

De vier koppelingstypen en wat ze betekenen in Business Central

[[TABLE_START]]

Koppelingstype | Wat het retourneert | Een praktijkvoorbeeld in Business Central

Inner | Alleen regels waarvoor in beide tabellen een overeenkomst bestaat | Geboekte verkoopfactuurregels gekoppeld aan Artikel (27), zodat regels met een grootboekrekening in plaats van een artikel buiten de productmarge-rapportage worden gelaten

Outer | Elke regel uit de basistabel, waarbij gekoppelde velden leeg blijven als er geen overeenkomst is | Elke klant uit Klant (18) met de bijbehorende openstaande posten uit Cust. Ledger Entry (21), zodat klanten met een saldo van nul nog steeds op de kredietbeoordelingslijst verschijnen

Inner top 1 | Alleen de eerste overeenkomende regel, één per regel in de basistabel | Elk artikel met de meest recente inkoopprijs uit de tabel Inkoopprijs of Prijslijstregel, zonder dat de regels zich vermenigvuldigen

Not exists | Alleen regels uit de basistabel waarvoor helemaal geen overeenkomst bestaat | Klanten zonder geboekte factuur in de afgelopen twaalf maanden, voor het opschonen van slapende accounts

[[TABLE_END]]

Die laatste optie verdient een korte toelichting. De vraag "Klanten zonder geboekte factuur in de afgelopen 12 maanden" wordt meestal beantwoord met twee exports en een AANTAL.ALS-formule. Als een 'not exists'-koppeling, met een boekingsdatumfilter op de posten, is dit een rapport dat binnen twee minuten klaar is en direct kan worden vernieuwd.

Praktijkvoorbeeld: ouderdomsanalyse met verkoper en aangepaste categorieën

Iedereen past het standaard ouderdomsoverzicht direct op de eerste dag aan. De categorieën sluiten niet aan bij het bedrijf, de verkoper ontbreekt, of credit management wil het telefoonnummer in dezelfde regel hebben zodat ze de kaart niet hoeven te openen. Hieronder ziet u hoe dit rapport in Exsion veld voor veld wordt opgebouwd.

Het enige onderdeel dat geen gewoon veld of een gewone koppeling is, is de ouderdomscategorie zelf. Een ouderdomscategorie is het openstaande bedrag per klant voor posten waarvan de vervaldatum binnen een bepaald bereik valt. Dit is een berekening over de Detailed Cust. Ledg. Entry (tabel 379) en niet een veld dat u direct uit een regel kunt aflezen. In Exsion definieert u hiervoor een aangepaste functie binnen de query: som van het bedrag uit tabel 379 met een filter op het vervaldatumbereik, en gebruikt u het resultaat als een kolom. Als u wilt overstappen van categorieën van 30 dagen naar categorieën van 7 of 90 dagen, hoeft u alleen dat datumfilter aan te passen en niet het hele rapport opnieuw te bouwen.

[[TABLE_START]]

Rapportkolom | Brontabel | Hoe deze wordt verkregen

Klantnr. | Cust. Ledger Entry (21) | Veld op de basistabel

Klantnaam | Customer (18) | Koppeling op Customer No. = No.

Plaats | Customer (18) | Koppeling

Telefoonnummer | Customer (18) | Koppeling

Verkoperscode | Customer (18) | Koppeling

Naam verkoper | Salesperson/Purchaser (13) | Koppeling op Salesperson Code = Code

Betalingsconditiecode | Customer (18) | Koppeling

Documentnummer | Cust. Ledger Entry (21) | Veld

Boekingsdatum | Cust. Ledger Entry (21) | Veld

Vervaldatum | Cust. Ledger Entry (21) | Veld

Resterend bedrag | Cust. Ledger Entry (21) | Flowfield, berekening getoond in het grid

Nog niet vervallen | Detailed Cust. Ledg. Entry (379) | Aangepaste functie: som Bedrag, vervaldatumfilter groter dan vandaag

1 t/m 30 dagen | Detailed Cust. Ledg. Entry (379) | Aangepaste functie: som Bedrag, vervaldatumfilter vandaag minus 30 tot gisteren

31 t/m 60 dagen | Detailed Cust. Ledg. Entry (379) | Aangepaste functie, vervaldatumbereik verschoven

61 t/m 90 dagen | Detailed Cust. Ledg. Entry (379) | Aangepaste functie, vervaldatumbereik verschoven

Meer dan 90 dagen | Detailed Cust. Ledg. Entry (379) | Aangepaste functie, vervaldatumfilter kleiner dan vandaag minus 90

[[TABLE_END]]

Nog een opmerking bij de tabel. De datumfilters gebruiken de eigen filtersyntaxis van Business Central, met twee punten voor een bereik. Een filter voor een categorie leest dus op exact dezelfde manier als in een lijstpagina van Business Central; Microsoft documenteert deze syntaxis op Learn.

Wilt u ook de provincie of regio toevoegen? Koppel de klant aan Land/Regio of lees de regio uit vanaf de kaart. Wilt u het overzicht per verkoper voor de verkoopvergadering? Dat lossen we op met de draaitabel in de volgende sectie.

Draaitabellen die synchroon blijven met de koppeling

Een gekoppelde download is pas half werk als de daarop gebaseerde draaitabel verouderd raakt. Als u in Exsion de draaitabel dezelfde naam geeft als de download, wordt de draaitabel automatisch vernieuwd zodra de download wordt vernieuwd. Eén druk op de knop en de ouderdomsanalyse per verkoper, de ouderdomsanalyse per betalingsconditie en de grafiek op het tabblad met de samenvatting worden allemaal tegelijk bijgewerkt.

Dit is ook de methode om een dashboard te bouwen. Vier downloads (bijvoorbeeld openstaande posten debiteuren, openstaande posten crediteuren, omzet per artikelcategorie en saldo per bankrekening), vier draaitabellen met dezelfde naam en vier bijbehorende grafieken op een samenvattingstabblad. Eén vernieuwingsknop. Geen Power BI-licentie nodig, geen gateway, geen geplande gegevensvernieuwing en geen datamodel dat slechts door één persoon wordt begrepen. Als de downloads groot zijn, kunt u ze rechtstreeks naar het datamodel van de draaitabel sturen in plaats van naar een werkblad. Hiermee omzeilt u de limiet van 1.048.576 rijen per werkblad en blijft het bestand compact. We lichten dit nader toe in de Excel-rijenlimiet en Business Central-rapportage.

De cellen in de draaitabel behouden hun drilldown-functionaliteit. Als u dubbelklikt op een categorietotaal van een verkoper, toont Excel de onderliggende regels, inclusief de gekoppelde velden.

Koppelingen over meerdere bedrijven en omgevingen heen

Koppelingen stoppen niet bij de grens van de administratie. Selecteer drie bedrijven in het grid en het resultaat komt terug met een kolom voor het bedrijf, inclusief alle gekoppelde velden. Zo is de geconsolideerde ouderdomsanalyse van de groep hetzelfde rapport waarin simpelweg drie bedrijven zijn aangevinkt in plaats van dat er drie losse kopieën van bestaan. Dit werkt op dezelfde manier over verschillende omgevingen heen, wat handig is voor een partner die rapporteert over meerdere klantomgevingen (tenants), of voor een groep die met een productie-omgeving en een aparte consolidatie-omgeving werkt.

Voor de eigenlijke consolidatie, inclusief eliminaties en valutaomrekening, is dat de taak van Exsion Corporate in plaats van een eenvoudige koppeling. We beschrijven deze aanpak in hoe u meerdere bedrijven consolideert in Business Central.

Wanneer de koppeling juist wél in Business Central thuishoort

Niet elke koppeling hoort in een spreadsheet thuis, en het zou onrealistisch zijn om te beweren dat dit wel zo is. Als dezelfde gekoppelde dataset door meerdere systemen wordt gebruikt (een Power BI-model, een export voor een externe auditor, een integratie), dan is de juiste plek een query-object of API-pagina in Business Central. Dit wordt eenmalig door een ontwikkelaar gebouwd, beheerd binnen de AL-code en via de API ontsloten. Als gebruikers het gekoppelde veld direct nodig hebben tijdens hun dagelijkse werk in Business Central, bijvoorbeeld op een lijstpagina of een kaart, dan betreft dit een pagina-extensie en geen rapport. Beide situaties vereisen aanpassingen aan de Business Central-kant, en dat is de investering waard als de koppeling stabiel is en breed wordt gedeeld.

De rapportagelaag is de juiste plek wanneer de koppeling specifiek bij het rapport hoort. De controller die deze maand de betalingscondities naast de openstaande posten wil zien, en volgend kwartaal de regio van de verkoper, zou hier niet telkens een supportticket voor hoeven aan te maken. Een goede vuistregel: als de koppeling verandert afhankelijk van de vraag die u stelt, houd deze dan in de werkmap waarin het grid de koppeling toont; is de koppeling onderdeel van het datamodel waar iedereen op vertrouwt, breng deze dan onder in Business Central. Exsion kan met beide overweg. Een query-object of API-pagina die u heeft gebouwd, verschijnt simpelweg als een tabel die u kunt downloaden en koppelen net als ieder ander.

Bouw het rapport dat u tot nu toe heeft vermeden

Elk financieel team heeft wel dat ene rapport dat nooit is gebouwd omdat er vier tabellen voor nodig waren en de technische inrichting ontbrak. Dat is het ideale rapport om mee te beginnen. Installeer Exsion Reporting vanuit AppSource via Extensiebeheer, download de Excel add-in vanaf de Exsion-informatiepagina in Business Central, voeg de verbinding toe en meld u aan. De volledige installatie duurt ongeveer vijf minuten en voor de proefperiode van 30 dagen is alleen een e-mailadres nodig. Open vervolgens de query builder, voeg de tweede tabel toe en accepteer de koppeling.

Als u overstapt van Jet Reports, bouwen we dat eerste rapport kosteloos samen met u op, en onze migratietools lezen de tabellen en velden uit uw Jet-werkmap om u een vliegende start te geven. Details vindt u op de productpagina van Exsion Reporting, en een uitgebreidere vergelijking is te lezen in onze gids over alternatieven voor Jet Reports voor Business Central in 2026.

Veelgestelde vragen

[[FAQ_START]]

Kunt u tabellen uit Business Central rechtstreeks in Excel koppelen? | Ja. Met Exsion Reporting opent u de query builder bij een download, voegt u een tweede Business Central-tabel toe en accepteert u de koppelingssleutel die Exsion voorstelt. De gekoppelde velden worden getoond als normale Excel-kolommen en de koppeling wordt als leesbare tekst in de werkmap opgeslagen, zonder dat er een datawarehouse of BI-model nodig is.

Welke koppelingstypen ondersteunt Exsion voor Business Central-tabellen? | Vier typen: inner (alleen overeenkomsten), outer (alle regels uit de basistabel, leeg als er geen overeenkomst is), inner top 1 (de eerste overeenkomende regel per regel in de basistabel) en not exists (regels uit de basistabel zonder overeenkomst). Met 'not exists' beantwoordt u eenvoudig vragen zoals welke klanten geen factuur hebben gehad in de afgelopen 12 maanden.

Hoe bouw ik een ouderdomsanalyse in Excel vanuit Business Central met mijn eigen categorieën? | Download de openstaande posten uit Cust. Ledger Entry (21), koppel Customer (18) voor de naam, verkoper en betalingscondities, en definieer aangepaste functies binnen de query die de som van het Bedrag berekenen uit Detailed Cust. Ledg. Entry (379) met een vervaldatumfilter per categorie. Als u de categorieën wilt aanpassen, hoeft u alleen het datumfilter te bewerken in plaats van het hele rapport opnieuw te bouwen.

Werkt een gekoppeld Business Central-rapport in een draaitabel met live gegevens? | Ja. Geef de draaitabel dezelfde naam als de download en deze wordt automatisch vernieuwd zodra de download wordt vernieuwd. Meerdere downloads met hun bijbehorende draaitabellen en grafieken op één samenvattingstabblad vormen samen een dashboard dat met één klik wordt bijgewerkt, waarbij de drilldown naar onderliggende gekoppelde regels behouden blijft.

Kan ik extensietabellen uit Business Central koppelen in Excel? | Ja. Tabellen die door extensies zijn toegevoegd, zoals een project- of contracttabel van een branche-add-on, verschijnen in de query builder naast de standaard Microsoft-tabellen en kunnen op exact dezelfde manier worden gekoppeld.

Wanneer moet een koppeling in Business Central worden gebouwd in plaats van in Excel? | Wanneer de gekoppelde dataset door meerdere systemen wordt gedeeld of nodig is binnen de pagina's van Business Central, bouwt u deze als query-object, API-pagina of pagina-extensie. Wanneer de koppeling specifiek bij één rapport hoort en verandert op basis van de vraag die gesteld wordt, houdt u deze in de rapportagelaag waarin de werkmap de koppeling toont.

[[FAQ_END]]