Tag Archives: importeren

Enkele tips bij het importeren van gegevens

Via de Import module kan je in Venice data importeren. Hiervoor heb je een gegevensbestand nodig, en een beschrijvend bestand. Het beschrijvend bestand mapt de stukjes data in het gegevensbestand naar de juiste velden in de Venice database.

Als er iets fout loopt bij het importeren, dan is het niet altijd duidelijk waar het nu aan ligt. Het is mogelijk dat de structuur van het gegevensbestand wel klopt met het bijhorende beschrijvend bestand, maar dat de gegevens inhoudelijk niet correct zijn. Hierdoor kan Venice een validatiefout geven. Bv. je probeert klanten in te lezen, maar de firmanaam is niet ingevuld. In Venice kan je geen klanten aanmaken zonder een firmanaam, in zo’n geval krijg je dus een duidelijke foutmelding.

Het is echter ook mogelijk dat er een fout is gemaakt bij het opmaken van het beschrijvend bestand, waardoor de mapping in het honderd loopt. Een probleem dat we af en toe zien, is dat er iets mis loopt met het afbakenen van de velden, waardoor Venice data in een verkeerd veld probeert te schrijven. In zo’n geval kan je een validatiefout krijgen die je op het verkeerde been zet.

Het is niet altijd even duidelijk waar je precies moet beginnen zoeken in zo’n geval. Gelukkig biedt Venice de mogelijkheid om een logbestand aan te maken tijdens het importeren. Hierdoor kan je zien welke data Venice in welk veld probeert te stoppen, en op welk punt het precies fout loopt. Dit logbestand kan dus veel werk (en tijd) besparen!

Hoe ga je te werk om dit logbestand aan te maken?

  1. Open de registry van Windows (via regedit.exe), en navigeer naar
    HKEY_LOCAL_MACHINE\SOFTWARE\C-Logic (op een 32-bits Windows pc)
    of HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\C-Logic (op een 64-bits Windows pc)
  2. voeg in het rechterpaneel een Tekenreekswaarde (REG_SZ) toe met als naam ImportLog en als waarde Yes.
    importlog
  3. Navigeer naar HKEY_CURRENT_USER\Software\C-Logic
  4. Klik met de rechtermuisknop op C-Logic, en voeg een sleutel toe met als naam Import.
  5. voeg een Tekenreekswaarde (REG_SZ) toe met als naam DebugLog en als waarde map en bestandsnaam (waar u de logfile wil bewaren).
    (de mapnaam moet verwijzen naar een reeds bestaande map waarop u schrijfrechten hebt)
    debuglog
  6. Sluit Venice af en start opnieuw op
  7. Onderaan het importeren venster ziet u nu een extra parameter DebugLog verschijnen:
    importscherm-debug
  8. Vink DebugLog aan, en importeer het gegevensbestand
  9. Als er een foutmelding verschijnt, klik deze dan eerst weg (anders zal het logbestand nog geen gegevens bevatten)
  10. Open nu het logbestand (bv. via notepad). In het logbestand kan u terugvinden welke data Venice in welk veld probeert weg te schrijven. Het logbestand breekt af op de plaats waar er een fout optrad. Zo kan u nagaan waar ongeveer de fout zich voordeed.

Een aantal mogelijke fouten die u zo kan achterhalen:

  • een verschuiving van de velden: de gegevens worden niet ingelezen in de juiste velden
  • fout bij de afbakening van de velden: er wordt maar een stuk van een veld ingelezen, bv. omdat er een probleem is met het veldscheidingsteken
  • het verkeerde type wordt ingelezen: een tekst in een numeriek veld (of omgekeerd)

U kan beter steeds meteen naar het einde van het bestand gaan, want daar zal de meest relevante informatie terug te vinden zijn:

Importing Numeric: @ASL.BaseFinDiscountDocC at 25, 1, length=End Contents="0"
 Importing Numeric: @ASL.BaseNotSubmitDocC at 26, 1, length=End Contents="0"
 Importing Numeric: @ASL.VatDueNormDocC at 27, 1, length=End Contents="0"
 Importing Numeric: @ASL.VatDedNormDocC at 28, 1, length=End Contents="210"
