Comtek Accounts : Exchequer Software Enterprise Reseller for Accounting, Telesales, CRM Goldmine, ACT, MicroSoft CRM, Exchequer Plug-ins and Addons
 

         Full list of Exchequer Add-ons
         Interactive Remote Support
 
 
 
 

         Import Bank Rec  

       Edit Line/Header in daybook 
         
 
 
 
 
 
 
 
 
 

PostTransXML, easy Exchequer Software integration with Bespoke systems / Web Sites

PostTransXML allows external systems to post virtually any type of transaction into Exchequer Software, by simply creating an XML data file in a network directory.  

Features

PostTransXML will:

Import/Update Exchequer Account Records

Import/Update Exchequer Stock Records

Import/Update Exchequer Job records for analysis

Import any Exchequer transaction type, SIN,SOR,TSH,NOM,ADJ …

All Exchequer COM Toolkit fields, in above records, mapped to XML Entities

Handles long account codes using Exchequer Account Alt Ref field

Attach linked documents to Exchequer Account, Stock, Job or Transaction

Attach diary entries to Exchequer Account, Stock, Job or Transaction

Rename any XML Entity/Element, or default value

Create code conversion list on any field

Run as a service on server, with shut down flag for backups (Future version)

e-mail notification, via smtp server, of any errors  

XMLExample to Create Exchequer Account and Import Exchequer Transaction:

The following XML will create or update an account, with AltCode = COMTLONGCODE198, then post 2 line SOR for COMTLONGCODE198.

<?xml version="1.0" ?>

<ExchequerData>

          <Account>  

                    <!-- Create/Update Exchequer Account record, from XML file -->  

                    <!-- Note use of acAltCode, allowing long account code --> 

                    <acAltCode>COMTLONGCODE198</acAltCode>

                    <acCompany>Comtek Accounts</acCompany >

                    <acAddress1>Venture House</acAddress1>

                    <acAddress2>Venture Court</acAddress2>

                    <acAddress3>Bolness Rd.</acAddress3>

                    <acAddress4>Wisbech</acAddress4>

                    <acAddress5>Cambs</acAddress5>

                    <acPostCode>PE13 2QL</acPostCode>

                    <acContact>Sam Smith</acContact>

                    <acGeneralNotes>General Note can be imported against the Account/Transaction </acGeneralNotes>

          </Account>

          <TransactionHeader>  

                     <!-- Create Exchequer SOR Transaction, in XML -->

                    <!-- Note use of acAltCode, allowing long account code -->

                    <thDocType>SOR</thDocType>

                    <thAcCode>COMTLONGCODE198</thAcCode>

                    <thTransDate>1/11/2005</thTransDate>

                    <thDueDate>1/12/2005</thDueDate>

                    <thYourRef>4571025</thYourRef>

                    <thCostCentre>East Division</thCostCentre>

                    <thDepartment>Jane Smith</thDepartment>

                    <thLocation>Main wharehouse</thLocation>

 

                    <TransactionLine>

                    <!-- This line specifies Stock code and Price and VAT -->

                             <tlStockCode>ALARMSYS-DOM-1</tlStockCode>

                             <tlQty>1</tlQty>

                             <tlDescr>Labour2</tlDescr>

                             <tlNetValue>57.45</tlNetValue>

                             <tlVATCode>Standard</tlVATCode>

                             <tlVATAmount>10.05</tlVATAmount >

                             <tlGLCode>SALES</tlGLCode>

                    </TransactionLine>

                    <TransactionLine>

                    <!-- All price, VAT will be automatically calculated -->    

                             <tlStockCode>CAMERA-BRACKET</tlStockCode>

                             <tlQty>5</tlQty>

                    </TransactionLine>

          </TransactionHeader>

</ExchequerData>

Document Type Definition (DTD)  

wpe6.jpg (1528 bytes)   DTD PostTransXML.xsd

The DTD defines the data structure that PostTransXML will expect in the XML file, which closly relates to the

