Recurring transactions is a great new feature of the Shoebooks system. If you are the inquisitive type you may have noticed and expanded the “Transaction Data” entry prompt on the edit screen for recurring items.
The transaction data is actually a fragment of XSLT (EXtensible Stylesheet Language Transformation) which is an international standard published by the World Wide Web Consortium (also known as W3C). The Shoebooks system has recently adopted this and many other international web standards in an effort to enable seamless integration with other standards compliant software systems.
When any recurring item is due to be executed:
• the transaction data from the item is compiled into a XSL Transform, then
• the transform is processed against the recurring data XML, and finally
• the resulting XML data is imported to the system.
This three step process allows a greater level of flexibility and gives advanced users the ability to automate and control data transformations for more complex and powerful recurring items.
The following block is an example of transaction data for a Recurring credit card transaction:
<batch>
<Card>
<dtmDate>
<xsl:value-of select="/batch/Recurring/dtmTransactionDate" />
</dtmDate>
<intDivID>1</intDivID>
<strTransactionID></strTransactionID>
<strBankType>Credit Card Charge</strBankType>
<strPayee>Advertising</strPayee>
<strAccountID>2-1105</strAccountID>
<dblPayment></dblPayment>
<dblCharge>165.00</dblCharge>
<strMemo></strMemo>
<CardLine>
<strAccountID>6-1000</strAccountID>
<strDescription>Advertising</strDescription>
<intDivID></intDivID>
<strNameID></strNameID>
<strJobID></strJobID>
<dblAmount>165.00</dblAmount>
<strSalesTaxID>GSTP</strSalesTaxID>
</CardLine>
</Card>
</batch>
In the above example, the most interesting part of the block is:
<xsl:value-of select="/batch/Recurring/dtmTransactionDate" />
This XSL command instructs the processor to replace that section with the value of the recurring dtmTransactionDate. Below is an example of the recurring data XML that is used as the input to the transform. You will notice that the dtmTransactionDate item appears within this block and has the value of 10-Mar-10. The recurring data is generated dynamically as each recurring item is processed.
<batch>
<Recurring>
<strTransactionType>CreditCard</strTransactionType>
<strGroup></strGroup>
<strTransactionNumber>CCC-10084</strTransactionNumber>
<strReference></strReference>
<strFrequency></strFrequency>
<dtmLastProcess>13-Sep-10</dtmLastProcess>
<dtmNextProcess>10-Mar-10</dtmNextProcess>
<ysnActive>1</ysnActive>
<ysnProcess>0</ysnProcess>
<cntID>24</cntID>
<intFreqNumber>1</intFreqNumber>
<intFreqOption>1365</intFreqOption>
<intStopCount></intStopCount>
<dtmStopDate></dtmStopDate>
<strNotes></strNotes>
<dtmTransactionDate>10-Mar-10</dtmTransactionDate>
<dtmFirstOfMonth>01-Mar-10</dtmFirstOfMonth>
<dtmLastOfMonth>31-Mar-10</dtmLastOfMonth>
<strMonthCode>Mar</strMonthCode>
<strMonthText>March</strMonthText>
<strYearText>2010</strYearText>
</Recurring>
</batch>
The combination of the transform and recurring data produces the following resulting XML data. This resulting data is imported into the database as a Credit Card Transaction.
<batch>
<Card>
<dtmDate>10-Mar-10</dtmDate>
<intDivID>1</intDivID>
<strTransactionID />
<strBankType>Credit Card Charge</strBankType>
<strPayee>Advertising</strPayee>
<strAccountID>2-1105</strAccountID>
<dblPayment />
<dblCharge>165.00</dblCharge>
<strMemo />
<CardLine>
<strAccountID>6-1000</strAccountID>
<strDescription>Advertising</strDescription>
<intDivID />
<strNameID />
<strJobID />
<dblAmount>165.00</dblAmount>
<strSalesTaxID>GSTP</strSalesTaxID>
</CardLine>
</Card>
</batch>
A more advanced example could be combining the date range into the description:
<strDescription>Advertising for the period
<xsl:value-of select="/batch/Recurring/dtmFirstOfMonth" /> to
<xsl:value-of select="/batch/Recurring/dtmLastOfMonth" />.
</strDescription>
Would produce a new Credit Card Transaction with the description below:
<strDescription>Advertising for the period 01-Mar-10 to 31-Mar-10.</strDescription>
There are many other XSL commands that can be used to process and transform data. If you want to learn more about XSL, visit the http://www.w3.org/ website. Another good resource is the http://www.w3schools.com/xsl/ which has step-by-step tutorials in creating XML and XSL Transforms.
Comments (0) | Trackbacks (0) | Permalink
The transaction data is actually a fragment of XSLT (EXtensible Stylesheet Language Transformation) which is an international standard published by the World Wide Web Consortium (also known as W3C). The Shoebooks system has recently adopted this and many other international web standards in an effort to enable seamless integration with other standards compliant software systems.
When any recurring item is due to be executed:
• the transaction data from the item is compiled into a XSL Transform, then
• the transform is processed against the recurring data XML, and finally
• the resulting XML data is imported to the system.
This three step process allows a greater level of flexibility and gives advanced users the ability to automate and control data transformations for more complex and powerful recurring items.
The following block is an example of transaction data for a Recurring credit card transaction:
<batch>
<Card>
<dtmDate>
<xsl:value-of select="/batch/Recurring/dtmTransactionDate" />
</dtmDate>
<intDivID>1</intDivID>
<strTransactionID></strTransactionID>
<strBankType>Credit Card Charge</strBankType>
<strPayee>Advertising</strPayee>
<strAccountID>2-1105</strAccountID>
<dblPayment></dblPayment>
<dblCharge>165.00</dblCharge>
<strMemo></strMemo>
<CardLine>
<strAccountID>6-1000</strAccountID>
<strDescription>Advertising</strDescription>
<intDivID></intDivID>
<strNameID></strNameID>
<strJobID></strJobID>
<dblAmount>165.00</dblAmount>
<strSalesTaxID>GSTP</strSalesTaxID>
</CardLine>
</Card>
</batch>
In the above example, the most interesting part of the block is:
<xsl:value-of select="/batch/Recurring/dtmTransactionDate" />
This XSL command instructs the processor to replace that section with the value of the recurring dtmTransactionDate. Below is an example of the recurring data XML that is used as the input to the transform. You will notice that the dtmTransactionDate item appears within this block and has the value of 10-Mar-10. The recurring data is generated dynamically as each recurring item is processed.
<batch>
<Recurring>
<strTransactionType>CreditCard</strTransactionType>
<strGroup></strGroup>
<strTransactionNumber>CCC-10084</strTransactionNumber>
<strReference></strReference>
<strFrequency></strFrequency>
<dtmLastProcess>13-Sep-10</dtmLastProcess>
<dtmNextProcess>10-Mar-10</dtmNextProcess>
<ysnActive>1</ysnActive>
<ysnProcess>0</ysnProcess>
<cntID>24</cntID>
<intFreqNumber>1</intFreqNumber>
<intFreqOption>1365</intFreqOption>
<intStopCount></intStopCount>
<dtmStopDate></dtmStopDate>
<strNotes></strNotes>
<dtmTransactionDate>10-Mar-10</dtmTransactionDate>
<dtmFirstOfMonth>01-Mar-10</dtmFirstOfMonth>
<dtmLastOfMonth>31-Mar-10</dtmLastOfMonth>
<strMonthCode>Mar</strMonthCode>
<strMonthText>March</strMonthText>
<strYearText>2010</strYearText>
</Recurring>
</batch>
The combination of the transform and recurring data produces the following resulting XML data. This resulting data is imported into the database as a Credit Card Transaction.
<batch>
<Card>
<dtmDate>10-Mar-10</dtmDate>
<intDivID>1</intDivID>
<strTransactionID />
<strBankType>Credit Card Charge</strBankType>
<strPayee>Advertising</strPayee>
<strAccountID>2-1105</strAccountID>
<dblPayment />
<dblCharge>165.00</dblCharge>
<strMemo />
<CardLine>
<strAccountID>6-1000</strAccountID>
<strDescription>Advertising</strDescription>
<intDivID />
<strNameID />
<strJobID />
<dblAmount>165.00</dblAmount>
<strSalesTaxID>GSTP</strSalesTaxID>
</CardLine>
</Card>
</batch>
A more advanced example could be combining the date range into the description:
<strDescription>Advertising for the period
<xsl:value-of select="/batch/Recurring/dtmFirstOfMonth" /> to
<xsl:value-of select="/batch/Recurring/dtmLastOfMonth" />.
</strDescription>
Would produce a new Credit Card Transaction with the description below:
<strDescription>Advertising for the period 01-Mar-10 to 31-Mar-10.</strDescription>
There are many other XSL commands that can be used to process and transform data. If you want to learn more about XSL, visit the http://www.w3.org/ website. Another good resource is the http://www.w3schools.com/xsl/ which has step-by-step tutorials in creating XML and XSL Transforms.
Comments (0) | Trackbacks (0) | Permalink
Home
Contact
Print
Support
Sign-In


Demo System



Comments
Post has no comments.