Compad
Specificatie – XML Interface Compad Bakkerij
Publicatiedatum Relatie Latest Content: Auteur:
22 januari 2014 Technical partners i:\server\documentation\specs\specificatie xml interface compad bakkerij.doc Carol Esmeijer, Compad Software
Compad
Specificatie – XML Interface Compad Bakkerij
Carol Esmeijer
Published : Applied to :
22 januari 2014 Compad Bakkerij 2007 .. 2013
i
Copyright Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Compad may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2004 Compad Software. All rights reserved. Compad, Compad voor Windows, Prodel and Protocol Description Language are either registered trademarks or trademarks of Compad Software in the Netherlands and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Acknowledgments Project Editor: Carol Esmeijer, Jan-Willem Meints, Ronald van Raaphorst Technical Reviewers: Carol Esmeijer Graphic Design: Carol Esmeijer Production: Carol Esmeijer
ii
Inhoudsopgave GEGEVENSINTERFACE
2
OVERWEGINGEN
3
TRANSPORT
6
STRUCTUUR
8
STAMGEGEVENS
17
KASSARAPPORTAGE
39
SCRIPT COMMANDO’S
41
iii
I N T R O D U C T I E
Gegevensinterface
In dit document wordt een beschrijving gegeven van de gegevens interface tussen Compad Bakkerij en andere applicaties. Middels deze interface kunnen gegevens tussen Compad Bakkerij en andere applicaties worden uitgewisseld. Het doel van document is te komen tot een zo volledig mogelijke intergratie tussen de twee softwarepakketten. Hierdoor kunnen er gaande het implementatietraject wijzigingen ontstaan in de in dit document gegeven specificatie. Tevens vormt dit document een basis voor verdere intergratie en/of samenwerking tussen de twee computerapplicaties.
Hoe is dit document gestructureerd Dit document is opgedeeld in een de volgende hoofdstukken: Hoofdstuk 1 “Overwegingen” In het eerste hoofdstuk wordt ingegaan op enkele overwegingen. Tevens wordt er aandacht besteed aan de basis van het xml formaat. Hoofdstuk 2 “Transport” Het tweede hoofdstuk staat stil bij het transport tussen de twee applicaties. Hoofdstuk 3 “Structuur” De algemene basis structuur van de xml interface komt aanbod in het derde hoofdstuk. Hoofdstuk 4 “stamgegevens” In het vierde hoofdstuk wordt een beschrijving stamgegeven die vanuit Compad Bakkerij aangeboden kunnen worden aan POS Manager. Hoofdstuk 5 “rapportgegevens” De gegevens interface ten behoeven van het importeren van de electronisch journaal wordt beschreven in hoofdstuk 5.
2
H O O F D S T U K
1
Overwegingen
Het doel van de gegevensinterface tussen Compad Bakkerij en andere applicaties is te komen tot een zo optimaal mogelijke intergratie tussen deze twee applicaties. In dat kader moet men dit document zien als een start voor het ontwikkelen van de gegevens interface en is dit document zeker geen beschrijving van keiharde specificatie. Het doel van dit document is juist te komen tot een zo optimaal mogelijk intergratie, waarin beide partijen zich goed kunnen vinden.
Eisen Alvorens we komen tot een goede specificatie van de gegevens interface voor beide partijen is het zaak om eerst helderheid te krijgen in de eisen die gesteld worden door de eindgebruikers en de resellers. De gegevens interface tussen Compad Bakkerij en andere applicaties moet voldoen aan de volgende eisen:
Uitwisseling van gegevens tussen applicaties op : o o o
Dezelfde computer Hetzelfde netwerk Op verschillende computers
Versie onafhankelijk
Zo optimaal mogelijke intergratie
Eenvoudig in gebruik
Eenvoudig te installeren / configureren
Betrouwbaar
Voorbereid op nieuwe functionaliteit / gegevens
3
Interface Gegevens uitwisseling tussen twee applicaties is op verschillende technieken mogelijk. Hierbij moet men denken aan :
Directe benaderingen van gegevens bestanden Indirecte benaderingen van gegevens bestanden (via ODBC) Gegevensuitwisseling via COM, OLE of SOAP interface Gegevensuitwisseling via bestanden.
Om versie conflicten tussen de twee applicaties te voorkomen wordt het gebruik van directe danwel indirecte bestandsbenadering afgeraden. Ook methodes zoals OLE, COM en SOAP zijn niet toepasbaar omdat gegevens tussen Compad Bakkerij en POS Manager moet kunnen plaatsvinden via:
Directe communicatie op dezelfde computer Directe communicatie in hetzelfde netwerk Indirecte communicatie met de applicaties op verschillende locaties (hoofdkantoor / filialen)
Op basis van deze eisen, wordt in eerste instantie gedacht aan het uitwisselen van gegevens via een ASCII bestand, waarbij beide applicaties een mogelijkheid hebben om dit bestand automatisch te detecteren en te importeren.
Bestandsformaat Voor de gegevens uitwisseling middels ASCII bestanden kan men gebruik maken van bijvoorbeeld
Punt-komma gescheiden bestanden (CSV bestanden) Bestanden met een vaste lengte XML formaat
Omdat het doel is om te komen tot een zo optimaal mogelijke intergratie tussen de twee applicaties, moet het mogelijk zijn om de bestandstructuur uit te bereiden, zonder dat er versie conflicten ontstaan tussen de twee applicaties, stel ik voor om gebruik te maken van een XML formaat. Voor het uitwisselen van gegevens tussen de twee applicaties kan voor
iedere gegevensbestand een eigen bestandsstructuur worden vastgelegd of
een bestandsstructuur worden vastgelegd dat eventueel alle gegevens kan bevatten.
4
In het kader van gegevensoverdracht tussen de twee applicatie via bijvoorbeeld internet, stel ik voor om te kiezen voor gegevens overdracht middels één gegevensbestand dat alle gegevens kan bevatten.
Historie Hieronder een historisch overzicht van de wijzigingen in deze specificatie:
Datum 08-OKT-04 10-JAN-07 11-OKT-10 20-OKT10 30-OKT-10 06-JUN-12 25-JUN-12 24-SEP-12
Auteur CCE / CCE JWM CCE CCE CCE CCE CCE CCE
14-DEC-12 23-JAN-13 01-NOV-13 13-JAN-14 22-JAN-14
CCE CCE CCE CCE CCE
Omschrijving Eerste versie MainDepartment 2 toegevoegd Betaalwijzen en Kassabonnen toegevoegd Script (concept) toegevoegd Recipt toegevoegd Orders toegevoegd itemSales aangepast Orders (customercompanyname, customertype en customercontactpersonname) toegevoegd. Cashregister xml tags toegevoegd Recipe XML tags toegevoegd tbv ter haar Customer XML tags toegevoegd tbv Softmaat Recipe XML tags toegevoegd tbv ter haag Correcties van typefouten in specificatie Recipe wordt gebruikt voor recepturen en Receipt voor kassabonnen!!
5
H O O F D S T U K
2
Transport
De Compad software kan op drie manieren de xml berichten exporteren en eventueel middels ftp op een ftp server plaatsen.
Handmatig Automatisch tijdsgestuurd Middels startparameters Middels een script.
Handmatig Om de gegevens handmatig te exporteren dient u de handleiding van de software te raadplegen.
Automatisch tijdsgestuurd De Compad software kan de gegevens tijdsgestuurd exporteren en transporteren naar bijvoorbeeld een netwerkschijf of een ftp server.
Startparameters De meeste Compad software producten kunnen door middel van startparameters worden gestart om zo eventueel automatische taken direct uit te voeren. Op deze manier kunnen bepaalde taken automatisch vanuit een andere applicatie of vanuit bijvoorbeeld Windows Taakplanner. De volgende startparameters kunnen voor het automatisch uitvoeren van taken van belang zijn:
Startparameter /NOLIVEUPDATE /NOBACKUP /SILENCEMODE=VCOM
Schakel de automatisch update uit Waarschuwing t.b.v. backup wordt niet weergegeven. In Silencemode worden de software gestart en wordt een bepaalde taak 6
uitgevoerd zonder dat er interactie met de gebruiker is. Tevens wordt na het uitvoeren van de taak de software automatisch afgesloten.
/AUTOTASK=x
/AUTOTASKPLAN=y
/TASKSTARTDATE=dd-mm-yyyy /TASKENDDATE=dd-mm-yyyy /SCRIPT=”c:\test script\script.xml”
=VCOM geeft aan dat de actie wordt gestart vanuit VCOM. Automatische taak die uitgevoerd dient te worden. Waarbij x staat voor de taak die automatisch uitgevoerd dient te worden. Automatisch takenpakket dat door de software uitgevoerd dient te worden. Waarbij y staat voor het nummer van het takenpakket. De takenpakketten kunnen in de software worden vastgelegd. Startdatum t.b.v. het uitvoeren van de automatische taak of takenpakket. Einddatum t.b.v. het uitvoeren van de automatische taak of takenpakket. De software gaat script.xml uitvoeren.
Script De softwareproducten van Compad ondersteunen ook Script waarin bepaalde taken batchgewijs kunnen worden uitgevoerd. De scripts kunnen op twee manieren worden aangeboden.
Via de startparameter Door het script bestand in de import\auto folder van Compad te plaatsen. Het bestand moet dan ook de naam Script.xml hebben.
In hoofdstuk 6 wordt het script.xml bestand verder beschreven.
7
H O O F D S T U K
2
Structuur
In de voorgaande hoofdstukken heb ik enkele overwegingen op papier gezet met als doel om zo te komen tot een zo optimaal mogelijke intergratie tussen de twee applicaties. In dat kader heb ik voorgesteld om uit te gaan van één XML bestand (al of niet gecomprimeerd) met als voordeel dat:
De gegevens uitwisseling versie onafhankelijk is De interface in de toekomst kan worden aangepast met nieuwe functionaliteit / gegevens Het xml bestand eenvoudig getransporteerd kan worden via internet of intranet
Algemeen Alvorens we verder gaan met de algemene opbouw van de gegevens is het goed om eerst even stil te staan bij de volgende algemene specificaties, t.b.v.
Alfanumerieke notatie Numerieke notatie Datum notatie Tijd notatie Ja/Nee notatie
Alfanumerieke notatie Voor alfanumerieke notatie binnen XML berichten is door XML.ORG een standaard vastgelegd. Ik stel voor om deze standaard te hanteren.
Numerieke notatie Ook voor numerieke notatie geldt er binnen XML berichten een standaard notatie. Waarbij als decimaal symbool een punt wordt gebruikt. Verder worden er geen groepssymbolen en geen valuta symbolen gebruikt. Hieronder volgen enkele voorbeelden: XML bericht
Waarde 8
12.95 12345.67 10 10.00
12,95 12.345,67 10,00 10,00
Datum notatie Ook voor de datum notatie stel ik voor om gebruik te maken van de standaard zoals deze is vastgelegd door XML.ORG. Dat wil zeggen eerst de volledig jaar aanduiding inclusief de eeuw, maand en jaar. XML bericht
2007-01-08
Waarde 8 januari 2007
Tijd notatie Voor de tijd aanduiding stel ik voor om gebruik te maken van de 24 uur tijdsaanduiding. XML bericht
13:26:00 09:01:34
Waarde 13:26:00 9:01:34
Ja/Nee notatie Voor alle boolean aanduidingen zoals True/False, Ja/Nee, 1/0 stel ik voor de aanduiding TRUE of FALSE te gebruiken XML bericht
False True
Waarde Nee/False/0 Ja/True/1
Opbouw Het XML bestand ten behoeve van de gegevensuitwisseling heeft de volgende opbouw:
documentStructureVersion (verplicht) een versie aanduiding waarmee wordt aangegeven om welke versie het gaat
request (verplicht) een verzoek van de applicatie aan de ontvangende applicatie.
informationProvider (verplicht) bevat de gegevens van de applicatie die de gegevens aanbied
9
administration (verplicht) om het gebruik van meerdere administraties binnen één applicatie te kunnen ondersteunen wordt er binnen het XML bericht de administratie gegevens opgenomen. De ontvangende applicatie kan op deze wijze de aangeboden gegevens controleren om op deze wijze te voorkomen dat gegevens per abuis in de verkeerde administratie worden ingelezen.
administrationStore (optioneel) wanneer de ontvangende applicatie gebruik maakt van meerdere vestigingen dan kan middels deze informatie worden vastgesteld van welke vestiging de gegevens afkomstig zijn.
Hieronder wordt een voorbeeld bericht weergegeven. Omdat het hierom een voorbeeld gaat is het bericht niet volledig <document> <documentStructureVersion>1.0.0 <requests> <request> <requestType>import <requestDate>2007-01-25 <requestTime>13:38
CBA Compad Bakery P Compad Software 000001 Echte Bakker Van der Linde Jonkheer von Heydenstraat 30 7481 ED HAAKSBERGEN Nederland 000001 Echte Bakker Van der Linde Jonkheer von Heydenstraat 30 7481 ED HAAKSBERGEN Nederland … … …
10
documentStructureVersion Om het importeren voor de ontvangende applicatie te vereenvoudigen bevat ieder xml bericht een versie nummer. Indien noodzakelijk zal dit versienummer worden verhoogd. Op dit moment wordt uitgegaan van versie 1.0.0
Request Een applicatie kan aan een andere applicatie één of meerdere verzoeken indienen. In eerste instantie is er vanuit gegaan dat Compad Bakkerij binnen de totaaloplossing een leidende rol speelt. Daarom moet er volgens mijn inzicht een mogelijkheid komen dat Compad Bakkerij aan POS Manager opdrachten kan geven zoals het verstrekken van gegevens. In dat kader is de tag requests opgenomen. Een tag requests kan één of meerdere opdrachten bevatten. Op dit moment zijn nog niet alle opdrachten bekend Een aanvraag (request) kan direct uitgevoerd worden of kan eventueel op een later tijdstip uitgevoerd worden. Daarom heeft iedere request naar een type (wat moet er gedaan worden) ook een datum en tijdstip waarop de opdracht moet worden uitgevoerd. Indien deze ontbreken dan moet de opdracht direct worden uitgevoerd. Naast het type en de datum/tijd kan de software die de aanvraag indient ook een referentie id meegeven en/of response bestandsnaam. De ontvangende partij kan dan bij het geven van de response gebruik maken van het RequestId zodat de aanvragende partij kan vaststellen welke aanvragen zijn behandeld. Omdat de request tag nog niet van belang is voor het uitwisselen van stamgegevens, wordt deze op een later tijdstip verder uitgewerkt.
Information Provider De informationProvider tag is voor de bestemd voor het beantwoorden van vragen ten aanzien van de implementatie van de koppeling. Middels de tag informationProvider kan men zeer eenvoudig vaststellen door welke applicatie het xml bericht is gemaakt.
Tag informationproviderId
Omschrijving Id / code van de applicatie CBA : Compad Bakkerij BIZ : Compad Bizz CSA : Compad Store Automation
informationproviderName
Naam van de applicatie Compad Bakery Compad Store Automation Compad BIZZ
informationproviderVersion
Versie aanduiding 11
informationproviderDeveloper
Bijvoorbeeld : 2007 A Naam van het software bureau
Administration De tag administration bevat de algemene licentie gegevens en/of administratie gegevens. Compad Bakkerij heeft de mogelijkheid om met meerdere administraties te werken. Zo zou een bakker naast zijn eigen administratie bijvoorbeeld een demo administratie kunnen hebben. Om te voorkomen dat het xml bericht in een verkeerde administratie wordt ingelezen controleert Compad Bakkeri bij het importeren van het xml bericht of de huidige administratie overeenkomst met de administratie in het xml bericht. Bij afwijkende gegevens zal de gebruiker om hulp worden gevraagd. Ik kan me voorstellen dat een dergelijke methodiek ook aan de kant van POS Manager wenselijk is. Bovendien is dit tevens een beveiliging tegen oneingelijk gebruik van onze applicaties.
000001 echte bakker van der Steen GodfriedSchalckenstraat 34 4921 CR MADE Nederland 000001 echte bakker van der Steen GodfriedSchalckenstraat 34 4921 CR MADE Nederland 0162-682326 0162-6821816 www.mestrom.nl [email protected]
12
true true true true true true false
Tag administrationNumber
Omschrijving Iedere software pakket van Compad heeft een unieke nummer. Dit unieke nummer bestaat op dit moment uit maximaal 6 cijfers. De administratienummer is tevens het serienummer van de installatie. Het serienummer wordt bepaald middels de cd-key / product code. Er zijn wel een aantal uitzonderingen: 000000 000001 000002 927503
: : : :
Demo administratie Developer administratie Evaluatie pakket Bakkerij brood nodig (demo)
In de toekomst wordt het mogelijk dat de gebruiker met één licentie meerdere administraties mag voeren. Daarom zal in de toekomst het formaat van het administratienummer worden aangepast. 13
Administratie 1 van licentie 927503 krijgt dan als administratienummer 927503.0001 en administratie 2 krijgt dan als nummer 927503.0002. administrationName administrationCompanyName administrationAddress administrationPostalcode administrationCity administrationCountry
Naam van de administratie Optioneel de bedrijfsnaam. Indien deze afwijkt van de administratienaam. Adres Postcode Plaats Land
administrationStore De tag administrationStore kan eventueel wenselijk zijn voor de communicatie tussen Compad Bakkerij en verschillende installaties van POS Manager op verschillende filialen. Binnen Compad Bakkerij kunnen er meerdere vestigingen worden vastgelegd en kunnen er ook met meerdere vestigingen worden gecommuniceerd. Desgewenst zou vanwege prijsverschillenen tussen de verschillende vestigingen ook meerdere xml berichten per vestiging kunnen worden aangemaakt (wordt nu nog niet ondersteund). POS Manager zou hierop eventueel kunnen controleren, om zo te voorkomen dat stamgegevens aan de verkeerde kassa wordt aangeboden. Wanneer de gehele Store tag niet aanwezig is, dan moet men er vanuit gaan dat de stamgegevens van alle kassa’s voor alle vestigingen hetzelfde is. Aan de andere kant zal Compad Bakkerij voor het importeren van het electronisch journaal moeten weten van welke vestiging het XML bericht afkomstig is. Daarom mag de tag administrationStore in het rapport xml bericht zeker niet ontbreken:
Tag administrationstoreNumber administrationstoreName administrationstoreAddress administrationstorePostalcode administrationstoreCity administrationstoreCountry
Omschrijving Filiaalnummer. Iedere vestiging heeft een uniek nummer Naam van de administratie Adres Postcode Plaats Land
14
administrationBankAccounts De tag administrationBankAccounts bevat de binnen de Compad software vastgelegde bankrekeningen. Er kunnen meerdere bankrekeningen in de software worden vastgelegd.
Tag administrationBankAccountSeqNo administrationBankAccountNumber administrationBankAccountIbanNumber administrationBankAccountBiccode
Omschrijving Uniek volgnummer Bankrekeningnummer Iban nummer Bic code
administrationContactInformation De tag administrationGeneralSettings bevat de algemene contact informatie zoals telefoonnummer, website, e-mail adres. Tag administrationPhonenumber administrationFaxnumber administrationWebsite administrationEmail administrationEmailOffice administrationEmailOrder administrationEmailShop
Omschrijving Algemeen telefoonnummer van het bedrijf Algemeen faxnummer van het bedrijf Url van de bedrijfswebsite Algemeen e-mail adres van het bedrijf E-mail adres van het kantoor E-mail adres t.b.v. de bestellingen E-mail adres t.b.v de webshop
administrationGeneralOpeningdays De tag administrationGeneralOpeningdays bevat informatie inzake openingsdagen. Tag administrationGeneralOpeningdayMonday administrationGeneralOpeningdayTuesday administrationGeneralOpeningdayWednesday administrationGeneralOpeningdayThursday administrationGeneralOpeningdayFriday administrationGeneralOpeningdaySaterday administrationGeneralOpeningdaySunday
Omschrijving Open op maandag Open op dinsdag Open op woensdag Open op donderdag Open op vrijdag Open op zaterdag Open op zondag
15
administrationGeneralSettings De tag administrationGeneralSettings bevat de algemene administratieve bedrijfsgegevens, zoals btw-nummer of inschrijfnummer kamer van koophandel. Tag administrationTaxNumber administrationChamberOfCommerceNumber
Omschrijving BTW Nummer van de onderneming Inschrijfnummer kamer van koophandel.
16
H O O F D S T U K
4
Stamgegevens
In eerste instantie is de bedoeling dat in de totaaloplossing het computerprogramma Compad Bakkerij als leidend zal optreden. Vanuit Compad Bakkerij kunnen één of meerdere POS Managers worden voorzien van informatie. Compad Bakkerij kan de volgende gegevens aanbieden aan POS Manager:
Algemene instellingen Social Media Filialen BTW informatie Hoofdafdelingen Afdelingen Assortimentgroepen Artikelen
SocialMedia Socialmedia instellingen zoals twitter, facebook, linkedin en google+ zoals is vastgelegd in Compad wordt geëxporteerd in het xml bestand.
Tag socialMediaType socialMediaAddress
Omschrijving Unieke nummer / id Adres
<socialMedias> <socialMedia> <socialMediaType>Twitter <socialMediaAddress>@CompadSoftware <socialMedia> <socialMediaType>Facebook <socialMediaAddress> facebook.com/broodnodig
17
Filialen Om POS Manager een mogelijkheid aan te bieden om klantbestellingen te accepteren voor een andere vestiging is het noodzakelijk om deze vestiging informatie aan te bieden aan POS Manager.
Tag storeNumber storeName storeAddress storePostalcode storeCity storePhonenumber storeFaxnumber storeType
storeAvailableOnInternet
Omschrijving Unieke nummer / id Unieke naam Adres Postcode Plaats Telefoonnummer Faxnummer Soort verkooppunt: HeadOffice : Hoofdverstiging Normal : Normaal verkooppunt Beschikbaar in webshop
<stores> <store> <storeNumber>1 <storeName>Stationsplein <storeAddress>Stationsplein 17 <storePostalcode>7500 AA <storeCity>ENSCHEDE <storePhonenumber>053 - 123 45 67 <storeFaxnumber>053 - 76 54 321 <storeType> HeadOffice <storeAvailableOnInternet>true <store> <storeNumber>2 <storeName>Oude markt <storeAddress>Bisschopsstraat 39 <storePostalcode>7595 AR <storeCity>WEERSELO <storePhonenumber>0541 - 66 33 02 <storeFaxnumber> <storeType>Normal <storeAvailableOnInternet>true <store> <storeNumber>3 <storeName>Winkelcentrum <storeAddress> <storePostalcode> <storeCity> <storePhonenumber> 18
<storeFaxnumber> <storeType>Normal <storeAvailableOnInternet>true
Kassa Voor het synchroniseren van BTW gegevens tussen Compad Bakkerij en POS Manager is in het xml bericht de tax tag opgenomen. De tax tag kent de volgende sub tags. Tag cashregisterNumber cashregisterName cashregisterType
cashregisterMasterSlave
Omschrijving Unieke nummer / id Unieke naam Merk - Vectron Digi Webquole Digi SM-880 Digi DP90 Digi SM-5500 Soort opstelling Master (= hoofdkassa) Slave
5 Foyer 1 Vectron Master 5 Foyer 2 Vectron Slave
BTW Voor het synchroniseren van BTW gegevens tussen Compad Bakkerij en POS Manager is in het xml bericht de tax tag opgenomen. De tax tag kent de volgende sub tags. Tag taxNumber taxName taxRate
Omschrijving Unieke nummer / id Unieke naam Tarief
19
1 BTW Laag 6.00 2 BTW Hoog 19.50 3 BTW nul 0.00
Artikelen Artikelen zijn onderverdeeld in assortimentsgroepen en afdelingen. Afdelingen kunnen op hun beurt weer onderverdeeld zijn in hoofdafdelingen. Voorbeelden van hoofdafdelingen zijn: brood, banket, bonbons, doorverkoop en overige. Voorbeelden van afdelingen zijn : grootbrood heel, grootbrood half, grootbrood gevuld, kleinbrood, kleinbrood gevuld, belegde broodjes, stukwerk, gebak, taarten, vlaaien, koek & cake, etc. Voorbeelden van assortimentsgroepen zijn : witbrood, tarwebrood, volkorenbrood, slagroomgebak, cremegebak, vruchtengebak, etc.
Hoofdafdelingen De hoofdafdelingen kan worden gebruikt als onderverdeling van de afdelingen en zijn dus de hoogste groepering in de artikel hiërarchie. <maindepartments> <maindepartment> <maindepartmentNumber>1 <maindepartmentName>Brood <maindepartment> <maindepartmentNumber>2 <maindepartmentName>Banket <maindepartment> <maindepartmentNumber>3 20
<maindepartmentName>Bonbons <maindepartment> <maindepartmentNumber>4 <maindepartmentName>Doorverkoop <maindepartments2> <maindepartment2> <maindepartment2Number>1 <maindepartment2Name>Witrbood <maindepartment2> <maindepartment2Number>2 <maindepartment2Name>Tarwebrood <maindepartment2> <maindepartment2Number>3 <maindepartment2Name>Kleinbrood Een hoofdafdeling kent slechts twee tags: Tag maindepartmentNumber maindepartmentName maindepartmentCashregisterNumber maindepartmentCashregisterName
Omschrijving Unieke nummer / id Unieke naam Kassanummer indien afwijkend. Kassanaam indien afwijkend
De hoofdafdelingen zijn optioneel. Daarnaast ondersteunen steeds meer kassasystemen meerdere hoofdgroepen en om die reden ondersteund de Compad Store Automation dan ook eventueel een tweede hoofdgroep, met de volgende tags.
Tag maindepartmentNumber2 maindepartmentName2 maindepartmentCashregisterNumber2 maindepartmentCashregisterName2
Omschrijving Unieke nummer / id Unieke naam Kassanummer indien afwijkend. Kassanaam indien afwijkend
Ook de tweede hoofdgroep is optioneel
Afdelingen Artikelen worden toegekend aan een afdeling (omzetgroep). Een afdeling kan op zijn beurt weer worden toegekend aan een hoofdafdeling. Het toekennen van afdelingen aan hoofdafdelingen is optioneel. 21
In het xml bericht worden van een afdeling de volgende gegevens aangeboden:
Tag departmentNumber departmentName departmentDisplaytext departmentMainDepartmentId departmentMainDepartment2Id departmentCashregisterNumber departmentCashregisterName departmentCashregisterText departmentAvailableOnInternet
Omschrijving Unieke nummer / id Unieke naam Optionele tweede naam Referentie naar hoofdafdelingnummer Referentie naar hoofdafdelingnummer voor hoofdgroep 2 Kassanummer indien afwijkend Kassanaam indien afwijkend Kassatekst Beschikbaar op Internet/in webshop
<departments> <department> <departmentNumber>101 <departmentName>Groot brood heel (hoog) <departmentDisplayText>Groot brood heel (hoog) <departmentMainDepartmentId>1 <departmentMainDepartment2Id>1 <department> <departmentNumber>101 <departmentName>Groot brood heel (vloer) <departmentDisplayText>Groot brood heel (vloer) <departmentMainDepartmentId>1 <department> <departmentNumber>101 <departmentName>Groot brood heel (zaden) <departmentDisplayText>Groot brood heel (zaden) <departmentMainDepartmentId>1 <department> <departmentNumber>101 <departmentName>Groot brood heel (luxe) <departmentDisplayText>Groot brood heel (luxe) … … …
22
Assortimentgroepen Naast het toekennen van artikelen aan afdelingen is het ook mogelijk om artikelen in te delen in assortimentsgroepen. De assortimentsgroep is binnen Compad producten een tweede optionele artikelgroepering. Van een assortimentgroep wordt slechts de volgende twee gegevens in het xml bericht aangeboden:
Tag assortmentgroupNumber assortmentgroupName assortmentgroupCashregisterNumber assortmentgroupCashregisterName
Omschrijving Unieke nummer / id Unieke naam Kassanummer indien afwijkend Kassanaam indien afwijkend
10 Wit 11 Melk 12 Tarwe 13 Volkoren
Artikelen De artikel informatie die op dit moment door Compad software is nog wat summier. Maar dankzij het xml bericht kan deze informatie in de toekomst verder worden uitgebreid. Compad biedt in het xml bericht de volgende artikelgegevens aan:
Tag itemNumber itemName itemDisplayName itemKeyboardname itemDescription
Omschrijving Unieke nummer / id Unieke naam Een tweede naam t.b.v klantendisplay/kassabon Een derde naam t.b.v. de toetsenbord/touch scherm Omschrijving 23
itemDepartmentId Prijs informatie itemPriceLevel itemPrice
Referentie naar de afdelingen Prijsniveau 1 t/m 5 (of 10 afh. Van Compad product) Verkoopprijs overeenkomstig met het niveau (afhankelijk van Compad product 5 of 10 levels) Prijs is altijd op basis van verkoop hoeveelheid.
itemCostPrice itemDiscountEnabled itemTax itemSalesUnitQty itemSalesUnitId
Kostprijs van het artikel. Is optioneel. Procentuele korting toegestaan Referentie naar btw tarief Verkoopeenheid hoeveelheid Verkoop eenheid 1 : stuks 2 : stuks (deelbaar) 3 : kilogram 4: liter 5 : meter 6 : m2 Bijvoorbeeld een roomboter cake van 400 gram heeft een verkoopeenheid van 1 stuk (type 1). Immers de cake wordt niet in gedeeltes verkocht.
Productie itemType
itemRecipeCode itemProductionItemCode
itemProductionItemFactor
Verpakking itemSalesPackageQty itemSalesPackageUnitId
Type artikel 1 : standaard 2 : productie-artikel 3 : winkel-product Receptuurcode * uitsluitend bij productie (itemType gelijk = 2) Referentie naar Productie artikel * uitsluitend bij productie (itemType gelijk = 3) Vermenigingvuldigingsfactor naar Productie artikel * uitsluitend bij productie (itemType gelijk = 3) Verpakkingseenheid (aantallen). Is optioneel Verpakkings eenheid 1 : stuks 2 : stuks (deelbaar) 3 : kilogram 4: liter 5 : meter 24
6 : m2 Bijvoorbeeld een roomboter cake van 400 gram heeft een verkoopeenheid van 1 stuk (type 1). Immers de cake wordt niet in gedeeltes verkocht. Terwijl de verpakkingseenheid 0,40 Kilogram. Is optioneel Warenwet itemIngredient
Ingredient declaratie van het artikel. Deze wordt binnen Compad Bakkerij bepaald aan de hand van de receptuuradministratie. Is optioneel
itemAllergy itemStorageTemperature itemKeepOpinion
Allergenen informatie. Is optioneel Bewaartemperatuur Bewaaradvies
itemSalesDisabled
Artikel is geblokkeerd. Wanneer het artikel niet geblokkeerd is, kan deze tag ook niet zijn opgenomen. Is optioneel EAN8 of EAN13 code van het artikel. Is optioneel Referentie naar de assortimentgroep van het artikel. Is optioneel Referentie naar de Hoofdgroep 1. Deze is optioneel en niet in alle Compad producten beschikbaar. Referentie naar de Hoofdgroep 2. Deze is optioneel en niet in alle Compad producten beschikbaar. Houdsbaarheidsduur Houdsbaarheidsduur eenheid Hours Days Weeks Months
itemEAN itemAssortmentGroupId itemMainDepartmentId
itemMainDepartment2Id
itemBestBeforeDatePeriod ietmBestBeforeDatePeriodUnit
Eigenschappen itemSalesAvailableOnCashregister itemSalesAvailableOnInternet Seizoen itemSeasonName itemSeasonStart itemSeasonEnd
Of het artikel beschikbaar is op de kassa. Of het artikel beschikbaar op het internet (webshop) Naam van het seizoen (optioneel) Start van het seizoen. DD/MM Einde van het seizoen. DD/MM
25
Foto itemPhotoSeqno itemPhotoFilename
Volgnummer Bestandsnaam van de foto.
26
- 1004 rijste vlaai gesneden in 10 stukken rijste vlaai gesneden in 10 stukken rijste vlaai gesneden in 10 stukken 3 1000 1.00 15 1 10.95 2 10.95 3 10.95 4 10.95 5 10.95 true 1 karamelsuikerstroop, invertsuiker, zout, aroma 1 1 true 27
true true true true true true true true
Betaalmiddelen Binnen Compad Bakkerij en Compad Store Automation kunnen ook betaalmiddelen worden geprogrammeerd. Daarom kan ook deze informatie in het xml bericht worden aangeboden. Van een betaalmiddel worden de volgende informatie in het xml bericht opgenomen:
Tag mediaNumber mediaName mediaType
Omschrijving Unieke nummer / id Unieke naam Type betaalwijze: 1 : contant 2 : chipknip 3 : pin 4 : debetcard 5 : op rekening 6 : creditcard 7: kadobon
mediaDrawer
Wordt niet door alle kassa’s ondersteund. Dus optioneel. Lade toekenning 28
0 1 2 3
mediaMinimumAmount
mediaCost
mediaCostType
mediaCostFreeByAmount
: : : :
geen lade lade 1 lade 2 lade 3
Wordt niet door alle kassa’s ondersteund. Dus optioneel. Minimum bedrag. Het betaalmiddel mag enkel worden gebruikt wanneer het te betalen bedrag lager is dan het minimum bedrag. Wordt niet door alle kassa’s ondersteund. Dus optioneel. Kosten voor het betalen middels dit betaalmiddel. Kosten kan procentueel of een vast bedrag zijn. De tag mediaCostType bepaald hoe deze tag moet worden opgevat. Wordt niet door alle kassa’s ondersteund Kosten type 0 : geen kosten 1 : vast bedrag 2 : procentueel Wordt niet door alle kassa’s ondersteund. Dus optioneel. Wanneer het totaalbedrag hoger is dan het bedrag wat bij deze tag is vermeld worden er geen kosten in rekening gebracht. Bijvoorbeeld Pinnen onder de 10 euro kost 25 eurocent. Zie betaalwijze 5 (pin) in het onderstaande xml bericht Wordt niet door alle kassa’s ondersteund. Dus optioneel.
<medias> <media> <mediaNumber>1 <mediaName>Contant <mediaType>1 <mediaDrawer>0 <mediaMinimumAmount>0 <media> <mediaNumber>2 <mediaName>Chipknip 29
<mediaType>3 <mediaDrawer>0 <mediaMinimumAmount>0 <media> <mediaNumber>3 <mediaName>Pin <mediaType>2 <mediaDrawer>0 <mediaMinimumAmount>0 <mediaCost>0.25 <mediaCostType>1 <mediaCostFreeByAmount>10 <media> <mediaNumber>4 <mediaName>Op rekening <mediaType>5 <mediaDrawer>0 <mediaMinimumAmount>0
Klanten Binnen Compad Bakkerij en Compad Store Automation kunnen ook klantgegevens worden geprogrammeerd. Daarom kan ook deze informatie in het xml bericht worden aangeboden. Van een klant worden de volgende informatie in het xml bericht opgenomen:
Tag customerNumber customerName customerCompanyname customerContactperson customerAddress customerPostalcode customerCity customerCounrty
Omschrijving Unieke nummer / id Klantnaam in het geval dat de klant een particulier is Bedrijfsnaam in het geval dat de klant een bedrijf is Naam contactpersoon. Is optioneel als de afnemer een bedrijf is. Straatnaam Postcode Plaatsnaam Land code conform de ISO 3166-1 alpha-2:
Nederland = NL België = BE Duitsland = DE 30
customerPhonenumber customerFaxnumber customerMobiel customerEmailAddress customerAccessWebserver
customerWebserverLogon
customerWebserverPassword
customerWebserverEmailAddress
Telefoonnummer Faxnummer Mobiel telefoonnummer E-mail adres Toegang tot webservice / website. True False Gebruikersnaam t.b.v. website/webservice. Is optioneel als de customerAccessWebserver true is Wachtwoord t.b.v. website/webservice. Is optioneel als de customerAccessWebserver true is Email adres. Is optioneel als de customerAccessWebserver true is
<customers> <customer> <customerNumber>1 <customerCompanyname>Brood & Banketbakkerij Brood nodig <customerContactperson> <customerAddress>Dorpsstraat 19 <customerPostalcode>1234 AB <customerCity>ENSCHEDE <customerCountry>NL <customerPhonenumber>053-4329995 <customerFaxnumber>053-4329965 <customerMobiel>06-12120012 <customerEmailAddress >[email protected] <customerAccessWebserver>false <customer> <customerNumber>30004 <customerCompanyname>Cafe boszicht <customerContactperson>Dhr. P. Jagers <customerAddress>Konijnenweg 17a <customerPostalcode>1234 HJ <customerCity>Enschede <customerCountry>NL <customerPhonenumber>053-11111111 <customerFaxnumber> <customerMobiel> <customerEmailAddress >[email protected] <customerAccessWebserver>true <customerWebserverLogon>boszicht <customerWebserverPassword>inhetbos 31
<customerWebserverEmailAddress>[email protected]
32
33
Receptuur Het is ook mogelijk om de receptuur informatie vanuit Compad Bakkerij te exporteren en/of te importeren. Binnen Compad Bakkerij is het mogelijk om binnen een receptuur te verwijzen naar een andere receptuur, etc. Zo is het mogelijk om een twee recepten vast te leggen voor de gele room en voor de zachte witte puntbroodje. Het recept van het puddingbroodje bestaat uit één zacht wit puntbroodje met een hoeveelheid gele room. Dus een verwijzing naar twee recepten. Recept Tag recipeCode* recipeNode* recipeCategorieId recipeCategorieName recipeType*
Omschrijving Uniek receptcode Uniek receptnaam Receptuur categorie id Recpetuur categorie naam Type recept: final product recipe : eind product semifinished product recipe : halffabriaakt recipe: receptuur (half fabrikaat)
recipeQuantity**
recipeQuantityUnit*
receiptWeight
recipeMoisturePercentage recipeDoughTemperature recipeAvailableOnProductionWeightSystem recipeAvailableOnReceiptSystem recipeAvailableOnOven recipeTotalProductionTime recipeProductionOrderSequence
Aantal (recept uitkomst). Dit veld is alleen aanwezig indien het receiptQuantityUnit kg, piece, liter of gram is. Eenheid (recept uitkomst) kg: kilogram piece: stuks Liter : liter gram : gram % : percentage (brood / drogestof berekening) Gewicht eindproduct in grammen. Deze eenheid is altijd in per stuk. Vochtpercentage Deegtemperatuur Beschikbaar op afweegsysteem Beschikbaar op recepten computer Beschikbaar op oven Totale productietijd Productie volgorde nummer 34
recipeBakingLoss recipeFermentationLoss recipeSprinkleFlour recipeSprinkleFlourIntoDough recipeDryMatterWeightRequirement recipeDryMatter
% Inbakverlies Gisting verlies Strooibloem Strooibloem in deeg Drogestof gewicht Drogestof (%)
recipeOvenTemperature recipeBakingTime recipeBestBeforeDatePeriod recipeBestBeforeDatePeriodUnit
Oven temperatuur Baktijd Periode houdsbaarheidsduur Periode houdsbaarheidsduur - hours - Days - weeks Productie opmerking Algemene opmerking
recipeProductionNote recipeGeneralNote * Verplichte velden Recept detail regels Tag recipedetailRowNumber recipedetailRowKind
Omschrijving Regelnummer. Begint per recept opnieuw met regel 1. Soort recept regel: ingredient : ingredient recipe : recept cost : kosten / handeling empty row : lege regel text : tekstregel
recipedetailIngredientCode
recipedetailIngredientName
recipedetailCostCode
recipedetailCostName
recipedetailRecipeCode
recipedetailRecipeName
Grondstof code (alleen van toepassing als het recipedetailRowKind gelijk is aan ingredient) Grondstof naam (alleen van toepassing als het recipedetailRowKind gelijk is aan ingredient) kosten code (alleen van toepassing als het recipedetailRowKind gelijk is aan cost) Kosten omschrijving (alleen van toepassing als het recipedetailRowKind gelijk is aan cost) receptuur code (alleen van toepassing als het recipedetailRowKind gelijk is aan recipe) Receptuur naam (alleen van toepassing als het recipedetailRowKind gelijk is 35
recipedetailText
recipedetailpurpose
aan recipe) Tekst regel (alleen van toepassing a als het recipedetailRowKind gelijk is aan text) Doel van de grondstof/receptuur base : basisdeeg filling : vulling topping : topping lubricating jelly : hulpstof
recipedetailQuantity recipedetailQuantityUnit
Hoeveelheid Hoeveelheid eenheid pieces : stuks kg : kilogram gram : gram liter : liter Minutes : minuten* hours : uren * % : percentage **
recipedetailUnitPrice recipedetailIsFlour recipedetailDryMatterPercentage recipedetailProductionSource RecipedetailPreparation
* Voor bewerkingen/handelingen ** Voor broodrecepten Eenheid prijs Is deeg (True/False) Drogestof percentage Afweeg/productiebron Bewerking: None = geen Cook = Koken Baking = Baken
* Verplichte velden
36
10000 Witdeeg grootbrood 5 Witdeeg final product recipe % 60.00 35.00 false false false 1 ingredient 1774750056/1100 WEISSHORN base 100 % true 98 Silo 0 2 ingredient 1774750068/015 Bakkergist Bruggeman + 1kg base 2 % false 92 Hand 0
37
3 ingredient 1774750063/5117 SUPRASEL Bakkerszout 58 I (76KI) base 1.7 % false 99.9 Hand 0 4 ingredient 1774750033/19226 Bakels Witbrood de Luxe base 3 % false 94.2 Hand 0 5 ingredient Water Water base 52 % false 0 Vloeibaar 0
38
H O O F D S T U K
5
Kassarapportage
In dit hoofdstuk worden de specificatie gegeven van de kassarapportage die vanuit de Compad software producten worden aangeboden. Op dit moment wordt enkel de kassabonnen ondersteund. Op verzoek kunnen ook complete rapportages in het xml bericht worden opgenomen. Echter deze zijn in deze documentatie nog niet vastgelegd.
Kassabon Binnen Compad Bakkerij en Compad Store Automation biedt ook de mogelijkheid om de kassabonnen die vanuit de verschillende kassa’s worden aangeboden i te lezen en te exporteren als xml bestand. Van de kassabonnen worden de volgende informatie in het xml bericht opgenomen: Tag receiptExternalNumber receiptStore receiptCashregisterNumber receiptStartDate receipStartTime receiptEndDate receiptEndTime receiptDetailItemNumber receiptDetailItemQuantity receiptDetailItemPrice receiptDetailItemSpecialPrice
receiptDetailItemAmount receiptDetailItemNote receiptDetailItemPriceLevel receiptDetailTotalAmount
Omschrijving Kassabonnummer Winkel Kassanummer Startdatum waarop de transactie gestart is Starttijdstip waarop de transactie gestart is. Einddatum waarop de transactie is afgesloten Eindtijdstip waarop de transactie is afgesloten Artikelnummer dat is geregistreerd Aantal artikelen Standaard verkoopprijs op het moment van registratie Speciale prijs (de prijs die de klant) er voor betaald heeft. Deze prijs kan gelijk zijn aan de standaard verkooprpijs. Totaal regelbedrag Artikel opmerking (bijv. tekst op taart) Prijsniveau Totaal bon bedrag 39
receiptDetailPaymentNumber receiptDetailPaymentAmount
Betaalwijze Bedrag dat geregistreerd is op de betaalwijze.
2 1 20100924 13:02 20100924 13:02 2223000009394 1 0.00 129.95 129.95 1 129.95 2 129.95 …. …. ….
40
H O O F D S T U K
6
Script commando’s
Met scripts kunnen bepaalde opdrachten automatisch worden uitgevoerd. Hierdoor is het mogelijk dat andere applicaties bijvoorbeeld opdrachten aanbieden aan Compad software producten. De scripts is een nieuwe functionaliteit sinds versie 2010 en bevind zich nu nog in test fasen. Het aantal script commando’s zal in de toekomst verder worden uitgebreid.
Opbouw script De opbouw van het script is erg afhankelijk van de opdracht die door Compad uitvoert moet worden. Echter in één xml bestand kunnen meerdere scripts worden opgenomen. Ieder script heeft zijn eigen naam en eigen nummer nummer. Binnen één script kunnen meerdere taken beschreven staan. De verdere uitwerking van de taak is sterk afhankelijk van de taak zelf. <script> <scriptNumber>1 <scriptName>Mijn script <scriptTasks> <scriptTask> <scriptTaskCommand>ECR Sending <scriptTaskCommandDetails> …. <scriptTaskCommand>Print Log Tag scriptNumber
scriptName
Omschrijving Ieder in het script bestand heeft een uniek nummer. Het nummer is optioneel en wordt enkel voor het logboek gebruikt. Een script kan voorzien worden van een naam. Zodra de software een 41
scriptTaskCommand
script uitvoert dan wordt de naam van het script ook weergegeven en tevens wordt de naam in het logboek vermeld. Is de taak die uitgevoerd dient te worden. Taken die door de software uitgevoerd kunnen worden zijn verder op in dit hoofdstuk beschreven. Sommige taken hebben aanvullen gegevens nodig om de taak uit te kunnen voeren. Denk hierbij aan start/einddatum.
Automatisch planning (productionplan) Een van de taken die door middel van een script kan worden uitgevoerd is de automatische planning voor het verwerken van de orders tot baklijsten, snijlijsten en dergelijke. <scriptTask> ProductionPlan 2010-10-20 2010-10-20 False False False
<scriptTask> ProductionPlan 2010-10-20 2010-10-20 All <scriptTaskPrintProductionLists mode=”Specified”> <scriptTaskPrintProductionLists>Baklijst brood <scriptTaskPrintProductionLists>Werkstaat banket <scriptTaskPrintProductionLists>Snijlijst False False False
42
Tag scriptTaskCommand scriptTaskStartDate
scriptTaskEndDate
scriptTaskPrintReceiptNote
scriptTaskProductionShift
scriptTaskPrintProductionLists
scriptTaskPrintProductionLists
Omschrijving ProductionPlan (Start)datum is de eerste besteldatum. Deze startdatum is optioneel. Indien deze ontbreekt dan wordt de automatische planning uitgevoerd voor de volgende werkdag. De einddatum geeft aan tot en met welke datum de orders meegenomen moeten worden in de automatische planning. De einddatum is optioneel. Indien geen einddatum wordt aangeboden dan wordt de productieplanning uitgevoerd voor één dag. Afdrukken leverings/contantbonnen. None – Geen bonnen afdrukken All – Alle bonnen afdrukken Take Away – Alleen afhaal orders van de winkel Delivery – Alleen bezorgorders Wanneer deze tag niet aanwezig is worden er geen bonnen afgedrukt! Productie shift. Indien deze ontbreekt dan worden alle bestellingen meegenomen in de automatische planning. In andere gevallen dient bij scriptTaskProductionShift de naam van de productieshift te worden opgegeven om enkel de bestellingen van een bepaalde productieshift mee te nemen. Afdrukken productielijsten. Middels de mode kan worden aangegeven welke bonnen afgedrukt kunnen worden. De mode kan de volgende waarden hebben: None – Geen productielijsten afdrukken All – Alle productielijsten afdrukken Normal – Alle productielijsten afdrukken op basis van de startdatum. M.a.w. alleen de lijsten afdrukken die normaal gesproken ook op die dag afgedrukt moeten worden. Specified – Nadere gespecificeerd volgens de lijst. Zie ook scriptTaskPrintProductionLists Naam van de baklijst die afgedrukt dient te worden. 43
Export (export) Een van de taken die door middel van een script kan worden uitgevoerd is de automatische planning voor het verwerken van de orders tot baklijsten, snijlijsten en dergelijke. <scriptTask> export 2010-10-20 2010-10-20 <scriptTaskExportFormat>XML <scriptTaskExportMethod>FTP <scriptTaskExportFilename>myExportFile.xml <scriptTaskExportFtpServer>ftp.compad.nl <scriptTaskExportFtpUser>myUser <scriptTaskExportFtpPassword>myPassword <scriptTaskExportLocation>/pub/ <scriptTaskExportDataLists> <scriptTaskExportDataList>Taxs <scriptTaskExportDataList>Departments <scriptTaskExportDataList>Receipts
<scriptTask> export 2010-10-20 2010-10-20 <scriptTaskUser>MyUser <scriptTaskPassword>UserPwd <scriptTaskExportFormat>XML <scriptTaskExportMethod>FTP <scriptTaskExportFilename>myExportFile.xml <scriptTaskExportFtpServer>ftp.compad.nl <scriptTaskExportFtpUser>myUser <scriptTaskExportFtpPassword>myPassword <scriptTaskExportLocation>/pub/ <scriptTaskExportDataLists> <scriptTaskExportDataList >General Data <scriptTaskExportDataList >Receipts
44
Tag scriptTaskCommand scriptTaskStartDate
scriptTaskEndDate
scriptTaskUser
scriptTaskPassword scriptTaskExportFormat scriptTaskExportMethod
scriptTaskExportFtpServer scriptTaskExportFtpUser scriptTaskExportFtpPassword scriptTaskExportLocation
scriptTaskExportDataList Version
Omschrijving export Startdatum van de periode waarover de gegeven geëxporteerd dienen te worden. De startdatum is van belang bij het exporteren van kassabonnen (receipts). Einddatum van de periode waarover de gegeven geëxporteerd dienen te worden. De startdatum is van belang bij het exporteren van kassabonnen (receipts). Indien deze ontbreekt dan worden alle gegevens vanaf de startdatum t/m de einddatum geëxporteerd. Onder welke gebruiker moeten de gegevens worden geëxporteerd. Aan de hand van de gebruiker weet de software welke gegevens wel of niet mogen worden geëxporteerd. Het wachtwoord van de gebruiker. Formaat van het export bestand. Momenteel wordt er CSV en XML. De manier waarop de gegevens kunnen worden geëxporteerd. FTP – Uploaden naar een ftp server FILE – Exporteren naar een bestand FTP Server vereist bij Export methode FTP FTP gebruiker vereist bij Export methode FTP FTP wachtwoord vereist bij Export methode FTP Bestandslocatie bij FILE de directory en bij FTP de folder. Is optioneel. Indien deze ontbreekt wordt bij ftp het export bestand in de root geplaatst en bij FILE export in de standaard export folder. Wat moet er geëxporteerd worden. Optioneel in welk bestandsformaat er geëxporteerd moet worden. Beschikbare opties zijn: Stores Taxs Maindepartments Maindepartments2 Assortments Deparments 45
Media Items Receipts GeneralData* GeneralData zijn alle stamgegevens t.b.v. de kassabonnen.
Binnen de software is aangegeven dat bepaalde gegevens niet kunnen worden geëxporteerd middels het script. Dit om te voorkomen dat vanuit de software gegevens onbevoegd gegevens kunnen worden geëxporteerd.
46
H O O F D S T U K
7
Orders
Compad Bakkerij biedt de mogelijkheid om orders te importeren. De orders worden doorgaans in aparte bestanden aangeboden. Compad Bakkerij biedt de mogelijkheid om orders.xml bestanden automatisch te importeren. Indien er al een orders.xml bestand aanwezig is, dan kan de aanbiedende partij gerust een tweede bestand maken bijvoorbeeld orders 2.xml, orders 3.xml, etc.
Opbouw order bestand Het orders.xml bestand wijkt iets af van het standaard xml bestand. De header met informatie over de aanbieder is niet per se noodzakelijk. De orders bestaan uit een order header en order regels.
Order header De order header kan de volgende xml tags bevatten.
Tag Id Date Store
Source
Omschrijving Uniek ordernummer (moet uniek zijn binnen het xml bestand) Order datum. De datum waarop de order is geplaatst. Winkelnummer waar de order is geplaatst. Indien deze tag ontbreekt dan wordt de standaard filiaal van de software of de debiteur overgenomen. Optioneel de bron van de order. De volgende mogelijkheden worden door Compad Bakkerij ondersteund. K = Kassa I = Internet D = Distributie O = Compad OrderNow Indien deze ontbreekt, zal Compad Bakkerij de bestelling opvatten alszijnde een kassa bestelling.
State
De status van de order. 47
1 = Bestelling 2 = Afgerekend
OrderReference
Deliverydate Deliverytime deliverymethod
DeliveryCost Deliverystore
Customernumber
Customername Customertype
Customercompanyname Customercontactpersonname Customeraddress Customerpostalcode
Indien deze tag ontbreekt is de status altijd 1. Een referentienummer (optioneel). Bijvoorbeeld bestelnummer. Deze wordt alleen gebruikt om de order in Compad Bakkerij te kunnen achterhalen. Afleverdatum. De datum waarop de bestelling geleverd moet worden. Aflevertijdstip (optioneel). Leveringsmethode: No selection De leveringsmethode is afhankelijk van de debiteur instelling binnen Compad Bakkerij Take away De bestelling moet afgehaald worden onafhankelijk van de debiteurinstelling Deliver De bestelling moet bezorgd worden onafhankelijk van de debiteurinstelling
Bezorgkosten Winkel waar de bestelde artikelen worden opgehaald. Indien dit xml tag ontbreekt en de bestelling wordt opgehaald, dan wordt de instelling van de xml tag store overgenomen. Klantnummer. Compad Bakkerij kan zo worden ingericht dat nieuwe klanten automatisch worden toegevoegd of dat bestellingen van niet bestaande klanten automatisch worden geboekt op een passant debiteur. Klantnaam (verplicht) Optioneel : soort klant: C = Company P = Particulier Bedrijfsnaam Naam van de Contactpersoon Adres (straat + huisnummer) niet verplicht Postcode optioneel 48
Customercity CustomerCountry
Customerphonenumber Customerfaxnumber DeliveryName
DeliveryAddress DeliveryPostalCode DeliveryCity DeliveryPhoneNumber Ispaid
Paymentamount
Generalnote
Plaatsnaam (optioneel) Land naam. Indien deze ontbreekt is de plaats naam gelijk aan het land van het bakkersbedrijf Telefoonnummer van de klant. Niet verplicht Faxnummer van de klant. Niet verplicht Naam van het afleveradres (bijv. contantpersoon). Alleen bij bezorg orders. Indien deze informatie ontbreekt en de bestelling moet bezorgd worden, dan wordt automatisch de adres gegevens van de klant overgenomen. Afleveradres optioneel. Postcode Plaats Telefoonnummer Is betaald. Hiermee wordt aangegeven of de order betaald is. Bij eventuele betalingsverschillen achteraf volgt geen bijbetaling. De klant krijgt een leverbon zonder prijzen. Onderaan de bon wordt groot vermeld dat de bestelling betaald is. Betaald bedrag optioneel. Dit bedrag wordt verrekend met het te betalen bedrag. Algemene opmerking t.b.v. de order.
2 16-12-2011 <store>1 <state>2 <deliverydate>16-12-2011 <deliverymethod>no selection <customernumber>4594 <customername>hartog den <customerphonenumber>0345513322 true <paymentamount>27.72 9 uur - nb <detail> 2 1 <article>701 49
<articlename>Gevulde koek 2 1 Stuk <price>1.08 <specialprice>1.10 <detail> 2 2 <article>434 <articlename>Waldkornbolletje 1 1 Stuk <price>0.49 <specialprice>0.52 <detail> 2 3 <article>820 <articlename>Slagroomtaart 20 stukjes 1 1 Stuk <price>24.00 <specialprice>25.00 <note>kindertaart gesneden.tekst. hoera luuk 11 jaar
Order detailregels Iedere order moet minimaal één order detailregel bevatten. Deze heeft de volgende opbouw.
Tag orderid rownumber article
Omschrijving Orderid moet overeenkomen met de xml tag id in de order header Een uniek regelnummer per order. Het artikelnummer. Indien het artikelnummer niet voorkomt in het artikelbestand van Compad Bakkerij wordt gebruik gemaakt van het diverse artikel om de bestelling als nog correct in te kunnen lezen. In dat geval wordt 50
articlename quantity unit
unitname Price
specialprice
note
de xml tag articlename in het opmerkingveld van Compad Bakkerij geplaatst. Artikelnaam (is verplicht) Aantal. Mag zowel positief als negatief zijn. Eenheid 1 = Stuks 3 = Gewicht (KG) 7 = 100 gram Unitnaam Stuksprijs van het artikel. Is optioneel, indien de prijs niet wordt aangeboden, dan zal de software de prijs bepalen De actieprijs van het artikel. Is optioneel. Alleen als deze prijs lager dan de uiteindelijke klantprijs, dan wordt deze prijs overgenomen alszijde een aanbieding. Optionele opmerking
51