Processing [$Assign.ASL]
 Assign: @ASL.DocType = 0
 Assign: @ASL.TsmNumber = ""
Processing [$Import.ENT], #1
 Importing String : @ENT.Account at 29, 1, length=End Contents="0"
 Importing Numeric: @ENT.AmountDocC at 30, 1, length=End Contents="700000"
 Importing String : @ENT.Remark at 31, 1, length=End Contents="-1000"
Processing [$Assign.ENT]
 Assign: @ENT.IsCredit = 0
Processing [$Import.ENT], #2
 Importing String : @ENT.Account at 32, 1, length=End Contents="1"
 Importing Numeric: @ENT.AmountDocC at 33, 1, length=End Contents="END"
 Importing String : @ENT.Remark at 34, 1, length=End Contents=""

Webinar v9.50

Om de nieuwe functionaliteiten van Venice v9.50 te demonsteren, organiseerden we hiervoor een webinar. Hieronder kan u het webinar opnieuw bekijken. Het webinar duurt ongeveer een half uur.

Om u te helpen hebben we de verschillende functionaliteiten die gedemonstreerd werden, in het onderstaande lijstje gezet, samen met een tijdsmarkering. Zo kan u meteen doorspoelen naar het stuk dat u interesseert.

  • 0:01 Companyweb
  • 4:35 Jaarrekening nieuw protocol
  • 5:46 Supplementen
  • 6:57 Pdf-tagging bij verwerken elektronische aankoopfacturen
  • 10:11 Toegangsbeheer: gereserveerde gebruiker
  • 12:08 Importeren verkoopleveringen met afpuntinformatie
  • 12:58 Contactenbeheer: documenttype instelbaar per contact
  • 17:26 Contactenbeheer: slepen van emails in projecten
  • 19:08 Contactenbeheer: te factureren tijd
  • 20:30 Contactenbeheer: facturatiedocumenten koppelen aan een project
  • 22:40 Contactenbeheer: datum van een actie wijzigen
  • 23:12 Contactenbeheer: aanpassing aan actie veld + een nieuw ‘info’ veld
  • 24:20 Vragen: Pdf-identificatie achteraf toevoegen?
  • 25:42 Vragen: gereserveerde gebruiker module Toegangsbeheer
  • 26:48 Vragen: Contactenbeheer: te factureren tijd

Onze excuses voor de klank- en beeldkwaliteit die niet optimaal zijn.

Importeren van verkopen vanuit een extern facturatiepakket in Venice boekhouding

Als u een extern facturatiepakket gebruikt, dan ligt het voor de hand dat u de facturen niet  handmatig wil ingeven in de boekhoudmodule van Venice maar ze automatisch wil importeren. (Indien u Venice Facturatie gebruikt gebeurt het doorboeken automatisch en is gans dit artikel niet van toepassing).

Dit artikel beschrijft hoe u te werk kan gaan.

Import module

Als u van plan bent om eender welk type van documenten in Venice te importeren, dan moet u eerst nakijken als u al de Import module hebt. Deze is hiervoor immers noodzakelijk, ook als u via de SDK werkt (zie hieronder).

Via de Venice SDK of via het importeren van tekstbestanden

Er zijn 2 manieren om documenten te importeren in Venice:

  1. De Venice SDK: Onze software development kit laat toe dat u vanuit een extern pakket een realtime link legt met Venice. Op die manier kan u informatie wegschrijven of ophalen uit Venice.
  2. Via een tekstbestand: Uw externe facturatiepakket schrijft de factuurgegevens weg in een tekstbestand. Vervolgens importeert u dit tekstbestand in Venice.

Dit artikel beschrijft de laatste optie.

Inleiding

De import module van Venice laat toe om tekst- of csv-bestanden te importeren in Venice. XML bestanden (uitgezonderd het verwerken van elektronische aankoopfacturen) kunnen niet geïmporteerd worden.

