Externe Artikelen handleiding eenvoudig gebruik

Uit Merlijn Handleiding
Versie door Merlijn (Overleg | bijdragen) op 21 apr 2013 om 14:52 (1 versie)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken

Doel van de procedure

Het doel van deze procedure is om artikelen die door leveranciers of anderen in elektronische vorm (tekstbestand of spreadsheet) zijn aangeleverd in te lezen in het eigen artikelbestand. Dit kunnen nieuwe artikelen zijn, bestaande artikelen waarvan bijvoorbeeld de prijs is gewijzigd of aanduidingen van vervallen artikelen.

Vaak heeft iedere leverancier zijn eigen indeling van de gegevens, maar levert deze wel iedere keer op dezelfde manier aan.

In plaats van de leverancier voor te schrijven op welke manier hij zijn gegevens moet aanleveren (meestal kan of wil de leverancier hieraan niet voldoen) is er een andere opzet gemaakt.

Hierbij wordt de manier waarop de leverancier zijn gegevens aanlevert vastgelegd in een document dat iedere keer weer kan worden gebruikt bij het inlezen van de door die leverancier aangeleverde gegevens. Dit document noemen wij een 'N-document'. Simpel gesteld: in het 'N-document' staat welke gegevens de leverancier aanlevert en de volgorde van de kolommen.

Bij het inlezen van gegevens wordt dus altijd gebruik gemaakt van twee documenten:

  • het 'N-document' dat de indeling beschrijft
  • het inleesbestand van de leverancier zelf

Waar zijn de opdrachten te vinden

Om de gegevens daadwerkelijk in te lezen kiest U één van de volgende opdrachten :

Het inleesbestand van de leverancier voorbereiden

De bestanden van een leverancier kunnen soms in één keer worden ingelezen, maar soms is een voorbereiding nodig door het voorbewerken van het document met een spreadsheetprogramma.

Het inleesbestand moet aan een aantal voorwaarden voldoen om gebruikt te kunnen worden:

  • spreadsheetformaat
  • het bestand moet een "schoon" bestand zijn, dus zonder verwijzingen of formules
  • bij getallen kunnen voorloop nullen een probleem opleveren
  • gebruik van spaties en voorloop nullen (bijv: artikelcode) alleen als dit zo bedoeld is
  • de bedragen moeten in centen zijn

Afgezien van de volgorde van de velden is ook de scheiding tussen de velden vaak verschillend (tab, return, puntkomma enzovoorts) of hebben deze een vaste lengte van de gegevens.

NB: na wijziging wordt het document opgeslagen als Text-only document, anders kan Merlijn deze niet verwerken.

Maken van een 'N-document'

