S-Connect – XML-specificatie import S for Software, versie 2.0, augustus 2015 Dit document bevat een technische beschrijving van de XML-definitie die S-Connect nodig heeft voor het correct inlezen van de orders, klanten en artikelen. Aanvullende bestanden: • • •
XSD-schema: http://download.sforsoftware.nl/SConnect/SConnectData.xsd Voorbeeld XML: http://download.sforsoftware.nl/SConnect/SConnectVoorbeeld.xml Voorbeeld XML met abonnementsorders: http://download.sforsoftware.nl/SConnect/SConnectVoorbeeldMetAbonnement.xml
Algemene opmerkingen Enkele algemene opmerkingen met betrekking tot het XML-document: 1. XML-tags zijn hoofdlettergevoelig.
is dus een andere tag dan 2. De volgorde van tags is niet van belang. 3. Lege velden mogen volledig worden weggelaten, of als lege tag (bijv. ) in het XML-document worden opgenomen. 4. Decimaalscheidingsteken is een punt. 5. Geen scheidingsteken voor duizendtallen gebruiken. 6. De waarde van een Boolean wordt aangegeven met de tekst true of false. 7. Standaardwaarden: a. Boolean = false; b. Heel getal / Decimaal = 0 8. Bij aanbieden via FTP worden .xml en .gzip/.gz-bestanden automatisch gedetecteerd (bij een lokale/netwerk-map alleen .xml)
Header Het XML-document moet altijd beginnen met de volgende twee regels: <SConnectData>
Footer Het XML-document moet worden afgesloten met een sluit-tag:
S-Connect – XML-specificatie import
Pagina 1 van 8
Klanten Gegevens van klanten kunnen worden opgenomen in het XML-document. Als deze gegevens al beschikbaar zijn in SnelStart, is het niet nodig om ze op te nemen. Belangrijk is dat de klantcode die bij de Verkooporder of BoekingRegels-Regel wordt opgegeven bekend is als Klant (code of e-mailadres) binnen SnelStart of in het XMLdocument binnen het element Klanten. Alle klanten worden opgenomen binnen de tags en . De gegevens van een klant worden opgenomen tussen de tags en . Onderstaande velden zijn beschikbaar: Veldnaam Klantcode Naam VestigingContactpersoon VestigingAdres
Type Tekst Tekst Tekst Tekst
Verplicht Ja Ja Nee Nee
VestigingPostcode VestigingPlaats VestigingLandcode
Tekst Tekst Tekst
Nee Nee Nee
25 50 10
CorrespondentieContactpersoon CorrespondentieAdres CorrespondentiePostcode CorrespondentiePlaats CorrespondentieLandcode Telefoon MobieleTelefoon Fax Emailadres Website Memo Bankrekeningnummer IBAN BIC RekeninghouderNaam RekeninghouderPlaats BtwNummer KvkNummer Creditcardnummer Factuurkortingpercentage KrediettermijnDagen Kredietlimiet Incasseren KlantcodeFactuurRelatie Aanmanen OfferteEmailen OfferteEmailadres OfferteCcEmailadres BevestigingEmailen BevestigingEmailadres BevestigingCcEmailadres FactuurEmailen FactuurEmailadres FactuurCcEmailadres UblBestandAlsBijlage AanmaningEmailen AanmaningEmailadres AanmaningCcEmailadres ExtraVelden
Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Heel getal Tekst Tekst Tekst Tekst Tekst Heel getal Tekst Decimal Heel getal Decimal Boolean Heel getal String Boolean Tekst Tekst Boolean Tekst Tekst Boolean Tekst Tekst Boolean Boolean Tekst Tekst
Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee
50 50 25 50 10 25 25 25 100 50
S-Connect – XML-specificatie import
Lengte 50 50 50
Toelichting Klantcode of e-mailadres
Straat + huisnummer (is één veld in SnelStart)
Moet aansluiten met Landcode uit Onderhoud-Landen in SnelStart. Leeg = NL Zie VestigingAdres
Zie VestigingLandcode
50 15 50 50 50 50
Enum: Nee, Onderneming, Consument 100 100 100 100 100 100
100 100 Subgroep, zie beschrijving verderop
Pagina 2 van 8
Artikelen Voor de gegevens van Artikelen geldt hetzelfde als bij Klanten. Artikelcode uit de orderregels moet bekend zijn in SnelStart. Alle artikelen worden opgenomen binnen de tags en . De gegevens van een artikel worden opgenomen tussen de tags en . Onderstaande velden zijn beschikbaar: Veldnaam Artikelcode
Type Tekst
Verplicht Ja
Omschrijving Verkoopprijs Inkoopprijs MaxKortingspercentage Omzetgroepnummer
Tekst Decimaal Decimaal Decimaal Heel getal
Ja Nee Nee Nee Nee
BtwGroep
Tekst
Nee
Kortingsgroepnummer Eenheid Leveranciercode Voorraadcontrole MinimumVoorraad GewensteVoorraad ExtraVelden
Heel getal Tekst Heel getal Boolean Decimaal Decimaal
Nee Nee Nee Nee Nee Nee Nee
Lengte 50
Toelichting Getal of Tekst (+ lengte) afhankelijk van instelling ‘Soort artikelcode’ in SnelStart
100
Nummer van de omzetgroep in SnelStart (Onderhoud – Artikelomzetgroepen) Keuze: Geen, Laag of Hoog. Deze wordt alleen gebruikt wanneer het Omzetgroepnummer niet is opgegeven. 25 Relatiecode van de leverancier
Subgroep, zie beschrijving verderop
Verkooporders De gegevens van een Order worden opgenomen tussen de tags en . Een enkele order wordt daarbinnen dan opgenomen tussen de tags en . Veldnaam Ordernummer
Type Tekst
Verplicht Ja
Sjabloon
Tekst
Nee
Klantcode Datum
Tekst Datum
Ja Nee
Kortingpercentage Omschrijving Ordermemo VerkoperLoginnaam
Decimaal Tekst Tekst Tekst
Nee Nee Nee Nee
Kostenplaatsnummer BedragKostensoort1
Heel getal Decimaal
Nee Nee
BedragKostensoort2 FactuurNaam
Decimaal Tekst
Nee Nee
S-Connect – XML-specificatie import
Lengte 150
Toelichting Wordt als betalingskenmerk in SnelStart gezet Naam van te gebruiken Verkoopsjabloon. Standaardwaarde instelbaar binnen S-Connect. Klantnummer of e-mailadres Notatie = yyyy-MM-dd (XML datumnotatie, tijd is toegestaan maar wordt genegeerd). Indien niet ingevuld, wordt importdatum genomen.
50 Naam van de verkoper, moet aansluiten met loginnamen (van gebruikers) in SnelStart. Bedrag bij Kostensoort 1, bijv. verzendkosten/toeslag Zie Kostensoort1 50 Pagina 3 van 8
FactuurContactpersoon FactuurAdres FactuurPostcode FactuurPlaats FactuurLandcode VerzendNaam VerzendContactpersoon VerzendAdres VerzendPostcode VerzendPlaats VerzendLandcode AbonnementIntervalSoort
Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst String
Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee Nee
AbonnementIntervalAantal AbonnementTijdstipMaand AbonnementTijdstipDagInWeek AbonnementTijdstipDagInMaand AbonnementTijdstipWeekInMaand AbonnementBegindatum AbonnementEinddatum AbonnementEindeNaAantal ExtraVelden
Heel getal Heel getal Heel getal Heel getal Heel getal Datum Datum Heel getal
Nee Nee Nee Nee Nee Nee Nee Nee Nee
OrderRegels
50 50 25 50 10 50 50 50 25 50 10
Ja
Enum, aansluitend bij mogelijkheden van factureerperiode in SnelStart: Geen, DagelijksDag, DagelijksWerkdag, Wekelijks, MaandelijksDagInMaand, MaandelijksDagInWeek, JaarlijksMaandDag, of JaarlijksMaandWeekdag Elke <x> dagen/weken/maanden Maandnummer (1 t/m 12) Weekdag (zo=1 t/m za=7) 1 t/m 31 (afhankelijk van maand) 1 t/m 5 voor 1e t/m 5e week Einddatum óf EindeNaAantal meegeven, niet beide. Subgroep, zie beschrijving verderop Subgroep, zie volgende kopje
Toelichting abonnementen Bij abonnementen moet worden opgelet welke velden bij elkaar horen. Afhankelijk van het opgegeven IntervalSoort gelden namelijk andere verplichte velden. Enkele voorbeelden: •
•
•
Jaarlijks te factureren op 1 mei, tot wederopzegging: AbonnementIntervalSoort = JaarlijksMaandDag (jaarlijks op dag x van maand y) AbonnementIntervalAantal = 1 (elk jaar) AbonnementTijdstipMaand = 5 (mei) AbonnementTijdstipDagInMaand = 1 (de 1e dag van mei) AbonnementBegindatum = 2014-05-01T00:00:00 Datum = 2014-05-01T00:00:00 (houd orderdatum gelijk aan AbonnementBegindatum) Elke 1e van elke drie maanden te factureren, gedurende 3 jaar (36 maanden): AbonnementIntervalsoort = MaandelijksDagInMaand AbonnementIntervalAantal = 3 (elke drie maanden) AbonnementTijdstipDagInMaand = 1 (de 1e dag van de maand) AbonnementEindeNaAantal = 12 (3 jaar x 4 facturen) AbonnementBegindatum = 2014-06-01T00:00:00 Datum = 2014-06-01T00:00:00 Elke derde maandag van elke maand, van 1-6-2014 tot 31-12-2014: AbonnementIntervalSoort = MaandelijksDagInWeek AbonnementIntervalAantal = 1 (elke maand) AbonnementTijdstipDagInWeek = 2 (maandag) AbonnementTijdstipWeekInMaand = 3 (derde maandag) AbonnementBegindatum = 2014-06-01T00:00:00 Datum = 2014-06-01T00:00:00 AbonnementEinddatum = 2014-12-31:00:00
S-Connect – XML-specificatie import
Pagina 4 van 8
OrderRegels Binnen een VerkoopOrder kunnen OrderRegels worden opgenomen. De structuur daarvan is in hoofdlijnen: … … …
Binnen de tags van zijn de volgende velden beschikbaar: Veldnaam Artikelcode Omschrijving Aantal Verkoopprijs KortingPercentage ExtraVelden
Type Tekst Tekst Decimaal Decimaal Decimaal
Verplicht Nee Nee Nee Nee Nee Nee
Lengte 50 250
Toelichting
Subgroep, zie beschrijving verderop
ExtraVelden Op elk niveau binnen de SConnectData-definitie kunnen extra velden worden meegegeven. Deze worden op basis van het attribuut Naam gekoppeld aan het extra veld in SnelStart. Het gegevenstype en de maximale veldlengte is uiteraard afhankelijk van de instellingen van het veld binnen SnelStart. De notatie, als voorbeeld binnen Klanten met drie velden (twee vinkjes en één tekst-veld): … <ExtraVelden> true false Google
S-Connect – XML-specificatie import
Pagina 5 van 8
Boekingen Alle boekingen worden opgenomen binnen de tags en . De gegevens van een boeking worden opgenomen tussen de tags en . Onderstaande velden zijn beschikbaar: Veldnaam DagboekSoort
Type Tekst
Verplicht Ja, behalve als het Dagboeknummer is opgegeven. Als het Dagboeknummer is opgegeven word niet meer naar DagboekSoort gekeken. Nee. Heeft alleen nut als het FactuurNummer is ingevuld.
FactuurRelatiecode
Tekst
Factuurnummer
Tekst
Nee.
Dagboeknummer
Geheel getal
Datum Boekstuk BoekingRegels
Datum Tekst
Ja, behalve als het DagboekSoort is opgegeven. Ja Nee Ja
Lengte
Toelichting Keuzen uit: Kas, Bank, Postbank, Verkoop, Inkoop, Memoriaal en Balans
Leveranciernummer, Klantnummer of Klant e-mailadres. Word alleen gebruikt bij DagboekSoort: Verkoop of Inkoop. Word alleen gebruikt bij DagboekSoort: Verkoop of Inkoop.
25 Subgroep, zie volgende kopje
BoekingRegels Binnen een Boeking kunnen BoekingRegels worden opgenomen. De structuur daarvan is in hoofdlijnen: … … …
Binnen de tags van zijn de volgende velden beschikbaar: Veldnaam GrootboekSoort
Type Tekst
Verplicht Ja, behalve als het Grootboeknummer is opgegeven. Als het Grootboeknummer is opgegeven word niet meer naar GrootboekSoort gekeken.
Grootboeknummer
Heel getal
Omschrijving Debet
Tekst Decimaal
Ja, behalve als het GrootboekSoort is opgegeven. Nee Nee
Credit
Decimaal
Nee
BtwSoort
Tekst
Nee
S-Connect – XML-specificatie import
Lengte
Toelichting Keuzen uit: Onbekend, DagboekVerkoop, DagboekInkoop, BtwVerkoopLaag, BtwVerkoopHoog, BtwVerkoopOverig, BtwInkoopLaag, BtwInkoopHoog, BtwInkoopOverig, Omzet, Verzendkosten, Betalingskosten, Korting en Verschilrekening
100 Standaard 0,00. Maximaal 2 decimalen. Standaard 0,00. Maximaal 2 decimalen. Keuzen uit: Nvt, Geen, Laag, Hoog Pagina 6 van 8
FactuurRelatieSoort FactuurRelatiecode
Tekst Tekst
Nee Nee
Factuurnummer Kostenplaats
Tekst Heel getal
Nee Nee
en Overig Keuzen uit: Klant en Leverancier Leveranciernummer, Klantnummer of Klant e-mailadres
Toelichting boekingen Bij een boeking moet altijd boekingregels zijn opgegeven. Het saldo van een boeking moet altijd in balans zijn. Dat betekend dat het totaal van de Debet en Credit bedragen van de boekingsregels 0,00 is. Bij een Boeking waarvan het DagBoekSoort, Verkoop of Inkoop is, kunnen de velden FactuurRelatiecode en Factuurnummer op de Boeking worden opgegeven. De informatie van deze velden word dan gebruikt voor elke boekingregels. Voor een lege omschrijving word dan een standaard omschrijving genomen. Dit vereenvoudigd de invoer van een Inkoop of verkoop boeking. Een voorbeeld van een Verkoop boeking: Verkoop [email protected] Weborder: 99464 2015-07-30T00:00:00 Weborder: 99464 DagboekVerkoop 23.30 BtwVerkoopLaag 1.15 BtwVerkoopHoog 0.52 Omzet Kurkentrekker 5.37 Hoog Omzet Ficada Terras do Sado rood 7.36 Laag Omzet Conde de Sabugal Bical Beira Atlantico Branca 11.79 Laag Verzendkosten Verzendkosten, Nederland, PostNL 5.37 Hoog Korting Korting 10F, Voucher code: 813B-256C-46DE -8.26 Hoog
S-Connect – XML-specificatie import
Pagina 7 van 8
Een voorbeeld van een interne boeking: 2250 2015-07-30T00:00:00 Geldlade balie 003;020110109 1602 Bon 226 2.15 2200 Bon 226 13.47 3001 Bon 226 8.06 7001 Bon 226 8.06 8001 Bon 226 11.32
S-Connect – XML-specificatie import
Pagina 8 van 8