Voor elk tekstbestand dat gegenereerd wordt, moet er een beschrijvend bestand geschreven worden. Dit beschrijvend bestand dient om de inhoud van het tekstbestand te interpreteren, zodat Venice begrijpt welke informatie er aangeboden wordt.

Indien gewenst kan de helpdesk van UNIT4 C-Logic dit beschrijvend bestand voor u aanmaken, en u bijstaan bij het valideren van de import interface. U kan hen contacteren via e-mail voor meer informatie. U hoeft dan enkel nog – in samenspraak met de helpdesk – het exportbestand vanuit uw eigen facturatiepakket te (laten) aanmaken.

Structuur van het tekstbestand

Er is geen vaststaande structuur voor het tekstbestand met de factuurinformatie. Toch zijn er een aantal voorwaarden waaraan voldaan moet zijn.

Het gaat hierbij om de volgorde waarin de gegevens aangeboden worden. Bij het importeren van verkoopfactuuren zijn er meerdere blokken informatie die aangeboden moeten worden:

  • klantgegevens
  • factuurhoofding
  • tegenboekingslijnen
  • (eventueel) een analytische verdeling
  • (eventueel )intrastat lnformatie

Deze informatieblokken moeten in de juiste volgorde in het tekstbestand aanwezig zijn. Binnen elk blok (bv. het blok met de klantengegevens) speelt het echter geen rol in welke volgorde de velden zoals klantnaam of postcode precies aangeboden worden. Het is ook van geen belang als u elk veld op een aparte lijn plaatst, of op dezelfde lijn met een scheidingsteken, het beschrijvend bestand dient er immers voor om deze structuur aan te duiden.

Klantgegevens

Eerst moet de klantinformatie aangeboden worden. Venice moet in staat zijn om op unieke wijze de klant terug te vinden, dat kan op basis van het Venice klantnummer, of op basis van het alias veld. In principe volstaat het om in dit blok enkel het veld te plaatsen waarmee u uw klant op unieke wijze identificeert in uw facturatieprogramma.  Als Venice op die manier de klant terugvindt, dan zal die klantfiche gebruikt worden. Indien er geen fiche gevonden wordt, dan kan Venice automatisch een nieuwe klantfiche aanmaken (zie hieronder).

Bij voorkeur geeft u natuurlijk zo veel mogelijk informatie mee (adres, email, telefoonnummers, bankrekening,…), zodat de klantfiche zo volledig mogelijk aangemaakt kan worden.

Hieronder vindt u een voorbeeld van hoe de blok met de klantengegevens er zou kunnen uitzien:

1; klantnummer of alias
Adri NV; firmanaam
NV; juridische vorm
Brigitte Adriaansen; contactpersoon
Prinseslaan 81; straat
3000; Leuven; gemeente
BE; België; landcode + landnaam
016/80.96.75; telefoonnummer
BE 0412.140.033; ondernemingsnummer
1; btw plichtig 1 = ja, 0 = neen

Gebruikt u nu beter het alias veld of het Venice klantnummer om de juiste fiche te identificeren? Indien de klantnummers in het externe pakket steeds overeenkomen met de klantnummers van Venice, dan kan u op basis van het klantnummer werken. Vaak is dit echter niet mogelijk, bv. omdat de nummers ondertussen niet meer synchroon lopen tussen beide applicaties, of omdat er soms ook klantfiches aangemaakt worden in Venice zonder dat deze in het facturatiepakket bestaan. Wij stellen dan ook meestal voor om op basis van het alias veld te werken.
Venice probeert de unieke referentie uit het tekstbestand te matchen aan het alias veld. Indien er geen match gevonden wordt, dan zal Venice automatisch de klantfiche aanmaken (op voorwaarde dat ook de klantnaam mee opgegeven werd) en tegelijk wordt de unieke referentie genoteerd in het alias veld.

Op het moment dat de import link in gebruik genomen wordt, is het dan ook erg belangrijk dat u niet vergeet om het klantnummer uit uw externe pakket te noteren in het veld Alias van de reeds bestaande klantenfiches in Venice. Hiermee voorkomt u dat er dubbele klantenfiches in Venice aangemaakt worden. Idealiter creëert of wijzigt u enkel in uw facturatiepakket nog klantenfiches.

 Factuurhoofding

