Externe Artikelen handleiding eenvoudig gebruik: verschil tussen versies
k (1 versie) |
|
(geen verschil)
|
Huidige versie van 21 apr 2013 om 13:52
Inhoud
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
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 | |
|
Inlezen
Start de Inkoper op, kies uit het menu Archief voor de opdracht Importeer.
In dit venster, kies voor Importeer artikelen en klik OK.
- Indien u inkoopartikelen wilt inlezen kies Bepaal de leverancier
- Indien u alleen verkoopartikelen wilt inlezen kies Gebruik N0-document
Selecteer uit het pop-up menu de zoekmethode en geef de return toets.
Geef vervolgens het zoekgegeven in.
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.
In dit venster wordt het aantal regels aangegeven in het hulpbestand Nxx of Pxx.
Geef OK.
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.
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.
In het volgende venster wordt nog aangegeven hoeveel artikelen in het inleesbestand staan.
Als de gegevens zijn ingelezen wordt in dit venster ter controle aangegeven hoeveel nieuwe artikelen zijn ingevoerd en hoeveel er zijn gewijzigd.