The XML file can contain one or more records/entities of same, or of different types:

<?xml version="1.0" ?>

<ExchequerData>

          <Account>

                   

          </Account>

          <Account>

                   

          </Account>

          <Stock>

                   

          </Stock>

          <Job>

                   

          </Job>

          <TransactionHeader>  

                    <!-- Note All Account fields can be specified in Transaction Header --> 

                   

                    <TransactionLine>

                             ….

                    </TransactionLine>

                    <TransactionLine>

                             ….

                    </TransactionLine>

          </TransactionHeader>

</ExchequerData>

The order of the elements, within the entities, is not important

Accounts, Stock and Jobs must created before a transaction is posted to it.   TransactionLine is a child record of Transaction.   All XML Data files should have unique filenames.

Data type format

As specified by the W3C for XML

Data Type

Example Values

boolean

true, false, 1, 0

date

1999-05-31

decimal

-1.23, 0, 123.4, 1000.00

integer

-2, 4, 5, 6

string

String

Warning when creating XML Data files using VB, Delphi, etc

Special characters such as “<>&” are not allowed in XML.   If not using an XML writer, then this can be overcome by using the CDATA statement, to encapsulate text data, in the XML data:

                    <acCompany>CDATA[Comtek Accounts & Sons]</acCompany>

                    <acAddress1>CDATA[Venture House,]</acAddress1>

All dates should be in ISO 8601 date format as above. YYYY-MM-DD

Conversion of Codes

Exchequer Software Codes such as Location, CostCentre, Location, Department, GLCode, Currency and VATCode are converted using bespoke conversion list.   This list can either be specified globally in the System settings or against each field:

For example in system settings we may have:

<ConversionSetttings>

          <!-- The following list allows the importer to convert codes from the external -->

          <!-- system to the Exchequer codes,  any errors will be logged and e-mailed -->

 

          <!-- Currency codes 1-89 -->

          <Currency>GB=1,EUR=2,DOL=3,Others</Currency>

         

          <!-- CostCentre code conversion -->

          <CostCentre>East Division=AAA,West Division=WST,North Division=NOT,Others</CostCentre>

         

          <!-- Department code conversion -->

          <Department>Jim Marsh=JIM,Jane Smith=SMT,Others</Department>

         

          <!-- VATCodes code conversion -->

          <VATCode>Standard=S,Zero=Z,Others</VATCode>

 

          <!-- Location code conversion -->

          <Location>Main wharehouse=AAA,VAN=VAN,Others</Location>

         

          <!-- Job Type code conversion -->

          <JobType>east=EAT,Others</JobType>

         

          <!-- GL code conversion -->

          <GLcode>BANK=2010,SALES=52010,COSTS=62010,Others</GLcode>

</ConversionSetttings>

Therefore, values in our file are converted to Exchequer Software codes:

<thCostCentre>East Division</thCostCentre> = AAA

<thDepartment>Jane Smith</thDepartment> = SMT

<tlVATCode>Standard</tlVATCode> = S

<tlGLCode>SALES</tlGLCode> = 52010  

 

Note : "Others" can be specified in conversion list, in which case, values not found will be passed through to Exchequer Software COM Toolkit.  See GLCode example above.

For Testing "SetTo=" can be used, to always set value, for example:

          <!-- GL code conversion -->

          <GLcode>BANK=2010,SALES=52010,COSTS=62010,Others,SetTo=990</GLcode>  

Always sets GL to 990, so we do not have define the complete GL structure while testing

Element properties

All XML Elements properties are stored in simple MS Access Database, called “XMLSettings.mdb” in the main program directory.   This allows the name of each Element to be changed; by default they are the same as the name used within the Exchequer Software COM Toolkit, but can be easily changed to match external systems.  A conversion list can be defined for each individual Element, or mapped to a global conversion list defined in system settings.

Other considerations

When the external system creates the XML Data file, it is advisable to create the file in another directory, then data file copy to the PostTransXML directory.  This will help avoid file-locking problems.