De volgende blok met gegevens is de factuurhoofding. Deze blok bevat o.a.:

  • documenttype (factuur of creditnota)
  • documentdatum
  • boekingsdatum
  • vervaldatum
  • muntcode
  • muntkoers
  • dagboek
  • totaal bedrag
  • maatstaf 0%
  • maatstaf 6%
  • maatstaf …
  • verschuldigde btw
  • aftrekbare btw

Indien sommige gegevens niet meegegeven worden, dan zal Venice ze automatisch proberen te bepalen (bv. indien er geen vervaldatum opgegeven wordt, dan zal Venice deze automatisch bepalen op basis van de betalingstermijn die in de klantfiche staat).

Wat de maatstaven betreft, alle maatstaven die potentieel kunnen voorkomen dienen meegegeven te worden in het bestand, en deze dienen altijd in dezelfde volgorde voor te komen. Dus bv. na het totaal bedrag steeds een veld voorzien voor de maatstaf aan 0%. (indien de factuur in kwestie geen bedrag voorziet aan 0%, dan laat u dat veld leeg of zet u er een 0 in.

Wat het documenttype betreft, in principe wordt een factuur aangeduid met 0, en een creditnota met 1. Via het beschrijvend bestand kunnen we echter ook instellen dat bv. het woordje FAC op een factuur wijst, en CRE op een creditnota.

Tegenboekingslijnen

Nadat de hoofding van de factuur ingeschreven is, moeten de tegenboekingslijnen geïmporteerd worden (de opbrengstenrekeningen dus).

Er kunnen meerdere tegenboekingslijnen voorkomen. Per boekingslijn hebt u minstens deze gegevens nodig:

  • rekeningnummer
  • bedrag
  • eventueel een opmerking

Aangezien er meerdere tegenboekingslijnen mogelijk zijn, is het nodig om aan Venice te signaleren hoeveel er moeten ingelezen worden. Hiervoor zijn er 2 manieren

  • in dit informatieblok geeft u als een apart veld het aantal tegenboekingslijnen mee (bv. 4)
  • ofwel zet u na de tegenboekingslijnen nog een aparte lijn met daarin een teken dat aangeeft dat er geen tegenboekingslijnen meer zullen volgen, bv. het woordje END.

Analytische verdeling

Indien de module analytisch actief is in het Venice dossier, dan kan u ook analytische informatie importeren. Analytische gegevens worden altijd ingelezen per tegenboekingslijn, dus na elke tegenboekingslijn kan dus een blok met analytische informatie voorkomen.

Er kunnen een variabel aantal analytische verdelingslijnen zijn, en dit in maximaal 2 dimensies (plaatsen en dragers). U moet Venice dus uitleggen hoeveel verdeellijnen er gaan volgen.

U heeft dezelfde 2 mogelijkheden om dit aan te geven als in het hoofdstuk hierboven.

Dit zijn de velden die zeker meegegeven moeten worden:

  • analytische rekening
  • bedrag (of percentage)

In het voorbeeld hieronder ziet u 2 tegenboekingslijnen (rekeningen 700 en 701) die elk analytisch verdeeld zijn (enkel op analytische plaats). via het stopwoord ENDACN geven we het einde aan van de analytische verdeellijnen.

700 ; 2500,00;opmerking
ASSEMBLY ; 60
OFFICE ; 20
STORAGE ; 20
ENDACN
701 ; 1300,00;opmerking
ASSEMBLY ; 50
OFFICE ; 10
STORAGE ; 25
PARKING ; 15
ENDACN

Tips

  • Gebruik steeds de internationale ISO codes waar mogelijk (bv. landcodes of munteenheden).
  • Niet alle velden die in dit artikel staan zijn strict noodzakelijk om een import te doen slagen. Om de lijst te zien van welke velden strict noodzakelijk zijn, kan u in de help van Venice via tabblad Index navigeren naar het artikel importeren, verkopen (Importeren technisch).

 

 Overzicht benodigde velden

Hieronder volgt een lijst van de velden die bij voorkeur aanwezig zijn in het exportbestand.

Klanten

unieke klantidentificatie (kan in Venice als klantnummer of alias geïmporteerd worden)
firmanaam
taal (Nld = Nederlands, Fra = Frans, Eng = Engels, Deu = Duits, ...)
juridische vorm
contactpersoon
e-mail adres
straat
gemeente
postcode
landcode (ISO code)
landnaam
telefoonnummer (vrije vorm)
ondernemingsnummer
btw plichtig (1 = ja, 0 = neen)

Hoofding

documenttype (0 = factuur, 1 = creditnota)
documentdatum (notatie: dd/mm/jjjj)
boekingsdatum (notatie: dd/mm/jjjj)
vervaldatum (notatie: dd/mm/jjjj)
opmerking
muntcode
marge (0 = nee, 1 = ja, optioneel veld: enkel als margeregeling van toepassing is)
koers (0 indien documentmunt = dossiermunt)
dagboek
documentnummer (optioneel, indien niet aanwezig nummert Venice zelf)
totaalbedrag document
aanschafwaarde (optioneel, enkel indien margeregeling actief is)
bedrag maatstaf 0%
bedrag maatstaf 6%
bedrag maatstaf 12%
bedrag maatstaf 21%
bedrag maatstaf medecontractant
bedrag maatstaf ic-goederen
bedrag maatstaf ic montage/afstand
bedrag maatstaf ic-diensten
bedrag maatstaf uitvoer
bedrag maatstaf buitenlandse btw
bedrag maatstaf financiële korting
bedrag maatstaf niet-onderworpen
bedrag verschuldigde btw
bedrag aftrekbare btw

Tegenboekingslijnen

  • ofwel op voorhand aangeven hoeveel tegenboekingslijnen er gaan volgen, ofwel op het einde afsluiten met een markeerveld EINDEDET
  • boekingslijnen op klant / btwrekeningen niet opgeven
tegenboekingsrekening
bedrag
opmerking detaillijn

Analytisch

  • 2 dimensies zijn mogelijk (kost en/of drager)
  • ofwel op voorhand aangeven hoeveel verdelingslijnen er zullen komen per tegenboekingslijn, ofwel op het einde van de verdelingslijn (per dimensie) afsluiten met een markeerveld EINDKOST / EINDDRAGER)
