Menu

Nominal Journal

PostTrans XML API for Sage 200 - Nominal Journal

The PostTrans XML API for Sage 200 posts Nominal Journals, Reversing Nominals and Recurring Journals into Sage 200, from a simple XML file, submitted to import directory or IMAP e-mail account.  
After posting the file is moved to a processed folder, and the Transaction Reference is added to the top of XML file.   If the file fails validation, then the error/errors are appended to the top of the file.  A user can then easily edit and resubmit to PostTrans XML API for Sage 200.

Click here for an overview of the XML API for Sage 200

Demonstration Video

 
 
   PostTrans XML API for Sage 200 Nominal Journal
  0:00 Where to get help
  1:00 Where to import from
  1:40 Open example and walk tNominal Journal XML API
  4:00 Post Nominal Journal into Sage 200
  4:30 The proof
 
 

Example – 200 Nominal Journal Amount.xml

 

<?xml version="1.0" ?>
<sage200Data>
   <settings>
      <companyCode>DEMO03</companyCode>
      <mappings>
      </mappings>
   </settings>
   
  <NomHeader>    
     <!-- ===== Header ==== -->
      
      <THJournalType>NOM</THJournalType>   <!-- Text 3 - Journal Type NOM, BAT or REV only -->
             <!-- Values:NOM,Normal Journal,REV,Reversing Journal,REC,Recurring Journal-->
      <THDate>2017-02-20</THDate>   <!-- Date - Overide Heading Date, thus causing a new transaction on change -->
     <THRef>My Test using Cr/Db </THRef>   <!-- Text 30 - Overide Heading Ref, thus causing a new transaction on change -->
   
      <!-- using Sage API 200 post three line Nominal Journal user either 
            <TLAmount> or <TLDebit> and <TLCredit>
            to define the amounts which must balance -->       

      <NomLine>
         <TLDetails>Optional:Set the description on this line</TLDetails>   <!-- Text 60 - Details -->
         <TLExterRef>Optional:And an External ref</TLExterRef>   <!-- Text 30 - External Referance -->      
         <TLNomCode>31100/LON/VAL</TLNomCode>   <!-- Credit -->
         <TLAmount>-100</TLAmount>
      </NomLine>
      <NomLine>
         <TLNomCode>31100/LON/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>    <!-- Debit -->
      </NomLine>   
      <NomLine>
         <TLNomCode>31100/SCO/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>    <!-- Debit -->
      </NomLine>    
     </NomHeader>
</sage200Data>

Example – 210 Nominal journal CrDb.xml

<?xml version="1.0" ?>
<sage200Data>
   <settings>
      <companyCode>DEMO03</companyCode>
      <mappings>
      </mappings>
   </settings>
   
  <NomHeader>    
     <!-- ===== Header ==== -->
      
      <THJournalType>NOM</THJournalType>   <!-- Text 3 - Journal Type NOM, BAT, REC or REV only -->
             <!-- Values:NOM,Normal Journal,REV,Reversing Journal,REC,Recurring Journal-->
      <THDate>2017-02-20</THDate>   <!-- Date - Overide Heading Date, thus causing a new transaction on change -->
     <THRef>My Test </THRef>   <!-- Text 30 - Overide Heading Ref, thus causing a new transaction on change -->
   
      <!-- using Sage API 200 post three line Nominal Journal user either 
            <TLAmount> or <TLDebit> and <TLCredit>
            to define the amounts which must balance -->     

      <NomLine>
         <TLDetails>Optional:Set the description on this line</TLDetails>   <!-- Text 60 - Details -->
         <TLExterRef>Optional:And an External ref</TLExterRef>   <!-- Text 30 - External Referance -->
         <TLNomCode>31100/LON/VAL</TLNomCode>  
         <TLDebit>100</TLDebit>
      </NomLine>
      <NomLine>
         <TLNomCode>31100/LON/ADM</TLNomCode>  
         <TLCredit>50</TLCredit>
      </NomLine>   
      <NomLine>
         <TLNomCode>31100/SCO/ADM</TLNomCode>  
         <TLCredit>50</TLCredit>
      </NomLine>   
     </NomHeader>
</sage200Data>

Example – 220 Nominal Journal with VAT.xml