It is advisable to breakdown operations into as smaller operations as possible, so if account fails to update, due to record lock, then the transaction does not post.

Account Entity

This represents a Customer/Supplier record within Exchequer Software.  These fields can also be specified in Transaction Entity

FieldName

DataType

Length

DefaultValue

Notes

acAccStatus

Integer

0

0

0=Open,1=Notes,2=Hold,3=Closed

acAccType

String

1

C

C/S Customer/Supplier

acAddress1

String

30

 

If over 30 chars will word wrap to next line

acAddress2

String

30

 

If over 30 chars will word wrap to next line

acAddress3

String

30

 

If over 30 chars will word wrap to next line

acAddress4

String

30

 

If over 30 chars will word wrap to next line

acAddress5

String

30

 

 

acAltCode

String

20

 

Alt Search code for external systems

acArea

String

4

 

 

acBankAcc

String

20

 

 

acBankRef

String

28

 

 

acBankSort

String

15

 

 

acCCEnd

Date

0

 

Credit Card end date

acCCName

String

50

 

Credit Card info

acCCNumber

String

30

 

Credit Card info

acCCStart

Date

0

 

Credit Card start date

acCCSwitch

String

4

 

Credit Card info

acCode

String

6

 

Account ID.  Required, but not if set to match by

acAltCode

acCompany

String

45

 

Company Name

acContact

String

25

 

Contact Name

acCOSGL

Integer

0

Cost Of Sales GL

acCostCentre

String

3

 

Default Analysis code

acCreditLimit

Decimal

0

 

 

acCurrency

Integer

0

1

0-29,1=Sterling

acDatedNotes_AlarmDate

Date

0

 

Add date notes to account

acDatedNotes_Note

String

65

 

Add date notes to account

acDatedNotes_User

String

10

 

Add date notes to account

acDefSettleDays

Integer

0

 

Settlement give if less than x days

acDefSettleDisc

Integer

0

 

Settlement discount percent

acDefTagNo

Integer

0

 

Default Tag no

acDelAddress1

String

30

 

Delivery Address, If over 30 chars will word wrap to next line

acDelAddress2

String

30

 

Delivery Address, If over 30 chars will word wrap to next line

acDelAddress3

String

30

 

Delivery Address, If over 30 chars will word wrap to next line

acDelAddress4

String

30

 

Delivery Address, If over 30 chars will word wrap to next line

acDelAddress5

String

30

 

Delivery Address

acDepartment

String

3

 

Default Analysis code

acDirDebMode

Integer

0

 

 

acDiscount

Decimal

0

 

Discount Percent 0.1=10%

acDiscountBand

String

1

 

Discount Band A-H

acDocDeliveryMode

Integer

0

 

see SDK Notes

acDrCrGl

Integer

0

Control GL

acEBusPword

String

20

 

 

acECMember

Boolean

0

 

Yes/No/True/False/1/0

acEmailAddr

String

100

 

 

acFax

String

30

 

 

acFormSet

Integer

0

 

Default forms

acGeneralNotes

STRING

0

 

Word Wrapped General notes

acInvoiceTo

String

6

 

Send Invoice to account code

acLinkDoc1_Description

String

60

 

Add Linked document

acLinkDoc1_FileName

String

84

 

Add Linked document

acLinkDoc2_Description

String

60

 

Add Linked document

acLinkDoc2_FileName

String

84

 

Add Linked document

acLocation

String

3

Default Location

acOLECode

String

6

 

If different from system settings then will change

company

acOrderConsolidationMode

Integer

0

 

see SDK Notes

acPayTerms

Integer

0

 

Pay days for default due date

acPayType

String

1

 

B=Bank,C=Cheque,3,2

acPhone

String

30

 

 

acPhone2

String

30

 

 

acPostCode

String

20

 

 

acSalesGL

Integer

0

Default Sales GL

acSSDDeliveryTerms

String

5

 

Intrastat details

