The PostTrans XML API for Sage 50 will import many kinds of transactions using a common format for all Sage 50 Transaction types, which is we hope easy to understand. The PostTrans XML API will lookup and missing data, such default nominals, Prices, etc if not given similar to entering a transaction in Sage 50.
For example, each transaction has a <THTransType> tag which denoted the type of transaction. “SI” is a Sales invoice, “PO” Purchase Order, “SO” Sales Order, “SIAT” is an Sales Invoice which posts to Sage 50 Audit Trail. Thus any of the examples below can be simply edited from say a Sales invoice, to a Purchase invoice. Note some fields are applicable to Sales and Purchase orders (and Sales Invoice module) these are listed in the table at the bottom of the page.
List of Tags/Entities for mapping are at bottom of page.
Click here for an overview of the XML API for Sage 50
Demo Video of Transaction Import
PostTrans XML API for Sage 50 Import Sales Invoice
|
0:00 |
Where everything is |
|
0:45 |
Explanation of XML |
|
3:30 |
If they Fail to Import |
Transaction Types:
- SQ,Sales Quote
- SO,Sales Order
- SI,Sales Invoice
- SSC,Sales Service Credit Note,
- SA,Payment on Account
- PO,Purchase Order
- PIA,Purchase Inv + Adj IN
- PC,Purchase Credit
- CP,Cash Payment
- CR,Cash Receipt
- SIAT,Sales Invoice Audit Trail
- SCAT,Sales Credit Audit Trail
- SSI,Sales Service Invoice,
- SC,Sales Credit Note
- PI,Purchase Batch Inv
- PR,Purchase Receipt
- BP,Bank Payment
- BR,Bank Receipt
- VP,Visa Credit Payment
- VR,Visa Credit Receipts
Sage 50 API Validation
After creating a Sage 50 Transaction, the XML file is moved to a processed folder. Or it could have been downloaded from an SFTP site or IMAPI e-mail address. If the process fails validation, then the error/errors are appended to the top of the file, and the file is moved to a Failed folder. A user can then easily edit the Transaction XML file and resubmit to PostTrans XML API for Sage 50.
Rounding
Rounding can often be a problem with importing from an external system, since the external system may not be rounding up the VAT the same as Sage 50. Below are a few examples of how you can either import a Net figure plus VAT amount from the external system or using Inclusive of VAT. Inclusive of VAT does not currently work with Sales/Purchase Orders and the Invoice Module.
List of Examples
Example - 100 SI Net Value.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_TLReadStockDescriptionFromXML=1 //If off all descriptions relating to stock come from stock record
SW_UpdateLedgerOnInvoices=0 // Post to ledger automatically (If update cannot be edited)
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>SI</THTransType>
<!-- Sage 50 Sales Invoice, SO would give Sales Order, SC Credit note, SIAT invoice to audit trail -->
<!-- Could also be PI, PO, PC -->
<THAccCode>TEST02</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- ===== Header Delivery ==== -->
<THDelName>My House</THDelName> <!-- Text 60 - Delivery Address Name. Double click to change delivery address -->
<THDelAdd1>23 Long Rd</THDelAdd1> <!-- Text 60 - Delivery Address Line 1. Double click to change delivery address -->
<THDelAdd2>Top of the hill</THDelAdd2> <!-- Text 60 - Delivery Address Line 2. Double click to change delivery address -->
<THDelAdd3>Willberry</THDelAdd3> <!-- Text 60 - Delivery Address Line 3. Double click to change delivery address -->
<THDelAdd4></THDelAdd4> <!-- Text 60 - Delivery Address Line 4. Double click to change delivery address -->
<THDelPostcode>PE13 2TY</THDelPostcode>
<THNotes1>More instructions</THNotes1> <!-- Text 60 - Notes 1 -->
<THNotes2></THNotes2> <!-- Text 60 - Notes 2 -->
<THNotes3></THNotes3>
<!-- Sage 50 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module -->
<!-- manual VAT and Nominal overides not allowed for these types -->
<TransactionLine> <!-- Comment Line -->
<TLDesc>Please find invoice for 3 items and work done. Thanks :</TLDesc>
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Product Line -->
<TLProduct>CALC001</TLProduct>
<TLQty>1</TLQty>
<TLUnitPrice>250</TLUnitPrice> <!-- Tax will be added to this based on account defaults -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLQty>7</TLQty>
<TLUnitPrice>60</TLUnitPrice>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLProduct>CARRIAGE</TLProduct>
<TLDesc>Delivery to your door</TLDesc>
<TLUnitPrice>14.95</TLUnitPrice>
</TransactionLine>
<TransactionLine> <!-- Sage 50 Comment Line -->
<TLDesc>Please pay soon!!!</TLDesc>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example - 105 SC Credit note.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_TLReadStockDescriptionFromXML=1 //If off all descriptions relating to stock come from stock record
SW_UpdateLedgerOnInvoices=0 // Post to ledger automatically
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>SC</THTransType>
<!-- Sage 50 Sales Invoice, SO would give Sales Order, SC Credit note, SIAT invoice to audit trail -->
<!-- Could also be PI, PO, PC -->
<THAccCode>TEST02</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- ===== Header Delivery ==== -->
<THDelName>My House</THDelName> <!-- Text 60 - Delivery Address Name. Double click to change delivery address -->
<THDelAdd1>23 Long Rd</THDelAdd1> <!-- Text 60 - Delivery Address Line 1. Double click to change delivery address -->
<THDelAdd2>Top of the hill</THDelAdd2> <!-- Text 60 - Delivery Address Line 2. Double click to change delivery address -->
<THDelAdd3>Willberry</THDelAdd3> <!-- Text 60 - Delivery Address Line 3. Double click to change delivery address -->
<THDelAdd4></THDelAdd4> <!-- Text 60 - Delivery Address Line 4. Double click to change delivery address -->
<THDelPostcode>PE13 2TY</THDelPostcode>
<THNotes1>More instructions</THNotes1> <!-- Text 60 - Notes 1 -->
<THNotes2></THNotes2> <!-- Text 60 - Notes 2 -->
<THNotes3></THNotes3>
<!-- Sage 50 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module -->
<!-- manual VAT and Nominal overides not allowed for these types -->
<TransactionLine> <!-- Comment Line -->
<TLDesc>Please a Credit for the goods returned</TLDesc>
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Product Line -->
<TLProduct>CALC001</TLProduct>
<TLQty>1</TLQty>
<TLUnitPrice>250</TLUnitPrice> <!-- Tax will be added to this based on account defaults -->
</TransactionLine>
<TransactionLine> <!-- Sage 50 Comment Line -->
<TLDesc>Thanks for your custom</TLDesc>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example - 110 SI Inclusive of VAT.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_TLReadStockDescriptionFromXML=1 //If off all descriptions relating to stock come from stock record
SW_UpdateLedgerOnInvoices=0 // Post to ledger automatically
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>SI</THTransType>
<!-- Sage 50 Sales Invoice, SO would give Sales Order, SC Credit note, SIAT invoice to audit trail -->
<!-- Could also be PI, PO, PC -->
<THAccCode>TEST02</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- ===== Header Delivery ==== -->
<THDelName>My House</THDelName> <!-- Text 60 - Delivery Address Name. Double click to change delivery address -->
<THDelAdd1>23 Long Rd</THDelAdd1> <!-- Text 60 - Delivery Address Line 1. Double click to change delivery address -->
<THDelAdd2>Top of the hill</THDelAdd2> <!-- Text 60 - Delivery Address Line 2. Double click to change delivery address -->
<THDelAdd3>Willberry</THDelAdd3> <!-- Text 60 - Delivery Address Line 3. Double click to change delivery address -->
<THDelAdd4></THDelAdd4> <!-- Text 60 - Delivery Address Line 4. Double click to change delivery address -->
<THDelPostcode>PE13 2TY</THDelPostcode>
<THNotes1>More instructions</THNotes1> <!-- Text 60 - Notes 1 -->
<THNotes2></THNotes2> <!-- Text 60 - Notes 2 -->
<THNotes3></THNotes3>
<!-- Sage 50 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module -->
<!-- manual VAT and Nominal overides not allowed for these types -->
<TransactionLine> <!-- Comment Line -->
<TLDesc>Please find invoice for 3 items and work done. Thanks :</TLDesc>
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Product Line -->
<TLProduct>CALC001</TLProduct>
<TLQty>1</TLQty>
<TLTotIncluOfTax>300</TLTotIncluOfTax> <!-- Tax will be added to this based on account defaults -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLQty>7</TLQty>
<TLTotIncluOfTax>60</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLProduct>CARRIAGE</TLProduct>
<TLDesc>Delivery to your door</TLDesc>
<TLTotIncluOfTax>14.95</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine> <!-- Sage 50 Comment Line -->
<TLDesc>Please pay soon!!!</TLDesc>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example - 160 SIAT Audit Trial Net.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>SIAT</THTransType>
<!-- Sage 50 Sales Invoice to Audit Trail -->
<THAccCode>ABS001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- Sage 50 Purchase Invoice to Audit Trail, these are quite simple and do note
have qty or products -->
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLUnitPrice>60</TLUnitPrice>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLDesc>Delivery to your door</TLDesc>
<TLUnitPrice>10</TLUnitPrice>
<TLOrdRefTxt>sam</TLOrdRefTxt> <!-- External Ref on each line -->
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example - 165 SIAT Audit Trial Inclusive of VAT.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>SIAT</THTransType>
<!-- Sage 50 Sales Invoice to Audit Trail, these are quite simple and do note
have qty or products -->
<THAccCode>ABS001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<THOrderNo>888347</THOrderNo>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Something</TLDesc>
<TLTotIncluOfTax>300</TLTotIncluOfTax> <!-- Tax will be added to this based on account defaults -->
<TLOrdRefTxt>sam</TLOrdRefTxt> <!-- Exteranle Ref on each line -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLTotIncluOfTax>60</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLDesc>Delivery to your door</TLDesc>
<TLTotIncluOfTax>14.95</TLTotIncluOfTax>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example – 170 PI Inclusive of VAT.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>PIA</THTransType>
<!-- Sage 50 Purchase Invoice to Audit Trail -->
<THAccCode>MCN001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- Sage 50 Purchase Invoice to Audit Trail, these are quite simple and do note
have qty or products -->
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLUnitPrice>60</TLUnitPrice>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLDesc>Delivery to your door</TLDesc>
<TLUnitPrice>10</TLUnitPrice>
<TLOrdRefTxt>sam</TLOrdRefTxt> <!-- External Ref on each line -->
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example – 173 PIA Audit Trial Net.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>PIA</THTransType>
<!-- Sage 50 Purchase Invoice to Audit Trail -->
<THAccCode>MCN001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- Sage 50 Purchase Invoice to Audit Trail, these are quite simple and do note
have qty or products -->
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLUnitPrice>60</TLUnitPrice>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLDesc>Delivery to your door</TLDesc>
<TLUnitPrice>10</TLUnitPrice>
<TLOrdRefTxt>sam</TLOrdRefTxt> <!-- External Ref on each line -->
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example – 175 PIA Audit Trial Inclusive of VAT.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>PIA</THTransType>
<!-- Sage 50 Purchase Invoice to Audit Trail, these are quite simple and do note
have qty or products -->
<THAccCode>MCN001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<THOrderNo>888347</THOrderNo>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Something</TLDesc>
<TLTotIncluOfTax>300</TLTotIncluOfTax> <!-- Tax will be added to this based on account defaults -->
<TLOrdRefTxt>sam</TLOrdRefTxt> <!-- External Ref on each line -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLTotIncluOfTax>60</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLDesc>Delivery to your door</TLDesc>
<TLTotIncluOfTax>14.95</TLTotIncluOfTax>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example – 180 PO Net Value.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_TLReadStockDescriptionFromXML=1 //If off all descriptions relating to stock come from stock record
SW_UpdateLedgerOnInvoices=0 // Post to ledger automatically
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>PO</THTransType>
<!-- Sage 50 Purcahse Order, SO would give Sales Order, SC Credit note, SIAT invoice to audit trail -->
<!-- Could also be PI, PO, PC -->
<THAccCode>MCN001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- ===== Header Delivery ==== -->
<THDelName>My House</THDelName> <!-- Text 60 - Delivery Address Name. Double click to change delivery address -->
<THDelAdd1>23 Long Rd</THDelAdd1> <!-- Text 60 - Delivery Address Line 1. Double click to change delivery address -->
<THDelAdd2>Top of the hill</THDelAdd2> <!-- Text 60 - Delivery Address Line 2. Double click to change delivery address -->
<THDelAdd3>Willberry</THDelAdd3> <!-- Text 60 - Delivery Address Line 3. Double click to change delivery address -->
<THDelAdd4></THDelAdd4> <!-- Text 60 - Delivery Address Line 4. Double click to change delivery address -->
<THDelPostcode>PE13 2TY</THDelPostcode>
<THNotes1>More instructions</THNotes1> <!-- Text 60 - Notes 1 -->
<THNotes2></THNotes2> <!-- Text 60 - Notes 2 -->
<THNotes3></THNotes3>
<!-- Sage 50 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module -->
<!-- manual VAT and Nominal overides not allowed for these types -->
<TransactionLine> <!-- Comment Line -->
<TLDesc>Please find invoice for 3 items and work done. Thanks :</TLDesc>
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Product Line -->
<TLProduct>CALC001</TLProduct>
<TLQty>1</TLQty>
<TLUnitPrice>250</TLUnitPrice> <!-- Tax will be added to this based on account defaults -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLQty>7</TLQty>
<TLUnitPrice>60</TLUnitPrice>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLProduct>CARRIAGE</TLProduct>
<TLDesc>Delivery to your door</TLDesc>
<TLUnitPrice>14.95</TLUnitPrice>
</TransactionLine>
<TransactionLine> <!-- Sage 50 Comment Line -->
<TLDesc>Please pay soon!!!</TLDesc>
</TransactionLine>
</TransactionHeader>
</sage50Data>
Example – 185 PO Inclusive of VAT.xml
<?xml version="1.0" ?>
<sage50Data>
<settings> <!-- Optional overide settings/mappings -->
<companyCode>DEMO01</companyCode>
<mappings>
mappingReset // Clear all settings XML_API_mappings.xml
SW_TLReadStockDescriptionFromXML=1 //If off all descriptions relating to stock come from stock record
SW_UpdateLedgerOnInvoices=0 // Post to ledger automatically
SW_UseSystemExhangeRate=1 //Transaction will be un account currancy
</mappings>
</settings>
<TransactionHeader>
<THTransType>PO</THTransType>
<!-- Sage 50 Purcahse Order, SO would give Sales Order, SC Credit note, SIAT invoice to audit trail -->
<!-- Could also be PI, PO, PC -->
<THAccCode>MCN001</THAccCode> <!-- Currency and Tax will be set by account -->
<THTransDate>2017-02-20</THTransDate> <!-- Due date will be set automatically -->
<THCustRef>8888</THCustRef>
<!-- ===== Header Delivery ==== -->
<THDelName>My House</THDelName> <!-- Text 60 - Delivery Address Name. Double click to change delivery address -->
<THDelAdd1>23 Long Rd</THDelAdd1> <!-- Text 60 - Delivery Address Line 1. Double click to change delivery address -->
<THDelAdd2>Top of the hill</THDelAdd2> <!-- Text 60 - Delivery Address Line 2. Double click to change delivery address -->
<THDelAdd3>Willberry</THDelAdd3> <!-- Text 60 - Delivery Address Line 3. Double click to change delivery address -->
<THDelAdd4></THDelAdd4> <!-- Text 60 - Delivery Address Line 4. Double click to change delivery address -->
<THDelPostcode>PE13 2TY</THDelPostcode>
<THNotes1>More instructions</THNotes1> <!-- Text 60 - Notes 1 -->
<THNotes2></THNotes2> <!-- Text 60 - Notes 2 -->
<THNotes3></THNotes3>
<!-- Sage 50 allows the follwoing line types for Sales Orders and Invoice sent to Invoice module -->
<!-- manual VAT and Nominal overides not allowed for these types -->
<TransactionLine> <!-- Comment Line -->
<TLDesc>Please find invoice for 3 items and work done. Thanks :</TLDesc>
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Product Line -->
<TLProduct>CALC001</TLProduct>
<TLQty>1</TLQty>
<TLTotIncluOfTax>300</TLTotIncluOfTax> <!-- Tax will be added to this based on account defaults -->
</TransactionLine>
<TransactionLine>
<!-- Sage 50 Service Line -->
<TLDesc>Reading 7hrs</TLDesc>
<TLNomCode>4001</TLNomCode> <!-- Nominal Account, defult overidden -->
<TLQty>7</TLQty>
<TLTotIncluOfTax>60</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine>
<!-- Apply an additional charge -->
<TLProduct>CARRIAGE</TLProduct>
<TLDesc>Delivery to your door</TLDesc>
<TLTotIncluOfTax>14.95</TLTotIncluOfTax>
</TransactionLine>
<TransactionLine> <!-- Sage 50 Comment Line -->
<TLDesc>Please pay soon!!!</TLDesc>
</TransactionLine>
</TransactionHeader>
</sage50Data>