<?xml version="1.0" ?>
<sage200Data>
   <settings>
      <companyCode>DEMO03</companyCode>
      <mappings>
      </mappings>
   </settings>
   
  <NomHeader>    
     <!-- ===== Header ==== -->
      
      <THJournalType>NOM</THJournalType>   <!-- Text 3 - Journal Type NOM, BAT, REC or REV only -->
             <!-- Values:NOM,Normal Journal,REV,Reversing Journal,REC,Recurring Journal-->
      <THDate>2017-02-20</THDate>   <!-- Date - Overide Heading Date, thus causing a new transaction on change -->
     <THRef>My Test </THRef>   <!-- Text 30 - Overide Heading Ref, thus causing a new transaction on change -->
   
      <!-- Sage 200 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module
         VAT rounding can often be a problem, this example calcs the Net and VAT from 
         Inclusive of VAT value         -->       

      <NomLine>
         <TLDetails>Payment for goods Ref 2516261</TLDetails>
         <TLNomCode>16800</TLNomCode>  <!-- Bank Account Nominal -->
         <TLCredit>1200</TLCredit>
      </NomLine>
      <NomLine>
         <TLNomCode>31100</TLNomCode>  
         <TLDebit>500</TLDebit>
         
         <TLDetails>Goods with VAT at standard rate</TLDetails>   <!-- Text 60 - Details -->
         
         <TLTaxType>1</TLTaxType>   <!-- Integer - Tax type, which selects Input or Output Nominal Code -->
                <!-- Values:0,N/A,1,Input Goods,2,Input Tax,3,Output Goods,4,Output Tax-->
         <TLTaxCode>1</TLTaxCode>   <!-- Integer - Tax Code.  Make sure the format of the cell is “General” else search may not work properly -->
                <!-- Values:List as defined in Sage 200.  0=0% Exempt,1=Standard Rate,2=Zero Rated,4=EC Zero SL,5=EC Service SL,6=EC Service PL,7=EC Zero PL,8=EC Std  PL etc.-->
      </NomLine>   
      <NomLine>
         <TLNomCode>31100/SCO/ADM</TLNomCode>  
         <TLDebit>500</TLDebit>
         
         <TLDetails>Goods with VAT at standard rate</TLDetails>   <!-- Text 60 - Details -->
         
         <TLTaxType>1</TLTaxType>   <!-- Integer - Tax type, which selects Input or Output Nominal Code -->
                <!-- Values:0,N/A,1,Input Goods,2,Input Tax,3,Output Goods,4,Output Tax-->
         <TLTaxCode>1</TLTaxCode>   <!-- Integer - Tax Code.  Make sure the format of the cell is “General” else search may not work properly -->
                <!-- Values:List as defined in Sage 200.  0=0% Exempt,1=Standard Rate,2=Zero Rated,4=EC Zero SL,5=EC Service SL,6=EC Service PL,7=EC Zero PL,8=EC Std  PL etc.-->
      </NomLine>


     </NomHeader>
</sage200Data>

Example – 230 Nominal Journal Recuring.xml

<?xml version="1.0" ?>
<sage200Data>
   <settings>
      <companyCode>DEMO03</companyCode>
      <mappings>
      </mappings>
   </settings>
    
  <NomHeader>    
     <!-- ===== Header ==== -->
      
      <THJournalType>REC</THJournalType>   <!-- Text 3 - Journal Type NOM, BAT, REC or REV only -->
             <!-- Values:NOM,Normal Journal,REV,Reversing Journal,REC,Recurring Journal-->
      <THDate>2017-02-20</THDate>   <!-- Date - Overide Heading Date, thus causing a new transaction on change -->
     <THRecDates1>2017-03-20</THRecDates1>   <!-- Date - Recuring date, if transaction type 2,Accrual Journal -->
     <THRecDates2>2017-04-20</THRecDates2> 
     <THRecDates3>2017-05-20</THRecDates3> 
     <THRecDates4>2017-06-20</THRecDates4> 
     
     <THRef>A Recuring Journal</THRef>   <!-- Text 30 - Overide Heading Ref, thus causing a new transaction on change -->
   
      <!-- Sage API 200 post three line Recuring Nominal Journal user either 
            <TLAmount> or <TLDebit> and <TLCredit>
            to define the amounts which must balance -->       

      <NomLine>
         <TLDetails>Optional:Set the description on this line</TLDetails>   <!-- Text 60 - Details -->
         <TLExterRef>Optional:And an External ref</TLExterRef>   <!-- Text 30 - External Referance -->      
         <TLNomCode>31100/LON/VAL</TLNomCode>  
         <TLAmount>-100</TLAmount>
      </NomLine>
      <NomLine>
         <TLNomCode>31100/LON/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>
      </NomLine>   
      <NomLine>
         <TLNomCode>31100/SCO/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>
      </NomLine>   
     </NomHeader>
</sage200Data>

Example – 240 Nominal Journal Reversing.xml