analytische code
bedrag of percentage

 

Overname van basisgegevens (klanten, leveranciers, artikels, …) uit andere applicaties.

U start met Venice (Boekhouding, Facturatie, Contactenbeheer) of Venice Facturatie lite edition. In een andere applicatie beschikt u al over een bestand met klant-, leveranciers- en/of artikelgegevens. In plaats van al deze gegevens opnieuw in te voeren in Venice, wenst u de gegevens automatisch over te zetten.

Enerzijds kan u de gegevens in Venice binnenhalen via de optie Importeren. Laat u in dit geval begeleiden door uw Venice-verdeler. U zal de gegevens immers moeten aanbieden in een tekstbestand, en vervolgens door middel van een beschrijvend bestand omzetten naar Venice.

Anderzijds kan u de gegevens in Venice  eenvoudig verwerken via “plakken en kopiëren”. We beschrijven u hier hoe u te werk kan gaan, aan de hand van een voorbeeld gebaseerd op het klantenbestand.

  • Zorg ervoor, dat u het klantenbestand uit de bron-applicatie kan openen / lezen in een applicatie die OLE2 (Object Linking and Embedding, Drag & drop, Slepen en neerzetten) ondersteunt. Dat kan bijvoorbeeld via MS-Excel of MS-Access.
  • Bekijk grondig of het klantenbestand een “uniforme” structuur bevat, en of alle gegevens die zich hierin bevinden actueel en accuraat zijn.

kb000146_1

In ons voorbeeld bestaat onze Excel-file van klantengegevens uit 7 kolommen, nl. Firmanaam, Straat, Postcode, Gemeente, BTW-nummer, Telefoon en Telefax. Het bestand bevat ook enkel Belgische klanten.