acSSDModeOfTransport

Integer

0

 

Intrastat details

acStateDeliveryMode

Integer

0

 

see SDK Notes

acStatementTo

String

6

 

Send Statement to account code

acTheirAcc

String

10

 

 

acTradeTerms1

String

60

 

 

acTradeTerms2

String

60

 

 

acUseForEBus

Boolean

0

 

Yes/No/True/False/1/0

acUserDef1

String

30

 

 

acUserDef2

String

30

 

 

acUserDef3

String

30

 

 

acUserDef4

String

30

 

 

acVATCode

String

1

S,Z,E,1,2,3,4,5,6,7,8,9,A,D,T,X

acVATRegNo

String

30

 

 

= These fields are defined as string in DTD to allow for conversion in PostTrans 

For Example, for Exchequer Software Account update, in XML

<?xml version="1.0" ?>

<ExchequerData>

          <Account>  

                    <!-- Create/Update Exchequer Account record, from XML file -->

                    <acCode>TEST01</acCode>

                    <acCompany>Comtek Accounts</acCompany >

                    <acAddress1>Venture House</acAddress1>

                    <acAddress2>Venture Court</acAddress2>

                    <acAddress3>Bolness Rd.</acAddress3>

                    <acAddress4>Wisbech</acAddress4>

                    <acAddress5>Cambs</acAddress5>

                    <acPostCode>PE13 2QL</acPostCode>

                    <acContact>Sam Smith</acContact>

                    <acGeneralNotes>General Note can be imported against the Account/Transaction </acGeneralNotes>

          </Account>

</ExchequerData>

Long external account numbers

 if <MatchOnID>acAltCode</MatchOnID> is on system settings, then PostTransXML will create a new account using AltCode as the ID for that account.   This allows PostTransXML to handle long account numbers (20 chrs) held in external systems.   The acCode can optional be specified in this case.  If not specified PostTransXML  will assign a new Exchequer account code, automatically according to the rules in system setting  

<AUTOCreateCustAccountFormat>A00000</AUTOCreateCustAccountFormat>
<AUTOCreateSuppAccountFormat>A90000</AUTOCreateSuppAccountFormat>

<!-- Create Account code based on the value in field -->
<AUTOCreateAccountBasedOn>acCompany</AUTOCreateAccountBasedOn>

Important: It is advisable to make sure the account codes generated do not clash with the opposing ledger.

<?xml version="1.0" ?>

<ExchequerData>

          <Account>  

                    <!-- Create/Update Exchequer Account record, using long account code, from XML file -->

                    <acAltCode>A_VERY_LONG_CODE</acAltCode>

                    <acCompany>Comtek Accounts</acCompany >

                    <acAddress1>Venture House</acAddress1>

                    <acAddress2>Venture Court</acAddress2>

                    <acAddress3>Bolness Rd.</acAddress3>

                    <acAddress4>Wisbech</acAddress4>

                    <acAddress5>Cambs</acAddress5>

                    <acPostCode>PE13 2QL</acPostCode>

                    <acContact>Sam Smith</acContact>

                    <acGeneralNotes>General Note can be imported against the Account/Transaction </acGeneralNotes>

          </Account>

</ExchequerData>  

  Transaction Entity

The Transaction Entity represents a Exchequer Software Transaction Header, which has many lines on transaction.   The following Element names are mapped to IRIS Enterprise COM Toolkit fields, the Exchequer COM Toolkit automatically fills in most defaults, similar to entering the transaction manually.  The Account Entity fields are also encapsulated within this entity for extra flexibility.   Click here for XML Files

FieldName

DataType

Length

DefaultValue

Notes

thAcCode

String

20

 

This can be matched on acAltCode according to settings

thADJDescription

String

20

 

Stock Adjustment Description on Header

thAnalysisCode

String

10

 

Default Exchequer Job Analysis code

thCompanyRate

Decimal

0

 

Company exchange rate

thControlGL

Integer

0

Exchequer Control GL if need to overide

