De opbouw van een XML bestand
Met de XML module kunt u XML bestanden importeren in uw administratie. U kunt XML bestanden importeren die afkomstig zijn van een andere administratie, maar het is ook mogelijk om XML bestanden van andere pakketten te importeren. In dit geval is het van belang dat het XML bestand voldoet aan de definitie voor het importeren van XML bestanden. Tevens dienen in het XML bestand alle gegevens aanwezig te zijn die Exact Globe Next nodig heeft om het correct te kunnen importeren.
Bij het importeren van gegevens in Exact Globe Next geldt de zelfde logica als bij het handmatig invoeren van een boeking, factuur, order enzovoort. Zo wordt de betalingswijze van een verkoopboeking bijvoorbeeld bepaalt aan de hand van de betalingsconditie die wordt gebruikt. Dit geldt bij het handmatig invoeren van een verkoopboeking, maar ook bij het importeren van een verkoopboeking. Wanneer er in de boeking geen betalingsconditie is opgegeven dan zal het systeem automatisch de betalingsconditie die aan de relatie gekoppeld is gebruiken. En vervolgens ook weer de betalingswijze van deze betalingsconditie. Is er bij de relatie geen betalingsconditie gekoppeld, dan gebruikt het systeem de standaard betalingsconditie die in de grootboekinstellingen is gedefinieerd. Of u de boeking nu handmatig invoert of importeert, de werkwijze is het zelfde.
Een ander voorbeeld is de medewerker. Bij het invoeren van een verkoopfactuur kunt u een medewerker koppelen. Standaard betreft dit de medewerker die als vertegenwoordiger aan de relatie is gekoppeld. Is er geen medewerker als vertegenwoordiger gekoppeld aan de relatie, dan wordt de medewerker die de factuur invoert gebruikt.
Het zelfde geldt voor het importeren van een factuur. Als u geen medewerker opgeeft, wordt automatisch de medewerker gebruikt die als vertegenwoordiger aan de relatie is gekoppeld. Als hier geen relatie is gekoppeld wordt de medewerker die de import uitvoert gebruikt. Deze medewerker dient vervolgens weer aan de rol 'Vertegenwoordiger' te zijn gekoppeld anders wordt de import afgekeurd.
In dit document wordt aan de hand van een voorbeeld uitgelegd hoe een XML bestand er uit dient te zien. Dit voorbeeld betreft het importeren van een verkoopboeking met een minimaal aantal gegevens. Afhankelijk van uw situatie en licentiesamenstelling kan het XML bestand uitgebreid worden met extra gegevens zoals bijvoorbeeld een kostenplaats, kostendrager, project, artikel, etc. In dit voorbeeld houden we echter een basis aan.
U dient er rekening mee te houden dat voor het maken XML bestanden een gedegen kennis van XML in het algemeen, maar ook (technische) kennis van Exact Globe Next noodzakelijk is. Een consultant van Exact of een Exact partner helpt u hier graag mee verder.
Wanneer we een XML bestand bekijken in notepad zien we dat dit bestand is opgebouwd uit verschillende tags. De zogenaamde open- en sluit tags. Ieder onderdeel bevat een open en een sluit tag. Binnen deze tags staat informatie over het betreffende onderdeel. Tevens kunnen tussen een open- en sluit tag van een onderdeel ook weer de open- en sluit tags van andere onderdelen zijn opgenomen. Een het sluit-tag kunt u herkennen aan het /-teken. Bij een sluit-tag ziet u bijvoorbeeld staan </VOORBEELD> terwijl bij de bijbehorende open-tag het /-teken ontbreekt <VOORBEELD>.
Wanneer we een verkoopboeking als voorbeeld nemen bestaat deze uit meerdere onderdelen. Allereerst hebben we de boeking zelf. De boeking bevat vervolgens weer een regel, en die regel bevat op zijn beurt weer een grootboekrekening. Dit zelfde principe is van toepassing op het XML bestand van een verkoopboeking. De open- en sluit tags van de boeking bevatten open- en sluit tags van de regel. De open- en sluit tags van de regel bevatten vervolgens weer de open- en sluit tags van de grootboekrekening.
Om inzicht te krijgen in de structuur van een XML bestand kunt u bijvoorbeeld een boeking, factuur, order, etc invoeren in Exact Globe Next, en deze vervolgens exporteren. Wanneer u dit Export bestand opent in bijvoorbeeld Notepad beschikt u over een voorbeeld bestand.
De tags voor het importeren zijn gedefinieerd in het bestand eExact-Schema.xsd, welke te vinden is in de '...\Exact Software\Docs'-directory. In dit document staan alle tags met de desbetreffende waarden waar deze aan moeten voldoen bij het maken van een XML-bestand. Tevens kunt u dit schema raadplegen in de vorm van een document Bijzonderheden XML-schema, waarover u verderop in dit document een toelichting kunt vinden.
Er zijn verschillende programma's waarmee u een XML bestand kunt bekijken, bewerken of genereren. Afhankelijk van welk programma u gebruikt kunt u hierin ook het Exact schema inlezen. In dit document wordt de basis van een XML bestand besproken, en hierin wordt dan ook gebruik gemaakt van notepad om de inhoud te tonen.
Het XML bestand nader bekeken
De eerste regel van een XML bestand bevat altijd informatie over de versie van het XML bestand.
<?xml version="1.0" ?>
Vervolgens wordt de open tag gebruikt die verwijst naar het Exact schema.
<eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-Schema.xsd">
Aan het einde van het XML bestand vindt u de bijbehorende sluit tag. Een sluit tag kunt u herkennen aan het /-teken.
</eExact>
Binnen deze (Exact Schema) open- en sluit tags zijn de tags en de informatie van de boeking opgenomen.
Wanneer we het document met de verplichte velden voor een XML bestand bekijken zien we dat voor een boeking (GL Entries) de volgende velden verplicht zijn:
<?xml version="1.0" encoding="utf-8" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code="*dagbk.dagbknr - string - mandatory">
</Journal>
<FinEntryLine>
<GLAccount code="*grtbk.reknr - string - mandatory">
</GLAccount>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
Wanneer we het voorbeeld van de verplichte velden omzetten naar een importeerbaar XML bestand zou dit er als volgt uit kunnen zien:
<?xml version="1.0" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code=" 70">
</Journal>
<FinEntryLine>
<GLAccount code=" 8000">
</GLAccount>
<Debtor code=" 60013">
</Debtor>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
In bovenstaand voorbeeld zijn de bij elkaar horende tags hetzelfde gekleurd om het te verduidelijken.
In dit geval betreft het een verkoopboeking en dan is een debiteur ook verplicht. Zou het een inkoopboeking zijn, dan mag er juist geen debiteur gevuld worden, maar is een crediteur verplicht. Verder dient uiteraard de in het XML bestand gebruikte grootboekrekening en debiteur als stamgegeven aanwezig te zijn in de administratie.
In dit voorbeeld wordt dagboeknummer 70 gebruikt. Dagboek 70 is een verkoopdagboek in de administratie. Rekening 8000 is een omzetrekening.
Bovenstaande boeking kan geïmporteerd worden in een administratie, maar zoals u ziet is de aanwezige informatie minimaal. Zo is er bijvoorbeeld geen boekstuknummer meegegeven. In dergelijke gevallen gebruikt Exact Globe Next zelf het eerst volgende boekstuknummer van het dagboek. Dit werkt op dezelfde wijze wanneer u handmatig een nieuwe verkoopboeking invoert. In dat geval wordt het boekstuknummer ook automatisch voorgevuld.
Verder is er bijvoorbeeld ook geen valutacode aanwezig in het bestand. Hiervoor gebruikt Exact Globe Next de standaarden, net zoals bij het invoeren van een handmatige boeking. Daarnaast is er ook geen datum aanwezig in het importbestand. Tijdens de import wordt automatisch de datum gevuld met de datum waarop het bestand wordt geïmporteerd.
Een bedrag is in het voorbeeld ook niet aanwezig. Wanneer we een bedrag willen toevoegen is het van belang om te weten welke tags worden gebruikt om het bedrag in een XML bestand toe te voegen. In het Document bijzonderheden XML-schema vindt u een overzicht van alle tags en de structuur. Meer informatie over hoe u deze gegevens kunt achterhalen wordt verderop in dit document besproken.
Om het bedrag toe te voegen gebruiken we in dit voorbeeld de volgende tags:
<Amount>
<Debit>0</Debit>
<Credit>150</Credit>
</Amount>
Als we deze tags toevoegen in de voorbeeldboeking ziet dit er als volgt uit:
<?xml version="1.0" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code=" 70">
</Journal>
<FinEntryLine>
<GLAccount code=" 8000">
</GLAccount>
<Debtor code=" 60013">
</Debtor>
<Amount>
<Debit>0</Debit>
<Credit>150</Credit>
</Amount>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
Het bedrag is toegevoegd in de regels, en niet in de kopregel. Bij de import berekent Exact Globe Next in dit geval zelf het kopregelbedrag. Wanneer we het kopregelbedrag ook in het XML bestand willen toevoegen, ziet dit er als volgt uit.
<?xml version="1.0" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code=" 70">
</Journal>
<Amount>
<Value>150</Value>
</Amount>
<FinEntryLine>
<GLAccount code=" 8000">
</GLAccount>
<Debtor code=" 60013">
</Debtor>
<Amount>
<Debit>0</Debit>
<Credit>150</Credit>
</Amount>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
We hebben nu in de kopregel en subregel een bedrag toegevoegd zoals in bovenstaand voorbeeld in het rood is aangegeven.
Wanneer we BTW willen toevoegen in het import bestand wordt dit wat lastiger. Afhankelijk van welk type BTW-code wordt gebruikt dient het bedrag inclusief de BTW natuurlijk wel overeen te komen met het totaalbedrag van de factuur.
<?xml version="1.0" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code=" 70">
</Journal>
<Amount>
<Value>150</Value>
</Amount>
<FinEntryLine>
<GLAccount code=" 8000">
</GLAccount>
<Debtor code=" 60013">
</Debtor>
<Amount>
<Debit>0</Debit>
<Credit>150</Credit>
<VAT code="2">
</VAT>
</Amount>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
In bovenstaand voorbeeld ziet u dat BTW-code 2 is toegevoegd. BTW-code 2 is aanwezig in de administratie. De BTW-code heeft de volgende eigenschappen in de administratie:
- Soort mutatie: Beide, dit geeft aan dat de BTW-code ook voor verkoopboekingen gebruikt mag worden. Als dit niet het geval is zou de BTW-code niet geaccepteerd worden. Dit werkt op dezelfde wijze als bij het handmatig invoeren van een boeking. In dat geval kunt u in een verkoopboeking ook alleen de BTW-codes met de soort mutatie 'Beide' of 'Verkoop' selecteren.
- BTW type: Exclusief
- Percentage: 19%
Wanneer u deze boeking zou importeren wordt het kopregel bedrag automatisch gecorrigeerd. De geïmporteerde boeking zou dan een kopregel bedrag van 178,50 hebben. De boeking bestaat uit een omzetregel van 150,- en een BTW-regel van 28,50.
In dit voorbeeld is het verkoopbedrag echter 150,-, en dat bedrag is dan ook de omzet inclusief de BTW. Om er voor te zorgen dat dit correct in het XML bestand aanwezig is dient het XML bestand er als volgt uit te zien:
<?xml version="1.0" ?>
<eExact>
<GLEntries>
<GLEntry>
<Journal code=" 70">
</Journal>
<Amount>
<Value>150</Value>
</Amount>
<FinEntryLine>
<GLAccount code=" 8000">
</GLAccount>
<Debtor code=" 60013">
</Debtor>
<Amount>
<Debit>0</Debit>
<Credit>126,05</Credit>
<VAT code="2">
</VAT>
</Amount>
</FinEntryLine>
</GLEntry>
</GLEntries>
</eExact>
Zoals u kunt zien is het bedrag van de omzetregel in de boeking aangepast naar 126,05. Dit betreft het bedrag van 150,- verminderd met de 19% BTW. De geïmporteerde boeking bestaat dan uit een kopregel met een bedrag van 150,-, een omzetregel van 126,05 en een BTW-regel van 23,95.
Afhankelijk van uw situatie en licentiesamenstelling kan het XML bestand uitgebreid worden met extra gegevens zoals bijvoorbeeld een kostenplaats, kostendrager, project, artikel, etc.
Hoe kunt u het XML schema raadplegen
Om te bekijken welke tags binnen welke tags kunnen vallen kunt u het volgende overzicht raadplegen. Hier vindt u het Exact schema waarin de beschikbare tags en de structuur wordt getoond. Als voorbeeld hoe u het XML schema kunt raadplegen gebruiken we de verkoopboeking als voorbeeld.
De verkoopboeking betreft een boeking. Een boeking behoort tot de GLentries. Dit onderdeel zoekt u dan ook op in het overzicht. Zoals u kunt zien valt <GLEntry> weer binnen <GLEntries>.
Wanneer u vervolgens in het schema op de link 'GLEntry' klikt wordt de structuur van GLEntry getoond.
'GLEntry' kan vervolgens weer een aantal andere onderdelen bevatten zoals bijvoorbeeld 'Amount' dat we in ons voorbeeld hebben gebruikt. Maar bijvoorbeeld ook de datum (Date), een omschrijving (Description), een dagboek (Journal), een boekingsregel (FinEntryLine), een kostenplaats (Costcenter), etc. In het voorbeeld hebben we een bedrag toegevoegd. Hiervoor dienen we het onderdeel 'Amount' te gebruiken. Om te bekijken wat de structuur van 'Amount' is kan er op doorgeklikt worden. Wanneer we doorklikken op 'Amount', wordt de structuur van amount getoond:
Hier ziet u bijvoorbeeld de onderdelen 'Value', 'Debit' en 'Credit' terug. De tags die we ook in het voorbeeld XML bestand hebben gebruikt. In het voorbeeld hebben we value gebruikt voor de kopregel van de boeking. Een kopregel van een boeking kan maar één bedrag bevatten dus daarvoor kan 'Value' gebruikt worden. Bij de regels van een boeking is dit anders. Een regel kan een debet of credit bedrag zijn (Bijvoorbeeld bij een memoriaalboeking). In de kopregel maken we gebruik van 'Value'. Klikt u door op 'Value' dan worden de eigenschappen van dit veld getoond.
Hier ziet u dat 'Value' een 'float' betreft. Een float is een variabele waarin een floating point number (getal met decimalen) wordt opgeslagen. In dit geval dus het bedrag van de kopregel van de boeking.
Een ander onderdeel van 'GLEntry' is 'FinEntryLine', de boekingsregel. Een boeking kan meerdere regels bevatten dus binnen een XML bestand kan binnen de open- en sluittag van 'GLEntry' meerdere malen een boekingsregel (FinEntryLine) aanwezig zijn. In het voorbeeld is er echter maar één boekingsregel gebruikt. Wanneer u doorklikt op 'FinEntryLine' wordt de structuur van dit onderdeel getoond.
Zoals u ziet kan een boekingsregel verschillende onderdelen bevatten. Op ieder onderdeel kunt u weer doorklikken om het daaronder liggende onderdeel te bekijken. Ook 'Amount' is een onderdeel van de boekingsregel. Bij het doorklikken op 'Amount' wordt hetzelfde getoond als bij het doorklikken op 'Amount' voor de kopregel van de boeking.
Veel gestelde vragen
- Waar is Exact Schema te vinden?
U kunt het Exact XML schema in documentvorm raadplegen via document 12.252.025 - Bijzonderheden XML-schema. Tevens is het schema als bestand aanwezig. Dit betreft het bestand 'eExact-Schema.xsd' in de 'Docs' map van de Exact Globe Next installatie.
- Kan ik gebruik maken van Externe tools voor het mappen van een XML bestand aan het XML schema?
Wanneer u een XML bestand heeft dat u wilt importeren in Exact Globe Next kunt u dit mappen aan het XML schema van Exact Globe Next. Er zijn verschillende externe tools aanwezig waarmee dit mogelijk is. Een voorbeeld van hoe dit in zijn werk gaat kunt u lezen in document 01.046.575 - How to map a XML file to the Exact Schema?.
- Wat betekent de optie 'Choice' in het XML schema?
Bij sommige onderdelen is de optie 'Choice' aanwezig. De optie 'Choice' geeft aan dat er meerdere onderdelen aanwezig zijn waarvan er één gekozen dient te worden. Hierbij kunt u bijvoorbeeld denken aan een bestelling. Bij het invoeren van een bestelling kunt u aangeven dat deze geleverd wordt aan een debiteur of aan een magazijn. Bij het invoeren van een bestelling dient dus altijd een keuze gemaakt te worden of deze wordt geleverd aan een debiteur of een magazijn. In het XML schema komt dit ook terug. Bijvoorbeeld bij het onderdeel <DeliverTo>.
U ziet hier de optie 'Choice' staan met daarachter de onderdelen <Debtor> en <Warehouse> zoals aangegeven in het voorbeeld van de bestelling dient in dit geval de keuze gemaakt te worden tussen een debiteur of een magazijn.
- Welke waarden zijn mogelijk en wat betekenen deze waarden?
Bij sommige onderdelen in het XML schema zijn waarden aanwezig. Dit is bijvoorbeeld het geval bij het importeren van grootboekrekeningen. In het onderdeel van de grootboekrekeningen <GLAccount> ziet u bijvoorbeeld bij 'Type' en 'Subtype' verschillende mogelijkheden staan.
Bij 'Type' betreft dit 'B' en 'W' en bij 'Subtype' betreft dit 'A', 'B', 'C', 'D', 'G', 'H', 'J', 'K', 'N', 'S', 'T' en 'V'.
Het type geeft het type grootboekrekening aan. In dit geval kan de rekening van het type 'B' of 'W' zijn. Het subtype geeft het subtype van de grootboekrekening aan. Om te achterhalen wat de verschillende letters betekenen kunt u op de link van 'Type' of 'Subtype' klikken om de details te bekijken:
Hier ziet u bij 'comments' staan wat de letters betekenen. In dit geval betreft de 'B' 'Balance', waarmee u aangeeft dat het een balansrekening is. De 'W' betreft 'Profit - Loss' waarmee u aangeeft dat het een winst en verlies rekening is. Hetzelfde geldt wanneer u doorklikt op het subtype van de rekening.
In dat geval ziet u dat het subtype 'A' aangeeft dat het een activumrekening is, het subtype 'B' een bankrekening betreft, het subtype 'C' een crediteurenrekening, etc. etc.
Tevens kunt u deze informatie achterhalen via de database documentatie.
Meer informatie
Main Category: |
Support Product Know How |
Document Type: |
Support - On-line help |
Category: |
On-line help files |
Security level: |
All - 0 |
Sub category: |
Details |
Document ID: |
19.193.856 |
Assortment: |
Exact Globe+
|
Date: |
26-09-2022 |
Release: |
|
Attachment: |
|
Disclaimer |