<?xml version="1.0" ?>
<sage200Data>
   <settings>
      <companyCode>DEMO03</companyCode>
      <mappings>
      </mappings>
   </settings>
   
  <NomHeader>    
     <!-- ===== Header ==== -->
      
      <THJournalType>REV</THJournalType>   <!-- Text 3 - Journal Type NOM, BAT, REC or REV only -->
             <!-- Values:NOM,Normal Journal,REV,Reversing Journal,REC,Recurring Journal-->
      <THDate>2017-02-20</THDate>   <!-- Date - Overide Heading Date, thus causing a new transaction on change -->
     <THReversalDate>2020-03-20</THReversalDate>   <!-- Date - Reversal date, if transaction type 2,Accrual Journal -->
     
     <THRef>A Reversing Journal</THRef>   <!-- Text 30 - Overide Heading Ref, thus causing a new transaction on change -->
   
      <!-- Sage API 200 post three line Reversing Nominal Journal user either 
            <TLAmount> or <TLDebit> and <TLCredit>
            to define the amounts which must balance -->       

      <NomLine>
         <TLDetails>Optional:Set the description on this line</TLDetails>   <!-- Text 60 - Details -->
         <TLExterRef>Optional:And an External ref</TLExterRef>   <!-- Text 30 - External Referance -->      
         <TLNomCode>31100/LON/VAL</TLNomCode>  
         <TLAmount>-100</TLAmount>
      </NomLine>
      <NomLine>
         <TLNomCode>31100/LON/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>
      </NomLine>   
      <NomLine>
         <TLNomCode>31100/SCO/ADM</TLNomCode>  
         <TLAmount>50</TLAmount>
      </NomLine>   
     </NomHeader>
</sage200Data>

XML API Tags for Sage 200 Entity 'NominalHeader'

Tag Name

Data Type

Description

Header:

THJournalType^

Text 3 Head

Type of Journal. Default Pending Journal
        In Cell Searching values:Journal Type
                  NOM, Normal Journal
                  REV, Reversing Journal
                  REC, Recurring Journal

THDate

Date Head

Overide Heading Date, thus causing a new transaction on change

Extra Dates:

THReversalDate

Date Head

Reversal date, if REV,Accrual Journal

THRecDates1

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates2

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates3

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates4

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates5

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates6

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates7

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates8

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates9

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates10

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates11

Date Head

Reversal date, if transaction type 2,Accrual Journal

THRecDates12

Date Head

Reversal date, if transaction type 2,Accrual Journal

Tax Defaults:

THTaxType^

Text 1 Head

Default Tax type, which selects Input or Output Nominal Code
        In Cell Searching values:Tax Type
                  0, N/A
                  1, Input Goods
                  2, Input Tax
                  3, Output Goods
                  4, Output Tax

THTaxCode^

Text 1 Head

Default Tax Code. Make sure the format of the cell is “General” else search may not work properly
    In Cell Searching values in table Tax

Important Fields:

Nominal Lines:

TLNomCode^

Text 16

Nominal Code. This can be simple nominal code and express the Cost Centre and Department in TLCostCentre /TLDepartment, or entered in the format NominalCode-CostCenter-Department, as provided by the in cell search function.
    In Cell Searching values in table NOM

TLDetails^

Text 60

Details
    Changes in this cell will recalc other cells. Delete ^ to disable this calculation.

TLDebit^

Currency

Debit. Posttrans will ignore line if zero value in TLDebit and TLCredit
    Changes in this cell will recalc other cells. Delete ^ to disable this calculation.

TLCredit^

Currency

Credit. This column is provided to allow the Department to be expressed in a separate cell.
    Changes in this cell will recalc other cells. Delete ^ to disable this calculation.

TLAmount^

Currency

Amount (used instead of Debit and Credit, thus +/- values in one column). Posttrans will ignore line if Zero Value in TLDebit and TLCredit
    Changes in this cell will recalc other cells. Delete ^ to disable this calculation.

TLTaxType^

Integer

Tax type, which selects Input or Output Nominal Code
        In Cell Searching values:Tax Type
                  0, N/A
                  1, Input Goods
                  2, Input Tax
                  3, Output Goods
                  4, Output Tax

TLTaxCode^

Integer

Tax Code. Make sure the format of the cell is “General” else search may not work properly
    In Cell Searching values in table Tax

ObjectStore Mappings Lines:

THUser1

Text 30 Head

10 user defined fields which can be mapped to Sage ObjectStore Builder customisations

THUser2

Text 30 Head

User2

THUser3

Text 30 Head

User3

THUser4

Text 30 Head

User4

THUser5

Text 30 Head

User5

THUser6

Text 30 Head

User6

THUser7

Text 30 Head

User7

THUser8

Text 30 Head

User8

THUser9

Text 30 Head

User9

THUser10

Text 30 Head

User10

TLUser1

Text 30

10 user defined fields which can be mapped to Sage ObjectStore Builder customisations

TLUser2

Text 30

User2

TLUser3

Text 30

User3

TLUser4

Text 30

User4

TLUser5

Text 30

User5

TLUser6

Text 30

User6

TLUser7

Text 30

User7

TLUser8

Text 30

User8

TLUser9

Text 30

User9

TLUser10

Text 30

User10


Req = Field is required    EOF = End of file, Stop when no more values    

Head  A header tag can be used in header section, before row 30, of the transaction template.  Or in the rows data of data, below row 30, of the template like a traditional CSV importer.

With data type Yes/No fields, if cell starts with 'y' or 'Y' is taken as TRUE

Where ^ denotes a In Cell Code Search, delete ^ at end of tag, to turn off code search

All Text fields are trimmed (spaces before) by default. Add ' to the end of the tag name to stop this.