thCostCentre

String

3

Lines will default to this value

thCurrency

Integer

0

0-29,1=Sterling

thDailyRate

Decimal

0

 

Daily exchange rate

thDatedNotes_AlarmDate

Date

0

 

Add date notes to account

thDatedNotes_Note

String

65

 

Add date notes to account

thDatedNotes_User

String

10

 

Add date notes to account

thDelAddress1

String

30

 

Delivery address on Transaction, If over 30 chars will word wrap to next line

thDelAddress2

String

30

 

Delivery address on Transaction, If over 30 chars will word wrap to next line

thDelAddress3

String

30

 

Delivery address on Transaction, If over 30 chars will word wrap to next line

thDelAddress4

String

30

 

Delivery address on Transaction, If over 30 chars will word wrap to next line

thDelAddress5

String

30

 

Delivery address on Transaction

thDeliveryTerms

Integer

0

 

Intrastat

thDepartment

String

3

Lines will default to this value

thDocType

String

3

SIN

can be SRI,SIN …

thDueDate

Date

0

 

Due date of invoice or delivery date of order

thGeneralNoteLine1

String

65

 

General specific Line

thGeneralNoteLine10

String

65

 

General specific Line

thGeneralNoteLine11

String

65

 

General specific Line

thGeneralNoteLine12

String

65

 

General specific Line

thGeneralNoteLine13

String

65

 

General specific Line

thGeneralNoteLine14

String

65

 

General specific Line

thGeneralNoteLine15

String

65

 

General specific Line

thGeneralNoteLine2

String

65

 

General specific Line

thGeneralNoteLine3

String

65

 

General specific Line

thGeneralNoteLine4

String

65

 

General specific Line

thGeneralNoteLine5

String

65

 

General specific Line

thGeneralNoteLine6

String

65

 

General specific Line

thGeneralNoteLine7

String

65

 

General specific Line

thGeneralNoteLine8

String

65

 

General specific Line

thGeneralNoteLine9

String

65

 

General specific Line

thGeneralNotes

STRING

0

 

General notes

thGLCode

Integer

0

Lines will default to this value

thHoldFlag

Integer

0

0

0=Auth,1=Query

thJobCode

String

10

 

Default for All lines

thLinkDoc1_Description

String

60

 

Add Linked document

thLinkDoc1_FileName

String

84

 

Add Linked document

thLinkDoc2_Description

String

60

 

Add Linked document

thLinkDoc2_FileName

String

84

 

Add Linked document

thLocation

String

3

Lines will default to this value

thLongYourRef

String

20

 

AltRef

thNoLabels

Integer

0

0

No Labels to print

thNOMDescription

String

20

 

Nominal Description on Header

thOLECode

String

6

 

If different from system settings then will change company

thPeriod

Integer

0

 

Period if not set automatically

thSettleDiscDays

Integer

0

 

Settlement discount days (will default to account settings)

thSettleDiscPerc

Integer

0

 

Settlement discount percent (will default to account settings)

thTagNo

Integer

0

0

Tag no

thTransDate

Date

0

 

Date of transaction

thTransportMode

Integer

0

 

Intrastat

thTransportNature

Integer

0

 

Intrastat

thTSHDescription

String

20

 

Exchequer Timesheet Description on Header

thTSHEmployee

String

6

 

Exchequer

thTSHWeekMonth

Integer

0

 

Exchequer Timesheet Week no

thUserField1

String

30

 

User field

thUserField2

String

30

 

User field

thUserField3

String

30

 

User field

thUserField4

String

30

 

User field

thVATCode

String

1

Lines will default to this value

thYear

Long

0

 

Year if not set automatically

thYourRef

String

10

 

Your Ref

= These fields are defined as string in DTD to allow for conversion in PostTrans   

The following fields have been added to allow up to three extra lines (thExtraLine1, thExtraLine2 and thExtraLine3) to be added to a transaction from the Transaction Header Entity.

FieldName

DataType

Length

