Académique Documents
Professionnel Documents
Culture Documents
Twinfield v5.4
September 2010
Page 1 of 36
Important message
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, photocopying, recording, or otherwise, without prior written consent of Twinfield. This specification is provided as is without any express or implied warranty. If you submit any comments or suggestions to Twinfield International NV, and Twinfield modifies the XML structure based on your input, Twinfield shall own the modified XML version. Information in this document is subject to change without notice.
contact information
Twinfield International N.V. De Wel 20-b 3871 MV Hoevelaken Tel. +31 (0)30-2982242 Fax. +31 (0)33-4677005
www.twinfield.com info@twinfield.com
support:
login page
https://login.twinfield.com
publish information
copyright 2005 2010 - Twinfield International N.V. version 1.3 Feedback can be send to: info@twinfield.com Printed in the Netherlands on recycled paper or digitally published in Portable Document Format (PDF).
Page 2 of 36
Table of contents
Important message................................................................................................................. 2 contact information ................................................................................................................ 2 publish information ................................................................................................................. 2 Table of contents.................................................................................................................... 3 Preface .................................................................................................................................. 4 Audience and Prerequisites..................................................................................................... 4 General Xml recommendations ............................................................................................... 5 Error handling ........................................................................................................................ 5 Field definitions ...................................................................................................................... 6 Attributes in the response Xml ................................................................................................ 6 Dimension types .................................................................................................................... 7 Example ................................................................................................................................. 12 Determine the next dimension code......................................................................................... 14 General Ledger accounts (GL accounts) ................................................................................. 15 Customers ............................................................................................................................. 19 Suppliers................................................................................................................................ 24 Payment and direct debit settings ........................................................................................... 28 Cost Centers .......................................................................................................................... 30 Project ................................................................................................................................... 32 Dimension actions .................................................................................................................. 35 Dimension read ...................................................................................................................... 36 International payments ........................................................................................................... 36
Page 3 of 36
Preface
This document describes the Xml message to add or modify users in Twinfield. The Xml messages, which are described in this document, can be used by using the Twinfield ProcesXml Web service function. A full description of the available Twinfield Web services can be downloaded from the F.A.Q. in Twinfield (see also the paragraph Related documents).
Page 4 of 36
Illegal Xml characters have to be replaced by entity references. If you place a character like < inside an Xml element, it will generate an error because the parser interprets it as the start of a new element. You cannot write something like this: There are 5 predefined entity references in Xml:
Note: Only the characters < and & are strictly illegal in Xml. Apostrophes, quotation marks and greater than signs are legal, but it is a good habit to replace them.
Error handling
Twinfield errors are reported in the form of a result attribute on the tags. If a posting is successfully executed, the root-tag of the Xml-Document shows the attribute result with value 1. If a problem occurs during the posting, the problem tag will show the attribute result with value 0. In addition two extra attributes are shown, namely msg with a description of the problem and msgtype. The tags which are hierarchically above this tag will also have the attribute result with value 0 (this also applies to the root-tag).
Page 5 of 36
Field definitions
Certain tags are of a fixed format, such as date and amount fields.
Type Format Description
true/false yyyymmdd 0.00 yyyy/mm Free text field with maximum xx characters The element value is fixed to the given value. Restricted text field with maximum of 16 characters. The allowed characters are: A to Z (uppercase), 0 to 9, _ (underscore), - (hyphen) and + (plus). Numeric value, zero or greater
True or Not true ISO date format Full stop used as decimal separator. Year/period
Twinfield code field. This field will be checked if the corresponding master is available in Twinfield.
INTEGER
The values allowed are described in inverted commas with | used as the separator
After processing the Xml Twinfield will populate, on the CODE fields, extra attributes in the result Xml. For example the dimension tags, name and shortname with the name and search name of the dimension.
Result of the posting 0 = not successful, 1= successful Notification about why the posting failed Notification type; warning or error Name of the Twinfield master Short name of the Twinfield master Type of dimension (only for dimensions)
Have financial transactions been posted to this dimension BOOLEAN (true|false) Reserved; only for dimensions Reserved; only for dimensions
Page 6 of 36
Dimension types
Menu path: Accounting>Dimensions>Type o General Ledger o o o Relations o o o o o Customers, code DEB Suppliers, code CRD Balance, code BAS Profit & Loss, code PNL
Cost centers, code KPL Fixed assets, code AST Projects, code PRJ
Screen in Twinfield
Page 7 of 36
Description of the dimension type XML elements Tag dimensiontype office code mask name shortname addresses label1 label6 levels financials time fixedassets invoices Parent node dimensiontype dimensiontype dimensiontype dimensiontype dimensiontype dimensiontype addresses dimensiontype levels levels levels levels Description root node Office code Dimensiontype Dimension mask Dimension type name Dimension type shortname node Address labels, description of field1 field6 in the dimension address element node Financial level Level in time & expenses Level in fixed assets (future use) Level in invoice articles (future use) Type definition CODE, optional CODE, mandatory CODE, optional STRING(36), optional STRING(20), optional STRING(20), optional - (read only) INTEGER, read only INTEGER, read only INTEGER, read only INTEGER, read only
Example This example changes the dimension mask to 1#### for the Customers (DEB) dimension type. Request <?Xml version="1.0" encoding="ISO-8859-1"?> <dimensiontype> <office>0000</office> <code>DEB</code> <mask>1####</mask> <name>Customers</name> </dimensiontype>
Page 8 of 36
Response XML <dimensiontype status="active" result="1"> <office name="Webshop JJLammers.com" shortname="">0000</office> <code>DEB</code> <mask>1####</mask> <name>Customers</name> <shortname>AR</shortname> <touched>2</touched> <levels> <financials>2</financials> <time>0</time> <fixedassets>0</fixedassets> <invoices>0</invoices> </levels> <address> <label1>foa</label1> <label2>Address</label2> <label3>Postal address</label3> <label4>VAT nummer</label4> <label5>COC nummer</label5> <label6 /> </address> </dimensiontype>
Page 9 of 36
Dimension groups
Screen in Twinfield
Corresponding XML node: dimensions/dimension Structure of the dimension group elements Tag <dimensiongroups> Attributes result="1" result="0" msg="" status=active|deleted Description OK Not OK, an error occurred, see also Error handling The status of the dimension group. Occurs 1
1- 0,1 0-
Page 10 of 36
Description of the dimension group elements Tag dimensiongroups dimensiongroup office code name shortname dimensions dimension type code Parent node dimensiongroups dimensiongroup dimensiongroup dimensiongroup dimensiongroup dimensiongroup dimensions dimension dimension Description root node node Office code Dimensiontype Dimension type name Dimension type shortname node node Dimension type Dimension code Type definition CODE, mandatory CODE, mandatory STRING(36), optional STRING(20), optional - optional - optional CODE CODE
Page 11 of 36
Example
This example creates a new dimension group and adds the customer 1001 to this dimension group. <?Xml version="1.0" encoding="ISO-8859-1"?> <dimensiongroup> <office>0000</office> <code>LOC_CUST</code> <name>Customers</name> <dimensions> <dimension> <type>DEB</type> <code>1001</code> </dimension> </dimensions> </dimensiongroup>
Response XML <dimensiongroup status="active" result="1"> <office name="Webshop JJLammers.com" shortname="">0000</office> <code>LOC_CUST</code> <name>Local customers</name> <shortname /> <touched>1</touched> <dimensions> <dimension> <type name="Customers" shortname="Customers">DEB</type> <code name="Customer 1001" shortname="">1001</code> </dimension> </dimensions> </dimensiongroup>
Page 12 of 36
Dimensions
Menu path: Accounting>Dimensions>Manage Structure of the dimensions XML Tag
<dimensions>
Occur 1
type=code|group|type level=1|2|3|4
1- 0,1 0- 1
0,1 0-
</addresses> <banks> <bank/> <address/> </banks> <creditmanagement/> <groups> <group/> </groups> <invoicing/> <postingrules> <postingrules> <lines> <line/> </lines> </postingrules> </dimension> </dimensions>
id="xx" default="true/false"
Page 13 of 36
Example Request Xml <?xml version="1.0"?> <dimension> <office>0000</office> <type>KPL</type> <name>Sales & Markerting</name> </dimension> Response Xml <?xml version="1.0"?> <dimension status="active" result="1"> <office name="Webshop JJLammers.com" shortname="">0000</office> <type name="Cost center" shortname="Kostenplaatsen">KPL</type> <name>Sales & Markerting</name> <code>00004</code> <editdimensionname>true</editdimensionname> <financials> <level>2</level> <matchtype>notmatchable</matchtype> <accounttype>inherit</accounttype> <subanalyse>maybe</subanalyse> <payavailable>false</payavailable> <paycode></paycode> <ebilling>false</ebilling> <ebillmail></ebillmail> <duedays>0</duedays> <relationsreference></relationsreference> <substitutionlevel>0</substitutionlevel> <substitutewith></substitutewith> <vatobligatory>false</vatobligatory> <performancetype/> <vatcode name="" shortname="" type=""></vatcode> <vattype name="" shortname=""></vattype> </financials> </dimension>
Page 14 of 36
This documentation only the BAS Dimension type will be described, the PNL dimension type has the same XML structure. Only the fixed value of the type element is different, PNL (=Profit & Loss). Screens in Twinfield
Corresponding XML node: dimension financials and for the validation rules the corresponding XML node is: childvalidations/childvalidation
Page 15 of 36
Description of the General Ledger elements Tag dimensions dimension office code Parent node dimensions dimension dimension Description root node node Office code dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to BAS or PNL Type definition - (optional) CODE, optional CODE, optional (see: Determine the next dimension code) FIXED VALUE STRING(40) INTEGER INTEGER INTEGER INTEGER node node Description of the (bank) account number Local bank account number node STRING(40) STRING(40) - (optional) CODE, optional node Is subanalyse to a customer, supplier or cost center needed. ENUMERATION: - true - false - maybe ENUMERATION: not matchable matchable relation
type name beginyear beginperiod endyear endperiod banks bank ascription accountnumber groups group financials subanalyse
dimension dimension dimension dimension dimension dimension dimension bank bank bank dimension groups dimension financials
matchtype
financials
Sets the GL account match able value. The preferred value for suspense accounts is matchable. Type vat code, for future use Default VAT code, for future use Is the VAT code obligatory, for future use node
Page 16 of 36
Tag childvalidation
Description Validation rule when sub analyses to a customer, supplier or cost center is needed. Validation to which Dimension type.
Type definition
type
attrubute of childvalidation
ENUMERATION: - code (=dimension code) - type (= Dimension type) - group (=dimension group) ENUMERATION: 1 (=GL account) 2 (= customer, supplier or cost center) 3 (=project or asset) 4 (= project activity)
level
attrubute of childvalidation
Financial level
Example This example adds a new Balance sheet account, 3101 Work in Progress - Consultants in Twinfield. In this example we add also a validation rule. In the Twinfield input function the user must also enter a cost center and project when posting a journal on this GL account. Request <?Xml version="1.0" encoding="ISO-8859-1"?> <dimension> <office>0000</office> <code>3101</code> <type>BAS</type> <name>Work in Progress - Consultants</name> <financials> <subanalyse>true</subanalyse> <childvalidations>
<childvalidation type="type" level="2">KPL</childvalidation> <childvalidation type="type" level="3">PRJ</childvalidation>
Page 17 of 36
Response XML <dimension status="active" result="1"> <office name="Webshop JJLammers.com" shortname="">0000</office> <code>3101</code> <type name="Balans" shortname="Balans">BAS</type> <inuse>false</inuse> <shortname /> <name>Work in Progress - Consultants</name> <behaviour>system</behaviour> <touched>0</touched> <beginperiod>0</beginperiod> <beginyear>0</beginyear> <endperiod>0</endperiod> <endyear>0</endyear> <website /> <vatnumber /> <cocnumber /> <inuse>false</inuse> <financials> <matchtype>notmatchable</matchtype> <accounttype>balance</accounttype> <subanalyse>true</subanalyse> <duedays>0</duedays> <level>1</level> <payavailable>false</payavailable> <paycode name="" shortname="" /> <ebilling>false</ebilling> <ebillmail /> <substitutionlevel>0</substitutionlevel> <substitutewith /> <relationsreference /> <vattype name="" shortname="" /> <vatcode name="" shortname="" /> <vatobligatory>false</vatobligatory> <childvalidations> <childvalidation type="type" level="2">KPL</childvalidation> <childvalidation type="type" level="3">PRJ</childvalidation> </childvalidations> </financials> <groups> <group shortname="Stock" name="Stock">GLB30</group> <group shortname="WIP" name="Work in Progress">SLB30.20</group> </groups> </dimension>
Page 18 of 36
Customers
Screens in Twinfield
Corresponding XML node: banks/bank. This customer is linked to the Dutch Clieop direct debit payment file. The bank settings are be different per payment (or direct debit) file. A full description can be found in the chapter: International payments.
Page 19 of 36
Corresponding XML node: postingrules Description of the customer elements Tag dimensions dimension office code type name website addresses address Parent node dimensions dimension dimension dimension dimension dimension dimension addresses Description root node node Office code dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to DEB Name of the customer Website node node Type definition - (optional) CODE CODE, optional (Determine the next dimension code) FIXED VALUE STRING(40) STRING(40) -
Page 20 of 36
Tag id type
default name field1 field6 postcode city country telephone telefax email banks bank ascription accountnumber city financials duedays payavailable paycode vattype vatcode vatobligatory substitutewith
attribute of address address address address address address address address address dimension banks bank bank bank dimension financials financials financials financials financials financials financials
Is this the default address, only one default address is possible Company name User defined fields, the labels are configured in the Dimension type. Postal code City ISO country code.
E-mail address node node Name of the account number holder Bank account number City of the account number holder node
STRING(128) -
INTEGER
Is a direct debit possible? Direct Debit code Type vat code, for future use Default VAT code, for future use Is the VAT code obligatory, for future use Default customer GL account.
Page 21 of 36
Description Send the invoice per email to the customer. E-mail address to send the invoice to. node
Credit manager Remind Are the related projects for this customer blocked in Projects>Data entry Usage rights Segment code Comments node Item (discount article)
Example This example creates a new customer 10020 - Morgan Limited in Twinfield. Request XML <?Xml version="1.0" encoding="ISO-8859-1"?> <dimension> <code>10020</code> <name>Morgan Limited</name> <type>DEB</type> <website>www.yourdomain.com</website> <addresses> <address default="true" type="invoice"> <field1>FAO Mr J.P. Morgan</field1> <field2>Streetname</field2> <field3 /> <postcode>1234 AB</postcode> <city>Berlin</city> <country>DE</country> <telephone>010-12345</telephone> <telefax>010-1234</telefax> <field4>VAT12345</field4>
Page 22 of 36
<email>jpmorgan@yourdomain.com</email> </address> </addresses> <banks> <bank default="true"> <ascription>Morgan Ltd.</ascription> <accountnumber>123456</accountnumber> <city>Berlin</city> </bank> </banks> <financials> <duedays>30</duedays> <payavailable>true</payavailable> <paycode>250NL</paycode> <ebilling>true</ebilling> <ebillmail>bills@yourdomain.com</ebillmail> </financials> <creditmanagement> <sendreminder>true</sendreminder> <responsibleuser /> <basecreditlimit /> <comment /> <freetext1 /> <freetext2 /> <blocked /> </creditmanagement> <invoicing> <discountarticle /> </invoicing> </dimension>
Page 23 of 36
Suppliers
Screen in Twinfield:
Corresponding XML node: banks/bank. This customer is linked to the Dutch Clieop direct debit payment file. The bank settings are be different per payment (or direct debit) file. A full description can be found in the chapter: International payments.
Page 24 of 36
Description of the supplier elements Tag dimensions dimension office code type name website addresses address id type Parent node dimensions dimension dimension dimension dimension dimension dimension addresses attribute of address attribute of address Description root node Node Office code dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to CRD Name of the supplier Website node node Sequence number Address type Type definition - (optional) CODE CODE, optional (Determine the next dimension code) CODE, mandatory STRING(40) STRING(40) INTEGER ENUMERATION: - invoice - postal - contact BOOLEAN STRING(80) STRING(40) STRING(40) STRING(40) STRING(2) STRING(15) STRING(15) E-mail address node node Name of the account number holder STRING(128) STRING(40)
default name field1 field6 postcode city country telephone telefax email banks bank ascription
attribute of address address address address address address address address address dimension banks bank
Is this the default address, only one default address is possible Company name User defined fields, the labels are configured in the dimension type. Postal code City ISO country code.
Page 25 of 36
Tag accountnumber city financials duedays payavailable paycode vattype vatcode vatobligatory relationsreference substitutewith Example
Parent node bank bank dimension financials financials financials financials financials financials financials financials
Description Bank account number City of the account number holder node
Is a payment possible? Payment code Type vat code, for future use Default VAT code, for future use Is the VAT code obligatory, for future use Customer reference, your customer number by the supplier Default supplier GL account.
This example creates a new supplier 2001 Vodafone Ltd. in Twinfield. <?Xml version="1.0" encoding="ISO-8859-1"?> <dimension> <code>2001</code> <type>CRD</type> <name>Vodafone Ltd.</name> <addresses> <address default="true" type="invoice"> <field1>FAO Mr J.P. Hone</field1> <field2>145 Streetname</field2> <postcode>EC1V 4UK </postcode> <city>London</city> <country>GB</country> <telephone>010-12345</telephone> <telefax>010-1234</telefax> <field4>VAT12345</field4> <email>JPhone@vodaf.com</email> </address> </addresses> <banks> <bank default="true"> <ascription>Vodafone Ltd.</ascription> <accountnumber>98745</accountnumber> <city>London</city>
Page 26 of 36
Page 27 of 36
NL NL NL DE IE FI AT AT FI FI (DOM) (INT) (INT) DE (INT) (DOM) (DOM) (DOM) (INT) GENERIC (INT) (INT) NO PAYMENT TYPE BTL91 - IBAN BTL91 - NON IBAN ULMP - IBAN m a m m a m a a m m a a a x x ULMP - NON IBAN a a m m a a a m a a a a a x x CLIEOP03 TWFPAY* country* a x x a country* a m a country* a a a x x PAYMUL (DOM) m m x x a a a AT a m a a a x x PAYMUL (INT) a a x x a a a a a a a a a x x DTAUS DTAZV EMTS m m x x a a a a a a a a a x x x x a IE x m x x x x x LM02 m m x x x x a m x x x x x x x
BANK FIELDS Account holder Account number Address No. Bank name BIC code Branch Country IBAN National bank code Number Postcode State Way of payment
m m x x x x a NL x x x x x x x
m a m m m m m m m a m a a a a
a a m m m m m a a m a a a a
m m x x x x x m x a x x x x x
a a
IBAN NONIBAN a a a x x
Page 28 of 36
NL NL NL DE IE FI AT AT FI FI (DOM) (INT) (INT) DE (INT) (DOM) (DOM) (DOM) (INT) GENERIC (INT) (INT) NO PAYMENT TYPE BTL91 - IBAN BTL91 - NON IBAN ULMP - IBAN m m m ULMP - NON IBAN m m m CLIEOP03 TWFPAY* x x x PAYMUL (DOM) x x x PAYMUL (INT) x x x DTAUS DTAZV EMTS x x x LM02 x x x
Xmlfield
x x x
x x x
x m m
x m m
x x x
Page 29 of 36
Cost Centers
Screen in Twinfield:
Corresponding XML node: dimension Description of the cost center elements Tag dimensions dimension office code type name Parent node dimensions dimension dimension dimension dimension Description root node node Office code Dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to KPL Dimension name Type definition - (optional) CODE, optional CODE, optional (Determine the next dimension code) FIXED VALUE STRING(40)
Example This example creates a new cost center 00001 - Sales & Marketing in Twinfield Request XML <?Xml version="1.0" encoding="ISO-8859-1"?> <dimension> <office>0000</office> <code>00001</code> <type>KPL</type> <name>Sales & Markerting</name> </dimension>
Page 30 of 36
Response XML <dimension status="active" result="1"> <office name="Webshop JJLammers.com" shortname="">0000</office> <code>00001</code> <type name="Cost Center" shortname="">KPL</type> <name>Sales & Markerting</name> <inuse>false</inuse> <shortname /> <behaviour>normal</behaviour> <touched>0</touched> <beginperiod>0</beginperiod> <beginyear>0</beginyear> <endperiod>0</endperiod> <endyear>0</endyear> <website /> <vatnumber /> <cocnumber /> <inuse>false</inuse> <financials> <level>2</level> <matchtype>notmatchable</matchtype> <accounttype>inherit</accounttype> <subanalyse>maybe</subanalyse> <payavailable>false</payavailable> <paycode /> <ebilling>false</ebilling> <ebillmail /> <duedays>0</duedays> <relationsreference /> <substitutionlevel>0</substitutionlevel> <substitutewith /> <vatobligatory>false</vatobligatory> <vatcode /> <vattype /> </financials> </dimension>
Page 31 of 36
Project
Screen in Twinfield:
Corresponding XML node: projects Description of the project elements Tag dimensions dimension office code type name Parent node dimensions dimension dimension dimension dimension Description root node node Office code Dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to PRJ Dimension name Type definition - (optional) CODE, optional CODE, optional (Determine the next dimension code) FIXED VALUE STRING(40)
Page 32 of 36
Tag financials substitutionlevel substitutewith projects invoicedescription startdate enddate authoriser authoriser@locked customer customer@locked billable billable@locked billable@inherit billable@forratio quantities quantity mandatory label rate billable billable@locked
Parent node dimension financials financials dimension projects projects projects projects projects projects projects projects projects projects projects projects quantities quantity quantity quantity quantity quantity
Description node Dimension level, fixed to 2 Cost center code node Invoice description Valid date (from) Valid date (to) Authoriser Attribute Customer Attribute; Can the customer code be changed during input Billable Attribute; Can the billable option be changed during input Attribute Attribute node node Use quantities Preferred label The project (quantity) rate code Are the quantities billable
Type definition FIXED VALUE CODE STRING(256) DATE DATE CODE BOOLEAN CODE BOOLEAN BOOLEAN BOOLEAN BOOLEAN BOOLEAN BOOLEAN STRING(40) CODE BOOLEAN BOOLEAN
Page 33 of 36
Example This example creates a new project P001 - Consultancy in Twinfield Request XML <?Xml version="1.0" encoding="ISO-8859-1"?> <dimension> <office>0000</office> <code>P001</code> <type>PRJ</type> <name>Consultancy</name> <financials> <substitutionlevel>2</substitutionlevel> <substitutewith>00001</substitutewith> </financials> </dimension>
Page 34 of 36
Dimension actions
This chapter describes the methods to delete or hide a dimension in Twinfield. When a journal entry has been posted on a dimension the deleted status is not available. To prevent users to post journals in the future to this dimension you need to hide this dimension. Description of the dimension actions elements Tag dimensions dimension status Parent node dimensions attribute of dimension Description root node node Delete or hides a dimension in Twinfield. When a dimension is hidden you can enable the dimension by setting the status to active. Office code Dimension code, must be compliant with the mask in the Dimension type Dimension type, fixed to KPL Type definition - (optional) ENUMERATION: - deleted - hide - active CODE, optional CODE, mandatory CODE, mandatory
Example This example deletes customer 1000 in office 0000, hide customer 1001 in the current office and re-enables customer 1002. Request Xml <?xml version="1.0" encoding="ISO-8859-1"?> <dimensions> <dimension status="deleted"> <!-- Delete dimension --> <office>0000</office> <code>1000</code> <type>DEB</type> </dimension> <dimension status="hide"> <!-- Hide dimension --> <type>DEB</type> <code>1001</code> </dimension> <dimension status="active"> <!-- Save/re-enable --> <type>DEB</type> <code>1002</code> </dimension> </dimensions>
Page 35 of 36
Dimension read
This example reads the dimension setting of customer (DEB) 1000 in office 001. More information about the read Xml message is described in the manual: Twinfield Web Services Request Xml <?xml version="1.0" encoding="ISO-8859-1"?> <read> <type>dimensions</type> <office>001</office> <dimtype>DEB</dimtype> <code>1000</code> </read>
International payments
Twinfield supports several payment formats, each payment format can have a different
Page 36 of 36