De specificaties worden in speciale documenten vastgelegd de 'N-documenten'. Deze documenten komen in een speciale map binnen de administratiemap te staan : de map LeverancierSpecs. Voor het maken van een N-document is de beste manier een spreadsheetpakket (bijv: Numbers van Apple's of Excel van Microsoft) op te starten, hierin de indeling te maken en dit document als Text-only formaat weg te schrijven.

De 'N-documenten' krijgen altijd een vaste naam, zodat het pakket deze kan herkennen. Deze naam bestaat uit :

  • de letter 'N'
  • het relatienummer van de leverancier

Voor een leverancier met het relatienummer 1234 wordt de naam van het document 'N1234. De documenten komen in een speciale map binnen de administratiemap te staan : de map LeverancierSpecs.

Voor het inlezen van de eerder uit Merlijn geëxporteerde bestanden wordt leverancier 'nul' gebruikt, dus heet het document 'N0' (nul).

Voordat een 'N-document' kan worden gemaakt moeten een aantal gegevens beschikbaar zijn:

  • hoe zijn de gegevens gescheiden van elkaar (met tabs, puntkomma of hebben deze vaste lengtes)
  • welke velden worden aangeleverd en in welke volgorde
  • welke velden van de leverancier komen overeen met welke velden van Merlijn
  • wat zijn de vermelde prijzen ? Bruto/netto, inclusief of exclusief BTW

Voor het maken van een N-document is de beste manier een spreadsheetpakket (bijv: Numbers van Apple's of Excel van Microsoft) op te starten, hierin de indeling te maken en dit document als Text-only formaat weg te schrijven.

De documenten krijgen altijd een vaste naam, zodat het pakket deze kan herkennen " bestaande uit "

  • de letter 'N'
  • het relatienummer van de leverancier

Bij een leverancier met het relatienummer 1234 wordt de naam van het document 'N1234' of 'W1234'.

Indeling 'N-document'

Het document bevat alle specificaties die nodig zijn voor :

  • het type bestand (tab-delimited of puntkomma gescheiden)
  • het aantal regels dat overgeslagen moet worden voor de data begint (bij beiden dus nu 1 regel)
  • het aantal velden van het document
  • een aantal regels met Merlijn veldnamen, met een 'dummy' veld voor de velden die overgeslagen moeten worden. De regel begint met de veldnaam, gevolgd door een code voor de actie die ondernomen moet worden (zie verderop)
  • de code 'EOF velden' om duidelijk aan te geven dat de velddefinities over zijn
  • de filterspecificaties voor het inlezen van de artikelen

Type bestand

Het type bestand wordt als volgt aangegeven :

  • 'tab' is tab-delimited
  • 'puntkommma' is punt-komma gescheiden
  • 'vast' bestand met vaste lengtes

Veldnamen

Als we naar de veldnamen zelf kijken zijn er verschillende mogelijkheden, die we kunnen aangeven door achter de veldnaam een | neer te zetten, gevolgd door 1 van onderstaande acties :

  • 'overslaan' : de kolom overslaan. Er hoeft dan ook geen andere actie te volgen
  • 'nieuw' :de kolom inlezen
  • 'nieuwleeg: indien de rubriek leeg is de nieuwe waarde overnemen, anders laten staan
  • 'default' : de defaultwaarde van het veld overnemen
  • 'fixed : het veld krijgt de vaste waarde die hierachter staat gedefinieerd
  • 'speciaal' : een speciale behandeling die per gebruiker is vastgelegd

Filter

Als eerste zullen wij duidelijk aangeven wat de 'normale' situatie is, waarvoor de onderstaande uitzonderingen zullen gelden. Wat hiermee bedoeld wordt is dat alles ingelezen wordt, behalve de uitzonderingen of juist niets, behalve de uitzonderingen.

Verder is iedere volgende regel een uitzondering (bij alles) of een aanvulling (bij niets} op de eerste regel.

  • Op de eerste regel 'Alles' is alles inlezen, 'Niets' is niets inlezen

De regels eronder geven aan welke uitzonderingen er zijn door :

  • een veldnaam
  • '=', gelijk aan, '#' bevat, '<' kleiner dan waarde, '>' groter dan waarde
  • het vergelijkingsveld
  • de velden worden gescheiden door een '|'

Het eerste document

Omdat de totale uitwerking de nodige tijd zal kosten zullen wij eerst uitgaan van een vereenvoudigde oplossing :

  • in de eerste regel 'tab' of 'puntkomma'
  • veldnamen allemaal dummy of inlezen, behalve groep --> 250
  • filter op 'omschrijving-2' = merk
  • filter op omschrijving-1 bevat 'TLP' of 'TLA' , dat zijn alle site-licenties

Bij de uitwerking is er voor gekozen om de koppen en filters in een tekstbestand met kolommen (TAB-Delimited) op te slaan, zodat het onderhoud hiervan met Excel kan plaatsvinden en het geheel overzichtelijk blijft.

Sleutelwoorden

In de eerste kolom van iedere regel dient altijd een van de volgende sleutelwoorden te staan, ieder sleutelwoord is een aanduiding over hetgeen wat er voor de rest op die regel staat.

Het pakket kent de volgende sleutelwoorden :

  • MERLIJNKOP
  • LEVKOP
  • ZWART
  • WIT
  • FORCEER
  • PERCENT
  • SKIPLINES
  • INITVELD
  • USE_AANWEZIG
  • AANWEZIG
  • URL
  • SCHEIDING

MERLIJNKOP

Op deze regel komen de Merlijn importsleutelwoorden te staan, zoals ARTCODE, OMSCHR1, INKPRIJS, e.d. De volgorde van sleutelwoorden dienen overeen te komen met de indeling van het te importeren bestand. Voor kolommen die niet ingelezen mogen/kunnen worden kan "DUMMY" als importsleutelwoord worden gebruikt.

LEVKOP

Dit is een kopie van de kop uit het aangeleverde artikelbestand Deze heeft alleen een commentaarfunctie en dient voor een gemakkelijke vergelijking met de MERLIJNKOP

ZWART

Op deze regel kunnen zwart-condities worden opgenomen, bv ADOBE in de kolom van de fabrikant, en #bevat TLD in de kolom van de omschrijving. Zwart regels kunnen meerdere keren in document worden toegevoegd. Overslaan gebeurt uiteindelijk als één van de zwart-regels een positief resultaat oplevert. Een regel levert een postief resultaat op als aan alle ingevulde condities op die regel is voldaan.

WIT

Op deze regel kunnen wit-condities worden opgenomen. Wit regels kunnen meerdere keren in document worden toegevoegd. Meenemen gebeurt uiteindelijk als één van de wit-regels een positief resultaat oplevert. Een regel levert een postief resultaat op als aan alle ingevulde condities op die regel is voldaan.

Indien Zwart een positief resultaat heeft opgeleverd wordt het artikel altijd overgeslagen

FORCEER

Ongebruikt.

PERCENT

Om een bepaalde kolom te berekenen met een percentage adhv een ander veld. Bv De verkoopprijs kan bepaald worden aan de hand van de inkoopprijs door in de kolom van de verkoopprijs de volgende toekenning te zetten :

  • INKPRIJS*120,00

Bij een inkoopprijs van 100,00 wordt de verkoopprijs dan 120,00

SKIPLINES

Het aantal regels dat moet worden overgeslagen van het te importeren document. Normaalgesproken is dat 1 kopregel. In de tweede kolom zet je dan een 1.

INITVELD

Wordt gebruikt om bepaalde velden een initiële waarde te geven, bv groep op 250. In iedere kolom mag 1 toekenning worden gezet, er wordt niet naar de kolomkop gekeken.

  • GROEP=250
  • EENHOMS=Stuks

Leidende spaties worden ook in de tekst meegenomen, dus direct achter de = beginnen

USE_AANWEZIG

Zet een 1 in de 2e kolom achter dit sleutelwoord. In dat geval wordt de regel "AANWEZIG" gebruikt, waarmee per kolom kan worden aangegeven of bij bestaande artikelen, dit veld moet worden overschreven of niet.

AANWEZIG

Met "AANWEZIG" kan per kolom worden aangegeven of bij bestaande artikelen, dit veld moet worden overschreven of niet, of alleen indien het nog leeg is :

  • + Altijd overschrijven met de nieuw aangeleverde waarde
  • - Niet overschrijven
  • 0 Alleen overschrijven indien het veld nog op nul staat, leeg is of met een spatie begint.

URL

Voor automatisch downloaden importbestanden.

  • 1e kolom : Usernaam
  • 2e kolom : Userpasswoord
  • 3e kolom : FTP-Path

Het is voldoende om bij Usernaam (1e kolom achter sleutelwoord) iets in te vullen om bij de import het extra venster voor bestandsdownload te laten verschijnen. Ook via dat importvenster kunnen de FTP-gegevens dan worden ingevuld.

Het gedownloadde bestand krijgt als naam :

  • Artikelbestand
  • Relatienr. leverancier
  • Datum van vandaag

en wordt automatisch geopend indien de download goed is gegaan, anders krijg je het open venster waarin een artikelbestand geselecteerd kan worden.

SCHEIDING

De scheiding tussen rubrieken. Zet een van de volgende code-woorden in de 2e kolom :

  • TAB
  • KOMMA
  • PUNTKOMMA

Indien "SCHEIDING" ontbreekt in het specificatiedocument vraagt het pakket als vanouds om het scheidingsteken via een venster.

FUNCTIES

  • #bevat Gebruikt in WIT/ZWART regels om te controleren of het veld een bepaalde tekst bevat aan de hand waarvan de import van het artikel dan geblokkeerd kan worden of niet.

Het document zelf

N-document.jpg

Met sleutelwoorden wordt aangegeven welke velden in het inleesdocument staan :

  • zet in cel A1 het woord 'MERLIJNKOP'
  • in cel B1 het sleutelwoord van de eerste kolom
  • in cel C1 het sleutelwoord van de tweede kolom

enz.

Staat een kolom wel in het in te lezen document maar mag niet worden ingelezen, dan wordt het sleutelwoord niet ingevuld en blijft de kolom blanco.

Op de tweede regel wordt aangegeven hoe de kolommen van elkaar zijn gescheiden :

  • zet in cel A2 het woord 'SCHEIDING'
  • in cel B2 het woord 'TAB'

Tenslotte wordt nog aangegeven of van het inleesdocument de eerste regels moeten worden overgeslagen omdat hierin bijvoorbeeld bladnummers of kolomkoppen staan :

  • zet in cel A3 het woord 'SKIPLINES'
  • in cel B3 het cijfer '1' (of hoeveel regels overgeslagen moeten worden)

Meer gegevens zijn niet nodig.

Inlezen

Het 'N0' document wordt in een speciale map binnen de administratiemap geplaatst : de map LeverancierSpecs.

Nieuwe artikelen of gewijzigde

  • Wanneer het artikel (artikelcode) al bestaat, worden de artikelgegevens gewijzigd.
  • Wanneer het artikel (artikelcode) nog niet bestaat, wordt een nieuw artikel toegevoegd.

Speciaal met Excel-documenten en nullen vooraan in de artikelcode is dus enige voorzichtigheid geboden om te verhinderen dat de routine grote aantallen nieuwe artikelen toevoegt, terwijl dat niet de bedoeling was.


Formaat

Bedrag

  • Van in te lezen bedragen worden alle punten en komma's verwijderd.
  • Bedragen worden als 'centen' ingelezen, het is noodzakelijk dat de bedragen in centen worden aangegeven of met twee cijfers achter de komma.

Datum

Een datum moet het formaat DDMMJJ hebben.

Sleutelwoorden

Veld Sleutelwoord Module Bijzonderheden
Accijnstype INFOSRT Accijnsberekening
Adviesprijs excl. BTW ADVIESPRYS Inclusief-Exclusief
Adviesprijs incl. BTW ADVIESINCL Inclusief-Exclusief Wordt teruggerekend naar excl BTW en opgeslagen in de adviesprijs
AfprijsPct PRIJSPERC Afprijspercentage
Alcoho-% ALCOPERC Alcoholberekening Het alcohol-gehalte van het artikel.
Alt EAN-code ALTEANCODE EAN-Codes Een alternatieve EAN-code voor het artikel
Artikelcode ARTCODE Algemeen Mag bestaan uit letters, cijfers en of leestekens van één t/m vijftien postities
Bruto gewicht GRAMBRUTO
BTW-code BTWPERC Algemeen BTW-code '0' is geen BTW, '1' is het lage BTW-tarief en '2' het hoge BTW-tarief
Catalogus A ARTPRYS1 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus B ARTPRYS2 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus C ARTPRYS3 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus D ARTPRYS4 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus E ARTPRYS5 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus F ARTPRYS6 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus G ARTPRYS7 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus H ARTPRYS8 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus I ARTPRYS9 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus J ARTPRYS10 Meerprijzen, Meervaluta, Meer Kortingen
Catalogus korting KORTCODE Meer Kortingen Cataloguskorting toekennen
DTBGroep DTBGROEP Maten
EAN-code EANCODE EAN-Codes
EAN-code EANSLEUTEL EAN-Codes Artikelcode adhv EAN-code bepalen
Emballageprijs EMBALPRYS Accijnsberekeningen
Embalage exclusief BTW EMBALPRYS
Fabrikant FABRIKANT Fabrikant
GN-code GNCODE
Groep GROEP Algemeen Waarde moet tussen de 1 en 250 liggen
Inhoud in cc FLESINHOUD
ISBNCODE ISBNCODE
Kleur KLEURCODE Maten
Laatste-verk.dat VKDATUM Algemeen Laatste verkoopdatum
Maataanduiding MAATAANDUI Maten
Maatbalk MAATBALK Maten
Magazijnlocatie MAGLOK Algemeen
Merk ARTMERK Merk
Minimumvoorraad MINIMUMVRR Algemeen
NaCalc NACALC Nacalcutatie
Netto gewicht GRAMNETTO
Omschrijving-1 OMSCHR1 Algemeen Mag bestaan uit letters, cijfers en/of leestekens van één t/m veertig postities.||
Omschrijving-2 OMSCHR2 Algemeen Mag bestaan uit letters, cijfers en/of leestekens van één t/m vijftien postities.
Omschr.eenheden EENHOMS Algemeen Mag bestaan uit letters, cijfers en/of leestekens van één t/m vijftien postities.
StandaardCalc STANCALC Standaard calculatie
Stijl STIJL Maten
Stuks EENHEID
Verkoopprijs excl. BTW ACTIEPRYS Algemeen
Verkoopprijs incl. BTW ACTIEINCL Algemeen Wordt teruggerekend naar excl BTW en opgeslagen in de Verkoopprijs
Verrekenprijs BHVERREKEN Algemeen
Verpakt per VERPPER Algemeen Aantal stuks per verpakking.
VoorCalc VOORCALC Voorcalcutatie
Voorraad negeren KENMERKX210 Kassakoppeling Geeft aan dat er geen voorraad van het artikel wordt bijgehouden is (J of N)
Winkelartikel KENMERKX233 Kassakoppeling Geeft aan of het een winkelartikel is (J of N)
WWS Kleurcode WSSKLEUR Maten

Formaat

Bedrag

  • Van in te lezen bedragen worden alle punten en komma's verwijderd.
  • Bedragen worden als 'centen' ingelezen, het is noodzakelijk dat de bedragen in centen worden aangegeven of met twee cijfers achter de komma.

Datum

Een datum moet het formaat DDMMJJ hebben.

Sleutelwoorden

Veld Sleutelwoord Module Bijzonderheden
Leverancier kortingscode LEVKRTCODE Algemeen
Zoeknaam leverancier LEVZOEKNM Algemeen
Bestelcode BESTELNR Algemeen Bestelcode invullen
Bestelcode BESTELCODE Algemeen Artikelcode adhv Bestelcode bepalen
Inkoopvaluta INKVALSTR Vreemde valuta Inkoop
Br.prijs val Prijseenheid INKPRIJS Algemeen
Kostprijselement bedrag 1 KSTPRELM1 Kostprijselementen
Kostprijselement bedrag 2 KSTPRELM2 Kostprijselementen
Kostprijselement bedrag 3 KSTPRELM3 Kostprijselementen
Verkoopeenheid EENHEID Algemeen
Prijseenheid PRIJSEENH Algemeen
Inkoopeenheid INKOOPEENH Algemeen
Adv. verkoop L_ADVPRIJS Algemeen
Levertijd LEVERTIJD Algemeen
Voorkeur L_VOORKEUR Algemeen
Vervallen L_VERVAL Algemeen
Minimumbestel L_MINIMUM Algemeen
Staffel Ink. eenh 1 L_STAFFEL1 Algemeen
Staffel Ink. eenh 2 L_STAFFEL2 Algemeen
Staffel Ink. eenh 3 L_STAFFEL3 Algemeen
Staffel Ink. eenh 4 L_STAFFEL4 Algemeen
Staffel Ink. eenh 5 L_STAFFEL5 Algemeen
Br.prijs val Prijseenheid 1 L_BRPRIJS1 Algemeen
Br.prijs val Prijseenheid 2 L_BRPRIJS2 Algemeen
Br.prijs val Prijseenheid 3 L_BRPRIJS3 Algemeen
Br.prijs val Prijseenheid 4 L_BRPRIJS4 Algemeen
Br.prijs val Prijseenheid 5 L_BRPRIJS5 Algemeen
Kortinggroep (Kt) 1 L_KRT_GRP1 Algemeen Getal 1..10 dat de ingang van de kortingtabel bij de leverancier aangeeft
Kortinggroep (Kt) 2 L_KRT_GRP2 Algemeen
Kortinggroep (Kt) 3 L_KRT_GRP3 Algemeen
Kortinggroep (Kt) 4 L_KRT_GRP4 Algemeen
Kortinggroep (Kt) 5 L_KRT_GRP5 Algemeen
Bruto % 1 L_BR_KRT_1 Algemeen
Bruto % 2 L_BR_KRT_2 Algemeen
Bruto % 3 L_BR_KRT_3 Algemeen
Bruto % 4 L_BR_KRT_4 Algemeen
Bruto % 5 L_BR_KRT_5 Algemeen
Netto % 1 L_NT_KRT_1 Algemeen
Netto % 2 L_NT_KRT_2 Algemeen
Netto % 3 L_NT_KRT_3 Algemeen
Netto % 4 L_NT_KRT_4 Algemeen
Netto % 5 L_NT_KRT_5 Algemeen
  • + = Altijd overschrijven met de nieuw aangeleverde
  • - = Niet overschrijven
  • 0 = Alleen overschrijven indien het veld in de admi nog op nul staat of leeg is of met een spatie begint.

Inlezen

Inkoper Menu Archief Importeer.png


Start de Inkoper op, kies uit het menu Archief voor de opdracht Importeer.


Inkoper Archief Importeer.png


In dit venster, kies voor Importeer artikelen en klik OK.


Bepaal leverancier.png


  • Indien u inkoopartikelen wilt inlezen kies Bepaal de leverancier
  • Indien u alleen verkoopartikelen wilt inlezen kies Gebruik N0-document


Zoekmethode.png


Selecteer uit het pop-up menu de zoekmethode en geef de return toets. Geef vervolgens het zoekgegeven in.


Volledig bestand.png


Volledig bestand staat voor alle artikelen inlezen, nieuw en gewijzigde artikelen en maakt gebruik van het Nxx document.

Prijzenbestand staat voor alléén inkoopprijs inlezen van de bestaande artikelen en maakt gebruik van het Pxx document.

Geef OK.


Regels in N-doc.png


In dit venster wordt het aantal regels aangegeven in het hulpbestand Nxx of Pxx.

Geef OK.


Blokkeer of overschrijf.png


Indien u kiest voor 'Blokkeer reeds bestaande artikelen' worden alléén de nieuwe artikelen ingelezen.

Indien u kiest voor 'Overschrijf importgegevens van best. artikelen' wordt alléén het Prijzenbestand ingelezen.


Open N-Doc.png


Via het volgende venster kunt u het inleesdocument selecteren. Zoek het bestand van de leverancier op, op de plek waar u het heeft bewaard.

In dit voorbeeld heet de map 'N-Document' en het inleesdocument 'Seapower CR-UTF8.txt'.

Selecteer dit document en klik op OPEN.


Aantal regels in inleesdoc.png


In het volgende venster wordt nog aangegeven hoeveel artikelen in het inleesbestand staan.


Inkoper Import Gereed.png


Als de gegevens zijn ingelezen wordt in dit venster ter controle aangegeven hoeveel nieuwe artikelen zijn ingevoerd en hoeveel er zijn gewijzigd.