DefaultValue

Notes

thExtraLine1_GLCode

Integer

0

 

Extra Line expressed in Header:required Exchequer GL code (but set to default if on stock record)

thExtraLine1_Desc

String

55

 

Extra Line expressed in Header:Description

A value must exist in this field to create line

thExtraLine1_Qty

Double

0

 

Extra Line expressed in Header:Qty

thExtraLine1_NetValue

Double

0

 

Extra Line expressed in Header:Unit Price, Nom value, TSH charge

thExtraLine1_CostCentre

String

3

 

Extra Line expressed in Header:Analysis

thExtraLine1_Cost

Double

0

 

Extra Line expressed in Header:Cost price per unit

thExtraLine1_Department

String

3

 

Extra Line expressed in Header:Analysis

thExtraLine1_VATAmount

Double

20

 

Extra Line expressed in Header:VAT Amount

thExtraLine1_VATCode

String

1

 

Extra Line expressed in Header:S,Z,E,1,2,3,4,5,6,7,8,9,A,D,T,X

thExtraLine1_UserField1

String

30

 

Extra Line expressed in Header:User field

thExtraLine1_UserField2

String

31

 

Extra Line expressed in Header:User field

thExtraLine1_UserField3

String

32

 

Extra Line expressed in Header:User field

thExtraLine1_UserField4

String

33

 

Extra Line expressed in Header:User field

thExtraLine1_StockCode

String

16

 

Extra Line expressed in Header:Stock code

thExtraLine1_Location

String

3

 

Extra Line expressed in Header:Loaction if multi location system

Long external account numbers

 if <MatchOnID>acAltCode</MatchOnID> is on system settings, then PostTransXML will lookup the Exchequer account code for the customer/supplier based on the customer/supplier Alt code.

          <TransactionHeader>  

                   

                    <thDocType>SOR</thDocType>

                    <thAcCode>

                    <thTransDate>1/11/2005</thTransDate>

                    <thDueDate>1/12/2005</thDueDate>  

TransactionLine Entity

The TransactionLine Entity represents a Exchequer Software Transaction Lines, which is on a Transaction.

FieldName

DataType

Length

DefaultValue

Notes

tlADJBuild

Boolean

0

 

Build flag on stock adjustment

tlADJQtyIN

Decimal

0

 

Stock Adjustment QtyIN

tlADJQtyOUT

Decimal

0

 

Stock Adjustment QtyOUT

tlAnalysisCode

String

10

 

Exchequer Job Anaysis code

tlChequeNo

String

55

 

Payment Line : ChequeNo

tlCost

Decimal

0

 

Cost price per unit

tlCostCentre

String

3

Analysis

tlCurrency

Integer

0

1

Currency of line, else header value

tlDailyRate

Decimal

0

 

Daily Exchange rate if diff from header

tlDepartment

String

3

 

Analysis

tlDescr

String

55

 

Description

tlDiscFlag

String

1

 

If % then discount is a percentage

tlDiscount

Decimal

0

 

Discount for line as amount or percent(tlDiscFlag)

tlGLCode

Integer

0

required GL code (but set to default if on stock record)

tlInclusiveVATCode

String

1

 

Inclusive VAT code if inclusive of VAT

tlJobCode

String

10

 

Exchequer Job code to book too

tlLineDate

Date

0

 

Line date

tlLineType

Integer

0

 

Type of line

tlLocation

String

3

Loaction if multi location system

tlNetValue

Decimal

0

 

Unit Price, Nom value, TSH charge

tlNOMCredit

Decimal

0

 

Mininal Journal Credit

tlNOMDebit

Decimal

0

 

Mininal Journal Debit

tlPayInRef

String

16

 

Payment Line : Paying In Ref (Line is flaged as payment if has value)

tlQty

Decimal

0

 

Qty

tlQtyMul

Decimal

0

 

Used for pack quantities

tlSSDCommodCode

String

8

 

Instrastat if needed to overide

tlSSDCountry