Open in Venice het werkblad waar de gegevens moeten in terecht komen. In ons voorbeeld is dit het werkblad Klanten.

Klik in tabblad Bewerken, groep kolommen op Beheren, en zorg ervoor dat de kolommen in het werkblad precies dezelfde zijn, en in precies dezelfde volgorde staan, als in het bestand in de andere applicatie.

kb000146_2

  • Zet via de sneltoets Ctrl-W het werkblad in wijzigmode, en positioneer u in de cel die meest links-onder staat.
  • Ga terug naar de andere applicatie (MS-Excel in ons voorbeeld), en duid alle cellen van alle klanten aan.
  • Druk nu op Ctrl+C (copy) of kies in het menu voor Kopiëren.

kb000146_3

  • Ga terug naar Venice en druk hier op Ctrl+V (plakken) of kies in het lint voor tabblad Bewerken, Plakken.
  • Alle gegevens worden automatisch ingevuld in nieuwe klantenfiches.
  • Zet via de sneltoets Ctrl-W de wijzigbaar-modus opnieuw af.

Via dezelfde werkmethode kan u ook de leveranciers, artikels, … overnemen.

U dient er enkel aandacht aan te besteden, dat bij het overnemen alle gegevens worden geverifieerd op hun correctheid, alsof u veld per veld manueel zou intikken. Als u bv. klantennummers mee kopieert, checkt Venice op dubbele klantennummers. Als u b.v. BTW-nummers mee kopieert, controleert Venice of elk BTW-nummer wel degelijk een correct BTW-nummer is. Als u een firmanaam versleept, die veel te lang is voor het veld waarvoor hij bestemd is, zal Venice hierop blokkeren. Enzovoort …

Werden niet alle fiches overgenomen, controleer dan op welk record Venice is “blijven steken”. Dit is het record waar u ergens een foutje moet vinden. Als u deze fiche even manueel probeert in te tikken, zal u meteen ondervinden waar de fout zich juist bevindt. Het is dus best mogelijk, dat u de file waarvan u vertrekt eerst grondig moet inspecteren en bijsturen, vooraleer u alle gegevens vlot en correct kan overnemen !

Het aantal karakters dat toegelaten is in een bepaald veld, kan u nalezen in Venice. Ga naar tabblad Beheer, groep Dossier, ODBC, en klik op de knop Veldinformatie.

Daar vindt u, per tabel, de gewenste informatie.

Een excelbestand dat expressies bevat omzetten naar een inleesbaar tekstbestand

Indien u over een bestand in Excel beschikt en u wenst dat bestand te importeren in Venice via de optie Importeren, dan kan u dat bestand omzetten naar een CSV-bestand. Maar indien één van de kolommen in het Excelbestand een expressie bevat, dan komt u voor een probleem te staan.

Veronderstel dat u prijsafspraken wenst te importeren in Venice. U beschikt over een Excelbestand met de te importeren gegevens dat er als volgt uitziet.

KB000562_01

Kolom I in het Excelbestand bevat een expressie (uitdrukking) waarbij de verschillende parameters gescheiden zijn door het scheidingsteken dat u in Windows instelde (Regional settings).
Indien u nu het bestand opslaat als een CSV-bestand, dan zullen de verschillende velden ook gescheiden worden door een ‘;’ (puntkomma). Bij het opslaan naar CSV wordt immers het teken gebruikt dat u als ‘List-separator’ instelde in uw ‘regional settings’. U zal dan een bestand zoals het onderstaande bekomen.

KB000562_02

Het importeren zal verkeerd lopen omdat de puntkomma zowel gebruikt wordt om de verschillende velden te scheiden als om de parameters in de expressie te scheiden. De laatste ‘;’ zullen ook als scheidingstekens voor velden geïnterpreteerd worden.

U kan dit probleem omzeilen door het Excelbestand op te slaan als een Tab delimited bestand.

KB000562_03

In het beschrijvend bestand kan u dan in de sectie [$Global] het volgende opgeven

FieldSep = Tab

Opmerking: U zal ook nog via het Replace-commando de ” moeten verwijderen uit het txt-bestand.